function ChangelogPageContent()

in website/src/plugins/changelog/theme/ChangelogPage/index.tsx [57:105]


function ChangelogPageContent(props: Props): JSX.Element {
  const {content: BlogPostContents, sidebar} = props;
  const {assets, metadata} = BlogPostContents;
  const {
    nextItem,
    prevItem,
    frontMatter,
    // @ts-expect-error: we injected this
    listPageLink,
  } = metadata;
  const {
    hide_table_of_contents: hideTableOfContents,
    toc_min_heading_level: tocMinHeadingLevel,
    toc_max_heading_level: tocMaxHeadingLevel,
  } = frontMatter;

  return (
    <>
      <PageMetadata />
      <BlogLayout
        sidebar={sidebar}
        toc={
          !hideTableOfContents &&
          BlogPostContents.toc &&
          BlogPostContents.toc.length > 0 ? (
            <TOC
              toc={BlogPostContents.toc}
              minHeadingLevel={tocMinHeadingLevel}
              maxHeadingLevel={tocMaxHeadingLevel}
            />
          ) : undefined
        }>
        <Link to={listPageLink}>← Back to index page</Link>

        <ChangelogItem
          frontMatter={frontMatter}
          assets={assets}
          metadata={metadata}
          isBlogPostPage>
          <BlogPostContents />
        </ChangelogItem>

        {(nextItem || prevItem) && (
          <BlogPostPaginator nextItem={nextItem} prevItem={prevItem} />
        )}
      </BlogLayout>
    </>
  );
}