aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2017-09-20 08:56:10 +0800
committerChi Kei Chan <chikeichan@gmail.com>2017-09-22 07:45:18 +0800
commit24fd16b1bee31352ef7f364804eb5f06c08c3bf6 (patch)
treee7aef133a304d4af80b1a56360e72ed687571427 /ui/app/components
parent39afbea7aaf17cfee5d7fc11299cb82e657edd7e (diff)
downloadtangerine-wallet-browser-24fd16b1bee31352ef7f364804eb5f06c08c3bf6.tar.gz
tangerine-wallet-browser-24fd16b1bee31352ef7f364804eb5f06c08c3bf6.tar.zst
tangerine-wallet-browser-24fd16b1bee31352ef7f364804eb5f06c08c3bf6.zip
Abstract account modal.
Diffstat (limited to 'ui/app/components')
-rw-r--r--ui/app/components/modals/account-details-modal.js45
-rw-r--r--ui/app/components/modals/account-modal-container.js55
-rw-r--r--ui/app/components/qr-code.js2
3 files changed, 66 insertions, 36 deletions
diff --git a/ui/app/components/modals/account-details-modal.js b/ui/app/components/modals/account-details-modal.js
index ec7e4b500..6c2eba7bd 100644
--- a/ui/app/components/modals/account-details-modal.js
+++ b/ui/app/components/modals/account-details-modal.js
@@ -3,25 +3,21 @@ const h = require('react-hyperscript')
const inherits = require('util').inherits
const connect = require('react-redux').connect
const actions = require('../../actions')
+const AccountModalContainer = require('./account-modal-container')
const { getSelectedIdentity, getSelectedAddress } = require('../../selectors')
const genAccountLink = require('../../../lib/account-link.js')
-const Identicon = require('../identicon')
const QrView = require('../qr-code')
function mapStateToProps (state) {
return {
network: state.metamask.network,
- address: state.metamask.selectedAddress,
- selectedAddress: getSelectedAddress(state),
selectedIdentity: getSelectedIdentity(state),
}
}
function mapDispatchToProps (dispatch) {
return {
- hideModal: () => {
- dispatch(actions.hideModal())
- },
+ // Is this supposed to be used somewhere?
showQrView: (selected, identity) => dispatch(actions.showQrView(selected, identity)),
}
}
@@ -34,49 +30,28 @@ function AccountDetailsModal () {
module.exports = connect(mapStateToProps, mapDispatchToProps)(AccountDetailsModal)
// Not yet pixel perfect todos:
- // fonts of qr-header and close button
+ // fonts of qr-header
AccountDetailsModal.prototype.render = function () {
const { selectedIdentity, network } = this.props
+ const { name, address } = selectedIdentity
- return h('div', { style: { borderRadius: '4px' }}, [
- h('div.account-details-modal-wrapper', [
-
- h('div', [
-
- // Needs a border; requires changes to svg
- h(Identicon, {
- address: selectedIdentity.address,
- diameter: 64,
- style: {},
- }),
-
- ]),
-
- h('div.account-details-modal-close', {
- onClick: this.props.hideModal,
- }),
-
+ return h(AccountModalContainer, {}, [
h(QrView, {
Qr: {
- message: this.props.selectedIdentity.name,
- data: this.props.selectedIdentity.address,
+ message: name,
+ data: address,
},
}),
- // divider
- h('div.account-details-modal-divider'),
+ h('div.account-modal-divider'),
h('button.btn-clear', {
- onClick: () => {
- const url = genAccountLink(selectedIdentity.address, network)
- global.platform.openWindow({ url })
- },
+ onClick: () => global.platform.openWindow({ url: genAccountLink(address, network) }),
}, [ 'View account on Etherscan' ]),
// Holding on redesign for Export Private Key functionality
h('button.btn-clear', [ 'Export private key' ]),
-
- ]),
+
])
}
diff --git a/ui/app/components/modals/account-modal-container.js b/ui/app/components/modals/account-modal-container.js
new file mode 100644
index 000000000..69650ca15
--- /dev/null
+++ b/ui/app/components/modals/account-modal-container.js
@@ -0,0 +1,55 @@
+const Component = require('react').Component
+const h = require('react-hyperscript')
+const inherits = require('util').inherits
+const connect = require('react-redux').connect
+const actions = require('../../actions')
+const { getSelectedIdentity } = require('../../selectors')
+const Identicon = require('../identicon')
+
+function mapStateToProps (state) {
+ return {
+ selectedIdentity: getSelectedIdentity(state),
+ }
+}
+
+function mapDispatchToProps (dispatch) {
+ return {
+ hideModal: () => {
+ dispatch(actions.hideModal())
+ },
+ }
+}
+
+inherits(AccountModalContainer, Component)
+function AccountModalContainer () {
+ Component.call(this)
+}
+
+module.exports = connect(mapStateToProps, mapDispatchToProps)(AccountModalContainer)
+
+AccountModalContainer.prototype.render = function () {
+ const { selectedIdentity, children } = this.props
+ console.log(`children`, children);
+ return h('div', { style: { borderRadius: '4px' }}, [
+ h('div.account-modal-container', [
+
+ h('div', [
+
+ // Needs a border; requires changes to svg
+ h(Identicon, {
+ address: selectedIdentity.address,
+ diameter: 64,
+ style: {},
+ }),
+
+ ]),
+
+ h('div.account-modal-close', {
+ onClick: this.props.hideModal,
+ }),
+
+ ...children,
+
+ ]),
+ ])
+}
diff --git a/ui/app/components/qr-code.js b/ui/app/components/qr-code.js
index 4257c1a15..dca5c8c47 100644
--- a/ui/app/components/qr-code.js
+++ b/ui/app/components/qr-code.js
@@ -52,7 +52,7 @@ QrCodeView.prototype.render = function () {
width: '247px',
},
value: Qr.data,
- readonly: true,
+ readOnly: true,
}),
// h(CopyButton, {
// value: Qr.data,