mirror of
https://github.com/trezor/trezor-wallet
synced 2024-11-24 09:18:09 +00:00
new modal "wallet type"
This commit is contained in:
parent
291e771a6b
commit
cea3fe7e68
@ -112,6 +112,17 @@ export const onDeviceConnect = (device: Device): ThunkAction => (dispatch: Dispa
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const onWalletTypeRequest = (device: TrezorDevice, hidden: boolean): ThunkAction => (dispatch: Dispatch): void => {
|
||||||
|
dispatch({
|
||||||
|
type: MODAL.CLOSE,
|
||||||
|
});
|
||||||
|
dispatch({
|
||||||
|
type: CONNECT.RECEIVE_WALLET_TYPE,
|
||||||
|
device,
|
||||||
|
hidden,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
onPinSubmit,
|
onPinSubmit,
|
||||||
onPassphraseSubmit,
|
onPassphraseSubmit,
|
||||||
@ -121,4 +132,5 @@ export default {
|
|||||||
onForgetSingleDevice,
|
onForgetSingleDevice,
|
||||||
onCancel,
|
onCancel,
|
||||||
onDuplicateDevice,
|
onDuplicateDevice,
|
||||||
|
onWalletTypeRequest,
|
||||||
};
|
};
|
70
src/components/modals/device/Type/index.js
Normal file
70
src/components/modals/device/Type/index.js
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
/* @flow */
|
||||||
|
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import styled from 'styled-components';
|
||||||
|
import { H3 } from 'components/Heading';
|
||||||
|
import P from 'components/Paragraph';
|
||||||
|
import Button from 'components/Button';
|
||||||
|
|
||||||
|
import type { Props } from 'components/modals/index';
|
||||||
|
|
||||||
|
const Wrapper = styled.div`
|
||||||
|
width: 360px;
|
||||||
|
padding: 24px 48px;
|
||||||
|
`;
|
||||||
|
|
||||||
|
const StyledButton = styled(Button)`
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
`;
|
||||||
|
|
||||||
|
const Row = styled.div`
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 10px 0;
|
||||||
|
`;
|
||||||
|
|
||||||
|
class ForgetDevice extends Component<Props> {
|
||||||
|
|
||||||
|
constructor(props: Props) {
|
||||||
|
super(props);
|
||||||
|
this.keyboardHandler = this.keyboardHandler.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
window.addEventListener('keydown', this.keyboardHandler, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
window.removeEventListener('keydown', this.keyboardHandler, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
keyboardHandler(event: KeyboardEvent): void {
|
||||||
|
if (event.keyCode === 13) {
|
||||||
|
event.preventDefault();
|
||||||
|
this.foo(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
keyboardHandler: (event: KeyboardEvent) => void;
|
||||||
|
|
||||||
|
foo(hidden: boolean) {
|
||||||
|
this.props.modalActions.onWalletTypeRequest(this.props.modal.device, hidden);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
if (!this.props.modal.opened) return null;
|
||||||
|
const { device } = this.props.modal;
|
||||||
|
const { onCancel } = this.props.modalActions;
|
||||||
|
return (
|
||||||
|
<Wrapper>
|
||||||
|
<H3>RequestWalletType for { device.instanceLabel }?</H3>
|
||||||
|
<Row>
|
||||||
|
<StyledButton onClick={() => this.foo(false)}>Basic</StyledButton>
|
||||||
|
<StyledButton isWhite onClick={() => this.foo(true)}>Hidden</StyledButton>
|
||||||
|
</Row>
|
||||||
|
</Wrapper>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ForgetDevice;
|
@ -29,6 +29,7 @@ import ConfirmUnverifiedAddress from 'components/modals/confirm/UnverifiedAddres
|
|||||||
import ForgetDevice from 'components/modals/device/Forget';
|
import ForgetDevice from 'components/modals/device/Forget';
|
||||||
import RememberDevice from 'components/modals/device/Remember';
|
import RememberDevice from 'components/modals/device/Remember';
|
||||||
import DuplicateDevice from 'components/modals/device/Duplicate';
|
import DuplicateDevice from 'components/modals/device/Duplicate';
|
||||||
|
import RequestWalletType from 'components/modals/device/Type';
|
||||||
|
|
||||||
type OwnProps = { }
|
type OwnProps = { }
|
||||||
|
|
||||||
@ -123,6 +124,10 @@ class Modal extends Component<Props> {
|
|||||||
component = (<DuplicateDevice {...this.props} />);
|
component = (<DuplicateDevice {...this.props} />);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CONNECT.REQUEST_WALLET_TYPE:
|
||||||
|
component = (<RequestWalletType {...this.props} />);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
component = null;
|
component = null;
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,13 @@ export default function modal(state: State = initialState, action: Action): Stat
|
|||||||
windowType: action.type,
|
windowType: action.type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
case CONNECT.REQUEST_WALLET_TYPE:
|
||||||
|
return {
|
||||||
|
opened: true,
|
||||||
|
device: action.device,
|
||||||
|
windowType: action.type,
|
||||||
|
};
|
||||||
|
|
||||||
case CONNECT.REMEMBER_REQUEST:
|
case CONNECT.REMEMBER_REQUEST:
|
||||||
return {
|
return {
|
||||||
opened: true,
|
opened: true,
|
||||||
|
Loading…
Reference in New Issue
Block a user