// Copyright 2015-2017 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . import { observer } from 'mobx-react'; import React, { Component, PropTypes } from 'react'; import { FormattedMessage } from 'react-intl'; import { Checkbox, Dropdown, Form, Input, Warning } from '@parity/ui'; import Price from '../Price'; import { WARNING_NO_PRICE } from '../store'; import styles from './optionsStep.css'; const WARNING_LABELS = { [WARNING_NO_PRICE]: ( ) }; @observer export default class OptionsStep extends Component { static propTypes = { store: PropTypes.object.isRequired }; render () { const { coinSymbol, hasAcceptedTerms, price, refundAddress, warning } = this.props.store; let { coins } = this.props.store; if (!coins.length) { return (
); } coins = coins.map(this.renderCoinSelectItem); return (
} label={ } options={ coins } onChange={ this.onSelectCoin } value={ coinSymbol } /> } label={ } onSubmit={ this.onChangeRefundAddress } value={ refundAddress } /> } onClick={ this.onToggleAcceptTerms } />
); } renderCoinSelectItem = (coin) => { const { image, name, symbol } = coin; return { image, text: name, value: symbol }; } onChangeRefundAddress = (event, refundAddress) => { this.props.store.setRefundAddress(refundAddress); } onSelectCoin = (event, value) => { this.props.store.setCoinSymbol(value); } onToggleAcceptTerms = () => { this.props.store.toggleAcceptTerms(); } }