loreal-utilisation-dept/frontend
DJP dfbc57b22f fix: lift uploads into always-visible header tray; preserve state across navigation
Two bugs you pointed out (Time Log Detail / Project Type Summary had no
way to upload anything, yet were the pages that need an upload to show
data):

1. The big UploadButton lived only on Department. Moved a compact
   HeaderUploads tray into the Navbar — three slots (Time Log /
   Deliverable / Project Summary), each showing filename + row count
   when loaded, "Upload" / "Replace" / clear actions, drag-and-drop
   removed in favour of the simpler picker since the tray is small.

2. DataProvider was inside <ProtectedShell>, which is rendered per
   Route. Every nav click remounted it and silently wiped the uploaded
   timelog state, which is why Time Log Detail showed "Upload a time
   log to see rows" even after a Department upload. Lifted DataProvider
   to main.tsx, above <Routes>. Upload state now survives navigation.

3. Department page lost its duplicate big UploadButton (the tray
   handles it now) — kept the parser-warning banner inline since it's
   still useful context next to the filter bar.

typecheck / lint / build clean. No bundle-size regression.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:59:36 -04:00
..
src fix: lift uploads into always-visible header tray; preserve state across navigation 2026-05-17 21:59:36 -04:00
eslint.config.js frontend: upgrade ESLint 8 → 9 + typescript-eslint 7 → 8 (flat config) 2026-05-17 21:46:09 -04:00
index.html Initial commit: dockerised FastAPI backend + React/Vite frontend rewrite 2026-05-16 12:37:04 -04:00
package-lock.json frontend: upgrade ESLint 8 → 9 + typescript-eslint 7 → 8 (flat config) 2026-05-17 21:46:09 -04:00
package.json frontend: upgrade ESLint 8 → 9 + typescript-eslint 7 → 8 (flat config) 2026-05-17 21:46:09 -04:00
postcss.config.js Initial commit: dockerised FastAPI backend + React/Vite frontend rewrite 2026-05-16 12:37:04 -04:00
tailwind.config.js Initial commit: dockerised FastAPI backend + React/Vite frontend rewrite 2026-05-16 12:37:04 -04:00
tsconfig.json Initial commit: dockerised FastAPI backend + React/Vite frontend rewrite 2026-05-16 12:37:04 -04:00
tsconfig.node.json Initial commit: dockerised FastAPI backend + React/Vite frontend rewrite 2026-05-16 12:37:04 -04:00
vite.config.ts Initial commit: dockerised FastAPI backend + React/Vite frontend rewrite 2026-05-16 12:37:04 -04:00