import React, { useEffect } from 'react'; import { Scrollbar } from 'react-scrollbars-custom'; import classNames from 'classnames'; import withDashboardActions from 'containers/Dashboard/withDashboardActions'; import withDashboard from 'containers/Dashboard/withDashboard'; import { compose } from 'utils'; import withSubscriptions from '../../containers/Subscriptions/withSubscriptions'; function SidebarContainer({ // #ownProps children, // #withDashboardActions toggleSidebarExpend, // #withDashboard sidebarExpended, // #withSubscription isSubscriptionActive, }) { const sidebarScrollerRef = React.useRef(); useEffect(() => { document.body.classList.toggle('has-mini-sidebar', !sidebarExpended); if (!sidebarExpended && sidebarScrollerRef.current) { sidebarScrollerRef.current.scrollTo({ top: 0, left: 0, }); } }, [sidebarExpended]); const handleSidebarMouseLeave = () => { if (!sidebarExpended && sidebarScrollerRef.current) { sidebarScrollerRef.current.scrollTo({ top: 0, left: 0 }); } }; const scrollerElementRef = (ref) => { sidebarScrollerRef.current = ref; }; return (
); } export default compose( withDashboardActions, withDashboard(({ sidebarExpended }) => ({ sidebarExpended, })), withSubscriptions( ({ isSubscriptionActive }) => ({ isSubscriptionActive }), 'main', ), )(SidebarContainer);