WFDASH-WEBAPP/src/lib/release-notes.ts

83 lines
3.5 KiB
TypeScript
Raw Normal View History

/**
* What's New — the release-note registry behind the Settings page popup.
*
* A plain data file, newest first. There's no changelog table and no
* fetch: the notes are written by hand when a release goes out, and the
* popup renders whatever is in here. That keeps the whole feature
* client-side (it opens instantly, works offline) and means the copy
* stays deliberate rather than being generated from commit messages.
*
* To publish a release: add an entry at the top of the array. The
* version string is the "seen" marker — bumping it is what makes the
* What's New button light up for every operator again.
*/
export interface ReleaseNote {
/** Version marker. Bump this to re-notify operators. */
version: string;
/** ISO date (YYYY-MM-DD) of the release. */
date: string;
/** One-line headline for the release. */
title: string;
/** The changes, one sentence each. */
items: string[];
}
export const RELEASE_NOTES: ReleaseNote[] = [
{
version: "2026.11.01",
date: "2026-11-01",
title: "Delivery Pool, letterhead lock and a dark mode section",
items: [
"Delivery Pool: invoiced lines waiting to go out, one card per customer invoice. Assign a driver, upload the signed copy, and the delivery closes.",
"Quote letterheads are locked to the customer's company — one letterhead per company, so quotes always go out on the right paper.",
"The counter never sells at R0. Items without a price stay off the till, and customer lines go to the price list instead.",
"The sidebar now has a Dark Mode section with a light/dark switch. Theme colours live in Settings → Appearance.",
"This What's New popup — press it in the sidebar to see what changed.",
],
},
{
version: "2026.10.30",
date: "2026-10-30",
title: "Collection Confirm gets a second pair of eyes",
items: [
"Collection Confirm: a Notes button on each PO card, so the driver photos can be checked against the PO before you confirm.",
"The AI never changes a price. A different cost on the invoice is flagged as a red Price tick for a person to settle.",
"Collection Pool: stock lines can go back to pending and be marked ready again.",
"Quotes now record who they were sent to.",
],
},
{
version: "2026.10.28",
date: "2026-10-28",
title: "Auto-push and a shortcut to AI settings",
items: [
"Collection Confirm can auto-push purple cards straight on to invoicing, with a two-day log of everything it moved.",
"The Settings page links straight to AI settings.",
],
},
{
version: "2026.10.26",
date: "2026-10-26",
title: "A phone board for the managers",
items: [
"/manager is a mobile board for the managers: every order and where it is, on a phone.",
"The preview popup is the same one the desk uses on /search.",
],
},
{
version: "2026.10.24",
date: "2026-10-24",
title: "One POS matcher, AI-only quote matching",
items: [
"One size-aware matcher now drives the quote assistant, the order fill and the blue price check — so they can't disagree about an item.",
"The quote assistant prices only an exact match and shows the closest one instead when it isn't sure.",
"Quote matching is AI-only. The old rule-based scorer is retired; the AI links an order when it's sure and suggests otherwise.",
"The blue price check badge appears on both Process pages.",
],
},
];
/** The newest entry — the one the "New" dot on the button points at. */
export const LATEST_RELEASE: ReleaseNote = RELEASE_NOTES[0];