Add theme switch

This commit is contained in:
2023-01-14 19:52:10 +01:00
parent 3a078e0195
commit 56d58a7ea2
4 changed files with 90 additions and 14 deletions

View File

@ -0,0 +1,22 @@
export function getTheme():string {
return localStorage.getItem("theme") ?? "dark";
}
export function setTheme(theme:string):void {
if (theme !== "dark" && theme !== "light") { theme = "dark"; }
localStorage.setItem("theme", theme);
}
export function flipTheme():void {
setTheme(getTheme() === "dark" ? "light" : "dark");
}
export function applyTheme(theme?:string):void {
if (!theme) { theme = getTheme(); }
switch (theme) {
case "dark": document.documentElement.classList.add("dark"); break;
case "light": document.documentElement.classList.remove("dark"); break;
default: document.documentElement.classList.add("dark"); break;
}
}