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 (
-
+
);