1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-25 04:46:40 +07:00

#34 made error handling and resetting

This commit is contained in:
Fedor Katurov 2021-02-27 18:29:05 +07:00
parent dad416e6e2
commit 29e5aef01b
6 changed files with 136 additions and 43 deletions

View file

@ -10,12 +10,13 @@ import { selectUploads } from '~/redux/uploads/selectors';
export const useFileUploader = (
subject: typeof UPLOAD_SUBJECTS[keyof typeof UPLOAD_SUBJECTS],
target: typeof UPLOAD_TARGETS[keyof typeof UPLOAD_TARGETS]
target: typeof UPLOAD_TARGETS[keyof typeof UPLOAD_TARGETS],
initialFiles?: IFile[]
) => {
const dispatch = useDispatch();
const { files: uploadedFiles, statuses } = useShallowSelect(selectUploads);
const [files, setFiles] = useState<IFile[]>([]);
const [files, setFiles] = useState<IFile[]>(initialFiles || []);
const [pendingIDs, setPendingIDs] = useState<string[]>([]);
const uploadFiles = useCallback(

View file

@ -1,5 +1,5 @@
import { IComment, INode } from '~/redux/types';
import { useCallback, useRef } from 'react';
import { useCallback, useEffect, useRef } from 'react';
import { FormikHelpers, useFormik, useFormikContext } from 'formik';
import { array, object, string } from 'yup';
import { FileUploader } from '~/utils/hooks/fileUploader';
@ -58,13 +58,22 @@ export const useCommentFormFormik = (
if (stopEditing) stopEditing();
}, [uploader, stopEditing]);
return useFormik({
const formik = useFormik({
initialValues,
validationSchema,
onSubmit,
initialStatus: '',
onReset,
validateOnChange: true,
});
useEffect(() => {
if (formik.status) {
formik.setStatus('');
}
}, [formik.values.text]);
return formik;
};
export const useCommentFormContext = () => useFormikContext<IComment>();