import { useEffect, useState } from 'react'; import TextInput from '../components/Common/TextInput'; import Form from '../components/Common/Form'; import SubmitButton from '../components/Common/SubmitButton'; import BackendError from '../components/BackendError'; import { IRSFormCreateData } from '../utils/models'; import RequireAuth from '../components/RequireAuth'; import useNewRSForm from '../hooks/useNewRSForm'; import { useNavigate } from 'react-router-dom'; import TextArea from '../components/Common/TextArea'; import Checkbox from '../components/Common/Checkbox'; import FileInput from '../components/Common/FileInput'; import { toast } from 'react-toastify'; function RSFormCreatePage() { const navigate = useNavigate(); const [title, setTitle] = useState(''); const [alias, setAlias] = useState(''); const [comment, setComment] = useState(''); const [common, setCommon] = useState(false); const [file, setFile] = useState() const handleFile = (event: React.ChangeEvent) => { if (event.target.files && event.target.files.length > 0) { setFile(event.target.files[0]); } else { setFile(undefined) } } const onSuccess = (newID: string) => { toast.success('Схема успешно создана'); navigate(`/rsforms/${newID}`); } const { createSchema, error, setError, loading } = useNewRSForm() useEffect(() => { setError(undefined) }, [title, alias, setError]); const handleSubmit = (event: React.FormEvent) => { event.preventDefault(); if (!loading) { const data: IRSFormCreateData = { 'title': title, 'alias': alias, 'comment': comment, 'is_common': common, }; createSchema({ data: data, file: file, onSuccess: onSuccess }); } }; return (
setTitle(event.target.value)} /> setAlias(event.target.value)} />