aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-21 02:51:25 -0800
committerFuwn <[email protected]>2024-01-21 02:51:25 -0800
commit9d9ff0fce5bedcfe42d65d032aba4f4aec9653dc (patch)
tree7987edd352353c570b5c1bdd3208c8b78a97153e /src
parentrefactor(settings): use typed localiser (diff)
downloaddue.moe-9d9ff0fce5bedcfe42d65d032aba4f4aec9653dc.tar.xz
due.moe-9d9ff0fce5bedcfe42d65d032aba4f4aec9653dc.zip
fix(layout): locale reactivity
Diffstat (limited to 'src')
-rw-r--r--src/lib/Settings/SettingCheckboxToggle.svelte7
-rw-r--r--src/routes/+layout.svelte11
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: '',