import { useState } from 'react' import { Highlight, themes } from 'prism-react-renderer' import { useTheme } from '@hooks/useTheme' interface CodeBlockProps { children: string language?: string copyable?: boolean editable?: boolean showLineNumbers?: boolean } export function CodeBlock({ children, language = 'typescript', copyable = true, editable = false, showLineNumbers = true, }: CodeBlockProps) { const [copied, setCopied] = useState(false) const [code, setCode] = useState(children.trim()) const { isDark } = useTheme() const handleCopy = async () => { try { await navigator.clipboard.writeText(code) setCopied(true) setTimeout(() => setCopied(false), 2000) } catch (err) { console.error('Failed to copy:', err) } } return (