diff --git a/src/components/CenterPanel/CenterPanel.tsx b/src/components/CenterPanel/CenterPanel.tsx new file mode 100644 index 0000000..83de4c4 --- /dev/null +++ b/src/components/CenterPanel/CenterPanel.tsx @@ -0,0 +1,47 @@ +import { useQR } from '../../context/QRContext'; +import { QRPreview } from './QRPreview'; +import { DownloadButton } from './DownloadButton'; +import { QRHistory } from './QRHistory'; +import { URLForm } from './forms/URLForm'; +import { TextForm } from './forms/TextForm'; +import { WiFiForm } from './forms/WiFiForm'; +import { EmailForm } from './forms/EmailForm'; +import { SMSForm } from './forms/SMSForm'; +import { ImageForm } from './forms/ImageForm'; +import { PDFForm } from './forms/PDFForm'; +import { MP3Form } from './forms/MP3Form'; +import { AppForm } from './forms/AppForm'; +import { VCardForm } from './forms/VCardForm'; + +const FORM_MAP = { + url: URLForm, text: TextForm, wifi: WiFiForm, email: EmailForm, + sms: SMSForm, image: ImageForm, pdf: PDFForm, mp3: MP3Form, + app: AppForm, vcard: VCardForm, +}; + +export function CenterPanel() { + const { state } = useQR(); + const ActiveForm = FORM_MAP[state.selectedType]; + + return ( +
+
+

Live preview

+
+
+ + +
+
+ +
+

+ Your QR code will generate automatically +

+
+ +
+
+ ); +}