Dashboard: Add dense shipment list view for operational scanning #27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
With 10+ active shipments, the card grid requires significant scrolling. Power users (checking daily status of many parcels) would benefit from a compact table/list view that shows ~20 shipments without scrolling. The existing filter bar already suggests power-user intent.
Implementation
File:
frontend/src/pages/Dashboard.tsxconst [viewMode, setViewMode] = useState<'grid' | 'list'>('grid')localStorage.setItem('trackbox_view_mode', viewMode)LayoutGridandListlucide icons.Acceptance criteria
Brand identity alignment
The brand brief explicitly supports both comfortable card view and dense list/table view. The list mode should feel like an operational shipment table, not a generic SaaS grid.
Brand-compliant implementation notes
Additional acceptance criteria
Migrated from GitHub issue #6: https://github.com/bullitt186/trackbox/issues/6
Original author: @bullitt186
Original created: 2026-06-27T13:22:46Z
Original labels: ux
Dashboard: Add list/table view toggle for dense shipment browsingto Dashboard: Add dense shipment list view for operational scanningImplemented in commit
bd6b0e7. Added a view mode toggle (LayoutGrid / List icons) in the dashboard header. The list view renders a compact table with columns: Shipment, Status, Carrier, Tracking, Updated, Actions. View preference is persisted in localStorage. All sections (active, delivered, archived) respect the view mode. Hover-reveal actions work in both modes.Follow-up fix: Added
select-allclass to tracking numbers in list view for easier copy. Changed list row action buttons fromopacity-0(hover-only) toopacity-40withfocus-within:opacity-100so keyboard users can reach them. Both were acceptance criteria gaps identified in review.