1616</ div >
1717< script type ="text/javascript ">
1818const theme = localStorage . getItem ( 'theme' ) ;
19+ if ( theme === 'undefined' ) {
20+ theme = "dark" ;
21+ }
1922if ( theme === "dark" ) {
2023 document . documentElement . setAttribute ( 'data-theme' , 'dark' ) ;
24+ } else {
25+ document . documentElement . setAttribute ( 'data-theme' , 'light' ) ;
2126}
2227const userPrefers = getComputedStyle ( document . documentElement ) . getPropertyValue ( 'content' ) ;
2328
24- if ( theme === "dark" ) {
29+ function activateDarkTheme ( ) {
2530 document . getElementById ( 'theme-toggle' ) . checked = true ;
2631 document . documentElement . setAttribute ( 'data-theme' , 'dark' ) ;
2732 document . documentElement . classList . add ( 'theme--dark' ) ;
2833 document . documentElement . classList . remove ( 'theme--light' ) ;
2934 document . getElementById ( "theme-toggle" ) . className = 'light' ;
30- } else if ( theme === "light" ) {
35+ window . localStorage . setItem ( 'theme' , 'dark' ) ;
36+ }
37+
38+ function activateLightTheme ( ) {
3139 document . getElementById ( 'theme-toggle' ) . checked = false ;
3240 document . documentElement . setAttribute ( 'data-theme' , 'light' ) ;
3341 document . documentElement . classList . add ( 'theme--light' ) ;
3442 document . documentElement . classList . remove ( 'theme--dark' ) ;
3543 document . getElementById ( "theme-toggle" ) . className = 'dark' ;
36- } else if ( userPrefers === "dark" ) {
37- document . getElementById ( 'theme-toggle' ) . checked = false ;
38- document . documentElement . setAttribute ( 'data-theme' , 'dark' ) ;
39- document . documentElement . classList . add ( 'theme--dark' ) ;
40- document . documentElement . classList . remove ( 'theme--light' ) ;
41- window . localStorage . setItem ( 'theme' , 'dark' ) ;
42- document . getElementById ( "theme-toggle" ) . className = 'light' ;
43- } else {
44- document . getElementById ( 'theme-toggle' ) . checked = true ;
45- document . documentElement . setAttribute ( 'data-theme' , 'light' ) ;
46- document . documentElement . classList . add ( 'theme--light' ) ;
47- document . documentElement . classList . remove ( 'theme--dark' ) ;
4844 window . localStorage . setItem ( 'theme' , 'light' ) ;
49- document . getElementById ( "theme-toggle" ) . className = 'dark' ;
45+ }
46+
47+ if ( theme === "dark" ) {
48+ activateDarkTheme ( ) ;
49+ } else if ( theme === "light" ) {
50+ activateLightTheme ( ) ;
51+ } else if ( userPrefers === "light" ) {
52+ activateDarkTheme ( ) ;
53+ } else {
54+ activateDarkTheme ( ) ;
5055}
5156
5257function modeSwitcher ( ) {
5358 let currentMode = document . documentElement . getAttribute ( 'data-theme' ) ;
5459 if ( currentMode === "dark" ) {
55- document . documentElement . setAttribute ( 'data-theme' , 'light' ) ;
56- document . documentElement . classList . add ( 'theme--light' ) ;
57- document . documentElement . classList . remove ( 'theme--dark' ) ;
58- window . localStorage . setItem ( 'theme' , 'light' ) ;
59- document . getElementById ( "theme-toggle" ) . className = 'dark' ;
60+ activateLightTheme ( ) ;
6061 } else {
61- document . documentElement . setAttribute ( 'data-theme' , 'dark' ) ;
62- document . documentElement . classList . add ( 'theme--dark' ) ;
63- document . documentElement . classList . remove ( 'theme--light' ) ;
64- window . localStorage . setItem ( 'theme' , 'dark' ) ;
65- document . getElementById ( "theme-toggle" ) . className = 'light' ;
62+ activateDarkTheme ( ) ;
6663 }
6764}
6865</ script >
0 commit comments