Minor improvement on reusability of filter function

This commit is contained in:
Joao Ramos
2023-12-07 23:34:31 +00:00
parent ec56a5426b
commit 26c4368f31

View File

@@ -42,6 +42,8 @@ export default function AdminDashboard({user}: Props) {
setShowModal(!!selectedUser && page === "");
}, [selectedUser, page]);
const inactiveCountryManagerFilter = (x: User) => x.type === "agent" && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate));
const UserDisplay = (displayUser: User) => (
<div
onClick={() => setSelectedUser(displayUser)}
@@ -149,8 +151,6 @@ export default function AdminDashboard({user}: Props) {
);
const InactiveCountryManagerList = () => {
const filter = (x: User) => x.type === "agent" && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate));
return (
<>
<div className="flex flex-col gap-4">
@@ -160,10 +160,10 @@ export default function AdminDashboard({user}: Props) {
<BsArrowLeft className="text-xl" />
<span>Back</span>
</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>
<UserList user={user} filters={[filter]} />
<UserList user={user} filters={[inactiveCountryManagerFilter]} />
</>
);
}
@@ -259,10 +259,7 @@ export default function AdminDashboard({user}: Props) {
onClick={() => setPage("inactiveCountryManagers")}
Icon={BsPerson}
label="Inactive Country Managers"
value={
users.filter((x) => x.type === "agent" && (x.status === "disabled" || moment().isAfter(x.subscriptionExpirationDate)))
.length
}
value={users.filter(inactiveCountryManagerFilter).length}
color="rose"
/>
<IconCard