From 15c9ecfca12ee0efac5ec66a51aa1bb63c7828cf Mon Sep 17 00:00:00 2001 From: Edward-Deakin Date: Tue, 25 Aug 2026 15:50:00 +0100 Subject: [PATCH 1/2] Fix dark mode not applying via docusaurus-theme URL param Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01KV4vQhfyNV57p28BJMeGoq --- packages/docs-ui/src/providers/ColorMode/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/docs-ui/src/providers/ColorMode/index.tsx b/packages/docs-ui/src/providers/ColorMode/index.tsx index 8b86cf2ec..bffa42c3d 100644 --- a/packages/docs-ui/src/providers/ColorMode/index.tsx +++ b/packages/docs-ui/src/providers/ColorMode/index.tsx @@ -28,7 +28,10 @@ export const ColorModeProvider = ({ children }: ColorModeProviderProps) => { return; } - const theme = localStorage.getItem('theme'); + const urlTheme = new URLSearchParams(window.location.search).get( + 'docusaurus-theme' + ); + const theme = urlTheme ?? localStorage.getItem('theme'); if (theme && (theme === 'light' || theme === 'dark')) { setColorMode(theme); } else { From 9b4b86643ac039ecee5d4a15f8277d7894c77813 Mon Sep 17 00:00:00 2001 From: Edward Deakin Date: Tue, 15 Sep 2026 19:59:18 +0100 Subject: [PATCH 2/2] Respect system color-scheme preference as default theme Previously defaulted to light mode for first-time visitors with no saved preference or URL override, ignoring their OS dark-mode setting. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01BvvYGNDv99R4wyjwanLMrB --- packages/docs-ui/src/providers/ColorMode/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/docs-ui/src/providers/ColorMode/index.tsx b/packages/docs-ui/src/providers/ColorMode/index.tsx index bffa42c3d..22aff269a 100644 --- a/packages/docs-ui/src/providers/ColorMode/index.tsx +++ b/packages/docs-ui/src/providers/ColorMode/index.tsx @@ -35,7 +35,10 @@ export const ColorModeProvider = ({ children }: ColorModeProviderProps) => { if (theme && (theme === 'light' || theme === 'dark')) { setColorMode(theme); } else { - setColorMode("light") //if no value in localstorage present + const prefersDark = window.matchMedia( + '(prefers-color-scheme: dark)' + ).matches; + setColorMode(prefersDark ? 'dark' : 'light'); } setLoaded(true); }, []);