aboutsummaryrefslogtreecommitdiffstats
path: root/apps/kit/src
diff options
context:
space:
mode:
Diffstat (limited to 'apps/kit/src')
-rw-r--r--apps/kit/src/lib/locale.ts9
-rw-r--r--apps/kit/src/routes/(public)/+layout.svelte3
-rw-r--r--apps/kit/src/routes/(public)/login/+page.svelte11
-rw-r--r--apps/kit/src/routes/+layout.svelte7
-rw-r--r--apps/kit/src/routes/+layout.ts9
-rw-r--r--apps/kit/src/routes/+page.svelte1
6 files changed, 32 insertions, 8 deletions
diff --git a/apps/kit/src/lib/locale.ts b/apps/kit/src/lib/locale.ts
index 002f874..e1fb6d6 100644
--- a/apps/kit/src/lib/locale.ts
+++ b/apps/kit/src/lib/locale.ts
@@ -1,3 +1,5 @@
+import {setLocale} from "src/lib/i18n/i18n-svelte";
+import {loadLocaleAsync} from "src/lib/i18n/i18n-util.async";
import {writable} from "svelte/store";
import {base_domain, CookieNames} from "./configuration";
import {get_cookie, set_cookie} from "./helpers";
@@ -12,9 +14,14 @@ export function preffered_or_default() {
return "en";
}
-type Locales = "en"|"nb";
+type Locales = "en" | "nb";
export const currentLocale = writable<Locales>((get_cookie(CookieNames.locale) === "preffered" ? preffered_or_default() : get_cookie(CookieNames.locale) ?? preffered_or_default()) as Locales);
currentLocale.subscribe(locale => {
// @ts-ignore
set_cookie(CookieNames.locale, locale, base_domain());
});
+
+export async function load_and_set_locale(locale: Locales) {
+ await loadLocaleAsync(locale);
+ setLocale(locale);
+}
diff --git a/apps/kit/src/routes/(public)/+layout.svelte b/apps/kit/src/routes/(public)/+layout.svelte
index 1301e50..84cd442 100644
--- a/apps/kit/src/routes/(public)/+layout.svelte
+++ b/apps/kit/src/routes/(public)/+layout.svelte
@@ -1,6 +1,3 @@
<script>
- import {setLocale} from "$lib/i18n/i18n-svelte";
-
- setLocale("nb");
</script>
<slot></slot> \ No newline at end of file
diff --git a/apps/kit/src/routes/(public)/login/+page.svelte b/apps/kit/src/routes/(public)/login/+page.svelte
index 800575e..36230e3 100644
--- a/apps/kit/src/routes/(public)/login/+page.svelte
+++ b/apps/kit/src/routes/(public)/login/+page.svelte
@@ -2,23 +2,26 @@
import {goto} from "$app/navigation";
import {login} from "$lib/api/user";
import LL from "$lib/i18n/i18n-svelte";
+ import {setLocale} from "$lib/i18n/i18n-svelte";
+ import {loadLocaleAsync} from "$lib/i18n/i18n-util.async";
import type {ErrorResult} from "$lib/models/ErrorResult";
import type {LoginPayload} from "$lib/models/LoginPayload";
const data = {
username: "",
- password: ""
+ password: "",
} as LoginPayload;
+
let error = {
text: "",
- title: ""
+ title: "",
} as ErrorResult;
async function submitFormAsync() {
error = {text: "", title: ""};
const loginResponse = await login(data);
if (loginResponse.ok) {
- await goto("/home")
+ await goto("/home");
} else {
error.title = loginResponse.data.title;
error.text = loginResponse.data.text;
@@ -34,7 +37,7 @@
class="font-medium text-indigo-600 hover:text-indigo-500">{$LL.login.createANewAccount()}</a>
</p>
</div>
-
+ <button on:click={async () => {await loadLocaleAsync("nb"); setLocale("nb")}}>Norge</button>
<div class="mt-8 sm:mx-auto sm:w-full sm:max-w-md">
<div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10">
{#if error.text || error.title}
diff --git a/apps/kit/src/routes/+layout.svelte b/apps/kit/src/routes/+layout.svelte
index ee76da9..688673b 100644
--- a/apps/kit/src/routes/+layout.svelte
+++ b/apps/kit/src/routes/+layout.svelte
@@ -3,6 +3,12 @@
import {afterNavigate, beforeNavigate, goto} from "$app/navigation";
import {is_active} from "$lib/session";
import type {Navigation} from "@sveltejs/kit";
+ import {setLocale} from "$lib/i18n/i18n-svelte";
+ import {onMount} from "svelte";
+ import type {LayoutData} from "./$types";
+
+ export let data: LayoutData;
+ onMount(() => setLocale(data.locale));
async function redirect_if_necessary(ticket: Navigation) {
const sessionIsValid = await is_active();
@@ -20,4 +26,5 @@
afterNavigate(redirect_if_necessary);
beforeNavigate(redirect_if_necessary);
</script>
+
<slot></slot> \ No newline at end of file
diff --git a/apps/kit/src/routes/+layout.ts b/apps/kit/src/routes/+layout.ts
new file mode 100644
index 0000000..de8a5c0
--- /dev/null
+++ b/apps/kit/src/routes/+layout.ts
@@ -0,0 +1,9 @@
+import type {Locales} from "$lib/i18n/i18n-types";
+import {loadLocaleAsync} from "$lib/i18n/i18n-util.async";
+import type {LayoutLoad} from "./$types";
+
+export const load: LayoutLoad<{ locale: Locales }> = async ({url, params}) => {
+ let lang = "en" as Locales;
+ await loadLocaleAsync(lang);
+ return {locale: lang};
+}; \ No newline at end of file
diff --git a/apps/kit/src/routes/+page.svelte b/apps/kit/src/routes/+page.svelte
new file mode 100644
index 0000000..ca15e44
--- /dev/null
+++ b/apps/kit/src/routes/+page.svelte
@@ -0,0 +1 @@
+<p class="text-bold p-1">Hold on...</p> \ No newline at end of file