diff --git a/app/javascript/mastodon/features/account_timeline/components/account_header.tsx b/app/javascript/mastodon/features/account_timeline/components/account_header.tsx
index 457cbcdcc4..7f5f9d964f 100644
--- a/app/javascript/mastodon/features/account_timeline/components/account_header.tsx
+++ b/app/javascript/mastodon/features/account_timeline/components/account_header.tsx
@@ -62,18 +62,6 @@ import { MemorialNote } from './memorial_note';
import { MovedNote } from './moved_note';
const messages = defineMessages({
- unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
- follow: { id: 'account.follow', defaultMessage: 'Follow' },
- followBack: { id: 'account.follow_back', defaultMessage: 'Follow back' },
- mutual: { id: 'account.mutual', defaultMessage: 'Mutual' },
- cancel_follow_request: {
- id: 'account.cancel_follow_request',
- defaultMessage: 'Withdraw follow request',
- },
- requested: {
- id: 'account.requested',
- defaultMessage: 'Awaiting approval. Click to cancel follow request',
- },
unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },
edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' },
linkVerifiedOn: {
@@ -635,29 +623,65 @@ export const AccountHeader: React.FC<{
const info: React.ReactNode[] = [];
- if (me !== account.id && relationship?.blocking) {
- info.push(
-
-
- ,
- );
- }
+ if (me !== account.id && relationship) {
+ if (
+ relationship.followed_by &&
+ (relationship.following || relationship.requested)
+ ) {
+ info.push(
+
+
+ ,
+ );
+ } else if (relationship.followed_by) {
+ info.push(
+
+
+ ,
+ );
+ } else if (relationship.requested_by) {
+ info.push(
+
+
+ ,
+ );
+ }
- if (me !== account.id && relationship?.muting) {
- info.push(
-
-
- ,
- );
- } else if (me !== account.id && relationship?.domain_blocking) {
- info.push(
-
-
- ,
- );
+ if (relationship.blocking) {
+ info.push(
+
+
+ ,
+ );
+ }
+
+ if (relationship.muting) {
+ info.push(
+
+
+ ,
+ );
+ }
+
+ if (relationship.domain_blocking) {
+ info.push(
+
+
+ ,
+ );
+ }
}
if (relationship?.requested || relationship?.following) {
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 65a82feac6..e362c6268a 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -19,11 +19,12 @@
"account.block_domain": "Block domain {domain}",
"account.block_short": "Block",
"account.blocked": "Blocked",
+ "account.blocking": "Blocking",
"account.cancel_follow_request": "Cancel follow",
"account.copy": "Copy link to profile",
"account.direct": "Privately mention @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts",
- "account.domain_blocked": "Domain blocked",
+ "account.domain_blocking": "Blocking domain",
"account.edit_profile": "Edit profile",
"account.enable_notifications": "Notify me when @{name} posts",
"account.endorse": "Feature on profile",
@@ -40,6 +41,7 @@
"account.following": "Following",
"account.following_counter": "{count, plural, one {{counter} following} other {{counter} following}}",
"account.follows.empty": "This user doesn't follow anyone yet.",
+ "account.follows_you": "Follows you",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.in_memoriam": "In Memoriam.",
@@ -54,7 +56,8 @@
"account.mute_notifications_short": "Mute notifications",
"account.mute_short": "Mute",
"account.muted": "Muted",
- "account.mutual": "Mutual",
+ "account.muting": "Muting",
+ "account.mutual": "You follow each other",
"account.no_bio": "No description provided.",
"account.open_original_page": "Open original page",
"account.posts": "Posts",
@@ -62,6 +65,7 @@
"account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request",
"account.requested_follow": "{name} has requested to follow you",
+ "account.requests_to_follow_you": "Requests to follow you",
"account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.statuses_counter": "{count, plural, one {{counter} post} other {{counter} posts}}",
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 5d011d8f32..279636c446 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -4781,19 +4781,6 @@ a.status-card {
}
}
-.relationship-tag {
- color: $white;
- margin-bottom: 4px;
- display: block;
- background-color: rgba($black, 0.45);
- backdrop-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%);
- font-size: 11px;
- text-transform: uppercase;
- font-weight: 700;
- padding: 2px 6px;
- border-radius: 4px;
-}
-
.setting-toggle {
display: flex;
align-items: center;
@@ -6679,7 +6666,8 @@ a.status-card {
pointer-events: none;
}
-.media-gallery__alt__label {
+.media-gallery__alt__label,
+.relationship-tag {
display: block;
text-align: center;
color: $white;
@@ -6700,6 +6688,11 @@ a.status-card {
}
}
+.relationship-tag {
+ text-transform: uppercase;
+ cursor: default;
+}
+
.media-gallery__alt__popover {
background: rgba($black, 0.65);
backdrop-filter: blur(10px) saturate(180%) contrast(75%) brightness(70%);
@@ -7774,8 +7767,11 @@ noscript {
&__info {
position: absolute;
- top: 10px;
- inset-inline-start: 10px;
+ top: 20px;
+ inset-inline-end: 20px;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 2px;
}
&__image {