diff --git a/src/lib/block-types.ts b/src/lib/block-types.ts index c0ace94..0dbc5e9 100644 --- a/src/lib/block-types.ts +++ b/src/lib/block-types.ts @@ -469,7 +469,7 @@ export type CalendarBlockData = Omit< }; /** Internal component block (_type: "internal_component"). */ -export type InternalComponentId = "form-contact"; +export type InternalComponentId = "form-contact" | "form-mitmachen"; export interface InternalComponentBlockData { _type?: "internal_component"; diff --git a/src/lib/components/blocks/InternalComponentBlock.svelte b/src/lib/components/blocks/InternalComponentBlock.svelte index c9fe302..8bf76c5 100644 --- a/src/lib/components/blocks/InternalComponentBlock.svelte +++ b/src/lib/components/blocks/InternalComponentBlock.svelte @@ -2,6 +2,7 @@ import { getBlockLayoutClasses } from "$lib/block-layout"; import type { InternalComponentBlockData } from "$lib/block-types"; import ContactFormComponent from "$lib/components/internal/ContactFormComponent.svelte"; + import MitmachenFormComponent from "$lib/components/internal/MitmachenFormComponent.svelte"; let { block }: { block: InternalComponentBlockData } = $props(); @@ -12,6 +13,8 @@
{#if component === "form-contact"} + {:else if component === "form-mitmachen"} + {:else}

Unbekannte interne Komponente: {component}

{/if} diff --git a/src/lib/components/internal/MitmachenFormComponent.svelte b/src/lib/components/internal/MitmachenFormComponent.svelte new file mode 100644 index 0000000..54110dd --- /dev/null +++ b/src/lib/components/internal/MitmachenFormComponent.svelte @@ -0,0 +1,389 @@ + + +{#if formState === "success"} +
+

{t(T.mitmachen_success_title)}

+

{t(T.mitmachen_success_body)}

+
+{:else} +
+ + + +
+ +
+ +
+