mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Persisting token address via URL (Token Details page) (#13807)
This commit is contained in:
parent
6d54897cfb
commit
0a01c0e260
@ -125,7 +125,7 @@ const PATH_NAME_MAP = {
|
|||||||
[IMPORT_ACCOUNT_ROUTE]: 'Import Account Page',
|
[IMPORT_ACCOUNT_ROUTE]: 'Import Account Page',
|
||||||
[CONNECT_HARDWARE_ROUTE]: 'Connect Hardware Wallet Page',
|
[CONNECT_HARDWARE_ROUTE]: 'Connect Hardware Wallet Page',
|
||||||
[SEND_ROUTE]: 'Send Page',
|
[SEND_ROUTE]: 'Send Page',
|
||||||
[TOKEN_DETAILS]: 'Token Details Page',
|
[`${TOKEN_DETAILS}/:address`]: 'Token Details Page',
|
||||||
[`${CONNECT_ROUTE}/:id`]: 'Connect To Site Confirmation Page',
|
[`${CONNECT_ROUTE}/:id`]: 'Connect To Site Confirmation Page',
|
||||||
[`${CONNECT_ROUTE}/:id${CONNECT_CONFIRM_PERMISSIONS_ROUTE}`]: 'Grant Connected Site Permissions Confirmation Page',
|
[`${CONNECT_ROUTE}/:id${CONNECT_CONFIRM_PERMISSIONS_ROUTE}`]: 'Grant Connected Site Permissions Confirmation Page',
|
||||||
[CONNECTED_ROUTE]: 'Sites Connected To This Account Page',
|
[CONNECTED_ROUTE]: 'Sites Connected To This Account Page',
|
||||||
|
@ -68,10 +68,7 @@ export default function TokenAsset({ token }) {
|
|||||||
dispatch(showModal({ name: 'ACCOUNT_DETAILS' }));
|
dispatch(showModal({ name: 'ACCOUNT_DETAILS' }));
|
||||||
}}
|
}}
|
||||||
onViewTokenDetails={() => {
|
onViewTokenDetails={() => {
|
||||||
history.push({
|
history.push(`${TOKEN_DETAILS}/${token.address}`);
|
||||||
pathname: TOKEN_DETAILS,
|
|
||||||
state: { tokenAddress: token.address },
|
|
||||||
});
|
|
||||||
}}
|
}}
|
||||||
tokenSymbol={token.symbol}
|
tokenSymbol={token.symbol}
|
||||||
/>
|
/>
|
||||||
|
@ -155,7 +155,7 @@ export default class Routes extends Component {
|
|||||||
exact
|
exact
|
||||||
/>
|
/>
|
||||||
<Authenticated
|
<Authenticated
|
||||||
path={TOKEN_DETAILS}
|
path={`${TOKEN_DETAILS}/:address/`}
|
||||||
component={TokenDetailsPage}
|
component={TokenDetailsPage}
|
||||||
exact
|
exact
|
||||||
/>
|
/>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useContext } from 'react';
|
import React, { useContext } from 'react';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import { Redirect, useHistory } from 'react-router-dom';
|
import { Redirect, useHistory, useParams } from 'react-router-dom';
|
||||||
import { getTokens } from '../../ducks/metamask/metamask';
|
import { getTokens } from '../../ducks/metamask/metamask';
|
||||||
import { getUseTokenDetection, getTokenList } from '../../selectors';
|
import { getUseTokenDetection, getTokenList } from '../../selectors';
|
||||||
import { useCopyToClipboard } from '../../hooks/useCopyToClipboard';
|
import { useCopyToClipboard } from '../../hooks/useCopyToClipboard';
|
||||||
@ -34,7 +34,7 @@ export default function TokenDetailsPage() {
|
|||||||
const tokenList = useSelector(getTokenList);
|
const tokenList = useSelector(getTokenList);
|
||||||
const useTokenDetection = useSelector(getUseTokenDetection);
|
const useTokenDetection = useSelector(getUseTokenDetection);
|
||||||
|
|
||||||
const tokenAddress = history?.location?.state?.tokenAddress;
|
const { address: tokenAddress } = useParams();
|
||||||
const tokenMetadata = Object.values(tokenList).find((token) =>
|
const tokenMetadata = Object.values(tokenList).find((token) =>
|
||||||
isEqualCaseInsensitive(token.address, tokenAddress),
|
isEqualCaseInsensitive(token.address, tokenAddress),
|
||||||
);
|
);
|
||||||
|
@ -111,11 +111,9 @@ jest.mock('react-router-dom', () => {
|
|||||||
...original,
|
...original,
|
||||||
useHistory: () => ({
|
useHistory: () => ({
|
||||||
push: jest.fn(),
|
push: jest.fn(),
|
||||||
location: {
|
}),
|
||||||
state: {
|
useParams: () => ({
|
||||||
tokenAddress: testTokenAddress,
|
address: testTokenAddress,
|
||||||
},
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user