Minor improvement on reusability of filter function
This commit is contained in:
@@ -42,6 +42,8 @@ export default function AdminDashboard({user}: Props) {
|
|||||||
setShowModal(!!selectedUser && page === "");
|
setShowModal(!!selectedUser && page === "");
|
||||||
}, [selectedUser, page]);
|
}, [selectedUser, page]);
|
||||||
|
|
||||||
|
const inactiveCountryManagerFilter = (x: User) => x.type === "agent" && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate));
|
||||||
|
|
||||||
const UserDisplay = (displayUser: User) => (
|
const UserDisplay = (displayUser: User) => (
|
||||||
<div
|
<div
|
||||||
onClick={() => setSelectedUser(displayUser)}
|
onClick={() => setSelectedUser(displayUser)}
|
||||||
@@ -149,8 +151,6 @@ export default function AdminDashboard({user}: Props) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const InactiveCountryManagerList = () => {
|
const InactiveCountryManagerList = () => {
|
||||||
const filter = (x: User) => x.type === "agent" && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate));
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="flex flex-col gap-4">
|
<div className="flex flex-col gap-4">
|
||||||
@@ -160,10 +160,10 @@ export default function AdminDashboard({user}: Props) {
|
|||||||
<BsArrowLeft className="text-xl" />
|
<BsArrowLeft className="text-xl" />
|
||||||
<span>Back</span>
|
<span>Back</span>
|
||||||
</div>
|
</div>
|
||||||
<h2 className="text-2xl font-semibold">Inactive Country Managers ({users.filter(filter).length})</h2>
|
<h2 className="text-2xl font-semibold">Inactive Country Managers ({users.filter(inactiveCountryManagerFilter).length})</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<UserList user={user} filters={[filter]} />
|
<UserList user={user} filters={[inactiveCountryManagerFilter]} />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -259,10 +259,7 @@ export default function AdminDashboard({user}: Props) {
|
|||||||
onClick={() => setPage("inactiveCountryManagers")}
|
onClick={() => setPage("inactiveCountryManagers")}
|
||||||
Icon={BsPerson}
|
Icon={BsPerson}
|
||||||
label="Inactive Country Managers"
|
label="Inactive Country Managers"
|
||||||
value={
|
value={users.filter(inactiveCountryManagerFilter).length}
|
||||||
users.filter((x) => x.type === "agent" && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate)))
|
|
||||||
.length
|
|
||||||
}
|
|
||||||
color="rose"
|
color="rose"
|
||||||
/>
|
/>
|
||||||
<IconCard
|
<IconCard
|
||||||
|
|||||||
Reference in New Issue
Block a user