diff --git a/website/src/routes/[[language]]/help/+layout.server.ts b/website/src/routes/+layout.server.ts similarity index 84% rename from website/src/routes/[[language]]/help/+layout.server.ts rename to website/src/routes/+layout.server.ts index c3bd752b..13a53c63 100644 --- a/website/src/routes/[[language]]/help/+layout.server.ts +++ b/website/src/routes/+layout.server.ts @@ -7,8 +7,8 @@ function getModule(language: string | undefined, guide: string) { [guide, subguide] = guide.split('/'); } return subguide - ? import(`./../../../lib/docs/${language}/${guide}/${subguide}.mdx`) - : import(`./../../../lib/docs/${language}/${guide}.mdx`); + ? import(`./../lib/docs/${language}/${guide}/${subguide}.mdx`) + : import(`./../lib/docs/${language}/${guide}.mdx`); } export async function load({ params }) { diff --git a/website/src/routes/+layout.svelte b/website/src/routes/+layout.svelte index 99df6715..a2efac5d 100644 --- a/website/src/routes/+layout.svelte +++ b/website/src/routes/+layout.svelte @@ -13,6 +13,10 @@ import { goto } from '$app/navigation'; import { getURLForLanguage } from '$lib/utils'; + export let data: { + guideTitles: Record; + }; + const appRoutes = ['/[[language]]/app', '/[[language]]/embed']; onMount(() => { @@ -29,26 +33,20 @@ let lang = $page.params.language.replace('/', ''); if ($locale !== lang) { if (languages.hasOwnProperty(lang)) { - locale.set(lang); + $locale = lang; } else if (browser) { goto(`${base}/404`); } } } else if ($locale !== 'en') { - locale.set('en'); + $locale = 'en'; } } $: if (browser && !$isLoading && $locale) { let title = `gpx.studio — ${$_(`metadata.${$page.route.id?.replace('/[[language]]', '').split('/')[1] ?? 'home'}_title`)}`; if ($page.params.guide) { - const [guide, subguide] = $page.params.guide.split('/'); - const promise = subguide - ? import(`../lib/docs/${$locale ?? 'en'}/${guide}/${subguide}.mdx`) - : import(`../lib/docs/${$locale ?? 'en'}/${guide}.mdx`); - promise.then((module) => { - document.title = `${title} | ${module.metadata.title}`; - }); + document.title = `${title} | ${data.guideTitles[$page.params.guide]}`; } else { document.title = title; } diff --git a/website/src/routes/[[language]]/help/[...guide]/+page.server.ts b/website/src/routes/[[language]]/help/[...guide]/+page.server.ts deleted file mode 100644 index ff7c5538..00000000 --- a/website/src/routes/[[language]]/help/[...guide]/+page.server.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { getNextGuide, getPreviousGuide } from "$lib/components/docs/docs"; - -function getModule(language: string | undefined, guide: string) { - language = language ?? 'en'; - let subguide = undefined; - if (guide.includes('/')) { - [guide, subguide] = guide.split('/'); - } - return subguide - ? import(`./../../../../lib/docs/${language}/${guide}/${subguide}.mdx`) - : import(`./../../../../lib/docs/${language}/${guide}.mdx`); -} - -export async function load({ params }) { - const { guide, language } = params; - - const previousGuide = getPreviousGuide(guide); - const nextGuide = getNextGuide(guide); - - const previousGuideTitle = previousGuide ? (await getModule(language, previousGuide)).metadata.title : undefined; - const nextGuideTitle = nextGuide ? (await getModule(language, nextGuide)).metadata.title : undefined; - - return { - previousGuide, - previousGuideTitle, - nextGuide, - nextGuideTitle - }; -} \ No newline at end of file diff --git a/website/src/routes/[[language]]/help/[...guide]/+page.svelte b/website/src/routes/[[language]]/help/[...guide]/+page.svelte index 80f14a88..cd208645 100644 --- a/website/src/routes/[[language]]/help/[...guide]/+page.svelte +++ b/website/src/routes/[[language]]/help/[...guide]/+page.svelte @@ -1,5 +1,6 @@
@@ -20,23 +21,23 @@
- {#if data.previousGuide} + {#if previousGuide} {/if} - {#if data.nextGuide} + {#if nextGuide} {/if} diff --git a/website/src/routes/[[language]]/help/[...guide]/+page.ts b/website/src/routes/[[language]]/help/[...guide]/+page.ts index f2ddf5ae..84f21089 100644 --- a/website/src/routes/[[language]]/help/[...guide]/+page.ts +++ b/website/src/routes/[[language]]/help/[...guide]/+page.ts @@ -9,13 +9,12 @@ function getModule(language: string | undefined, guide: string) { : import(`./../../../../lib/docs/${language}/${guide}.mdx`); } -export async function load({ data, params }) { +export async function load({ params }) { const { guide, language } = params; const guideModule = await getModule(language, guide); return { guideModule, - ...data, }; } \ No newline at end of file