File: themetoggle.js

package info (click to toggle)
python-docs-theme 2025.9.2-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 244 kB
  • sloc: javascript: 150; python: 146; makefile: 26
file content (24 lines) | stat: -rw-r--r-- 779 bytes parent folder | download | duplicates (2)
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')