WFDASH-WEBAPP/src/components
Dave c943118300 fix(giellie): a bad stock line must not take the approval card down
The card is fed the model's raw tool input, so a malformed line (a
null, or a qty that is not a number) reached the renderer unchecked
and null.sku threw during render — taking the card, and its
Approve/Reject buttons, with it.

Lines are now read the way the MCP route reads them: an unreadable
line is reported in place, the good lines beside it still render, and
the operator is told that approving rejects the whole batch.

The headings stay put as well. The table now rides inside the card's
own scroller instead of a second scroll region, the header row is
sticky on an opaque background, and the set/add note rides with it —
so every row of a 40-line stocktake is read with its labels and its
mode in view.
2026-11-06 01:26:55 +02:00
..
buyer-tasks
charts feat(theme): the picker reads the real palette, not a hand-kept copy 2026-11-05 00:40:40 +02:00
collection-confirm fix(pos): never sell or list an item at R0; customer lines go to the price list 2026-10-31 09:56:03 +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): a bad stock line must not take the approval card down 2026-11-06 01:26:55 +02:00
invoicing
orders refactor: simplify supplier payments to document checklist 2026-11-03 07:18:56 +02:00
purchase-orders
quotes Lock quote letterheads to customer companies 2026-10-31 10:20:23 +02:00
reports feat(audit): implement audit trail for delivery notes and orders 2026-09-30 01:48:44 +02:00
stock-orders
ui feat(theme): the picker reads the real palette, not a hand-kept copy 2026-11-05 00:40:40 +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
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
build-stamp.tsx feat: show the build commit as a faint corner mark 2026-10-30 01:27:22 +02:00
cancel-order-dialog.tsx
company-form.test.tsx
company-form.tsx
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
filter-tabs.tsx
fulfill-from-stock-cell.tsx
item-history-popover.test.tsx
item-history-popover.tsx
item-intel-popover.test.tsx
item-intel-popover.tsx
item-status-pill.test.tsx
item-status-pill.tsx
item-status-tabs.tsx
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
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
order-item-context-panel.tsx
order-item-context-popover-trigger.test.tsx
order-item-context-popover-trigger.tsx
order-sprint-process-modal.test.tsx
order-sprint-process-modal.tsx
orders-review-modal-mount.test.tsx
orders-review-modal-mount.tsx
orders-review-modal.test.tsx
orders-review-modal.tsx
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
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
quote-form.test.tsx
quote-form.tsx
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 feat(sidebar): What's New button and a Dark Mode section 2026-11-02 07:13:51 +02:00
sidebar.tsx feat: add item supplier payments and approvals queue 2026-11-03 01:27:07 +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
supplier-map.tsx
theme-bootstrap.test.tsx feat(theme): the picker reads the real palette, not a hand-kept copy 2026-11-05 00:40:40 +02:00
theme-bootstrap.tsx feat(theme): the picker reads the real palette, not a hand-kept copy 2026-11-05 00:40:40 +02:00
theme-picker.tsx feat(theme): the picker reads the real palette, not a hand-kept copy 2026-11-05 00:40:40 +02:00
theme-provider.tsx feat(theme): the picker reads the real palette, not a hand-kept copy 2026-11-05 00:40:40 +02:00
traffic-tiles.tsx
whats-new-dialog.test.tsx feat(whats-new): show the release number and commit instead of the date 2026-11-02 20:41:17 +02:00
whats-new-dialog.tsx feat(whats-new): show the release number and commit instead of the date 2026-11-02 20:41:17 +02:00