diff --git a/app/javascript/mastodon/features/about/index.jsx b/app/javascript/mastodon/features/about/index.jsx index 03f32a7e88ff21..ccd792042801a0 100644 --- a/app/javascript/mastodon/features/about/index.jsx +++ b/app/javascript/mastodon/features/about/index.jsx @@ -28,6 +28,11 @@ const messages = defineMessages({ silencedExplanation: { id: 'about.domain_blocks.silenced.explanation', defaultMessage: 'You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.' }, suspended: { id: 'about.domain_blocks.suspended.title', defaultMessage: 'Suspended' }, suspendedExplanation: { id: 'about.domain_blocks.suspended.explanation', defaultMessage: 'No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.' }, + publicUnlistedVisibility: { id: 'privacy.public_unlisted.short', defaultMessage: 'Public unlisted' }, + emojiReaction: { id: 'status.emoji_reaction', defaultMessage: 'Stamp' }, + enabled: { id: 'about.enabled', defaultMessage: 'Enabled' }, + disabled: { id: 'about.disabled', defaultMessage: 'Disabled' }, + capabilities: { id: 'about.kmyblue_capabilities', defaultMessage: 'kmyblue capabilities' }, }); const severityMessages = { @@ -122,6 +127,10 @@ class About extends PureComponent { const { multiColumn, intl, server, extendedDescription, domainBlocks } = this.props; const isLoading = server.get('isLoading'); + const fedibirdCapabilities = server.get('fedibird_capabilities'); + const isPublicUnlistedVisibility = fedibirdCapabilities.includes('kmyblue_visibility_public_unlisted'); + const isEmojiReaction = fedibirdCapabilities.includes('emoji_reaction'); + return (
@@ -182,6 +191,20 @@ class About extends PureComponent { ))} +
+

+ {!isLoading && ( +
    +
  1. + {intl.formatMessage(messages.emojiReaction)}: {intl.formatMessage(isEmojiReaction ? messages.enabled : messages.disabled)} +
  2. +
  3. + {intl.formatMessage(messages.publicUnlistedVisibility)}: {intl.formatMessage(isPublicUnlistedVisibility ? messages.enabled : messages.disabled)} +
  4. +
+ )} +
+
{domainBlocks.get('isLoading') ? ( <>