import { Box, Scrollable } from '@rocket.chat/fuselage'; import { useMediaQuery } from '@rocket.chat/fuselage-hooks'; import React, { createContext, useContext, useState } from 'react'; import { useSidebar } from '../../contexts/SidebarContext'; import BurgerMenuButton from './burger/BurgerMenuButton'; import { useSession } from '../../contexts/SessionContext'; const PageContext = createContext(); function Page(props) { const [border, setBorder] = useState(false); return ; } function PageHeader({ children, title, ...props }) { const [border] = useContext(PageContext); const hasBurgerMenuButton = useMediaQuery('(max-width: 780px)'); const [isSidebarOpen, setSidebarOpen] = useSidebar(); const unreadMessagesBadge = useSession('unread'); const handleBurgerMenuButtonClick = () => { setSidebarOpen((isSidebarOpen) => !isSidebarOpen); }; return {hasBurgerMenuButton && } {title} {children} ; } const PageContent = React.forwardRef(function PageContent(props, ref) { return ; }); function PageScrollableContent({ onScrollContent, ...props }) { return ; } function PageScrollableContentWithShadow({ onScrollContent, ...props }) { const [, setBorder] = useContext(PageContext); return { setBorder(!top); onScrollContent && onScrollContent({ top, ...args }); }} { ...props } />; } Page.Header = PageHeader; Page.Content = PageContent; Page.ScrollableContent = PageScrollableContent; Page.ScrollableContentWithShadow = PageScrollableContentWithShadow; export default Page;