feat: dark mode switch and svg logo

This commit is contained in:
Itsigo
2024-04-15 17:27:44 +02:00
parent b0b9af408f
commit dd548e36a3
8 changed files with 282 additions and 43 deletions

View File

@@ -1,41 +1,73 @@
// HTMX event listener
document.addEventListener("DOMContentLoaded", (event) => {
document.body.addEventListener("htmx:beforeSwap", function (evt) {
if (evt.detail.xhr.status === 422) {
evt.detail.shouldSwap = true;
evt.detail.isError = false;
}
});
document.body.addEventListener("htmx:beforeSwap", function(evt) {
if (evt.detail.xhr.status === 422) {
evt.detail.shouldSwap = true;
evt.detail.isError = false;
}
});
document.body.addEventListener("HPUpdated", function () {
var input = document.getElementById("damageInput");
input.value = "";
input.removeAttribute("aria-invalid");
document.body.addEventListener("HPUpdated", function() {
var input = document.getElementById("damageInput");
input.value = "";
input.removeAttribute("aria-invalid");
var errorMessage = document.getElementById("damageError");
if (errorMessage) {
errorMessage.parentNode.removeChild(errorMessage);
}
var errorMessage = document.getElementById("damageError");
if (errorMessage) {
errorMessage.parentNode.removeChild(errorMessage);
}
var savingthrow = document.getElementById("savingthrow");
savingthrow.checked = false;
});
var savingthrow = document.getElementById("savingthrow");
savingthrow.checked = false;
});
document.body.addEventListener("ManaUpdated", function () {
var input = document.getElementById("manaInput");
input.value = "";
input.removeAttribute("aria-invalid");
document.body.addEventListener("ManaUpdated", function() {
var input = document.getElementById("manaInput");
input.value = "";
input.removeAttribute("aria-invalid");
var errorMessage = document.getElementById("manaError");
if (errorMessage) {
errorMessage.parentNode.removeChild(errorMessage);
}
});
var errorMessage = document.getElementById("manaError");
if (errorMessage) {
errorMessage.parentNode.removeChild(errorMessage);
}
});
document.body.addEventListener("BaseUpdated", function() {
var errorMessage = document.getElementById("baseError");
if (errorMessage) {
errorMessage.parentNode.removeChild(errorMessage);
}
});
document.body.addEventListener("BaseUpdated", function () {
var errorMessage = document.getElementById("baseError");
if (errorMessage) {
errorMessage.parentNode.removeChild(errorMessage);
}
});
});
// theme switching
let atr = 'data-theme';
let localTheme = localStorage.getItem(atr)
if (localTheme) {
setTheme(localTheme);
}
// if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches && localTheme == null) {
// // dark mode
// setTheme('dark');
// }
function toggleColorMode() {
let el = document.documentElement;
let atr_data = el.getAttribute(atr);
if (atr_data == 'light') {
setTheme('dark');
} else {
setTheme('light');
}
}
function setTheme(theme) {
let el = document.documentElement;
el.getAttribute(atr);
el.setAttribute(atr, theme);
localStorage.setItem(atr, theme)
}