We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
auto
1 parent 8c40244 commit e4369f4Copy full SHA for e4369f4
src/scripts/theme.js
@@ -31,8 +31,18 @@ const normalizeKey = (k) =>
31
.toLowerCase()
32
.replace(/^theme-/, '');
33
34
+const preferDarkMode = ({ theme }) => {
35
+ if (theme === 'auto') {
36
+ if (typeof window.matchMedia === 'function') {
37
+ const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)');
38
+ return prefersDarkScheme && prefersDarkScheme.matches;
39
+ }
40
41
+ return theme === 'dark';
42
+};
43
+
44
export const loadTheme = (props, style) => {
- THEME = props.theme == 'dark' ? DARK_THEME : LIGHT_THEME;
45
+ THEME = preferDarkMode(props) ? DARK_THEME : LIGHT_THEME;
46
Object.entries(props)
47
.filter(([k, v]) => v && /^theme[A-Z]/.test(k))
48
.map(([k, v]) => [normalizeKey(k), v])
0 commit comments