preload all guide titles

This commit is contained in:
vcoppe committed 2024-09-23 15:21:01 +02:00
1 parent c02d96e90f
commit bcc29480c7
7 files changed
+48 -37

No files matched your search

@@ -0,0 +1,29 @@
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
};
}
@@ -9,9 +9,9 @@
export let data: {
guideModule: any;
previousGuide: string | undefined;
previousGuideModule: any;
previousGuideTitle: string | undefined;
nextGuide: string | undefined;
nextGuideModule: any;
nextGuideTitle: string | undefined;
};
</script>
@@ -27,9 +27,7 @@
href={getURLForLanguage($locale, `/help/${data.previousGuide}`)}
>
<ChevronLeft size="14" class="mr-1 mt-0.5" />
{#await data.previousGuideModule then guideModule}
{guideModule.metadata.title}
{/await}
{data.previousGuideTitle}
</Button>
{/if}
{#if data.nextGuide}
@@ -38,9 +36,7 @@
class="ml-auto"
href={getURLForLanguage($locale, `/help/${data.nextGuide}`)}
>
{#await data.nextGuideModule then guideModule}
{guideModule.metadata.title}
{/await}
{data.nextGuideTitle}
<ChevronRight size="14" class="ml-1 mt-0.5" />
</Button>
{/if}
@@ -1,5 +1,3 @@
import { getNextGuide, getPreviousGuide } from "$lib/components/docs/docs";
function getModule(language: string | undefined, guide: string) {
language = language ?? 'en';
let subguide = undefined;
@@ -11,17 +9,13 @@ function getModule(language: string | undefined, guide: string) {
: import(`./../../../../lib/docs/${language}/${guide}.mdx`);
}
export async function load({ params }) {
export async function load({ data, params }) {
const { guide, language } = params;
const previousGuide = getPreviousGuide(guide);
const nextGuide = getNextGuide(guide);
const guideModule = await getModule(language, guide);
return {
guideModule: await getModule(language, guide),
previousGuide,
previousGuideModule: previousGuide ? getModule(language, previousGuide) : undefined,
nextGuide,
nextGuideModule: nextGuide ? getModule(language, nextGuide) : undefined,
guideModule,
...data,
};
}