import { t } from '@lingui/macro'; import { Heading } from '@ts/types/app'; import { slugify } from '@utils/helpers/slugify'; import useHeadingsTree from '@utils/hooks/useHeadingsTree'; const ToC = () => { const headingsTree = useHeadingsTree('article'); const title = t`Table of contents`; const getItems = (headings: Heading[]) => { return headings.map((heading) => { if (heading.id === slugify(title)) return; return (
  • {heading.title} {heading.children.length > 0 &&
      {getItems(heading.children)}
    }
  • ); }); }; return ( <>

    {title}

      {getItems(headingsTree)}
    ); }; export default ToC;