/* @flow */ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import styled, { css } from 'styled-components'; import icons from 'config/icons'; import colors from 'config/colors'; import { H2 } from 'components/Heading'; import P from 'components/Paragraph'; import Button from 'components/Button'; import Tooltip from 'components/Tooltip'; import Icon from 'components/Icon'; import Link from 'components/Link'; import WalletTypeIcon from 'components/images/WalletType'; import { FormattedMessage, injectIntl } from 'react-intl'; import type { TrezorDevice } from 'flowtype'; import l10nCommonMessages from 'views/common.messages'; import l10nMessages from './index.messages'; import type { Props as BaseProps } from '../../Container'; type Props = { intl: any, device: TrezorDevice, onWalletTypeRequest: $ElementType< $ElementType, 'onWalletTypeRequest' >, onCancel: $ElementType<$ElementType, 'onCancel'>, }; const Wrapper = styled.div``; const Header = styled.div` display: flex; justify-content: center; align-items: center; color: ${colors.TEXT_PRIMARY}; `; const StyledHeading = styled(H2)` padding: 30px 48px 10px 48px; `; const StyledLink = styled(Link)` position: absolute; right: 15px; top: 10px; `; const StyledButton = styled(Button)` margin: 10px 0 10px 0; `; const StyledIcon = styled(Icon)` position: absolute; top: 10px; right: 15px; &:hover { cursor: pointer; } `; const Content = styled.div` padding: 55px 48px 40px 48px; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; ${props => props.isTop && css` padding-top: 40px; border-bottom: 1px solid ${colors.DIVIDER}; `} `; class WalletType extends PureComponent { 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.props.onWalletTypeRequest(false); } } keyboardHandler: (event: KeyboardEvent) => void; render() { const { device, onCancel, onWalletTypeRequest } = this.props; return ( {device.state && ( )} {device.state ? ( ) : ( )}

onWalletTypeRequest(false)}>

onWalletTypeRequest(true)}>
); } } WalletType.propTypes = { device: PropTypes.object.isRequired, onWalletTypeRequest: PropTypes.func.isRequired, onCancel: PropTypes.func.isRequired, }; export default injectIntl(WalletType);