fix some URLs

This commit is contained in:
vcoppe
2024-08-16 12:51:55 +02:00
parent fa30739fd0
commit 49582dcddd
3 changed files with 13 additions and 7 deletions

View File

@@ -26,16 +26,22 @@
</Select.Trigger> </Select.Trigger>
<Select.Content> <Select.Content>
{#each Object.entries(languages) as [lang, label]} {#each Object.entries(languages) as [lang, label]}
<a href={getURLForLanguage(lang)}> {#if $page.url.pathname.includes('404')}
<Select.Item value={lang}>{label}</Select.Item> <a href={getURLForLanguage(lang, '/')}>
</a> <Select.Item value={lang}>{label}</Select.Item>
</a>
{:else}
<a href={getURLForLanguage(lang, $page.url.pathname)}>
<Select.Item value={lang}>{label}</Select.Item>
</a>
{/if}
{/each} {/each}
</Select.Content> </Select.Content>
</Select.Root> </Select.Root>
<!-- hidden links for svelte crawling --> <!-- hidden links for svelte crawling -->
<div class="hidden"> <div class="hidden">
{#if $page.url.pathname !== '/404'} {#if !$page.url.pathname.includes('404')}
{#each Object.entries(languages) as [lang, label]} {#each Object.entries(languages) as [lang, label]}
<a href={getURLForLanguage(lang, $page.url.pathname)}> <a href={getURLForLanguage(lang, $page.url.pathname)}>
{label} {label}

View File

@@ -367,7 +367,7 @@
<Menubar.SubContent> <Menubar.SubContent>
<Menubar.RadioGroup bind:value={$locale}> <Menubar.RadioGroup bind:value={$locale}>
{#each Object.entries(languages) as [lang, label]} {#each Object.entries(languages) as [lang, label]}
<a href={getURLForLanguage(lang)}> <a href={getURLForLanguage(lang, '/app')}>
<Menubar.RadioItem value={lang}>{label}</Menubar.RadioItem> <Menubar.RadioItem value={lang}>{label}</Menubar.RadioItem>
</a> </a>
{/each} {/each}

View File

@@ -122,8 +122,8 @@ export function setScissorsCursor() {
setCursor(scissorsCursor); setCursor(scissorsCursor);
} }
export function getURLForLanguage(lang: string | null | undefined, path?: string): string { export function getURLForLanguage(lang: string | null | undefined, path: string): string {
let newPath = path ?? (browser ? window.location.pathname.replace(base, '') : ''); let newPath = path.replace(base, '');
let languageInPath = newPath.split('/')[1]; let languageInPath = newPath.split('/')[1];
if (!languages.hasOwnProperty(languageInPath)) { if (!languages.hasOwnProperty(languageInPath)) {
languageInPath = 'en'; languageInPath = 'en';