Commit graph

  • cb070a17e3 Refresh forecast tiles periodically, not just once on mount main jtricerolph 2026-08-12 08:56:55 +00:00
  • 1900c9fc0f Add iOS install hint + Apple PWA meta tags, fix missing beforeinstallprompt handler jtricerolph 2026-08-06 14:12:12 +00:00
  • dfc863250c Compare full-week forecast against a full prev week, not a partial one jtricerolph 2026-08-06 07:51:07 +00:00
  • 2ce51b036d Widen actuals fetch window so the hop-back forecast fallback can reach history jtricerolph 2026-08-06 07:41:09 +00:00
  • 221a5598c0 Don't treat today's in-progress £0 actuals as ground truth in forecast jtricerolph 2026-08-03 10:36:56 +00:00
  • 0ea4efdb70 Add missing PWA icons jtricerolph 2026-07-29 17:22:24 +00:00
  • 69a5e8ad36 Scope PWA manifest to app's own path instead of origin root jtricerolph 2026-07-29 13:47:22 +00:00
  • fcc1ab9e51 Hide Budget Watch card when no dept budget split is configured jtricerolph 2026-07-25 20:49:51 +00:00
  • d0cfc39012 Add week/month summary stats + budget watch to Dashboard, make it the default page jtricerolph 2026-07-25 13:25:28 +00:00
  • e447d48e37 Make the AI insight's prompt instructions editable via Settings jtricerolph 2026-07-25 11:09:44 +00:00
  • 8f8e273650 Compare employee pay against their own baseline, not raw rank; tighten output jtricerolph 2026-07-25 10:50:20 +00:00
  • ed67a91b52 Remove second stale NI-oncost caveat missed in the earlier cleanup jtricerolph 2026-07-25 10:38:02 +00:00
  • 1ffaece874 Revert rota comparison to real oncosts; remove stale NI footnote jtricerolph 2026-07-25 10:17:11 +00:00
  • e06d04d517 Genericize employee name in manual-context placeholder example jtricerolph 2026-07-25 10:12:21 +00:00
  • d36655c02c Add manual context field for AI insights jtricerolph 2026-07-25 10:07:37 +00:00
  • c09b31c41e Migrate rota sync from /api/v2/schedules to /api/v2/rosters/on/{date} jtricerolph 2026-07-25 10:01:35 +00:00
  • 216dacb0f2 Raise output token cap; add one-time note about the rota-methodology fix jtricerolph 2026-07-25 09:30:15 +00:00
  • 661e219aac Fix rota-vs-actual comparison: base-cost mismatch and missing dept names jtricerolph 2026-07-25 00:43:12 +00:00
  • 6339b33270 Add insight history view; feed recent insights back into the prompt jtricerolph 2026-07-24 22:01:13 +00:00
  • cabaff8d35 Add rota backfill (60 days) — separate from the 25-month actuals backfill jtricerolph 2026-07-24 21:26:02 +00:00
  • 95da5ea237 Add AI cost insights dashboard; rota-informed forecast method jtricerolph 2026-07-24 20:43:18 +00:00
  • 11e5a2b78a Fix session-expiry redirect breaking standalone PWA out of its shell jtricerolph 2026-07-24 17:07:04 +00:00
  • ae10646d32 Add user/logout section to sidebar footer jtricerolph 2026-07-24 15:47:01 +00:00
  • 2114e60fce Fix chart legend order and tooltip stacking on wage graphs jtricerolph 2026-07-24 15:45:00 +00:00
  • 158d8f1676 Fix stale employee rows in wage breakdown after shift edits/reassignment jtricerolph 2026-07-24 12:23:58 +00:00
  • a1a8900196 Fix current-period % Budget bugs on Rolling 12 Weeks/Months tables jtricerolph 2026-07-23 21:18:30 +00:00
  • 47e899f636 Weight WTD/MTD budget split by PY DOW-matched sales instead of flat day count jtricerolph 2026-07-23 17:57:09 +00:00
  • baba818693 Mobile nav: replace bottom icon bar with burger menu for consistency jtricerolph 2026-07-23 17:43:13 +00:00
  • 69b4c50e14 Net sales: use forecast (otb + pickup) instead of otb-only for future dates jtricerolph 2026-07-23 17:39:10 +00:00
  • 320a0ce1ec Add Net Sales £ cards with PY comparison to Weekly and Monthly views jtricerolph 2026-07-23 17:34:12 +00:00
  • 9e7f4030d2 Monthly forecast: repeat last full actual week to end of month instead of single 7-day lookback jtricerolph 2026-07-23 17:19:10 +00:00
  • 84f5d38b10 Rolling views: show most recent week/month first in table jtricerolph 2026-07-23 16:15:02 +00:00
  • 34b17b495e syncActuals: switch to timesheets endpoint to capture National Insurance oncosts jtricerolph 2026-07-23 15:51:24 +00:00
  • 91bdb63a90 Compare: add salaried staff diagnostic (C) using users?show_wages=true jtricerolph 2026-07-23 15:42:26 +00:00
  • 2543e09387 Add include_oncosts=true to timesheets/on/{date} fetch jtricerolph 2026-07-23 15:14:17 +00:00
  • be1ef7f99e Fix timesheetLevel cost field — use t.total_cost not t.cost jtricerolph 2026-07-23 15:06:39 +00:00
  • 241524c9ce Compare: add timesheet-level cost fields + A2/A3 filter variants to diagnose £4.7k gap jtricerolph 2026-07-23 15:03:17 +00:00
  • a2b46178a5 Return to shifts endpoint with leave filter + cost_with_oncosts jtricerolph 2026-07-23 14:31:07 +00:00
  • fcea24b46a Fix timesheet sync: per-day fetch + shift.id dedup + dept_id filter jtricerolph 2026-07-23 14:25:01 +00:00
  • dd04b50fda Fix two root causes of timesheet figure overcount jtricerolph 2026-07-23 14:11:14 +00:00
  • 2690ee149f Switch syncActuals to timesheets endpoint — PBI-matched method jtricerolph 2026-07-23 14:03:43 +00:00
  • 74024f554f Inspect cost field names on timesheets + shifts for compare diagnostic jtricerolph 2026-07-23 13:56:22 +00:00
  • 265df96a63 Parallelize per-day timesheet fetch; extend compare route timeout to 120s jtricerolph 2026-07-23 13:53:30 +00:00
  • 4cba6a2ffa Expand compare diagnostic: location filter variants + per-day timesheets fallback jtricerolph 2026-07-23 13:48:42 +00:00
  • c15147b298 Add endpoint comparison diagnostic for cost figure discrepancies jtricerolph 2026-07-23 13:43:19 +00:00
  • 3a068ece23 Add vs Prev column to monthly table; weekly two-row cards + vs PY + vs Prev Wk jtricerolph 2026-07-23 12:59:14 +00:00
  • 27f9190dc5 Add vs PY % delta column to monthly dept breakdown table jtricerolph 2026-07-23 12:44:17 +00:00
  • 5b243b3ef8 Yesterday cutoff for actuals; two-row monthly summary cards jtricerolph 2026-07-23 12:36:42 +00:00
  • d04cd1e82c Monthly view: rota boundary, EOM PY card, % Budget headline; backfill 25 months jtricerolph 2026-07-23 12:08:13 +00:00
  • a75aceb6e7 Mobile responsive layout — bottom nav + table scroll jtricerolph 2026-07-23 11:58:14 +00:00
  • c6166f31d0 Batch net-sales requests in ≤365-day chunks — forecasting API 422s at 396 days jtricerolph 2026-07-23 11:52:05 +00:00
  • 92400dbcec Show budget % as delta (+/-) from 100% across all views jtricerolph 2026-07-23 11:48:38 +00:00
  • bbc9a23da0 Fix budget CSV import — handle quoted fields, Aug-25 month format, currency symbols jtricerolph 2026-07-23 11:41:12 +00:00
  • 95103280c3 Fix employee name lookup — use name field not first_name/last_name; remove temp logs jtricerolph 2026-07-23 11:33:45 +00:00
  • 6661189127 Fix getUserNameMap location filter; fix detail cost filter to match aggregate jtricerolph 2026-07-23 11:32:28 +00:00
  • cf0cd0a5e4 Temp: log user fields + shift status cost breakdown jtricerolph 2026-07-23 11:31:03 +00:00
  • 5372111f52 Add per-employee dept breakdown via modal popup jtricerolph 2026-07-23 11:02:11 +00:00
  • 91936ab131 Remove temp shift sample log jtricerolph 2026-07-23 10:57:50 +00:00
  • 21391d4122 Temp: log raw shift sample for field inspection jtricerolph 2026-07-23 10:55:54 +00:00
  • f9916cc3fd Add collapsed PY dept breakdown table below weekly/monthly tables jtricerolph 2026-07-23 10:25:04 +00:00
  • a857eb6177 Add PY(TD) sub-label to % of Net Sales summary card jtricerolph 2026-07-23 10:16:47 +00:00
  • 44a7caa937 Fair PYTD comparison for current week/month jtricerolph 2026-07-23 10:11:09 +00:00
  • dc1a14a070 PY wages/sales as sub-labels not separate cards jtricerolph 2026-07-23 10:06:09 +00:00
  • 1d7cb229e4 Add PY wages/sales cards + dept % of total column jtricerolph 2026-07-23 10:01:16 +00:00
  • 605feaab4e Batch scheduled sync in 7-day chunks (API limit is 7 days) jtricerolph 2026-07-23 09:54:09 +00:00
  • 793e97dbbb Fix week date range off-by-one in BST timezone jtricerolph 2026-07-23 09:48:46 +00:00
  • 3e1851fa6d Add department budget % allocation jtricerolph 2026-07-23 09:43:39 +00:00
  • f97772cb72 Fix Monthly net sales range + chart data; Budgets year nav + CSV upload jtricerolph 2026-07-23 09:25:51 +00:00
  • 4d6e53a1f8 Fix rolling sync: batch actuals in 7-day chunks (API limit 31 days) jtricerolph 2026-07-23 09:18:15 +00:00
  • 46201c6592 Fix Weekly: store week as string to prevent useCallback infinite loop jtricerolph 2026-07-23 09:15:11 +00:00
  • fc92bcd897 Fix POST without body: only set Content-Type when body present jtricerolph 2026-07-23 09:10:55 +00:00
  • 32318aa63f Fix TS errors: vite/client types + recharts Tooltip formatter signature jtricerolph 2026-07-23 09:07:34 +00:00
  • 2e0592eb90 Initial scaffold: wages app jtricerolph 2026-07-23 09:03:52 +00:00