Files
wishlist/src/lib/components/ui/language-toggle/LanguageToggle.svelte
2026-03-15 21:02:57 +00:00

33 lines
790 B
Svelte

<script lang="ts">
import { languageStore } from '$lib/stores/language.svelte';
import { languages } from '$lib/i18n/translations';
import Dropdown from '$lib/components/ui/Dropdown.svelte';
import { Languages } from '@lucide/svelte';
let { color }: { color?: string | null } = $props();
const languageItems = $derived(
languages.map((lang) => ({
value: lang.code,
label: lang.name
}))
);
function setLanguage(code: string) {
languageStore.setLanguage(code as 'en' | 'da');
}
</script>
<Dropdown
items={languageItems}
selectedValue={languageStore.current}
onSelect={setLanguage}
{color}
showCheckmark={false}
ariaLabel="Toggle language"
>
{#snippet icon()}
<Languages class="h-[1.2rem] w-[1.2rem]" />
{/snippet}
</Dropdown>