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