({
node,
className,
active = false,
iconClassName,
toggle,
}: {
node: PageTree.Item;
className: string;
active?: boolean;
iconClassName?: string;
toggle?: () => void;
})
| 66 | }; |
| 67 | |
| 68 | const PageLink = ({ |
| 69 | node, |
| 70 | className, |
| 71 | active = false, |
| 72 | iconClassName, |
| 73 | toggle, |
| 74 | }: { |
| 75 | node: PageTree.Item; |
| 76 | className: string; |
| 77 | active?: boolean; |
| 78 | iconClassName?: string; |
| 79 | toggle?: () => void; |
| 80 | }) => { |
| 81 | const content = ( |
| 82 | <> |
| 83 | <span>{node.name}</span> |
| 84 | {node.external && ( |
| 85 | <IconExternalLink className={iconClassName} size={14} stroke={1.8} /> |
| 86 | )} |
| 87 | </> |
| 88 | ); |
| 89 | |
| 90 | if (node.external) { |
| 91 | return ( |
| 92 | <a className={className} href={node.url} target="_blank" rel="noreferrer"> |
| 93 | {content} |
| 94 | </a> |
| 95 | ); |
| 96 | } |
| 97 | |
| 98 | return ( |
| 99 | <Link |
| 100 | className={className} |
| 101 | to={node.url} |
| 102 | prefetch="render" |
| 103 | data-active={active} |
| 104 | aria-current={active ? 'page' : undefined} |
| 105 | onClick={toggle} |
| 106 | > |
| 107 | {content} |
| 108 | </Link> |
| 109 | ); |
| 110 | }; |
| 111 | |
| 112 | const SidebarNodes = ({ |
| 113 | nodes, |
nothing calls this directly
no outgoing calls
no test coverage detected