in event-driven-developers-tale/src/components/AddVacation.js [6:57]
function AddVacation({ emmiter }) {
const [description, setDescription] = useState("")
const [category, setCategory] = useState("")
const [startDate, setStartDate] = useState(moment().format("YYYY-MM-DD"))
const [endDate, setEndDate] = useState(moment().format("YYYY-MM-DD"))
const categories = {
ANNUAL_LEAVE: "Annual Leave",
PUBLIC_HOLIDAYS: "Public Holidays",
SICK_LEAVE: "Sick Leave",
PATERNITY_LEAVE: "Patternity Leave",
ADOPTIVE_LEAVE: "Adoptive Leave",
CARERS_LEAVE: "Carer's Leave",
PARENTAL_LEAVE: "Parental Leave"
}
useEffect(() => {
setCategory("ANNUAL_LEAVE")
}, [])
async function addVacation() {
const newVacationRequest = {
description: description,
approvalStatus: "PENDING_VALIDATION",
category: `${category}`,
startDate: `${startDate}Z`,
endDate: `${endDate}Z`
}
await API.graphql({
query: submitVacationRequest,
variables: {
input: newVacationRequest
},
authMode: 'AMAZON_COGNITO_USER_POOLS'
})
emmiter.emit("showModal", false, "", "", null)
}
function cancel() {
emmiter.emit("showModal", false, "", "", null)
}
return (
<div className="space-y-3 h-full flex flex-col">
<div className="flex-grow">
<div className=" pt-4 px-4">
<label className="block border-gray-600">Description</label>
<input className="w-full border-gray-100 border-2 rounded p-1" type="text" onChange={(event) => setDescription(event.target.value)} />