From 77f45cd22729278121b3434aee76a16759eedb0d Mon Sep 17 00:00:00 2001 From: daledah Date: Thu, 8 May 2025 18:51:30 +0700 Subject: [PATCH 01/11] fix: 61683 --- src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx b/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx index 0326b776d7f0f..19cd825ce1b91 100644 --- a/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx +++ b/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx @@ -327,7 +327,6 @@ function WorkspaceReportFieldsPage({ onSelectAll={toggleAllReportFields} ListItem={TableListItem} customListHeader={getCustomListHeader()} - listHeaderContent={shouldUseNarrowLayout ? getHeaderText() : null} shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} showScrollIndicator={false} From 5db9fe21775c3e19742ad4d4c4b2b1e11f4924aa Mon Sep 17 00:00:00 2001 From: daledah Date: Thu, 8 May 2025 18:56:04 +0700 Subject: [PATCH 02/11] fix: 61685, 61682 --- src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx b/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx index a3d4271756c89..4038f4f995559 100644 --- a/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx +++ b/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx @@ -415,7 +415,7 @@ function WorkspacePerDiemPage({route}: WorkspacePerDiemPageProps) { danger /> {shouldUseNarrowLayout && {getHeaderButtons()}} - {(!hasVisibleSubRates || isLoading) && getHeaderText()} + {hasVisibleSubRates && !isLoading && getHeaderText()} {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( Date: Thu, 8 May 2025 19:06:23 +0700 Subject: [PATCH 03/11] fix: 61669 --- src/pages/workspace/WorkspaceMembersPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 4bd342da6a07b..e79c74cb48987 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -407,7 +407,7 @@ function WorkspaceMembersPage({personalDetails, route, policy, currentUserPerson const policyOwner = policy?.owner; const currentUserLogin = currentUserPersonalDetails.login; - const invitedPrimaryToSecondaryLogins = invertObject(policy?.primaryLoginsInvited ?? {}); + const invitedPrimaryToSecondaryLogins = useMemo(() => invertObject(policy?.primaryLoginsInvited ?? {}), [policy?.primaryLoginsInvited]); const data: MemberOption[] = useMemo(() => { const result: MemberOption[] = []; From a004fb96c14adbd662b41ec47e1454122203e72a Mon Sep 17 00:00:00 2001 From: daledah Date: Thu, 8 May 2025 19:08:56 +0700 Subject: [PATCH 04/11] fix: 61652 --- src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx b/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx index 4d01113571eac..b08037fe878d1 100644 --- a/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx @@ -330,7 +330,7 @@ function ReportFieldsListValuesPage({ {translate('workspace.reportFields.listInputSubtitle')} - {filteredListValues.length > CONST.SEARCH_ITEM_LIMIT && ( + {data.length > CONST.SEARCH_ITEM_LIMIT && ( Date: Thu, 8 May 2025 19:17:58 +0700 Subject: [PATCH 05/11] fix: 61642 --- .../categories/WorkspaceCategoriesPage.tsx | 35 +++++++++---------- .../perDiem/WorkspacePerDiemPage.tsx | 26 ++++++-------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx index 23ccdbccde48b..c445d569d9f67 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx @@ -325,24 +325,6 @@ function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) { }, [setSelectedCategories, selectionMode?.isEnabled]); const hasVisibleCategories = categoryList.some((category) => category.pendingAction !== CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || isOffline); - const getHeaderText = () => ( - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.categories.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.categories.subtitle')} - )} - - ); const threeDotsMenuItems = useMemo(() => { const menuItems = []; @@ -435,7 +417,22 @@ function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) { danger /> {shouldUseNarrowLayout && {getHeaderButtons()}} - {hasVisibleCategories && !isLoading && getHeaderText()} + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.categories.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.categories.subtitle')} + )} + {categoryList.length > CONST.SEARCH_ITEM_LIMIT && ( subRate.pendingAction !== CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || isOffline); - const getHeaderText = () => ( - - - {translate('workspace.perDiem.subtitle')} - openExternalLink(CONST.DEEP_DIVE_PER_DIEM)} - > - {translate('workspace.common.learnMore')} - - - - ); - const threeDotsMenuItems = useMemo(() => { const menuItems = [ { @@ -415,7 +401,17 @@ function WorkspacePerDiemPage({route}: WorkspacePerDiemPageProps) { danger /> {shouldUseNarrowLayout && {getHeaderButtons()}} - {hasVisibleSubRates && !isLoading && getHeaderText()} + + + {translate('workspace.perDiem.subtitle')} + openExternalLink(CONST.DEEP_DIVE_PER_DIEM)} + > + {translate('workspace.common.learnMore')} + + + {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( Date: Thu, 8 May 2025 19:43:57 +0700 Subject: [PATCH 06/11] fix: 61650 --- src/libs/StringUtils.ts | 5 +++++ src/pages/workspace/WorkspaceMembersPage.tsx | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/libs/StringUtils.ts b/src/libs/StringUtils.ts index baa3ed594b434..cfac057ee004e 100644 --- a/src/libs/StringUtils.ts +++ b/src/libs/StringUtils.ts @@ -11,6 +11,10 @@ function sanitizeString(str: string): string { return deburr(str).toLowerCase().replaceAll(CONST.REGEX.NON_ALPHABETIC_AND_NON_LATIN_CHARS, ''); } +function normalizeWhitespaces(str: string): string { + return str.replace(CONST.REGEX.WHITESPACE, ' ').trim(); +} + /** * Check if the string would be empty if all invisible characters were removed. */ @@ -132,4 +136,5 @@ export default { removeDoubleQuotes, removePreCodeBlock, sortStringArrayByLength, + normalizeWhitespaces, }; diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index e79c74cb48987..71dd2c7fee309 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -57,6 +57,7 @@ import {isPersonalDetailsReady, sortAlphabetically} from '@libs/OptionsListUtils import {getAccountIDsByLogins, getDisplayNameOrDefault, getPersonalDetailsByIDs} from '@libs/PersonalDetailsUtils'; import {getMemberAccountIDsForWorkspace, isDeletedPolicyEmployee, isExpensifyTeam, isPaidGroupPolicy, isPolicyAdmin as isPolicyAdminUtils} from '@libs/PolicyUtils'; import {getDisplayNameForParticipant} from '@libs/ReportUtils'; +import StringUtils from '@libs/StringUtils'; import {convertPolicyEmployeesToApprovalWorkflows, updateWorkflowDataOnApproverRemoval} from '@libs/WorkflowUtils'; import {close} from '@userActions/Modal'; import {dismissAddedWithPrimaryLoginMessages} from '@userActions/Policy/Policy'; @@ -492,7 +493,10 @@ function WorkspaceMembersPage({personalDetails, route, policy, currentUserPerson ]); const filterMember = useCallback( - (memberOption: MemberOption, searchQuery: string) => !!memberOption.text?.toLowerCase().includes(searchQuery) || !!memberOption.alternateText?.toLowerCase().includes(searchQuery), + (memberOption: MemberOption, searchQuery: string) => + !!StringUtils.normalizeWhitespaces(memberOption.text ?? '') + .toLowerCase() + .includes(searchQuery) || !!memberOption.alternateText?.toLowerCase().includes(searchQuery), [], ); const sortMembers = useCallback((memberOptions: MemberOption[]) => sortAlphabetically(memberOptions, 'text'), []); From 437468058a5830b6ab84c2f1289f0e1ad000b495 Mon Sep 17 00:00:00 2001 From: daledah Date: Thu, 8 May 2025 19:46:14 +0700 Subject: [PATCH 07/11] fix: 61687 --- .../workspace/tags/WorkspaceTagsPage.tsx | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/src/pages/workspace/tags/WorkspaceTagsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsPage.tsx index fab5709f22ec5..f76df7441175d 100644 --- a/src/pages/workspace/tags/WorkspaceTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsPage.tsx @@ -414,25 +414,6 @@ function WorkspaceTagsPage({route}: WorkspaceTagsPageProps) { return menuItems; }, [policy, hasVisibleTags, translate, isOffline, isQuickSettingsFlow, policyID, backTo]); - const getHeaderText = () => ( - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.tags.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.tags.subtitle')} - )} - - ); - const selectionModeHeader = selectionMode?.isEnabled && shouldUseNarrowLayout; return ( @@ -484,7 +465,22 @@ function WorkspaceTagsPage({route}: WorkspaceTagsPageProps) { cancelText={translate('common.cancel')} danger /> - {(!shouldUseNarrowLayout || !hasVisibleTags || isLoading) && getHeaderText()} + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.tags.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.tags.subtitle')} + )} + {tagList.length > CONST.SEARCH_ITEM_LIMIT && ( !isMultiLevelTags && clearPolicyTagErrors(policyID, item.value, 0)} - listHeaderContent={shouldUseNarrowLayout ? getHeaderText() : null} showScrollIndicator={false} addBottomSafeAreaPadding /> From f0a6b0e2164c4c10edffb36908e06d80aa325bad Mon Sep 17 00:00:00 2001 From: daledah Date: Fri, 9 May 2025 11:45:55 +0700 Subject: [PATCH 08/11] fix: 61671 --- .../expensifyCard/WorkspaceExpensifyCardListPage.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx index a8d1d56d2f353..1206ac7a4bbbe 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx @@ -13,6 +13,7 @@ import {HandCard} from '@components/Icon/Illustrations'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import {PressableWithFeedback} from '@components/Pressable'; import ScreenWrapper from '@components/ScreenWrapper'; +import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import useBottomSafeSafeAreaPaddingStyle from '@hooks/useBottomSafeSafeAreaPaddingStyle'; import useExpensifyCardFeeds from '@hooks/useExpensifyCardFeeds'; @@ -178,7 +179,7 @@ function WorkspaceExpensifyCardListPage({route, cardsList, fundID}: WorkspaceExp {isEmptyObject(cardsList) ? ( ) : ( - <> + - + )} Date: Fri, 9 May 2025 14:01:37 +0700 Subject: [PATCH 09/11] fix: 61671 --- .../perDiem/WorkspacePerDiemPage.tsx | 81 +++++++++---------- 1 file changed, 36 insertions(+), 45 deletions(-) diff --git a/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx b/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx index f2a161b7aed4d..b9f363ae8221a 100644 --- a/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx +++ b/src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx @@ -406,33 +406,42 @@ function WorkspacePerDiemPage({route}: WorkspacePerDiemPageProps) { danger /> {shouldUseNarrowLayout && {getHeaderButtons()}} - - - {translate('workspace.perDiem.subtitle')} - openExternalLink(CONST.DEEP_DIVE_PER_DIEM)} - > - {translate('workspace.common.learnMore')} - - - - {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} - {isLoading && ( - - )} - + + {(!hasVisibleSubRates || isLoading) && getHeaderText()} + {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} + {isLoading && ( + + )} + {hasVisibleSubRates && !isLoading && ( + item && toggleSubRate(item)} + sections={[{data: filteredSubRatesList, isDisabled: false}]} + onCheckboxPress={toggleSubRate} + onSelectRow={openSubRateDetails} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + onSelectAll={toggleAllSubRates} + ListItem={TableListItem} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + listItemTitleContainerStyles={styles.flex3} + showScrollIndicator={false} + /> + )} + {!hasVisibleSubRates && !isLoading && ( )} - {hasVisibleSubRates && !isLoading && ( - item && toggleSubRate(item)} - sections={[{data: filteredSubRatesList, isDisabled: false}]} - onCheckboxPress={toggleSubRate} - onSelectRow={openSubRateDetails} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - onSelectAll={toggleAllSubRates} - ListItem={TableListItem} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - listItemTitleContainerStyles={styles.flex3} - showScrollIndicator={false} - /> - )} Date: Fri, 9 May 2025 14:25:40 +0700 Subject: [PATCH 10/11] fix: use scrollview for pages --- src/pages/workspace/WorkspaceMembersPage.tsx | 73 +++++++-------- .../categories/WorkspaceCategoriesPage.tsx | 87 +++++++++--------- .../WorkspaceCompanyCardsList.tsx | 5 +- .../distanceRates/PolicyDistanceRatesPage.tsx | 57 ++++++------ .../WorkspaceExpensifyCardListPage.tsx | 2 +- .../perDiem/WorkspacePerDiemPage.tsx | 12 ++- .../workspace/tags/WorkspaceTagsPage.tsx | 88 ++++++++++--------- .../workspace/taxes/WorkspaceTaxesPage.tsx | 88 +++++++++---------- 8 files changed, 215 insertions(+), 197 deletions(-) diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index d97b3a037934e..5e2a4b3d6ac92 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -15,6 +15,7 @@ import DecisionModal from '@components/DecisionModal'; import {Download, FallbackAvatar, MakeAdmin, Plus, RemoveMembers, Table, User, UserEye} from '@components/Icon/Expensicons'; import {ReceiptWrangler} from '@components/Icon/Illustrations'; import MessagesRow from '@components/MessagesRow'; +import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import TableListItem from '@components/SelectionList/TableListItem'; import type {ListItem, SelectionListHandle} from '@components/SelectionList/types'; @@ -725,15 +726,6 @@ function WorkspaceMembersPage({personalDetails, route, policy, currentUserPerson {() => ( <> {shouldUseNarrowLayout && {getHeaderButtons()}} - {shouldUseNarrowLayout ? {getHeaderContent()} : getHeaderContent()} - {data.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} setIsOfflineModalVisible(false)} @@ -772,33 +764,44 @@ function WorkspaceMembersPage({personalDetails, route, policy, currentUserPerson isVisible={isDownloadFailureModalVisible} onClose={() => setIsDownloadFailureModalVisible(false)} /> - {!!filteredData.length && ( - - item && toggleUser(item?.accountID)} - shouldUseUserSkeletonView - disableKeyboardShortcuts={removeMembersConfirmModalVisible} - headerMessage={getHeaderMessage()} - onSelectRow={openMemberDetails} - shouldSingleExecuteRowSelect={!isPolicyAdmin} - onCheckboxPress={(item) => toggleUser(item.accountID)} - onSelectAll={() => toggleAllUsers(filteredData)} - onDismissError={dismissError} - showLoadingPlaceholder={isLoading} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - textInputRef={textInputRef} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - showScrollIndicator={false} - addBottomSafeAreaPadding + + {shouldUseNarrowLayout ? {getHeaderContent()} : getHeaderContent()} + {data.length > CONST.SEARCH_ITEM_LIMIT && ( + - - )} + )} + {!!filteredData.length && ( + + item && toggleUser(item?.accountID)} + shouldUseUserSkeletonView + disableKeyboardShortcuts={removeMembersConfirmModalVisible} + headerMessage={getHeaderMessage()} + onSelectRow={openMemberDetails} + shouldSingleExecuteRowSelect={!isPolicyAdmin} + onCheckboxPress={(item) => toggleUser(item.accountID)} + onSelectAll={() => toggleAllUsers(filteredData)} + onDismissError={dismissError} + showLoadingPlaceholder={isLoading} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + textInputRef={textInputRef} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + showScrollIndicator={false} + addBottomSafeAreaPadding + /> + + )} + )} diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx index d5ffb3c866fa3..f1390c26967fb 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx @@ -421,30 +421,6 @@ function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) { danger /> {shouldUseNarrowLayout && {getHeaderButtons()}} - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.categories.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.categories.subtitle')} - )} - - {categoryList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} {isLoading && ( )} + + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.categories.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.categories.subtitle')} + )} + + {categoryList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} + {hasVisibleCategories && !isLoading && ( + item && toggleCategory(item)} + sections={[{data: filteredCategoryList, isDisabled: false}]} + onCheckboxPress={toggleCategory} + onSelectRow={navigateToCategorySettings} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + onSelectAll={toggleAllCategories} + ListItem={TableListItem} + onDismissError={dismissError} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + showScrollIndicator={false} + addBottomSafeAreaPadding + /> + )} + {!hasVisibleCategories && !isLoading && inputValue.length === 0 && ( )} - {hasVisibleCategories && !isLoading && ( - item && toggleCategory(item)} - sections={[{data: filteredCategoryList, isDisabled: false}]} - onCheckboxPress={toggleCategory} - onSelectRow={navigateToCategorySettings} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - onSelectAll={toggleAllCategories} - ListItem={TableListItem} - onDismissError={dismissError} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> - )} - setIsOfflineModalVisible(false)} diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx index 639ae4e73fc7a..29657e7c1d8bb 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx @@ -5,6 +5,7 @@ import {useOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import {PressableWithFeedback} from '@components/Pressable'; +import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; @@ -119,7 +120,7 @@ function WorkspaceCompanyCardsList({cardsList, policyID, handleAssignCard, isDis const isSearchEmpty = filteredSortedCards.length === 0 && inputValue.length > 0; return ( - <> + {allCards.length > 0 && ( - + ); } diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx index 802ec0312efee..5b8d08eb9b71b 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx @@ -7,6 +7,7 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import * as Expensicons from '@components/Icon/Expensicons'; import * as Illustrations from '@components/Icon/Illustrations'; import ScreenWrapper from '@components/ScreenWrapper'; +import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import TableListItem from '@components/SelectionList/TableListItem'; import type {ListItem} from '@components/SelectionList/types'; @@ -380,15 +381,6 @@ function PolicyDistanceRatesPage({ {!shouldUseNarrowLayout && headerButtons} {shouldUseNarrowLayout && {headerButtons}} - {Object.values(customUnitRates).length > 0 && getHeaderText()} - {Object.values(customUnitRates).length > CONST.SEARCH_ITEM_LIMIT && ( - - )} {isLoading && ( )} - {Object.values(customUnitRates).length > 0 && ( - item && toggleRate(item)} - sections={[{data: filteredDistanceRatesList, isDisabled: false}]} - onCheckboxPress={toggleRate} - onSelectRow={openRateDetails} - onSelectAll={toggleAllRates} - onDismissError={dismissError} - ListItem={TableListItem} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - showScrollIndicator={false} - /> - )} + + {Object.values(customUnitRates).length > 0 && getHeaderText()} + {Object.values(customUnitRates).length > CONST.SEARCH_ITEM_LIMIT && ( + + )} + {Object.values(customUnitRates).length > 0 && ( + item && toggleRate(item)} + sections={[{data: filteredDistanceRatesList, isDisabled: false}]} + onCheckboxPress={toggleRate} + onSelectRow={openRateDetails} + onSelectAll={toggleAllRates} + onDismissError={dismissError} + ListItem={TableListItem} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + showScrollIndicator={false} + /> + )} + setIsWarningModalVisible(false)} onCancel={() => setIsWarningModalVisible(false)} diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx index 1206ac7a4bbbe..eae29a280b334 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx @@ -179,7 +179,7 @@ function WorkspaceExpensifyCardListPage({route, cardsList, fundID}: WorkspaceExp {isEmptyObject(cardsList) ? ( ) : ( - + {shouldUseNarrowLayout && {getHeaderButtons()}} - {(!hasVisibleSubRates || isLoading) && getHeaderText()} + + + {translate('workspace.perDiem.subtitle')} + openExternalLink(CONST.DEEP_DIVE_PER_DIEM)} + > + {translate('workspace.common.learnMore')} + + + {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.tags.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.tags.subtitle')} - )} - - {tagList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} {isLoading && ( )} + + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.tags.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.tags.subtitle')} + )} + + {tagList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} + {hasVisibleTags && !isLoading && ( + item && toggleTag(item)} + sections={[{data: filteredTagList, isDisabled: false}]} + onCheckboxPress={toggleTag} + onSelectRow={navigateToTagSettings} + shouldSingleExecuteRowSelect={!canSelectMultiple} + onSelectAll={toggleAllTags} + ListItem={TableListItem} + customListHeader={getCustomListHeader()} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + onDismissError={(item) => !isMultiLevelTags && clearPolicyTagErrors(policyID, item.value, 0)} + showScrollIndicator={false} + addBottomSafeAreaPadding + /> + )} + {!hasVisibleTags && !isLoading && ( )} - {hasVisibleTags && !isLoading && ( - item && toggleTag(item)} - sections={[{data: filteredTagList, isDisabled: false}]} - onCheckboxPress={toggleTag} - onSelectRow={navigateToTagSettings} - shouldSingleExecuteRowSelect={!canSelectMultiple} - onSelectAll={toggleAllTags} - ListItem={TableListItem} - customListHeader={getCustomListHeader()} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - onDismissError={(item) => !isMultiLevelTags && clearPolicyTagErrors(policyID, item.value, 0)} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> - )} ); - const getHeaderText = () => ( - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.taxes.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.taxes.subtitle')} - )} - - ); - const selectionModeHeader = selectionMode?.isEnabled && shouldUseNarrowLayout; return ( @@ -385,16 +367,6 @@ function WorkspaceTaxesPage({ {!shouldUseNarrowLayout && headerButtons} {shouldUseNarrowLayout && {headerButtons}} - - {getHeaderText()} - {taxesList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} {isLoading && ( )} - item && toggleTax(item)} - sections={[{data: filteredTaxesList, isDisabled: false}]} - onCheckboxPress={toggleTax} - onSelectRow={navigateToEditTaxRate} - onSelectAll={toggleAllTaxes} - ListItem={TableListItem} - customListHeader={getCustomListHeader()} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - onDismissError={(item) => (item.keyForList ? clearTaxRateError(policyID, item.keyForList, item.pendingAction) : undefined)} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> + + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.taxes.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.taxes.subtitle')} + )} + + {taxesList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} + item && toggleTax(item)} + sections={[{data: filteredTaxesList, isDisabled: false}]} + onCheckboxPress={toggleTax} + onSelectRow={navigateToEditTaxRate} + onSelectAll={toggleAllTaxes} + ListItem={TableListItem} + customListHeader={getCustomListHeader()} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + onDismissError={(item) => (item.keyForList ? clearTaxRateError(policyID, item.keyForList, item.pendingAction) : undefined)} + showScrollIndicator={false} + addBottomSafeAreaPadding + /> + Date: Fri, 9 May 2025 15:09:08 +0700 Subject: [PATCH 11/11] revert latest changes --- src/pages/workspace/WorkspaceMembersPage.tsx | 73 +++++++-------- .../categories/WorkspaceCategoriesPage.tsx | 87 +++++++++--------- .../WorkspaceCompanyCardsList.tsx | 5 +- .../distanceRates/PolicyDistanceRatesPage.tsx | 57 ++++++------ .../WorkspaceExpensifyCardListPage.tsx | 2 +- .../perDiem/WorkspacePerDiemPage.tsx | 91 +++++++++---------- .../workspace/tags/WorkspaceTagsPage.tsx | 88 +++++++++--------- .../workspace/taxes/WorkspaceTaxesPage.tsx | 88 +++++++++--------- 8 files changed, 241 insertions(+), 250 deletions(-) diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 5e2a4b3d6ac92..d97b3a037934e 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -15,7 +15,6 @@ import DecisionModal from '@components/DecisionModal'; import {Download, FallbackAvatar, MakeAdmin, Plus, RemoveMembers, Table, User, UserEye} from '@components/Icon/Expensicons'; import {ReceiptWrangler} from '@components/Icon/Illustrations'; import MessagesRow from '@components/MessagesRow'; -import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import TableListItem from '@components/SelectionList/TableListItem'; import type {ListItem, SelectionListHandle} from '@components/SelectionList/types'; @@ -726,6 +725,15 @@ function WorkspaceMembersPage({personalDetails, route, policy, currentUserPerson {() => ( <> {shouldUseNarrowLayout && {getHeaderButtons()}} + {shouldUseNarrowLayout ? {getHeaderContent()} : getHeaderContent()} + {data.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} setIsOfflineModalVisible(false)} @@ -764,44 +772,33 @@ function WorkspaceMembersPage({personalDetails, route, policy, currentUserPerson isVisible={isDownloadFailureModalVisible} onClose={() => setIsDownloadFailureModalVisible(false)} /> - - {shouldUseNarrowLayout ? {getHeaderContent()} : getHeaderContent()} - {data.length > CONST.SEARCH_ITEM_LIMIT && ( - + item && toggleUser(item?.accountID)} + shouldUseUserSkeletonView + disableKeyboardShortcuts={removeMembersConfirmModalVisible} + headerMessage={getHeaderMessage()} + onSelectRow={openMemberDetails} + shouldSingleExecuteRowSelect={!isPolicyAdmin} + onCheckboxPress={(item) => toggleUser(item.accountID)} + onSelectAll={() => toggleAllUsers(filteredData)} + onDismissError={dismissError} + showLoadingPlaceholder={isLoading} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + textInputRef={textInputRef} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + showScrollIndicator={false} + addBottomSafeAreaPadding /> - )} - {!!filteredData.length && ( - - item && toggleUser(item?.accountID)} - shouldUseUserSkeletonView - disableKeyboardShortcuts={removeMembersConfirmModalVisible} - headerMessage={getHeaderMessage()} - onSelectRow={openMemberDetails} - shouldSingleExecuteRowSelect={!isPolicyAdmin} - onCheckboxPress={(item) => toggleUser(item.accountID)} - onSelectAll={() => toggleAllUsers(filteredData)} - onDismissError={dismissError} - showLoadingPlaceholder={isLoading} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - textInputRef={textInputRef} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> - - )} - + + )} )} diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx index f1390c26967fb..d5ffb3c866fa3 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx @@ -421,6 +421,30 @@ function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) { danger /> {shouldUseNarrowLayout && {getHeaderButtons()}} + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.categories.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.categories.subtitle')} + )} + + {categoryList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} {isLoading && ( )} - - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.categories.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.categories.subtitle')} - )} - - {categoryList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} - {hasVisibleCategories && !isLoading && ( - item && toggleCategory(item)} - sections={[{data: filteredCategoryList, isDisabled: false}]} - onCheckboxPress={toggleCategory} - onSelectRow={navigateToCategorySettings} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - onSelectAll={toggleAllCategories} - ListItem={TableListItem} - onDismissError={dismissError} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> - )} - {!hasVisibleCategories && !isLoading && inputValue.length === 0 && ( )} + {hasVisibleCategories && !isLoading && ( + item && toggleCategory(item)} + sections={[{data: filteredCategoryList, isDisabled: false}]} + onCheckboxPress={toggleCategory} + onSelectRow={navigateToCategorySettings} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + onSelectAll={toggleAllCategories} + ListItem={TableListItem} + onDismissError={dismissError} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + showScrollIndicator={false} + addBottomSafeAreaPadding + /> + )} + setIsOfflineModalVisible(false)} diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx index 29657e7c1d8bb..639ae4e73fc7a 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardsList.tsx @@ -5,7 +5,6 @@ import {useOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import {PressableWithFeedback} from '@components/Pressable'; -import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; @@ -120,7 +119,7 @@ function WorkspaceCompanyCardsList({cardsList, policyID, handleAssignCard, isDis const isSearchEmpty = filteredSortedCards.length === 0 && inputValue.length > 0; return ( - + <> {allCards.length > 0 && ( - + ); } diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx index 5b8d08eb9b71b..802ec0312efee 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx @@ -7,7 +7,6 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import * as Expensicons from '@components/Icon/Expensicons'; import * as Illustrations from '@components/Icon/Illustrations'; import ScreenWrapper from '@components/ScreenWrapper'; -import ScrollView from '@components/ScrollView'; import SearchBar from '@components/SearchBar'; import TableListItem from '@components/SelectionList/TableListItem'; import type {ListItem} from '@components/SelectionList/types'; @@ -381,6 +380,15 @@ function PolicyDistanceRatesPage({ {!shouldUseNarrowLayout && headerButtons} {shouldUseNarrowLayout && {headerButtons}} + {Object.values(customUnitRates).length > 0 && getHeaderText()} + {Object.values(customUnitRates).length > CONST.SEARCH_ITEM_LIMIT && ( + + )} {isLoading && ( )} - - {Object.values(customUnitRates).length > 0 && getHeaderText()} - {Object.values(customUnitRates).length > CONST.SEARCH_ITEM_LIMIT && ( - - )} - {Object.values(customUnitRates).length > 0 && ( - item && toggleRate(item)} - sections={[{data: filteredDistanceRatesList, isDisabled: false}]} - onCheckboxPress={toggleRate} - onSelectRow={openRateDetails} - onSelectAll={toggleAllRates} - onDismissError={dismissError} - ListItem={TableListItem} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - showScrollIndicator={false} - /> - )} - + {Object.values(customUnitRates).length > 0 && ( + item && toggleRate(item)} + sections={[{data: filteredDistanceRatesList, isDisabled: false}]} + onCheckboxPress={toggleRate} + onSelectRow={openRateDetails} + onSelectAll={toggleAllRates} + onDismissError={dismissError} + ListItem={TableListItem} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + showScrollIndicator={false} + /> + )} setIsWarningModalVisible(false)} onCancel={() => setIsWarningModalVisible(false)} diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx index eae29a280b334..1206ac7a4bbbe 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx @@ -179,7 +179,7 @@ function WorkspaceExpensifyCardListPage({route, cardsList, fundID}: WorkspaceExp {isEmptyObject(cardsList) ? ( ) : ( - + {shouldUseNarrowLayout && {getHeaderButtons()}} - - - - {translate('workspace.perDiem.subtitle')} - openExternalLink(CONST.DEEP_DIVE_PER_DIEM)} - > - {translate('workspace.common.learnMore')} - - - - {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} - {isLoading && ( - - )} - {hasVisibleSubRates && !isLoading && ( - item && toggleSubRate(item)} - sections={[{data: filteredSubRatesList, isDisabled: false}]} - onCheckboxPress={toggleSubRate} - onSelectRow={openSubRateDetails} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - onSelectAll={toggleAllSubRates} - ListItem={TableListItem} - customListHeader={getCustomListHeader()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - listItemTitleContainerStyles={styles.flex3} - showScrollIndicator={false} - /> - )} - + + + {translate('workspace.perDiem.subtitle')} + openExternalLink(CONST.DEEP_DIVE_PER_DIEM)} + > + {translate('workspace.common.learnMore')} + + + + {subRatesList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} + {isLoading && ( + + )} + {!hasVisibleSubRates && !isLoading && ( )} + {hasVisibleSubRates && !isLoading && ( + item && toggleSubRate(item)} + sections={[{data: filteredSubRatesList, isDisabled: false}]} + onCheckboxPress={toggleSubRate} + onSelectRow={openSubRateDetails} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + onSelectAll={toggleAllSubRates} + ListItem={TableListItem} + customListHeader={getCustomListHeader()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + listItemTitleContainerStyles={styles.flex3} + showScrollIndicator={false} + /> + )} + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.tags.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.tags.subtitle')} + )} + + {tagList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} {isLoading && ( )} - - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.tags.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.tags.subtitle')} - )} - - {tagList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} - {hasVisibleTags && !isLoading && ( - item && toggleTag(item)} - sections={[{data: filteredTagList, isDisabled: false}]} - onCheckboxPress={toggleTag} - onSelectRow={navigateToTagSettings} - shouldSingleExecuteRowSelect={!canSelectMultiple} - onSelectAll={toggleAllTags} - ListItem={TableListItem} - customListHeader={getCustomListHeader()} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - onDismissError={(item) => !isMultiLevelTags && clearPolicyTagErrors(policyID, item.value, 0)} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> - )} - {!hasVisibleTags && !isLoading && ( )} + {hasVisibleTags && !isLoading && ( + item && toggleTag(item)} + sections={[{data: filteredTagList, isDisabled: false}]} + onCheckboxPress={toggleTag} + onSelectRow={navigateToTagSettings} + shouldSingleExecuteRowSelect={!canSelectMultiple} + onSelectAll={toggleAllTags} + ListItem={TableListItem} + customListHeader={getCustomListHeader()} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + onDismissError={(item) => !isMultiLevelTags && clearPolicyTagErrors(policyID, item.value, 0)} + showScrollIndicator={false} + addBottomSafeAreaPadding + /> + )} ); + const getHeaderText = () => ( + + {!hasSyncError && isConnectionVerified ? ( + + {`${translate('workspace.taxes.importedFromAccountingSoftware')} `} + + {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} + + . + + ) : ( + {translate('workspace.taxes.subtitle')} + )} + + ); + const selectionModeHeader = selectionMode?.isEnabled && shouldUseNarrowLayout; return ( @@ -367,6 +385,16 @@ function WorkspaceTaxesPage({ {!shouldUseNarrowLayout && headerButtons} {shouldUseNarrowLayout && {headerButtons}} + + {getHeaderText()} + {taxesList.length > CONST.SEARCH_ITEM_LIMIT && ( + + )} {isLoading && ( )} - - - {!hasSyncError && isConnectionVerified ? ( - - {`${translate('workspace.taxes.importedFromAccountingSoftware')} `} - - {`${currentConnectionName} ${translate('workspace.accounting.settings')}`} - - . - - ) : ( - {translate('workspace.taxes.subtitle')} - )} - - {taxesList.length > CONST.SEARCH_ITEM_LIMIT && ( - - )} - item && toggleTax(item)} - sections={[{data: filteredTaxesList, isDisabled: false}]} - onCheckboxPress={toggleTax} - onSelectRow={navigateToEditTaxRate} - onSelectAll={toggleAllTaxes} - ListItem={TableListItem} - customListHeader={getCustomListHeader()} - shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} - listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} - onDismissError={(item) => (item.keyForList ? clearTaxRateError(policyID, item.keyForList, item.pendingAction) : undefined)} - showScrollIndicator={false} - addBottomSafeAreaPadding - /> - + item && toggleTax(item)} + sections={[{data: filteredTaxesList, isDisabled: false}]} + onCheckboxPress={toggleTax} + onSelectRow={navigateToEditTaxRate} + onSelectAll={toggleAllTaxes} + ListItem={TableListItem} + customListHeader={getCustomListHeader()} + shouldPreventDefaultFocusOnSelectRow={!canUseTouchScreen()} + listHeaderWrapperStyle={[styles.ph9, styles.pv3, styles.pb5]} + onDismissError={(item) => (item.keyForList ? clearTaxRateError(policyID, item.keyForList, item.pendingAction) : undefined)} + showScrollIndicator={false} + addBottomSafeAreaPadding + />