logaritmisk
04e9c95c52
refactor(web): split config hook/context (.ts) from provider (.tsx) to clear react-refresh lint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 15:01:33 +02:00
logaritmisk
de11292203
feat(web): config provider — fetch /api/config, default UI language from instance
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 14:58:01 +02:00
logaritmisk
859f41dcb9
feat(web): object detail + two-pane page + app routing
...
Implements the navigable SPA shell: object detail pane showing
inventory-minimum fields, flexible fields (via Record<string,unknown>
cast) and visibility badge; ObjectsPage two-pane layout; BrowserRouter
wired through RequireAuth+AppShell; QueryClient provided in main.tsx.
Consolidates ObjectList NavLink to use isActive function form, removing
manual useParams highlight.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 23:13:52 +02:00
logaritmisk
478b4ce44e
feat(web): i18n with react-i18next (sv/en)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 22:42:47 +02:00
logaritmisk
b7ec4b1041
feat(web): Tailwind 4 + shadcn/ui + ESLint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 22:14:12 +02:00
logaritmisk
f64688a16f
feat(web): scaffold Vite + React + TS SPA with Vitest
...
Bootstraps the web/ SPA: Vite 6 + React 19 + TypeScript 5.8, Vitest
with jsdom, @testing-library/react, and a green smoke test asserting
the App renders its Collection heading.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 22:06:03 +02:00