kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
AccountModerationModal: put AdminFE behind a feature flag
rodzic
774894e127
commit
1e3a959c1c
|
@ -3,7 +3,7 @@ import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
import MissingIndicator from 'soapbox/components/missing_indicator';
|
import MissingIndicator from 'soapbox/components/missing_indicator';
|
||||||
import { Button, HStack, Modal } from 'soapbox/components/ui';
|
import { Button, HStack, Modal } from 'soapbox/components/ui';
|
||||||
import { useAppSelector } from 'soapbox/hooks';
|
import { useAppSelector, useFeatures } from 'soapbox/hooks';
|
||||||
import { makeGetAccount } from 'soapbox/selectors';
|
import { makeGetAccount } from 'soapbox/selectors';
|
||||||
|
|
||||||
const getAccount = makeGetAccount();
|
const getAccount = makeGetAccount();
|
||||||
|
@ -17,6 +17,7 @@ interface IAccountModerationModal {
|
||||||
|
|
||||||
/** Moderator actions against accounts. */
|
/** Moderator actions against accounts. */
|
||||||
const AccountModerationModal: React.FC<IAccountModerationModal> = ({ onClose, accountId }) => {
|
const AccountModerationModal: React.FC<IAccountModerationModal> = ({ onClose, accountId }) => {
|
||||||
|
const features = useFeatures();
|
||||||
const account = useAppSelector(state => getAccount(state, accountId));
|
const account = useAppSelector(state => getAccount(state, accountId));
|
||||||
|
|
||||||
const handleClose = () => onClose('ACCOUNT_MODERATION');
|
const handleClose = () => onClose('ACCOUNT_MODERATION');
|
||||||
|
@ -38,11 +39,13 @@ const AccountModerationModal: React.FC<IAccountModerationModal> = ({ onClose, ac
|
||||||
title={<FormattedMessage id='account_moderation_modal.title' defaultMessage='Moderate @{acct}' values={{ acct: account.acct }} />}
|
title={<FormattedMessage id='account_moderation_modal.title' defaultMessage='Moderate @{acct}' values={{ acct: account.acct }} />}
|
||||||
onClose={handleClose}
|
onClose={handleClose}
|
||||||
>
|
>
|
||||||
<HStack justifyContent='center'>
|
{features.adminFE && (
|
||||||
<Button icon={require('@tabler/icons/external-link.svg')} size='sm' theme='secondary' onClick={handleAdminFE}>
|
<HStack justifyContent='center'>
|
||||||
<FormattedMessage id='account_moderation_modal.admin_fe' defaultMessage='Open in AdminFE' />
|
<Button icon={require('@tabler/icons/external-link.svg')} size='sm' theme='secondary' onClick={handleAdminFE}>
|
||||||
</Button>
|
<FormattedMessage id='account_moderation_modal.admin_fe' defaultMessage='Open in AdminFE' />
|
||||||
</HStack>
|
</Button>
|
||||||
|
</HStack>
|
||||||
|
)}
|
||||||
</Modal>
|
</Modal>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -142,6 +142,12 @@ const getInstanceFeatures = (instance: Instance) => {
|
||||||
*/
|
*/
|
||||||
accountWebsite: v.software === TRUTHSOCIAL,
|
accountWebsite: v.software === TRUTHSOCIAL,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An additional moderator interface is available on the domain.
|
||||||
|
* @see /pleroma/admin
|
||||||
|
*/
|
||||||
|
adminFE: v.software === PLEROMA,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Can display announcements set by admins.
|
* Can display announcements set by admins.
|
||||||
* @see GET /api/v1/announcements
|
* @see GET /api/v1/announcements
|
||||||
|
|
Ładowanie…
Reference in New Issue