Skip to content

Commit b88e36c

Browse files
committed
refactor: migrate components/app files to v5-compat
1 parent b9acd29 commit b88e36c

File tree

20 files changed

+60
-53
lines changed

20 files changed

+60
-53
lines changed

ui/components/app/basic-configuration-modal/basic-configuration-modal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useContext, useMemo, useState } from 'react';
2-
import { useLocation } from 'react-router-dom';
2+
import { useLocation } from 'react-router-dom-v5-compat';
33
import { useDispatch, useSelector } from 'react-redux';
44
import {
55
Display,

ui/components/app/connected-sites-list/connected-snaps.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useState } from 'react';
22
import PropTypes from 'prop-types';
3-
import { useHistory } from 'react-router-dom';
3+
import { useNavigate } from 'react-router-dom-v5-compat';
44
import { useDispatch, useSelector } from 'react-redux';
55
import { Box, IconName, IconSize, Text } from '../../component-library';
66
import { useI18nContext } from '../../../hooks/useI18nContext';
@@ -22,7 +22,7 @@ import { SnapIcon } from '../snaps/snap-icon';
2222
export default function ConnectedSnaps({ connectedSubjects }) {
2323
const [showOptions, setShowOptions] = useState();
2424
const t = useI18nContext();
25-
const history = useHistory();
25+
const navigate = useNavigate();
2626
const dispatch = useDispatch();
2727
const connectedOrigin = useSelector(getOriginOfCurrentTab);
2828

@@ -48,7 +48,7 @@ export default function ConnectedSnaps({ connectedSubjects }) {
4848
</MenuItem>
4949
<MenuItem
5050
iconName={IconName.Setting}
51-
onClick={() => history.push(getSnapRoute(snapId))}
51+
onClick={() => navigate(getSnapRoute(snapId))}
5252
>
5353
{t('snapsSettings')}
5454
</MenuItem>

ui/components/app/modals/convert-token-to-nft-modal/convert-token-to-nft-modal.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3-
import { useHistory } from 'react-router-dom';
3+
import { useNavigate } from 'react-router-dom-v5-compat';
44
import { useDispatch, useSelector } from 'react-redux';
55
import Modal from '../../modal';
66
import { Text } from '../../../component-library/text';
@@ -13,7 +13,7 @@ import { isEqualCaseInsensitive } from '../../../../../shared/modules/string-uti
1313
import { getSelectedNetworkClientId } from '../../../../../shared/modules/selectors/networks';
1414

1515
const ConvertTokenToNFTModal = ({ hideModal, tokenAddress }) => {
16-
const history = useHistory();
16+
const navigate = useNavigate();
1717
const t = useI18nContext();
1818
const dispatch = useDispatch();
1919
const allNfts = useSelector(getNfts);
@@ -34,7 +34,7 @@ const ConvertTokenToNFTModal = ({ hideModal, tokenAddress }) => {
3434
}),
3535
);
3636
const { tokenId } = tokenAddedAsNFT;
37-
history.push({
37+
navigate({
3838
pathname: `${ASSET_ROUTE}/${tokenAddress}/${tokenId}`,
3939
});
4040
} else {

ui/components/app/modals/identity/turn-on-backup-and-sync-modal/turn-on-backup-and-sync-modal.test.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@ jest.mock('react-redux', () => ({
2626
useDispatch: () => mockDispatch,
2727
}));
2828

29-
const mockHistoryPush = jest.fn();
30-
jest.mock('react-router-dom', () => ({
31-
useHistory: () => ({
32-
push: mockHistoryPush,
33-
}),
34-
}));
29+
const mockUseNavigate = jest.fn();
30+
jest.mock('react-router-dom-v5-compat', () => {
31+
return {
32+
...jest.requireActual('react-router-dom-v5-compat'),
33+
useNavigate: () => mockUseNavigate,
34+
};
35+
});
3536

3637
const mockSetIsBackupAndSyncFeatureEnabled = jest.fn();
3738
jest.mock('../../../../../hooks/identity/useBackupAndSync', () => ({
@@ -151,7 +152,7 @@ describe('TurnOnBackupAndSyncModal', () => {
151152
fireEvent.click(button);
152153

153154
await waitFor(() => {
154-
expect(mockHistoryPush).toHaveBeenCalledWith(BACKUPANDSYNC_ROUTE);
155+
expect(mockUseNavigate).toHaveBeenCalledWith(BACKUPANDSYNC_ROUTE);
155156
expect(mockSetIsBackupAndSyncFeatureEnabled).toHaveBeenCalledWith(
156157
BACKUPANDSYNC_FEATURES.main,
157158
true,

ui/components/app/modals/identity/turn-on-backup-and-sync-modal/turn-on-backup-and-sync-modal.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useContext } from 'react';
22
import { useDispatch, useSelector } from 'react-redux';
3-
import { useHistory } from 'react-router-dom';
3+
import { useNavigate } from 'react-router-dom-v5-compat';
44
import { BACKUPANDSYNC_FEATURES } from '@metamask/profile-sync-controller/user-storage';
55
import { useModalProps } from '../../../../../hooks/useModalProps';
66
import {
@@ -47,7 +47,7 @@ export const turnOnBackupAndSyncModalTestIds = {
4747
// eslint-disable-next-line @typescript-eslint/naming-convention
4848
export function TurnOnBackupAndSyncModal() {
4949
const { hideModal } = useModalProps();
50-
const history = useHistory();
50+
const navigate = useNavigate();
5151
const dispatch = useDispatch();
5252
const t = useI18nContext();
5353
const trackEvent = useContext(MetaMetricsContext);
@@ -89,7 +89,7 @@ export function TurnOnBackupAndSyncModal() {
8989
showModal({
9090
name: CONFIRM_TURN_ON_BACKUP_AND_SYNC_MODAL_NAME,
9191
enableBackupAndSync: async () => {
92-
history.push(BACKUPANDSYNC_ROUTE);
92+
navigate(BACKUPANDSYNC_ROUTE);
9393
await setIsBackupAndSyncFeatureEnabled(
9494
BACKUPANDSYNC_FEATURES.main,
9595
true,
@@ -102,7 +102,7 @@ export function TurnOnBackupAndSyncModal() {
102102
if (!isBackupAndSyncEnabled) {
103103
await setIsBackupAndSyncFeatureEnabled(BACKUPANDSYNC_FEATURES.main, true);
104104
}
105-
history.push(BACKUPANDSYNC_ROUTE);
105+
navigate(BACKUPANDSYNC_ROUTE);
106106
hideModal();
107107
};
108108

ui/components/app/modals/multichain-accounts/intro-modal/multichain-account-intro-modal.container.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import React, {
66
useMemo,
77
} from 'react';
88
import { useDispatch } from 'react-redux';
9-
import { useHistory } from 'react-router-dom';
9+
import { useNavigate } from 'react-router-dom-v5-compat';
1010

1111
import { captureException } from '../../../../../../shared/lib/sentry';
1212

@@ -28,7 +28,7 @@ export const MultichainAccountIntroModalContainer: React.FC<ContainerProps> = ({
2828
onClose,
2929
}) => {
3030
const dispatch = useDispatch();
31-
const history = useHistory();
31+
const navigate = useNavigate();
3232
const [isLoading, setIsLoading] = useState(false);
3333
const isClosingRef = useRef(false);
3434

@@ -78,7 +78,7 @@ export const MultichainAccountIntroModalContainer: React.FC<ContainerProps> = ({
7878
onClose();
7979

8080
// Navigate to account list
81-
history.push(ACCOUNT_LIST_PAGE_ROUTE);
81+
navigate(ACCOUNT_LIST_PAGE_ROUTE);
8282
}, [alignmentPromise, dispatch, history, onClose]);
8383

8484
const handleLearnMore = useCallback(() => {

ui/components/app/modals/turn-on-metamask-notifications/turn-on-metamask-notifications.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22
import configureMockStore from 'redux-mock-store';
33
import mockStore from '../../../../../test/data/mock-state.json';
4-
import { renderWithProvider } from '../../../../../test/jest';
4+
import { renderWithProvider } from '../../../../../test/lib/render-helpers-navigate';
55
import { MetamaskNotificationsProvider } from '../../../../contexts/metamask-notifications/metamask-notifications';
66
import TurnOnMetamaskNotifications from './turn-on-metamask-notifications';
77

ui/components/app/modals/turn-on-metamask-notifications/turn-on-metamask-notifications.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useContext, useEffect, useState } from 'react';
22
import { useSelector } from 'react-redux';
3-
import { useHistory } from 'react-router-dom';
3+
import { useNavigate } from 'react-router-dom-v5-compat';
44
import { I18nContext } from '../../../../contexts/i18n';
55
import { useModalProps } from '../../../../hooks/useModalProps';
66
import { useMetamaskNotificationsContext } from '../../../../contexts/metamask-notifications/metamask-notifications';
@@ -40,7 +40,7 @@ import {
4040
// eslint-disable-next-line @typescript-eslint/naming-convention
4141
export default function TurnOnMetamaskNotifications() {
4242
const { hideModal } = useModalProps();
43-
const history = useHistory();
43+
const navigate = useNavigate();
4444
const t = useContext(I18nContext);
4545
const trackEvent = useContext(MetaMetricsContext);
4646
const { listNotifications } = useMetamaskNotificationsContext();
@@ -99,7 +99,7 @@ export default function TurnOnMetamaskNotifications() {
9999

100100
useEffect(() => {
101101
if (isNotificationEnabled && !error) {
102-
history.push(NOTIFICATIONS_ROUTE);
102+
navigate(NOTIFICATIONS_ROUTE);
103103
hideModal();
104104
listNotifications();
105105
}

ui/components/app/password-outdated-modal/password-outdated-modal.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { useDispatch } from 'react-redux';
3-
import { useHistory } from 'react-router-dom';
3+
import { useNavigate } from 'react-router-dom-v5-compat';
44
import { useI18nContext } from '../../../hooks/useI18nContext';
55
import {
66
AlignItems,
@@ -32,7 +32,7 @@ import { setShowPasswordChangeToast } from '../toast-master/utils';
3232
export default function PasswordOutdatedModal() {
3333
const t = useI18nContext();
3434
const dispatch = useDispatch();
35-
const history = useHistory();
35+
const navigate = useNavigate();
3636

3737
return (
3838
<Modal
@@ -73,7 +73,7 @@ export default function PasswordOutdatedModal() {
7373
// remove the password change toast from the app state
7474
await dispatch(setShowPasswordChangeToast(null));
7575
await dispatch(lockMetamask());
76-
history.push(DEFAULT_ROUTE);
76+
navigate(DEFAULT_ROUTE);
7777
}}
7878
>
7979
{t('continue')}

ui/components/app/recovery-phrase-reminder/recovery-phrase-reminder.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3-
import { useHistory } from 'react-router-dom';
3+
import { useNavigate } from 'react-router-dom-v5-compat';
44
import { useI18nContext } from '../../../hooks/useI18nContext';
55
// Helpers
66
import {
@@ -33,11 +33,11 @@ import {
3333

3434
export default function RecoveryPhraseReminder({ onConfirm }) {
3535
const t = useI18nContext();
36-
const history = useHistory();
36+
const navigate = useNavigate();
3737

3838
const handleBackUp = () => {
3939
const backUpSRPRoute = `${ONBOARDING_REVEAL_SRP_ROUTE}/?isFromReminder=true`;
40-
history.push(backUpSRPRoute);
40+
navigate(backUpSRPRoute);
4141
};
4242

4343
return (

0 commit comments

Comments
 (0)