import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; import { Switch, Route, Redirect } from 'react-router'; import { CLIENT_TABS, client as clientRoute } from 'App/routes'; import { fetchList as fetchMemberList } from 'Duck/member'; import { fetchList as fetchSiteList } from 'Duck/site'; import ProfileSettings from './ProfileSettings'; import Integrations from './Integrations'; import ManageUsers from './ManageUsers'; import Sites from './Sites'; import CustomFields from './CustomFields'; import Webhooks from './Webhooks'; import styles from './client.css'; import cn from 'classnames'; import PreferencesMenu from './PreferencesMenu'; import Notifications from './Notifications'; import Roles from './Roles'; @connect((state) => ({ appearance: state.getIn([ 'user', 'account', 'appearance' ]), }), { fetchMemberList, fetchSiteList, }) @withRouter export default class Client extends React.PureComponent { constructor(props){ super(props); props.fetchMemberList(); } setTab = (tab) => { this.props.history.push(clientRoute(tab)); } renderActiveTab = (appearance) => ( ) render() { const { match: { params: { activeTab } }, appearance } = this.props; return (
{ activeTab && this.renderActiveTab(appearance) }
); } }