[Fix] hamburger undefined

This commit is contained in:
2026-08-09 06:08:56 +02:00
parent 26d1295006
commit 740a90536d
+15 -10
View File
@@ -5,11 +5,11 @@ window.addEventListener("DOMContentLoaded", () => {
const themeBtn = getById("theme-switcher"); const themeBtn = getById("theme-switcher");
const hamburger = getByClass("hamburger"); const hamburger = getByClass("hamburger");
const hamburgerIcon = hamburger.children[0] const hamburgerIcon = hamburger?.children[0];
const menu = document.getElementsByTagName("nav")[0]; const menu = document.getElementsByTagName("nav")[0];
const imgs = document.getElementsByTagName("img"); const imgs = document.getElementsByTagName("img");
const main = document.getElementsByTagName("main")[0]; const main = document.getElementsByTagName("main")[0];
const isMenuOpen = () => hamburger.classList.contains("open"); const isMenuOpen = () => hamburger?.classList.contains("open");
const theme = window.localStorage.getItem("theme"); const theme = window.localStorage.getItem("theme");
/* Functions */ /* Functions */
@@ -47,7 +47,7 @@ window.addEventListener("DOMContentLoaded", () => {
/* Listeners */ /* Listeners */
window.addEventListener("resize", () => isMenuOpen() && closeMenu()); window.addEventListener("resize", () => isMenuOpen() && closeMenu());
main.addEventListener("click", () => isMenuOpen() && closeMenu()); if (main) main.addEventListener("click", () => isMenuOpen() && closeMenu());
/* Language persistence */ /* Language persistence */
const currentLang = document.documentElement.lang || "sr"; const currentLang = document.documentElement.lang || "sr";
@@ -71,15 +71,20 @@ window.addEventListener("DOMContentLoaded", () => {
}); });
hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu()); hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu());
themeBtn.addEventListener("click", () => { if (themeBtn) {
const title = themeBtn.getAttribute("title") ?? "off" themeBtn.addEventListener("click", () => {
if (title.indexOf("off") !== -1) changeToDarkTheme(); const title = themeBtn.getAttribute("title") ?? "off"
else changeToLightTheme(); if (title.indexOf("off") !== -1) changeToDarkTheme();
}); else changeToLightTheme();
});
}
/* Rest */ /* Rest */
const userPerfersDark = window?.matchMedia?.("(prefers-color-scheme: dark)").matches const userPerfersDark = window?.matchMedia?.("(prefers-color-scheme: dark)").matches
if (!theme && userPerfersDark) changeToDarkTheme(); if (themeBtn) {
else theme === "light" ? changeToLightTheme() : changeToDarkTheme(); if (!theme && userPerfersDark) changeToDarkTheme();
else if (theme === "light") changeToLightTheme();
else if (!theme && !userPerfersDark) changeToDarkTheme();
}
}) })