import React, { useState, useEffect } from 'react' import { useParams, useNavigate } from 'react-router-dom' import StatusBadge from '../components/StatusBadge' import ChatView from '../components/ChatView' import GitStatus from '../components/GitStatus' import ProgressBar from '../components/ProgressBar' function Detail() { const { id } = useParams() const navigate = useNavigate() const [instance, setInstance] = useState(null) const [logs, setLogs] = useState({ messages: [], tool_calls: [] }) const [loading, setLoading] = useState(true) const fetchInstance = async () => { try { const response = await fetch(`/api/instances/${id}`) if (response.ok) { const data = await response.json() setInstance(data) } } catch (error) { console.error('Failed to fetch instance:', error) } } const fetchLogs = async () => { try { const response = await fetch(`/api/instances/${id}/logs`) if (response.ok) { const data = await response.json() setLogs(data) } } catch (error) { console.error('Failed to fetch logs:', error) } finally { setLoading(false) } } useEffect(() => { fetchInstance() fetchLogs() const interval = setInterval(() => { fetchInstance() fetchLogs() }, 5000) return () => clearInterval(interval) }, [id]) if (loading || !instance) { return (
{instance.project_files.requirements}
{instance.project_files.readme}
{instance.project_files.agents}