// 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 moment from 'moment'; import React, { Component, PropTypes } from 'react'; import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import { Link } from 'react-router'; import { Container, ContainerTitle, IdentityName, IdentityIcon, SectionList } from '~/ui'; import { arrayOrObjectProptype } from '~/util/proptypes'; import styles from './accounts.css'; class Accounts extends Component { static propTypes = { accountsInfo: PropTypes.object, history: arrayOrObjectProptype().isRequired }; render () { return (
} /> { this.renderHistory() }
); } renderHistory () { const { accountsInfo, history } = this.props; if (!accountsInfo || !Object.keys(accountsInfo).length) { return null; } if (!history.length) { return (
); } return ( ); } renderHistoryItem = (history) => { const { accountsInfo } = this.props; if (!history || !history.entry) { return null; } const account = accountsInfo[history.entry] || { meta: {} }; let linkType = 'addresses'; if (account.uuid) { linkType = 'accounts'; } else if (account.meta.wallet) { linkType = 'wallet'; } return ( } > ); } } function mapStateToProps (state) { const { accountsInfo } = state.personal; return { accountsInfo }; } export default connect( mapStateToProps, null )(Accounts);