fix: errors when `themeColor.fixed` is set to `true` (#160)

Prevent null errors in Navbar.astro by verifying DOM elements before attaching event listeners
This commit is contained in:
Marcos 2024-08-28 04:36:22 +02:00 committed by GitHub
parent 075cb8e10a
commit a6bc4c00b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 22 additions and 12 deletions

View File

@ -84,21 +84,31 @@ function switchTheme() {
function loadButtonScript() {
let switchBtn = document.getElementById("scheme-switch");
switchBtn!.addEventListener("click", function () {
switchTheme()
});
if (switchBtn) {
switchBtn.addEventListener("click", function () {
switchTheme()
});
}
let settingBtn = document.getElementById("display-settings-switch");
settingBtn!.addEventListener("click", function () {
let settingPanel = document.getElementById("display-setting");
settingPanel!.classList.toggle("float-panel-closed");
});
if (settingBtn) {
settingBtn.addEventListener("click", function () {
let settingPanel = document.getElementById("display-setting");
if (settingPanel) {
settingPanel.classList.toggle("float-panel-closed");
}
});
}
let menuBtn = document.getElementById("nav-menu-switch");
menuBtn!.addEventListener("click", function () {
let menuPanel = document.getElementById("nav-menu-panel");
menuPanel!.classList.toggle("float-panel-closed");
});
if (menuBtn) {
menuBtn.addEventListener("click", function () {
let menuPanel = document.getElementById("nav-menu-panel");
if (menuPanel) {
menuPanel.classList.toggle("float-panel-closed");
}
});
}
}
loadButtonScript();
@ -119,4 +129,4 @@ async function loadPagefind() {
pagefind.search('') // speed up the first search
}
loadPagefind()
</script>}
</script>}