From 6056735c727483a052fea7f4b842df16d8180943 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 13 Nov 2023 19:27:11 +0000 Subject: [PATCH] Added more fields to the corporate and showcased them in the UserCard --- src/components/UserCard.tsx | 36 ++++++++++ src/hooks/useUsers.tsx | 2 +- src/interfaces/user.ts | 2 + src/pages/(register)/RegisterCorporate.tsx | 84 +++++++++++++++++++++- src/pages/api/register.ts | 2 +- src/pages/api/users/list.ts | 2 +- src/pages/login.tsx | 4 +- src/pages/register.tsx | 4 +- 8 files changed, 127 insertions(+), 9 deletions(-) diff --git a/src/components/UserCard.tsx b/src/components/UserCard.tsx index 607a1df0..20f433e6 100644 --- a/src/components/UserCard.tsx +++ b/src/components/UserCard.tsx @@ -15,6 +15,8 @@ import Checkbox from "./Low/Checkbox"; import CountrySelect from "./Low/CountrySelect"; import Input from "./Low/Input"; import ProfileSummary from "./ProfileSummary"; +import Select from "react-select"; +import useUsers from "@/hooks/useUsers"; const expirationDateColor = (date: Date) => { const momentDate = moment(date); @@ -34,7 +36,9 @@ interface Props { const UserCard = ({user, onClose, onViewStudents, onViewTeachers}: Props) => { const [expiryDate, setExpiryDate] = useState(user.subscriptionExpirationDate); + const [referralAgent, setReferralAgent] = useState(user.corporateInformation?.referralAgent); const {stats} = useStats(user.id); + const {users} = useUsers(); const updateUser = () => { if (!confirm(`Are you sure you want to update ${user.name}'s account?`)) return; @@ -241,6 +245,38 @@ const UserCard = ({user, onClose, onViewStudents, onViewTeachers}: Props) => { placeholder="Enter amount of users" defaultValue={user.corporateInformation?.companyInformation.userAmount} /> + +
+ + setName(e)} placeholder="Enter your name" defaultValue={name} required /> - setEmail(e)} placeholder="Enter email address" defaultValue={email} required /> +
+ setName(e)} placeholder="Enter your name" defaultValue={name} required /> + setEmail(e)} placeholder="Enter email address" defaultValue={email} required /> +
+
setCompanyName(e)} placeholder="Institution name" + label="Institution name" defaultValue={companyName} required /> @@ -123,6 +141,68 @@ export default function RegisterCorporate({isLoading, setIsLoading, mutateUser, />
+
+
+ + ({ + value, + label: availableDurations[value as keyof typeof availableDurations].label, + }))} + defaultValue={{value: "1_month", label: availableDurations["1_month"].label}} + onChange={(value) => + setSubscriptionDuration(value ? availableDurations[value.value as keyof typeof availableDurations].number : 1) + } + styles={{ + control: (styles) => ({ + ...styles, + paddingLeft: "4px", + border: "none", + outline: "none", + ":focus": { + outline: "none", + }, + }), + option: (styles, state) => ({ + ...styles, + backgroundColor: state.isFocused ? "#D5D9F0" : state.isSelected ? "#7872BF" : "white", + color: state.isFocused ? "black" : styles.color, + }), + }} + /> +
+
+