37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
|
|
import { useAuthStore } from './stores/authStore';
|
|
import Login from './pages/Login';
|
|
import Dashboard from './pages/Dashboard';
|
|
import ApiKeys from './pages/ApiKeys';
|
|
import Endpoints from './pages/Endpoints';
|
|
import DexFactories from './pages/DexFactories';
|
|
import Layout from './components/Layout';
|
|
import ProtectedRoute from './components/ProtectedRoute';
|
|
|
|
function App() {
|
|
const { isAuthenticated } = useAuthStore();
|
|
|
|
return (
|
|
<BrowserRouter>
|
|
<Routes>
|
|
<Route path="/login" element={isAuthenticated ? <Navigate to="/" replace /> : <Login />} />
|
|
<Route
|
|
path="/"
|
|
element={
|
|
<ProtectedRoute>
|
|
<Layout />
|
|
</ProtectedRoute>
|
|
}
|
|
>
|
|
<Route index element={<Dashboard />} />
|
|
<Route path="api-keys" element={<ApiKeys />} />
|
|
<Route path="endpoints" element={<Endpoints />} />
|
|
<Route path="dex-factories" element={<DexFactories />} />
|
|
</Route>
|
|
</Routes>
|
|
</BrowserRouter>
|
|
);
|
|
}
|
|
|
|
export default App;
|