From 236e110d7e86f130ffbf7e874e3918e01c92d010 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 4 Apr 2024 13:29:37 -0600 Subject: [PATCH 1/2] disable default category selector if all categories are disabled --- .../distanceRates/PolicyDistanceRatesSettingsPage.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx index dbfb853b38a..24fca0058e1 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx @@ -21,17 +21,21 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import type * as OnyxTypes from '@src/types/onyx'; import type {CustomUnit} from '@src/types/onyx/Policy'; +import * as OptionsListUtils from '@libs/OptionsListUtils'; import CategorySelector from './CategorySelector'; import UnitSelector from './UnitSelector'; type PolicyDistanceRatesSettingsPageOnyxProps = { /** Policy details */ policy: OnyxEntry; + + /** Policy categories */ + policyCategories: OnyxEntry; }; type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & StackScreenProps; -function PolicyDistanceRatesSettingsPage({policy, route}: PolicyDistanceRatesSettingsPageProps) { +function PolicyDistanceRatesSettingsPage({policy, policyCategories, route}: PolicyDistanceRatesSettingsPageProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); @@ -90,7 +94,7 @@ function PolicyDistanceRatesSettingsPage({policy, route}: PolicyDistanceRatesSet setNewUnit={setNewUnit} /> - {policy?.areCategoriesEnabled && ( + {policy?.areCategoriesEnabled && OptionsListUtils.hasEnabledOptions(policyCategories ?? {}) && ( `${ONYXKEYS.COLLECTION.POLICY}${route.params.policyID}`, }, + policyCategories: { + key: ({route}) => `${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${route.params.policyID}`, + }, })(PolicyDistanceRatesSettingsPage); From fe8adca615126f55144854f92f1be04a6acbe77d Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 4 Apr 2024 13:46:20 -0600 Subject: [PATCH 2/2] fix lint --- .../workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx index 24fca0058e1..0cf5c133e37 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx @@ -11,6 +11,7 @@ import type {UnitItemType} from '@components/UnitPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; +import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -21,7 +22,6 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import type * as OnyxTypes from '@src/types/onyx'; import type {CustomUnit} from '@src/types/onyx/Policy'; -import * as OptionsListUtils from '@libs/OptionsListUtils'; import CategorySelector from './CategorySelector'; import UnitSelector from './UnitSelector';