diff --git a/nx-dev/feature-doc-viewer/src/lib/doc-viewer.tsx b/nx-dev/feature-doc-viewer/src/lib/doc-viewer.tsx index f42552eabf..b0d96fa983 100644 --- a/nx-dev/feature-doc-viewer/src/lib/doc-viewer.tsx +++ b/nx-dev/feature-doc-viewer/src/lib/doc-viewer.tsx @@ -1,6 +1,5 @@ import { categorizeRelatedDocuments, - generateRelatedDocumentsTemplate, ProcessedDocument, RelatedDocument, } from '@nx/nx-dev/models-document'; @@ -11,6 +10,7 @@ import { useRouter } from 'next/router'; import { cx } from '@nx/nx-dev/ui-primitives'; import { useRef } from 'react'; import { collectHeadings, TableOfContents } from './table-of-contents'; +import { RelatedDocumentsSection } from './related-documents-section'; export function DocViewer({ document, @@ -42,14 +42,7 @@ export function DocViewer({ description: metadata['description'] ?? document.description, mediaImage: document.mediaImage, content: node, - relatedContent: renderMarkdown( - generateRelatedDocumentsTemplate( - categorizeRelatedDocuments(relatedDocuments) - ), - { - filePath: '', - } - ).node, + relatedContentData: categorizeRelatedDocuments(relatedDocuments), tableOfContent: collectHeadings(treeNode), }; @@ -129,11 +122,17 @@ export function DocViewer({ )} {/*RELATED CONTENT*/} +
- {vm.relatedContent} +
diff --git a/nx-dev/feature-doc-viewer/src/lib/related-documents-section.tsx b/nx-dev/feature-doc-viewer/src/lib/related-documents-section.tsx new file mode 100644 index 0000000000..3cc077a5eb --- /dev/null +++ b/nx-dev/feature-doc-viewer/src/lib/related-documents-section.tsx @@ -0,0 +1,65 @@ +import { RelatedDocumentsCategory } from '@nx/nx-dev/models-document'; +import { + CubeTransparentIcon, + ArrowRightIcon, + ClipboardDocumentIcon, + LightBulbIcon, + MagnifyingGlassIcon, + InformationCircleIcon, +} from '@heroicons/react/24/outline'; + +export function RelatedDocumentsSection({ + relatedCategories, +}: { + relatedCategories: RelatedDocumentsCategory[]; +}) { + return ( +
+ {relatedCategories.length > 0 && + relatedCategories.map((category) => ( + + ))} +
+ ); +} + +const iconMap: { [key: string]: JSX.Element } = { + concepts: