Konfiguration von Seiten-Verknüpfungen nach Gespräch mit Marc geändert.

This commit is contained in:
2022-06-16 09:48:18 +02:00
parent 706ec88576
commit d8e4f9c902
10 changed files with 197 additions and 103 deletions

View File

@@ -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) => {

View File

@@ -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>