Create a ShapeShift tx in tx History

feature/default_network_editable
Frankie 8 years ago
parent 23aeb1c5c1
commit 3525dc0801
  1. 6
      app/scripts/lib/config-manager.js
  2. 1
      app/scripts/metamask-controller.js
  3. 4
      ui/app/components/buy-button-subview.js
  4. 79
      ui/app/components/shift-list-item.js
  5. 4
      ui/app/css/index.css

@ -340,8 +340,8 @@ ConfigManager.prototype.getShapeShiftTxList = function () {
if (tx.response.status !== 'complete') {
var requestListner = function (request) {
tx.response = JSON.parse(this.responseText)
if (tx.status === 'complete') {
tx.completeTime = new Date().getTime()
if (tx.response.status === 'complete') {
tx.time = new Date().getTime()
}
}
@ -351,6 +351,7 @@ ConfigManager.prototype.getShapeShiftTxList = function () {
shapShiftReq.send()
}
})
this.setData(data)
return shapeShiftTxList
}
@ -365,3 +366,4 @@ ConfigManager.prototype.createShapeShiftTx = function (depositAddress, depositTy
}
this.setData(data)
}

@ -322,7 +322,6 @@ module.exports = class MetamaskController {
createShapeShiftTx (depositAddress, depositType) {
this.configManager.createShapeShiftTx(depositAddress, depositType)
}
}
function noop () {}

@ -54,7 +54,7 @@ BuyButtonSubview.prototype.render = function () {
justifyContent: 'space-around',
},
}, [
h(currentForm.coinbase ? '.activeForm' : '.inactiveForm', {
h(currentForm.coinbase ? '.activeForm' : '.inactiveForm.pointer', {
onClick: () => props.dispatch(actions.coinBaseSubview()),
}, 'Coinbase'),
h('a', {
@ -67,7 +67,7 @@ BuyButtonSubview.prototype.render = function () {
},
}),
]),
h(currentForm.shapeshift ? '.activeForm' : '.inactiveForm', {
h(currentForm.shapeshift ? '.activeForm' : '.inactiveForm.pointer', {
onClick: () => props.dispatch(actions.shapeShiftSubview(props.provider.type)),
}, 'Shapeshift'),

@ -10,6 +10,7 @@ const addressSummary = require('../util').addressSummary
const CopyButton = require('./copyButton')
const EtherBalance = require('./eth-balance')
const Tooltip = require('./tooltip')
module.exports = connect(mapStateToProps)(ShiftListItem)
@ -19,14 +20,14 @@ function mapStateToProps (state) {
}
inherits(ShiftListItem, Component)
function ShiftListItem () {
Component.call(this)
}
ShiftListItem.prototype.render = function () {
const props = this.props
return (
h(`.transaction-list-item.flex-row`, {
h('.transaction-list-item.flex-row', {
style: {
paddingTop: '20px',
paddingBottom: '20px',
@ -68,8 +69,13 @@ ShiftListItem.prototype.renderUtilComponents = function () {
switch (props.response.status) {
case 'no_deposits':
return h('.flex-row', [
h(CopyButton, { value: this.props.depositAddress }),
h('i.fa.fa-qrcode.pointer', {
h(CopyButton, {
value: this.props.depositAddress,
}),
h(Tooltip, {
title: 'QR Code',
}, [
h('i.fa.fa-qrcode.pointer.pop-hover', {
onClick: () => props.dispatch(actions.reshowQrCode(props.depositAddress, props.depositType)),
style: {
margin: '5px',
@ -79,19 +85,37 @@ ShiftListItem.prototype.renderUtilComponents = function () {
color: '#F7861C',
},
}),
]),
])
case 'received':
return h('.flex-row')
case 'complete':
return h('.flex-row', [
h(CopyButton, { value: this.props.response.transaction }),
h(CopyButton, {
value: this.props.response.transaction,
}),
h('.flex-row', {
style: {
alignItems: 'baseline',
},
}, [
h('.color-orange', {
style: {
fontFamily: 'Montserrat Light',
position: 'relative',
left: '6px',
},
}, '+'),
h(EtherBalance, {
value: `+${props.response.outgoingCoin}`,
value: `${props.response.outgoingCoin}`,
width: '55px',
shorten: true,
style: {fontSize: '15px'},
})
style: {
fontSize: '15px',
},
}),
]),
])
case 'failed':
@ -106,17 +130,20 @@ ShiftListItem.prototype.renderInfo = function () {
var props = this.props
switch (props.response.status) {
case 'no_deposits':
return h('.flex-column', {style: {width: '200px', overflow: 'hidden'}}, [
return h('.flex-column', {
style: {
width: '200px',
overflow: 'hidden',
},
}, [
h('div', {
style: {
fontSize: 'x-small',
color: '#ABA9AA',
width: '100%',
},
}, [
`${props.depositType} to ETH via ShapeShift`
]),
h('div', `Status: ${props.response.status.replace('_', ' ')}`),
}, `${props.depositType} to ETH via ShapeShift`),
h('div', 'No deposits received'),
h('div', {
style: {
fontSize: 'x-small',
@ -126,17 +153,20 @@ ShiftListItem.prototype.renderInfo = function () {
}, formatDate(props.time)),
])
case 'received':
return h('.flex-column', {style: {width: '200px', overflow: 'hidden'}}, [
return h('.flex-column', {
style: {
width: '200px',
overflow: 'hidden',
},
}, [
h('div', {
style: {
fontSize: 'x-small',
color: '#ABA9AA',
width: '100%',
},
}, [
`${props.depositType} to ETH via ShapeShift`
]),
h('div', `Conversion in progress`),
}, `${props.depositType} to ETH via ShapeShift`),
h('div', 'Conversion in progress'),
h('div', {
style: {
fontSize: 'x-small',
@ -149,8 +179,13 @@ ShiftListItem.prototype.renderInfo = function () {
var url = explorerLink(props.response.transaction, parseInt('1'))
return h('.flex-column.pointer', {
style: {width: '200px', overflow: 'hidden'},
onClick: () => extension.tabs.create({ url })
style: {
width: '200px',
overflow: 'hidden',
},
onClick: () => extension.tabs.create({
url,
}),
}, [
h('div', {
style: {
@ -158,8 +193,8 @@ ShiftListItem.prototype.renderInfo = function () {
color: '#ABA9AA',
width: '100%',
},
}, `ShapeShift`),
h('div', props.completeTime),
}, 'From ShapeShift'),
h('div', formatDate(props.time)),
h('div', {
style: {
fontSize: 'x-small',

@ -592,3 +592,7 @@ div.message-container > div:first-child {
font-size: 15px;
color: #4D4D4D;
}
.pop-hover:hover {
transform: scale(1.1);
}

Loading…
Cancel
Save