diff options
Diffstat (limited to 'src/routes/__layout.svelte')
| -rw-r--r-- | src/routes/__layout.svelte | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte index 5ffdc9a0..8ac6f20f 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/__layout.svelte @@ -1,6 +1,8 @@ <script> import { SvelteToast } from '@zerodevx/svelte-toast'; - import '../app.css'; + import '$lib/i18n'; + import { isLoading, locale } from 'svelte-i18n'; + import '../app.css'; import { onMount } from 'svelte'; import { connect } from '$lib/socket'; import { user, token } from '$lib/store'; @@ -15,6 +17,14 @@ let ready = false; onMount(() => { + // get locale from local storage + let localStorageLocale = localStorage.getItem('svelte-i18n-locale'); + if (localStorageLocale) locale.set(localStorageLocale); + + locale.subscribe((lng) => { + if (lng) localStorage.setItem('svelte-i18n-locale', lng); + }); + if (protectedRoutes.find((p) => $page.url.pathname.match(p))) { if (!$token) { goto('/login'); @@ -29,7 +39,7 @@ }); </script> -{#if ready} +{#if ready && !$isLoading} <SvelteToast options={{ reversed: true, intro: { y: 192 } }} /> <slot /> {:else} |
