diff --git a/src/client/components/booking-form.tsx b/src/client/components/booking-form.tsx index 0759933..5fa5b4e 100644 --- a/src/client/components/booking-form.tsx +++ b/src/client/components/booking-form.tsx @@ -11,6 +11,7 @@ export function BookingForm() { const [selectedTime, setSelectedTime] = useState(""); const [notes, setNotes] = useState(""); const [agbAccepted, setAgbAccepted] = useState(false); + const [ageConfirmed, setAgeConfirmed] = useState(false); const [inspirationPhoto, setInspirationPhoto] = useState(""); const [photoPreview, setPhotoPreview] = useState(""); const [errorMessage, setErrorMessage] = useState(""); @@ -189,6 +190,10 @@ export function BookingForm() { setErrorMessage("Bitte bestätige die Kenntnisnahme der Allgemeinen Geschäftsbedingungen."); return; } + if (!ageConfirmed) { + setErrorMessage("Bitte bestätige, dass du mindestens 16 Jahre alt bist."); + return; + } // Email validation now handled in backend before booking creation const appointmentTime = selectedTime; @@ -223,6 +228,7 @@ export function BookingForm() { setSelectedTime(""); setNotes(""); setAgbAccepted(false); + setAgeConfirmed(false); setInspirationPhoto(""); setPhotoPreview(""); setErrorMessage(""); @@ -425,7 +431,7 @@ export function BookingForm() { {/* AGB Acceptance */} -
+
+ +
+ setAgeConfirmed(e.target.checked)} + className="mt-1 h-4 w-4 text-pink-600 focus:ring-pink-500 border-gray-300 rounded" + required + /> +
+ +
+
{/* Error Message */}