Files
playable-showcase/client/src/App.jsx
HPL-JesusCastro 5d6f228224 Initial Commit
2026-05-26 16:04:14 +08:00

24 lines
808 B
JavaScript

import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import { isAuthenticated } from './api';
import Login from './pages/Login';
import Apps from './pages/Apps';
import Catalog from './pages/Catalog';
import Viewer from './pages/Viewer';
function ProtectedRoute({ children }) {
return isAuthenticated() ? children : <Navigate to="/login" replace />;
}
export default function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/login" element={<Login />} />
<Route path="/" element={<ProtectedRoute><Catalog /></ProtectedRoute>} />
<Route path="/apps" element={<ProtectedRoute><Apps /></ProtectedRoute>} />
<Route path="/viewer/:id" element={<ProtectedRoute><Viewer /></ProtectedRoute>} />
</Routes>
</BrowserRouter>
);
}