WFDASH-WEBAPP/src/components
SJCoetz 7f70258037 feat(management): new Pricelist page with drag-drop upload + queue table
Adds /pricelist under the Management section. Operators drag a supplier
price-list file (PDF / CSV / text / image) into the upload zone — or
use the explicit Choose file button — and it lands in PocketBase as an
attachment on the raw_price_list collection. The table below shows the
queue: file, supplier (relation to suppliers), status badge, log
summary preview, upload date, and a delete action per row.

Layout matches the rest of the app: Card for the upload zone, DataTable
for the queue, DeleteDialog for the destructive action. Live updates
via the PB subscribe channel so other tabs / the n8n ingest workflow
show new rows without a manual refresh.

PB schema is sourced from docs/pocketbase/raw_price_list.collection.json.
The migration script is idempotent: it creates the collection from the
schema file on a fresh deploy, and on a pre-existing one (the live PB
already had it, with PB's default null/superuser-only rules) it relaxes
the auth rules to @request.auth.id != '' so any logged-in user can
CRUD — matching every other collection in the app.

Field names match the live PB collection (discovered via admin API):
  - supplier_file (the file)
  - supplier_name (relation to suppliers)
  - status        (select: Pending / Processing / Completed / Failed)
  - log_summary   (free text)
2026-06-30 09:14:36 +02:00
..
charts feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00
ui refactor: drop order-level status, shift to item-driven workflow 2026-06-29 13:06:01 +02:00
auth-provider.tsx chore: standardize line endings and add full test + config scaffolding 2026-06-11 20:30:02 +02:00
company-form.tsx refactor: drop order-level status, shift to item-driven workflow 2026-06-29 13:06:01 +02:00
custom-theme-modal.tsx feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00
customer-form.tsx refactor: drop order-level status, shift to item-driven workflow 2026-06-29 13:06:01 +02:00
data-table.tsx feat: add AI quote item rewriter and supporting UI/UX changes 2026-06-22 18:29:59 +02:00
delete-dialog.tsx chore: standardize line endings and add full test + config scaffolding 2026-06-11 20:30:02 +02:00
item-status-pill.tsx refactor: drop order-level status, shift to item-driven workflow 2026-06-29 13:06:01 +02:00
item-status-tabs.tsx refactor: drop order-level status, shift to item-driven workflow 2026-06-29 13:06:01 +02:00
line-items-table.tsx chore: standardize line endings and add full test + config scaffolding 2026-06-11 20:30:02 +02:00
order-form.tsx refactor: drop order-level status, shift to item-driven workflow 2026-06-29 13:06:01 +02:00
quote-email-card.tsx feat: add quote templates, improved email, new statuses 2026-06-24 22:57:01 +02:00
quote-form.tsx feat: add AI quote item rewriter and supporting UI/UX changes 2026-06-22 18:29:59 +02:00
quote-pdf-viewer.tsx feat: add branded quote PDF generation and in-app viewer 2026-06-23 08:30:38 +02:00
rewrite-quote-modal.tsx feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00
service-worker-registration.tsx chore: standardize line endings and add full test + config scaffolding 2026-06-11 20:30:02 +02:00
sidebar.tsx feat(management): new Pricelist page with drag-drop upload + queue table 2026-06-30 09:14:36 +02:00
supplier-form.tsx chore: standardize line endings and add full test + config scaffolding 2026-06-11 20:30:02 +02:00
supplier-map.tsx feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00
theme-bootstrap.tsx feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00
theme-picker.tsx feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00
theme-provider.tsx feat(dashboard): add multi-theme system and supporting improvements 2026-06-26 17:59:40 +02:00