import { useEffect } from 'react' import { Routes, Route, Navigate } from 'react-router-dom' import { useAuthStore } from './stores/authStore' import { wsClient } from './api/client' import Layout from './components/Layout' import LoginPage from './pages/LoginPage' import WorkflowsPage from './pages/WorkflowsPage' import WorkflowEditorPage from './pages/WorkflowEditorPage' import ExecutionsPage from './pages/ExecutionsPage' import SettingsPage from './pages/SettingsPage' import NodesPage from './pages/NodesPage' import DatabasePage from './pages/DatabasePage' import CredentialsPage from './pages/CredentialsPage' function PrivateRoute({ children }: { children: React.ReactNode }) { const isAuthenticated = useAuthStore((state) => state.isAuthenticated) return isAuthenticated ? <>{children} : } function App() { const isAuthenticated = useAuthStore((state) => state.isAuthenticated) // Connect WebSocket when app loads if already authenticated useEffect(() => { if (isAuthenticated) { wsClient.connect() } return () => { wsClient.disconnect() } }, [isAuthenticated]) return ( } /> } > } /> } /> } /> } /> } /> } /> } /> } /> ) } export default App