From 52cb440cb36efcbf0cf22a26db2beb8a92103062 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Tue, 30 Dec 2025 13:35:24 +0700 Subject: [PATCH] refactor(FE-316): Rename documents to document in uniformity --- .../uniformity/detail/UniformityDetail.tsx | 8 ++-- .../detail/UniformityDetailsPreview.tsx | 2 +- .../uniformity/form/UniformityForm.schema.ts | 14 +++--- .../pages/uniformity/form/UniformityForm.tsx | 46 +++++++++---------- .../uniformity/form/UniformityResultForm.tsx | 6 +-- src/services/api/uniformity.ts | 10 ++-- src/types/api/uniformity/uniformity.d.ts | 6 +-- 7 files changed, 46 insertions(+), 46 deletions(-) diff --git a/src/components/pages/uniformity/detail/UniformityDetail.tsx b/src/components/pages/uniformity/detail/UniformityDetail.tsx index 8195fa71..2528d2ab 100644 --- a/src/components/pages/uniformity/detail/UniformityDetail.tsx +++ b/src/components/pages/uniformity/detail/UniformityDetail.tsx @@ -90,8 +90,8 @@ const UniformityDetail: React.FC = ({ label: 'Kandang', }, { - id: 'documents-name', - value: 'documents-name', + id: 'document-name', + value: 'document-name', label: 'File Uniformity', }, { @@ -123,7 +123,7 @@ const UniformityDetail: React.FC = ({ 'lokasi-farm': info_umum.lokasi_farm, 'project-flock': info_umum.project_flock, kandang: info_umum.kandang, - 'documents-name': info_umum.documents_name, + 'document-name': info_umum.document_name, 'approval-status': statusValue, }; @@ -148,7 +148,7 @@ const UniformityDetail: React.FC = ({ return -; } - if (id === 'documents-name') { + if (id === 'document-name') { return (
{valueMap[id]} diff --git a/src/components/pages/uniformity/detail/UniformityDetailsPreview.tsx b/src/components/pages/uniformity/detail/UniformityDetailsPreview.tsx index 2c83ba00..86ba731c 100644 --- a/src/components/pages/uniformity/detail/UniformityDetailsPreview.tsx +++ b/src/components/pages/uniformity/detail/UniformityDetailsPreview.tsx @@ -214,7 +214,7 @@ const UniformityDetailsPreview = ({ {/* Header */} diff --git a/src/components/pages/uniformity/form/UniformityForm.schema.ts b/src/components/pages/uniformity/form/UniformityForm.schema.ts index 5463557a..0ff88188 100644 --- a/src/components/pages/uniformity/form/UniformityForm.schema.ts +++ b/src/components/pages/uniformity/form/UniformityForm.schema.ts @@ -20,16 +20,16 @@ type UniformityFormSchemaType = { label: string; } | null; kandang_id: number; - documents: File | undefined; + document: File | undefined; }; const FileSchema = Yup.mixed() - .test('documentsSize', 'Ukuran file maksimal 2 MB', (value): boolean => { + .test('documentSize', 'Ukuran file maksimal 2 MB', (value): boolean => { if (!value) return true; if (value instanceof File) return value.size <= 2 * 1024 * 1024; return false; }) - .test('documentsType', 'Format file harus Excel', (value): boolean => { + .test('documentType', 'Format file harus Excel', (value): boolean => { if (!value) return true; if (value instanceof File) { const allowedTypes = [ @@ -74,7 +74,7 @@ export const UniformityFormSchema: Yup.ObjectSchema = .min(1, 'Kandang wajib diisi!') .required('Kandang wajib diisi!') .typeError('Kandang wajib diisi!'), - documents: FileSchema.required('File wajib diisi!'), + document: FileSchema.required('File wajib diisi!'), }); export type UniformityFormValues = Yup.InferType; @@ -83,8 +83,8 @@ export type UniformityFormData = { date: string; week: number; project_flock_kandang_id: number; - documents: File | null; - documents_name: string; + document: File | null; + document_name: string; }; export const getUniformityFormInitialValues = ( @@ -115,6 +115,6 @@ export const getUniformityFormInitialValues = ( } : null, kandang_id: initialValues?.kandang?.id ?? 0, - documents: undefined, + document: undefined, }; }; diff --git a/src/components/pages/uniformity/form/UniformityForm.tsx b/src/components/pages/uniformity/form/UniformityForm.tsx index 48a84c70..f68b8f85 100644 --- a/src/components/pages/uniformity/form/UniformityForm.tsx +++ b/src/components/pages/uniformity/form/UniformityForm.tsx @@ -246,12 +246,12 @@ const UniformityForm = ({ date: values.date, week: values.week, project_flock_kandang_id: projectFlockKandangId, - documents: values.documents as File, - documents_name: (values.documents as File).name, + document: values.document as File, + document_name: (values.document as File).name, }); const payload: VerifyUniformityPayload = { - documents: values.documents as File, + document: values.document as File, }; const res = await UniformityApi.verifyUniformity(payload); @@ -325,17 +325,17 @@ const UniformityForm = ({ const handleFileChange = useCallback( (e: React.ChangeEvent) => { - const documents = e.target.files?.[0]; + const document = e.target.files?.[0]; - formik.setFieldTouched('documents', true); + formik.setFieldTouched('document', true); - if (!documents) { - formik.setFieldValue('documents', undefined); + if (!document) { + formik.setFieldValue('document', undefined); return; } - if (documents.size > 2 * 1024 * 1024) { - toast.error(`Ukuran file ${documents.name} maksimal 2 MB!`); + if (document.size > 2 * 1024 * 1024) { + toast.error(`Ukuran file ${document.name} maksimal 2 MB!`); return; } @@ -345,12 +345,12 @@ const UniformityForm = ({ 'text/csv', ]; - if (!allowedTypes.includes(documents.type)) { - toast.error(`Format file ${documents.name} harus Excel atau CSV!`); + if (!allowedTypes.includes(document.type)) { + toast.error(`Format file ${document.name} harus Excel atau CSV!`); return; } - formik.setFieldValue('documents', documents); + formik.setFieldValue('document', document); }, [] ); @@ -363,7 +363,7 @@ const UniformityForm = ({ ); const handleRemoveFile = useCallback(() => { - formik.setFieldValue('documents', undefined); + formik.setFieldValue('document', undefined); if (fileInputRef.current) { fileInputRef.current.value = ''; } @@ -528,14 +528,14 @@ const UniformityForm = ({ htmlFor='file-upload-input' className={cn( "w-full text-sm font-normal leading-5 after:content-['*'] after:ml-0.5 after:text-red-500", - formik.touched.documents && - formik.errors.documents && + formik.touched.document && + formik.errors.document && 'text-red-500' )} > Upload File - {formik.values.documents && !isNextStep ? ( + {formik.values.document && !isNextStep ? ( - ) : !formik.values.documents && !isNextStep ? ( + ) : !formik.values.document && !isNextStep ? (
- {formik.values.documents.name} + {formik.values.document.name} ) : ( @@ -667,15 +667,15 @@ const UniformityForm = ({ ref={fileInputRef} type='file' id='file-upload-input' - name='documents' + name='document' accept='application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv' onChange={handleFileChange} className='hidden' /> - {formik.touched.documents && formik.errors.documents && ( + {formik.touched.document && formik.errors.document && (

- {formik.errors.documents as string} + {formik.errors.document as string}

)} diff --git a/src/components/pages/uniformity/form/UniformityResultForm.tsx b/src/components/pages/uniformity/form/UniformityResultForm.tsx index 776e8dbc..ad2402ea 100644 --- a/src/components/pages/uniformity/form/UniformityResultForm.tsx +++ b/src/components/pages/uniformity/form/UniformityResultForm.tsx @@ -51,7 +51,7 @@ const UniformityResultForm = () => { }; const handleSubmit = async () => { - if (!uniformityFormData || !uniformityFormData.documents) { + if (!uniformityFormData || !uniformityFormData.document) { toast.error('Form data is missing. Please try again.'); return; } @@ -63,7 +63,7 @@ const UniformityResultForm = () => { date: uniformityFormData.date, week: uniformityFormData.week, project_flock_kandang_id: uniformityFormData.project_flock_kandang_id, - documents: uniformityFormData.documents, + document: uniformityFormData.document, }; const res = await UniformityApi.createUniformity(payload); @@ -236,7 +236,7 @@ const UniformityResultForm = () => { {/* Header */} diff --git a/src/services/api/uniformity.ts b/src/services/api/uniformity.ts index 1f048dc6..1ba9771f 100644 --- a/src/services/api/uniformity.ts +++ b/src/services/api/uniformity.ts @@ -62,8 +62,8 @@ export class UniformityApiService extends BaseApiService< payload.project_flock_kandang_id.toString() ); - if (payload.documents) { - formData.append('documents', payload.documents); + if (payload.document) { + formData.append('document', payload.document); } return await this.create(formData as unknown as CreateUniformityPayload); @@ -73,8 +73,8 @@ export class UniformityApiService extends BaseApiService< payload: VerifyUniformityPayload ): Promise | undefined> { const formData = new FormData(); - if (payload.documents) { - formData.append('documents', payload.documents); + if (payload.document) { + formData.append('document', payload.document); } return await this.customRequest>( @@ -130,5 +130,5 @@ export class UniformityApiService extends BaseApiService< } export const UniformityApi = new UniformityApiService( - 'http://localhost:4010/api/production/uniformities' + 'production/uniformities' ); diff --git a/src/types/api/uniformity/uniformity.d.ts b/src/types/api/uniformity/uniformity.d.ts index 45291a28..c63e90ff 100644 --- a/src/types/api/uniformity/uniformity.d.ts +++ b/src/types/api/uniformity/uniformity.d.ts @@ -34,7 +34,7 @@ export type UniformityInfoUmum = { lokasi_farm: string; project_flock: string; kandang: string; - documents_name: string; + document_name: string; }; export type UniformitySampling = { @@ -77,12 +77,12 @@ export type VerifyUniformityResponse = { export type CreateUniformityPayload = { date: string; project_flock_kandang_id: number; - documents: File; + document: File; week: number; }; export type VerifyUniformityPayload = { - documents: File; + document: File; }; // ==================== OTHER TYPES ====================