feat: add admin page

This commit is contained in:
2026-06-24 20:15:20 +03:00
parent 45d1353091
commit 2c22cee60b
3 changed files with 168 additions and 0 deletions
+24
View File
@@ -9,6 +9,7 @@ import Contact from "./pages/Contact";
import Cart from "./pages/Cart";
import Profile from "./pages/Profile";
import ItemPage from "./pages/ItemPage";
import AdminPage from "./pages/AdminPage";
const PrivateRoute = ({ children }) => {
const token = localStorage.getItem("token");
@@ -19,6 +20,21 @@ const PrivateRoute = ({ children }) => {
return children;
};
const AdminRoute = ({ children }) => {
const token = localStorage.getItem("token");
const user = JSON.parse(localStorage.getItem("user") || "{}");
if (!token) {
return <Navigate to="/login" replace />;
}
if (user.role !== "Админ") {
return <Navigate to="/" replace />;
}
return children;
};
export default function App() {
return (
<BrowserRouter>
@@ -38,6 +54,14 @@ export default function App() {
</PrivateRoute>
}
/>
<Route
path="/admin"
element={
<AdminRoute>
<AdminPage />
</AdminRoute>
}
/>
<Route path="items/:id" element={<ItemPage />} />
<Route path="*" element={<NotFoundPage />} />
</Routes>