b2e271c3ea
CI / update (push) Successful in 4m10s
Dependencies upgraded: - svelte 5.38→5.55, @sveltejs/kit 2.37→2.56, adapter-node 5.3→5.5 - mongoose 8→9, sharp 0.33→0.34, typescript 5→6 - lucide-svelte → @lucide/svelte 1.7 (Svelte 5 native package) - vite 7→8 with rolldown (build time 33s→14s) - Removed terser (esbuild/oxc default minifier is 20-100x faster) Infrastructure: - Removed Redis/ioredis cache layer — MongoDB handles caching natively - Deleted src/lib/server/cache.ts and all cache.get/set/invalidate usage - Removed redis-cli from deploy workflow, Redis env vars from .env.example Mongoose 9 migration: - Replaced deprecated `new: true` with `returnDocument: 'after'` (16 files) - Fixed strict query filter types for ObjectId/paymentId fields - Fixed season param type (string→number) in recipe API - Removed unused @ts-expect-error in WorkoutSession model
39 lines
885 B
Svelte
39 lines
885 B
Svelte
<script>
|
|
import { themeStore } from '$lib/stores/theme.svelte';
|
|
import { Sun, Moon, SunMoon } from '@lucide/svelte';
|
|
</script>
|
|
|
|
<style>
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0.3em;
|
|
border-radius: 100px;
|
|
background: transparent;
|
|
color: var(--nav-text);
|
|
cursor: pointer;
|
|
transition: all 150ms;
|
|
border: 1px solid var(--nav-btn-border);
|
|
}
|
|
button:hover {
|
|
color: var(--nav-text-hover);
|
|
border-color: var(--nav-btn-border-hover);
|
|
background: var(--nav-hover-bg);
|
|
}
|
|
</style>
|
|
|
|
<button
|
|
onclick={() => themeStore.cycle()}
|
|
aria-label="Toggle theme ({themeStore.theme})"
|
|
title="Theme: {themeStore.theme}"
|
|
>
|
|
{#if themeStore.theme === 'light'}
|
|
<Sun size={14} strokeWidth={2} />
|
|
{:else if themeStore.theme === 'dark'}
|
|
<Moon size={14} strokeWidth={2} />
|
|
{:else}
|
|
<SunMoon size={14} strokeWidth={2} />
|
|
{/if}
|
|
</button>
|