import { useRouter } from 'next/router' import cx from 'classnames' import { useTocLandingContext } from 'components/context/TocLandingContext' import { useTranslation } from 'components/hooks/useTranslation' import { DefaultLayout } from 'components/DefaultLayout' import { TableOfContents } from 'components/landing/TableOfContents' import { ArticleTitle } from 'components/article/ArticleTitle' import { MarkdownContent } from 'components/ui/MarkdownContent' import { ArticleList } from 'components/landing/ArticleList' import { ArticleGridLayout } from 'components/article/ArticleGridLayout' import { Callout } from 'components/ui/Callout' import { Lead } from 'components/ui/Lead' import { LearningTrackNav } from 'components/article/LearningTrackNav' import { ClientSideRedirects } from 'components/ClientSideRedirects' import { RestRedirect } from 'components/RestRedirect' import { Breadcrumbs } from 'components/page-header/Breadcrumbs' export const TocLanding = () => { const router = useRouter() const { title, intro, tocItems, productCallout, variant, featuredLinks, renderedPage, currentLearningTrack, } = useTocLandingContext() const { t } = useTranslation('toc') return ( {router.route === '/[versionId]/rest/[category]' && } {/* Doesn't matter *where* this is included because it will never render anything. It always just return null. */}
{title} {intro && {intro}} {productCallout && ( )}
{featuredLinks.gettingStarted && featuredLinks.popular && (
)} {renderedPage && (
{renderedPage}
)}
{currentLearningTrack?.trackName ? (
) : null}
) }