CreateAccountStep1.js 1.65 KiB
Newer Older
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
//
// SPDX-License-Identifier: MIT

import React, { Component } from 'react';
import Blockie from 'react-blockies';
import { inject, observer } from 'mobx-react';
import { Link } from 'react-router-dom';

@inject('createAccountStore')
@observer
class CreateAccountStep1 extends Component {
Amaury Martiny's avatar
Amaury Martiny committed
  componentDidMount() {
    this.props.createAccountStore.generateNewAccount();
  }

  handleChange = ({ target: { value } }) =>
    this.props.createAccountStore.setName(value);

Amaury Martiny's avatar
Amaury Martiny committed
  render() {
    const {
Amaury Martiny's avatar
Amaury Martiny committed
      createAccountStore: { address, generateNewAccount, name },
      location: { pathname }
    } = this.props;

    return (
Amaury Martiny's avatar
Amaury Martiny committed
      <div className="window_content -modal">
Amaury Martiny's avatar
Amaury Martiny committed
        {address &&
Amaury Martiny's avatar
Amaury Martiny committed
          <div className="box -modal -padded">
            <div>
Amaury Martiny's avatar
Amaury Martiny committed
              Your new address:<br />
              <Blockie seed={address} />
              <pre>{address} </pre>
              {pathname === '/accounts/new' &&
                <button onClick={generateNewAccount}>Change</button>}
            </div>
Amaury Martiny's avatar
Amaury Martiny committed
            <label>
              Set a name for this account:<br />
              <input
                disabled={pathname !== '/accounts/new'}
                onChange={this.handleChange}
                required
                value={name}
              />
            </label>
Amaury Martiny's avatar
Amaury Martiny committed
            <div className="box">
              {pathname === '/accounts/new' &&
Amaury Martiny's avatar
Amaury Martiny committed
                !!name &&
                <Link to="/accounts/new/step2">
Amaury Martiny's avatar
Amaury Martiny committed
                  <button>Select</button>
Amaury Martiny's avatar
Amaury Martiny committed
                </Link>}
            </div>
Amaury Martiny's avatar
Amaury Martiny committed
          </div>}
      </div>
    );
  }
}

export default CreateAccountStep1;