11import shouldStartLocationPermissionFlowSelector from '@selectors/LocationPermission' ;
22import { hasSeenTourSelector } from '@selectors/Onboarding' ;
3- import { useEffect , useMemo , useState } from 'react' ;
3+ import { useMemo , useState } from 'react' ;
44import TestReceipt from '@assets/images/fake-receipt.png' ;
55import useDefaultExpensePolicy from '@hooks/useDefaultExpensePolicy' ;
66import useFilesValidation from '@hooks/useFilesValidation' ;
@@ -24,6 +24,7 @@ import {setMoneyRequestReceipt} from '@userActions/IOU';
2424import { buildOptimisticTransactionAndCreateDraft , removeDraftTransactionsByIDs } from '@userActions/TransactionEdit' ;
2525import CONST from '@src/CONST' ;
2626import ONYXKEYS from '@src/ONYXKEYS' ;
27+ import SCREENS from '@src/SCREENS' ;
2728import { validTransactionDraftsSelector } from '@src/selectors/TransactionDraft' ;
2829import type Transaction from '@src/types/onyx/Transaction' ;
2930import type { FileObject } from '@src/types/utils/Attachment' ;
@@ -38,8 +39,7 @@ function useReceiptScan({
3839 currentUserPersonalDetails,
3940 backTo,
4041 backToReport,
41- isMultiScanEnabled = false ,
42- isStartingScan = false ,
42+ routeName,
4343 updateScanAndNavigate,
4444 getSource,
4545} : UseReceiptScanParams ) {
@@ -70,9 +70,11 @@ function useReceiptScan({
7070 const [ userBillingGracePeriodEnds ] = useOnyx ( ONYXKEYS . COLLECTION . SHARED_NVP_PRIVATE_USER_BILLING_GRACE_PERIOD_END ) ;
7171 const [ ownerBillingGracePeriodEnd ] = useOnyx ( ONYXKEYS . NVP_PRIVATE_OWNER_BILLING_GRACE_PERIOD_END ) ;
7272 const draftTransactionIDs = Object . keys ( allTransactionDrafts ?? { } ) ;
73+ const [ isMultiScanEnabled , setIsMultiScanEnabled ] = useState ( false ) ;
7374
7475 const isEditing = action === CONST . IOU . ACTION . EDIT ;
7576 const isReplacingReceipt = ( isEditing && hasReceipt ( initialTransaction ) ) || ( ! ! initialTransaction ?. receipt && ! ! backTo ) ;
77+ const isStartingScan = routeName === SCREENS . MONEY_REQUEST . CREATE ;
7678 const shouldAcceptMultipleFiles = ! isEditing && ! backTo ;
7779 const shouldGenerateTransactionThreadReport = ! isBetaEnabled ( CONST . BETAS . NO_OPTIMISTIC_TRANSACTION_THREADS ) ;
7880 const isASAPSubmitBetaEnabled = isBetaEnabled ( CONST . BETAS . ASAP_SUBMIT ) ;
@@ -90,15 +92,6 @@ function useReceiptScan({
9092 const [ startLocationPermissionFlow , setStartLocationPermissionFlow ] = useState ( false ) ;
9193 const [ receiptFiles , setReceiptFiles ] = useState < ReceiptFile [ ] > ( [ ] ) ;
9294
93- // Clear receipt files when multi-scan is disabled
94- useEffect ( ( ) => {
95- if ( isMultiScanEnabled ) {
96- return ;
97- }
98- // eslint-disable-next-line react-hooks/set-state-in-effect
99- setReceiptFiles ( [ ] ) ;
100- } , [ isMultiScanEnabled ] ) ;
101-
10295 const [ recentWaypoints ] = useOnyx ( ONYXKEYS . NVP_RECENT_WAYPOINTS ) ;
10396
10497 const participants = useMemo (
@@ -232,6 +225,9 @@ function useReceiptScan({
232225 } ) ;
233226 return {
234227 transactions,
228+ isMultiScanEnabled,
229+ setIsMultiScanEnabled,
230+ isStartingScan,
235231 isEditing,
236232 isReplacingReceipt,
237233 shouldAcceptMultipleFiles,
0 commit comments