feat: automatically detect language on server and translate UI (#530)

* feat: detect language on the server and translate page

* translate auth pages

* PR reviews
This commit is contained in:
Rotimi Best
2024-12-28 23:11:55 +01:00
committed by GitHub
parent 1f1ee8afd3
commit 381776f388
24 changed files with 431 additions and 232 deletions
+7 -6
View File
@@ -1,6 +1,8 @@
<script lang="ts">
import { browser } from '$app/environment';
import { page } from '$app/stores';
import debounce from 'lodash/debounce';
import Apps from '$lib/components/Apps/index.svelte';
import { course } from '$lib/components/Course/store';
import OrgNavigation from '$lib/components/Navigation/app.svelte';
@@ -22,7 +24,6 @@
import { globalStore } from '$lib/utils/store/app';
import { currentOrg } from '$lib/utils/store/org';
import { isMobile } from '$lib/utils/store/useMobile';
import { user } from '$lib/utils/store/user';
import { Theme } from 'carbon-components-svelte';
import type { CarbonTheme } from 'carbon-components-svelte/types/Theme/Theme.svelte';
import merge from 'lodash/merge';
@@ -42,6 +43,8 @@
isMobile.update(() => window.innerWidth <= 760);
}
const getProfileDebounced = debounce(getProfile, 1000);
onMount(() => {
console.log(
'Welcome to ClassroomIO, we are grateful you chose us.',
@@ -77,18 +80,15 @@
}
// Skip Authentication
if (data.skipAuth || $user.fetchingUser) return;
if (data.skipAuth) return;
// Authentication Steps
if (event === 'SIGNED_IN' || event === 'INITIAL_SESSION') {
$user.fetchingUser = true;
getProfile({
getProfileDebounced({
path,
queryParam,
isOrgSite: data.isOrgSite,
orgSiteName: data.orgSiteName
}).then(() => {
$user.fetchingUser = false;
});
}
// else if (!['TOKEN_REFRESHED'].includes(event)) {
@@ -125,6 +125,7 @@
<Theme bind:theme={carbonTheme} />
<UpgradeModal />
<Snackbar />
{#if data.org?.is_restricted || $currentOrg.is_restricted}