diff --git a/apps/portal/src/pages/resumes/[resumeId].tsx b/apps/portal/src/pages/resumes/[resumeId].tsx index 611f0204..e192dcfd 100644 --- a/apps/portal/src/pages/resumes/[resumeId].tsx +++ b/apps/portal/src/pages/resumes/[resumeId].tsx @@ -101,7 +101,7 @@ export default function ResumeReviewPage() { return ( <> {(detailsQuery.isError || detailsQuery.data === null) && ErrorPage} - {detailsQuery.isLoading && ( + {detailsQuery.isFetching && ( <div className="w-full pt-4"> {' '} <Spinner display="block" size="lg" />{' '} diff --git a/apps/portal/src/pages/resumes/submit.tsx b/apps/portal/src/pages/resumes/submit.tsx index 12568b25..31eb563b 100644 --- a/apps/portal/src/pages/resumes/submit.tsx +++ b/apps/portal/src/pages/resumes/submit.tsx @@ -96,7 +96,7 @@ export default function SubmitResumeForm({ handleSubmit, setValue, reset, - formState: { errors, isDirty }, + formState: { errors, isDirty, dirtyFields }, } = useForm<IFormInput>({ defaultValues: { isChecked: false, @@ -170,17 +170,21 @@ export default function SubmitResumeForm({ return; } setIsLoading(true); + let fileUrl = initFormDetails?.url ?? ''; - const formData = new FormData(); - formData.append('key', RESUME_STORAGE_KEY); - formData.append('file', resumeFile); + // Only update file in fs when it changes + if (dirtyFields.file) { + const formData = new FormData(); + formData.append('key', RESUME_STORAGE_KEY); + formData.append('file', resumeFile); - const res = await axios.post('/api/file-storage', formData, { - headers: { - 'Content-Type': 'multipart/form-data', - }, - }); - const { url } = res.data; + const res = await axios.post('/api/file-storage', formData, { + headers: { + 'Content-Type': 'multipart/form-data', + }, + }); + fileUrl = res.data.url; + } resumeUpsertMutation.mutate( { @@ -190,7 +194,7 @@ export default function SubmitResumeForm({ location: data.location, role: data.role, title: data.title, - url, + url: fileUrl, }, { onError(error) {