From dc3f91eee16850ee1fbd093ee1fc2fc0da34774e Mon Sep 17 00:00:00 2001 From: Peter KW Date: Thu, 28 Mar 2024 01:31:53 +0100 Subject: [PATCH] Add member component --- frontend/src/Components/AddMember.tsx | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 frontend/src/Components/AddMember.tsx diff --git a/frontend/src/Components/AddMember.tsx b/frontend/src/Components/AddMember.tsx new file mode 100644 index 0000000..d29be68 --- /dev/null +++ b/frontend/src/Components/AddMember.tsx @@ -0,0 +1,39 @@ +import { APIResponse, api } from "../API/API"; +import { NewProjMember } from "../Types/goTypes"; + +/** + * Tries to add a member to a project + * @param {Object} props - A NewProjMember + * @returns {boolean} True if added, false if not + */ +function AddMember(props: { memberToAdd: NewProjMember }): boolean { + let added = false; + if ( + props.memberToAdd.username === "" || + props.memberToAdd.role === "" || + props.memberToAdd.projectname === "" + ) { + alert("All fields must be filled before adding"); + return added; + } + api + .addUserToProject( + props.memberToAdd, + localStorage.getItem("accessToken") ?? "", + ) + .then((response: APIResponse) => { + if (response.success) { + alert("Member added"); + added = true; + } else { + alert("Member not added"); + console.error(response.message); + } + }) + .catch((error) => { + console.error("An error occurred during member add:", error); + }); + return added; +} + +export default AddMember;