feat: add internal_component block type with contact form

InternalComponentBlock dispatches on `component` field value.
ContactFormComponent submits via /api/contact (SvelteKit proxy →
CMS /api/forms/kontakt/submit) with honeypot + client_age_ms.
BlockRenderer and block-types.ts updated accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Peter Meier
2026-05-21 11:01:47 +02:00
parent 50d68a17ca
commit 9e05fbb2ba
5 changed files with 157 additions and 0 deletions
+4
View File
@@ -16,6 +16,7 @@
import CalendarBlock from "./blocks/CalendarBlock.svelte";
import OrganisationsBlock from "./blocks/OrganisationsBlock.svelte";
import OpnFormBlock from "./blocks/OpnFormBlock.svelte";
import InternalComponentBlock from "./blocks/InternalComponentBlock.svelte";
import DeadlineBannerBlock from "./blocks/DeadlineBannerBlock.svelte";
import StrommixBlock from "./blocks/StrommixBlock.svelte";
import WindkarteBlock from "./blocks/WindkarteBlock.svelte";
@@ -39,6 +40,7 @@
CalendarBlockData,
OrganisationsBlockData,
OpnFormBlockData,
InternalComponentBlockData,
DeadlineBannerBlockData,
LiveStrommixBlockData,
WindMapBlockData,
@@ -86,6 +88,8 @@
<OrganisationsBlock block={block as OrganisationsBlockData} />
{:else if type === "opnform"}
<OpnFormBlock block={block as OpnFormBlockData} />
{:else if type === "internal_component"}
<InternalComponentBlock block={block as InternalComponentBlockData} />
{:else if type === "deadline_banner"}
<DeadlineBannerBlock block={block as DeadlineBannerBlockData} />
{:else if type === "live_strommix"}