import {
NavWrapper,
NavMain,
NavErrorSection,
NavError,
NavMenu,
NavFooter,
NavCollapser,
NavMobileToggle,
NavigationContextProvider,
useNavigationContext
} from '@broadleaf/admin-components/dist/view';
export const CustomNavigation: React.FC = () => {
const {
isError,
isSuccess,
menuCollapsed,
menuOpen,
isHovered,
filter,
setFilter,
setMenuOpen,
setMenuCollapsed,
setIsHovered,
modules,
fetchNavigation
} = useNavigationContext();
return (
<NavigationContextProvider>
<NavWrapper>
<NavMain>
{isError && (
<NavErrorSection>
<NavError fetchNavigation={fetchNavigation} />
</NavErrorSection>
)}
{isSuccess && (
<NavMenu
filter={filter}
modules={modules}
setFilter={setFilter}
setMenuOpen={setMenuOpen}
menuCollapsed={menuCollapsed && !isHovered && !menuOpen}
/>
)}
</NavMain>
<NavFooter>
<NavCollapser
menuCollapsed={menuCollapsed}
setMenuCollapsed={val => {
setMenuCollapsed(val);
setMenuOpen(!val);
setIsHovered(false);
}}
/>
</NavFooter>
</NavWrapper>
<NavMobileToggle
menuOpen={menuOpen}
setMenuOpen={val => {
setMenuOpen(val);
setMenuCollapsed(!val);
}}
/>
</NavigationContextProvider>
);
};