From 596e035a002bafe5c21b7935c0eed73f2bf8a6cf Mon Sep 17 00:00:00 2001 From: "Dennis (via Claude+Gemma)" Date: Sat, 23 May 2026 05:21:08 +0200 Subject: [PATCH] feat(dark-mode-toggle): Dark-Mode mit System-Preference + localStorage + toggle [tsc:ok] --- .phase4-state.json | 3 +- .phase5-state.json | 5 + GENERATION_LOG.md | 22 ++++ apps/web/src/components/Nav.tsx | 32 +++-- apps/web/src/lib/theme.ts | 54 +++++++++ apps/web/tailwind.config.ts | 1 + scripts/phase5_features.py | 207 ++++++++++++++++++++++++++++++++ 7 files changed, 313 insertions(+), 11 deletions(-) create mode 100644 .phase5-state.json create mode 100644 apps/web/src/lib/theme.ts create mode 100644 scripts/phase5_features.py diff --git a/.phase4-state.json b/.phase4-state.json index ec24560..9a24a23 100644 --- a/.phase4-state.json +++ b/.phase4-state.json @@ -4,7 +4,8 @@ "csv-export-time-entries", "error-boundary", "dashboard-charts", - "api-client-phase4" + "api-client-phase4", + "router-with-admin" ], "current_feature": "router-with-admin", "started_at": "2026-05-23T05:10:51.482879" diff --git a/.phase5-state.json b/.phase5-state.json new file mode 100644 index 0000000..326d92d --- /dev/null +++ b/.phase5-state.json @@ -0,0 +1,5 @@ +{ + "completed_features": [], + "current_feature": "dark-mode-toggle", + "started_at": "2026-05-23T05:20:11.407108" +} \ No newline at end of file diff --git a/GENERATION_LOG.md b/GENERATION_LOG.md index 727249d..191aa73 100644 --- a/GENERATION_LOG.md +++ b/GENERATION_LOG.md @@ -527,3 +527,25 @@ undefined - `05:18:20` **INFO** wrote 3580 chars in 29.7s (attempt 1) - `05:18:20` **INFO** Running tsc --noEmit on api… - `05:18:21` **INFO** tsc clean ✓ +- `05:18:21` **INFO** Committed feature router-with-admin +- `05:18:22` **INFO** Pushed: rc=0 + +## Phase-4 Run beendet (2026-05-23 05:18:22) + +- `05:18:22` **INFO** OK: 6, Attempted: 0, Total: 6 + +## 🚀 Phase-5 Codegen-Run gestartet (2026-05-23 05:20:11) + +- `05:20:11` **INFO** Features: 6 + +## Phase-3 Feature: dark-mode-toggle (2026-05-23 05:20:11) + +- `05:20:11` **INFO** Description: Dark-Mode mit System-Preference + localStorage + toggle +- `05:20:11` **INFO** Generating apps/web/src/lib/theme.ts (Theme-Hook + Util. useTheme() returns {theme:'light'|'dark', setTheme,…) +- `05:20:23` **INFO** wrote 1465 chars in 12.0s (attempt 1) +- `05:20:23` **INFO** Generating apps/web/tailwind.config.ts (ERWEITERT — füge `darkMode: 'class'` hinzu. Behalte content + theme.ex…) +- `05:20:26` **INFO** wrote 315 chars in 3.4s (attempt 1) +- `05:20:26` **INFO** Generating apps/web/src/components/Nav.tsx (ERWEITERT — füge Theme-Toggle-Button rechts (Sun/Moon Icon von lucide-…) +- `05:21:06` **INFO** wrote 4485 chars in 40.0s (attempt 1) +- `05:21:06` **INFO** Running tsc --noEmit on api… +- `05:21:08` **INFO** tsc clean ✓ diff --git a/apps/web/src/components/Nav.tsx b/apps/web/src/components/Nav.tsx index d75fe67..eb44e70 100644 --- a/apps/web/src/components/Nav.tsx +++ b/apps/web/src/components/Nav.tsx @@ -7,13 +7,17 @@ import { FolderKanban, User, LogOut, - ShieldCheck + ShieldCheck, + Sun, + Moon } from "lucide-react" import { useQuery } from "@tanstack/react-query" import { api } from "../lib/api" +import { useTheme } from "../hooks/useTheme" export default function Nav() { const location = useLocation() + const { theme, toggleTheme } = useTheme() const { data: user } = useQuery({ queryKey: ['me'], @@ -37,13 +41,13 @@ export default function Nav() { } return ( -