Admin console
Five views sharing one state store, so a mutation anywhere refetches and the numbers move everywhere — the design's "every view is live".
| View | Does |
|---|---|
| Overview | Revenue, open orders, units, low-stock counts; orders needing action; per-item +10 restock |
| Products | Filter by status or low stock, cycle status inline, open the edit drawer |
| Categories | Create, rename, reorder and delete categories; upload each tile image |
| Inventory | Size x product grid with per-cell steppers, adjustable threshold, bulk restock |
| Orders | Filter by stage, advance fulfilment one step at a time |
| Customers | Tier, order count, lifetime spend, AOV |
| Themes | Gallery of storefront designs; open one to configure palette, font and header menu |
| Settings | Store name, tagline and support email — global, shared by every theme |
Tables become stacked cards below md; the three drawers (product edit,
order detail, customer detail) become bottom sheets.
Order stages
The admin drives fulfilment, so its stages are canonical in the database:
Placed -> Paid -> Packed -> Shipped -> Delivered
The storefront shows customer-facing labels for the same indices
(Processing in place of Paid), mapped in STOREFRONT_STEPS.