Commit Graph
22 Commits
Author SHA1 Message Date
simandClaude Sonnet 5.5 d7296336e3 Live picks: side panel on desktop, floating energy banner on phones
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:52:12 +01:00
simandClaude Sonnet 5.5 a348b759a1 Live picks: collapsible card below the order form, count inside; add e2e tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:42:53 +01:00
simandClaude Sonnet 5.5 fedf5a45d3 Add live pick stats and podium stamps on the participant order screen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:36:57 +01:00
simandClaude Sonnet 5.5 cfe145f94f Stats: column charts for per-period activity, Payments card last on My Orders
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m50s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:35:02 +01:00
simandClaude Sonnet 5.5 c50b61e5e8 Add local dev seed data (devenv.sh seed)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:27:45 +01:00
simandClaude Sonnet 5.5 ebf4ebdd2e Add admin General page with email settings and test mail; reuse unconfirmed profile on register retry
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:27:19 +01:00
simandClaude Sonnet 5.5 1cff743015 Add bulk actions to admin order, user and registration link tables
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 2m3s
Row selection with a bulk bar: delete orders, delete/resend users,
delete/resend registration links. Each item runs independently with a
summary; failed rows stay selected. Orders table scrolls horizontally
on phones.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 23:35:10 +00:00
simandClaude Sonnet 5.5 a098f6f94c Remove order text from home orders list for a more compact view
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 23:29:15 +00:00
simandClaude Sonnet 5.5 0e94b1dba2 Add design for participation stats and podium stamps
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 23:28:21 +00:00
simandClaude Sonnet 5.5 a2e4321ac7 Rework My Orders stats and add responsive UI checks
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m44s
My Orders: year calendar and lunch profile first, chips and "How you
compare" removed, open and paid payments merged into one table (open
first, then newest). Activity is now a line chart with a cumulative
switch and finer buckets (daily up to ~3 months, weekly up to ~13).
Cards get subtle elevation and tighter spacing.

Responsive: phone tab strip instead of the side menu, heatmap fits
narrow screens, grouped column-chart labels are truncated, the manager
weekday table scrolls instead of overflowing.

Tooling: viewports.mjs (presets, overflow detector), shoot.mjs --sizes
and --select, tests/responsive.ui.spec.ts, docs/ui-testing.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 23:15:25 +00:00
simandClaude Sonnet 5.5 9d80e6d06e Add scheduled backups of database and uploads
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 7m9s
The backend now writes a timestamped tar.gz of the SQLite snapshot and all
per-order files to BACKUP_DIR on a cron schedule (default 03:00), keeps the
newest BACKUP_KEEP archives, and catches up once on start if a slot was
missed. Configurable via BACKUP_CRON / BACKUP_KEEP / BACKUP_DIR / TZ.
Includes user-facing restore docs in docs/backups.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 22:31:28 +00:00
simandClaude Sonnet 5.5 1df83afab1 Redesign statistics pages with global timeframe, insights and privacy scoping
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m55s
- Shared ChartCard/StatRow/CardGrid primitives for a consistent layout; fix
  clipped axis labels, green 100% bars and uneven tiles
- One page-wide timeframe filter; period-over-period deltas on stat tiles;
  per-period activity bars replace cumulative charts
- My Orders: lunch profile (personality, records, adventurousness), calendar
  and weekday x hour heatmaps, anonymous community comparison. /api/stats/me
  no longer returns other users' emails (organizers are numbered per response)
- Order Management: order insights, participant loyalty, median fill time,
  regulars and drop-offs, submission heatmap, top item per weekday
- Site Overview: adoption funnel, weekly retention, order sizes, order value,
  submission heatmap; active users now based on real contributions

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 22:21:43 +00:00
simandClaude Sonnet 5.5 b7eb2bb6d0 Add native dev stack and Playwright e2e/API tests
- src/dev/devenv.sh: run backend, Vite and Mailpit without Docker
- CONFIG_PATH env override for the backend config; optional Vite /api proxy
- src/e2e: Playwright API + UI tests (real email sign-in via Mailpit) and
  shoot.mjs screenshot CLI
- Document the workflow in CLAUDE.md

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 21:56:03 +00:00
sim 5808da2606 Add order ID to print output
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 2m23s
2026-10-20 22:05:06 +02:00
sim d45e71a4ba Allow pasting image on order creation
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m57s
2026-10-20 22:03:51 +02:00
sim a218405f34 strings
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m49s
2026-10-20 22:01:03 +02:00
sim 9e25c6da04 Payment details integration
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m57s
2026-10-20 21:58:20 +02:00
sim f2cbc07738 add printing
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m49s
2026-10-20 21:33:45 +02:00
sim d3517d8f47 Add handed-out flag and distribution mode
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m34s
2026-10-20 21:24:07 +02:00
sim 7d5ce7bcc8 Add clipboard and email templating
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 1m37s
2026-10-20 21:15:55 +02:00
sim d813fc0b5b Display current selection count
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 2m8s
2026-10-20 20:53:28 +02:00
sim 4fd528789d Add devcontainer env 2026-10-17 21:33:08 +02:00