Skip to content

Commit 2f287e7

Browse files
authored
Merge pull request #44 from remotemobprogramming/improve-darkmode
adjust darkmode javscript
2 parents 34b36d6 + 0855313 commit 2f287e7

File tree

1 file changed

+2
-37
lines changed

1 file changed

+2
-37
lines changed

src/main/resources/public/darkmode.js

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,12 @@
77
(() => {
88
'use strict'
99

10-
const storedTheme = localStorage.getItem('theme')
11-
1210
const getPreferredTheme = () => {
13-
if (storedTheme) {
14-
return storedTheme
15-
}
16-
1711
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
1812
}
1913

2014
const setTheme = function (theme) {
21-
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
15+
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
2216
document.documentElement.setAttribute('data-bs-theme', 'dark')
2317
} else {
2418
document.documentElement.setAttribute('data-bs-theme', theme)
@@ -27,36 +21,7 @@
2721

2822
setTheme(getPreferredTheme())
2923

30-
const showActiveTheme = theme => {
31-
const activeThemeIcon = document.querySelector('.theme-icon-active use')
32-
const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`)
33-
const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href')
34-
35-
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
36-
element.classList.remove('active')
37-
})
38-
39-
btnToActive.classList.add('active')
40-
activeThemeIcon.setAttribute('href', svgOfActiveBtn)
41-
}
42-
4324
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
44-
if (storedTheme !== 'light' || storedTheme !== 'dark') {
45-
setTheme(getPreferredTheme())
46-
}
47-
})
48-
49-
window.addEventListener('DOMContentLoaded', () => {
50-
showActiveTheme(getPreferredTheme())
51-
52-
document.querySelectorAll('[data-bs-theme-value]')
53-
.forEach(toggle => {
54-
toggle.addEventListener('click', () => {
55-
const theme = toggle.getAttribute('data-bs-theme-value')
56-
localStorage.setItem('theme', theme)
57-
setTheme(theme)
58-
showActiveTheme(theme)
59-
})
60-
})
25+
setTheme(getPreferredTheme())
6126
})
6227
})()

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy