"use client"; import { useState, useEffect } from "react"; import { AgentTeam, defaultTeams } from "@/lib/council/types"; import AgentModal from "./AgentModal"; const STORAGE_KEY = "horus:council"; export default function Council() { const [teams, setTeams] = useState(defaultTeams); const [selectedTeam, setSelectedTeam] = useState(null); const [selectedAgent, setSelectedAgent] = useState(null); useEffect(() => { if (typeof window === "undefined") return; const saved = localStorage.getItem(STORAGE_KEY); if (saved) { try { setTeams(JSON.parse(saved)); } catch {} } }, []); useEffect(() => { if (typeof window === "undefined") return; localStorage.setItem(STORAGE_KEY, JSON.stringify(teams)); }, [teams]); const getStatusColor = (status: string) => { switch (status) { case "working": return "text-yellow-400 bg-yellow-400/20"; case "completed": return "text-green-400 bg-green-400/20"; case "error": return "text-red-400 bg-red-400/20"; default: return "text-white/50 bg-white/10"; } }; const currentTeam = teams.find(t => t.id === selectedTeam); return (
{/* Header */}

🏛️ Council

Manage AI agent teams for each project. I'm the boss — I delegate tasks and oversee execution.

{/* Team Grid */}
{teams.map((team) => ( ))}
{/* Selected Team Detail */} {currentTeam && (
{currentTeam.icon}

{currentTeam.name}

{currentTeam.description}

{/* Agents - Grid Layout */}
{currentTeam.agents.map((agent) => ( ))}
)} {/* Agent Modal */} {selectedAgent && ( setSelectedAgent(null)} /> )}
); }