From 89318407eaa0c242fa3018d5f0ad534d2763dec4 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Tue, 14 Oct 2025 23:01:01 +0700 Subject: [PATCH] feat(FE-136): update RecordingForm schema to remove tanggal and add flock object --- .../recording/form/RecordingForm.schema.ts | 87 +++++++++---------- src/types/api/flock/recording.d.ts | 1 - 2 files changed, 40 insertions(+), 48 deletions(-) diff --git a/src/components/pages/flock/recording/form/RecordingForm.schema.ts b/src/components/pages/flock/recording/form/RecordingForm.schema.ts index f78e65e1..ffd9e2bd 100644 --- a/src/components/pages/flock/recording/form/RecordingForm.schema.ts +++ b/src/components/pages/flock/recording/form/RecordingForm.schema.ts @@ -1,9 +1,13 @@ import * as Yup from 'yup'; import { RECORDING_FLAG_OPTIONS } from '@/config/constant'; +import { Recording } from '@/types/api/flock/recording'; export const RecordingFormSchema = Yup.object({ + flock: Yup.object({ + value: Yup.number().min(1).required(), + label: Yup.string().required(), + }).nullable(), flock_id: Yup.number().required('Flock wajib diisi!'), - tanggal: Yup.string().required('Tanggal wajib diisi!'), data_pakan: Yup.array() .of( Yup.object({ @@ -71,51 +75,40 @@ export const UpdateRecordingFormSchema = RecordingFormSchema; export type RecordingFormValues = Yup.InferType; export const getRecordingFormInitialValues = ( - initialValues?: Partial + initialValues?: Recording ): RecordingFormValues => ({ - flock_id: initialValues?.flock_id ?? 0, - tanggal: initialValues?.tanggal ?? '', - data_pakan: - Array.isArray(initialValues?.data_pakan) && - initialValues.data_pakan.length > 0 - ? initialValues.data_pakan - : [ - { - nama_pakan: '', - qty_pakan: 0, - stock_pakan: 0, - }, - ], - bobot_badan: - Array.isArray(initialValues?.bobot_badan) && - initialValues.bobot_badan.length > 0 - ? initialValues.bobot_badan - : [ - { - berat_ayam: 0, - jumlah_ayam: 0, - rata_rata_berat_ayam: 0, - }, - ], - vaksinasi: - Array.isArray(initialValues?.vaksinasi) && - initialValues.vaksinasi.length > 0 - ? initialValues.vaksinasi - : [ - { - nama_vaksin: '', - total_stock: 0, - jumlah_stock: 0, - }, - ], - mortalitas: - Array.isArray(initialValues?.mortalitas) && - initialValues.mortalitas.length > 0 - ? initialValues.mortalitas - : [ - { - kondisi: '', - jumlah: 0, - }, - ], + flock: initialValues?.flock + ? { + value: initialValues.flock.id, + label: initialValues.flock.name, + } + : null, + flock_id: initialValues?.flock?.id ?? 0, + data_pakan: initialValues?.data_pakan ?? [ + { + nama_pakan: '', + qty_pakan: 0, + stock_pakan: 0, + }, + ], + bobot_badan: initialValues?.bobot_badan ?? [ + { + berat_ayam: 0, + jumlah_ayam: 0, + rata_rata_berat_ayam: 0, + }, + ], + vaksinasi: initialValues?.vaksinasi ?? [ + { + nama_vaksin: '', + total_stock: 0, + jumlah_stock: 0, + }, + ], + mortalitas: initialValues?.mortalitas ?? [ + { + kondisi: '', + jumlah: 0, + }, + ], }); diff --git a/src/types/api/flock/recording.d.ts b/src/types/api/flock/recording.d.ts index 66818f0c..7fc873ef 100644 --- a/src/types/api/flock/recording.d.ts +++ b/src/types/api/flock/recording.d.ts @@ -29,7 +29,6 @@ export type Recording = BaseMetadata & BaseRecording; export type CreateRecordingPayload = { flock_id: number; - tanggal: string; data_pakan: { nama_pakan: string; qty_pakan: number;