From b2016314f5b27c187a0f637e7a672cd92b134fac Mon Sep 17 00:00:00 2001 From: rstubryan Date: Sun, 8 Mar 2026 16:40:36 +0700 Subject: [PATCH] refactor(FE): Restrict edit and delete actions based on recording status --- .../production/recording/RecordingTable.tsx | 67 ++++++++++++------- src/types/api/production/recording.d.ts | 1 + 2 files changed, 42 insertions(+), 26 deletions(-) diff --git a/src/components/pages/production/recording/RecordingTable.tsx b/src/components/pages/production/recording/RecordingTable.tsx index 460a335a..1b7a326d 100644 --- a/src/components/pages/production/recording/RecordingTable.tsx +++ b/src/components/pages/production/recording/RecordingTable.tsx @@ -104,8 +104,19 @@ const RowOptionsMenu = ({ return recording.approval?.action === 'REJECTED'; }; + const isRecordingEditable = (recording: Recording) => { + if ( + recording.executed_at && + recording.project_flock?.project_flock_category === 'GROWING' + ) { + return false; + } + return true; + }; + const isApproved = isRecordingApproved(props.row.original); const isRejected = isRecordingRejected(props.row.original); + const isEditable = isRecordingEditable(props.row.original); return (
@@ -138,18 +149,20 @@ const RowOptionsMenu = ({ View Details - - - + {isEditable && ( + + + + )} {!isApproved && !isRejected && ( - + {isEditable && ( + + + + )}
diff --git a/src/types/api/production/recording.d.ts b/src/types/api/production/recording.d.ts index eb611a3b..b78642b8 100644 --- a/src/types/api/production/recording.d.ts +++ b/src/types/api/production/recording.d.ts @@ -49,6 +49,7 @@ export type BaseRecording = { project_flock: ProjectFlock; record_datetime: string; day: number; + executed_at: string; } & ProductionMetrics; export type RecordingDepletion = {