import React, { useCallback, useState } from 'react'; import cx from 'classnames'; import Link from 'next/link'; import { Menu, MenuItem, MenuSection, } from '@nrwl/nx-dev/data-access-documents'; import { useRouter } from 'next/router'; export interface SidebarProps { menu: Menu; navIsOpen?: boolean; } export function Sidebar({ menu, navIsOpen }: SidebarProps) { return (
); } function SidebarSection({ section }: { section: MenuSection }) { return ( <> {section.hideSectionHeader ? null : (

{section.name}

)} ); } function SidebarSectionItems({ item }: { item: MenuItem }) { const router = useRouter(); const [collapsed, setCollapsed] = useState(!item.disableCollapsible); const handleCollapseToggle = useCallback(() => { if (!item.disableCollapsible) { setCollapsed(!collapsed); } }, [collapsed, setCollapsed, item]); function withoutAnchors(linkText: string): string { return linkText?.includes('#') ? linkText.substring(0, linkText.indexOf('#')) : linkText; } return ( <>
{item.name} {item.disableCollapsible ? null : ( )}
); } function CollapsibleIcon({ isCollapsed }: { isCollapsed: boolean }) { return ( ); } export default Sidebar;