Added Inactive Referred corporate

This commit is contained in:
Joao Ramos
2023-12-07 23:31:16 +00:00
parent fe32584ff9
commit ec56a5426b

View File

@@ -41,6 +41,7 @@ export default function AgentDashboard({user}: Props) {
const corporateFilter = (user: User) => user.type === "corporate"; const corporateFilter = (user: User) => user.type === "corporate";
const referredCorporateFilter = (x: User) => const referredCorporateFilter = (x: User) =>
x.type === "corporate" && !!x.corporateInformation && x.corporateInformation.referralAgent === user.id; x.type === "corporate" && !!x.corporateInformation && x.corporateInformation.referralAgent === user.id;
const inactiveReferredCorporateFilter = (x: User) => referredCorporateFilter(x) && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate));
const UserDisplay = (displayUser: User) => ( const UserDisplay = (displayUser: User) => (
<div <div
@@ -59,8 +60,6 @@ export default function AgentDashboard({user}: Props) {
); );
const ReferredCorporateList = () => { const ReferredCorporateList = () => {
const filter = (x: User) => x.type === "corporate" && !!x.corporateInformation && x.corporateInformation.referralAgent === user.id;
return ( return (
<> <>
<div className="flex flex-col gap-4"> <div className="flex flex-col gap-4">
@@ -70,10 +69,28 @@ export default function AgentDashboard({user}: Props) {
<BsArrowLeft className="text-xl" /> <BsArrowLeft className="text-xl" />
<span>Back</span> <span>Back</span>
</div> </div>
<h2 className="text-2xl font-semibold">Referred Corporate ({users.filter(filter).length})</h2> <h2 className="text-2xl font-semibold">Referred Corporate ({users.filter(referredCorporateFilter).length})</h2>
</div> </div>
<UserList user={user} filters={[filter]} /> <UserList user={user} filters={[referredCorporateFilter]} />
</>
);
};
const InactiveReferredCorporateList = () => {
return (
<>
<div className="flex flex-col gap-4">
<div
onClick={() => setPage("")}
className="flex gap-2 items-center text-mti-purple-light cursor-pointer hover:text-mti-purple-dark transition ease-in-out duration-300">
<BsArrowLeft className="text-xl" />
<span>Back</span>
</div>
<h2 className="text-2xl font-semibold">Inactive Referred Corporate ({users.filter(inactiveReferredCorporateFilter).length})</h2>
</div>
<UserList user={user} filters={[inactiveReferredCorporateFilter]} />
</> </>
); );
}; };
@@ -108,6 +125,13 @@ export default function AgentDashboard({user}: Props) {
value={users.filter(referredCorporateFilter).length} value={users.filter(referredCorporateFilter).length}
color="purple" color="purple"
/> />
<IconCard
onClick={() => setPage("inactiveReferredCorporate")}
Icon={BsPersonFill}
label="Inactive Referred Corporate"
value={users.filter(inactiveReferredCorporateFilter).length}
color="rose"
/>
<IconCard <IconCard
onClick={() => setPage("corporate")} onClick={() => setPage("corporate")}
Icon={BsBank} Icon={BsBank}
@@ -168,6 +192,7 @@ export default function AgentDashboard({user}: Props) {
</Modal> </Modal>
{page === "referredCorporate" && <ReferredCorporateList />} {page === "referredCorporate" && <ReferredCorporateList />}
{page === "corporate" && <CorporateList />} {page === "corporate" && <CorporateList />}
{page === "inactiveReferredCorporate" && <InactiveReferredCorporateList />}
{page === "" && <DefaultDashboard />} {page === "" && <DefaultDashboard />}
</> </>
); );