1- import { useRoute } from '@react-navigation/native' ;
21import React from 'react' ;
32import ConnectionLayout from '@components/ConnectionLayout' ;
43import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription' ;
54import OfflineWithFeedback from '@components/OfflineWithFeedback' ;
5+ import useDynamicBackPath from '@hooks/useDynamicBackPath' ;
66import useLocalize from '@hooks/useLocalize' ;
77import useThemeStyles from '@hooks/useThemeStyles' ;
8+ import replaceCompanyCardsRoute from '@libs/Navigation/helpers/replaceCompanyCardsRoute' ;
89import Navigation from '@libs/Navigation/Navigation' ;
910import { areSettingsInErrorFields , getCurrentSageIntacctEntityName , settingsPendingAction } from '@libs/PolicyUtils' ;
10- import goBackFromExportConnection from '@navigation/helpers/goBackFromExportConnection' ;
11- import type { PlatformStackRouteProp } from '@navigation/PlatformStackNavigation/types' ;
12- import type { SettingsNavigatorParamList } from '@navigation/types' ;
1311import type { WithPolicyProps } from '@pages/workspace/withPolicy' ;
1412import withPolicyConnections from '@pages/workspace/withPolicyConnections' ;
1513import CONST from '@src/CONST' ;
16- import ROUTES from '@src/ROUTES' ;
17- import type SCREENS from '@src/SCREENS' ;
14+ import ROUTES , { DYNAMIC_ROUTES } from '@src/ROUTES' ;
1815
19- function SageIntacctExportPage ( { policy} : WithPolicyProps ) {
16+ function DynamicSageIntacctExportPage ( { policy} : WithPolicyProps ) {
2017 const { translate} = useLocalize ( ) ;
2118 const styles = useThemeStyles ( ) ;
2219 const policyID = policy ?. id ;
23- const route = useRoute < PlatformStackRouteProp < SettingsNavigatorParamList , typeof SCREENS . WORKSPACE . ACCOUNTING . SAGE_INTACCT_EXPORT > > ( ) ;
24- const backTo = route ?. params ?. backTo ;
20+ const backPath = useDynamicBackPath ( DYNAMIC_ROUTES . POLICY_ACCOUNTING_SAGE_INTACCT_EXPORT . path ) ;
2521 const { export : exportConfig , pendingFields, errorFields} = policy ?. connections ?. intacct ?. config ?? { } ;
26- const shouldGoBackToSpecificRoute = exportConfig ?. reimbursable === CONST . SAGE_INTACCT_REIMBURSABLE_EXPENSE_TYPE . EXPENSE_REPORT ;
27-
28- const goBack = ( ) => {
29- return goBackFromExportConnection ( shouldGoBackToSpecificRoute , backTo ) ;
30- } ;
3122
3223 const sections = [
3324 {
@@ -64,13 +55,13 @@ function SageIntacctExportPage({policy}: WithPolicyProps) {
6455
6556 return (
6657 < ConnectionLayout
67- displayName = "SageIntacctExportPage "
58+ displayName = "DynamicSageIntacctExportPage "
6859 headerTitle = "workspace.accounting.export"
6960 headerSubtitle = { getCurrentSageIntacctEntityName ( policy , translate ( 'workspace.common.topLevel' ) ) }
7061 title = "workspace.sageIntacct.exportDescription"
7162 accessVariants = { [ CONST . POLICY . ACCESS_VARIANTS . ADMIN , CONST . POLICY . ACCESS_VARIANTS . PAID ] }
7263 policyID = { policyID }
73- onBackButtonPress = { goBack }
64+ onBackButtonPress = { ( ) => Navigation . goBack ( replaceCompanyCardsRoute ( backPath ) ) }
7465 featureName = { CONST . POLICY . MORE_FEATURES . ARE_CONNECTIONS_ENABLED }
7566 contentContainerStyle = { styles . pb2 }
7667 titleStyle = { styles . ph5 }
@@ -94,4 +85,4 @@ function SageIntacctExportPage({policy}: WithPolicyProps) {
9485 ) ;
9586}
9687
97- export default withPolicyConnections ( SageIntacctExportPage ) ;
88+ export default withPolicyConnections ( DynamicSageIntacctExportPage ) ;
0 commit comments