import { useState } from 'react' interface CortexPanelProps { onLearnText: (text: string) => Promise onDream: (cycles: number) => Promise onReason: (question: string) => Promise loading: boolean } type Tab = 'learn' | 'dream' | 'reason' export function CortexPanel({ onLearnText, onDream, onReason, loading }: CortexPanelProps) { const [tab, setTab] = useState('learn') const [learnText, setLearnText] = useState('') const [learnResult, setLearnResult] = useState(null) const [dreamCycles, setDreamCycles] = useState(3) const [dreamResult, setDreamResult] = useState(null) const [reasonQuestion, setReasonQuestion] = useState('') const [reasonResult, setReasonResult] = useState(null) const handleLearn = async () => { if (!learnText.trim() || loading) return try { const r = await onLearnText(learnText.trim()) setLearnResult(r) } catch { setLearnResult({ error: 'API not reachable' }) } } const handleDream = async () => { if (loading) return try { const r = await onDream(dreamCycles) setDreamResult(r) } catch { setDreamResult({ error: 'API not reachable' }) } } const handleReason = async () => { if (!reasonQuestion.trim() || loading) return try { const r = await onReason(reasonQuestion.trim()) setReasonResult(r) } catch { setReasonResult({ error: 'API not reachable' }) } } return (
{/* Header */}
๐Ÿง 

Cortex

7 FEATURES
{/* Tabs */}
{([ ['learn', '๐Ÿ“– Learn', 'from-pal-accent2/20'], ['dream', '๐ŸŒ™ Dream', 'from-pal-accent/20'], ['reason', '๐Ÿ”— Reason', 'from-pal-gold/20'], ] as [Tab, string, string][]).map(([t, label, color]) => ( ))}
{/* Content */}
{/* LEARN TAB */} {tab === 'learn' && (