feat(frontend): scaffold — Tailwind v4, routing, API layer, UserContext
- tailwindcss + @tailwindcss/vite, react-router-dom, date-fns, zod installed - vite.config.ts: Tailwind v4 Vite plugin wired in - index.css: single @import "tailwindcss" (zero-config v4) - main.tsx: wrapped in <BrowserRouter>; imports index.css - App.tsx: layout shell with <TopBar/> + <Routes> (/, /weekly, /monthly, /projects) - lib/api.ts: Zod schemas for all API types + typed fetch wrapper; all responses validated before field access (per CLAUDE.md rule) - lib/format.ts: minutesToHmm, hmmToMinutes, centsToEur, ISO week helpers, year-month helpers, formatDate - lib/types.ts: z.infer<> re-exports from api.ts - state/UserContext.tsx: selected user persisted in localStorage; auto- selects first user on load Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
/// <reference types="vitest" />
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
plugins: [tailwindcss(), react()],
|
||||
server: {
|
||||
proxy: {
|
||||
"/api": "http://localhost:8080",
|
||||
|
||||
Reference in New Issue
Block a user