import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' import { openSidebar } from '../actions/sidebar' import { BREAKPOINT_EXTRA_SMALL } from '../constants' import { me } from '../initial_state' import { makeGetAccount } from '../selectors' import Responsive from '../features/ui/util/responsive_component' import { CX } from '../constants' import Avatar from './avatar' import BackButton from './back_button' import Button from './button' import Heading from './heading' import Icon from './icon' import Search from './search' import Text from './text' const mapStateToProps = (state) => ({ account: makeGetAccount()(state, me), }) const mapDispatchToProps = (dispatch) => ({ onOpenSidebar() { dispatch(openSidebar()) }, onOpenNavSettingsPopover() { dispatch(openPopover()) } }) export default @connect(mapStateToProps, mapDispatchToProps) class NavigationBar extends ImmutablePureComponent { static propTypes = { account: ImmutablePropTypes.map, actions: PropTypes.array, tabs: PropTypes.array, title: PropTypes.string, showBackBtn: PropTypes.bool, onOpenSidebar: PropTypes.func.isRequired, onOpenNavSettingsPopover: PropTypes.func.isRequired, } handleProfileClick = () => { // : todo : // open menu } render() { const { title, showBackBtn, actions, tabs, account, onOpenSidebar, } = this.props return (