diff --git a/src/components/pages/production/recording/form/RecordingForm.tsx b/src/components/pages/production/recording/form/RecordingForm.tsx index f20d4cb5..cbb9242b 100644 --- a/src/components/pages/production/recording/form/RecordingForm.tsx +++ b/src/components/pages/production/recording/form/RecordingForm.tsx @@ -48,7 +48,7 @@ import { } from './RecordingForm.schema'; import { isResponseSuccess, isResponseError } from '@/lib/api-helper'; -import { cn, formatDate } from '@/lib/helper'; +import { formatDate } from '@/lib/helper'; import toast from 'react-hot-toast'; import StepItem from '@/components/steps/StepItem'; @@ -102,6 +102,16 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => { ); }, []); + const hasGradingData = useCallback((recording?: Recording) => { + if (!recording || !recording.eggs) return false; + return recording.eggs.some( + (egg) => + egg.gradings && + egg.gradings.length > 0 && + egg.gradings.some((grading) => grading.qty > 0) + ); + }, []); + // ===== FORM HANDLERS ===== const createRecordingHandler = useCallback( async ( @@ -2460,7 +2470,9 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => { }} > - Lanjut ke Grading + {hasGradingData(initialValues) + ? 'Edit Grading' + : 'Lanjut ke Grading'} )} diff --git a/src/types/api/production/recording.d.ts b/src/types/api/production/recording.d.ts index c3c67997..4abbad75 100644 --- a/src/types/api/production/recording.d.ts +++ b/src/types/api/production/recording.d.ts @@ -55,6 +55,10 @@ export type RecordingEgg = { qty: number; created_by: User; product_warehouse: ProductWarehouse; + gradings?: { + grade: string; + qty: number; + }[]; }; export type GradingEgg = {