feat: admin sidebar

This commit is contained in:
Malo BEAUCHAMPS 2024-10-16 14:01:33 +02:00
parent 723285c140
commit 8d43e34be4
3 changed files with 40 additions and 12 deletions

View File

@ -23,7 +23,7 @@ function App() {
<Route path="/instances" element={<Instances />} />
<Route path="/profile" element={<PageTest />} />
<Route path="/login" element={<LoginPage />} />
<Route path="/admin" element={<BulkUsers />} />
<Route path="/admin/jdmi" element={<BulkUsers />} />
<Route path="/admin/tps" element={<CreateTp />} />
<Route path="/settings" element={<CreateTp />} />
</Routes>

View File

@ -77,7 +77,7 @@ const Navigation: React.FC<NavigationProps> = ({
<div className="drawer-side">
<div className="drawer-overlay" onClick={toggleDrawer}></div>
<div className="h-full menu bg-base-200 text-base-content w-80">
{user ? (
{user.username.trim() !== "" ? (
<li>
<div className="dropdown dropdown-bottom h-full">
<div
@ -113,21 +113,48 @@ const Navigation: React.FC<NavigationProps> = ({
) : (
<li>
<Link to="login" onClick={toggleDrawer}>
Log Out
Log In
</Link>
</li>
)}
{user && user.roles.includes("root") && (
<li>
<div>
<ChartPieIcon className="size-6" />
<Link to="/admin" onClick={toggleDrawer}>
Admin
</Link>
</div>
<details open={false}>
<summary>Admin</summary>
<ul>
<li>
<div>
<Link to="/admin" onClick={toggleDrawer}>
Admin
</Link>
</div>
</li>
<li>
<div>
<Link to="/admin/tps" onClick={toggleDrawer}>
Create Tp
</Link>
</div>
</li>
<li>
<div>
<Link to="/admin/tps" onClick={toggleDrawer}>
Create User
</Link>
</div>
</li>
<li>
<div>
<Link to="/admin/jdmi" onClick={toggleDrawer}>
Bulk user creation
</Link>
</div>
</li>
</ul>
</details>
</li>
)}
{user && (
{user && user.username.trim() !== "" && (
<>
<li>
<div>

View File

@ -1,10 +1,12 @@
import axios from "axios";
import { useState } from "react";
import { useNavigate } from "react-router-dom";
function BulkUsers() {
const [file, setFile] = useState(null);
const [userData, setUserData] = useState([]);
const [practical, setPractical] = useState("0");
const navigate = useNavigate();
const handlePracticalChange = (e) => {
setPractical(e.target.value);
@ -37,8 +39,7 @@ function BulkUsers() {
const handleSubmit = () => {
// Handle submission logic (e.g., sending data to the backend)
console.log('Submitting data:', userData.filter(user => user.name !== ""));
axios.post("/api/users/jdmi", userData.filter(user => user.name !== "")).then(res => console.log(res));
axios.post("/api/users/jdmi", userData.filter(user => user.name !== "")).then(res => navigate(`/tps/${res.data.id}`));
};
return (