Konfiguration von Seiten-Verknüpfungen nach Gespräch mit Marc geändert.
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
import { generalInfo, currentLang, location } from "../../store"
|
||||
import { navigate } from "svelte-routing"
|
||||
|
||||
import Image from "../widgets/Image.svelte"
|
||||
import ArticlesList from "../widgets/ArticlesList.svelte"
|
||||
import ArticleDetails from "../routes/ArticleDetails.svelte"
|
||||
|
||||
@@ -14,7 +13,6 @@
|
||||
let content: Content
|
||||
let article: TibiArticle
|
||||
let connectedContentNotFound: boolean = false
|
||||
$: currentDomain = window.location.protocol + "//" + window.location.host
|
||||
|
||||
const loadContent = (type?: string) => {
|
||||
// Set default API call filter
|
||||
@@ -29,9 +27,9 @@
|
||||
}
|
||||
|
||||
// Changed filter to find simmilar content for changed language
|
||||
if (type === "changedLanguage" && content?.tags) {
|
||||
if (type === "changedLanguage" && content?.pages) {
|
||||
filter = {
|
||||
tags: { $in: content?.tags },
|
||||
_id: { $in: content?.pages },
|
||||
locale: $currentLang,
|
||||
}
|
||||
delete filter.path
|
||||
@@ -118,6 +116,12 @@
|
||||
content = null
|
||||
article = null
|
||||
|
||||
// Update current language when lang in URL not equal to current language
|
||||
let pathParts = window.location.pathname.split("/")
|
||||
if (pathParts.length > 3 && $currentLang !== pathParts[1]) {
|
||||
$currentLang = pathParts[1]
|
||||
}
|
||||
|
||||
if (window.location.pathname.endsWith("/")) {
|
||||
loadContent()
|
||||
} else {
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
{/if}
|
||||
</svelte:head>
|
||||
|
||||
<ArticlesList tags="{['home']}" />
|
||||
<ArticlesList pages="{['/']}" />
|
||||
|
||||
<GeneralMediaImage id="test1" />
|
||||
<!-- <GeneralMediaImage id="test1" /> -->
|
||||
|
||||
<!-- <ContactForm type="recipe" collapsed="{expandedForm !== 'recipe'}" /> -->
|
||||
<!-- <ContactForm type="contact" collapsed="{expandedForm !== 'contact'}" /> -->
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
import Article from "../widgets/Article.svelte"
|
||||
|
||||
export let tags: string[] = null
|
||||
export let pages: string[] = null
|
||||
export let path: string = null
|
||||
|
||||
let articleEntries: CollectionEntry[] = []
|
||||
@@ -15,11 +16,15 @@
|
||||
}
|
||||
|
||||
if (tags && tags?.length) {
|
||||
filter["article.general.tags"] = { $in: tags }
|
||||
filter["article.assignments.tags"] = { $in: tags }
|
||||
}
|
||||
|
||||
if (pages && pages?.length) {
|
||||
filter["article.assignments.pages"] = { $in: pages }
|
||||
}
|
||||
|
||||
if (path) {
|
||||
filter["article.general.pages"] = { $in: [path] }
|
||||
filter["article.assignments.pages"] = { $in: [path] }
|
||||
}
|
||||
|
||||
getArticles("articles", { filter }).then((response) => {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import Icon from "mdi-svelte"
|
||||
import { mdiMenu } from "@mdi/js"
|
||||
|
||||
import { links } from "svelte-routing"
|
||||
import { links, link } from "svelte-routing"
|
||||
import { navigations, currentLang, location } from "../../store"
|
||||
|
||||
import LanguageChooser from "./LanguageChooser.svelte"
|
||||
@@ -28,21 +28,33 @@
|
||||
{#if navigation}
|
||||
<nav class="{ident}" use:links>
|
||||
{#each navigation?.items || [] as item}
|
||||
{#if item.settings.url.url}
|
||||
<a
|
||||
href="{item.settings.url.url}"
|
||||
target="{item.settings.url.target}"
|
||||
on:click="{() => {
|
||||
animateScroll.scrollTo({ element: item.settings.url.url, offset: -200 })
|
||||
showMobileNav = false
|
||||
}}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
{:else}
|
||||
<a href="{item.settings.page + '/'}" class:active="{'/' + item.settings.page === $location.path}">
|
||||
{item.settings.title}
|
||||
</a>
|
||||
{#if !item.settings.url.hidden}
|
||||
{#if item.settings.url.url}
|
||||
{#if item.settings.url.target === "default"}
|
||||
<a
|
||||
use:link
|
||||
href="{item.settings.url.url}"
|
||||
class:active="{'/' + item.settings.page === $location.path}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
{:else}
|
||||
<a
|
||||
href="{item.settings.url.url}"
|
||||
target="{item.settings.url.target}"
|
||||
on:click="{() => {
|
||||
animateScroll.scrollTo({ element: item.settings.url.url, offset: -200 })
|
||||
showMobileNav = false
|
||||
}}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
{/if}
|
||||
{:else}
|
||||
<a href="{item.settings.page + '/'}" class:active="{'/' + item.settings.page === $location.path}">
|
||||
{item.settings.title}
|
||||
</a>
|
||||
{/if}
|
||||
{/if}
|
||||
{/each}
|
||||
</nav>
|
||||
@@ -54,29 +66,41 @@
|
||||
|
||||
<nav class="{ident}-mobile" class:show="{showMobileNav}" use:links>
|
||||
{#each navigation?.items || [] as item}
|
||||
{#if item.settings.url.url}
|
||||
<div class="nav-item">
|
||||
<a
|
||||
href="{item.settings.url.url}"
|
||||
target="{item.settings.url.target}"
|
||||
on:click="{() => {
|
||||
animateScroll.scrollTo({ element: item.settings.url.url, offset: -200 })
|
||||
showMobileNav = false
|
||||
}}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="nav-item">
|
||||
<a
|
||||
href="{item.settings.page + '/'}"
|
||||
on:click="{() => (showMobileNav = false)}"
|
||||
class:active="{'/' + item.settings.page === $location.path}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
</div>
|
||||
{#if !item.settings.url.hidden}
|
||||
{#if item.settings.url.url}
|
||||
{#if item.settings.url.target === "default"}
|
||||
<a
|
||||
use:link
|
||||
href="{item.settings.url.url}"
|
||||
class:active="{'/' + item.settings.page === $location.path}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
{:else}
|
||||
<div class="nav-item">
|
||||
<a
|
||||
href="{item.settings.url.url}"
|
||||
target="{item.settings.url.target}"
|
||||
on:click="{() => {
|
||||
animateScroll.scrollTo({ element: item.settings.url.url, offset: -200 })
|
||||
showMobileNav = false
|
||||
}}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
</div>
|
||||
{/if}
|
||||
{:else}
|
||||
<div class="nav-item">
|
||||
<a
|
||||
href="{item.settings.page + '/'}"
|
||||
on:click="{() => (showMobileNav = false)}"
|
||||
class:active="{'/' + item.settings.page === $location.path}"
|
||||
>
|
||||
{item.settings.title}
|
||||
</a>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
{/each}
|
||||
</nav>
|
||||
|
||||
Reference in New Issue
Block a user