-
-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy paththemetoggle.js
More file actions
24 lines (22 loc) · 779 Bytes
/
themetoggle.js
File metadata and controls
24 lines (22 loc) · 779 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const pydocthemeDark = document.getElementById('pydoctheme_dark_css')
const pygmentsDark = document.getElementById('pygments_dark_css')
const themeSelectors = document.getElementsByClassName('theme-selector')
function activateTheme(theme) {
localStorage.setItem('currentTheme', theme);
[...themeSelectors].forEach(e => e.value = theme)
switch (theme) {
case 'light':
pydocthemeDark.media = 'not all'
pygmentsDark.media = 'not all'
break;
case 'dark':
pydocthemeDark.media = 'all'
pygmentsDark.media = 'all'
break;
default:
// auto
pydocthemeDark.media = '(prefers-color-scheme: dark)'
pygmentsDark.media = '(prefers-color-scheme: dark)'
}
}
activateTheme(localStorage.getItem('currentTheme') || 'auto')