// 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 React, { Component, PropTypes } from 'react'; import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { toggleView } from '@parity/shared/redux/providers/settings/actions'; import { Checkbox, Container } from '~/ui'; import layout from '../layout.css'; import styles from './views.css'; class Views extends Component { static propTypes = { settings: PropTypes.object.isRequired, toggleView: PropTypes.func.isRequired } render () { return ( } >
{ this.renderView('apps', , ) }
); } renderViews () { const { settings } = this.props; return Object.keys(settings.views).map((id) => { const description = ; const label = ; this.renderView(id, label, description); }); } renderView = (id, label, description) => { const { settings, toggleView } = this.props; const toggle = () => toggleView(id); const view = settings.views[id]; return (
{ view.icon }
{ label }
} onClick={ toggle } checked={ view.active } value={ view.active } />
{ description }
); } } function mapStateToProps (state) { const { settings } = state; return { settings }; } function mapDispatchToProps (dispatch) { return bindActionCreators({ toggleView }, dispatch); } export default connect( mapStateToProps, mapDispatchToProps )(Views);