From c65db9290dd02b762c0260fe98945f63162f285d Mon Sep 17 00:00:00 2001 From: Luis Iván Cuende Date: Wed, 14 Dec 2016 09:38:20 -0800 Subject: Better editable label --- ui/app/account-detail.js | 6 +----- ui/app/components/editable-label.js | 37 ++++++------------------------------- ui/app/components/identicon.js | 2 +- ui/app/css/index.css | 2 +- ui/app/unlock.js | 8 ++++++-- 5 files changed, 15 insertions(+), 40 deletions(-) (limited to 'ui') diff --git a/ui/app/account-detail.js b/ui/app/account-detail.js index c41ba61fd..a700df52e 100644 --- a/ui/app/account-detail.js +++ b/ui/app/account-detail.js @@ -70,7 +70,7 @@ AccountDetailScreen.prototype.render = function () { // large identicon and addresses h('.identicon-wrapper.select-none', [ h(Identicon, { - diameter: 62, + diameter: 48, address: selected, }), ]), @@ -82,16 +82,12 @@ AccountDetailScreen.prototype.render = function () { }, [ h(EditableLabel, { textValue: identity ? identity.name : '', - state: { - isEditingLabel: false, - }, saveText: (text) => { props.dispatch(actions.saveAccountLabel(selected, text)) }, }, [ // What is shown when not editing + edit text: - h('label.editing-label', [h('.edit-text', 'edit')]), h('h2.font-medium.color-forest', {name: 'edit'}, identity && identity.name), ]), h('.flex-row', { diff --git a/ui/app/components/editable-label.js b/ui/app/components/editable-label.js index 41936f5e0..bc0f9a5b2 100644 --- a/ui/app/components/editable-label.js +++ b/ui/app/components/editable-label.js @@ -11,40 +11,15 @@ function EditableLabel () { } EditableLabel.prototype.render = function () { - const props = this.props - const state = this.state - - if (state && state.isEditingLabel) { - return h('div.editable-label', [ - h('input.sizing-input', { - defaultValue: props.textValue, - maxLength: '20', - onKeyPress: (event) => { - this.saveIfEnter(event) - }, - }), - h('button.editable-button', { - onClick: () => this.saveText(), - }, 'Save'), - ]) - } else { - return h('div.name-label', { - onClick: (event) => { - this.setState({ isEditingLabel: true }) - }, - }, this.props.children) - } -} - -EditableLabel.prototype.saveIfEnter = function (event) { - if (event.key === 'Enter') { - this.saveText() - } + return h('div.name-label', { + contentEditable: true, + style: { outline: 'none' }, + onInput: (event) => this.saveText(), + }, this.props.children) } EditableLabel.prototype.saveText = function () { - var container = findDOMNode(this) - var text = container.querySelector('.editable-label input').value + var text = findDOMNode(this).textContent.trim() var truncatedText = text.substring(0, 20) this.props.saveText(truncatedText) this.setState({ isEditingLabel: false, textLabel: truncatedText }) diff --git a/ui/app/components/identicon.js b/ui/app/components/identicon.js index 6d4871d02..8211867cb 100644 --- a/ui/app/components/identicon.js +++ b/ui/app/components/identicon.js @@ -12,7 +12,7 @@ inherits(IdenticonComponent, Component) function IdenticonComponent () { Component.call(this) - this.defaultDiameter = 46 + this.defaultDiameter = 32 } IdenticonComponent.prototype.render = function () { diff --git a/ui/app/css/index.css b/ui/app/css/index.css index cdaac9b37..7fba8204e 100644 --- a/ui/app/css/index.css +++ b/ui/app/css/index.css @@ -67,7 +67,7 @@ button.spaced { } button:not([disabled]):hover { - transform: scale(1.1); + transform: scale(1.05); } button:not([disabled]):active { transform: scale(0.95); diff --git a/ui/app/unlock.js b/ui/app/unlock.js index 17416766d..7193a8b2d 100644 --- a/ui/app/unlock.js +++ b/ui/app/unlock.js @@ -63,7 +63,10 @@ UnlockScreen.prototype.render = function () { h('button.primary.cursor-pointer', { onClick: this.onSubmit.bind(this), style: { - margin: 10, + position: 'absolute', + bottom: 0, + left: 0, + width: '100%', }, }, 'Unlock'), ]), @@ -72,11 +75,12 @@ UnlockScreen.prototype.render = function () { h('p.pointer', { onClick: () => this.props.dispatch(actions.goBackToInitView()), style: { + marginTop: '1rem', fontSize: '0.8em', color: 'rgb(247, 134, 28)', textDecoration: 'underline', }, - }, 'I forgot my password.'), + }, 'I forgot my password'), ]), ]) ) -- cgit