diff --git a/src/lib/block-types.ts b/src/lib/block-types.ts index cc6add3..fe83350 100644 --- a/src/lib/block-types.ts +++ b/src/lib/block-types.ts @@ -45,6 +45,12 @@ export interface HeadlineBlockData { _slug?: string; tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; text?: string; + /** SectionHeader: Label über dem Titel (uppercase). Gesetzt → Headline rendert als Sektionskopf. */ + kicker?: string; + /** SectionHeader: Index vor dem Kicker, z.B. "03". */ + number?: string; + /** SectionHeader: CTA-Link (aufgelöst: url, linkName). */ + action?: string | { url?: string; linkName?: string; newTab?: boolean }; align?: "left" | "center" | "right"; layout?: BlockLayout; } diff --git a/src/lib/components/SectionHeader.svelte b/src/lib/components/SectionHeader.svelte index f64c3ff..0637c65 100644 --- a/src/lib/components/SectionHeader.svelte +++ b/src/lib/components/SectionHeader.svelte @@ -51,9 +51,9 @@ {/if} - + - {title} + {#each title.split('\n') as line, i}{#if i > 0}
{/if}{line}{/each}
{#if subtitle} diff --git a/src/lib/components/blocks/HeadlineBlock.stories.ts b/src/lib/components/blocks/HeadlineBlock.stories.ts index af7a9e7..b947c85 100644 --- a/src/lib/components/blocks/HeadlineBlock.stories.ts +++ b/src/lib/components/blocks/HeadlineBlock.stories.ts @@ -36,3 +36,15 @@ export const MitUmbruch: Story = { }, }, }; + +// Sobald kicker/action gesetzt → Headline rendert als SectionHeader. +export const AlsSektionskopf: Story = { + args: { + block: { + tag: 'h2', + text: 'Wir sind keine Lobby,\nkeine Partei, keine NGO.', + kicker: 'Über uns', + action: { url: '/about', linkName: 'Mehr über uns' }, + }, + }, +}; diff --git a/src/lib/components/blocks/HeadlineBlock.svelte b/src/lib/components/blocks/HeadlineBlock.svelte index f20a2da..3867dd2 100644 --- a/src/lib/components/blocks/HeadlineBlock.svelte +++ b/src/lib/components/blocks/HeadlineBlock.svelte @@ -1,10 +1,21 @@
- - {#each lines as line, i}{#if i > 0}
{/if}{line}{/each} -
+ {#if useSection} + + {:else} + + {#each lines as line, i}{#if i > 0}
{/if}{line}{/each} +
+ {/if}