1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

ConfirmImportToken: update metrics logic (#13775)

This commit is contained in:
Ariella Vu 2022-03-02 11:03:44 -03:00 committed by GitHub
parent 063a15c085
commit e4181ec581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,4 @@
import React, { useCallback, useContext, useEffect, useState } from 'react';
import React, { useCallback, useContext, useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { useHistory } from 'react-router-dom';
import {
@ -9,9 +9,9 @@ import Button from '../../components/ui/button';
import Identicon from '../../components/ui/identicon';
import TokenBalance from '../../components/ui/token-balance';
import { I18nContext } from '../../contexts/i18n';
import { MetaMetricsContext as NewMetaMetricsContext } from '../../contexts/metametrics.new';
import { getMostRecentOverviewPage } from '../../ducks/history/history';
import { getPendingTokens } from '../../ducks/metamask/metamask';
import { useNewMetricEvent } from '../../hooks/useMetricEvent';
import { addTokens, clearPendingTokens } from '../../store/actions';
const getTokenName = (name, symbol) => {
@ -22,24 +22,11 @@ const ConfirmImportToken = () => {
const t = useContext(I18nContext);
const dispatch = useDispatch();
const history = useHistory();
const trackEvent = useContext(NewMetaMetricsContext);
const mostRecentOverviewPage = useSelector(getMostRecentOverviewPage);
const pendingTokens = useSelector(getPendingTokens);
const [addedToken, setAddedToken] = useState({});
const trackTokenAddedEvent = useNewMetricEvent({
event: 'Token Added',
category: 'Wallet',
sensitiveProperties: {
token_symbol: addedToken.symbol,
token_contract_address: addedToken.address,
token_decimal_precision: addedToken.decimals,
unlisted: addedToken.unlisted,
source: addedToken.isCustom ? 'custom' : 'list',
},
});
const handleAddTokens = useCallback(async () => {
await dispatch(addTokens(pendingTokens));
@ -47,8 +34,19 @@ const ConfirmImportToken = () => {
const firstTokenAddress = addedTokenValues?.[0].address?.toLowerCase();
addedTokenValues.forEach((pendingToken) => {
setAddedToken({ ...pendingToken });
trackEvent({
event: 'Token Added',
category: 'Wallet',
sensitiveProperties: {
token_symbol: pendingToken.symbol,
token_contract_address: pendingToken.address,
token_decimal_precision: pendingToken.decimals,
unlisted: pendingToken.unlisted,
source: pendingToken.isCustom ? 'custom' : 'list',
},
});
});
dispatch(clearPendingTokens());
if (firstTokenAddress) {
@ -56,13 +54,7 @@ const ConfirmImportToken = () => {
} else {
history.push(mostRecentOverviewPage);
}
}, [dispatch, history, mostRecentOverviewPage, pendingTokens]);
useEffect(() => {
if (Object.keys(addedToken).length) {
trackTokenAddedEvent();
}
}, [addedToken, trackTokenAddedEvent]);
}, [dispatch, history, mostRecentOverviewPage, pendingTokens, trackEvent]);
useEffect(() => {
if (Object.keys(pendingTokens).length === 0) {