Add theme switch

This commit is contained in:
2023-01-14 19:52:10 +01:00
parent 54c8028b7a
commit efbd8bc344
4 changed files with 90 additions and 14 deletions
+22
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;
}
}