Add 'members' filter to user details page, closes #4529
This commit is contained in:
@@ -82,6 +82,8 @@ function Members() {
|
||||
filtered = users.orderedData.filter((u) => userIds.includes(u.id));
|
||||
} else if (filter === "admins") {
|
||||
filtered = users.admins.filter((u) => userIds.includes(u.id));
|
||||
} else if (filter === "members") {
|
||||
filtered = users.members.filter((u) => userIds.includes(u.id));
|
||||
} else if (filter === "suspended") {
|
||||
filtered = users.suspended.filter((u) => userIds.includes(u.id));
|
||||
} else if (filter === "invited") {
|
||||
@@ -96,6 +98,7 @@ function Members() {
|
||||
filter,
|
||||
users.active,
|
||||
users.admins,
|
||||
users.members,
|
||||
users.orderedData,
|
||||
users.suspended,
|
||||
users.invited,
|
||||
|
||||
@@ -25,6 +25,10 @@ const UserStatusFilter = ({ activeKey, onSelect, ...rest }: Props) => {
|
||||
key: "all",
|
||||
label: t("Everyone"),
|
||||
},
|
||||
{
|
||||
key: "members",
|
||||
label: t("Members"),
|
||||
},
|
||||
{
|
||||
key: "admins",
|
||||
label: t("Admins"),
|
||||
|
||||
@@ -56,6 +56,13 @@ export default class UsersStore extends BaseStore<User> {
|
||||
return this.orderedData.filter((user) => user.isAdmin);
|
||||
}
|
||||
|
||||
@computed
|
||||
get members(): User[] {
|
||||
return this.orderedData.filter(
|
||||
(user) => !user.isViewer && !user.isAdmin && !user.isInvited
|
||||
);
|
||||
}
|
||||
|
||||
@computed
|
||||
get viewers(): User[] {
|
||||
return this.orderedData.filter((user) => user.isViewer);
|
||||
|
||||
@@ -50,7 +50,7 @@ router.post("users.list", auth(), pagination(), async (ctx) => {
|
||||
if (filter) {
|
||||
assertIn(
|
||||
filter,
|
||||
["invited", "viewers", "admins", "active", "all", "suspended"],
|
||||
["invited", "viewers", "admins", "members", "active", "all", "suspended"],
|
||||
"Invalid filter"
|
||||
);
|
||||
}
|
||||
@@ -86,6 +86,11 @@ router.post("users.list", auth(), pagination(), async (ctx) => {
|
||||
break;
|
||||
}
|
||||
|
||||
case "members": {
|
||||
where = { ...where, isAdmin: false, isViewer: false };
|
||||
break;
|
||||
}
|
||||
|
||||
case "suspended": {
|
||||
if (actor.isAdmin) {
|
||||
where = {
|
||||
|
||||
Reference in New Issue
Block a user