From d236138aa75a04b1db5009dbac00b753f587d3a4 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Mon, 9 Mar 2026 03:18:41 +0700 Subject: [PATCH] refactor(FE): Update recording editability logic and extend BaseRecording type --- .../pages/production/recording/RecordingTable.tsx | 10 +++++----- .../pages/production/recording/form/RecordingForm.tsx | 10 +++++----- src/types/api/production/recording.d.ts | 3 ++- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/components/pages/production/recording/RecordingTable.tsx b/src/components/pages/production/recording/RecordingTable.tsx index 1b7a326d..0e2e1411 100644 --- a/src/components/pages/production/recording/RecordingTable.tsx +++ b/src/components/pages/production/recording/RecordingTable.tsx @@ -105,11 +105,11 @@ const RowOptionsMenu = ({ }; const isRecordingEditable = (recording: Recording) => { - if ( - recording.executed_at && - recording.project_flock?.project_flock_category === 'GROWING' - ) { - return false; + if (recording.project_flock?.project_flock_category === 'GROWING') { + if (recording.transfer_executed) { + return false; + } + return recording.population_can_change === true; } return true; }; diff --git a/src/components/pages/production/recording/form/RecordingForm.tsx b/src/components/pages/production/recording/form/RecordingForm.tsx index af4ab78b..bd196c7e 100644 --- a/src/components/pages/production/recording/form/RecordingForm.tsx +++ b/src/components/pages/production/recording/form/RecordingForm.tsx @@ -273,11 +273,11 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => { }, []); const isRecordingEditable = useCallback((recording?: Recording) => { - if ( - recording?.executed_at && - recording?.project_flock?.project_flock_category === 'GROWING' - ) { - return false; + if (recording?.project_flock?.project_flock_category === 'GROWING') { + if (recording?.transfer_executed) { + return false; + } + return recording?.population_can_change === true; } return true; }, []); diff --git a/src/types/api/production/recording.d.ts b/src/types/api/production/recording.d.ts index b78642b8..dfc31c94 100644 --- a/src/types/api/production/recording.d.ts +++ b/src/types/api/production/recording.d.ts @@ -49,7 +49,8 @@ export type BaseRecording = { project_flock: ProjectFlock; record_datetime: string; day: number; - executed_at: string; + population_can_change: boolean; + transfer_executed: boolean; } & ProductionMetrics; export type RecordingDepletion = {