50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
---
|
|
const {} = Astro.props;
|
|
---
|
|
|
|
<script is:inline>
|
|
// Set "light" theme as default
|
|
// if (!localStorage.theme) {
|
|
// localStorage.theme = "light";
|
|
// }
|
|
|
|
if (
|
|
localStorage.theme === "dark" ||
|
|
(!("theme" in localStorage) && window.matchMedia("(prefers-color-scheme: dark)").matches)
|
|
) {
|
|
document.documentElement.classList.add("dark");
|
|
} else {
|
|
document.documentElement.classList.remove("dark");
|
|
}
|
|
|
|
function attachEvent(selector, event, fn) {
|
|
const matches = document.querySelectorAll(selector);
|
|
if (matches && matches.length) {
|
|
matches.forEach((elem) => {
|
|
elem.addEventListener(event, () => fn(elem), false);
|
|
});
|
|
}
|
|
}
|
|
|
|
window.onload = function () {
|
|
attachEvent("[data-aw-toggle-menu]", "click", function (elem) {
|
|
elem.classList.toggle("expanded");
|
|
document.body.classList.toggle("overflow-hidden");
|
|
document.getElementById("menu")?.classList.toggle("hidden");
|
|
});
|
|
|
|
attachEvent("[data-aw-toggle-color-scheme]", "click", function (elem) {
|
|
document.documentElement.classList.toggle("dark");
|
|
localStorage.theme = document.documentElement.classList.contains("dark") ? "dark" : "light";
|
|
});
|
|
};
|
|
window.onpageshow = function () {
|
|
const elem = document.querySelector("[data-aw-toggle-menu]");
|
|
if (elem) {
|
|
elem.classList.remove("expanded");
|
|
}
|
|
document.body.classList.remove("overflow-hidden");
|
|
document.getElementById("menu")?.classList.add("hidden");
|
|
};
|
|
</script>
|