import { useQuery } from '@tanstack/react-query'
import { listAgents } from '../services/api'
import { Activity, AlertTriangle } from 'lucide-react'
export default function HubPage() {
const { data, isLoading, error } = useQuery({
queryKey: ['agents'],
queryFn: listAgents,
})
if (isLoading) {
return (
)
}
if (error) {
return (
)
}
const agents = data?.data ?? []
return (
Command Hub
Agent fleet overview
{agents.map((agent) => (
{agent.displayName}
{agent.role}
{agent.currentTask && (
{agent.currentTask}
)}
{agent.taskProgress !== undefined && (
)}
{agent.channel} ยท {agent.lastActivity}
))}
)
}
function StatusDot({ status }: { status: string }) {
const colorMap: Record = {
active: 'bg-status-active',
idle: 'bg-status-idle',
thinking: 'bg-status-thinking',
error: 'bg-status-error',
}
return (
)
}