File tree 4 files changed +42
-5
lines changed
automatic-dark-mode/react
class-high-contrast-mode/react
4 files changed +42
-5
lines changed Original file line number Diff line number Diff line change @@ -33,8 +33,16 @@ function Example() {
33
33
34
34
toggleDarkTheme (prefersDark .matches );
35
35
36
+ const setDarkThemeFromMediaQuery = (mediaQuery : MediaQueryListEvent ) => {
37
+ toggleDarkTheme (mediaQuery .matches );
38
+ };
39
+
36
40
// Listen for changes to the prefers-color-scheme media query
37
- prefersDark .addEventListener (' change' , (mediaQuery ) => toggleDarkTheme (mediaQuery .matches ));
41
+ prefersDark .addEventListener (' change' , setDarkThemeFromMediaQuery );
42
+
43
+ return () => {
44
+ prefersDark .removeEventListener (' change' , setDarkThemeFromMediaQuery );
45
+ };
38
46
}, []);
39
47
40
48
return (
Original file line number Diff line number Diff line change @@ -49,8 +49,16 @@ function Example() {
49
49
// value of the prefers-color-scheme media query
50
50
initializeDarkTheme (prefersDark .matches );
51
51
52
+ const setDarkThemeFromMediaQuery = (mediaQuery : MediaQueryListEvent ) => {
53
+ initializeDarkTheme (mediaQuery .matches );
54
+ };
55
+
52
56
// Listen for changes to the prefers-color-scheme media query
53
- prefersDark .addEventListener (' change' , (mediaQuery ) => initializeDarkTheme (mediaQuery .matches ));
57
+ prefersDark .addEventListener (' change' , setDarkThemeFromMediaQuery );
58
+
59
+ return () => {
60
+ prefersDark .removeEventListener (' change' , setDarkThemeFromMediaQuery );
61
+ };
54
62
}, []);
55
63
56
64
return (
Original file line number Diff line number Diff line change @@ -49,8 +49,16 @@ function Example() {
49
49
// value of the prefers-color-scheme media query
50
50
initializeDarkPalette (prefersDark .matches );
51
51
52
+ const setDarkPaletteFromMediaQuery = (mediaQuery : MediaQueryListEvent ) => {
53
+ initializeDarkPalette (mediaQuery .matches );
54
+ };
55
+
52
56
// Listen for changes to the prefers-color-scheme media query
53
- prefersDark .addEventListener (' change' , (mediaQuery ) => initializeDarkPalette (mediaQuery .matches ));
57
+ prefersDark .addEventListener (' change' , setDarkPaletteFromMediaQuery );
58
+
59
+ return () => {
60
+ prefersDark .removeEventListener (' change' , setDarkPaletteFromMediaQuery );
61
+ };
54
62
}, []);
55
63
56
64
return (
Original file line number Diff line number Diff line change @@ -66,9 +66,22 @@ function Example() {
66
66
initializeDarkPalette (prefersDark .matches );
67
67
initializeHighContrastPalette (prefersHighContrast .matches );
68
68
69
+ const setDarkPaletteFromMediaQuery = (mediaQuery : MediaQueryListEvent ) => {
70
+ initializeDarkPalette (mediaQuery .matches );
71
+ };
72
+
73
+ const setHighContrastPaletteFromMediaQuery = (mediaQuery : MediaQueryListEvent ) => {
74
+ initializeHighContrastPalette (mediaQuery .matches );
75
+ };
76
+
69
77
// Listen for changes to the media queries
70
- prefersDark .addEventListener (' change' , (mediaQuery ) => initializeDarkPalette (mediaQuery .matches ));
71
- prefersHighContrast .addEventListener (' change' , (mediaQuery ) => initializeHighContrastPalette (mediaQuery .matches ));
78
+ prefersDark .addEventListener (' change' , setDarkPaletteFromMediaQuery );
79
+ prefersHighContrast .addEventListener (' change' , setHighContrastPaletteFromMediaQuery );
80
+
81
+ return () => {
82
+ prefersDark .removeEventListener (' change' , setDarkPaletteFromMediaQuery );
83
+ prefersHighContrast .removeEventListener (' change' , setHighContrastPaletteFromMediaQuery );
84
+ };
72
85
}, []);
73
86
74
87
return (
You can’t perform that action at this time.
0 commit comments