feat: openapi-fetch typing

feat: base page layout for implementation

todo: fix light/dark mode toggling
This commit is contained in:
2025-08-10 10:50:52 +01:00
parent ce03e2f681
commit 53ea5021d7
10 changed files with 2010 additions and 13 deletions

View File

@@ -0,0 +1,10 @@
<script lang="ts">
import LightDarkMode from './LightDarkMode.svelte';
</script>
<footer class="border-t border-surface-300-600 bg-surface-100-800">
<div class="mx-auto flex w-full max-w-7xl items-center justify-between px-4 py-6 text-sm text-surface-700-300">
<span>Stocklet</span>
<LightDarkMode />
</div>
</footer>

View File

@@ -0,0 +1,26 @@
<script lang="ts">
import { Switch } from '@skeletonlabs/skeleton-svelte';
let checked = $state(false);
$effect(() => {
const mode = localStorage.getItem('mode') || 'light';
checked = mode === 'dark';
});
const onCheckedChange = (event: { checked: boolean }) => {
const mode = event.checked ? 'dark' : 'light';
document.documentElement.setAttribute('data-mode', mode);
localStorage.setItem('mode', mode);
checked = event.checked;
};
</script>
<svelte:head>
<script>
const mode = localStorage.getItem('mode') || 'light';
document.documentElement.setAttribute('data-mode', mode);
</script>
</svelte:head>
<Switch {checked} {onCheckedChange}></Switch>