import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import classNames from 'classnames'; import GavelIcon from '@/material-icons/400-24px/gavel.svg?react'; import { Icon } from 'mastodon/components/icon'; import type { AccountWarningAction } from 'mastodon/models/notification_group'; // This needs to be kept in sync with app/models/account_warning.rb const messages = defineMessages({ none: { id: 'notification.moderation_warning.action_none', defaultMessage: 'Your account has received a moderation warning.', }, disable: { id: 'notification.moderation_warning.action_disable', defaultMessage: 'Your account has been disabled.', }, mark_statuses_as_sensitive: { id: 'notification.moderation_warning.action_mark_statuses_as_sensitive', defaultMessage: 'Some of your posts have been marked as sensitive.', }, delete_statuses: { id: 'notification.moderation_warning.action_delete_statuses', defaultMessage: 'Some of your posts have been removed.', }, sensitive: { id: 'notification.moderation_warning.action_sensitive', defaultMessage: 'Your posts will be marked as sensitive from now on.', }, silence: { id: 'notification.moderation_warning.action_silence', defaultMessage: 'Your account has been limited.', }, suspend: { id: 'notification.moderation_warning.action_suspend', defaultMessage: 'Your account has been suspended.', }, }); interface Props { action: AccountWarningAction; id: string; hidden?: boolean; unread?: boolean; } export const ModerationWarning: React.FC = ({ action, id, hidden, unread, }) => { const intl = useIntl(); if (hidden) { return null; } return (

{intl.formatMessage(messages[action])}

); };