@@ -61,6 +61,7 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat
61
61
const shouldShowNotFoundView = ( isEmptyObject ( policy ) && ! isLoadingReportData ) || ! PolicyUtils . isPolicyAdmin ( policy ) || PolicyUtils . isPendingDeletePolicy ( policy ) ;
62
62
const isInitialCreationFlow = approvalWorkflow ?. action === CONST . APPROVAL_WORKFLOW . ACTION . CREATE && ! route . params . backTo ;
63
63
const shouldShowListEmptyContent = approvalWorkflow && approvalWorkflow . availableMembers . length === 0 ;
64
+ const firstApprover = approvalWorkflow ?. approvers ?. [ 0 ] ?. email ?? '' ;
64
65
65
66
useEffect ( ( ) => {
66
67
if ( ! approvalWorkflow ?. members ) {
@@ -129,6 +130,16 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat
129
130
] ;
130
131
} , [ approvalWorkflow ?. availableMembers , debouncedSearchTerm , policy ?. employeeList , selectedMembers , translate ] ) ;
131
132
133
+ const goBack = useCallback ( ( ) => {
134
+ let backTo ;
135
+ if ( approvalWorkflow ?. action === CONST . APPROVAL_WORKFLOW . ACTION . EDIT ) {
136
+ backTo = ROUTES . WORKSPACE_WORKFLOWS_APPROVALS_EDIT . getRoute ( route . params . policyID , firstApprover ) ;
137
+ } else if ( ! isInitialCreationFlow ) {
138
+ backTo = ROUTES . WORKSPACE_WORKFLOWS_APPROVALS_NEW . getRoute ( route . params . policyID ) ;
139
+ }
140
+ Navigation . goBack ( backTo ) ;
141
+ } , [ isInitialCreationFlow , route . params . policyID , firstApprover , approvalWorkflow ?. action ] ) ;
142
+
132
143
const nextStep = useCallback ( ( ) => {
133
144
const members : Member [ ] = selectedMembers . map ( ( member ) => ( { displayName : member . text , avatar : member . icons ?. [ 0 ] ?. source , email : member . login } ) ) ;
134
145
Workflow . setApprovalWorkflowMembers ( members ) ;
@@ -141,10 +152,9 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat
141
152
if ( approvalWorkflow ?. action === CONST . APPROVAL_WORKFLOW . ACTION . CREATE ) {
142
153
Navigation . navigate ( ROUTES . WORKSPACE_WORKFLOWS_APPROVALS_APPROVER . getRoute ( route . params . policyID , 0 ) ) ;
143
154
} else {
144
- const firstApprover = approvalWorkflow ?. approvers ?. [ 0 ] ?. email ?? '' ;
145
155
Navigation . goBack ( ROUTES . WORKSPACE_WORKFLOWS_APPROVALS_EDIT . getRoute ( route . params . policyID , firstApprover ) ) ;
146
156
}
147
- } , [ approvalWorkflow , route . params . backTo , route . params . policyID , selectedMembers ] ) ;
157
+ } , [ approvalWorkflow ?. action , firstApprover , route . params . backTo , route . params . policyID , selectedMembers ] ) ;
148
158
149
159
const button = useMemo ( ( ) => {
150
160
let buttonText = isInitialCreationFlow ? translate ( 'common.next' ) : translate ( 'common.save' ) ;
@@ -204,7 +214,7 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat
204
214
>
205
215
< HeaderWithBackButton
206
216
title = { translate ( 'workflowsExpensesFromPage.title' ) }
207
- onBackButtonPress = { ( ) => Navigation . goBack ( ) }
217
+ onBackButtonPress = { goBack }
208
218
/>
209
219
210
220
{ approvalWorkflow ?. action === CONST . APPROVAL_WORKFLOW . ACTION . CREATE && ! shouldShowListEmptyContent && (
0 commit comments