import * as _ from 'lodash'; import Menu from 'material-ui/Menu'; import MenuItem from 'material-ui/MenuItem'; import { RadioButton, RadioButtonGroup } from 'material-ui/RadioButton'; import * as React from 'react'; import { Link } from 'react-router-dom'; import { Blockchain } from 'ts/blockchain'; import { DropDown } from 'ts/components/ui/drop_down'; import { Identicon } from 'ts/components/ui/identicon'; import { Dispatcher } from 'ts/redux/dispatcher'; import { ProviderType } from 'ts/types'; import { constants } from 'ts/utils/constants'; import { utils } from 'ts/utils/utils'; const IDENTICON_DIAMETER = 32; const SELECTED_BG_COLOR = '#F7F7F7'; interface ProviderPickerProps { networkId: number; injectedProviderName: string; providerType: ProviderType; onToggleLedgerDialog: () => void; dispatcher: Dispatcher; blockchain: Blockchain; } interface ProviderPickerState {} export class ProviderPicker extends React.Component { public render() { const isLedgerSelected = this.props.providerType === ProviderType.Ledger; const menuStyle = { padding: 10, paddingTop: 15, paddingBottom: 15, }; const injectedLabel = (
{this.props.injectedProviderName}
{this._renderNetwork()}
); // Show dropdown with two options return (
); } private _renderNetwork() { const networkName = constants.NETWORK_NAME_BY_ID[this.props.networkId]; return (
{networkName}
); } private _onProviderRadioChanged(e: any, value: string) { if (value === ProviderType.Ledger) { this.props.onToggleLedgerDialog(); } else { // tslint:disable-next-line:no-floating-promises this.props.blockchain.updateProviderToInjectedAsync(); } } }