diff --git a/src/components/pages/master-data/product-category/form/ProductCategoryForm.schema.ts b/src/components/pages/master-data/product-category/form/ProductCategoryForm.schema.ts index 102bb812..d97e755a 100644 --- a/src/components/pages/master-data/product-category/form/ProductCategoryForm.schema.ts +++ b/src/components/pages/master-data/product-category/form/ProductCategoryForm.schema.ts @@ -1,9 +1,17 @@ import * as Yup from 'yup'; -export const ProductCategoryFormSchema = Yup.object({ - code: Yup.string().required('Kode wajib diisi!').max(3, 'Kode kategori produk melebihi 3 karakter!'), - name: Yup.string().required('Nama wajib diisi!'), -}); +type ProductCategoryFormSchemaType = { + code: string; + name: string; +}; + +export const ProductCategoryFormSchema: Yup.ObjectSchema = + Yup.object({ + code: Yup.string() + .required('Kode wajib diisi!') + .max(3, 'Kode kategori produk melebihi 3 karakter!'), + name: Yup.string().required('Nama wajib diisi!'), + }); export const UpdateProductCategoryFormSchema = ProductCategoryFormSchema; diff --git a/src/components/pages/master-data/product-category/form/ProductCategoryForm.tsx b/src/components/pages/master-data/product-category/form/ProductCategoryForm.tsx index 453670f3..7331cbb5 100644 --- a/src/components/pages/master-data/product-category/form/ProductCategoryForm.tsx +++ b/src/components/pages/master-data/product-category/form/ProductCategoryForm.tsx @@ -30,7 +30,10 @@ interface ProductCategoryFormProps { initialValues?: ProductCategory; } -const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFormProps) => { +const ProductCategoryForm = ({ + type = 'add', + initialValues, +}: ProductCategoryFormProps) => { const router = useRouter(); const deleteModal = useModal(); @@ -68,16 +71,20 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor [router] ); - const formikInitialValues = useMemo(() => { - return { + const formikInitialValues = useMemo( + () => ({ code: initialValues?.code ?? '', name: initialValues?.name ?? '', - }; - }, [initialValues]); + }), + [initialValues] + ); const formik = useFormik({ initialValues: formikInitialValues, - validationSchema: type === 'edit' ? UpdateProductCategoryFormSchema : ProductCategoryFormSchema, + validationSchema: + type === 'edit' + ? UpdateProductCategoryFormSchema + : ProductCategoryFormSchema, onSubmit: async (values) => { setFormErrorMessage(''); @@ -91,7 +98,10 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor await createProductCategoryHandler(payload); break; case 'edit': - await updateProductCategoryHandler(initialValues?.id as number, payload); + await updateProductCategoryHandler( + initialValues?.id as number, + payload + ); break; } }, @@ -109,7 +119,7 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor await ProductCategoryApi.delete(initialValues?.id as number); deleteModal.closeModal(); - toast.success('Successfully delete Product Category!'); + toast.success('Berhasil menghapus data Kategori Produk!'); setIsDeleteLoading(false); router.push('/master-data/product-category'); }; @@ -120,7 +130,7 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor return ( <> -
+
@@ -148,7 +158,7 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor required label='Kode' name='code' - placeholder='Masukkan kode kategori produk' + placeholder='Masukkan kode...' value={formik.values.code} onChange={formik.handleChange} onBlur={formik.handleBlur} @@ -160,7 +170,7 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor required label='Nama' name='name' - placeholder='Masukkan nama kategori produk' + placeholder='Masukkan nama...' value={formik.values.name} onChange={formik.handleChange} onBlur={formik.handleBlur} @@ -247,7 +257,7 @@ const ProductCategoryForm = ({ type = 'add', initialValues }: ProductCategoryFor