import { useRouter } from 'next/router' import clsx from 'clsx' import {ActivePageMarker, NavLink, TopLevelNavItem, VisibleSectionHighlight} from "@/components/NavigationAPI"; import {AnimatePresence, motion} from "framer-motion"; export const docsNavigation = [ { title: 'About NetBird', links: [ { title: 'Why Wireguard with NetBird?', href: '/docs/about-netbird/why-wireguard-with-netbird' }, { title: 'How Netbird Works', href: '/docs/about-netbird/how-netbird-works' }, { title: 'NetBird vs. Traditional VPN', href: '/docs/about-netbird/netbird-vs-traditional-vpn' }, { title: 'Other', href: '/docs/about-netbird/other' }, { title: 'FAQ', href: '/docs/about-netbird/faq' }, ], }, { title: 'How-to', links: [ { title: 'Getting Started', href: '/docs/how-to/getting-started' }, { title: 'Peers', href: '/docs/how-to/peers' }, { title: 'Setup Keys', href: '/docs/how-to/setup-keys' }, { title: 'Access Control', href: '/docs/how-to/access-control' }, { title: 'Network Routes', href: '/docs/how-to/network-routes' }, { title: 'DNS', href: '/docs/how-to/dns' }, { title: 'Users', href: '/docs/how-to/users' }, { title: 'Activity', href: '/docs/how-to/activity' }, { title: 'Settings', href: '/docs/how-to/settings' }, { title: 'Examples', href: '/docs/how-to/examples' }, { title: 'CLI', href: '/docs/how-to/cli' }, ], }, { title: 'Self-Hosted', links: [ { title: 'Installation Guide', href: '/docs/selfhosted/selfhosted-guide' }, { title: 'Identity Providers', href: '/docs/selfhosted/identity-providers' }, ], }, ] export function NavigationDocs(props) { return ( ) } function NavigationGroup({ group, className }) { // If this is the mobile navigation then we always render the initial // state, so that the state does not change during the close animation. // The state will still update when we re-open (re-render) the navigation. let router = useRouter() let isActiveGroup = group.links.findIndex((link) => link.href === router.pathname) !== -1 return (
  • {group.title}
    {isActiveGroup && ( )} {isActiveGroup && ( )}
      {group.links.map((link) => ( {link.title} {/**/} {/* {link.href === router.pathname && sections.length > 0 && (*/} {/* */} {/* {sections.map((section) => (*/} {/*
    • */} {/* */} {/* {section.title}*/} {/* */} {/*
    • */} {/* ))}*/} {/* */} {/* )}*/} {/*
      */}
      ))}
  • ) }