diff --git a/mobile/main.js b/mobile/main.js index a45d2f0b9..9ecb7d5be 100644 --- a/mobile/main.js +++ b/mobile/main.js @@ -8,6 +8,8 @@ import SetPasswordConfirmView from '../src/view/set-password-confirm-mobile'; import SeedSuccessView from '../src/view/seed-success'; import NewAddressView from '../src/view/new-address'; +import PasswordView from '../src/view/password-mobile'; +import WaitView from '../src/view/wait-mobile'; import HomeView from '../src/view/home'; import SettingView from '../src/view/setting'; import SettingUnitView from '../src/view/setting-unit'; @@ -45,7 +47,6 @@ const wallet = new WalletAction(store, grpc, db, nav, notify); const setting = new SettingAction(store, wallet, db, ipc); sinon.stub(wallet, 'update'); sinon.stub(wallet, 'checkSeed'); -sinon.stub(wallet, 'checkPassword'); sinon.stub(wallet, 'getExchangeRate'); const transaction = new TransactionAction(store, grpc, nav, notify); sinon.stub(transaction, 'update'); @@ -78,6 +79,10 @@ const NewAddress = () => ( /> ); +const Password = () => ; + +const Wait = () => ; + const Home = () => ( ( const Pay = () => ; -const SetupStack = createStackNavigator( +const MainStack = createStackNavigator( { SetPassword, SetPasswordConfirm, SeedSuccess, NewAddress, - }, - { - headerMode: 'none', - } -); - -const MainStack = createStackNavigator( - { + Password, + Wait, Home, Settings, SettingsUnit, @@ -158,7 +157,6 @@ const PayStack = createStackNavigator( const RootStack = createStackNavigator( { - Setup: SetupStack, Main: MainStack, Invoice: InvoiceStack, Pay: PayStack, diff --git a/src/component/pin-entry.js b/src/component/pin-entry.js index 80d6090c5..8fa1ee04b 100644 --- a/src/component/pin-entry.js +++ b/src/component/pin-entry.js @@ -17,8 +17,8 @@ const pinEntryStyles = StyleSheet.create({ }, }); -export const PinBubbles = ({ pin }) => ( - +export const PinBubbles = ({ pin, style }) => ( + @@ -30,6 +30,7 @@ export const PinBubbles = ({ pin }) => ( PinBubbles.propTypes = { pin: PropTypes.string.isRequired, + style: View.propTypes.style, }; // diff --git a/src/view/password-mobile.js b/src/view/password-mobile.js new file mode 100644 index 000000000..7db3d5bc7 --- /dev/null +++ b/src/view/password-mobile.js @@ -0,0 +1,59 @@ +import React from 'react'; +import { View, StyleSheet } from 'react-native'; +import { observer } from 'mobx-react'; +import PropTypes from 'prop-types'; +import Background from '../component/background'; +import MainContent from '../component/main-content'; +import BoltIcon from '../asset/icon/lightning-bolt'; +import LightningWord from '../asset/icon/lightning-word'; +import { Text } from '../component/text'; +import { FormStretcher } from '../component/form'; +import { PinBubbles, PinKeyboard } from '../component/pin-entry'; + +// +// Password View (Mobile) +// + +const styles = StyleSheet.create({ + content: { + paddingLeft: 20, + paddingRight: 20, + }, + boltWrapper: { + marginTop: 50, + }, + wordWrapper: { + marginTop: 35, + }, + bubbles: { + marginTop: 10, + }, +}); + +const PasswordView = ({ store, wallet }) => ( + + + + + + + + + + Unlock with your pin + + + wallet.pushPinDigit({ digit, param: 'password' })} + onBackspace={() => wallet.popPinDigit({ param: 'password' })} + /> + + +); + +PasswordView.propTypes = { + store: PropTypes.object.isRequired, + wallet: PropTypes.object.isRequired, +}; + +export default observer(PasswordView); diff --git a/stories/screen-story.js b/stories/screen-story.js index 6809e4bc5..99193e3b3 100644 --- a/stories/screen-story.js +++ b/stories/screen-story.js @@ -50,6 +50,7 @@ import SetPasswordMobile from '../src/view/set-password-mobile'; import SetPasswordConfirm from '../src/view/set-password-confirm'; import SetPasswordConfirmMobile from '../src/view/set-password-confirm-mobile'; import Password from '../src/view/password'; +import PasswordMobile from '../src/view/password-mobile'; import RestorePassword from '../src/view/restore-password'; import ResetPasswordCurrent from '../src/view/reset-password-current'; import ResetPasswordNew from '../src/view/reset-password-new'; @@ -115,6 +116,9 @@ storiesOf('Screens', module) )) .add('Password', () => ) + .add('Password (Mobile)', () => ( + + )) .add('Restore Wallet: Password', () => ( ))