// Copyright 2015, 2016 Ethcore (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 React, { Component, PropTypes } from 'react'; import ActionDone from 'material-ui/svg-icons/action/done'; import ActionDoneAll from 'material-ui/svg-icons/action/done-all'; import NavigationArrowForward from 'material-ui/svg-icons/navigation/arrow-forward'; import PrintIcon from 'material-ui/svg-icons/action/print'; import { Button, Modal } from '../../ui'; import { NewAccount, AccountDetails } from '../CreateAccount'; import Completed from './Completed'; import TnC from './TnC'; import Welcome from './Welcome'; import { createIdentityImg } from '../../api/util/identity'; import print from '../CreateAccount/print'; import recoveryPage from '../CreateAccount/recovery-page.ejs'; import ParityLogo from '../../../assets/images/parity-logo-black-no-text.svg'; const STAGE_NAMES = ['welcome', 'terms', 'new account', 'recovery', 'completed']; export default class FirstRun extends Component { static contextTypes = { api: PropTypes.object.isRequired, store: PropTypes.object.isRequired } static propTypes = { visible: PropTypes.bool, onClose: PropTypes.func.isRequired } state = { stage: 0, name: '', address: '', password: '', phrase: '', canCreate: false, hasAcceptedTnc: false } render () { const { visible } = this.props; const { stage } = this.state; if (!visible) { return null; } return ( { this.renderStage() } ); } renderStage () { const { address, name, phrase, stage, hasAcceptedTnc } = this.state; switch (stage) { case 0: return ( ); case 1: return ( ); case 2: return ( ); case 3: return ( ); case 4: return ( ); } } renderDialogActions () { const { canCreate, stage, hasAcceptedTnc } = this.state; switch (stage) { case 0: return (