import React from 'react' import PropTypes from 'prop-types' import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' import { BREAKPOINT_EXTRA_SMALL } from '../constants' import Sticky from 'react-stickynode' import { me } from '../initial_state' import { CX } from '../constants' import NavigationBar from '../components/navigation_bar' import FooterBar from '../components/footer_bar' import ProfileHeader from '../components/profile_header' import FloatingActionButton from '../components/floating_action_button' import ProfileNavigationBar from '../components/profile_navigation_bar' import LoggedOutNavigationBar from '../components/logged_out_navigation_bar' import Responsive from '../features/ui/util/responsive_component' import Divider from '../components/divider' import WrappedBundle from '../features/ui/util/wrapped_bundle' import { LinkFooter, ProfileStatsPanel, ProfileInfoPanel, MediaGalleryPanel, SignUpPanel, } from '../features/ui/util/async_components' export default class ProfileLayout extends ImmutablePureComponent { static propTypes = { account: ImmutablePropTypes.map, children: PropTypes.node.isRequired, titleHTML: PropTypes.string, unavailable: PropTypes.bool, noSidebar: PropTypes.bool, } render() { const { account, children, titleHTML, unavailable, noSidebar, } = this.props const mainContentClasses = CX({ default: 1, width645PX: !noSidebar, width1015PX: noSidebar, z1: 1, }) return (
{ !!me && } { !me && }
{children}
{ me && } { !me && }
{ !noSidebar &&
{ !unavailable && } { !me && }
}
{children}
) } }