'use client'; import { useCallback, useState } from 'react'; import { CodeIcon, LoaderIcon, PlayIcon, PythonIcon } from './icons'; import { Button } from './ui/button'; import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip'; import { cn } from '@/lib/utils'; interface CodeBlockProps { node: any; inline: boolean; className: string; children: any; } export function CodeBlock({ node, inline, className, children, ...props }: CodeBlockProps) { const [output, setOutput] = useState(null); const [pyodide, setPyodide] = useState(null); const match = /language-(\w+)/.exec(className || ''); const isPython = match && match[1] === 'python'; const codeContent = String(children).replace(/\n$/, ''); const [tab, setTab] = useState<'code' | 'run'>('code'); if (!inline) { return (
{tab === 'code' && (
            {children}
          
)} {tab === 'run' && output && (
{output}
)}
); } else { return ( {children} ); } }