Skip to content

Commit 5f56a80

Browse files
committed
Trigger and terminate custom spans when clicking on account list item or account overview tab
1 parent 5e1a2f5 commit 5f56a80

File tree

2 files changed

+40
-6
lines changed

2 files changed

+40
-6
lines changed

ui/components/multichain/account-list-menu/account-list-menu.tsx

+19
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ import {
6868
getOriginOfCurrentTab,
6969
getSelectedInternalAccount,
7070
getUpdatedAndSortedAccounts,
71+
getDefaultHomeActiveTabName,
7172
} from '../../../selectors';
7273
import { setSelectedAccount } from '../../../store/actions';
7374
import {
@@ -234,6 +235,7 @@ export const AccountListMenu = ({
234235
),
235236
[updatedAccountsList, allowedAccountTypes],
236237
);
238+
const defaultHomeActiveTabName = useSelector(getDefaultHomeActiveTabName);
237239
///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
238240
const addSnapAccountEnabled = useSelector(getIsAddSnapAccountEnabled);
239241
///: END:ONLY_INCLUDE_IF
@@ -303,6 +305,22 @@ export const AccountListMenu = ({
303305
}
304306
}
305307

308+
const handleTraceFromTabName = (tabName: string) => {
309+
switch (tabName) {
310+
case 'nfts':
311+
endTrace({ name: TraceName.AccountOverviewNftsTab });
312+
trace({ name: TraceName.AccountOverviewNftsTab });
313+
break;
314+
case 'activity':
315+
endTrace({ name: TraceName.AccountOverviewActivityTab });
316+
trace({ name: TraceName.AccountOverviewActivityTab });
317+
break;
318+
default:
319+
endTrace({ name: TraceName.AccountOverviewAssetListTab });
320+
trace({ name: TraceName.AccountOverviewAssetListTab });
321+
}
322+
};
323+
306324
const onAccountListItemItemClicked = useCallback(
307325
(account) => {
308326
return () => {
@@ -314,6 +332,7 @@ export const AccountListMenu = ({
314332
location: 'Main Menu',
315333
},
316334
});
335+
handleTraceFromTabName(defaultHomeActiveTabName);
317336
dispatch(setSelectedAccount(account.address));
318337
};
319338
},

ui/components/multichain/account-overview/account-overview-tabs.tsx

+21-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import React, { useCallback, useContext, useEffect, useMemo } from 'react';
1+
import React, { useCallback, useContext, useMemo } from 'react';
22
import { useHistory } from 'react-router-dom';
3+
import { endTraces, trace, TraceName } from '../../../../shared/lib/trace';
34
import { useI18nContext } from '../../../hooks/useI18nContext';
45
import { ASSET_ROUTE } from '../../../helpers/constants/routes';
56
import {
@@ -37,7 +38,6 @@ import {
3738
///: BEGIN:ONLY_INCLUDE_IF(build-mmi)
3839
import InstitutionalHomeFooter from '../../../pages/home/institutional/institutional-home-footer';
3940
///: END:ONLY_INCLUDE_IF
40-
import { endTrace, trace, TraceName } from '../../../../shared/lib/trace';
4141
import { AccountOverviewCommonProps } from './common';
4242

4343
export type AccountOverviewTabsProps = AccountOverviewCommonProps & {
@@ -62,10 +62,6 @@ export const AccountOverviewTabs = ({
6262
const t = useI18nContext();
6363
const trackEvent = useContext(MetaMetricsContext);
6464

65-
useEffect(() => {
66-
endTrace({ name: TraceName.AccountOverviewTab });
67-
}, []);
68-
6965
const tabProps = useMemo(
7066
() => ({
7167
activeClassName: 'account-overview__tab--active',
@@ -85,13 +81,32 @@ export const AccountOverviewTabs = ({
8581
}
8682
};
8783

84+
const handleTraceFromTabName = (tabName: string) => {
85+
endTraces(
86+
{ name: TraceName.AccountOverviewAssetListTab },
87+
{ name: TraceName.AccountOverviewNftsTab },
88+
{ name: TraceName.AccountOverviewActivityTab },
89+
);
90+
switch (tabName) {
91+
case 'nfts':
92+
trace({ name: TraceName.AccountOverviewNftsTab });
93+
break;
94+
case 'activity':
95+
trace({ name: TraceName.AccountOverviewActivityTab });
96+
break;
97+
default:
98+
trace({ name: TraceName.AccountOverviewAssetListTab });
99+
}
100+
};
101+
88102
const handleTabClick = useCallback(
89103
(tabName: string) => {
90104
onTabClick(tabName);
91105
trackEvent({
92106
category: MetaMetricsEventCategory.Home,
93107
event: getEventFromTabName(tabName),
94108
});
109+
handleTraceFromTabName(tabName);
95110
},
96111
[onTabClick],
97112
);

0 commit comments

Comments
 (0)