From 9610447a7952f0d4a90793f2d951ce79d208580d Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sun, 11 Sep 2022 14:46:01 -0500 Subject: [PATCH] Fix permissioning of moderator modal --- app/soapbox/components/status-action-bar.tsx | 11 ++++++----- app/soapbox/features/account/components/header.tsx | 12 +++++------- .../account-moderation-modal.tsx | 7 ++++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/soapbox/components/status-action-bar.tsx b/app/soapbox/components/status-action-bar.tsx index e139ce43e..2dbe0b181 100644 --- a/app/soapbox/components/status-action-bar.tsx +++ b/app/soapbox/components/status-action-bar.tsx @@ -470,12 +470,13 @@ const StatusActionBar: React.FC = ({ if (isStaff) { menu.push(null); + menu.push({ + text: intl.formatMessage(messages.adminAccount, { name: username }), + action: onModerate, + icon: require('@tabler/icons/gavel.svg'), + }); + if (isAdmin) { - menu.push({ - text: intl.formatMessage(messages.adminAccount, { name: username }), - action: onModerate, - icon: require('@tabler/icons/gavel.svg'), - }); menu.push({ text: intl.formatMessage(messages.admin_status), href: `/pleroma/admin/#/statuses/${status.id}/`, diff --git a/app/soapbox/features/account/components/header.tsx b/app/soapbox/features/account/components/header.tsx index b3264e0b8..925a63b16 100644 --- a/app/soapbox/features/account/components/header.tsx +++ b/app/soapbox/features/account/components/header.tsx @@ -431,13 +431,11 @@ const Header: React.FC = ({ account }) => { if (ownAccount?.staff) { menu.push(null); - if (ownAccount?.admin) { - menu.push({ - text: intl.formatMessage(messages.adminAccount, { name: account.username }), - action: onModerate, - icon: require('@tabler/icons/gavel.svg'), - }); - } + menu.push({ + text: intl.formatMessage(messages.adminAccount, { name: account.username }), + action: onModerate, + icon: require('@tabler/icons/gavel.svg'), + }); } return menu; diff --git a/app/soapbox/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx b/app/soapbox/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx index 177de14c5..be3c01d2c 100644 --- a/app/soapbox/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx +++ b/app/soapbox/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx @@ -15,7 +15,7 @@ import Account from 'soapbox/components/account'; import List, { ListItem } from 'soapbox/components/list'; import MissingIndicator from 'soapbox/components/missing_indicator'; import { Button, Text, HStack, Modal, Stack, Toggle } from 'soapbox/components/ui'; -import { useAppDispatch, useAppSelector, useFeatures } from 'soapbox/hooks'; +import { useAppDispatch, useAppSelector, useFeatures, useOwnAccount } from 'soapbox/hooks'; import { makeGetAccount } from 'soapbox/selectors'; import { isLocal } from 'soapbox/utils/accounts'; @@ -44,12 +44,13 @@ const AccountModerationModal: React.FC = ({ onClose, ac const intl = useIntl(); const dispatch = useAppDispatch(); + const ownAccount = useOwnAccount(); const features = useFeatures(); const account = useAppSelector(state => getAccount(state, accountId)); const handleClose = () => onClose('ACCOUNT_MODERATION'); - if (!account) { + if (!account || !ownAccount) { return ( @@ -118,7 +119,7 @@ const AccountModerationModal: React.FC = ({ onClose, ac - {isLocal(account) && ( + {(ownAccount.admin && isLocal(account)) && ( }>