diff --git a/apps/web/components/Form/Documents/Buttons.tsx b/apps/web/components/Form/Documents/Buttons.tsx index 2039bc3..58567e1 100644 --- a/apps/web/components/Form/Documents/Buttons.tsx +++ b/apps/web/components/Form/Documents/Buttons.tsx @@ -12,7 +12,7 @@ const ERROR_UPLOAD_DOCUMENT = 'Произошла ошибка при загру export function Buttons() { const { resetValidation } = useFormStore(); - const { formFiles, pageUrlParams, setFormState } = useContext(FormContext); + const { formFiles, pageUrlParams, setFormFiles, setFormState } = useContext(FormContext); const handleUploadFiles = useCallback(() => { setFormState({ status: 'pending' }); @@ -35,9 +35,15 @@ export function Buttons() { }); }, [formFiles, pageUrlParams, resetValidation, setFormState]); + const handleCancel = () => { + setFormFiles([]); + }; + return ( -
-
+
+
); diff --git a/apps/web/components/Form/Documents/Files.tsx b/apps/web/components/Form/Documents/Files.tsx index 81ad6b4..41f0719 100644 --- a/apps/web/components/Form/Documents/Files.tsx +++ b/apps/web/components/Form/Documents/Files.tsx @@ -3,7 +3,7 @@ import type { FormComponentProps } from '../types'; import { ArrowDownTrayIcon } from '@heroicons/react/24/solid'; import { Heading, InputFile } from '@repo/ui'; import Link from 'next/link'; -import { useContext } from 'react'; +import { useContext, useEffect, useRef } from 'react'; type DownloadDocumentProps = Pick; @@ -45,10 +45,17 @@ function File({ document }: FileProps) { } }; + const inputRef = useRef(null); + + useEffect(() => { + const uploadableFile = formFiles.some((x) => x.documentTypeId === document.documentTypeId); + if (!uploadableFile && inputRef.current) inputRef.current.value = ''; + }, [document.documentTypeId, formFiles]); + return (
- +
);