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,
);