From 5ba9f94b7edac826de21ad259cd413f28b9a5b7c Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Fri, 15 Jul 2022 15:54:59 +0200 Subject: [PATCH] Only show admin/whitelist switches if usable Since the admin and whitelist status is shown with a tag next to the name it's no longer necessary to show the admin and whitelisted switches when the user does not have permission to use them. --- .../web_ui/src/components/UserViewPage.jsx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/web_ui/src/components/UserViewPage.jsx b/packages/web_ui/src/components/UserViewPage.jsx index 74520464..9da3b61c 100644 --- a/packages/web_ui/src/components/UserViewPage.jsx +++ b/packages/web_ui/src/components/UserViewPage.jsx @@ -21,6 +21,9 @@ import { formatLastSeen, sortLastSeen, useUser } from "../model/user"; const strcmp = new Intl.Collator(undefined, { numerice: "true", sensitivity: "base" }).compare; +// The user page has a lot of optional elements, that does not make it +// praticularly complicated. +// eslint-disable-next-line complexity export default function UserViewPage() { let params = useParams(); let userName = params.name; @@ -30,7 +33,7 @@ export default function UserViewPage() { let account = useAccount(); let control = useContext(ControlContext); let [instanceList] = useInstanceList(); - let [user, updateUser] = useUser(userName); + let [user] = useUser(userName); let [roles, setRoles] = useState(null); let [form] = Form.useForm(); let [rolesDirty, setRolesDirty] = useState(false); @@ -161,7 +164,7 @@ export default function UserViewPage() { - + {account.hasPermission("core.user.update_roles") ? roleSelector @@ -195,36 +198,30 @@ export default function UserViewPage() { } - + {account.hasPermission("core.user.set_admin") && { libLink.messages.setUserAdmin.send(control, { name: userName, admin: !user["is_admin"], create: false, - }).then(() => { - updateUser(); }).catch(notifyErrorHandler("Error toggling user admin status")); }} /> - - + } + {account.hasPermission("core.user.set_whitelisted") && { libLink.messages.setUserWhitelisted.send(control, { name: userName, whitelisted: !user["is_whitelisted"], create: false, - }).then(() => { - updateUser(); }).catch(notifyErrorHandler("Error toggling user whitelisted status")); }} /> - + } {account.hasPermission("core.user.set_banned") ?