"use client"; import { useState } from "react"; import { motion } from "framer-motion"; import { useMissionControl } from "@/lib/mission-control/store"; import { Task, TaskStatus } from "@/lib/mission-control/types"; interface ProjectSummary { id: string; name: string; description: string; status: "active" | "paused" | "completed"; color: string; } const projects: ProjectSummary[] = [ { id: "sitemente", name: "SiteMente", description: "AI website platform for local businesses (B2B)", status: "active", color: "#ff7bc0", }, { id: "holacompi", name: "HolaCompi", description: "AI ally for immigrants/consumers (B2C)", status: "paused", color: "#6366f1", }, ]; const statusConfig: Record = { todo: { label: "To Do", color: "text-white/70", bg: "bg-white/10" }, in_progress: { label: "In Progress", color: "text-yellow-400", bg: "bg-yellow-500/20" }, done: { label: "Done", color: "text-green-400", bg: "bg-green-500/20" }, blocked: { label: "Blocked", color: "text-red-400", bg: "bg-red-500/20" }, paused: { label: "Paused", color: "text-gray-400", bg: "bg-gray-500/20" }, }; const fadeUp = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0 }, }; export default function MissionControlDashboard() { const { tasks, toggleTask, updateTaskStatus, getProjectProgress, getTasksByProject } = useMissionControl(); const [selectedProject, setSelectedProject] = useState<"sitemente" | "holacompi">("sitemente"); const [filter, setFilter] = useState("all"); const projectTasks = getTasksByProject(selectedProject); const filteredTasks = filter === "all" ? projectTasks : projectTasks.filter((t) => t.status === filter); const progress = getProjectProgress(selectedProject); const selectedProjectData = projects.find((p) => p.id === selectedProject)!; return (
{/* Header */}
👁️

Mission Control

SiteMente + HolaCompi

Total Progress

{progress}%

{/* Project Tabs */}
{projects.map((project) => { const p = getProjectProgress(project.id); return ( ); })}
{/* Stats Row */}
{(["todo", "in_progress", "done", "blocked"] as TaskStatus[]).map((status) => { const count = projectTasks.filter((t) => t.status === status).length; const config = statusConfig[status]; return ( ); })}
{/* Task List */}

{selectedProjectData.name} Tasks

{filteredTasks.filter((t) => t.status === "done").length} /{" "} {filteredTasks.length} completed

{filteredTasks.map((task, index) => { const config = statusConfig[task.status]; return (

{task.title}

{task.priority === "critical" && ( CRITICAL )}

{task.description}

); })}
{filteredTasks.length === 0 && (
No tasks match the current filter.
)}
{/* Quick Actions */}
); }