Skip to content

Commit

Permalink
Send metrics event for entering a/b test from confirm screen
Browse files Browse the repository at this point in the history
  • Loading branch information
danjm committed Sep 19, 2019
1 parent 96b4060 commit a647b6d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
18 changes: 18 additions & 0 deletions ui/app/pages/confirm-transaction/confirm-transaction.component.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ import {
} from '../../helpers/constants/routes'

export default class ConfirmTransaction extends Component {
static contextTypes = {
metricsEvent: PropTypes.func,
}

static propTypes = {
history: PropTypes.object.isRequired,
totalUnapprovedCount: PropTypes.number.isRequired,
Expand All @@ -39,6 +43,8 @@ export default class ConfirmTransaction extends Component {
paramsTransactionId: PropTypes.string,
getTokenParams: PropTypes.func,
isTokenMethodAction: PropTypes.bool,
fullScreenVsPopupTestGroup: PropTypes.string,
trackABTest: PropTypes.bool,
}

componentDidMount () {
Expand All @@ -53,6 +59,8 @@ export default class ConfirmTransaction extends Component {
paramsTransactionId,
getTokenParams,
isTokenMethodAction,
fullScreenVsPopupTestGroup,
trackABTest,
} = this.props

if (!totalUnapprovedCount && !send.to) {
Expand All @@ -67,6 +75,16 @@ export default class ConfirmTransaction extends Component {
}
const txId = transactionId || paramsTransactionId
if (txId) this.props.setTransactionToConfirm(txId)

if (trackABTest) {
this.context.metricsEvent({
eventOpts: {
category: 'abtesting',
action: 'fullScreenVsPopup',
name: fullScreenVsPopupTestGroup === 'fullScreen' ? 'fullscreen' : 'original',
},
})
}
}

componentDidUpdate (prevProps) {
Expand Down
15 changes: 13 additions & 2 deletions ui/app/pages/confirm-transaction/confirm-transaction.container.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,14 @@ import ConfirmTransaction from './confirm-transaction.component'
import { unconfirmedTransactionsListSelector } from '../../selectors/confirm-transaction'

const mapStateToProps = (state, ownProps) => {
const { metamask: { send, unapprovedTxs }, confirmTransaction } = state
const {
metamask: {
send,
unapprovedTxs,
abTests: { fullScreenVsPopup },
},
confirmTransaction,
} = state
const { match: { params = {} } } = ownProps
const { id } = params

Expand All @@ -29,7 +36,9 @@ const mapStateToProps = (state, ownProps) => {
const transaction = totalUnconfirmed
? unapprovedTxs[id] || unconfirmedTransactions[totalUnconfirmed - 1]
: {}
const { id: transactionId, transactionCategory } = transaction
const { id: transactionId, transactionCategory, origin } = transaction

const trackABTest = origin !== 'MetaMask'

return {
totalUnapprovedCount: totalUnconfirmed,
Expand All @@ -42,6 +51,8 @@ const mapStateToProps = (state, ownProps) => {
unconfirmedTransactions,
transaction,
isTokenMethodAction: isTokenMethodAction(transactionCategory),
trackABTest,
fullScreenVsPopupTestGroup: fullScreenVsPopup,
}
}

Expand Down

0 comments on commit a647b6d

Please sign in to comment.