diff --git a/frontend/src/components/WindowsPanel.jsx b/frontend/src/components/WindowsPanel.jsx index 7a89e33..01796b7 100644 --- a/frontend/src/components/WindowsPanel.jsx +++ b/frontend/src/components/WindowsPanel.jsx @@ -7,7 +7,7 @@ import ScriptModal from './ScriptModal' import { X, Cpu, MemoryStick, HardDrive, Monitor, Server, Settings, Download, Trash2, RefreshCw, Package, Search, Play, - ShieldCheck, Bot, Cable, CalendarClock, ChevronRight, + ShieldCheck, Bot, Cable, CalendarClock, } from 'lucide-react' // ── Navigation ──────────────────────────────────────────────────────────────── @@ -48,32 +48,52 @@ function Panel({ onClose, children }) { function CustomerAssign({ agent, customers, current, onReload }) { const [editing, setEditing] = useState(false) - const [val, setVal] = useState(current?.id?.toString() || '') + const [saving, setSaving] = useState(false) - const save = async () => { - if (val === '') await api.unassignAgentCustomer(agent.id) - else await api.assignAgentCustomer(agent.id, parseInt(val)) - setEditing(false) - if (onReload) onReload() + const handleChange = async (e) => { + const val = e.target.value + setSaving(true) + try { + if (val === '') await api.unassignCustomer(agent.id) + else await api.assignCustomer(agent.id, parseInt(val)) + if (onReload) onReload() + } catch (err) { + console.error(err) + } finally { + setSaving(false) + setEditing(false) + } } - if (!editing) return ( - + if (editing) return ( +