From b6c3754b40760ab4e3908171e8f36b36345fc980 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 2 Sep 2024 12:30:23 +0100 Subject: [PATCH] Allow users to edit others --- src/components/UserCard.tsx | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/components/UserCard.tsx b/src/components/UserCard.tsx index 46647976..5fbeb308 100644 --- a/src/components/UserCard.tsx +++ b/src/components/UserCard.tsx @@ -1,5 +1,5 @@ import useFilterRecordsByUser from "@/hooks/useFilterRecordsByUser"; -import {CorporateInformation, CorporateUser, EMPLOYMENT_STATUS, User, Type, Stat} from "@/interfaces/user"; +import {CorporateInformation, CorporateUser, EMPLOYMENT_STATUS, User, Type, Stat, Gender} from "@/interfaces/user"; import {groupBySession, averageScore} from "@/utils/stats"; import {RadioGroup} from "@headlessui/react"; import axios from "axios"; @@ -92,6 +92,9 @@ const UserCard = ({ user.type === "corporate" || user.type === "mastercorporate" ? user.demographicInformation?.position : undefined, ); const [studentID, setStudentID] = useState(user.type === "student" ? user.studentID : undefined); + const [name, setName] = useState(user.name); + const [phone, setPhone] = useState(user.demographicInformation?.phone); + const [gender, setGender] = useState(user.demographicInformation?.gender); const [referralAgent, setReferralAgent] = useState( user.type === "corporate" || user.type === "mastercorporate" ? user.corporateInformation?.referralAgent : undefined, @@ -152,6 +155,11 @@ const UserCard = ({ studentID, type, status, + name, + demographicInformation: { + ...(!!user.demographicInformation ? user.demographicInformation : {}), + phone, + }, agentInformation: type === "agent" ? { @@ -429,10 +437,10 @@ const UserCard = ({ label="Name" type="text" name="name" - onChange={() => null} + onChange={setName} placeholder="Enter your name" - defaultValue={user.name} - disabled + defaultValue={name} + disabled={disabled} /> null} + onChange={setPhone} placeholder="Enter phone number" - defaultValue={user.demographicInformation?.phone} - disabled + defaultValue={phone} + disabled={disabled} /> @@ -528,7 +536,8 @@ const UserCard = ({
setGender(e)} className="flex flex-row gap-4 justify-between" disabled={disabled}> @@ -582,7 +591,9 @@ const UserCard = ({ isChecked={!!expiryDate} onChange={(checked) => setExpiryDate(checked ? user.subscriptionExpirationDate || new Date() : null)} disabled={ - disabled || (!["admin", "developer"].includes(loggedInUser.type) && !!loggedInUser.subscriptionExpirationDate) + disabled || + (!["admin", "developer", "mastercorporate", "corporate"].includes(loggedInUser.type) && + !!loggedInUser.subscriptionExpirationDate) }> Enabled