import { useEffect } from 'hono/jsx' import { openAppSelectorModal } from '../modals' import { dashboardTab, isNarrow, setCurrentView, setDashboardTab, setSelectedApp } from '../state' import { AppSelectorChevron, DashboardContainer, DashboardHeader, DashboardTitle, SettingsGear, Tab, TabBar, TabContent, } from '../styles' import { UnifiedLogs, initUnifiedLogs, scrollLogsToBottom } from './UnifiedLogs' import { Urls } from './Urls' import { Vitals, initVitals } from './Vitals' export function DashboardLanding({ render }: { render: () => void }) { useEffect(() => { initUnifiedLogs() initVitals() if (dashboardTab === 'logs') scrollLogsToBottom() }, []) const narrow = isNarrow || undefined const openSettings = () => { setSelectedApp(null) setCurrentView('settings') render() } const switchTab = (tab: typeof dashboardTab) => { setDashboardTab(tab) render() if (tab === 'logs') scrollLogsToBottom() } return ( ⚙️ 🐾 Toes {isNarrow && ( openAppSelectorModal(render)}> ▼ )} switchTab('urls')}>URLs switchTab('logs')}>Logs switchTab('metrics')}>Metrics ) }