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 {