import { Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, } from '@chakra-ui/modal'; import { FormLabel, FormControl, Input, Button, Textarea, } from '@chakra-ui/react'; import { fetchEvent, postEvent, eventNamespace, } from '../../app/api/eventApi'; import { useQuery } from 'react-query'; import { useEffect, useState } from 'react'; export default function SettingsModal(props) { const { data, status, isError } = useQuery(eventNamespace, fetchEvent); const [formData, setFormData] = useState({ title: '', url: '', publicInfo: '', backstageInfo: '', }); const [submitting, setSubmitting] = useState(false); const { isOpen, onClose } = props; useEffect(() => { if (data == null) return; setFormData({ title: data.title, url: data.url, publicInfo: data.publicInfo, backstageInfo: data.backstageInfo, }); }, [data]); const submitHandler = async (event) => { event.preventDefault(); setSubmitting(true); await postEvent(formData).then(setSubmitting(false)).then(onClose); }; return (
Event Main Info {status === 'success' && ( <> Event Title setFormData({ ...formData, title: event.target.value }) } isDisabled={submitting} /> Event URL setFormData({ ...formData, url: event.target.value }) } isDisabled={submitting} /> Public Info