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