diff options
| author | Fuwn <[email protected]> | 2024-01-21 02:51:25 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-21 02:51:25 -0800 |
| commit | 9d9ff0fce5bedcfe42d65d032aba4f4aec9653dc (patch) | |
| tree | 7987edd352353c570b5c1bdd3208c8b78a97153e /src | |
| parent | refactor(settings): use typed localiser (diff) | |
| download | due.moe-9d9ff0fce5bedcfe42d65d032aba4f4aec9653dc.tar.xz due.moe-9d9ff0fce5bedcfe42d65d032aba4f4aec9653dc.zip | |
fix(layout): locale reactivity
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/Settings/SettingCheckboxToggle.svelte | 7 | ||||
| -rw-r--r-- | src/routes/+layout.svelte | 11 |
2 files changed, 7 insertions, 11 deletions
diff --git a/src/lib/Settings/SettingCheckboxToggle.svelte b/src/lib/Settings/SettingCheckboxToggle.svelte index 87f5b330..a2af0d25 100644 --- a/src/lib/Settings/SettingCheckboxToggle.svelte +++ b/src/lib/Settings/SettingCheckboxToggle.svelte @@ -8,7 +8,7 @@ export let sectionBreak = false; export let disabled = false; - export let text: string; + export let text: string | (() => string); export let setting: SettingsBooleanKeys[keyof SettingsBooleanKeys]; export let lineBreak = true; export let onChange: () => void = () => { @@ -17,6 +17,7 @@ export let invert = false; $: checked = invert ? !$settings[setting] : $settings[setting]; + $: field = text instanceof Function ? text() : text; // const toggler = (key: keyof Settings) => [ // () => @@ -58,11 +59,11 @@ > {#if disabled} <strike> - {@html text} + {field} </strike> <slot /> {:else} - {@html text} + {field} <slot /> {/if} </span> diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 505096b9..6a0163d2 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -13,7 +13,7 @@ import Notification from '$lib/Notification/Notification.svelte'; import Root from '$lib/Home/Root.svelte'; import root from '$lib/Utility/root'; - import { addMessages, init, _ } from 'svelte-i18n'; + import { addMessages, init, _, locale } from 'svelte-i18n'; import english from '$lib/Locale/english'; import japanese from '$lib/Locale/japanese'; import type { LocaleDictionary } from '$lib/Locale/layout'; @@ -22,14 +22,9 @@ addMessages('en', english as unknown as LocaleDictionary); addMessages('ja', japanese as unknown as LocaleDictionary); + init({ fallbackLocale: 'en', initialLocale: $settings.displayLanguage }); - $: { - // import(`../lib/Locale/${$settings.displayLanguage}`).then((module) => { - // addMessages($settings.displayLanguage, module.default); - // }); - - init({ fallbackLocale: 'en', initialLocale: $settings.displayLanguage }); - } + $: locale.set($settings.displayLanguage); let currentUserIdentity = { name: '', |