import React from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import Sticky from 'react-stickynode' import { CX, BREAKPOINT_EXTRA_SMALL, } from '../constants' import { me } from '../initial_state' import { changeComposeGroupId } from '../actions/compose' import LoggedOutSidebar from '../components/sidebar/logged_out_sidebar' import DefaultSidebar from '../components/sidebar/default_sidebar' import SidebarPanelGroup from '../components/sidebar_panel_group' import DefaultNavigationBar from '../components/navigation_bar/default_navigation_bar' import LoggedOutNavigationBar from '../components/navigation_bar/logged_out_navigation_bar' import FooterBar from '../components/footer_bar' import FloatingActionButton from '../components/floating_action_button' import Responsive from '../features/ui/util/responsive_component' import ResponsiveClassesComponent from '../features/ui/util/responsive_classes_component' import Pills from '../components/pills' import GlobalFooter from '../components/global_footer' import WrappedBundle from '../features/ui/util/wrapped_bundle' import { SidebarXS, } from '../features/ui/util/async_components' class Layout extends React.PureComponent { componentDidMount() { if (['group', 'compose'].indexOf(this.props.page) === -1) { this.props.dispatch(changeComposeGroupId(null)) } } render() { const { actions, children, layout, noComposeButton, noRightSidebar, noSidebar, page, showBackBtn, showLinkFooterInSidebar, showGlobalFooter, tabs, title, } = this.props const noPaddingPages = ['group', 'messages'] const hasPadding = noPaddingPages.indexOf(page) === -1 const mainBlockClasses = CX({ d: 1, w1015PX: 1, flexRow: 1, jcEnd: 1, py15: hasPadding, pb15: hasPadding, }) return (