diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-10-03 10:45:26 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-10-03 10:45:26 +0200 |
| commit | 38a07e3dfbda798010cc7f219abec911f747eaf7 (patch) | |
| tree | e29b069da1ae242fb8b529c6585167888513b107 /apps/kit/src/lib/components | |
| parent | 91ecf0296bfcae7b2233a199bd2e5ae13e89927d (diff) | |
| download | greatoffice-38a07e3dfbda798010cc7f219abec911f747eaf7.tar.xz greatoffice-38a07e3dfbda798010cc7f219abec911f747eaf7.zip | |
feat: Fully functioning i18n
Diffstat (limited to 'apps/kit/src/lib/components')
| -rw-r--r-- | apps/kit/src/lib/components/locale-switcher.svelte | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/kit/src/lib/components/locale-switcher.svelte b/apps/kit/src/lib/components/locale-switcher.svelte index 1f9eb37..477e2d7 100644 --- a/apps/kit/src/lib/components/locale-switcher.svelte +++ b/apps/kit/src/lib/components/locale-switcher.svelte @@ -1,16 +1,25 @@ <script lang="ts"> import { browser } from "$app/environment"; import { page } from "$app/stores"; + import { CookieNames } from "$lib/configuration"; + import { set_cookie } from "$lib/helpers"; import { setLocale, locale } from "$lib/i18n/i18n-svelte"; import type { Locales } from "$lib/i18n/i18n-types"; import { locales } from "$lib/i18n/i18n-util"; import { loadLocaleAsync } from "$lib/i18n/i18n-util.async"; + import Cookies from "js-cookie"; const switchLocale = async (newLocale: Locales) => { if (!newLocale || $locale === newLocale) return; await loadLocaleAsync(newLocale); setLocale(newLocale); document.querySelector("html")?.setAttribute("lang", newLocale); + set_cookie(CookieNames.locale, newLocale); + Cookies.set(CookieNames.locale, newLocale, { + sameSite: "strict", + domain: location.hostname, + }); + console.log("Switched to: " + newLocale); }; $: if (browser) { @@ -21,11 +30,7 @@ <ul> {#each locales as aLocale} <li> - <button - type="button" - class:active={aLocale === $locale} - on:click={() => switchLocale(aLocale)} - > + <button type="button" class:active={aLocale === $locale} on:click={() => switchLocale(aLocale)}> {aLocale} </button> </li> |
