From 2fa086bb3232692846e20679b67af2e6b10d224d Mon Sep 17 00:00:00 2001 From: rstubryan Date: Tue, 6 Jan 2026 14:01:01 +0700 Subject: [PATCH] refactor(FE): Prefer latest_approval action and add file_name --- .../production/uniformity/UniformityTable.tsx | 21 ++++++++++++------- src/types/api/production/uniformity.d.ts | 4 +--- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/components/pages/production/uniformity/UniformityTable.tsx b/src/components/pages/production/uniformity/UniformityTable.tsx index 3df04a97..0c0c3f70 100644 --- a/src/components/pages/production/uniformity/UniformityTable.tsx +++ b/src/components/pages/production/uniformity/UniformityTable.tsx @@ -56,8 +56,6 @@ const UniformityConfirmationPreview = ({ uniformity?: Uniformity; uniformityDetail?: UniformityDetail; }) => { - const fileName = uniformityDetail?.info_umum?.file_name || '-'; - const data: DetailOptionType[] = [ { id: 'tanggal', @@ -93,7 +91,8 @@ const UniformityConfirmationPreview = ({ { id: 'file-uniformity', label: 'File Uniformity', - value: fileName, + value: + uniformity?.file_name || uniformityDetail?.info_umum?.file_name || '-', }, { id: 'status', @@ -461,9 +460,15 @@ const UniformityTable = () => { const canApproveReject = useMemo(() => { return ( selectedUniformities.length > 0 && - selectedUniformities.every( - (u) => u.status === 'CREATED' || u.status === 'Pengajuan' - ) + selectedUniformities.every((u) => { + const approvalAction = u.latest_approval?.action; + return ( + approvalAction === 'CREATED' || + approvalAction === 'Pengajuan' || + (!approvalAction && + (u.status === 'CREATED' || u.status === 'Pengajuan')) + ); + }) ); }, [selectedUniformities]); @@ -818,7 +823,9 @@ const UniformityTable = () => { accessorKey: 'status', header: 'Status', cell: (props) => { - const status = props.row.original.status; + const uniformity = props.row.original; + const status = + uniformity.latest_approval?.action ?? uniformity.status; return (