feat: bulk delete jdmi users
This commit is contained in:
parent
443aafb9bb
commit
6f9f4d8121
@ -12,6 +12,7 @@ import BulkUsers from "./pages/admin/BulkCreateUser";
|
|||||||
import Users from "./pages/admin/Users";
|
import Users from "./pages/admin/Users";
|
||||||
import { ToastContainer } from "react-toastify";
|
import { ToastContainer } from "react-toastify";
|
||||||
import "react-toastify/dist/ReactToastify.css";
|
import "react-toastify/dist/ReactToastify.css";
|
||||||
|
import AdminPage from "./pages/admin/AdminPage";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
return (
|
||||||
@ -25,6 +26,7 @@ function App() {
|
|||||||
<Route path="/instances" element={<Instances />} />
|
<Route path="/instances" element={<Instances />} />
|
||||||
<Route path="/profile" element={<PageTest />} />
|
<Route path="/profile" element={<PageTest />} />
|
||||||
<Route path="/login" element={<LoginPage />} />
|
<Route path="/login" element={<LoginPage />} />
|
||||||
|
<Route path="admin" element={<AdminPage />} />
|
||||||
<Route path="/admin/jdmi" element={<BulkUsers />} />
|
<Route path="/admin/jdmi" element={<BulkUsers />} />
|
||||||
<Route path="/admin/tps" element={<CreateTp />} />
|
<Route path="/admin/tps" element={<CreateTp />} />
|
||||||
<Route path="/admin/users" element={<Users />} />
|
<Route path="/admin/users" element={<Users />} />
|
||||||
|
9
src/pages/admin/AdminPage.tsx
Normal file
9
src/pages/admin/AdminPage.tsx
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
function AdminPage() {
|
||||||
|
return (
|
||||||
|
<div className="flex flex-col items-center justify-center h-screen">
|
||||||
|
<h1 className="text-4xl font-bold">Admin Page</h1>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default AdminPage;
|
@ -3,23 +3,36 @@ import { useEffect, useState } from "react";
|
|||||||
|
|
||||||
function Users() {
|
function Users() {
|
||||||
const [users, setUsers] = useState([]);
|
const [users, setUsers] = useState([]);
|
||||||
|
const [reload, setReload] = useState(0);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
axios.get("/api/users").then((res) => {
|
axios.get("/api/users").then((res) => {
|
||||||
setUsers(res.data);
|
setUsers(res.data);
|
||||||
console.log(res.data)
|
|
||||||
});
|
});
|
||||||
}, []);
|
}, [reload]);
|
||||||
|
|
||||||
const handleEditUser = (userId) => {
|
const handleEditUser = (userId) => {
|
||||||
// Logic for editing the user (e.g., opening a modal)
|
|
||||||
alert(`Edit user with ID: ${userId}`);
|
alert(`Edit user with ID: ${userId}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const deleteJDMIUsers = () => {
|
||||||
|
axios.delete("/api/users").then((res) => {
|
||||||
|
console.log(res.data);
|
||||||
|
setReload(reload + 1);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="container mx-auto p-6">
|
<div className="container mx-auto p-6">
|
||||||
<div className="bg-white shadow-lg rounded-lg p-6">
|
<div className="bg-white shadow-lg rounded-lg p-6">
|
||||||
<h1 className="text-3xl font-bold text-blue-600 mb-6">Manage Users</h1>
|
<div className="flex justify-between items-center mb-6">
|
||||||
|
<h1 className="text-3xl font-bold text-blue-600 mb-6">
|
||||||
|
Manage Users
|
||||||
|
</h1>
|
||||||
|
<button className="btn btn-error" onClick={deleteJDMIUsers}>
|
||||||
|
Delete JDMI users
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
{/* Users Table */}
|
{/* Users Table */}
|
||||||
<div className="overflow-x-auto">
|
<div className="overflow-x-auto">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user