From 83f3177ab8dd6ce0b55e553d660b5b35f4d70bf6 Mon Sep 17 00:00:00 2001 From: thelullabyy Date: Fri, 25 Jul 2025 15:13:38 +0800 Subject: [PATCH 1/4] fix: note here page issue --- .../approvals/WorkspaceWorkflowsApprovalsEditPage.tsx | 1 + .../WorkspaceWorkflowsApprovalsExpensesFromPage.tsx | 2 +- src/types/onyx/ApprovalWorkflow.ts | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx index e1e9ca0f796c..3690edee1300 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx @@ -111,6 +111,7 @@ function WorkspaceWorkflowsApprovalsEditPage({policy, isLoadingReportData = true usedApproverEmails, action: CONST.APPROVAL_WORKFLOW.ACTION.EDIT, errors: null, + originalApprovers: currentApprovalWorkflow.approvers, }); setInitialApprovalWorkflow(currentApprovalWorkflow); }, [currentApprovalWorkflow, defaultWorkflowMembers, initialApprovalWorkflow, usedApproverEmails]); diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx index e869483e3495..5636b0574cf3 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx @@ -68,7 +68,7 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat const shouldShowNotFoundView = (isEmptyObject(policy) && !isLoadingReportData) || !isPolicyAdmin(policy) || isPendingDeletePolicy(policy); const isInitialCreationFlow = approvalWorkflow?.action === CONST.APPROVAL_WORKFLOW.ACTION.CREATE && !route.params.backTo; const shouldShowListEmptyContent = !isLoadingApprovalWorkflow && approvalWorkflow && approvalWorkflow.availableMembers.length === 0; - const firstApprover = approvalWorkflow?.approvers?.[0]?.email ?? ''; + const firstApprover = approvalWorkflow?.originalApprovers?.[0]?.email ?? ''; const personalDetailLogins = useDeepCompareRef(Object.fromEntries(Object.entries(personalDetails ?? {}).map(([id, details]) => [id, details?.login]))); diff --git a/src/types/onyx/ApprovalWorkflow.ts b/src/types/onyx/ApprovalWorkflow.ts index 8c3f7ed555f0..3a728436e828 100644 --- a/src/types/onyx/ApprovalWorkflow.ts +++ b/src/types/onyx/ApprovalWorkflow.ts @@ -114,6 +114,11 @@ type ApprovalWorkflowOnyx = Omit & { * Errors for the workflow */ errors?: Record; + + /** + * List of original approvers in the workflow + */ + originalApprovers: Approver[]; }; export default ApprovalWorkflow; From 6a941638aecaa7ffeac1bac0116b3b449a1da52e Mon Sep 17 00:00:00 2001 From: thelullabyy Date: Fri, 25 Jul 2025 15:43:15 +0800 Subject: [PATCH 2/4] fix: type --- src/libs/WorkflowUtils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/WorkflowUtils.ts b/src/libs/WorkflowUtils.ts index 240f008d617e..35b3be829685 100644 --- a/src/libs/WorkflowUtils.ts +++ b/src/libs/WorkflowUtils.ts @@ -15,6 +15,7 @@ const INITIAL_APPROVAL_WORKFLOW: ApprovalWorkflowOnyx = { usedApproverEmails: [], isDefault: false, action: CONST.APPROVAL_WORKFLOW.ACTION.CREATE, + originalApprovers: [], }; type GetApproversParams = { From bbcd619a3b95f65ca8fa66ca3f872ee09c65cd4d Mon Sep 17 00:00:00 2001 From: thelullabyy Date: Fri, 25 Jul 2025 15:48:38 +0800 Subject: [PATCH 3/4] fix: type --- .../approvals/WorkspaceWorkflowsApprovalsEditPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx index 3690edee1300..d4a89348cd98 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx @@ -34,8 +34,8 @@ type WorkspaceWorkflowsApprovalsEditPageProps = WithPolicyAndFullscreenLoadingPr function WorkspaceWorkflowsApprovalsEditPage({policy, isLoadingReportData = true, route}: WorkspaceWorkflowsApprovalsEditPageProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST); - const [approvalWorkflow] = useOnyx(ONYXKEYS.APPROVAL_WORKFLOW); + const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false}); + const [approvalWorkflow] = useOnyx(ONYXKEYS.APPROVAL_WORKFLOW, {canBeMissing: false}); const [initialApprovalWorkflow, setInitialApprovalWorkflow] = useState(); const [isDeleteModalVisible, setIsDeleteModalVisible] = useState(false); const formRef = useRef(null); From 7cf1a6dafcdd5ebd546c7fc6971682b62c860b89 Mon Sep 17 00:00:00 2001 From: thelullabyy Date: Fri, 25 Jul 2025 15:59:11 +0800 Subject: [PATCH 4/4] fix: type --- .../approvals/WorkspaceWorkflowsApprovalsEditPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx index d4a89348cd98..3d7bbfefa78a 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx @@ -34,8 +34,8 @@ type WorkspaceWorkflowsApprovalsEditPageProps = WithPolicyAndFullscreenLoadingPr function WorkspaceWorkflowsApprovalsEditPage({policy, isLoadingReportData = true, route}: WorkspaceWorkflowsApprovalsEditPageProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false}); - const [approvalWorkflow] = useOnyx(ONYXKEYS.APPROVAL_WORKFLOW, {canBeMissing: false}); + const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: true}); + const [approvalWorkflow] = useOnyx(ONYXKEYS.APPROVAL_WORKFLOW, {canBeMissing: true}); const [initialApprovalWorkflow, setInitialApprovalWorkflow] = useState(); const [isDeleteModalVisible, setIsDeleteModalVisible] = useState(false); const formRef = useRef(null);