diff --git a/src/components/pages/flock/recording/form/RecordingForm.schema.ts b/src/components/pages/flock/recording/form/RecordingForm.schema.ts
index ffd9e2bd..90d91c4f 100644
--- a/src/components/pages/flock/recording/form/RecordingForm.schema.ts
+++ b/src/components/pages/flock/recording/form/RecordingForm.schema.ts
@@ -8,6 +8,9 @@ export const RecordingFormSchema = Yup.object({
label: Yup.string().required(),
}).nullable(),
flock_id: Yup.number().required('Flock wajib diisi!'),
+ tanggal_recording: Yup.date()
+ .required('Tanggal recording wajib diisi')
+ .typeError('Format tanggal tidak valid'),
data_pakan: Yup.array()
.of(
Yup.object({
@@ -84,6 +87,9 @@ export const getRecordingFormInitialValues = (
}
: null,
flock_id: initialValues?.flock?.id ?? 0,
+ tanggal_recording: initialValues?.tanggal_recording
+ ? new Date(initialValues.tanggal_recording)
+ : new Date(),
data_pakan: initialValues?.data_pakan ?? [
{
nama_pakan: '',
diff --git a/src/components/pages/flock/recording/form/RecordingForm.tsx b/src/components/pages/flock/recording/form/RecordingForm.tsx
index 1b09b274..cb291720 100644
--- a/src/components/pages/flock/recording/form/RecordingForm.tsx
+++ b/src/components/pages/flock/recording/form/RecordingForm.tsx
@@ -67,6 +67,7 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
setRecordingFormErrorMessage('');
const payload: CreateRecordingPayload = {
flock_id: values.flock_id,
+ tanggal_recording: values.tanggal_recording.toISOString(),
data_pakan: (values.data_pakan ?? []).map((p) => ({
nama_pakan: p.nama_pakan,
qty_pakan: p.qty_pakan,
@@ -230,6 +231,33 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
+ {/* {*/}
+ {/* formik.setFieldValue(*/}
+ {/* 'flock_id',*/}
+ {/* (val as OptionType)?.value*/}
+ {/* );*/}
+ {/* }}*/}
+ {/* options={flockOptions}*/}
+ {/* onInputChange={setFlockSelectInputValue}*/}
+ {/* isLoading={isLoadingFlocks}*/}
+ {/* isError={*/}
+ {/* formik.touched.flock_id && Boolean(formik.errors.flock_id)*/}
+ {/* }*/}
+ {/* errorMessage={formik.errors.flock_id as string}*/}
+ {/* isDisabled={type === 'detail'}*/}
+ {/* isClearable*/}
+ {/*/>*/}
{
}}
options={flockOptions}
onInputChange={(val) => {
- // Filter options locally instead of API call
return val;
}}
- isLoading={false} // Remove isLoadingFlocks
+ isLoading={false}
isError={
formik.touched.flock_id && Boolean(formik.errors.flock_id)
}
@@ -254,6 +281,26 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
isDisabled={type === 'detail'}
isClearable
/>
+ {
+ const date = new Date(e.target.value);
+ formik.setFieldValue('tanggal_recording', date);
+ }}
+ onBlur={formik.handleBlur}
+ isError={
+ formik.touched.tanggal_recording &&
+ Boolean(formik.errors.tanggal_recording)
+ }
+ errorMessage={formik.errors.tanggal_recording as string}
+ readOnly={type === 'detail'}
+ />
diff --git a/src/types/api/flock/recording.d.ts b/src/types/api/flock/recording.d.ts
index 7fc873ef..69c2b0b5 100644
--- a/src/types/api/flock/recording.d.ts
+++ b/src/types/api/flock/recording.d.ts
@@ -4,10 +4,11 @@ import { Flock } from '@/types/api/flock/flock';
export type BaseRecording = {
id: number;
flock: Flock;
+ tanggal_recording: string;
data_pakan: {
nama_pakan: string;
qty_pakan: number;
- stock_pakan;
+ stock_pakan: number;
}[];
bobot_badan: {
berat_ayam: number;
@@ -29,6 +30,7 @@ export type Recording = BaseMetadata & BaseRecording;
export type CreateRecordingPayload = {
flock_id: number;
+ tanggal_recording: string;
data_pakan: {
nama_pakan: string;
qty_pakan: number;