feat(layout): add global announcement banner above nav
Deploy / verify (push) Successful in 1m12s
Deploy / deploy (push) Successful in 1m6s

Adds AnnouncementBanner component fed by a new top_banner CMS entry
(site-announcement). Extended top_banner schema and TS types with
optional link + linkLabel fields. Rendered inline-markdown text.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Peter Meier
2026-05-08 21:56:42 +02:00
parent 8db68e073c
commit ef163fb336
5 changed files with 70 additions and 0 deletions
+4
View File
@@ -6,6 +6,7 @@
import HeaderOverlay from '$lib/components/HeaderOverlay.svelte';
import Footer from '$lib/components/Footer.svelte';
import TopBanner from '$lib/components/TopBanner.svelte';
import AnnouncementBanner from '$lib/components/AnnouncementBanner.svelte';
import TranslationProvider from '$lib/components/TranslationProvider.svelte';
import Breadcrumbs from '$lib/ui/Breadcrumbs.svelte';
import type { LayoutData } from './$types';
@@ -291,6 +292,9 @@
class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[100] focus:bg-white focus:px-3 focus:py-2 focus:shadow focus:outline focus:outline-2 focus:outline-wald-600 focus:rounded-xs"
>Zum Inhalt springen</a>
<div class="flex min-h-screen flex-col text-stein-900">
{#if data.announcementBanner}
<AnnouncementBanner banner={data.announcementBanner} />
{/if}
{#if pageData?.preview || pageData?.previewDraft}
<div
class="sticky top-0 z-[90] w-full bg-erde-500 text-black shadow-sm"