From 552e1d9337ae5f36bdc06c2d4a43ab4f3110a42f Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Mon, 12 Jan 2026 22:37:21 +0100 Subject: [PATCH] create manageMember btn --- public/icons/tools.svg | 2 ++ src/components/manageMember/ManageMember.jsx | 21 +++++++++++++++++++ .../manageMember/manageMember.module.css | 8 +++++++ .../VolunteerProfile/VolunteerProfilePage.jsx | 7 ++++++- 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 public/icons/tools.svg create mode 100644 src/components/manageMember/ManageMember.jsx create mode 100644 src/components/manageMember/manageMember.module.css diff --git a/public/icons/tools.svg b/public/icons/tools.svg new file mode 100644 index 0000000..2f2d697 --- /dev/null +++ b/public/icons/tools.svg @@ -0,0 +1,2 @@ + +tools \ No newline at end of file diff --git a/src/components/manageMember/ManageMember.jsx b/src/components/manageMember/ManageMember.jsx new file mode 100644 index 0000000..2f240b0 --- /dev/null +++ b/src/components/manageMember/ManageMember.jsx @@ -0,0 +1,21 @@ +import Button from "../ui/button/button.jsx"; +import Modal from "../ui/modal/modal.jsx"; +import { useState } from "react"; +import styles from "./manageMember.module.css" + + +export default function ManageMember({ user }) { + + const [open, setOpen] = useState(false); + + return <> + + + setOpen(false)} title={`Gestion de l'utilisateur ${user.name}`}> + + + +} \ No newline at end of file diff --git a/src/components/manageMember/manageMember.module.css b/src/components/manageMember/manageMember.module.css new file mode 100644 index 0000000..d97bfd5 --- /dev/null +++ b/src/components/manageMember/manageMember.module.css @@ -0,0 +1,8 @@ +.icon { + width: 24px; +} + +.manageBtn { + display: flex; + flex-direction: row; +} \ No newline at end of file diff --git a/src/pages/VolunteerProfile/VolunteerProfilePage.jsx b/src/pages/VolunteerProfile/VolunteerProfilePage.jsx index 1f18805..b6e49a4 100644 --- a/src/pages/VolunteerProfile/VolunteerProfilePage.jsx +++ b/src/pages/VolunteerProfile/VolunteerProfilePage.jsx @@ -1,10 +1,12 @@ import styles from "./VolunteerProfilePage.module.css" import { useParams } from "react-router"; -import { useEffect, useState } from "react"; +import { useEffect, useState, useContext } from "react"; import getUserById from "../../utils/users/getUserById.js"; import formatDate from "../../utils/date/formatDate.js"; import Task from "../../components/Task/Task.jsx"; import { useNavigate } from "react-router"; +import ManageMember from "../../components/manageMember/ManageMember.jsx"; +import { AuthContext } from "../../contexts/auth/AuthContext.js"; export default function VolunteerProfilePage() { @@ -13,6 +15,8 @@ export default function VolunteerProfilePage() { const navigate = useNavigate(); + const { user: currentUser } = useContext(AuthContext); + const [user, setUser] = useState({}); useEffect(() => { @@ -41,6 +45,7 @@ export default function VolunteerProfilePage() {

{user.name} {user.lastname}

+ {currentUser?.isAdmin && }