fix: add required email and country fields to checkout

- Add email field (required) for order confirmation
- Add phone field in contact info section
- Add country dropdown with regional options
- Add validation for email format and required fields
- Add checkoutEmailUpdate mutation call before completing
- Use selected country instead of hardcoded RS
- Add translations for new fields (EN, SR, DE, FR)
This commit is contained in:
Unchained
2026-03-25 10:50:42 +02:00
parent 4fcd4b3ba8
commit ef83538d0b
5 changed files with 144 additions and 15 deletions

View File

@@ -340,7 +340,12 @@
},
"Checkout": {
"checkout": "Kasse",
"contactInfo": "Kontaktinformationen",
"email": "E-Mail",
"emailRequired": "Erforderlich für Bestellbestätigung",
"phoneRequired": "Erforderlich für Lieferkoordination",
"shippingAddress": "Lieferadresse",
"country": "Land",
"firstName": "Vorname",
"lastName": "Nachname",
"streetAddress": "Straße und Nummer",
@@ -364,6 +369,8 @@
"yourCartEmpty": "Ihr Warenkorb ist leer",
"continueShopping": "Weiter einkaufen",
"errorNoCheckout": "Keine aktive Kasse. Bitte versuchen Sie es erneut.",
"errorEmailRequired": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
"errorFieldsRequired": "Bitte füllen Sie alle erforderlichen Felder aus.",
"errorOccurred": "Ein Fehler ist during des Checkouts aufgetreten.",
"errorCreatingOrder": "Bestellung konnte nicht erstellt werden.",
"orderConfirmed": "Bestellung bestätigt!",

View File

@@ -386,7 +386,12 @@
},
"Checkout": {
"checkout": "Checkout",
"contactInfo": "Contact Information",
"email": "Email",
"emailRequired": "Required for order confirmation",
"phoneRequired": "Required for delivery coordination",
"shippingAddress": "Shipping Address",
"country": "Country",
"firstName": "First Name",
"lastName": "Last Name",
"streetAddress": "Street Address",
@@ -410,6 +415,8 @@
"yourCartEmpty": "Your cart is empty",
"continueShopping": "Continue Shopping",
"errorNoCheckout": "No active checkout. Please try again.",
"errorEmailRequired": "Please enter a valid email address.",
"errorFieldsRequired": "Please fill in all required fields.",
"errorOccurred": "An error occurred during checkout.",
"errorCreatingOrder": "Failed to create order.",
"orderConfirmed": "Order Confirmed!",

View File

@@ -340,7 +340,12 @@
},
"Checkout": {
"checkout": "Commande",
"contactInfo": "Coordonnées",
"email": "E-mail",
"emailRequired": "Requis pour la confirmation de commande",
"phoneRequired": "Requis pour la coordination de livraison",
"shippingAddress": "Adresse de Livraison",
"country": "Pays",
"firstName": "Prénom",
"lastName": "Nom",
"streetAddress": "Rue et Numéro",
@@ -364,6 +369,8 @@
"yourCartEmpty": "Votre panier est vide",
"continueShopping": "Continuer les Achats",
"errorNoCheckout": "Pas de paiement actif. Veuillez réessayer.",
"errorEmailRequired": "Veuillez entrer une adresse e-mail valide.",
"errorFieldsRequired": "Veuillez remplir tous les champs obligatoires.",
"errorOccurred": "Une erreur s'est produite lors du paiement.",
"errorCreatingOrder": "Échec de la création de la commande.",
"orderConfirmed": "Commande Confirmée!",

View File

@@ -386,7 +386,12 @@
},
"Checkout": {
"checkout": "Kupovina",
"contactInfo": "Kontakt informacije",
"email": "Email",
"emailRequired": "Potrebno za potvrdu narudžbine",
"phoneRequired": "Potrebno za koordinaciju dostave",
"shippingAddress": "Adresa za dostavu",
"country": "Država",
"firstName": "Ime",
"lastName": "Prezime",
"streetAddress": "Ulica i broj",
@@ -410,6 +415,8 @@
"yourCartEmpty": "Vaša korpa je prazna",
"continueShopping": "Nastavi kupovinu",
"errorNoCheckout": "Nema aktivne korpe. Molimo pokušajte ponovo.",
"errorEmailRequired": "Molimo unesite validnu email adresu.",
"errorFieldsRequired": "Molimo popunite sva obavezna polja.",
"errorOccurred": "Došlo je do greške prilikom kupovine.",
"errorCreatingOrder": "Neuspešno kreiranje narudžbine.",
"orderConfirmed": "Narudžbina potvrđena!",