Show live order progress, delays, and kitchen cancellations

- Order cards derive their label from item progress (Not Started,
  Preparing, Partly Ready, Ready, Picked Up, Cancelled) instead of the
  order's own status; final states are coloured
- Order page: animated status banner per item (ready/picked up check,
  cancelled cross, running-late clock), steps collapse once an item is
  settled with a Show/Hide steps toggle, done steps are faded instead
  of struck through, and the per-item status badge is gone
- New Delay concept: machines can report extra time on a claimed step
  (preparation_step_instances.delay_seconds), which counts toward the ETA
- The kitchen can cancel an item at any point before it's ready, with a
  refund (order_items.cancelled_by records who cancelled)
- Dev kitchen simulation now runs server-side across every order, so a
  step nobody is watching no longer blocks the queue; each settled step
  may randomly be delayed or cancelled
- Humanize snake_case statuses in the UI

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 00:11:08 +02:00
co-authored by Claude Opus 5.5
parent c124b0415a
commit a6ac32d783
17 changed files with 1651 additions and 111 deletions
+1
View File
@@ -11,6 +11,7 @@ $color-primary: var(--color-primary);
$color-primary-contrast: var(--color-primary-contrast);
$color-danger: var(--color-danger);
$color-success: var(--color-success);
$color-warning: var(--color-warning);
$space-1: 0.25rem;
$space-2: 0.5rem;
+2
View File
@@ -10,6 +10,7 @@
--color-primary-contrast: #ffffff;
--color-danger: #a33333;
--color-success: #2f7a4f;
--color-warning: #9a6200;
color-scheme: light;
}
@@ -24,6 +25,7 @@
--color-primary-contrast: #ffffff;
--color-danger: #ef6b62;
--color-success: #4fbb7c;
--color-warning: #e0a83e;
color-scheme: dark;
}
}