MEGAINFRA-WEBAPP/docs/superpowers/specs
DEls d5e3b2ce2b docs(spec): Workers/Timesheets split and worker QR badges
Workers becomes a lean roster (name, employee number, position, type,
site, rate) with filters unchanged. Everything currently cluttering the
list row -- total hours, cost, the 8-week sparkline, per-employee entry
history -- moves to a new worker detail page that doesn't exist yet
(today's "detail" is a dialog). Same pattern already used for Suppliers
and Vehicles/Equipment this session: lean list, detail page carries
depth.

Timesheets keeps its flat entries table but gains a genuinely separate
upload-status section -- the timesheets document collection already has
this data, it's just currently squeezed into a per-row badge instead of
being its own thing. The duplicated Import-timesheets button (currently
on both pages) moves here only.

QR badges: encodes employee_no directly, no new PocketBase field --
every worker already has a valid code the moment they exist, with no
generation step. Explicitly a deliberate tradeoff (guessable numbers,
no revocation) the user chose for now, pending seeing how the separate
timekeeping PWA wants identity handled -- moving to a stored opaque
token later is additive, not a rework. Card layout confirmed via the
visual companion (centered, QR-forward). Both single-worker and
batch-sheet print confirmed in scope. Rendering via the qrcode npm
package + the browser's own print dialog (@media print), not a PDF
library -- CSS handles real-world card dimensions more reliably than
fighting a PDF engine's coordinate system.

The timekeeping PWA itself is explicitly out of scope -- a separate
project this spec only needs to stay compatible with.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 19:04:34 +02:00
..
2026-08-19-po-import-queue-redesign.md docs: add PO import queue spec/plan, ignore cooler.env, rewrite n8n ingest impl 2026-08-19 22:03:39 +02:00
2026-08-19-purchase-order-upload-design.md
2026-08-26-needs-review-modal-compact.png docs(specs): screenshot of compact needs-review modal with working PDF 2026-08-26 23:33:33 +02:00
2026-08-26-needs-review-modal-resize-and-pdf-viewer-design.md docs(specs): fix stale URL example, 'above' wording, and add recordId notes 2026-08-26 23:34:10 +02:00
2026-08-26-pdf-url-fix-and-modal-compact-design.md docs(specs): PDF URL fix + compact needs-review modal 2026-08-26 23:20:08 +02:00
2026-08-26-purchasing-ui-tweaks-design.md docs(specs): purchasing UI tweaks — shorter upload labels, unlinked-DN styling, view PO PDF, fulfillment bug 2026-08-26 23:56:34 +02:00
2026-08-27-po-supplier-edit-and-dn-collapse-design.md docs(spec): PO detail supplier edit + DN items collapse 2026-08-27 00:49:42 +02:00
2026-08-28-fuel-attention-dismissal-design.md docs(spec): fuel attention dismissal design 2026-08-28 12:19:59 +02:00
2026-08-28-plant-hours-weekly-log-design.md docs(plant-hours): weekly log import + exception report design 2026-08-28 12:20:58 +02:00
2026-08-28-site-overhead-monthly-and-oneoff-design.md docs(spec): clarify card subtitle covers monthly + one-off 2026-08-28 12:33:53 +02:00
2026-08-30-pwa-split-icon-design.md docs(spec): MEGA Ask vs MEGA OPS PWA split-install icon design 2026-08-30 22:11:02 +02:00
2026-08-31-vehicle-unit-type-toggle-ui-design.md docs(spec): vehicle unit_type inline-edit UI (fleet + plant) 2026-08-31 12:48:57 +02:00
2026-09-11-ingestion-restructure-design.md docs(spec): add PO fulfilment model — outstanding is computed, not stored 2026-09-11 10:09:12 +02:00
2026-09-11-sidebar-restructure-design.md docs(spec): sidebar restructure — grouped nav with landing pages 2026-09-11 16:37:59 +02:00
2026-09-11-suppliers-design.md docs(spec): correct the suppliers migration's expected merge count 2026-09-11 18:02:18 +02:00
2026-09-11-workers-timesheets-qr-design.md docs(spec): Workers/Timesheets split and worker QR badges 2026-09-11 19:04:34 +02:00