import { useRouter } from 'next/router' import dynamic from 'next/dynamic' import { Callout } from 'components/ui/Callout' import { DefaultLayout } from 'components/DefaultLayout' import { ArticleTitle } from 'components/article/ArticleTitle' import { useArticleContext } from 'components/context/ArticleContext' import { LearningTrackNav } from './LearningTrackNav' import { MarkdownContent } from 'components/ui/MarkdownContent' import { Lead } from 'components/ui/Lead' import { PermissionsStatement } from 'components/ui/PermissionsStatement' import { ArticleGridLayout } from './ArticleGridLayout' import { PlatformPicker } from 'components/article/PlatformPicker' import { ToolPicker } from 'components/article/ToolPicker' import { MiniTocs } from 'components/ui/MiniTocs' import { ClientSideHighlight } from 'components/ClientSideHighlight' import { LearningTrackCard } from 'components/article/LearningTrackCard' import { RestRedirect } from 'components/RestRedirect' const ClientSideRefresh = dynamic(() => import('components/ClientSideRefresh'), { ssr: false, }) const isDev = process.env.NODE_ENV === 'development' export const ArticlePage = () => { const router = useRouter() const { title, intro, effectiveDate, renderedPage, permissions, includesPlatformSpecificContent, includesToolSpecificContent, product, miniTocItems, currentLearningTrack, } = useArticleContext() const isLearningPath = !!currentLearningTrack?.trackName return ( {isDev && } {router.pathname.includes('/rest/') && }
{title}} intro={ <> {intro && ( {intro} )} {permissions && } {includesPlatformSpecificContent && } {includesToolSpecificContent && } {product && ( )} } toc={ <> {isLearningPath && } {miniTocItems.length > 1 && } } >
{renderedPage} {effectiveDate && (
Effective as of:{' '}
)}
{isLearningPath ? (
) : null}
) }