import React, { useState, useEffect } from 'react'; import { Link, useLocation, useNavigate } from 'react-router-dom'; import { Button } from 'primereact/button'; import fusero_logo from '../assets/fusero_logo.svg'; import roc_logo from '../assets/roc_logo.png'; import 'primeicons/primeicons.css'; const systemConfig = { council: { routes: [{ path: 'chat', label: 'chat', icon: 'pi pi-users' }], logo: fusero_logo, }, fusemind: { routes: [ { path: 'home', label: 'Home', icon: 'pi pi-home' }, { path: 'chat', label: 'Chat', icon: 'pi pi-comments' }, { path: 'agents', label: 'Agents', icon: 'pi pi-users' }, { path: 'settings', label: 'Settings', icon: 'pi pi-cog' } ], logo: fusero_logo, }, canvas: { routes: [ { path: 'canvas-endpoints', label: 'Canvas Endpoints', icon: 'pi pi-table' } ], logo: roc_logo, }, }; const Sidebar = ({ systemId, isCollapsed, setIsCollapsed }) => { const location = useLocation(); const navigate = useNavigate(); const system = systemConfig[systemId]; const [isVisible, setIsVisible] = useState(false); useEffect(() => { let timeoutId = setTimeout(() => setIsVisible(true), 50); return () => clearTimeout(timeoutId); }, [systemId, isCollapsed]); const handleBackClick = () => { setIsVisible(false); }; const toggleCollapse = () => setIsCollapsed((prevState) => !prevState); if (!systemId || !system) { console.error('Sidebar: systemId is undefined or not supported.'); return

No system selected

; } return (
{ if (!isVisible) navigate('/dashboard'); }} >
Logo

); }; export default Sidebar;