import Link from 'next/link'; import React, { memo } from 'react'; import ReactMarkdown, { type Components } from 'react-markdown'; import remarkGfm from 'remark-gfm'; import { CodeBlock } from './code-block'; const components: Partial = { // @ts-expect-error code: CodeBlock, pre: ({ children }) => <>{children}, ol: ({ node, children, ...props }) => { return (
    {children}
); }, li: ({ node, children, ...props }) => { return (
  • {children}
  • ); }, ul: ({ node, children, ...props }) => { return ( ); }, strong: ({ node, children, ...props }) => { return ( {children} ); }, a: ({ node, children, ...props }) => { return ( // @ts-expect-error {children} ); }, h1: ({ node, children, ...props }) => { return (

    {children}

    ); }, h2: ({ node, children, ...props }) => { return (

    {children}

    ); }, h3: ({ node, children, ...props }) => { return (

    {children}

    ); }, h4: ({ node, children, ...props }) => { return (

    {children}

    ); }, h5: ({ node, children, ...props }) => { return (
    {children}
    ); }, h6: ({ node, children, ...props }) => { return (
    {children}
    ); }, }; const remarkPlugins = [remarkGfm]; const NonMemoizedMarkdown = ({ children }: { children: string }) => { return ( {children} ); }; export const Markdown = memo( NonMemoizedMarkdown, (prevProps, nextProps) => prevProps.children === nextProps.children, );