diff --git a/backend/routes/default/frontend.data.js b/backend/routes/default/frontend.data.js index 82ea938..687cf5b 100644 --- a/backend/routes/default/frontend.data.js +++ b/backend/routes/default/frontend.data.js @@ -51,6 +51,7 @@ export const confirmUser = async (username) => { EMail Varchar(100) NOT NULL, Telefonnummer Varchar(100) NOT NULL, Lose INT NOT NULL, + Schokolade BOOLEAN NOT NULL, Firmenname Varchar(100), Vorname_Geschaeftlich Varchar(100), Nachname_Geschaeftlich Varchar(100), @@ -93,7 +94,7 @@ export const newEntry = async (formData, username, prizeDraw) => { const tableName = confirmation.tableName; const [result] = await pool.query( - `INSERT INTO ?? (Verlosung, Vorname, Nachname, EMail, Telefonnummer, Lose, Firmenname, Vorname_Geschaeftlich, Nachname_Geschaeftlich, EMail_Geschaeftlich, Telefonnummer_Geschaeftlich, Strasse_Hausnr, Plz_Ort, Zahlungsmethode) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, + `INSERT INTO ?? (Verlosung, Vorname, Nachname, EMail, Telefonnummer, Lose, Schokolade, Firmenname, Vorname_Geschaeftlich, Nachname_Geschaeftlich, EMail_Geschaeftlich, Telefonnummer_Geschaeftlich, Strasse_Hausnr, Plz_Ort, Zahlungsmethode) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [ tableName, prizeDraw, @@ -102,6 +103,7 @@ export const newEntry = async (formData, username, prizeDraw) => { formData.email, formData.phoneNumber, formData.tickets, + formData.chocolates, formData.companyName, formData.cmpFirstName, formData.cpmLastName, diff --git a/frontend/src/config/interfaces.config.ts b/frontend/src/config/interfaces.config.ts index 2445779..8cb1397 100644 --- a/frontend/src/config/interfaces.config.ts +++ b/frontend/src/config/interfaces.config.ts @@ -46,6 +46,7 @@ export const createFormSchema = ( email: z.email(t("email-error")), phoneNumber: z.string(t("phone-error")).refine(validator.isMobilePhone), tickets: z.number(t("ticket-error")).min(1), + chocolates: z.boolean(t("chocolates-error")), companyName: invoice ? z.string().min(1, t("name-error")) : z.string().optional(), diff --git a/frontend/src/pages/MainForm.tsx b/frontend/src/pages/MainForm.tsx index ab40baf..0a38064 100644 --- a/frontend/src/pages/MainForm.tsx +++ b/frontend/src/pages/MainForm.tsx @@ -73,6 +73,7 @@ export const MainForm = () => { email: "", phoneNumber: "", tickets: 1, + chocolates: false, companyName: "", cmpFirstName: "", cpmLastName: "", @@ -316,7 +317,7 @@ export const MainForm = () => { )} - {/* Tickets + Invoice toggle */} + {/* Tickets + Invoice + Chocolate toggle */}
{t("tickets")} @@ -349,7 +350,7 @@ export const MainForm = () => { }} -
+
{ @@ -368,6 +369,16 @@ export const MainForm = () => { label={t("invoice")} variant="outlined" /> + + {(field) => ( + field.handleChange(e.target.checked)} + label={t("chocolates")} + variant="outlined" + /> + )} +
diff --git a/frontend/src/utils/i18n/locales/de/de.json b/frontend/src/utils/i18n/locales/de/de.json index ceffc37..f4d65ff 100644 --- a/frontend/src/utils/i18n/locales/de/de.json +++ b/frontend/src/utils/i18n/locales/de/de.json @@ -35,5 +35,7 @@ "name-error": "Sie müssen einen Namen eingeben!", "email-error": "Sie müssen eine gültige E-Mail Adresse eingeben!", "phone-error": "Sie müssen eine gültige Telefonnummer eingeben!", - "footer-headline": "Dieses System wurde vollständig konzipiert und entwickelt von Theis Gaedigk. - Portfolio: " + "footer-headline": "Dieses System wurde vollständig konzipiert und entwickelt von Theis Gaedigk. - Portfolio: ", + "chocolates": "Schokoladen", + "chocolates-error": "Dieses Feld kann nur wahr oder falsch sein." } \ No newline at end of file diff --git a/frontend/src/utils/i18n/locales/en/en.json b/frontend/src/utils/i18n/locales/en/en.json index e2c55b3..22eae1c 100644 --- a/frontend/src/utils/i18n/locales/en/en.json +++ b/frontend/src/utils/i18n/locales/en/en.json @@ -36,5 +36,7 @@ "name-error": "You have to enter a name!", "email-error": "You have to enter a valid E-Mail adress!", "phone-error": "You have to enter a vaild phone number!", - "footer-headline": "This system was fully designed and developed by Theis Gaedigk. - Portfolio: " + "footer-headline": "This system was fully designed and developed by Theis Gaedigk. - Portfolio: ", + "chocolates": "Chocolates", + "chocolates-error": "This field can only be true or false." } \ No newline at end of file