From 1afa6f7fad16c35c445441f4892497d0be7baaf6 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 3 Nov 2025 16:15:19 +0700 Subject: [PATCH] chore: rename ExpenseForm.schema.ts to ExpenseRequestForm.schema.ts --- .../pages/expense/form/ExpenseForm.schema.ts | 9 ---- .../expense/form/ExpenseRequestForm.schema.ts | 48 +++++++++++++++++++ 2 files changed, 48 insertions(+), 9 deletions(-) delete mode 100644 src/components/pages/expense/form/ExpenseForm.schema.ts create mode 100644 src/components/pages/expense/form/ExpenseRequestForm.schema.ts diff --git a/src/components/pages/expense/form/ExpenseForm.schema.ts b/src/components/pages/expense/form/ExpenseForm.schema.ts deleted file mode 100644 index 35cd82f4..00000000 --- a/src/components/pages/expense/form/ExpenseForm.schema.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as Yup from 'yup'; - -export const ExpenseFormSchema = Yup.object({ - name: Yup.string().required('Nama wajib diisi!'), -}); - -export const UpdateExpenseFormSchema = ExpenseFormSchema; - -export type ExpenseFormValues = Yup.InferType; diff --git a/src/components/pages/expense/form/ExpenseRequestForm.schema.ts b/src/components/pages/expense/form/ExpenseRequestForm.schema.ts new file mode 100644 index 00000000..67a9f87e --- /dev/null +++ b/src/components/pages/expense/form/ExpenseRequestForm.schema.ts @@ -0,0 +1,48 @@ +import * as Yup from 'yup'; + +type ExpenseFormSchemaType = { + name: string; + location?: { + value: number; + label: string; + }; + transaction_date?: string; + kandangs?: number[]; + vendor?: { + value: number; + label: string; + }; + requestDocuments?: File[]; + // kandangExpenses: { + // nonstock?: { + // value: number; + // label: string; + // }; + // }[]; +}; + +export const ExpenseRequestFormSchema: Yup.ObjectSchema = + Yup.object({ + name: Yup.string().required('Nama wajib diisi!'), + + location: Yup.object({ + value: Yup.number().min(1).required(), + label: Yup.string().required(), + }).required('Lokasi wajib diisi!'), + + transaction_date: Yup.string().required('Tanggal transaksi wajib diisi!'), + kandangs: Yup.array().of(Yup.number().required('Kandang wajib dipilih!')), + + vendor: Yup.object({ + value: Yup.number().min(1).required(), + label: Yup.string().required(), + }).required('Vendor wajib diisi!'), + + requestDocuments: Yup.array().of(Yup.mixed().required()).optional(), + }); + +export const UpdateExpenseRequestFormSchema = ExpenseRequestFormSchema; + +export type ExpenseRequestFormValues = Yup.InferType< + typeof ExpenseRequestFormSchema +>;