mirror of
https://github.com/saicaca/fuwari.git
synced 2026-01-12 07:12:52 +01:00
feat: option to follow the system-wide light/dark mode (#71)
This commit is contained in:
@@ -17,3 +17,28 @@ export function setHue(hue: number): void {
|
||||
}
|
||||
r.style.setProperty('--hue', hue)
|
||||
}
|
||||
|
||||
export const LIGHT_MODE = 'light', DARK_MODE = 'dark', AUTO_MODE = 'auto'
|
||||
|
||||
export function setTheme(theme: string): void {
|
||||
localStorage.setItem('theme', theme)
|
||||
switch (theme) {
|
||||
case LIGHT_MODE:
|
||||
document.documentElement.classList.remove('dark');
|
||||
break
|
||||
case DARK_MODE:
|
||||
document.documentElement.classList.add('dark');
|
||||
break
|
||||
case AUTO_MODE:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.documentElement.classList.add('dark');
|
||||
} else {
|
||||
document.documentElement.classList.remove('dark');
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
export function getStoredTheme(): string {
|
||||
return localStorage.getItem('theme') || AUTO_MODE
|
||||
}
|
||||
Reference in New Issue
Block a user