Move themeToggle script into layout

This commit is contained in:
thiloho
2025-05-09 12:30:49 +02:00
parent dad5a26942
commit b9e6bcd653
3 changed files with 17 additions and 18 deletions

View File

@@ -55,7 +55,6 @@ const { title, description } = Astro.props;
}; };
setTheme(); setTheme();
document.addEventListener("astro:after-swap", setTheme); document.addEventListener("astro:after-swap", setTheme);
</script> </script>
</head> </head>

View File

@@ -34,20 +34,3 @@ const routes = ["blog", "tracks"];
</div> </div>
</div> </div>
</nav> </nav>
<script>
const setToggleListener = () => {
const toggleBtn = document.querySelector("#theme-toggle");
toggleBtn?.addEventListener("click", () => {
const element = document.documentElement;
element.classList.toggle("dark");
const isDark = element.classList.contains("dark");
localStorage.setItem("theme", isDark ? "dark" : "light");
});
};
setToggleListener();
document.addEventListener("astro:after-swap", setToggleListener);
</script>

View File

@@ -30,3 +30,20 @@ const { title, description, pubDate, modDate, slug } = Astro.props;
<Footer /> <Footer />
</body> </body>
</html> </html>
<script>
const setToggleListener = () => {
const toggleBtn = document.querySelector("#theme-toggle");
toggleBtn?.addEventListener("click", () => {
const element = document.documentElement;
element.classList.toggle("dark");
const isDark = element.classList.contains("dark");
localStorage.setItem("theme", isDark ? "dark" : "light");
});
};
setToggleListener();
document.addEventListener("astro:after-swap", setToggleListener);
</script>