2fef91a548
Full parity with Astro site: content rows, post/tag routes, pagination, event badges + OSM map, comments, Live-Search via /api/search-index, CMS image proxy, RSS, sitemap. Deploy: Dockerfile + docker-compose.prod.yml + Gitea Actions workflow to build + push to git.pm86.de registry and ssh-deploy to Contabo.
34 lines
932 B
Svelte
34 lines
932 B
Svelte
<script lang="ts">
|
|
/**
|
|
* @type {{ label: string; links: { href: string; label: string; active?: boolean }[] }[]}
|
|
*/
|
|
let { groups = [] } = $props();
|
|
</script>
|
|
|
|
<nav aria-label="Seitennavigation" class="w-60 bg-stein-50 p-4">
|
|
{#each groups as group, i}
|
|
<div class="{i > 0 ? 'mt-6' : ''}">
|
|
<p
|
|
class="mb-2 text-xs font-medium uppercase tracking-wider text-stein-500"
|
|
>
|
|
{group.label}
|
|
</p>
|
|
<ul class="space-y-0">
|
|
{#each group.links as link}
|
|
<li>
|
|
<a
|
|
href={link.href}
|
|
class="block rounded-lg px-3 py-2 text-sm {link.active
|
|
? 'bg-wald-50 font-medium text-wald-500'
|
|
: 'text-stein-700 hover:bg-wald-50'}"
|
|
aria-current={link.active ? 'page' : undefined}
|
|
>
|
|
{link.label}
|
|
</a>
|
|
</li>
|
|
{/each}
|
|
</ul>
|
|
</div>
|
|
{/each}
|
|
</nav>
|