@@ -9,17 +9,15 @@ function initThemeSwitch() {
9
9
10
10
let $buttons = $switchContainer . querySelectorAll ( '[type="radio"]' ) ;
11
11
12
- /**
13
- * @type String
14
- */
15
- let userThemeSetting = localStorage . getItem ( 'sdUserTheme' ) ;
16
-
17
12
function setInitialState ( ) {
13
+ /**
14
+ * @type String
15
+ */
16
+ let userThemeSetting = document . documentElement . getAttribute (
17
+ 'data-user-theme'
18
+ ) ;
19
+
18
20
if ( userThemeSetting ) {
19
- document . documentElement . setAttribute (
20
- 'data-user-theme' ,
21
- userThemeSetting
22
- ) ;
23
21
$switchContainer . querySelector (
24
22
`[value="${ userThemeSetting } "]`
25
23
) . checked = true ;
@@ -28,25 +26,15 @@ function initThemeSwitch() {
28
26
}
29
27
}
30
28
31
- function setUserPreference ( value ) {
32
- localStorage . setItem ( 'sdUserTheme' , value ) ;
33
- document . documentElement . setAttribute ( 'data-user-theme' , value ) ;
34
- }
35
-
36
- function unsetUserPreference ( ) {
37
- localStorage . removeItem ( 'sdUserTheme' ) ;
38
- document . documentElement . removeAttribute ( 'data-user-theme' ) ;
39
- }
40
-
41
29
Array . from ( $buttons ) . forEach ( function ( $button ) {
42
30
$button . addEventListener ( 'change' , function ( ) {
43
31
// only run the switch functionality for the currently active radio button
44
32
if ( ! $button . checked ) return ;
45
33
46
34
if ( userOverwrite . includes ( $button . value ) ) {
47
- setUserPreference ( $button . value ) ;
35
+ window . setUserPreference ( $button . value ) ;
48
36
} else {
49
- unsetUserPreference ( ) ;
37
+ window . unsetUserPreference ( ) ;
50
38
}
51
39
} ) ;
52
40
} ) ;
0 commit comments