Anki/ts/routes/reviewer-inner/+page.svelte
2025-09-28 01:47:30 +01:00

30 lines
1.2 KiB
Svelte

<script lang="ts">
import "../../reviewer/reviewer.scss";
addEventListener("message", (e) => {
switch (e.data.type) {
case "html":
document.body.innerHTML = e.data.value;
break;
case "nightMode":
// This method currently "Flashbangs" the user if they have nightmode on and is a placeholder
// I will probably use #night-mode in the url.
const root = document.querySelector("html")!;
const nightMode = e.data.value;
if (e.data.value) {
root.classList.add("night-mode");
} else {
root.classList.remove("night-mode");
}
document.body.className = nightMode ? "nightMode card" : "card";
root.className = nightMode ? "night-mode" : "";
root.setAttribute("data-bs-theme", nightMode ? "dark" : "light");
break;
default:
console.warn(`Unknown message type: ${e.data.type}`);
break;
}
});
window.parent.postMessage({ type: "ready" });
</script>