import { openNewAppModal } from '../modals' import { apps, selectedApp, setSelectedApp, setSidebarCollapsed, setSidebarSection, sidebarCollapsed, sidebarSection, } from '../state' import { AppItem, AppList, HamburgerButton, HamburgerLine, Logo, NewAppButton, SectionSwitcher, SectionTab, Sidebar as SidebarContainer, SidebarFooter, StatusDot, } from '../styles' export function Sidebar({ render }: { render: () => void }) { const selectApp = (name: string) => { setSelectedApp(name) render() } const toggleSidebar = () => { setSidebarCollapsed(!sidebarCollapsed) render() } const switchSection = (section: 'apps' | 'tools') => { setSidebarSection(section) render() } const regularApps = apps.filter(app => !app.tool) const toolApps = apps.filter(app => app.tool) const activeApps = sidebarSection === 'apps' ? regularApps : toolApps return ( {!sidebarCollapsed && 🐾 Toes} {!sidebarCollapsed && toolApps.length > 0 && ( switchSection('apps')}> Apps switchSection('tools')}> Tools )} {activeApps.map(app => ( selectApp(app.name)} selected={app.name === selectedApp ? true : undefined} style={sidebarCollapsed ? { justifyContent: 'center', padding: '10px 12px' } : undefined} title={sidebarCollapsed ? app.name : undefined} > {sidebarCollapsed ? ( {app.icon} ) : ( <> {app.icon} {app.name} )} ))} {!sidebarCollapsed && ( + New App )} ) }