import { Button, Checkbox, CheckboxGroup, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Text, Textarea, useToast, VStack } from "@chakra-ui/react"; import { useState } from "react"; export default function(props: { departments: string[]; isOpen: boolean; onClose: () => void; }) { const [departments, setDepartments] = useState([] as string[]); const [loading, setLoading] = useState(false) const toast = useToast(); function reset() { (document.getElementById("start") as HTMLInputElement).value = ""; (document.getElementById("end") as HTMLInputElement).value = ""; (document.getElementById("reason") as HTMLTextAreaElement).value = ""; props.onClose(); } async function submit() { setLoading(true) const start = (document.getElementById("start") as HTMLInputElement).value; const end = (document.getElementById("start") as HTMLInputElement).value; const reason = (document.getElementById("reason") as HTMLTextAreaElement) .value; if (!departments.length) { toast({ title: 'Validation Error', description: 'You need to select at least one department', status: "error" }) setLoading(false) return; } const inactivityPost = await fetch("/api/inactivity/new", { body: JSON.stringify({ departments, end, reason, start }), headers: { "content-type": "application/json" }, method: "POST" }); if (!inactivityPost.ok) { setLoading(false) toast({ description: ((await inactivityPost.json()) as { error: string }).error, duration: 10000, isClosable: true, status: "error", title: "Error" }); return; } toast({ description: "Your inactivity notice has been created", duration: 10000, isClosable: true, status: "success", title: "Success" }); setLoading(true) props.onClose(); } return ( <> New Inactivity Notice Start Date

End Date

Reason