chore(FE-196): use useApprovalSteps hook

This commit is contained in:
ValdiANS
2025-11-25 10:48:27 +07:00
parent 642f966985
commit b805fb4ae1
@@ -14,6 +14,7 @@ import ExpenseStatusBadge from '@/components/pages/expense/ExpenseStatusBadge';
import DropFileInput from '@/components/input/DropFileInput'; import DropFileInput from '@/components/input/DropFileInput';
import ApprovalSteps, { import ApprovalSteps, {
formatGroupedApprovalsToApprovalSteps, formatGroupedApprovalsToApprovalSteps,
useApprovalSteps,
} from '@/components/pages/ApprovalSteps'; } from '@/components/pages/ApprovalSteps';
import { useModal } from '@/components/Modal'; import { useModal } from '@/components/Modal';
import ConfirmationModal from '@/components/modal/ConfirmationModal'; import ConfirmationModal from '@/components/modal/ConfirmationModal';
@@ -40,10 +41,17 @@ const ExpenseRequestContent = ({
}: ExpenseRequestContentProps) => { }: ExpenseRequestContentProps) => {
const router = useRouter(); const router = useRouter();
const { data: approvalHistory, isLoading: isLoadingApprovalHistory } = useSWR( const { approvals: approvalHistory, isLoading: isLoadingApprovalHistory } =
initialValues ? [String(initialValues.id)] : null, useApprovalSteps({
([id]: string[]) => ExpenseApi.getApprovalHistory(Number(id)) latestApproval: initialValues?.latest_approval,
); approvalLines: EXPENSE_REQUEST_APPROVAL_LINE,
moduleName: 'EXPENSES',
moduleId: initialValues?.id.toString() ?? '',
params: {
page: 1,
limit: 100,
},
});
const isLatestApprovalRejected = const isLatestApprovalRejected =
initialValues?.latest_approval.action === 'REJECTED'; initialValues?.latest_approval.action === 'REJECTED';
@@ -236,19 +244,11 @@ const ExpenseRequestContent = ({
return ( return (
<> <>
<div> <div>
{initialValues && {initialValues && !isLoadingApprovalHistory && approvalHistory && (
!isLoadingApprovalHistory && <div className='w-full max-w-5xl my-4 mx-auto'>
isResponseSuccess(approvalHistory) && ( <ApprovalSteps approvals={approvalHistory} />
<div className='w-full max-w-5xl my-4 mx-auto'> </div>
<ApprovalSteps )}
approvals={formatGroupedApprovalsToApprovalSteps(
EXPENSE_REQUEST_APPROVAL_LINE,
approvalHistory.data,
initialValues.latest_approval
)}
/>
</div>
)}
<div className='w-full mt-4 flex flex-col gap-4'> <div className='w-full mt-4 flex flex-col gap-4'>
{/* TODO: apply RBAC */} {/* TODO: apply RBAC */}