Skip to content

Commit 7eabae9

Browse files
Merge pull request #41513 from Expensify/hayata-remove-hook-to-get-connections-data
Remove a custom hook and usage of unnecessary HOC
2 parents c5a1f96 + ed592df commit 7eabae9

File tree

3 files changed

+14
-42
lines changed

3 files changed

+14
-42
lines changed

src/hooks/usePolicyWithConnections.ts

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/pages/workspace/categories/WorkspaceCategoriesPage.tsx

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import {useFocusEffect, useIsFocused} from '@react-navigation/native';
2+
import type {StackScreenProps} from '@react-navigation/stack';
23
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
34
import {ActivityIndicator, View} from 'react-native';
45
import {useOnyx} from 'react-native-onyx';
5-
import type {OnyxEntry} from 'react-native-onyx';
66
import Button from '@components/Button';
77
import ButtonWithDropdownMenu from '@components/ButtonWithDropdownMenu';
88
import type {DropdownOption} from '@components/ButtonWithDropdownMenu/types';
@@ -28,30 +28,24 @@ import {deleteWorkspaceCategories, setWorkspaceCategoryEnabled} from '@libs/acti
2828
import * as DeviceCapabilities from '@libs/DeviceCapabilities';
2929
import localeCompare from '@libs/LocaleCompare';
3030
import Navigation from '@libs/Navigation/Navigation';
31+
import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types';
3132
import * as PolicyUtils from '@libs/PolicyUtils';
3233
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
33-
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
34-
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
3534
import * as Policy from '@userActions/Policy';
3635
import CONST from '@src/CONST';
3736
import ONYXKEYS from '@src/ONYXKEYS';
3837
import ROUTES from '@src/ROUTES';
39-
import type * as OnyxTypes from '@src/types/onyx';
38+
import type SCREENS from '@src/SCREENS';
4039
import type DeepValueOf from '@src/types/utils/DeepValueOf';
4140

4241
type PolicyOption = ListItem & {
4342
/** Category name is used as a key for the selectedCategories state */
4443
keyForList: string;
4544
};
4645

47-
type WorkspaceCategoriesPageOnyxProps = {
48-
/** The policy the user is accessing. */
49-
policy: OnyxEntry<OnyxTypes.Policy>;
50-
};
51-
52-
type WorkspaceCategoriesPageProps = WithPolicyConnectionsProps & WorkspaceCategoriesPageOnyxProps;
46+
type WorkspaceCategoriesPageProps = StackScreenProps<WorkspacesCentralPaneNavigatorParamList, typeof SCREENS.WORKSPACE.CATEGORIES>;
5347

54-
function WorkspaceCategoriesPage({policy, route}: WorkspaceCategoriesPageProps) {
48+
function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) {
5549
const {isSmallScreenWidth} = useWindowDimensions();
5650
const styles = useThemeStyles();
5751
const theme = useTheme();
@@ -62,6 +56,7 @@ function WorkspaceCategoriesPage({policy, route}: WorkspaceCategoriesPageProps)
6256
const isFocused = useIsFocused();
6357
const {environmentURL} = useEnvironment();
6458
const policyId = route.params.policyID ?? '';
59+
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyId}`);
6560
const [policyCategories] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${policyId}`);
6661

6762
const fetchCategories = useCallback(() => {
@@ -329,4 +324,4 @@ function WorkspaceCategoriesPage({policy, route}: WorkspaceCategoriesPageProps)
329324

330325
WorkspaceCategoriesPage.displayName = 'WorkspaceCategoriesPage';
331326

332-
export default withPolicyConnections(WorkspaceCategoriesPage);
327+
export default WorkspaceCategoriesPage;

src/pages/workspace/tags/WorkspaceTagsPage.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {useFocusEffect, useIsFocused} from '@react-navigation/native';
2+
import type {StackScreenProps} from '@react-navigation/stack';
23
import lodashSortBy from 'lodash/sortBy';
34
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
45
import {ActivityIndicator, View} from 'react-native';
@@ -27,14 +28,14 @@ import useWindowDimensions from '@hooks/useWindowDimensions';
2728
import * as DeviceCapabilities from '@libs/DeviceCapabilities';
2829
import localeCompare from '@libs/LocaleCompare';
2930
import Navigation from '@libs/Navigation/Navigation';
31+
import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types';
3032
import * as PolicyUtils from '@libs/PolicyUtils';
3133
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
32-
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
33-
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
3434
import * as Policy from '@userActions/Policy';
3535
import CONST from '@src/CONST';
3636
import ONYXKEYS from '@src/ONYXKEYS';
3737
import ROUTES from '@src/ROUTES';
38+
import type SCREENS from '@src/SCREENS';
3839
import type * as OnyxTypes from '@src/types/onyx';
3940
import type * as OnyxCommon from '@src/types/onyx/OnyxCommon';
4041
import type DeepValueOf from '@src/types/utils/DeepValueOf';
@@ -53,9 +54,9 @@ type PolicyOption = ListItem & {
5354
keyForList: string;
5455
};
5556

56-
type WorkspaceTagsPageProps = WithPolicyConnectionsProps;
57+
type WorkspaceTagsPageProps = StackScreenProps<WorkspacesCentralPaneNavigatorParamList, typeof SCREENS.WORKSPACE.TAGS>;
5758

58-
function WorkspaceTagsPage({route, policy}: WorkspaceTagsPageProps) {
59+
function WorkspaceTagsPage({route}: WorkspaceTagsPageProps) {
5960
const {isSmallScreenWidth} = useWindowDimensions();
6061
const styles = useThemeStyles();
6162
const theme = useTheme();
@@ -65,6 +66,7 @@ function WorkspaceTagsPage({route, policy}: WorkspaceTagsPageProps) {
6566
const [deleteTagsConfirmModalVisible, setDeleteTagsConfirmModalVisible] = useState(false);
6667
const isFocused = useIsFocused();
6768
const policyID = route.params.policyID ?? '';
69+
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`);
6870
const [policyTags] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_TAGS}${policyID}`);
6971
const {environmentURL} = useEnvironment();
7072
const isConnectedToAccounting = Object.keys(policy?.connections ?? {}).length > 0;
@@ -336,4 +338,4 @@ function WorkspaceTagsPage({route, policy}: WorkspaceTagsPageProps) {
336338

337339
WorkspaceTagsPage.displayName = 'WorkspaceTagsPage';
338340

339-
export default withPolicyConnections(WorkspaceTagsPage);
341+
export default WorkspaceTagsPage;

0 commit comments

Comments
 (0)