mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-18 07:39:29 +02:00
- Add CoreProvider to @multica/core/platform — single component for API/stores/WS/QueryClient init - Delete 13 platform files across web (6) and desktop (7), each app keeps only navigation.tsx - Extract AppSidebar + DashboardLayout to @multica/views/layout - Extract LoginPage to @multica/views/auth - Extract AgentsPage (1,279 lines) to @multica/views/agents (11 files) - Extract InboxPage (468 lines) to @multica/views/inbox (5 files) - Extract SettingsPage + 6 tabs (1,277 lines) to @multica/views/settings (9 files) - Fix AppLink to use forwardRef for Base UI render prop compatibility - Fix Tailwind @source to scan .ts files (status config with bg-info/bg-warning) - Suppress next-themes React 19 script tag warning - Add WebProviders wrapper for Server→Client function passing - Wire all desktop routes to shared views, remove PlaceholderPage - Net: +106 / -4,094 lines Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
import type { AgentStatus } from "@multica/core/types";
|
|
import {
|
|
Clock,
|
|
CheckCircle2,
|
|
XCircle,
|
|
Loader2,
|
|
Play,
|
|
} from "lucide-react";
|
|
|
|
export const statusConfig: Record<AgentStatus, { label: string; color: string; dot: string }> = {
|
|
idle: { label: "Idle", color: "text-muted-foreground", dot: "bg-muted-foreground" },
|
|
working: { label: "Working", color: "text-success", dot: "bg-success" },
|
|
blocked: { label: "Blocked", color: "text-warning", dot: "bg-warning" },
|
|
error: { label: "Error", color: "text-destructive", dot: "bg-destructive" },
|
|
offline: { label: "Offline", color: "text-muted-foreground/50", dot: "bg-muted-foreground/40" },
|
|
};
|
|
|
|
export const taskStatusConfig: Record<string, { label: string; icon: typeof CheckCircle2; color: string }> = {
|
|
queued: { label: "Queued", icon: Clock, color: "text-muted-foreground" },
|
|
dispatched: { label: "Dispatched", icon: Play, color: "text-info" },
|
|
running: { label: "Running", icon: Loader2, color: "text-success" },
|
|
completed: { label: "Completed", icon: CheckCircle2, color: "text-success" },
|
|
failed: { label: "Failed", icon: XCircle, color: "text-destructive" },
|
|
cancelled: { label: "Cancelled", icon: XCircle, color: "text-muted-foreground" },
|
|
};
|