|
|
|
const inherits = require('util').inherits
|
|
|
|
const Component = require('react').Component
|
|
|
|
const h = require('react-hyperscript')
|
|
|
|
const Identicon = require('./identicon')
|
|
|
|
|
|
|
|
module.exports = AccountPanel
|
|
|
|
|
|
|
|
|
|
|
|
inherits(AccountPanel, Component)
|
|
|
|
function AccountPanel () {
|
|
|
|
Component.call(this)
|
|
|
|
}
|
|
|
|
|
|
|
|
AccountPanel.prototype.render = function () {
|
|
|
|
var props = this.props
|
|
|
|
var picOrder = props.picOrder || 'left'
|
|
|
|
const { attrs, imageSeed } = props
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
|
|
|
h('.identity-panel.flex-row.flex-left', {
|
|
|
|
style: {
|
|
|
|
cursor: props.onClick ? 'pointer' : undefined,
|
|
|
|
},
|
|
|
|
onClick: props.onClick,
|
|
|
|
}, [
|
|
|
|
|
|
|
|
this.genIcon(imageSeed, picOrder),
|
|
|
|
|
|
|
|
h('div.flex-column.flex-justify-center', {
|
|
|
|
style: {
|
|
|
|
lineHeight: '15px',
|
|
|
|
order: 2,
|
|
|
|
display: 'flex',
|
|
|
|
alignItems: picOrder === 'left' ? 'flex-begin' : 'flex-end',
|
|
|
|
},
|
|
|
|
}, [
|
|
|
|
|
|
|
|
attrs.map((attr) => {
|
|
|
|
return h('span.font-small', {
|
|
|
|
key: `mini-${attr}`,
|
|
|
|
style: {
|
|
|
|
fontFamily: 'Montserrat Light, Montserrat, sans-serif',
|
|
|
|
},
|
|
|
|
}, attr)
|
|
|
|
}),
|
|
|
|
]),
|
|
|
|
])
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
AccountPanel.prototype.genIcon = function (seed, picOrder) {
|
|
|
|
const props = this.props
|
|
|
|
|
|
|
|
// When there is no seed value, this is a contract creation.
|
|
|
|
// We then show the contract icon.
|
|
|
|
if (!seed) {
|
|
|
|
return h('.identicon-wrapper.flex-column.select-none', {
|
|
|
|
style: {
|
|
|
|
order: picOrder === 'left' ? 1 : 3,
|
|
|
|
},
|
|
|
|
}, [
|
|
|
|
h('i.fa.fa-file-text-o.fa-lg', {
|
|
|
|
style: {
|
|
|
|
fontSize: '42px',
|
|
|
|
transform: 'translate(0px, -16px)',
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
])
|
|
|
|
}
|
|
|
|
|
|
|
|
// If there was a seed, we return an identicon for that address.
|
|
|
|
return h('.identicon-wrapper.flex-column.select-none', {
|
|
|
|
style: {
|
|
|
|
order: picOrder === 'left' ? 1 : 3,
|
|
|
|
},
|
|
|
|
}, [
|
|
|
|
h(Identicon, {
|
|
|
|
address: seed,
|
|
|
|
imageify: props.imageifyIdenticons,
|
|
|
|
}),
|
|
|
|
])
|
|
|
|
}
|
|
|
|
|