diff --git a/src/pages/(admin)/Lists/GroupList.tsx b/src/pages/(admin)/Lists/GroupList.tsx index 64f460de..a7f42ce0 100644 --- a/src/pages/(admin)/Lists/GroupList.tsx +++ b/src/pages/(admin)/Lists/GroupList.tsx @@ -217,9 +217,11 @@ export default function GroupList({user}: {user: User}) { )} -
deleteGroup(row.original)}> - -
+ {!row.original.disableEditing && ( +
deleteGroup(row.original)}> + +
+ )} )} diff --git a/src/pages/(admin)/Lists/UserList.tsx b/src/pages/(admin)/Lists/UserList.tsx index 699dfcf0..cd3ae5b6 100644 --- a/src/pages/(admin)/Lists/UserList.tsx +++ b/src/pages/(admin)/Lists/UserList.tsx @@ -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(); 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(), });