webcompile/src/lib/ThemeToggle.svelte

30 lines
694 B
Svelte
Raw Normal View History

<script lang="ts">
import { afterUpdate } from "svelte";
import DarkMode from "svelte-dark-mode";
2022-09-16 19:35:27 +05:30
let theme: "dark" | "light";
afterUpdate(() => {
document.documentElement.className = theme;
});
let toggle = () => {
theme = theme === "dark" ? "light" : "dark";
};
</script>
<DarkMode bind:theme />
<button on:click={toggle} class="cursor-pointer flex items-center py-1 px-0 bg-transparent border-0 font-[var(--font-primary)] color-[var(--text)]">
2022-09-25 15:20:05 +05:30
<div class="i-fa6-solid:{theme === "dark" ? "sun" : "moon"}" />
<span class="ml-2">Toggle theme</span>
</button>
<style>
@media screen and (min-width: 900px) {
span {
display: none;
margin-left: 0.25rem;
}
}
</style>