Skip to content

Commit fb75b7c

Browse files
committed
update agent mission control
1 parent 10b63b5 commit fb75b7c

1 file changed

Lines changed: 34 additions & 34 deletions

File tree

apps/web/src/app/workspace/page.tsx

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -24,39 +24,18 @@ import {
2424
LayoutGrid,
2525
Sparkles,
2626
Zap,
27-
CheckSquare,
28-
AlertCircle,
2927
Activity,
3028
Cpu,
3129
Terminal,
32-
Clock,
3330
Radio,
34-
Settings,
3531
Loader2,
36-
Box,
3732
Plus,
38-
BarChart3
3933
} from "lucide-react";
4034

4135
const isBrowser = typeof window !== "undefined";
4236

4337
// --- Components ---
4438

45-
// --- Components ---
46-
47-
const TelemetryCard = ({ label, value, icon: Icon, color, trend }: any) => (
48-
<div className="bg-white/5 hover:bg-white/10 backdrop-blur-sm border-l-2 p-4 rounded-r-xl transition-all group duration-300 border-transparent hover:border-ifk-cyan-500/50">
49-
<div className="flex justify-between items-start mb-2">
50-
<div className={`p-1.5 rounded-lg ${color} bg-opacity-0 group-hover:bg-opacity-10 text-opacity-100 transition-all`}>
51-
<Icon className={`h-4 w-4 ${color.replace('bg-', 'text-')}`} />
52-
</div>
53-
{trend && <span className="text-[10px] font-mono text-ifk-cyan-400">{trend}</span>}
54-
</div>
55-
<div className="text-2xl font-mono font-bold text-white mb-1">{value}</div>
56-
<div className="text-[10px] uppercase tracking-widest text-ifk-gray-400 font-medium">{label}</div>
57-
</div>
58-
);
59-
6039
const AgentAvatar = ({ name, role, status, type }: any) => (
6140
<div className="flex items-center gap-3 p-3 rounded-xl bg-ifk-gray-900/30 border border-ifk-gray-800/50 hover:bg-ifk-gray-800/50 transition-all cursor-pointer group">
6241
<div className="relative">
@@ -90,7 +69,7 @@ const WorkspaceContent = () => {
9069
const [isTyping, setIsTyping] = useState(false);
9170

9271
// V3 State: Layout & Voice
93-
const [isLeftOpen, setIsLeftOpen] = useState(true);
72+
const [isLeftOpen, setIsLeftOpen] = useState(false);
9473
const [isRightOpen, setIsRightOpen] = useState(true);
9574
const [isListening, setIsListening] = useState(false);
9675
const [showKeyboard, setShowKeyboard] = useState(false);
@@ -416,28 +395,49 @@ const WorkspaceContent = () => {
416395
{/* Left HUD (Collapsible) - Slimmer & transparent */}
417396
<div className={`transition-all duration-500 ease-[cubic-bezier(0.23,1,0.32,1)] ${isLeftOpen ? 'w-72 opacity-100' : 'w-0 opacity-0 overflow-hidden'}`}>
418397
<div className="h-full bg-gradient-to-r from-black/40 to-transparent p-4 flex flex-col gap-4">
419-
{/* Telemetry Panel */}
420-
{/* Telemetry Panel */}
398+
{/* Activity Feed Panel */}
421399
<div className="flex-1 bg-ifk-gray-900/20 backdrop-blur-xl border border-ifk-gray-800 rounded-2xl p-4 flex flex-col relative group overflow-hidden min-h-0">
422400
<div className="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-transparent via-ifk-cyan-500/50 to-transparent opacity-30" />
423401

424402
<h2 className="text-xs font-mono font-bold text-ifk-gray-400 uppercase tracking-widest mb-4 flex items-center gap-2 shrink-0">
425403
<Radio className="h-3 w-3 text-ifk-cyan-500 animate-pulse" />
426-
Live Telemetry
404+
Activity Feed
427405
</h2>
428406

429-
<div className="space-y-4 overflow-y-auto flex-1 min-h-0 pr-2">
430-
<TelemetryCard label="Efficiency" value="98%" icon={BarChart3} color="bg-emerald-500" trend="+2%" />
431-
<TelemetryCard label="Active Units" value={activeAgents.length.toString()} icon={Box} color="bg-ifk-cyan-500" />
432-
<TelemetryCard label="Blockers" value="0" icon={AlertCircle} color="bg-red-500" />
433-
<TelemetryCard label="CPU Load" value={`${Math.floor(Math.random() * 30 + 10)}%`} icon={Zap} color="bg-amber-500" />
407+
<div className="flex-1 overflow-y-auto min-h-0 pr-2 space-y-1">
408+
{recentTasks.length === 0 ? (
409+
<div className="text-center py-8 text-ifk-gray-500 font-mono text-xs">
410+
No recent activity
411+
</div>
412+
) : (
413+
recentTasks.map((task) => (
414+
<div
415+
key={task.id}
416+
className="flex items-start gap-2 p-2 rounded-lg hover:bg-white/5 transition-colors cursor-pointer text-xs"
417+
onClick={() => window.location.href = `/tasks/${task.id}`}
418+
>
419+
<span className="text-ifk-cyan-500 shrink-0"></span>
420+
<div className="flex-1 min-w-0">
421+
<p className="text-gray-300 truncate">{task.title}</p>
422+
<p className="text-ifk-gray-500 text-[10px] font-mono">
423+
{task.status.toUpperCase()}
424+
{task.assignee_handle && ` • @${task.assignee_handle}`}
425+
</p>
426+
</div>
427+
</div>
428+
))
429+
)}
434430
</div>
435431

436432
<div className="pt-4 border-t border-ifk-gray-800/50 shrink-0 mt-auto">
437-
<div className="text-[10px] text-ifk-gray-500 font-mono mb-1">SYSTEM STATUS</div>
438-
<div className="flex items-center gap-2 text-emerald-400 font-mono text-xs">
439-
<div className="h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse" />
440-
OPERATIONAL
433+
<div className="flex items-center justify-between">
434+
<div className="flex items-center gap-2 text-emerald-400 font-mono text-[10px]">
435+
<div className="h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse" />
436+
{activeAgents.length} UNITS ONLINE
437+
</div>
438+
<a href="/audit" className="text-[10px] text-ifk-cyan-500 hover:text-ifk-cyan-400 font-mono">
439+
FULL LOG →
440+
</a>
441441
</div>
442442
</div>
443443
</div>

0 commit comments

Comments
 (0)