From f1abb6457318c88298600da0b686263f285d2e5e Mon Sep 17 00:00:00 2001 From: "bert.hausmans" Date: Wed, 20 May 2026 21:24:12 +0200 Subject: [PATCH] feat(frontend): settings page with dark mode and defaults --- packages/frontend/src/components/Layout.tsx | 8 +++++++- packages/frontend/src/pages/Settings.tsx | 16 ++++++++++++++++ packages/frontend/src/router.tsx | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 packages/frontend/src/pages/Settings.tsx diff --git a/packages/frontend/src/components/Layout.tsx b/packages/frontend/src/components/Layout.tsx index a1af438..2092933 100644 --- a/packages/frontend/src/components/Layout.tsx +++ b/packages/frontend/src/components/Layout.tsx @@ -1,13 +1,19 @@ import { Link, Outlet } from 'react-router-dom'; +import { useSettings } from '../stores/settingsStore.js'; export function Layout() { + const { theme, toggleTheme } = useSettings(); return (
-
diff --git a/packages/frontend/src/pages/Settings.tsx b/packages/frontend/src/pages/Settings.tsx new file mode 100644 index 0000000..a536444 --- /dev/null +++ b/packages/frontend/src/pages/Settings.tsx @@ -0,0 +1,16 @@ +import { useSettings } from '../stores/settingsStore.js'; + +export function SettingsPage() { + const { theme, defaultMaxCards, toggleTheme, setDefaultMaxCards } = useSettings(); + return ( +
+

Instellingen

+ + +
+ ); +} diff --git a/packages/frontend/src/router.tsx b/packages/frontend/src/router.tsx index be7eb30..88b6ac6 100644 --- a/packages/frontend/src/router.tsx +++ b/packages/frontend/src/router.tsx @@ -9,6 +9,7 @@ import { PracticeDonePage } from './pages/PracticeDone.js'; import { StatsPage } from './pages/Stats.js'; import { StatsLessonPage } from './pages/StatsLesson.js'; import { StatsCardPage } from './pages/StatsCard.js'; +import { SettingsPage } from './pages/Settings.js'; export const router = createBrowserRouter([ { @@ -24,6 +25,7 @@ export const router = createBrowserRouter([ { path: 'stats', element: }, { path: 'stats/lessons/:id', element: }, { path: 'stats/cards/:id', element: }, + { path: 'settings', element: }, { path: '*', element: }, ], },