hk-planner/frontend
jtricerolph 9bfd14a082 Add timesheet sync: pull actual hours, daily cron, per-cell source indicators
- fetchTimesheetShifts: hits /api/v2/shifts, subtracts breaks, carries PENDING/APPROVED status
- syncJobs.js: shared runRotaSync/runTimesheetSync logic used by routes and cron
- Rota sync now skips dates already marked source='timesheet'
- POST /api/workforce/sync-timesheets: on-demand pull of last 7 days actual hours
- Daily 6am cron: rota sync then timesheet sync, each logged independently
- upsertWorkforceShifts now writes source per row (workforce or timesheet)
- Frontend: Pull timesheets button alongside Sync rota button
- Clock icon on timesheet cells — amber for PENDING, green for APPROVED
- Both buttons disabled while either sync is in progress

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-22 18:25:02 +00:00
..
dist Add timesheet sync: pull actual hours, daily cron, per-cell source indicators 2026-07-22 18:25:02 +00:00
public/icons Replace letter icons with Lucide PWA icons 2026-07-11 20:30:07 +00:00
src Add timesheet sync: pull actual hours, daily cron, per-cell source indicators 2026-07-22 18:25:02 +00:00
Dockerfile Initial commit: HK Planner app 2026-07-02 09:24:14 +00:00
index.html Force desktop viewport (width=1280) — data-heavy display not suited to responsive layout 2026-07-21 08:14:57 +00:00
nginx.conf Fix logout (add missing nginx auth proxy) + show name/email in sidebar footer 2026-07-22 11:10:02 +00:00
package-lock.json Make hk-planner installable as a PWA 2026-07-11 11:27:00 +00:00
package.json Make hk-planner installable as a PWA 2026-07-11 11:27:00 +00:00
tsconfig.json Initial commit: HK Planner app 2026-07-02 09:24:14 +00:00
vite.config.ts Make hk-planner installable as a PWA 2026-07-11 11:27:00 +00:00