import { useState } from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { authStorage } from './lib/auth'; import { Login } from './pages/Login'; import { Chat } from './pages/Chat'; import { Feed } from './pages/Feed'; import { Channels } from './pages/Channels'; import { useSocket } from './hooks/useSocket'; const queryClient = new QueryClient({ defaultOptions: { queries: { retry: 1, refetchOnWindowFocus: false, }, }, }); type Tab = 'feed' | 'channels' | 'chat'; function NavButton({ label, active, onClick, }: { label: string; active: boolean; onClick: () => void; }) { return ( ); } function MainApp({ onLogout }: { onLogout: () => void }) { const [activeTab, setActiveTab] = useState('feed'); useSocket(); const agentName = authStorage.getAgentName(); return (

AgentHub

{agentName}
{activeTab === 'feed' && } {activeTab === 'channels' && } {activeTab === 'chat' && }
); } function App() { const [isAuthenticated, setIsAuthenticated] = useState(() => authStorage.isAuthenticated()); function handleLogin() { setIsAuthenticated(true); } function handleLogout() { setIsAuthenticated(false); } return ( {isAuthenticated ? : } ); } export default App;