@@ -52,7 +52,7 @@ import {
5252 useMatchRoute ,
5353 useMatches ,
5454} from "@tanstack/react-router" ;
55- import React , { useState } from "react" ;
55+ import React , { useEffect , useState } from "react" ;
5656import { useTitle } from "../components/shared/useTitle" ;
5757import packitLogo from "../static/logo.png" ;
5858
@@ -69,15 +69,21 @@ export const Route = createRootRouteWithContext<RouterContext>()({
6969 const [ isMobileView , setIsMobileView ] = useState ( true ) ;
7070 const [ isNavOpenMobile , setIsNavOpenMobile ] = useState ( false ) ;
7171
72- const [ isDarkTheme , setIsDarkTheme ] = React . useState ( false ) ;
72+ const [ isDarkTheme , setIsDarkTheme ] = React . useState (
73+ window . sessionStorage . getItem ( "theme-dark" ) === "true" ,
74+ ) ;
7375
74- const toggleDarkTheme = ( _evt , selected : boolean ) => {
75- const darkThemeToggleClicked = ! selected === isDarkTheme ;
76+ useEffect ( ( ) => {
7677 const htmlRoot = document . querySelector ( "html" ) ;
7778 if ( htmlRoot ) {
78- htmlRoot . classList . toggle ( "pf-v6-theme-dark" , darkThemeToggleClicked ) ;
79- setIsDarkTheme ( darkThemeToggleClicked ) ;
79+ htmlRoot . classList . toggle ( "pf-v6-theme-dark" , isDarkTheme ) ;
8080 }
81+ window . sessionStorage . setItem ( "theme-dark" , isDarkTheme . toString ( ) ) ;
82+ } , [ isDarkTheme ] ) ;
83+
84+ const toggleDarkTheme = ( _evt , selected : boolean ) => {
85+ const darkThemeToggleClicked = ! selected === isDarkTheme ;
86+ setIsDarkTheme ( darkThemeToggleClicked ) ;
8187 } ;
8288
8389 const matchRoute = useMatchRoute ( ) ;
0 commit comments