mirror of
https://github.com/zadam/trilium.git
synced 2026-01-07 15:14:24 +01:00
git-subtree-dir: packages/share-theme git-subtree-mainline: d8f0709bce891a8ebc0676bb3b6b5314bf78a129 git-subtree-split: 2cdd2a0a543f0bced8284ca55bc94efadbc7c91f
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
const preference = localStorage.getItem("theme");
|
|
if (preference) {
|
|
if (preference === "dark") {
|
|
document.body.classList.add("theme-dark");
|
|
document.body.classList.remove("theme-light");
|
|
}
|
|
else {
|
|
document.body.classList.remove("theme-dark");
|
|
document.body.classList.add("theme-light");
|
|
}
|
|
}
|
|
|
|
export default function setupThemeSelector() {
|
|
const themeSwitch: HTMLInputElement = document.querySelector(".theme-selection input")!;
|
|
|
|
if (preference) {
|
|
const themeSelection: HTMLDivElement = document.querySelector(".theme-selection")!;
|
|
themeSelection.classList.add("no-transition");
|
|
themeSwitch.checked = preference === "dark";
|
|
setTimeout(() => themeSelection.classList.remove("no-transition"), 400);
|
|
}
|
|
|
|
themeSwitch?.addEventListener("change", () => {
|
|
if (themeSwitch.checked) {
|
|
document.body.classList.add("theme-dark");
|
|
document.body.classList.remove("theme-light");
|
|
localStorage.setItem("theme", "dark");
|
|
}
|
|
else {
|
|
document.body.classList.remove("theme-dark");
|
|
document.body.classList.add("theme-light");
|
|
localStorage.setItem("theme", "light");
|
|
}
|
|
});
|
|
} |