From 11734ee0582209a0f405441e47c64d1f538ffd7b Mon Sep 17 00:00:00 2001 From: cesnimda Date: Sun, 9 Aug 2026 18:35:31 +0200 Subject: [PATCH] fix(theme): make preference state deterministic --- job-tracker-ui/app/layout.tsx | 5 +- job-tracker-ui/src/App.tsx | 38 +++--- job-tracker-ui/src/ThemeProvider.tsx | 25 ++++ job-tracker-ui/src/auth.ts | 4 + .../src/components/SettingsView.tsx | 2 +- job-tracker-ui/src/theme-state.test.tsx | 123 ++++++++++++++++++ job-tracker-ui/src/themeBootstrap.ts | 17 +++ job-tracker-ui/src/themePrefs.ts | 49 ++++++- 8 files changed, 240 insertions(+), 23 deletions(-) create mode 100644 job-tracker-ui/src/ThemeProvider.tsx create mode 100644 job-tracker-ui/src/theme-state.test.tsx create mode 100644 job-tracker-ui/src/themeBootstrap.ts diff --git a/job-tracker-ui/app/layout.tsx b/job-tracker-ui/app/layout.tsx index 5f6b4be..0b256b4 100644 --- a/job-tracker-ui/app/layout.tsx +++ b/job-tracker-ui/app/layout.tsx @@ -1,6 +1,8 @@ import type { Metadata, Viewport } from "next"; +import Script from "next/script"; import "../src/index.css"; +import { THEME_BOOTSTRAP_SCRIPT } from "../src/themeBootstrap"; export const metadata: Metadata = { title: "Jobbjakt", @@ -23,8 +25,9 @@ export const viewport: Viewport = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - + +