Updated the user list to only show users belonging to an admin's groups
This commit is contained in:
@@ -217,9 +217,11 @@ export default function GroupList({user}: {user: User}) {
|
||||
<BsPencil className="hover:text-mti-purple-light transition ease-in-out duration-300" />
|
||||
</div>
|
||||
)}
|
||||
{!row.original.disableEditing && (
|
||||
<div data-tip="Delete" className="cursor-pointer tooltip" onClick={() => deleteGroup(row.original)}>
|
||||
<BsTrash className="hover:text-mti-purple-light transition ease-in-out duration-300" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import Button from "@/components/Low/Button";
|
||||
import {PERMISSIONS} from "@/constants/userPermissions";
|
||||
import useGroups from "@/hooks/useGroups";
|
||||
import useUsers from "@/hooks/useUsers";
|
||||
import {Type, User} from "@/interfaces/user";
|
||||
import {Popover, Transition} from "@headlessui/react";
|
||||
@@ -7,6 +8,7 @@ import {createColumnHelper, flexRender, getCoreRowModel, useReactTable} from "@t
|
||||
import axios from "axios";
|
||||
import clsx from "clsx";
|
||||
import {capitalize} from "lodash";
|
||||
import moment from "moment";
|
||||
import {Fragment} from "react";
|
||||
import {BsCheck, BsCheckCircle, BsFillExclamationOctagonFill, BsPerson, BsStop, BsTrash} from "react-icons/bs";
|
||||
import {toast} from "react-toastify";
|
||||
@@ -15,6 +17,7 @@ const columnHelper = createColumnHelper<User>();
|
||||
|
||||
export default function UserList({user}: {user: User}) {
|
||||
const {users, reload} = useUsers();
|
||||
const {groups} = useGroups(user.id);
|
||||
|
||||
const deleteAccount = (user: User) => {
|
||||
if (!confirm(`Are you sure you want to delete ${user.name}'s account?`)) return;
|
||||
@@ -91,6 +94,10 @@ export default function UserList({user}: {user: User}) {
|
||||
header: "Type",
|
||||
cell: (info) => capitalize(info.getValue()),
|
||||
}),
|
||||
columnHelper.accessor("subscriptionExpirationDate", {
|
||||
header: "Expiry Date",
|
||||
cell: (info) => (!info.getValue() ? "No expiry date" : moment(info.getValue()).format("DD/MM/YYYY")),
|
||||
}),
|
||||
columnHelper.accessor("isVerified", {
|
||||
header: "Verification",
|
||||
cell: (info) => (
|
||||
@@ -191,7 +198,7 @@ export default function UserList({user}: {user: User}) {
|
||||
];
|
||||
|
||||
const table = useReactTable({
|
||||
data: users,
|
||||
data: user.type === "admin" || user.type === "student" ? users.filter((u) => groups.flatMap((g) => g.participants).includes(u.id)) : users,
|
||||
columns: defaultColumns,
|
||||
getCoreRowModel: getCoreRowModel(),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user