Skip to content

Commit 5dab9a4

Browse files
authored
Merge pull request Expensify#64746 from callstack-internal/feature/useOnyx-wrapper
Refactor usages of useOnyx to use the App wrapper
2 parents 5b2b9c6 + 640839b commit 5dab9a4

618 files changed

Lines changed: 625 additions & 617 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,11 @@ const restrictedImportPaths = [
100100
name: 'react-native-animatable',
101101
message: "Please use 'react-native-reanimated' instead.",
102102
},
103+
{
104+
name: 'react-native-onyx',
105+
importNames: ['useOnyx'],
106+
message: "Please use '@hooks/useOnyx' instead.",
107+
},
103108
];
104109

105110
const restrictedImportPatterns = [

__mocks__/react-native-onyx.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
/* eslint-disable rulesdir/prefer-onyx-connect-in-libs */
77
import type {ConnectOptions, OnyxKey} from 'react-native-onyx';
8+
// eslint-disable-next-line no-restricted-imports
89
import Onyx, {useOnyx, withOnyx} from 'react-native-onyx';
910

1011
let connectCallbackDelay = 0;

src/Expensify.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React, {useCallback, useContext, useEffect, useLayoutEffect, useMemo, use
33
import type {NativeEventSubscription} from 'react-native';
44
import {AppState, Linking, Platform} from 'react-native';
55
import type {OnyxEntry} from 'react-native-onyx';
6-
import Onyx, {useOnyx} from 'react-native-onyx';
6+
import Onyx from 'react-native-onyx';
77
import ConfirmModal from './components/ConfirmModal';
88
import DeeplinkWrapper from './components/DeeplinkWrapper';
99
import EmojiPicker from './components/EmojiPicker/EmojiPicker';
@@ -16,6 +16,7 @@ import CONST from './CONST';
1616
import useDebugShortcut from './hooks/useDebugShortcut';
1717
import useIsAuthenticated from './hooks/useIsAuthenticated';
1818
import useLocalize from './hooks/useLocalize';
19+
import useOnyx from './hooks/useOnyx';
1920
import {updateLastRoute} from './libs/actions/App';
2021
import {disconnect} from './libs/actions/Delegate';
2122
import * as EmojiPickerAction from './libs/actions/EmojiPickerAction';

src/components/AccountSwitcher.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import {Str} from 'expensify-common';
22
import React, {useRef, useState} from 'react';
33
import {View} from 'react-native';
4-
import {useOnyx} from 'react-native-onyx';
54
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
65
import useLocalize from '@hooks/useLocalize';
76
import useNetwork from '@hooks/useNetwork';
7+
import useOnyx from '@hooks/useOnyx';
88
import useResponsiveLayout from '@hooks/useResponsiveLayout';
99
import useTheme from '@hooks/useTheme';
1010
import useThemeStyles from '@hooks/useThemeStyles';

src/components/AddPaymentCard/PaymentCardForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {useRoute} from '@react-navigation/native';
22
import React, {useCallback, useRef, useState} from 'react';
33
import type {ReactNode} from 'react';
44
import {View} from 'react-native';
5-
import {useOnyx} from 'react-native-onyx';
65
import type {ValueOf} from 'type-fest';
76
import AddressSearch from '@components/AddressSearch';
87
import CheckboxWithLabel from '@components/CheckboxWithLabel';
@@ -16,6 +15,7 @@ import Text from '@components/Text';
1615
import TextInput from '@components/TextInput';
1716
import TextLink from '@components/TextLink';
1817
import useLocalize from '@hooks/useLocalize';
18+
import useOnyx from '@hooks/useOnyx';
1919
import useThemeStyles from '@hooks/useThemeStyles';
2020
import {getFieldRequiredErrors, isValidAddress, isValidDebitCard, isValidExpirationDate, isValidLegalName, isValidPaymentZipCode, isValidSecurityCode} from '@libs/ValidationUtils';
2121
import CONST from '@src/CONST';

src/components/AnchorForAttachmentsOnly/BaseAnchorForAttachmentsOnly.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React from 'react';
2-
import {useOnyx} from 'react-native-onyx';
32
import AttachmentView from '@components/Attachments/AttachmentView';
43
import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback';
54
import {ShowContextMenuContext, showContextMenuForReport} from '@components/ShowContextMenuContext';
65
import useNetwork from '@hooks/useNetwork';
6+
import useOnyx from '@hooks/useOnyx';
77
import useThemeStyles from '@hooks/useThemeStyles';
88
import addEncryptedAuthTokenToURL from '@libs/addEncryptedAuthTokenToURL';
99
import {isMobileSafari} from '@libs/Browser';

src/components/ArchivedReportFooter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import lodashEscape from 'lodash/escape';
22
import React from 'react';
3-
import {useOnyx} from 'react-native-onyx';
43
import useLocalize from '@hooks/useLocalize';
4+
import useOnyx from '@hooks/useOnyx';
55
import useThemeStyles from '@hooks/useThemeStyles';
66
import {getCurrentUserAccountID} from '@libs/actions/Report';
77
import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils';

src/components/AttachmentModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import {Str} from 'expensify-common';
22
import React, {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react';
33
import {InteractionManager, Keyboard, View} from 'react-native';
44
import {GestureHandlerRootView} from 'react-native-gesture-handler';
5-
import {useOnyx} from 'react-native-onyx';
65
import type {OnyxEntry} from 'react-native-onyx';
76
import Animated, {FadeIn, LayoutAnimationConfig, useSharedValue} from 'react-native-reanimated';
87
import type {ValueOf} from 'type-fest';
98
import useLocalize from '@hooks/useLocalize';
109
import useNetwork from '@hooks/useNetwork';
10+
import useOnyx from '@hooks/useOnyx';
1111
import useResponsiveLayout from '@hooks/useResponsiveLayout';
1212
import useThemeStyles from '@hooks/useThemeStyles';
1313
import useWindowDimensions from '@hooks/useWindowDimensions';

src/components/AutoSubmitModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, {useCallback} from 'react';
22
import {InteractionManager, View} from 'react-native';
3-
import {useOnyx} from 'react-native-onyx';
43
import useLocalize from '@hooks/useLocalize';
4+
import useOnyx from '@hooks/useOnyx';
55
import useStyleUtils from '@hooks/useStyleUtils';
66
import useThemeStyles from '@hooks/useThemeStyles';
77
import colors from '@styles/theme/colors';

src/components/BookTravelButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import HybridAppModule from '@expensify/react-native-hybrid-app';
22
import {Str} from 'expensify-common';
33
import type {ReactElement} from 'react';
44
import React, {useCallback, useContext, useEffect, useState} from 'react';
5-
import {useOnyx} from 'react-native-onyx';
65
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
76
import useLocalize from '@hooks/useLocalize';
7+
import useOnyx from '@hooks/useOnyx';
88
import usePermissions from '@hooks/usePermissions';
99
import usePolicy from '@hooks/usePolicy';
1010
import useStyleUtils from '@hooks/useStyleUtils';

0 commit comments

Comments
 (0)