import React, { useState, useEffect } from 'react'; import { Box, Text, useInput } from 'ink'; import { getPersistenceManager } from '../../core/global-initialization.js'; interface SimpleDashboardProps { onBack: () => void; } export const SimpleDashboard: React.FC = ({ onBack }) => { const [agentCount, setAgentCount] = useState(0); const [lastUpdate, setLastUpdate] = useState(new Date()); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); useInput((input, key) => { if (key.escape || input === 'q') { onBack(); return; } }); useEffect(() => { const loadData = async () => { try { const persistenceManager = await getPersistenceManager(); const agents = await persistenceManager.getAllAgents(); setAgentCount(agents.length); setLastUpdate(new Date()); setIsLoading(false); setError(null); } catch (err) { setError(err instanceof Error ? err.message : 'Failed to load data'); setIsLoading(false); } }; loadData(); const interval = setInterval(loadData, 3000); return () => clearInterval(interval); }, []); if (isLoading) { return Loading dashboard...; } return ( 🚀 FlowX Simple Dashboard Last Update: {lastUpdate.toLocaleTimeString()} Agents: {agentCount} {error && Error: {error}} Press Q or ESC to go back ); };