mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Update confirm transaction screen
This commit is contained in:
parent
5c5f476ba4
commit
3c1248c816
@ -128,10 +128,10 @@ async function runSendFlowTest(assert, done) {
|
||||
selectState.val('send edit')
|
||||
reactTriggerChange(selectState[0])
|
||||
|
||||
const confirmFromName = (await queryAsync($, '.confirm-screen-account-name')).first()
|
||||
const confirmFromName = (await queryAsync($, '.sender-to-recipient__sender-name')).first()
|
||||
assert.equal(confirmFromName[0].textContent, 'Send Account 2', 'confirm screen should show correct from name')
|
||||
|
||||
const confirmToName = (await queryAsync($, '.confirm-screen-account-name')).last()
|
||||
const confirmToName = (await queryAsync($, '.sender-to-recipient__recipient-name')).last()
|
||||
assert.equal(confirmToName[0].textContent, 'Send Account 3', 'confirm screen should show correct to name')
|
||||
|
||||
const confirmScreenRows = await queryAsync($, '.confirm-screen-rows')
|
||||
@ -140,7 +140,7 @@ async function runSendFlowTest(assert, done) {
|
||||
const confirmScreenTotal = confirmScreenRows.find('.confirm-screen-row-info')[2]
|
||||
assert.equal(confirmScreenTotal.textContent, '2405.36 USD', 'confirm screen should show correct total')
|
||||
|
||||
const confirmScreenBackButton = await queryAsync($, '.confirm-screen-back-button')
|
||||
const confirmScreenBackButton = await queryAsync($, '.page-container__back-button')
|
||||
confirmScreenBackButton[0].click()
|
||||
|
||||
const sendFromFieldItemInEdit = await queryAsync($, '.account-list-item')
|
||||
|
51
ui/app/components/network-display.js
Normal file
51
ui/app/components/network-display.js
Normal file
@ -0,0 +1,51 @@
|
||||
const { Component } = require('react')
|
||||
const h = require('react-hyperscript')
|
||||
const PropTypes = require('prop-types')
|
||||
const { connect } = require('react-redux')
|
||||
const NetworkDropdownIcon = require('./dropdowns/components/network-dropdown-icon')
|
||||
const t = require('../../i18n')
|
||||
|
||||
const networkToColorHash = {
|
||||
1: '#038789',
|
||||
3: '#e91550',
|
||||
42: '#690496',
|
||||
4: '#ebb33f',
|
||||
}
|
||||
|
||||
class NetworkDisplay extends Component {
|
||||
renderNetworkIcon () {
|
||||
const { network } = this.props
|
||||
const networkColor = networkToColorHash[network]
|
||||
|
||||
return networkColor
|
||||
? h(NetworkDropdownIcon, { backgroundColor: networkColor })
|
||||
: h('i.fa.fa-question-circle.fa-med', {
|
||||
style: {
|
||||
margin: '0 4px',
|
||||
color: 'rgb(125, 128, 130)',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
render () {
|
||||
const { provider: { type } } = this.props
|
||||
return h('.network-display__container', [
|
||||
this.renderNetworkIcon(),
|
||||
h('.network-name', t(type)),
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
NetworkDisplay.propTypes = {
|
||||
network: PropTypes.string,
|
||||
provider: PropTypes.object,
|
||||
}
|
||||
|
||||
const mapStateToProps = ({ metamask: { network, provider } }) => {
|
||||
return {
|
||||
network,
|
||||
provider,
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = connect(mapStateToProps)(NetworkDisplay)
|
@ -10,6 +10,7 @@ const hexToBn = require('../../../../app/scripts/lib/hex-to-bn')
|
||||
const { conversionUtil } = require('../../conversion-util')
|
||||
const t = require('../../../i18n')
|
||||
const SenderToRecipient = require('../sender-to-recipient')
|
||||
const NetworkDisplay = require('../network-display')
|
||||
|
||||
const { MIN_GAS_PRICE_HEX } = require('../send/send-constants')
|
||||
|
||||
@ -244,9 +245,12 @@ class ConfirmDeployContract extends Component {
|
||||
return (
|
||||
h('.page-container', [
|
||||
h('.page-container__header', [
|
||||
h('.page-container__back-button', {
|
||||
h('.page-container__header-row', [
|
||||
h('span.page-container__back-button', {
|
||||
onClick: () => backToAccountDetail(selectedAddress),
|
||||
}, t('back')),
|
||||
window.METAMASK_UI_TYPE === 'notification' && h(NetworkDisplay),
|
||||
]),
|
||||
h('.page-container__title', t('confirmContract')),
|
||||
h('.page-container__subtitle', t('pleaseReviewTransaction')),
|
||||
]),
|
||||
|
@ -4,7 +4,6 @@ const h = require('react-hyperscript')
|
||||
const inherits = require('util').inherits
|
||||
const actions = require('../../actions')
|
||||
const clone = require('clone')
|
||||
const Identicon = require('../identicon')
|
||||
const ethUtil = require('ethereumjs-util')
|
||||
const BN = ethUtil.BN
|
||||
const hexToBn = require('../../../../app/scripts/lib/hex-to-bn')
|
||||
@ -15,6 +14,8 @@ const {
|
||||
} = require('../../conversion-util')
|
||||
const GasFeeDisplay = require('../send/gas-fee-display-v2')
|
||||
const t = require('../../../i18n')
|
||||
const SenderToRecipient = require('../sender-to-recipient')
|
||||
const NetworkDisplay = require('../network-display')
|
||||
|
||||
const { MIN_GAS_PRICE_HEX } = require('../send/send-constants')
|
||||
|
||||
@ -257,42 +258,28 @@ ConfirmSendEther.prototype.render = function () {
|
||||
this.inputs = []
|
||||
|
||||
return (
|
||||
h('div.confirm-screen-container.confirm-send-ether', [
|
||||
// Main Send token Card
|
||||
h('div.page-container', [
|
||||
h('div.page-container__header', [
|
||||
!txMeta.lastGasPrice && h('button.confirm-screen-back-button', {
|
||||
h('.page-container', [
|
||||
h('.page-container__header', [
|
||||
h('.page-container__header-row', [
|
||||
h('span.page-container__back-button', {
|
||||
onClick: () => editTransaction(txMeta),
|
||||
style: {
|
||||
visibility: !txMeta.lastGasPrice ? 'initial' : 'hidden',
|
||||
},
|
||||
}, 'Edit'),
|
||||
h('div.page-container__title', title),
|
||||
h('div.page-container__subtitle', subtitle),
|
||||
window.METAMASK_UI_TYPE === 'notification' && h(NetworkDisplay),
|
||||
]),
|
||||
h('.page-container__title', title),
|
||||
h('.page-container__subtitle', subtitle),
|
||||
]),
|
||||
h('.page-container__content', [
|
||||
h('div.flex-row.flex-center.confirm-screen-identicons', [
|
||||
h('div.confirm-screen-account-wrapper', [
|
||||
h(
|
||||
Identicon,
|
||||
{
|
||||
address: fromAddress,
|
||||
diameter: 60,
|
||||
},
|
||||
),
|
||||
h('span.confirm-screen-account-name', fromName),
|
||||
// h('span.confirm-screen-account-number', fromAddress.slice(fromAddress.length - 4)),
|
||||
]),
|
||||
h('i.fa.fa-arrow-right.fa-lg'),
|
||||
h('div.confirm-screen-account-wrapper', [
|
||||
h(
|
||||
Identicon,
|
||||
{
|
||||
address: txParams.to,
|
||||
diameter: 60,
|
||||
},
|
||||
),
|
||||
h('span.confirm-screen-account-name', toName),
|
||||
// h('span.confirm-screen-account-number', toAddress.slice(toAddress.length - 4)),
|
||||
]),
|
||||
]),
|
||||
h(SenderToRecipient, {
|
||||
senderName: fromName,
|
||||
senderAddress: fromAddress,
|
||||
recipientName: toName,
|
||||
recipientAddress: txParams.to,
|
||||
}),
|
||||
|
||||
// h('h3.flex-center.confirm-screen-sending-to-message', {
|
||||
// style: {
|
||||
@ -448,7 +435,6 @@ ConfirmSendEther.prototype.render = function () {
|
||||
h('button.btn-confirm.page-container__footer-button.allcaps', [t('confirm')]),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
])
|
||||
)
|
||||
}
|
||||
|
@ -5,6 +5,28 @@ const t = require('../../i18n')
|
||||
const Identicon = require('./identicon')
|
||||
|
||||
class SenderToRecipient extends Component {
|
||||
renderRecipientIcon () {
|
||||
const { recipientAddress } = this.props
|
||||
return (
|
||||
recipientAddress
|
||||
? h(Identicon, { address: recipientAddress, diameter: 20 })
|
||||
: h('i.fa.fa-file-text-o')
|
||||
)
|
||||
}
|
||||
|
||||
renderRecipient () {
|
||||
const { recipientName } = this.props
|
||||
return (
|
||||
h('.sender-to-recipient__recipient', [
|
||||
this.renderRecipientIcon(),
|
||||
h(
|
||||
'.sender-to-recipient__name.sender-to-recipient__recipient-name',
|
||||
recipientName || t('newContract')
|
||||
),
|
||||
])
|
||||
)
|
||||
}
|
||||
|
||||
render () {
|
||||
const { senderName, senderAddress } = this.props
|
||||
|
||||
@ -28,10 +50,7 @@ class SenderToRecipient extends Component {
|
||||
}),
|
||||
]),
|
||||
]),
|
||||
h('.sender-to-recipient__recipient', [
|
||||
h('i.fa.fa-file-text-o'),
|
||||
h('.sender-to-recipient__name.sender-to-recipient__recipient-name', t('newContract')),
|
||||
]),
|
||||
this.renderRecipient(),
|
||||
])
|
||||
)
|
||||
}
|
||||
@ -40,6 +59,8 @@ class SenderToRecipient extends Component {
|
||||
SenderToRecipient.propTypes = {
|
||||
senderName: PropTypes.string,
|
||||
senderAddress: PropTypes.string,
|
||||
recipientName: PropTypes.string,
|
||||
recipientAddress: PropTypes.string,
|
||||
}
|
||||
|
||||
module.exports = SenderToRecipient
|
||||
|
@ -159,3 +159,15 @@
|
||||
.network-caret {
|
||||
margin: 0 8px 2px;
|
||||
}
|
||||
|
||||
.network-display {
|
||||
&__container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
|
||||
@media screen and (min-width: 576px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -526,14 +526,10 @@
|
||||
}
|
||||
|
||||
&__form {
|
||||
padding: 13px 0;
|
||||
width: 100%;
|
||||
overflow-y: auto;
|
||||
padding: 10px 0 25px;
|
||||
|
||||
@media screen and (max-width: $break-small) {
|
||||
padding: 13px 0;
|
||||
margin: 0;
|
||||
overflow-y: auto;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
}
|
||||
|
@ -106,6 +106,12 @@ input.large-input {
|
||||
}
|
||||
}
|
||||
|
||||
&__header-row {
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
&__footer {
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
@ -138,7 +144,6 @@ input.large-input {
|
||||
color: #2f9ae0;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
padding-bottom: 10px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
@ -480,8 +480,8 @@ SendTransactionScreen.prototype.renderMemoRow = function () {
|
||||
}
|
||||
|
||||
SendTransactionScreen.prototype.renderForm = function () {
|
||||
return h('div.send-v2__form', {}, [
|
||||
|
||||
return h('.page-container__content', {}, [
|
||||
h('.send-v2__form', [
|
||||
this.renderFromRow(),
|
||||
|
||||
this.renderToRow(),
|
||||
@ -492,6 +492,7 @@ SendTransactionScreen.prototype.renderForm = function () {
|
||||
|
||||
// this.renderMemoRow(),
|
||||
|
||||
]),
|
||||
])
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user