import { useEffect } from 'hono/jsx' import { openAppSelectorModal } from '../modals' import { apps, isNarrow, setCurrentView, setSelectedApp } from '../state' import { AppSelectorChevron, DashboardContainer, DashboardHeader, DashboardTitle, SettingsGear, StatusDot, StatusDotLink, StatusDotsRow, } from '../styles' import { update } from '../update' import { UnifiedLogs, initUnifiedLogs } from './UnifiedLogs' import { Vitals, initVitals } from './Vitals' let activeTooltip: string | null = null export function DashboardLanding({ render }: { render: () => void }) { useEffect(() => { initUnifiedLogs() initVitals() }, []) const narrow = isNarrow || undefined const openSettings = () => { setSelectedApp(null) setCurrentView('settings') render() } return ( ⚙️ 🐾 Toes {isNarrow && ( openAppSelectorModal(render)}> ▼ )} {[...apps.filter(a => !a.tool), ...apps.filter(a => a.tool)].map(app => ( { e.preventDefault() if (isNarrow && activeTooltip !== app.name) { activeTooltip = app.name render() return } activeTooltip = null setSelectedApp(app.name) update() }} > ))} ) }