import { useEffect, useState } from 'react'; import type { ArtifactDocument } from '../../lib/agent-tools'; interface ArtifactPaneProps { artifact: ArtifactDocument | null; onClose: () => void; } export function ArtifactPane({ artifact, onClose }: ArtifactPaneProps) { const [tab, setTab] = useState<'preview' | 'code'>('code'); const [running, setRunning] = useState(false); const [runId, setRunId] = useState(0); useEffect(() => { setTab('code'); setRunning(false); }, [artifact?.id]); const run = () => { setTab('preview'); setRunId((current) => current + 1); setRunning(true); }; return (

Artifact

{artifact && }
{!artifact ? (

An inert HTML/CSS tool result will open here. Scripts and network access are blocked.

) : (
{artifact.title}
{tab === 'code' ? (
{artifact.source}
) : running ? (