Skip to content

Commit 44c9744

Browse files
committed
Theme persistent
1 parent f76e8d2 commit 44c9744

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

src/lib/components/ThemeSwapper.svelte

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
11
<script>
2-
const daisyThemes = ["bright-caramel", "dark-caramel"];
3-
let {fill = "fill-primary-content"} = $props();
2+
import { onMount } from "svelte";
3+
4+
let { fill = "fill-primary-content" } = $props();
5+
let themeCheck = $state(false);
6+
let theme = $derived(themeCheck ? "dark-caramel" : "bright-caramel");
7+
8+
onMount(() => {
9+
themeCheck = localStorage.getItem("theme") == "true";
10+
});
411
</script>
512

613
<label class="swap swap-rotate">
714
<!-- this hidden checkbox controls the state -->
8-
<input type="checkbox" class="theme-controller" value={daisyThemes[1]} />
9-
15+
<input
16+
type="checkbox"
17+
class="theme-controller"
18+
onchange={() => {
19+
localStorage.setItem("theme", String(themeCheck));
20+
}}
21+
bind:checked={themeCheck}
22+
value={theme}
23+
/>
24+
1025
<!-- Darkmode: Snow -->
1126
<svg
1227
xmlns="http://www.w3.org/2000/svg"
@@ -29,5 +44,4 @@
2944
d="M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z"
3045
/>
3146
</svg>
32-
3347
</label>

0 commit comments

Comments
 (0)