1- document . addEventListener ( "DOMContentLoaded" , ( ) => {
2- const toggleBtn = document . getElementById ( "theme-toggle" ) ;
3- const prefersDark = window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ;
4- const storedTheme = localStorage . getItem ( "theme" ) ;
5-
6- const enableDark = ( ) => {
1+ function initializeThemeToggle ( ) {
2+ const toggleBtn = document . getElementById ( "theme-toggle" ) ;
3+ if ( ! toggleBtn ) {
4+ console . warn ( "Theme toggle button not found." ) ;
5+ return ;
6+ }
7+ const prefersDark = window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ;
8+ const storedTheme = localStorage . getItem ( "theme" ) ;
9+
10+ const enableDark = ( ) => {
711 document . documentElement . classList . add ( "dark-mode" ) ;
812 localStorage . setItem ( "theme" , "dark" ) ;
913 toggleBtn . textContent = "Light Mode" ;
10- } ;
11-
12- const disableDark = ( ) => {
14+ } ;
15+
16+ const disableDark = ( ) => {
1317 document . documentElement . classList . remove ( "dark-mode" ) ;
1418 localStorage . setItem ( "theme" , "light" ) ;
1519 toggleBtn . textContent = "Dark Mode" ;
16- } ;
17-
18- if ( storedTheme === "dark" || ( ! storedTheme && prefersDark ) ) {
20+ } ;
21+
22+ if ( storedTheme === "dark" || ( ! storedTheme && prefersDark ) ) {
1923 enableDark ( ) ;
20- } else {
24+ } else {
2125 disableDark ( ) ;
22- }
23-
24- toggleBtn . addEventListener ( "click" , ( ) => {
26+ }
27+
28+ toggleBtn . addEventListener ( "click" , ( ) => {
2529 if ( document . documentElement . classList . contains ( "dark-mode" ) ) {
26- disableDark ( ) ;
30+ disableDark ( ) ;
2731 } else {
28- enableDark ( ) ;
32+ enableDark ( ) ;
2933 }
30- } ) ;
3134 } ) ;
32-
35+ }
0 commit comments