preliminary work for old theme re-implementation
This commit is contained in:
parent
ee8bce1bd3
commit
8fc7eff67b
41 changed files with 456 additions and 415 deletions
24
_src/assets/js/theme.js
Normal file
24
_src/assets/js/theme.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
const basePath = "/assets/css";
|
||||
const themeToggle = document.getElementById("theme-toggle");
|
||||
const themeStylesheet = document.getElementById("custom");
|
||||
|
||||
const themes = [
|
||||
{ name: "system", file: "default/system.css" },
|
||||
{ name: "citrus", file: "citrus/citrus.css" },
|
||||
];
|
||||
|
||||
let currentTheme = localStorage.getItem("theme") || themes[0].name;
|
||||
setTheme(currentTheme);
|
||||
|
||||
function setTheme(themeName) {
|
||||
const theme = themes.find(t => t.name === themeName);
|
||||
if (theme) {
|
||||
themeStylesheet.href = `${basePath}/${theme.file}`;
|
||||
}
|
||||
}
|
||||
|
||||
themeToggle.addEventListener("click", () => {
|
||||
currentTheme = themes[(themes.findIndex(t => t.name === currentTheme) + 1) % themes.length].name;
|
||||
setTheme(currentTheme);
|
||||
localStorage.setItem("theme", currentTheme);
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue