Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion src/pages/iou/request/IOURequestStartPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import TabSelector from '@components/TabSelector/TabSelector';
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
import useHandleBackButton from '@hooks/useHandleBackButton';
import useLocalize from '@hooks/useLocalize';
import useNetwork from '@hooks/useNetwork';
import useOnyx from '@hooks/useOnyx';
import usePermissions from '@hooks/usePermissions';
import usePolicy from '@hooks/usePolicy';
Expand All @@ -20,6 +21,8 @@ import {dismissProductTraining} from '@libs/actions/Welcome';
import {isMobile} from '@libs/Browser';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID';
import getPlatform from '@libs/getPlatform';
import type Platform from '@libs/getPlatform/types';
import Navigation from '@libs/Navigation/Navigation';
import OnyxTabNavigator, {TabScreenWithFocusTrapWrapper, TopTab} from '@libs/Navigation/OnyxTabNavigator';
import {getIsUserSubmittedExpenseOrScannedReceipt} from '@libs/OptionsListUtils';
Expand All @@ -46,6 +49,9 @@ type IOURequestStartPageProps = WithWritableReportOrNotFoundProps<typeof SCREENS
defaultSelectedTab: SelectedTabRequest;
};

const platform = getPlatform(true);
const isWeb = ([CONST.PLATFORM.WEB, CONST.PLATFORM.DESKTOP, CONST.PLATFORM.MOBILE_WEB] as Platform[]).includes(platform);

function IOURequestStartPage({
route,
route: {
Expand Down Expand Up @@ -73,6 +79,7 @@ function IOURequestStartPage({
});
const [isMultiScanEnabled, setIsMultiScanEnabled] = useState((optimisticTransactions ?? []).length > 1);
const [currentDate] = useOnyx(ONYXKEYS.CURRENT_DATE, {canBeMissing: true});
const {isOffline} = useNetwork();
const [nvpDismissedProductTraining] = useOnyx(ONYXKEYS.NVP_DISMISSED_PRODUCT_TRAINING, {canBeMissing: true});

const tabTitles = {
Expand Down Expand Up @@ -185,7 +192,11 @@ function IOURequestStartPage({
const setTestReceiptAndNavigateRef = useRef<() => void>(() => {});
const {shouldShowProductTrainingTooltip, renderProductTrainingTooltip} = useProductTrainingContext(
CONST.PRODUCT_TRAINING_TOOLTIP_NAMES.SCAN_TEST_TOOLTIP,
!getIsUserSubmittedExpenseOrScannedReceipt(nvpDismissedProductTraining) && isBetaEnabled(CONST.BETAS.NEWDOT_MANAGER_MCTEST) && selectedTab === CONST.TAB_REQUEST.SCAN,
// The test receipt image is served via our server on web so it requires internet connection
!getIsUserSubmittedExpenseOrScannedReceipt(nvpDismissedProductTraining) &&
isBetaEnabled(CONST.BETAS.NEWDOT_MANAGER_MCTEST) &&
selectedTab === CONST.TAB_REQUEST.SCAN &&
!(isOffline && isWeb),
{
onConfirm: () => {
setTestReceiptAndNavigateRef?.current?.();
Expand Down
Loading