"use client"; import React, { useState } from "react"; import { Check, Copy, Terminal, Play } from "lucide-react"; interface CodeBlockProps { language: string; code: string; } export const CodeBlock: React.FC = ({ language, code }) => { const [copied, setCopied] = useState(false); const [output, setOutput] = useState(null); const [isRunning, setIsRunning] = useState(false); const handleCopy = async () => { try { await navigator.clipboard.writeText(code); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch { // ignore } }; const handleSimulateRun = () => { setIsRunning(true); setOutput(null); setTimeout(() => { setIsRunning(false); if (language === "python" || language === "py") { setOutput(">>> Process finished with exit code 0\n[Tensor shape: torch.Size([2, 64, 896]) | Latency: 4.2ms | Device: CUDA]"); } else { setOutput("✓ Compiled successfully in 12ms. Zero runtime warnings."); } }, 600); }; const lines = code.trim().split("\n"); return (
{/* Code Header Bar */}
{language || "code"}
{/* Code Content */}
{lines.map((line, idx) => ( ))}
{idx + 1} {line}
{/* Simulated Execution Output Drawer */} {output && (
Output Console
{output}
)}
); };