♻️ [#676] Further optimise appearance.js to reduce code duplication

This commit is contained in:
Daniel Odrinski 2023-05-02 21:16:16 +01:00
parent c6869834ea
commit a660482b24

View file

@ -26,20 +26,19 @@ window.addEventListener("DOMContentLoaded", (event) => {
const switcher = document.getElementById("appearance-switcher"); const switcher = document.getElementById("appearance-switcher");
const switcherMobile = document.getElementById("appearance-switcher-mobile"); const switcherMobile = document.getElementById("appearance-switcher-mobile");
var targetAppearance = document.documentElement.classList.contains("dark") ? "dark" : "light" updateMeta();
updateMeta() this.updateLogo?.(getTargetAppearance());
this.updateLogo?.(targetAppearance)
if (switcher) { if (switcher) {
switcher.addEventListener("click", () => { switcher.addEventListener("click", () => {
document.documentElement.classList.toggle("dark"); document.documentElement.classList.toggle("dark");
var targetAppearance = document.documentElement.classList.contains("dark") ? "dark" : "light" var targetAppearance = getTargetAppearance();
localStorage.setItem( localStorage.setItem(
"appearance", "appearance",
targetAppearance targetAppearance
); );
updateMeta() updateMeta();
this.updateLogo?.(targetAppearance) this.updateLogo?.(targetAppearance);
}); });
switcher.addEventListener("contextmenu", (event) => { switcher.addEventListener("contextmenu", (event) => {
event.preventDefault(); event.preventDefault();
@ -49,13 +48,13 @@ window.addEventListener("DOMContentLoaded", (event) => {
if (switcherMobile) { if (switcherMobile) {
switcherMobile.addEventListener("click", () => { switcherMobile.addEventListener("click", () => {
document.documentElement.classList.toggle("dark"); document.documentElement.classList.toggle("dark");
var targetAppearance = document.documentElement.classList.contains("dark") ? "dark" : "light" var targetAppearance = getTargetAppearance();
localStorage.setItem( localStorage.setItem(
"appearance", "appearance",
targetAppearance targetAppearance
); );
updateMeta() updateMeta();
this.updateLogo?.(targetAppearance) this.updateLogo?.(targetAppearance);
}); });
switcherMobile.addEventListener("contextmenu", (event) => { switcherMobile.addEventListener("contextmenu", (event) => {
event.preventDefault(); event.preventDefault();
@ -88,3 +87,7 @@ var updateLogo = (targetAppearance) => {
} }
{{ end }} {{ end }}
{{- end }} {{- end }}
var getTargetAppearance = () => {
return document.documentElement.classList.contains("dark") ? "dark" : "light"
}