appearance.js
26 lines
| 1 | const isLightMode = () => { |
| 2 | return document.body.classList.contains('iawp-light-mode') || prefersLightMode() |
| 3 | } |
| 4 | |
| 5 | const isDarkMode = () => { |
| 6 | return document.body.classList.contains('iawp-dark-mode') || prefersDarkMode() |
| 7 | } |
| 8 | |
| 9 | const prefersLightMode = () => { |
| 10 | return !document.body.classList.contains('iawp-light-mode') |
| 11 | && !document.body.classList.contains('iawp-dark-mode') |
| 12 | && window.matchMedia |
| 13 | && window.matchMedia('(prefers-color-scheme: light)').matches |
| 14 | } |
| 15 | |
| 16 | const prefersDarkMode = () => { |
| 17 | return !document.body.classList.contains('iawp-light-mode') |
| 18 | && !document.body.classList.contains('iawp-dark-mode') |
| 19 | && window.matchMedia |
| 20 | && window.matchMedia('(prefers-color-scheme: dark)').matches |
| 21 | } |
| 22 | |
| 23 | module.exports = { |
| 24 | isLightMode, |
| 25 | isDarkMode, |
| 26 | } |