From 41c255abf247a4a77b0d737b38ddfca4338c60b1 Mon Sep 17 00:00:00 2001 From: Horus AI Date: Mon, 23 Mar 2026 18:02:39 +0100 Subject: [PATCH] feat(mission-control): new sidebar structure v3.0 - 10 categories: Command, Personal, Automation, Council, Projects, Trading, Leads, Memory, Sites, System - Expand All / Collapse All buttons - Open All by default: Command, Personal, Automation - Logout button in footer - All existing pages linked --- .../MissionControlDashboard.tsx | 166 +++++++++++++++--- 1 file changed, 137 insertions(+), 29 deletions(-) diff --git a/components/mission-control/MissionControlDashboard.tsx b/components/mission-control/MissionControlDashboard.tsx index 9bcd962..ba3d205 100644 --- a/components/mission-control/MissionControlDashboard.tsx +++ b/components/mission-control/MissionControlDashboard.tsx @@ -3,19 +3,38 @@ import { useState } from "react"; import Link from "next/link"; -export default function MissionControlDashboard() { - const [expandedCategory, setExpandedCategory] = useState("council"); +export default function MissionControlDashboard({ onLogout }: { onLogout?: () => void }) { + const [expandedCategories, setExpandedCategories] = useState>(new Set(["command", "personal", "automation"])); + + const toggleCategory = (id: string) => { + setExpandedCategories((prev) => { + const next = new Set(prev); + if (next.has(id)) { + next.delete(id); + } else { + next.add(id); + } + return next; + }); + }; + + const expandAll = () => { + setExpandedCategories(new Set(categories.map((c) => c.id))); + }; + + const collapseAll = () => { + setExpandedCategories(new Set()); + }; const categories = [ { - id: "council", - name: "Council", + id: "command", + name: "Command", icon: "👁️", items: [ - { id: "temple", name: "Temple of AI", icon: "🏛️", color: "#fbbf24", href: "/mission-control/temple" }, - { id: "office", name: "Claw3D Office", icon: "🏢", color: "#22c55e", href: "/mission-control/office" }, - { id: "memory", name: "Daily Memory", icon: "📝", color: "#a855f7", href: "/mission-control/memory" }, - { id: "claude", name: "Claude Chat", icon: "💬", color: "#ff6154", href: "/mission-control/claude-chat" }, + { id: "dashboard", name: "Dashboard", icon: "🏠", color: "#3b82f6", href: "/mission-control" }, + { id: "horus-chat", name: "Horus Chat", icon: "💬", color: "#8b5cf6", href: "/mission-control/claude-chat" }, + { id: "voice-chat", name: "Voice Chat", icon: "🎤", color: "#06b6d4", href: "/mission-control/voice" }, ] }, { @@ -27,6 +46,77 @@ export default function MissionControlDashboard() { { id: "pdf-viewer", name: "PDF Viewer", icon: "📰", color: "#6366f1", href: "/mission-control/pdf-viewer" }, ] }, + { + id: "automation", + name: "Automation", + icon: "⚡", + items: [ + { id: "horus-ai", name: "Horus AI", icon: "🤖", color: "#f59e0b", href: "/mission-control/horus-ai" }, + { id: "autorun", name: "Auto-Run", icon: "🔄", color: "#22c55e", href: "/mission-control/autorun" }, + { id: "exec-logs", name: "Execution Logs", icon: "📊", color: "#ef4444", href: "/mission-control/execution-logs" }, + { id: "change-log", name: "Change Log", icon: "📝", color: "#a855f7", href: "/mission-control/change-log" }, + { id: "brainown", name: "Brainown", icon: "🧠", color: "#fbbf24", href: "/mission-control/brainown" }, + ] + }, + { + id: "council", + name: "Council", + icon: "🏛️", + items: [ + { id: "agent-roster", name: "Agent Roster", icon: "👥", color: "#8b5cf6", href: "/mission-control/agents" }, + { id: "thoth", name: "Thoth", icon: "🦉", color: "#6366f1", href: "/mission-control/agent/thoth" }, + { id: "ptah", name: "Ptah", icon: "🛠️", color: "#f59e0b", href: "/mission-control/agent/ptah" }, + { id: "seshat", name: "Seshat", icon: "📜", color: "#22c55e", href: "/mission-control/agent/seshat" }, + { id: "anubis", name: "Anubis", icon: "🐕", color: "#ef4444", href: "/mission-control/agent/anubis" }, + { id: "thoth-trading", name: "Thoth Trading", icon: "📈", color: "#10b981", href: "/mission-control/agent/thoth-trading" }, + { id: "sekhmet", name: "Sekhmet", icon: "🦁", color: "#fbbf24", href: "/mission-control/agent/sekhmet" }, + { id: "sessions", name: "Sessions", icon: "💬", color: "#06b6d4", href: "/mission-control/sessions" }, + { id: "council-chat", name: "Council Chat", icon: "🏛️", color: "#a855f7", href: "/mission-control/council" }, + ] + }, + { + id: "projects", + name: "Projects & Tasks", + icon: "📋", + items: [ + { id: "task-board", name: "Task Board", icon: "✅", color: "#3b82f6", href: "/mission-control/tasks" }, + { id: "task-history", name: "Task History", icon: "📜", color: "#6366f1", href: "/mission-control/task-history" }, + { id: "monday", name: "Monday Board", icon: "📅", color: "#f59e0b", href: "/mission-control/monday" }, + ] + }, + { + id: "trading", + name: "Trading", + icon: "📊", + items: [ + { id: "trading-panel", name: "Trading Panel", icon: "📈", color: "#10b981", href: "/mission-control/trading" }, + { id: "trading-chart", name: "Trading Chart", icon: "📉", color: "#ef4444", href: "/mission-control/trading-chart" }, + { id: "trading-reports", name: "Trading Reports", icon: "📔", color: "#f59e0b", href: "/mission-control/trading-reports" }, + { id: "trading-tools", name: "Trading Tools", icon: "🛠️", color: "#8b5cf6", href: "/mission-control/trading-tools" }, + ] + }, + { + id: "leads", + name: "Leads & CRM", + icon: "💼", + items: [ + { id: "leads", name: "Lead Manager", icon: "📋", color: "#f59e0b", href: "/mission-control/leads" }, + { id: "hp-leads", name: "HP Leads", icon: "🚀", color: "#22c55e", href: "/mission-control/hp-leads" }, + { id: "hp-submissions", name: "HP Submissions", icon: "📨", color: "#ef4444", href: "/mission-control/hp-submissions" }, + ] + }, + { + id: "memory", + name: "Memory & Research", + icon: "📝", + items: [ + { id: "daily-memory", name: "Daily Memory", icon: "📅", color: "#a855f7", href: "/mission-control/memory" }, + { id: "briefs", name: "Briefs", icon: "☀️", color: "#fbbf24", href: "/mission-control/briefs" }, + { id: "research", name: "Deep Research", icon: "🔬", color: "#3b82f6", href: "/mission-control/research" }, + { id: "transcripts", name: "Transcripts", icon: "📹", color: "#6366f1", href: "/mission-control/transcripts" }, + { id: "docs", name: "Docs", icon: "📚", color: "#10b981", href: "/mission-control/docs" }, + ] + }, { id: "sites", name: "Sites", @@ -38,22 +128,14 @@ export default function MissionControlDashboard() { ] }, { - id: "tools", - name: "Tools", - icon: "🛠️", + id: "system", + name: "System", + icon: "⚙️", items: [ - { id: "leads", name: "Lead Manager", icon: "📋", color: "#f59e0b", href: "/mission-control/leads" }, - { id: "email", name: "Email Campaign", icon: "📧", color: "#ef4444", href: "/mission-control/email" }, - { id: "trading", name: "Trading Panel", icon: "📈", color: "#10b981", href: "/mission-control/trading" }, - ] - }, - { - id: "agents", - name: "Agents", - icon: "🤖", - items: [ - { id: "agents-list", name: "Agent Roster", icon: "👥", color: "#8b5cf6", href: "/mission-control/agents" }, - { id: "sessions", name: "Sessions", icon: "💬", color: "#06b6d4", href: "/mission-control/sessions" }, + { id: "system-status", name: "System Status", icon: "📡", color: "#10b981", href: "/mission-control/system-status" }, + { id: "skills-panel", name: "Skills Panel", icon: "🎯", color: "#f59e0b", href: "/mission-control/skills" }, + { id: "command-center", name: "Command Center", icon: "⌨️", color: "#ef4444", href: "/mission-control/command" }, + { id: "projects-panel", name: "Projects Panel", icon: "📁", color: "#6366f1", href: "/mission-control/projects-panel" }, ] }, ]; @@ -68,7 +150,7 @@ export default function MissionControlDashboard() {
👁️

Mission Control

-

Horus OS v2.0

+

Horus OS v3.0

@@ -79,18 +161,18 @@ export default function MissionControlDashboard() {
{/* Category Header */} {/* Category Items */} - {expandedCategory === category.id && ( + {expandedCategories.has(category.id) && (
{category.items.map((item) => ( item.external ? ( @@ -128,8 +210,26 @@ export default function MissionControlDashboard() { ))}
+ {/* Expand/Collapse All Buttons */} +
+ + +
+ {/* Footer */} -
+
@@ -137,6 +237,14 @@ export default function MissionControlDashboard() {

Horus is watching 👁️

+ {onLogout && ( + + )}
@@ -149,7 +257,7 @@ export default function MissionControlDashboard() {
- Horus v2.0 + Horus v3.0