"use client"; import { useState, useEffect } from "react"; interface AgentOutput { agent: string; date: string; content: string; } const AGENT_NAMES: Record = { thoth: "Thoth", "thoth-trading": "Thoth Trading", ptah: "Ptah", seshat: "Seshat", anubis: "Anubis", sekhmet: "Sekhmet", horus: "Horus" }; const AGENT_COLORS: Record = { thoth: "#8b5cf6", "thoth-trading": "#f59e0b", ptah: "#10b981", seshat: "#ec4899", anubis: "#6366f1", sekhmet: "#ef4444", horus: "#ff7bc0" }; export default function BrainownPanel() { const [agents, setAgents] = useState([]); const [selectedAgent, setSelectedAgent] = useState(null); const [dates, setDates] = useState([]); const [selectedDate, setSelectedDate] = useState(null); const [content, setContent] = useState(""); const [loading, setLoading] = useState(true); const [editing, setEditing] = useState(false); useEffect(() => { fetchAgents(); }, []); const fetchAgents = async () => { const res = await fetch("/api/agent-outputs"); const data = await res.json(); setAgents(data); setLoading(false); }; const fetchDates = async (agent: string) => { const res = await fetch(`/api/agent-outputs?agent=${agent}`); const data = await res.json(); if (Array.isArray(data)) { setDates(data); } }; const fetchContent = async (agent: string, date: string) => { const res = await fetch(`/api/agent-outputs?agent=${agent}&date=${date}`); const data = await res.json(); if (data.content) { setContent(data.content); } else { setContent(`# ${AGENT_NAMES[agent] || agent} - ${date}\n\nStart writing your notes here...`); } }; const handleAgentSelect = (agent: string) => { setSelectedAgent(agent); setSelectedDate(null); setContent(""); fetchDates(agent); }; const handleDateSelect = (date: string) => { setSelectedDate(date); if (selectedAgent) { fetchContent(selectedAgent, date); } }; const saveContent = async () => { if (!selectedAgent || !selectedDate) return; await fetch("/api/agent-outputs", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ action: "save", agent: selectedAgent, date: selectedDate, content }) }); setEditing(false); }; const createNewNote = () => { if (!selectedAgent) return; const today = new Date().toISOString().split("T")[0]; setSelectedDate(today); setContent(`# ${AGENT_NAMES[selectedAgent]} - ${today}\n\n`); setEditing(true); }; if (loading) { return
Loading...
; } return (

🧠 Brainown

{selectedAgent && ( )}
{/* Agent List */}

Agents

{agents.map((agent) => ( ))} {agents.length === 0 && (

No agent outputs yet

)}
{/* Date List */}

Notes

{dates.map((date) => ( ))} {selectedAgent && dates.length === 0 && (

No notes yet

)}
{/* Content Editor */}
{selectedDate ? (

{AGENT_NAMES[selectedAgent]} - {selectedDate}

{editing ? ( <> ) : ( )}
{editing ? (