Commit Graph

8 Commits

Author SHA1 Message Date
c9ad78ec71 Waiter PWA fixes, and extra feautures. Also added Emergency Mode, search etc 2026-05-02 21:08:53 +03:00
8e27b7666e general fixes and ordering display overhaul 2026-04-30 16:58:13 +03:00
240abb2e73 Added Printer Spoofer for testing purposes 2026-04-29 16:45:09 +03:00
bb39088464 Frontend overhaul: manager dashboard restructure, waiter PWA rework, new order drawer and components
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 12:12:23 +03:00
603fd45eaa Overhaul of the frontend on waiters, orders, and payment events
Manager Dashboard: product reorder/bulk actions, preference sub-choices
UI, expanded reports with DateInput component, waiter management updates,
order detail improvements, Docker config and backend dockerignore added.

Backend: table groups, auto-numbering, has_active_order flag, expanded
reporting endpoints, waiter zone management, user schema updates, system
router additions, table router fixes.

Waiter PWA: TableDetailPage order/payment event improvements.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 17:37:34 +03:00
97d72a5868 Manager Dashboard: product reorder/bulk actions, preference sub-choices UI
ProductsPage:
- Drag-free reorder via ▲/▼ buttons (calls PUT /products/reorder)
- Sort toolbar: custom order / name / price
- Show/hide inactive products toggle
- Multi-select mode with bulk available/unavailable/hard-delete actions
- Preference sets: default_choice_index picker, shared_subset editor
  (set-level sub-choices shared across choices, with disables_subset per choice)
- Inline sub-choice editor for both checkbox options and preference choices
  (SubChoiceRows component with reorder, default toggle, price stepper)
- Hard delete + soft deactivate distinction in the delete confirmation dialog
- PriceInput component with −/+ steppers (0.10 increments)

TablesPage:
- Table groups gain prefix and color fields in create/edit form
- Color swatch picker for group color

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 09:29:24 +03:00
24a029a8cc Fix order saving, isMyOrder, blocked waiters, options pricing; add preferences, table groups, product images
Backend:
- OrderItemInput accepts option objects {id,name,price_delta} instead of int IDs
- extra_cost from selected options added to unit_price snapshot
- GET /api/products/?all=true for manager (includes unavailable)
- PUT /api/products/{id} now replaces options, ingredients, preference_sets
- POST /api/products/{id}/image — persistent image upload to /app/data/product_images
- New models: ProductPreferenceSet, ProductPreferenceChoice, TableGroup
- tables: group_id FK, hard delete (?hard=true), batch create POST /api/tables/batch
- GET /api/tables/groups + POST/PUT/DELETE groups endpoints
- POST /api/auth/me endpoint for token rehydration
- Auto-migration on startup for new columns

PWA:
- AuthRehydrator: fetches /auth/me on load so isMyOrder works after page reload
- 401 response force-logs out (covers blocked waiters)
- ItemOptionsModal: uses extra_cost correctly, shows preferences as radio buttons

Manager:
- ProductsPage: shows unavailable products greyed out, category color picker + reorder,
  full option/ingredient/preference editing, image upload
- TablesPage: table groups, auto-increment, deactivate vs hard delete, batch add
2026-04-20 18:39:51 +03:00
8f52156f5b Phase 3: scaffold Manager Dashboard — all pages, layout, routing
Includes: LoginPage (PIN pad), DashboardPage (30s polling table grid),
OrderDetailPage (full actions), ProductsPage (CRUD + printer zone),
WaitersPage (block/reset PIN/delete), TablesPage, ReportsPage
(shift summary + order history + CSV export), SettingsPage (printers
+ test print + sysadmin lock/unlock). TailwindCSS, React Query,
react-hot-toast. Docker Compose service on port 5174.
2026-04-20 17:20:46 +03:00