@ -0,0 +1,14 @@ |
|||
// @flow
|
|||
|
|||
import { createCommand, Command } from 'helpers/ipc' |
|||
import { from } from 'rxjs' |
|||
import withLibcore from 'helpers/withLibcore' |
|||
|
|||
type Input = void |
|||
type Result = boolean |
|||
|
|||
const cmd: Command<Input, Result> = createCommand('libcoreReset', () => |
|||
from(withLibcore(core => core.getPoolInstance().freshResetAll())), |
|||
) |
|||
|
|||
export default cmd |
@ -0,0 +1,82 @@ |
|||
// @flow
|
|||
import React, { PureComponent } from 'react' |
|||
import { translate } from 'react-i18next' |
|||
import { colors } from 'styles/theme' |
|||
import { i } from 'helpers/staticPath' |
|||
|
|||
import Box from 'components/base/Box' |
|||
|
|||
import type { T } from 'types/common' |
|||
|
|||
import IconChevronRight from 'icons/ChevronRight' |
|||
|
|||
import { IconOptionRow, DisclaimerBox, OptionRow, Inner } from '../../helperComponents' |
|||
|
|||
type Props = { |
|||
t: T, |
|||
} |
|||
|
|||
class SelectPINrestoreNanoX extends PureComponent<Props, *> { |
|||
render() { |
|||
const { t } = this.props |
|||
|
|||
const stepsLedgerNano = [ |
|||
{ |
|||
key: 'step1', |
|||
icon: <IconOptionRow>{'1.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.restore.instructions.nanoX.step1'), |
|||
}, |
|||
{ |
|||
key: 'step2', |
|||
icon: <IconOptionRow>{'2.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.restore.instructions.nanoX.step2'), |
|||
}, |
|||
{ |
|||
key: 'step3', |
|||
icon: <IconOptionRow>{'3.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.restore.instructions.nanoX.step3'), |
|||
}, |
|||
{ |
|||
key: 'step4', |
|||
icon: <IconOptionRow>{'4.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.restore.instructions.nanoX.step4'), |
|||
}, |
|||
{ |
|||
key: 'step5', |
|||
icon: <IconOptionRow>{'5.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.restore.instructions.nanoX.step5'), |
|||
}, |
|||
] |
|||
const disclaimerNotes = [ |
|||
{ |
|||
key: 'note1', |
|||
icon: <IconChevronRight size={12} style={{ color: colors.smoke }} />, |
|||
desc: t('onboarding.selectPIN.disclaimer.note1'), |
|||
}, |
|||
{ |
|||
key: 'note2', |
|||
icon: <IconChevronRight size={12} style={{ color: colors.smoke }} />, |
|||
desc: t('onboarding.selectPIN.disclaimer.note2'), |
|||
}, |
|||
{ |
|||
key: 'note3', |
|||
icon: <IconChevronRight size={12} style={{ color: colors.smoke }} />, |
|||
desc: t('onboarding.selectPIN.disclaimer.note3'), |
|||
}, |
|||
] |
|||
|
|||
return ( |
|||
<Box align="center" mt={3}> |
|||
<Inner style={{ width: 700 }}> |
|||
<img alt="" src={i('select-pin-nano-x-onb.svg')} /> |
|||
<Box shrink grow flow={4} style={{ marginLeft: 40 }}> |
|||
{stepsLedgerNano.map(step => <OptionRow key={step.key} step={step} />)} |
|||
</Box> |
|||
</Inner> |
|||
<DisclaimerBox mt={6} disclaimerNotes={disclaimerNotes} /> |
|||
</Box> |
|||
) |
|||
} |
|||
} |
|||
|
|||
export default translate()(SelectPINrestoreNanoX) |
@ -0,0 +1,81 @@ |
|||
// @flow
|
|||
import React, { PureComponent } from 'react' |
|||
import { translate, Trans } from 'react-i18next' |
|||
import { colors } from 'styles/theme' |
|||
import { i } from 'helpers/staticPath' |
|||
|
|||
import Box from 'components/base/Box' |
|||
|
|||
import type { T } from 'types/common' |
|||
|
|||
import IconChevronRight from 'icons/ChevronRight' |
|||
|
|||
import { IconOptionRow, DisclaimerBox, OptionRow, Inner } from '../../helperComponents' |
|||
|
|||
type Props = { |
|||
t: T, |
|||
} |
|||
|
|||
class SelectPINnanoX extends PureComponent<Props, *> { |
|||
render() { |
|||
const { t } = this.props |
|||
|
|||
const stepsLedgerNano = [ |
|||
{ |
|||
key: 'step1', |
|||
icon: <IconOptionRow>{'1.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.initialize.instructions.nanoX.step1'), |
|||
}, |
|||
{ |
|||
key: 'step2', |
|||
icon: <IconOptionRow>{'2.'}</IconOptionRow>, |
|||
desc: ( |
|||
<Box style={{ display: 'block' }}> |
|||
<Trans i18nKey="onboarding.selectPIN.initialize.instructions.nanoX.step2" /> |
|||
</Box> |
|||
), |
|||
}, |
|||
{ |
|||
key: 'step3', |
|||
icon: <IconOptionRow>{'3.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.initialize.instructions.nanoX.step3'), |
|||
}, |
|||
{ |
|||
key: 'step4', |
|||
icon: <IconOptionRow>{'4.'}</IconOptionRow>, |
|||
desc: t('onboarding.selectPIN.initialize.instructions.nanoX.step4'), |
|||
}, |
|||
] |
|||
const disclaimerNotes = [ |
|||
{ |
|||
key: 'note1', |
|||
icon: <IconChevronRight size={12} style={{ color: colors.smoke }} />, |
|||
desc: t('onboarding.selectPIN.disclaimer.note1'), |
|||
}, |
|||
{ |
|||
key: 'note2', |
|||
icon: <IconChevronRight size={12} style={{ color: colors.smoke }} />, |
|||
desc: t('onboarding.selectPIN.disclaimer.note2'), |
|||
}, |
|||
{ |
|||
key: 'note3', |
|||
icon: <IconChevronRight size={12} style={{ color: colors.smoke }} />, |
|||
desc: t('onboarding.selectPIN.disclaimer.note3'), |
|||
}, |
|||
] |
|||
|
|||
return ( |
|||
<Box align="center" mt={3}> |
|||
<Inner style={{ width: 700 }}> |
|||
<img alt="" src={i('select-pin-nano-x-onb.svg')} /> |
|||
<Box shrink grow flow={4} style={{ marginLeft: 40 }}> |
|||
{stepsLedgerNano.map(step => <OptionRow key={step.key} step={step} />)} |
|||
</Box> |
|||
</Inner> |
|||
<DisclaimerBox mt={6} disclaimerNotes={disclaimerNotes} /> |
|||
</Box> |
|||
) |
|||
} |
|||
} |
|||
|
|||
export default translate()(SelectPINnanoX) |
@ -0,0 +1,30 @@ |
|||
// @flow
|
|||
|
|||
import React from 'react' |
|||
|
|||
export default ({ size = 30, ...p }: { size: number }) => ( |
|||
<svg viewBox="0 0 6 16" height={size} width={size} {...p}> |
|||
<defs> |
|||
<path |
|||
id="a" |
|||
d="M5.75 6.835a3.509 3.509 0 0 0-1.5-1.105V1.75h-2.5v3.98a3.509 3.509 0 0 0-1.5 1.105V1.666C.25.884.884.25 1.666.25h2.668c.782 0 1.416.634 1.416 1.416v5.169zm-1.5 7.415V9.5a1.25 1.25 0 1 0-2.5 0v4.75h2.5zM3 6.75A2.75 2.75 0 0 1 5.75 9.5v4.834c0 .782-.634 1.416-1.416 1.416H1.666A1.416 1.416 0 0 1 .25 14.334V9.5A2.75 2.75 0 0 1 3 6.75z" |
|||
/> |
|||
</defs> |
|||
<g fill="none" fillRule="evenodd"> |
|||
<path |
|||
fill="#000" |
|||
fillRule="nonzero" |
|||
d="M5.75 6.835a3.509 3.509 0 0 0-1.5-1.105V1.75h-2.5v3.98a3.509 3.509 0 0 0-1.5 1.105V1.666C.25.884.884.25 1.666.25h2.668c.782 0 1.416.634 1.416 1.416v5.169zm-1.5 7.415V9.5a1.25 1.25 0 1 0-2.5 0v4.75h2.5zM3 6.75A2.75 2.75 0 0 1 5.75 9.5v4.834c0 .782-.634 1.416-1.416 1.416H1.666A1.416 1.416 0 0 1 .25 14.334V9.5A2.75 2.75 0 0 1 3 6.75z" |
|||
/> |
|||
<g> |
|||
<mask id="b" fill="#fff"> |
|||
<use xlinkHref="#a" /> |
|||
</mask> |
|||
<use fill="#FFF" xlinkHref="#a" /> |
|||
<g fill="#FFF" mask="url(#b)"> |
|||
<path d="M-5 0h16v16H-5z" /> |
|||
</g> |
|||
</g> |
|||
</g> |
|||
</svg> |
|||
) |
@ -1,3 +1,4 @@ |
|||
export Blue from './Blue' |
|||
export NanoS from './NanoS' |
|||
export NanoX from './NanoX' |
|||
export NanoXBanner from './NanoXBanner' |
|||
|
Before Width: | Height: | Size: 931 B After Width: | Height: | Size: 931 B |
After Width: | Height: | Size: 731 B |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.3 KiB |