diff --git a/app/javascript/mastodon/features/follow_requests/index.js b/app/javascript/mastodon/features/follow_requests/index.js index bef56fab5f..7078e4e6cc 100644 --- a/app/javascript/mastodon/features/follow_requests/index.js +++ b/app/javascript/mastodon/features/follow_requests/index.js @@ -11,6 +11,7 @@ import ColumnBackButtonSlim from '../../components/column_back_button_slim'; import AccountAuthorizeContainer from './containers/account_authorize_container'; import { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts'; import ScrollableList from '../../components/scrollable_list'; +import { me } from '../../initial_state'; const messages = defineMessages({ heading: { id: 'column.follow_requests', defaultMessage: 'Follow requests' }, @@ -19,6 +20,8 @@ const messages = defineMessages({ const mapStateToProps = state => ({ accountIds: state.getIn(['user_lists', 'follow_requests', 'items']), hasMore: !!state.getIn(['user_lists', 'follow_requests', 'next']), + locked: !!state.getIn(['accounts', me, 'locked']), + domain: state.getIn(['meta', 'domain']), }); export default @connect(mapStateToProps) @@ -31,6 +34,8 @@ class FollowRequests extends ImmutablePureComponent { shouldUpdateScroll: PropTypes.func, hasMore: PropTypes.bool, accountIds: ImmutablePropTypes.list, + locked: PropTypes.bool, + domain: PropTypes.string, intl: PropTypes.object.isRequired, multiColumn: PropTypes.bool, }; @@ -44,7 +49,7 @@ class FollowRequests extends ImmutablePureComponent { }, 300, { leading: true }); render () { - const { intl, shouldUpdateScroll, accountIds, hasMore, multiColumn } = this.props; + const { intl, shouldUpdateScroll, accountIds, hasMore, multiColumn, locked, domain } = this.props; if (!accountIds) { return ( @@ -55,6 +60,15 @@ class FollowRequests extends ImmutablePureComponent { } const emptyMessage = ; + const unlockedPrependMessage = locked ? null : ( +
+ +
+ ); return ( @@ -66,6 +80,7 @@ class FollowRequests extends ImmutablePureComponent { shouldUpdateScroll={shouldUpdateScroll} emptyMessage={emptyMessage} bindToDocument={!multiColumn} + prepend={unlockedPrependMessage} > {accountIds.map(id => , diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 3142487eaa..284232c202 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -1532,6 +1532,10 @@ { "defaultMessage": "You don't have any follow requests yet. When you receive one, it will show up here.", "id": "empty_column.follow_requests" + }, + { + "defaultMessage": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", + "id": "follow_requests.unlocked_explanation" } ], "path": "app/javascript/mastodon/features/follow_requests/index.json" @@ -2948,4 +2952,4 @@ ], "path": "app/javascript/mastodon/features/video/index.json" } -] \ No newline at end of file +] diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 5d0b71f592..616780785c 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -164,6 +164,7 @@ "errors.unexpected_crash.report_issue": "Report issue", "follow_request.authorize": "Authorize", "follow_request.reject": "Reject", + "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "getting_started.developers": "Developers", "getting_started.directory": "Profile directory", "getting_started.documentation": "Documentation", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 3b68766a8b..26774ab43f 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -3800,7 +3800,8 @@ a.status-card.compact:hover { } .empty-column-indicator, -.error-column { +.error-column, +.follow_requests-unlocked_explanation { color: $dark-text-color; background: $ui-base-color; text-align: center; @@ -3831,6 +3832,11 @@ a.status-card.compact:hover { } } +.follow_requests-unlocked_explanation { + background: darken($ui-base-color, 4%); + contain: initial; +} + .error-column { flex-direction: column; }