"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 { useState, useEffect } from "react"; import { useLocalStorage } from "usehooks-ts"; import React from "react"; import Head from "./head"; 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}