import type { ComponentType } from "react"; import { FeedbackForm } from "@/components/qr-forms/feedback-form"; import { ImageForm } from "@/components/qr-forms/image-form"; import { LinksForm } from "@/components/qr-forms/links-form"; import { PaymentForm } from "@/components/qr-forms/payment-form"; import { PdfForm } from "@/components/qr-forms/pdf-form"; import { AppForm, EmailForm, LocationForm, SmsForm, WhatsappForm, WifiForm, } from "@/components/qr-forms/simple-forms"; import { SocialForm } from "@/components/qr-forms/social-form"; import type { QrFormProps } from "@/components/qr-forms/types"; import { VCardForm } from "@/components/qr-forms/vcard-form"; import { VideoForm } from "@/components/qr-forms/video-form"; import { WebsiteForm } from "@/components/qr-forms/website-form"; import type { QrTypeId } from "@/lib/qr/type-module"; /** * Zuordnung QR-Typ → Formular-Komponente. * * Gegenstück zur Typ-Registry in `src/lib/qr/registry.ts`: dort liegt die * Logik (Validierung, Kodierung), hier die Eingabemaske. Ein neuer Typ * braucht genau einen zusätzlichen Eintrag an beiden Stellen. */ export const qrForms: Partial>> = { website: WebsiteForm, vcard: VCardForm, app: AppForm, links: LinksForm, social: SocialForm, pdf: PdfForm, image: ImageForm, feedback: FeedbackForm, video: VideoForm, whatsapp: WhatsappForm, email: EmailForm, sms: SmsForm, location: LocationForm, payment: PaymentForm, wifi: WifiForm, }; export type { QrFormProps };