refactor(FE-238-239-240): implement approval workflow chickin & project flock, membuat custom hook useApprovals, dan handling error format approvals

This commit is contained in:
randy-ar
2025-11-12 15:24:44 +07:00
parent 5dccaf40cb
commit b2f4317c08
13 changed files with 258 additions and 200 deletions
@@ -10,6 +10,9 @@ import Tabs from '@/components/Tabs';
import ChickinFormView from './tabs/ChickinFormView';
import ChickinLogsView from './tabs/ChickLogsView';
import { useState } from 'react';
import ApprovalSteps, {
useApprovalSteps,
} from '@/components/pages/ApprovalSteps';
const ChickinFormKandang = ({
formType = 'add',
initialValues,
@@ -21,9 +24,20 @@ const ChickinFormKandang = ({
}) => {
const [activeTabId, setActiveTabId] = useState<string>('formChickIn');
const {
approvals,
isLoading: approvalsLoading,
refresh: refreshApprovals,
} = useApprovalSteps({
moduleUrl: `/production/project-flock-kandangs/${initialValues?.id}`,
moduleName: 'PROJECT_FLOCK_KANDANGS',
moduleId: initialValues?.id.toString() ?? '',
});
const afterSubmitFormChickin = () => {
setActiveTabId('logsChickIn');
afterSubmit && afterSubmit();
refreshApprovals();
};
return (
@@ -32,6 +46,11 @@ const ChickinFormKandang = ({
title='Chick In DOC'
backUrl={`/production/project-flock/chickin/add?projectFlockId=${initialValues?.project_flock?.id}`}
/>
{approvals && !approvalsLoading && (
<ApprovalSteps approvals={approvals} />
)}
<Card
title='Informasi Kandang'
className={{
@@ -108,7 +127,7 @@ const ChickinFormKandang = ({
content: (
<ChickinLogsView
initialValues={initialValues}
afterSubmit={afterSubmit}
afterSubmit={afterSubmitFormChickin}
/>
),
id: 'logsChickIn',
@@ -47,9 +47,7 @@ const ChickinLogsView = ({
}
confirmModal.closeModal();
setIsApproveLoading(false);
if (afterSubmit) {
afterSubmit();
}
afterSubmit && afterSubmit();
};
return (