@@ -12,20 +12,43 @@ var reviewList=[];
1212var reviewIdx = 0 ;
1313
1414/* ── THEME ── */
15+ var LS_THEME = 'quizhub_theme' ;
1516var darkMode = false ;
17+ try { darkMode = localStorage . getItem ( LS_THEME ) === 'dark' ; } catch ( e ) { }
18+ if ( darkMode ) document . documentElement . setAttribute ( 'data-theme' , 'dark' ) ;
1619function toggleTheme ( ) {
1720 darkMode = ! darkMode ;
1821 document . documentElement . setAttribute ( 'data-theme' , darkMode ?'dark' :'light' ) ;
1922 document . getElementById ( 'theme-toggle' ) . textContent = darkMode ?'🌙' :'☀️' ;
23+ try { localStorage . setItem ( LS_THEME , darkMode ?'dark' :'light' ) ; } catch ( e ) { }
2024}
25+ window . addEventListener ( 'DOMContentLoaded' , function ( ) {
26+ var btn = document . getElementById ( 'theme-toggle' ) ;
27+ if ( btn ) btn . textContent = darkMode ?'🌙' :'☀️' ;
28+ } ) ;
2129
2230/* ── SCREENS ── */
31+ var LS_SCREEN = 'quizhub_last_screen' ;
32+ var PERSIST_SCREENS = [ 'screen-hub' , 'screen-ctfl-home' , 'screen-ctai-version' , 'screen-ctai-home' , 'screen-ctai-home-v2' , 'screen-ctai-blitz-version' , 'screen-genai-home' , 'screen-profile' ] ;
2333function showScreen ( id ) {
2434 var ss = document . querySelectorAll ( '.screen' ) ;
2535 for ( var s = 0 ; s < ss . length ; s ++ ) ss [ s ] . classList . remove ( 'active' ) ;
2636 document . getElementById ( id ) . classList . add ( 'active' ) ;
2737 window . scrollTo ( 0 , 0 ) ;
38+ try {
39+ if ( PERSIST_SCREENS . indexOf ( id ) >= 0 ) localStorage . setItem ( LS_SCREEN , id ) ;
40+ else localStorage . removeItem ( LS_SCREEN ) ;
41+ } catch ( e ) { }
2842}
43+ window . addEventListener ( 'DOMContentLoaded' , function ( ) {
44+ try {
45+ var saved = localStorage . getItem ( LS_SCREEN ) ;
46+ if ( saved && PERSIST_SCREENS . indexOf ( saved ) >= 0 && document . getElementById ( saved ) ) {
47+ if ( saved === 'screen-profile' ) openProfile ( ) ;
48+ else showScreen ( saved ) ;
49+ }
50+ } catch ( e ) { }
51+ } ) ;
2952
3053function showComingSoon ( name ) {
3154 document . getElementById ( 'coming-soon-title' ) . textContent = name + ' — Coming soon' ;
0 commit comments