WFDASH-WEBAPP/src/components
Dave b212d0fcd8 feat(manager): a mobile orders board for the managers at /manager
A hidden, installable PWA: one link, opened on a phone, showing where
every order is. New / Processing / Completed, with a tap-to-preview
popup and the invoice/line detail Gary needs. Read-only, and NOT in
the sidebar — the route lives outside `(app)`, so `<Sidebar />` never
renders there.

The preview popup is reused, not rebuilt: the service emits
`UniversalHit`s and the page hands them to the existing
`SearchPreviewDialog`, so the manager gets the desk's quick-overview
verbatim.

Also fixes the /orders Completed tab, which was matching ZERO orders.
`delivered_at` is stamped on only 2 of 12,957 delivered lines and the
business stopped writing `delivered` on 2026-08-14 (the live pipeline
now ends at `invoiced` / `checked_in`), so the old filter never
matched. "Settled" is now defined once — `SETTLED_STATUSES` +
`SETTLED_DATE_FIELDS` — and dated per status: `invoiced_date` for
invoiced (the only properly stamped field, 2,199 lines), `delivered_at`
for delivered, `updated` only where no dedicated column exists.

`delivery_note` and `checked_in` move into `completed` as instructed,
and the standalone `post_processing` tab is retired (a DN is not a
stage of its own). `invoiced` stays in `collected` as well, so
invoiced orders don't vanish from the workflow tabs.

Completed tab: 0 -> 341 orders over 30 days, 112 over 7.
2026-10-26 23:09:01 +02:00
..
buyer-tasks chore(tests): fix ~60 pre-existing TS errors across 11 test files 2026-08-27 04:43:40 +02:00
charts feat(charts): allow RadialGauge to override its center label 2026-09-01 01:33:16 +02:00
collection-confirm feat(collection): return mistaken pickups to pool 2026-10-21 03:37:01 +02:00
delivery-notes feat(delivery-notes): lock the cost price, markup stays the only input 2026-10-15 15:44:24 +02:00
giellie fix(giellie): pin Approve/Reject above a scrolling list on long approvals 2026-10-01 08:32:04 +02:00
invoicing feat: add split views, stock picking slips, and invoice viewer 2026-08-09 23:16:55 +02:00
orders feat(orders): show AI quote match on the order page 2026-10-24 13:13:28 +02:00
purchase-orders fix(send-po-modal): seed default body when resend has no prior email_payload 2026-08-06 18:10:08 +02:00
quotes feat(process): show the blue price check on both Process pages 2026-10-24 21:45:46 +02:00
reports feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
stock-orders feat(stock-orders): attachments card on detail page 2026-08-06 23:29:00 +02:00
ui feat(collection-pool): back-to-pending, collection date, and a safe notes feed 2026-10-16 00:44:49 +02:00
ai-fill-marker.test.tsx feat(quote-assistant): price only an exact match, show the closest 2026-10-24 22:59:25 +02:00
ai-fill-marker.tsx feat(quote-assistant): price only an exact match, show the closest 2026-10-24 22:59:25 +02:00
ai-fill-quote-button.test.tsx fix(quote-assistant): warn-coloured doubts, real button for no-match badge, more button tests 2026-10-16 19:48:19 +02:00
ai-fill-quote-button.tsx feat(quote-assistant): ai colour token, marker, fill button 2026-10-16 19:45:44 +02:00
ai-insights-panel.tsx
ai-insights-renderer.test.tsx
ai-insights-renderer.tsx
ai-item-history-trigger.tsx feat(item-intel): add new item intel popover and backend workflows 2026-08-11 02:57:57 +02:00
audit-timeline.test.tsx feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
audit-timeline.tsx feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
auth-provider.tsx feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
brand-stripe.tsx
cancel-order-dialog.tsx feat(orders,invoicing): add duplicate order cleanup and soft cancellation 2026-08-13 09:02:27 +02:00
company-form.test.tsx
company-form.tsx refactor(forms): update layout and structure of form components 2026-08-17 23:34:30 +02:00
customer-form.test.tsx fix(search): send the PB auth token, and a second instance of the same bug 2026-10-14 11:49:30 +02:00
customer-form.tsx fix(search): send the PB auth token, and a second instance of the same bug 2026-10-14 11:49:30 +02:00
data-table.test.tsx
data-table.tsx feat(delivery-notes): see what's on a note, colour-coded progress, POS-aligned stock search 2026-10-04 20:40:13 +02:00
delete-dialog.tsx
dev-identity-switcher.tsx
duplicate-orders-dialog.tsx feat(duplicate-orders): enhance duplicate order detection and UI 2026-08-16 11:25:00 +02:00
filter-tabs.tsx
fulfill-from-stock-cell.tsx
item-history-popover.test.tsx
item-history-popover.tsx
item-intel-popover.test.tsx chore(tests): fix ~60 pre-existing TS errors across 11 test files 2026-08-27 04:43:40 +02:00
item-intel-popover.tsx feat(deliveries): enhance delivery notes management and UI 2026-08-17 01:27:03 +02:00
item-status-pill.test.tsx
item-status-pill.tsx
item-status-tabs.tsx feat(orders): move delivered+cancelled to dedicated /orders/archive page 2026-08-04 19:58:43 +02:00
leaflet-heatmap-layer.tsx feat(rep): add /rep/visits map with heatmap, per-customer clusters 2026-09-20 23:50:03 +02:00
leaflet-markers.test.ts
leaflet-markers.ts
line-items-table.tsx
margin-approval-dialog.tsx feat(order-items): below-22% margin approval workflow 2026-08-04 00:58:33 +02:00
markdown-print.tsx feat: implement discount functionality in POS system 2026-09-03 12:19:21 +02:00
markdown.test.tsx fix(giellie): mobile overlay, dvh height, markdown image block, per-chat trust, keep draft on failure 2026-10-01 00:12:56 +02:00
markdown.tsx fix(giellie): mobile overlay, dvh height, markdown image block, per-chat trust, keep draft on failure 2026-10-01 00:12:56 +02:00
order-form.tsx
order-item-context-panel.test.tsx test(context): OrderItemContextPanel UI tests 2026-08-07 02:54:24 +02:00
order-item-context-panel.tsx chore(context): lint + build adjustments 2026-08-07 03:04:28 +02:00
order-item-context-popover-trigger.test.tsx test(context): OrderItemContextPopoverTrigger UI tests 2026-08-07 02:55:39 +02:00
order-item-context-popover-trigger.tsx chore(context): lint + build adjustments 2026-08-07 03:04:28 +02:00
order-sprint-process-modal.test.tsx feat(context): swap sprint modal AI Insights for context panel 2026-08-07 02:58:47 +02:00
order-sprint-process-modal.tsx chore(context): lint + build adjustments 2026-08-07 03:04:28 +02:00
orders-review-modal-mount.test.tsx refactor(orders): replace OrdersReviewModal with OrdersReviewModalMount and streamline attachment handling 2026-08-24 07:26:18 +02:00
orders-review-modal-mount.tsx refactor(orders): replace OrdersReviewModal with OrdersReviewModalMount and streamline attachment handling 2026-08-24 07:26:18 +02:00
orders-review-modal.test.tsx feat(orders): show From + Subject in review modal Source of truth header 2026-08-05 16:09:53 +02:00
orders-review-modal.tsx feat(orders): show From + Subject in review modal Source of truth header 2026-08-05 16:09:53 +02:00
price-check-marker.test.tsx feat(price-check): say whether the POS item is exact or only closest 2026-10-24 23:05:09 +02:00
price-check-marker.tsx feat(price-check): say whether the POS item is exact or only closest 2026-10-24 23:05:09 +02:00
pricelist-catalogue.test.tsx
pricelist-catalogue.tsx
quote-email-card.tsx chore: add logos, opencode config and build assets 2026-07-27 08:21:20 +02:00
quote-form-contact-picker.tsx fix(quotes): speed up archive search and add item preview to archive rows 2026-08-29 02:30:14 +02:00
quote-form-item-card.tsx feat(quote-form): allow empty quantity input for operator convenience 2026-08-18 07:28:25 +02:00
quote-form.test.tsx
quote-form.tsx feat(tv-dashboard): enhance TV dashboard with driver stops and performance metrics 2026-08-19 10:16:49 +02:00
quote-items-expanded.tsx fix(quotes): speed up archive search and add item preview to archive rows 2026-08-29 02:30:14 +02:00
quote-pdf-viewer.tsx fix(pdf-print): open the PDF in a new tab instead of printing the iframe 2026-10-04 13:15:08 +02:00
quoted-before-panel.tsx feat(quotes): add quote-level "Quoted before?" panel to the process page 2026-08-29 08:52:19 +02:00
rewrite-quote-modal.tsx
service-worker-registration.tsx feat(manager): a mobile orders board for the managers at /manager 2026-10-26 23:09:01 +02:00
sidebar.test.tsx fix(sidebar): top-level nav rendered only dashboardItems[0] 2026-10-14 11:03:04 +02:00
sidebar.tsx fix(sidebar): top-level nav rendered only dashboardItems[0] 2026-10-14 11:03:04 +02:00
sop-print-trigger.tsx feat: implement discount functionality in POS system 2026-09-03 12:19:21 +02:00
sprint-item-pricing-modal.test.tsx fix(quote-sprint): propagate description edits to quote_items.description 2026-09-08 18:45:13 +02:00
sprint-item-pricing-modal.tsx fix(quote-sprint): propagate description edits to quote_items.description 2026-09-08 18:45:13 +02:00
supplier-form.test.tsx feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
supplier-form.tsx refactor(forms): update layout and structure of form components 2026-08-17 23:34:30 +02:00
supplier-map.tsx
theme-bootstrap.tsx
theme-picker.tsx
theme-provider.tsx
traffic-tiles.tsx