mirror of https://github.com/trezor/trezor-wallet
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.8 KiB
102 lines
2.8 KiB
/* @flow */
|
|
|
|
import React, { useState } from 'react';
|
|
import styled from 'styled-components';
|
|
import { FormattedMessage } from 'react-intl';
|
|
import { Select, Button, Input, Link, colors } from 'trezor-ui-components';
|
|
import l10nCommonMessages from 'views/common.messages';
|
|
import type { Props } from './Container';
|
|
|
|
const Wrapper = styled.div`
|
|
text-align: left;
|
|
flex-direction: column;
|
|
display: flex;
|
|
padding: 24px;
|
|
min-width: 300px;
|
|
`;
|
|
|
|
const StyledSelect = styled(Select)`
|
|
min-width: 100px;
|
|
`;
|
|
|
|
const InputRow = styled.div`
|
|
margin-bottom: 16px;
|
|
`;
|
|
|
|
const Label = styled.div`
|
|
color: ${colors.TEXT_SECONDARY};
|
|
padding-bottom: 10px;
|
|
`;
|
|
|
|
const ButtonActions = styled.div`
|
|
display: flex;
|
|
flex-direction: row;
|
|
|
|
justify-content: flex-end;
|
|
`;
|
|
|
|
const ButtonWrapper = styled.div`
|
|
& + & {
|
|
margin-left: 10px;
|
|
}
|
|
`;
|
|
|
|
const Import = (props: Props) => {
|
|
const [selectedNetwork, setSelectedNetwork] = useState(null);
|
|
const [address, setAddress] = useState('');
|
|
|
|
const { networks } = props.config;
|
|
return (
|
|
// <LandingWrapper>
|
|
<Wrapper>
|
|
<InputRow>
|
|
<Label>Select network</Label>
|
|
<StyledSelect
|
|
value={selectedNetwork}
|
|
options={networks
|
|
.sort((a, b) => a.shortcut.localeCompare(b.shortcut))
|
|
.map(net => ({
|
|
label: net.shortcut,
|
|
value: net,
|
|
}))}
|
|
onChange={option => setSelectedNetwork(option)}
|
|
/>
|
|
</InputRow>
|
|
|
|
<InputRow>
|
|
<Input
|
|
topLabel="Address"
|
|
name="cryptoAddress"
|
|
value={address}
|
|
onChange={e => setAddress(e.target.value)}
|
|
type="text"
|
|
/>
|
|
</InputRow>
|
|
<ButtonActions>
|
|
<ButtonWrapper>
|
|
<Link to="/">
|
|
<Button isWhite>
|
|
<FormattedMessage {...l10nCommonMessages.TR_CLOSE} />
|
|
</Button>
|
|
</Link>
|
|
</ButtonWrapper>
|
|
|
|
<ButtonWrapper>
|
|
<Button
|
|
isDisabled={
|
|
!selectedNetwork || address === '' || props.importAccount.loading
|
|
}
|
|
onClick={() =>
|
|
props.importAddress(address, selectedNetwork.value, props.device)
|
|
}
|
|
>
|
|
Import
|
|
</Button>
|
|
</ButtonWrapper>
|
|
</ButtonActions>
|
|
</Wrapper>
|
|
// </LandingWrapper>
|
|
);
|
|
};
|
|
export default Import;
|