forked from cms/tibi-svelte-starter
Navigation und Content-Pages so angepasst, dass über einen Language-Chooser die Sprache der Seite gewechselt werden kann und automatisch auch der reload der Content-Page angestoßen wird.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { navigate } from "svelte-routing"
|
||||
import { navigations, location, currentLang } from "../../store"
|
||||
|
||||
$: languages = []
|
||||
@@ -12,19 +13,21 @@
|
||||
languages = languages
|
||||
}
|
||||
|
||||
$: console.log($location)
|
||||
const setLanguage = (lang: string) => {
|
||||
let path = $location.path.split("/")
|
||||
path[1] = lang
|
||||
|
||||
$location.path = path.join("/")
|
||||
$currentLang = lang
|
||||
|
||||
navigate($location.path + $location.search, { replace: true })
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="language-chooser">
|
||||
{#each languages as language}
|
||||
<div
|
||||
class="lang"
|
||||
class:active="{$currentLang === language}"
|
||||
on:click="{() => {
|
||||
$currentLang = language
|
||||
}}"
|
||||
>
|
||||
{language}
|
||||
{#each languages as lang}
|
||||
<div class="lang" class:active="{$currentLang === lang}" on:click="{() => setLanguage(lang)}">
|
||||
{lang}
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user