import { IconButton } from "@mui/joy"; import { useEffect, useState } from "react"; import { markdownServiceClient } from "@/grpcweb"; import { Node } from "@/types/proto/api/v2/markdown_service"; import { generateDialog } from "./Dialog"; import Icon from "./Icon"; import MemoContent from "./MemoContent"; interface Props extends DialogProps { content: string; } const PreviewMarkdownDialog: React.FC = ({ content, destroy }: Props) => { const [nodes, setNodes] = useState([]); useEffect(() => { (async () => { const { nodes } = await markdownServiceClient.parseMarkdown({ markdown: content, }); setNodes(nodes); })(); }, []); const handleCloseBtnClick = () => { destroy(); }; return ( <>

Preview

{content !== "" ? :

Nothing to preview

}
); }; export default function showPreviewMarkdownDialog(content: string): void { generateDialog( { className: "preview-markdown-dialog", dialogName: "preview-markdown-dialog", containerClassName: "dark:!bg-zinc-800", }, PreviewMarkdownDialog, { content, } ); }