1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-04 23:14:56 +01:00
metamask-extension/ui/components/app/import-token-link/import-token-link.component.js

64 lines
2.1 KiB
JavaScript
Raw Normal View History

import React, { useContext } from 'react';
2022-05-09 19:47:06 +02:00
import { useSelector } from 'react-redux';
import { useHistory } from 'react-router-dom';
import { useI18nContext } from '../../../hooks/useI18nContext';
import { IMPORT_TOKEN_ROUTE } from '../../../helpers/constants/routes';
import Button from '../../ui/button';
import Box from '../../ui/box/box';
import { TEXT_ALIGN } from '../../../helpers/constants/design-system';
import { detectNewTokens } from '../../../store/actions';
import { MetaMetricsContext } from '../../../contexts/metametrics';
import { EVENT } from '../../../../shared/constants/metametrics';
2022-05-09 19:47:06 +02:00
import { getIsMainnet, getIsTokenDetectionSupported } from '../../../selectors';
2022-05-09 19:47:06 +02:00
export default function ImportTokenLink() {
const trackEvent = useContext(MetaMetricsContext);
const t = useI18nContext();
const history = useHistory();
2022-05-09 19:47:06 +02:00
const isMainnet = useSelector(getIsMainnet);
const isTokenDetectionSupported = useSelector(getIsTokenDetectionSupported);
const isTokenDetectionsupported =
isMainnet ||
(process.env.TOKEN_DETECTION_V2 && isTokenDetectionSupported) ||
Boolean(process.env.IN_TEST);
return (
<Box className="import-token-link" textAlign={TEXT_ALIGN.CENTER}>
2022-05-09 19:47:06 +02:00
{isTokenDetectionsupported && (
<>
<Button
className="import-token-link__link"
type="link"
onClick={() => detectNewTokens()}
>
{t('refreshList')}
</Button>
{t('or')}
</>
)}
<Button
className="import-token-link__link"
type="link"
onClick={() => {
history.push(IMPORT_TOKEN_ROUTE);
trackEvent({
event: 'Clicked "Add Token"',
category: EVENT.CATEGORIES.NAVIGATION,
properties: {
action: 'Token Menu',
legacy_event: true,
},
});
}}
>
2022-05-09 19:47:06 +02:00
{isTokenDetectionsupported
? t('importTokens')
: t('importTokens').charAt(0).toUpperCase() +
t('importTokens').slice(1)}
</Button>
</Box>
);
}