since3-portal/modules/templates/catalog/blocks/registry.tsx
2026-10-11 18:22:32 +02:00

52 lines
2.5 KiB
TypeScript

"use client"
import type { ComponentType } from "react"
import { Statement, StoryKapitel, TextBild } from "./about"
import { Laufband, Wortmaske } from "./accents"
import { FooterSchlicht, FooterWortmarke } from "./footer"
import { NavGlas, NavLeiste, NavMasthead } from "./navigation"
import { CtaPortal, Faq, KontaktFormular, Pakete } from "./offer"
import { AblaufLinie, AblaufSpalten } from "./process"
import { Logos, StimmenWand, StimmenZitat, Team, Zahlen } from "./proof"
import { LeistungenBento, LeistungenKarten, LeistungenPanels } from "./services"
import { HeroAurora, HeroEditorial, HeroKinetik, HeroKino, HeroVollbild } from "./start"
import type { BlockProps } from "./types"
import { GalerieKarussell, ProjekteIndex, ProjekteQuerlauf } from "./work"
type BlockComponent = ComponentType<BlockProps>
// Typ → Komponente; Felder und Standardinhalte stehen in definitions.ts (gleiche Schlüssel)
export const blockComponents: Record<string, BlockComponent> = {
"nav-leiste": NavLeiste as BlockComponent,
"nav-glas": NavGlas as BlockComponent,
"nav-masthead": NavMasthead as BlockComponent,
"hero-kino": HeroKino as BlockComponent,
"hero-vollbild": HeroVollbild as BlockComponent,
"hero-aurora": HeroAurora as BlockComponent,
"hero-editorial": HeroEditorial as BlockComponent,
"hero-kinetik": HeroKinetik as BlockComponent,
statement: Statement as BlockComponent,
"story-kapitel": StoryKapitel as BlockComponent,
"text-bild": TextBild as BlockComponent,
"leistungen-panels": LeistungenPanels as BlockComponent,
"leistungen-bento": LeistungenBento as BlockComponent,
"leistungen-karten": LeistungenKarten as BlockComponent,
"projekte-querlauf": ProjekteQuerlauf as BlockComponent,
"projekte-index": ProjekteIndex as BlockComponent,
"galerie-karussell": GalerieKarussell as BlockComponent,
"ablauf-linie": AblaufLinie as BlockComponent,
"ablauf-spalten": AblaufSpalten as BlockComponent,
zahlen: Zahlen as BlockComponent,
logos: Logos as BlockComponent,
"stimmen-zitat": StimmenZitat as BlockComponent,
"stimmen-wand": StimmenWand as BlockComponent,
team: Team as BlockComponent,
pakete: Pakete as BlockComponent,
faq: Faq as BlockComponent,
"cta-portal": CtaPortal as BlockComponent,
"kontakt-formular": KontaktFormular as BlockComponent,
laufband: Laufband as BlockComponent,
wortmaske: Wortmaske as BlockComponent,
"footer-wortmarke": FooterWortmarke as BlockComponent,
"footer-schlicht": FooterSchlicht as BlockComponent,
}