From b2bd3587bfd42ec8efdab12f090996f600720c0d Mon Sep 17 00:00:00 2001 From: Leo Goetz Date: Fri, 8 May 2026 15:43:50 +0200 Subject: inital commit --- src/app/page.tsx | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 src/app/page.tsx (limited to 'src/app/page.tsx') diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..aed6b8d --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,155 @@ +"use client"; +import VCardExport from "@/components/VCardExport"; +import VCardForm from "@/components/VCardForm"; +import { useState } from "react"; +import { SelectionItem } from "@/lib/definitions"; + +export default function Home() { + // Declare and initialize selection array + const [section, setSection] = useState("form"); + const [selection, setSelection] = useState([ + { + field: "Vorname", + value: "", + placeholder: "Max", + required: true, + }, + { + field: "Nachname", + value: "", + placeholder: "Mustermann", + required: true, + }, + { + field: "Spitzname", + value: "", + placeholder: "Maxi", + required: false, + }, + { + field: "Email", + value: "", + placeholder: "max@example.com", + required: false, + }, + { + field: "Telefonnummer (Zuhause)", + value: "", + placeholder: "+49 123 456789", + required: false, + }, + { + field: "Telefonnummer (Mobile)", + value: "", + placeholder: "+49 123 456789", + required: false, + }, + { + field: "Telefonnummer (Arbeit)", + value: "", + placeholder: "+49 123 456789", + required: false, + }, + { + field: "Land", + value: "", + placeholder: "Deutschland", + required: false, + }, + { + field: "Ort", + value: "", + placeholder: "Musterstadt", + required: false, + }, + { + field: "Straße", + value: "", + placeholder: "Musterstraße 1", + required: false, + }, + { + field: "Postleitzahl", + value: "", + placeholder: "12345", + required: false, + }, + { + field: "Geburtstag", + value: "", + placeholder: "1990-01-01 (jahr-monat-tag)", + required: false, + }, + { + field: "Firma", + value: "", + placeholder: "Beispiel GmbH", + required: false, + }, + { + field: "Abteilung", + value: "", + placeholder: "Entwicklung", + required: false, + }, + { + field: "Berufsbezeichnung", + value: "", + placeholder: "Softwareentwickler", + required: false, + }, + { + field: "Rolle im Unternehmen", + value: "", + placeholder: "Projektleiter", + required: false, + }, + { + field: "Homepage/Persönliche Webseite", + value: "", + placeholder: "https://example.com", + required: false, + }, + { + field: "Notizen", + value: "", + placeholder: "Zusätzliche Informationen...", + required: false, + }, + ]); + const [vcardData, setVcardData] = useState(""); + + // Setting value for field when value changes + const handleValueChange = (field: string, value: string) => { + setSelection((prev) => + prev.map((item) => (item.field === field ? { ...item, value } : item)), + ); + }; + + const handleSectionChange = (section: string) => { + setSection(section); + }; + + return ( +
+

Leo's VCard Generator

+ {/* Show Component based on section */} +
+ {section == "form" && ( + setVcardData(data)} + /> + )} + {section == "export" && ( + + )} +
+
+ ); +} -- cgit v1.3.1