diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 0283974..65f4ddd 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -263,6 +263,7 @@ export default function App() { onAddNode={() => setAddNodeOpen(true)} onScan={() => setScanConfigOpen(true)} onSave={handleSave} + onNodeApproved={setEditNodeId} />
void onScan: () => void onSave: () => void + onNodeApproved: (nodeId: string) => void } -export function Sidebar({ onAddNode, onScan, onSave }: SidebarProps) { +export function Sidebar({ onAddNode, onScan, onSave, onNodeApproved }: SidebarProps) { const [collapsed, setCollapsed] = useState(false) const [activeView, setActiveView] = useState('canvas') const { nodes, hasUnsavedChanges } = useCanvasStore() @@ -90,7 +91,7 @@ export function Sidebar({ onAddNode, onScan, onSave }: SidebarProps) { {/* View content (only when expanded) */} {!collapsed && activeView !== 'canvas' && (
- {activeView === 'pending' && } + {activeView === 'pending' && } {activeView === 'hidden' && } {activeView === 'history' && }
@@ -136,7 +137,7 @@ export function Sidebar({ onAddNode, onScan, onSave }: SidebarProps) { ) } -function PendingDevicesPanel() { +function PendingDevicesPanel({ onNodeApproved }: { onNodeApproved: (nodeId: string) => void }) { const [devices, setDevices] = useState([]) const [loading, setLoading] = useState(false) const [selected, setSelected] = useState(null) @@ -180,6 +181,7 @@ function PendingDevicesPanel() { }) toast.success(`Approved ${nodeData.label}`) setDevices((prev) => prev.filter((d) => d.id !== device.id)) + onNodeApproved(nodeId) } catch { toast.error('Failed to approve device') }