"use client"; import PropTypes from "prop-types"; import ReactMarkdown from "react-markdown"; import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; import oneDark from "react-syntax-highlighter/dist/esm/styles/prism/one-dark"; import oneLight from "react-syntax-highlighter/dist/esm/styles/prism/one-light"; import styles from "../styles/modules/markdown.module.scss"; import remarkGfm from "remark-gfm"; import remarkGemoji from "remark-gemoji"; import remarkStringify from "remark-stringify"; import React from "react"; import { formatTextToUrlName } from "../utils"; function flatten(text, child) { return typeof child === "string" ? text + child : React.Children.toArray(child.props.children).reduce(flatten, text); } function HeadingRenderer({ children, level }) { children = React.Children.toArray(children); const text = children.reduce(flatten, ""); return React.createElement("h" + level, { id: formatTextToUrlName(text) }, children); } export default function Markdown({ value }: { value: any }) { return (
{children}
);
},
}}
>
{value}