A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
ciphermask/ui/hooks/useSegmentContext.js

46 lines
1.2 KiB

import { useSelector } from 'react-redux';
import { useRouteMatch } from 'react-router-dom';
import { PATH_NAME_MAP } from '../helpers/constants/routes';
import { txDataSelector } from '../selectors';
const PATHS_TO_CHECK = Object.keys(PATH_NAME_MAP);
/**
* Returns the current page if it matches our route map, as well as the origin
* if there is a confirmation that was triggered by a dapp. These values are
* not required but add valuable context to events, and should be included in
* the context object on the event payload.
*
* @returns {{
* page?: MetaMetricsPageObject
* referrer?: MetaMetricsReferrerObject
* }}
*/
export function useSegmentContext() {
const match = useRouteMatch({
path: PATHS_TO_CHECK,
exact: true,
strict: true,
});
const txData = useSelector(txDataSelector) || {};
const confirmTransactionOrigin = txData.origin;
const referrer = confirmTransactionOrigin
? {
url: confirmTransactionOrigin,
}
: undefined;
const page = match
? {
path: match.path,
title: PATH_NAME_MAP[match.path],
url: match.path,
}
: undefined;
return {
page,
referrer,
};
}