import { useState, useRef, useEffect } from 'react'; import { IconCopy, IconCheck } from '@tabler/icons'; const AssistantCodeBlock = ({ content, language, isOpen, isStreaming, isLast }) => { const [isCopied, setIsCopied] = useState(false); const preRef = useRef(null); useEffect(() => { if (isStreaming && isOpen && preRef.current) { preRef.current.scrollTop = preRef.current.scrollHeight; } }, [content, isStreaming, isOpen]); const handleCopy = async () => { try { await navigator.clipboard.writeText(content); setIsCopied(true); setTimeout(() => setIsCopied(false), 1500); } catch (err) { console.error('Failed to copy:', err); } }; return (
{language || 'code'} {isOpen && }
        
          {content}
          {isStreaming && isLast && |}
        
      
); }; export default AssistantCodeBlock;