diff --git a/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx b/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx index e14dfb06dedf..9075e7ec4ff0 100644 --- a/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx +++ b/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx @@ -1,4 +1,4 @@ -import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import {useFocusEffect} from '@react-navigation/native'; import lodashSortBy from 'lodash/sortBy'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -19,6 +19,7 @@ import SelectionListWithModal from '@components/SelectionListWithModal'; import TableListItemSkeleton from '@components/Skeletons/TableRowSkeleton'; import Text from '@components/Text'; import TextLink from '@components/TextLink'; +import useCleanupSelectedOptions from '@hooks/useCleanupSelectedOptions'; import useLocalize from '@hooks/useLocalize'; import useMobileSelectionMode from '@hooks/useMobileSelectionMode'; import useNetwork from '@hooks/useNetwork'; @@ -120,7 +121,6 @@ function WorkspacePerDiemPage({route}: WorkspacePerDiemPageProps) { const [selectedPerDiem, setSelectedPerDiem] = useState([]); const [deletePerDiemConfirmModalVisible, setDeletePerDiemConfirmModalVisible] = useState(false); const [isDownloadFailureModalVisible, setIsDownloadFailureModalVisible] = useState(false); - const isFocused = useIsFocused(); const policyID = route.params.policyID; const backTo = route.params?.backTo; const policy = usePolicy(policyID); @@ -150,12 +150,8 @@ function WorkspacePerDiemPage({route}: WorkspacePerDiemPageProps) { }, [fetchPerDiem]), ); - useEffect(() => { - if (isFocused) { - return; - } - setSelectedPerDiem([]); - }, [isFocused]); + const cleanupSelectedOption = useCallback(() => setSelectedPerDiem([]), []); + useCleanupSelectedOptions(cleanupSelectedOption); const subRatesList = useMemo( () => @@ -233,6 +229,10 @@ function WorkspacePerDiemPage({route}: WorkspacePerDiemPageProps) { }; const openSubRateDetails = (rate: PolicyOption) => { + if (isSmallScreenWidth && selectionMode?.isEnabled) { + toggleSubRate(rate); + return; + } Navigation.navigate(ROUTES.WORKSPACE_PER_DIEM_DETAILS.getRoute(policyID, rate.rateID, rate.subRateID)); };