import { useState } from "react" import "../styles/BookingForm.css" export const BookingForm = ({ availableTimes, dispatch, submitForm, reservationError }) => { const [date, setDate] = useState(new Date().toISOString().slice(0, 10)) const [time, setTime] = useState(availableTimes[0]) const [guests, setGuests] = useState(1) const [occasion, setOccasion] = useState("Other") const [dateError, setDateError] = useState("") const [timeError, setTimeError] = useState("") const [guestsError, setGuestsError] = useState("") const [occasionError, setOccasionError] = useState("") const isFormInvalid = () => guestsError !== "" || dateError !== "" || timeError !== "" || occasionError !== "" const onDateChange = ({ target }) => { let error = "" if (target.value === "") error = "Field is required." setDateError(error) setDate(target.value) if (!error && dispatch) dispatch(target.valueAsDate) } const onTimeChange = ({ target }) => { let error = "" if (target.value === "") error = "Field is required." setTimeError(error) setTime(target.value) } const onGuestChange = ({ target }) => { let error = "" if (target.value === "") error = "Field is required." else if (target.value < 1 || target.value > 10) error = "Guests must be between 1 and 10." setGuestsError(error) setGuests(target.value) } const onOccasionChange = ({ target }) => { let error = "" if ( target.value !== "Other" && target.value !== "Birthday" && target.value !== "Anniversary" ) error = "Invalid occasion." setOccasionError(error) setOccasion(target.value) } return (
) }