mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Update first screen to match design.
This commit is contained in:
parent
bbee238acd
commit
28eec68f85
@ -5,6 +5,8 @@ const connect = require('react-redux').connect
|
|||||||
const h = require('react-hyperscript')
|
const h = require('react-hyperscript')
|
||||||
const Mascot = require('../components/mascot')
|
const Mascot = require('../components/mascot')
|
||||||
const actions = require('../actions')
|
const actions = require('../actions')
|
||||||
|
const Tooltip = require('../components/tooltip')
|
||||||
|
const getCaretCoordinates = require('textarea-caret')
|
||||||
|
|
||||||
module.exports = connect(mapStateToProps)(InitializeMenuScreen)
|
module.exports = connect(mapStateToProps)(InitializeMenuScreen)
|
||||||
|
|
||||||
@ -54,18 +56,73 @@ InitializeMenuScreen.prototype.renderMenu = function () {
|
|||||||
},
|
},
|
||||||
}, 'MetaMask'),
|
}, 'MetaMask'),
|
||||||
|
|
||||||
|
|
||||||
|
h('div', [
|
||||||
|
h('h3', {
|
||||||
|
style: {
|
||||||
|
fontSize: '0.8em',
|
||||||
|
color: '#7F8082',
|
||||||
|
display: 'inline',
|
||||||
|
},
|
||||||
|
}, 'Encrypt your new DEN'),
|
||||||
|
|
||||||
|
h(Tooltip, {
|
||||||
|
title: 'Your DEN is your password-encrypted storage within MetaMask.',
|
||||||
|
}, [
|
||||||
|
h('i.fa.fa-question-circle.pointer', {
|
||||||
|
style: {
|
||||||
|
fontSize: '18px',
|
||||||
|
position: 'relative',
|
||||||
|
color: 'rgb(247, 134, 28)',
|
||||||
|
top: '2px',
|
||||||
|
marginLeft: '4px',
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
|
||||||
|
// password
|
||||||
|
h('input.large-input.letter-spacey', {
|
||||||
|
type: 'password',
|
||||||
|
id: 'password-box',
|
||||||
|
placeholder: 'New Password (min 8 chars)',
|
||||||
|
onInput: this.inputChanged.bind(this),
|
||||||
|
style: {
|
||||||
|
width: 260,
|
||||||
|
marginTop: 12,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
|
||||||
|
// confirm password
|
||||||
|
h('input.large-input.letter-spacey', {
|
||||||
|
type: 'password',
|
||||||
|
id: 'password-box-confirm',
|
||||||
|
placeholder: 'Confirm Password',
|
||||||
|
onKeyPress: this.createVaultOnEnter.bind(this),
|
||||||
|
onInput: this.inputChanged.bind(this),
|
||||||
|
style: {
|
||||||
|
width: 260,
|
||||||
|
marginTop: 16,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
h('button.primary', {
|
h('button.primary', {
|
||||||
onClick: this.showCreateVault.bind(this),
|
onClick: this.createNewVault.bind(this),
|
||||||
style: {
|
style: {
|
||||||
margin: 12,
|
margin: 12,
|
||||||
},
|
},
|
||||||
}, 'Create New Vault'),
|
}, 'Create'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
h('.flex-row.flex-center.flex-grow', [
|
h('.flex-row.flex-center.flex-grow', [
|
||||||
h('hr'),
|
h('p.pointer', {
|
||||||
h('div', 'Advanced (Eventually?)'),
|
style: {
|
||||||
h('hr'),
|
fontSize: '0.8em',
|
||||||
|
color: 'rgb(247, 134, 28)',
|
||||||
|
textDecoration: 'underline',
|
||||||
|
},
|
||||||
|
}, 'I already have a DEN that I would like to import'),
|
||||||
]),
|
]),
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -73,7 +130,42 @@ InitializeMenuScreen.prototype.renderMenu = function () {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
InitializeMenuScreen.prototype.showCreateVault = function () {
|
InitializeMenuScreen.prototype.createVaultOnEnter = function (event) {
|
||||||
this.props.dispatch(actions.showCreateVault())
|
if (event.key === 'Enter') {
|
||||||
|
event.preventDefault()
|
||||||
|
this.createNewVault()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
InitializeMenuScreen.prototype.createNewVault = function () {
|
||||||
|
var passwordBox = document.getElementById('password-box')
|
||||||
|
var password = passwordBox.value
|
||||||
|
var passwordConfirmBox = document.getElementById('password-box-confirm')
|
||||||
|
var passwordConfirm = passwordConfirmBox.value
|
||||||
|
// var entropy = document.getElementById('entropy-text-entry').value
|
||||||
|
|
||||||
|
if (password.length < 8) {
|
||||||
|
this.warning = 'password not long enough'
|
||||||
|
this.props.dispatch(actions.displayWarning(this.warning))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (password !== passwordConfirm) {
|
||||||
|
this.warning = 'passwords don\'t match'
|
||||||
|
this.props.dispatch(actions.displayWarning(this.warning))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
this.props.dispatch(actions.createNewVault(password, ''/* entropy*/))
|
||||||
|
}
|
||||||
|
|
||||||
|
InitializeMenuScreen.prototype.inputChanged = function (event) {
|
||||||
|
// tell mascot to look at page action
|
||||||
|
var element = event.target
|
||||||
|
var boundingRect = element.getBoundingClientRect()
|
||||||
|
var coordinates = getCaretCoordinates(element, element.selectionEnd)
|
||||||
|
this.animationEventEmitter.emit('point', {
|
||||||
|
x: boundingRect.left + coordinates.left - element.scrollLeft,
|
||||||
|
y: boundingRect.top + coordinates.top - element.scrollTop,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,6 +104,3 @@ UnlockScreen.prototype.inputChanged = function (event) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
UnlockScreen.prototype.emitAnim = function (name, a, b, c) {
|
|
||||||
this.animationEventEmitter.emit(name, a, b, c)
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user