From 746d7425b4814485e554714ebf17f448bcd46e9f Mon Sep 17 00:00:00 2001 From: "Valentin D. Pinkman" Date: Tue, 18 Dec 2018 18:30:24 +0100 Subject: [PATCH] update live-common and add screen for repair modal --- package.json | 2 +- .../SettingsPage/RepairDeviceButton.js | 16 ++-- src/components/base/Modal/RepairModal.js | 77 +++++++++++++++---- yarn.lock | 8 +- 4 files changed, 76 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index c5a0ffe4..96699b66 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@ledgerhq/hw-transport": "^4.32.0", "@ledgerhq/hw-transport-node-hid": "^4.32.0", "@ledgerhq/ledger-core": "2.0.0-rc.14", - "@ledgerhq/live-common": "4.8.0-beta.14", + "@ledgerhq/live-common": "4.8.0-beta.16", "animated": "^0.2.2", "async": "^2.6.1", "axios": "^0.18.0", diff --git a/src/components/SettingsPage/RepairDeviceButton.js b/src/components/SettingsPage/RepairDeviceButton.js index 056d1f30..e876a789 100644 --- a/src/components/SettingsPage/RepairDeviceButton.js +++ b/src/components/SettingsPage/RepairDeviceButton.js @@ -22,6 +22,7 @@ type State = { isLoading: boolean, error: ?Error, progress: number, + confirmed: boolean, } class RepairDeviceButton extends PureComponent { @@ -30,15 +31,18 @@ class RepairDeviceButton extends PureComponent { isLoading: false, error: null, progress: 0, + confirmed: false, } - open = () => this.setState({ opened: true }) + open = () => this.setState({ opened: true, error: null }) + + setConfirm = () => this.setState({ confirmed: true }) sub: * close = () => { if (this.sub) this.sub.unsubscribe() - this.setState({ opened: false, isLoading: false }) + this.setState({ opened: false, isLoading: false, error: null, confirmed: false }) } action = () => { @@ -50,10 +54,10 @@ class RepairDeviceButton extends PureComponent { this.setState(patch) }, error: error => { - this.setState({ error, isLoading: false }) + this.setState({ error, isLoading: false, confirmed: false }) }, complete: () => { - this.setState({ opened: false, isLoading: false }, () => { + this.setState({ opened: false, isLoading: false, confirmed: false }, () => { push('/manager') }) }, @@ -62,7 +66,7 @@ class RepairDeviceButton extends PureComponent { render() { const { t } = this.props - const { opened, isLoading, error, progress } = this.state + const { opened, isLoading, error, progress, confirmed } = this.state return ( @@ -83,6 +87,8 @@ class RepairDeviceButton extends PureComponent { confirmText={t('settings.repairDevice.button')} progress={progress} error={error} + setConfirm={this.setConfirm} + confirmed={confirmed} /> ) diff --git a/src/components/base/Modal/RepairModal.js b/src/components/base/Modal/RepairModal.js index a93e5f5c..5d8f7ee8 100644 --- a/src/components/base/Modal/RepairModal.js +++ b/src/components/base/Modal/RepairModal.js @@ -13,9 +13,16 @@ import Box from 'components/base/Box' import Text from 'components/base/Text' import ProgressCircle from 'components/ProgressCircle' import TranslatedError from 'components/TranslatedError' +import ExclamationCircleThin from 'icons/ExclamationCircleThin' import { Modal, ModalContent, ModalBody, ModalTitle, ModalFooter } from './index' +const Container = styled(Box).attrs({ + alignItems: 'center', + fontSize: 4, + color: 'dark', +})`` + const Bullet = styled.span` font-weight: 600; color: #142533; @@ -29,13 +36,18 @@ const Separator = styled(Box).attrs({ background-color: currentColor; ` -const ConnectStep = ({ t, desc }: { t: *, desc?: string }) => ( +const DisclaimerStep = ({ desc }: { desc?: string }) => ( {desc ? ( - + {desc} ) : null} + +) + +const ConnectStep = ({ t }: { t: * }) => ( + {'1.'} @@ -67,12 +79,10 @@ const FlashStep = ({ progress, t }: { progress: number, t: * }) => ( - - - {t(`manager.modal.steps.flash`)} - + + {t(`manager.modal.steps.flash`)} - + {t('manager.modal.mcuPin')} @@ -82,9 +92,31 @@ const FlashStep = ({ progress, t }: { progress: number, t: * }) => ( const ErrorStep = ({ error }: { error: Error }) => ( - - - + + + + + + + + + + + ) @@ -105,9 +137,15 @@ type Props = { cancellable?: boolean, progress: number, error?: Error, + confirmed: boolean, + setConfirm: Function, +} + +type State = { + confirmed: boolean, } -class RepairModal extends PureComponent { +class RepairModal extends PureComponent { render() { const { cancellable, @@ -124,6 +162,8 @@ class RepairModal extends PureComponent { analyticsName, progress, error, + confirmed, + setConfirm, ...props } = this.props @@ -138,26 +178,29 @@ class RepairModal extends PureComponent { {title} - {isLoading ? ( - - ) : error ? ( + {error ? ( - ) : ( + ) : isLoading ? ( + + ) : confirmed ? ( + ) : ( + )} + {!isLoading && ( )} {error ? null : ( )} diff --git a/yarn.lock b/yarn.lock index b3578bfa..006df270 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1725,10 +1725,10 @@ bindings "^1.3.0" nan "^2.6.2" -"@ledgerhq/live-common@4.8.0-beta.14": - version "4.8.0-beta.14" - resolved "https://registry.yarnpkg.com/@ledgerhq/live-common/-/live-common-4.8.0-beta.14.tgz#958bf811b2e1846fd3c218c863b1cfc729c2df19" - integrity sha512-gA2fvLbEfbXJ8IFm73Z236J3MrH7XQdFE3m12y3qWNYk4Bd1M1DWpIg4kFNPfxYTVaQ/Os0vJ08BOv9tj5lW9A== +"@ledgerhq/live-common@4.8.0-beta.16": + version "4.8.0-beta.16" + resolved "https://registry.yarnpkg.com/@ledgerhq/live-common/-/live-common-4.8.0-beta.16.tgz#cd9939be8b1cf446d71a990ad92e2de208683778" + integrity sha512-BS+M/qRB6cwSPhAQAuHg83TGv0nkp3UDoF7OF3r3GONHQvDqVVxQ44T03YuGMdFkZpk51u8t3DKHuDZe9klP5g== dependencies: "@aeternity/ledger-app-api" "0.0.4" "@ledgerhq/hw-app-btc" "^4.32.0"