File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -31,11 +31,14 @@ export function ThemeProvider({ children }: { children: ReactNode }) {
3131 // Initialize theme as early as possible to prevent flash
3232 useLayoutEffect ( ( ) => {
3333 const stored = localStorage . getItem ( 'theme' ) as Theme ;
34- if ( stored && THEMES . includes ( stored ) ) {
35- setTheme ( stored ) ;
36- const effectiveTheme = getEffectiveTheme ( stored ) ;
37- document . documentElement . classList . add ( effectiveTheme ) ;
38- document . documentElement . style . colorScheme = effectiveTheme ;
34+ const initialTheme = stored && THEMES . includes ( stored ) ? stored : 'system' ;
35+ setTheme ( initialTheme ) ;
36+ const effectiveTheme = getEffectiveTheme ( initialTheme ) ;
37+ document . documentElement . classList . remove ( ...THEMES ) ;
38+ document . documentElement . classList . add ( effectiveTheme ) ;
39+ document . documentElement . style . colorScheme = effectiveTheme ;
40+ if ( ! stored ) {
41+ localStorage . setItem ( 'theme' , initialTheme ) ;
3942 }
4043 setMounted ( true ) ;
4144 } , [ ] ) ;
You can’t perform that action at this time.
0 commit comments