import React from "react"; import { parseDocComments } from "./codeParser"; import CodeStyleRender from "./CodeStyleRender"; import { Button } from "../ui/button"; import { CheckIcon, CopyIcon, FoldVertical, MoveUpRight, UnfoldVertical, } from "lucide-react"; type Src = { raw: string; codePath?: string; githubUrl?: string; language?: string; }; interface CodeRendererProps { source: Src; target?: string; } export const CodeBlock = ({ source, target }: CodeRendererProps) => { const [collapsed, setCollapsed] = React.useState(true); const [plainText, setPlainText] = React.useState(false); const [copied, setCopied] = React.useState(false); const parsed = parseDocComments(source.raw, target, collapsed); const canCollapse = source.raw.includes("// ...") || source.raw.includes("# ..."); return ( <>