import Link from "next/link"; import React, { memo } from "react"; import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; const NonMemoizedMarkdown = ({ children }: { children: string }) => { const components = { code: ({ node, inline, className, children, ...props }: any) => { const match = /language-(\w+)/.exec(className || ""); return !inline && match ? (
          {children}
        
) : ( {children} ); }, ol: ({ node, children, ...props }: any) => { return (
    {children}
); }, li: ({ node, children, ...props }: any) => { return (
  • {children}
  • ); }, ul: ({ node, children, ...props }: any) => { return ( ); }, strong: ({ node, children, ...props }: any) => { return ( {children} ); }, a: ({ node, children, ...props }: any) => { return ( {children} ); }, h1: ({ node, children, ...props }: any) => { return (

    {children}

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

    {children}

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

    {children}

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

    {children}

    ); }, h5: ({ node, children, ...props }: any) => { return (
    {children}
    ); }, h6: ({ node, children, ...props }: any) => { return (
    {children}
    ); }, }; return ( {children} ); }; export const Markdown = memo( NonMemoizedMarkdown, (prevProps, nextProps) => prevProps.children === nextProps.children, );