Use short names for admin quick actions
This commit is contained in:
parent
5b5397312b
commit
498471958b
|
@ -4,27 +4,29 @@ import { deactivateUsers, deleteUsers, deleteStatus } from 'soapbox/actions/admi
|
||||||
import snackbar from 'soapbox/actions/snackbar';
|
import snackbar from 'soapbox/actions/snackbar';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
deactivateUserPrompt: { id: 'confirmations.admin.deactivate_user.message', defaultMessage: 'You are about to deactivate {acct}. Deactivating a user is a reversible action.' },
|
deactivateUserPrompt: { id: 'confirmations.admin.deactivate_user.message', defaultMessage: 'You are about to deactivate @{acct}. Deactivating a user is a reversible action.' },
|
||||||
deactivateUserConfirm: { id: 'confirmations.admin.deactivate_user.confirm', defaultMessage: 'Deactivate {acct}' },
|
deactivateUserConfirm: { id: 'confirmations.admin.deactivate_user.confirm', defaultMessage: 'Deactivate @{name}' },
|
||||||
userDeactivated: { id: 'admin.users.user_deactivated_message', defaultMessage: '{acct} was deactivated' },
|
userDeactivated: { id: 'admin.users.user_deactivated_message', defaultMessage: '@{acct} was deactivated' },
|
||||||
deleteUserPrompt: { id: 'confirmations.admin.delete_user.message', defaultMessage: 'You are about to delete {acct}. THIS IS A DESTRUCTIVE ACTION THAT CANNOT BE UNDONE.' },
|
deleteUserPrompt: { id: 'confirmations.admin.delete_user.message', defaultMessage: 'You are about to delete @{acct}. THIS IS A DESTRUCTIVE ACTION THAT CANNOT BE UNDONE.' },
|
||||||
deleteUserConfirm: { id: 'confirmations.admin.delete_user.confirm', defaultMessage: 'Delete {acct}' },
|
deleteUserConfirm: { id: 'confirmations.admin.delete_user.confirm', defaultMessage: 'Delete @{name}' },
|
||||||
userDeleted: { id: 'admin.users.user_deleted_message', defaultMessage: '{acct} was deleted' },
|
userDeleted: { id: 'admin.users.user_deleted_message', defaultMessage: '@{acct} was deleted' },
|
||||||
deleteStatusPrompt: { id: 'confirmations.admin.delete_status.message', defaultMessage: 'You are about to delete a post by {acct}. This action cannot be undone.' },
|
deleteStatusPrompt: { id: 'confirmations.admin.delete_status.message', defaultMessage: 'You are about to delete a post by @{acct}. This action cannot be undone.' },
|
||||||
deleteStatusConfirm: { id: 'confirmations.admin.delete_status.confirm', defaultMessage: 'Delete post' },
|
deleteStatusConfirm: { id: 'confirmations.admin.delete_status.confirm', defaultMessage: 'Delete post' },
|
||||||
statusDeleted: { id: 'admin.statuses.status_deleted_message', defaultMessage: 'Post by {acct} was deleted' },
|
statusDeleted: { id: 'admin.statuses.status_deleted_message', defaultMessage: 'Post by @{acct} was deleted' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export function deactivateUserModal(intl, accountId, afterConfirm = () => {}) {
|
export function deactivateUserModal(intl, accountId, afterConfirm = () => {}) {
|
||||||
return function(dispatch, getState) {
|
return function(dispatch, getState) {
|
||||||
const state = getState();
|
const state = getState();
|
||||||
const acct = state.getIn(['accounts', accountId, 'acct']);
|
const acct = state.getIn(['accounts', accountId, 'acct']);
|
||||||
|
const name = state.getIn(['accounts', accountId, 'username']);
|
||||||
|
|
||||||
dispatch(openModal('CONFIRM', {
|
dispatch(openModal('CONFIRM', {
|
||||||
message: intl.formatMessage(messages.deactivateUserPrompt, { acct: `@${acct}` }),
|
message: intl.formatMessage(messages.deactivateUserPrompt, { acct }),
|
||||||
confirm: intl.formatMessage(messages.deactivateUserConfirm, { acct: `@${acct}` }),
|
confirm: intl.formatMessage(messages.deactivateUserConfirm, { name }),
|
||||||
onConfirm: () => {
|
onConfirm: () => {
|
||||||
dispatch(deactivateUsers([acct])).then(() => {
|
dispatch(deactivateUsers([acct])).then(() => {
|
||||||
const message = intl.formatMessage(messages.userDeactivated, { acct: `@${acct}` });
|
const message = intl.formatMessage(messages.userDeactivated, { acct });
|
||||||
dispatch(snackbar.success(message));
|
dispatch(snackbar.success(message));
|
||||||
afterConfirm();
|
afterConfirm();
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
|
@ -37,12 +39,14 @@ export function deleteUserModal(intl, accountId, afterConfirm = () => {}) {
|
||||||
return function(dispatch, getState) {
|
return function(dispatch, getState) {
|
||||||
const state = getState();
|
const state = getState();
|
||||||
const acct = state.getIn(['accounts', accountId, 'acct']);
|
const acct = state.getIn(['accounts', accountId, 'acct']);
|
||||||
|
const name = state.getIn(['accounts', accountId, 'username']);
|
||||||
|
|
||||||
dispatch(openModal('CONFIRM', {
|
dispatch(openModal('CONFIRM', {
|
||||||
message: intl.formatMessage(messages.deleteUserPrompt, { acct: `@${acct}` }),
|
message: intl.formatMessage(messages.deleteUserPrompt, { acct }),
|
||||||
confirm: intl.formatMessage(messages.deleteUserConfirm, { acct: `@${acct}` }),
|
confirm: intl.formatMessage(messages.deleteUserConfirm, { name }),
|
||||||
onConfirm: () => {
|
onConfirm: () => {
|
||||||
dispatch(deleteUsers([acct])).then(() => {
|
dispatch(deleteUsers([acct])).then(() => {
|
||||||
const message = intl.formatMessage(messages.userDeleted, { acct: `@${acct}` });
|
const message = intl.formatMessage(messages.userDeleted, { acct });
|
||||||
dispatch(snackbar.success(message));
|
dispatch(snackbar.success(message));
|
||||||
afterConfirm();
|
afterConfirm();
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
|
@ -58,11 +62,11 @@ export function deleteStatusModal(intl, statusId, afterConfirm = () => {}) {
|
||||||
const acct = state.getIn(['accounts', accountId, 'acct']);
|
const acct = state.getIn(['accounts', accountId, 'acct']);
|
||||||
|
|
||||||
dispatch(openModal('CONFIRM', {
|
dispatch(openModal('CONFIRM', {
|
||||||
message: intl.formatMessage(messages.deleteStatusPrompt, { acct: `@${acct}` }),
|
message: intl.formatMessage(messages.deleteStatusPrompt, { acct }),
|
||||||
confirm: intl.formatMessage(messages.deleteStatusConfirm),
|
confirm: intl.formatMessage(messages.deleteStatusConfirm),
|
||||||
onConfirm: () => {
|
onConfirm: () => {
|
||||||
dispatch(deleteStatus(statusId)).then(() => {
|
dispatch(deleteStatus(statusId)).then(() => {
|
||||||
const message = intl.formatMessage(messages.statusDeleted, { acct: `@${acct}` });
|
const message = intl.formatMessage(messages.statusDeleted, { acct });
|
||||||
dispatch(snackbar.success(message));
|
dispatch(snackbar.success(message));
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
afterConfirm();
|
afterConfirm();
|
||||||
|
|
|
@ -45,8 +45,8 @@ const messages = defineMessages({
|
||||||
copy: { id: 'status.copy', defaultMessage: 'Copy link to post' },
|
copy: { id: 'status.copy', defaultMessage: 'Copy link to post' },
|
||||||
group_remove_account: { id: 'status.remove_account_from_group', defaultMessage: 'Remove account from group' },
|
group_remove_account: { id: 'status.remove_account_from_group', defaultMessage: 'Remove account from group' },
|
||||||
group_remove_post: { id: 'status.remove_post_from_group', defaultMessage: 'Remove post from group' },
|
group_remove_post: { id: 'status.remove_post_from_group', defaultMessage: 'Remove post from group' },
|
||||||
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate {acct}' },
|
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate @{name}' },
|
||||||
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete {acct}' },
|
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete @{name}' },
|
||||||
deleteStatus: { id: 'admin.statuses.actions.delete_status', defaultMessage: 'Delete post' },
|
deleteStatus: { id: 'admin.statuses.actions.delete_status', defaultMessage: 'Delete post' },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -309,8 +309,8 @@ class StatusActionBar extends ImmutablePureComponent {
|
||||||
menu.push(null);
|
menu.push(null);
|
||||||
menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: `/pleroma/admin/#/users/${status.getIn(['account', 'id'])}/` });
|
menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: `/pleroma/admin/#/users/${status.getIn(['account', 'id'])}/` });
|
||||||
// menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses/${status.get('id')}` });
|
// menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses/${status.get('id')}` });
|
||||||
menu.push({ text: intl.formatMessage(messages.deactivateUser, { acct: `@${status.getIn(['account', 'acct'])}` }), action: this.handleDeactivateUser });
|
menu.push({ text: intl.formatMessage(messages.deactivateUser, { name: status.getIn(['account', 'username']) }), action: this.handleDeactivateUser });
|
||||||
menu.push({ text: intl.formatMessage(messages.deleteUser, { acct: `@${status.getIn(['account', 'acct'])}` }), action: this.handleDeleteUser });
|
menu.push({ text: intl.formatMessage(messages.deleteUser, { name: status.getIn(['account', 'username']) }), action: this.handleDeleteUser });
|
||||||
menu.push({ text: intl.formatMessage(messages.deleteStatus), action: this.handleDeleteStatus });
|
menu.push({ text: intl.formatMessage(messages.deleteStatus), action: this.handleDeleteStatus });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,8 +46,8 @@ const messages = defineMessages({
|
||||||
unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' },
|
unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' },
|
||||||
admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' },
|
admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' },
|
||||||
add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' },
|
add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' },
|
||||||
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate {acct}' },
|
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate @{name}' },
|
||||||
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete {acct}' },
|
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete @{name}' },
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapStateToProps = state => {
|
const mapStateToProps = state => {
|
||||||
|
@ -171,8 +171,8 @@ class Header extends ImmutablePureComponent {
|
||||||
if (account.get('id') !== me && isStaff) {
|
if (account.get('id') !== me && isStaff) {
|
||||||
menu.push(null);
|
menu.push(null);
|
||||||
menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/pleroma/admin/#/users/${account.get('id')}/`, newTab: true });
|
menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/pleroma/admin/#/users/${account.get('id')}/`, newTab: true });
|
||||||
menu.push({ text: intl.formatMessage(messages.deactivateUser, { acct: `@${account.get('acct')}` }), action: this.props.onDeactivateUser });
|
menu.push({ text: intl.formatMessage(messages.deactivateUser, { name: account.get('username') }), action: this.props.onDeactivateUser });
|
||||||
menu.push({ text: intl.formatMessage(messages.deleteUser, { acct: `@${account.get('acct')}` }), action: this.props.onDeleteUser });
|
menu.push({ text: intl.formatMessage(messages.deleteUser, { name: account.get('username') }), action: this.props.onDeleteUser });
|
||||||
}
|
}
|
||||||
|
|
||||||
return menu;
|
return menu;
|
||||||
|
|
|
@ -14,9 +14,9 @@ import snackbar from 'soapbox/actions/snackbar';
|
||||||
import { deactivateUserModal, deleteUserModal } from 'soapbox/actions/moderation';
|
import { deactivateUserModal, deleteUserModal } from 'soapbox/actions/moderation';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
reportClosed: { id: 'admin.reports.report_closed_message', defaultMessage: 'Report on {acct} was closed' },
|
reportClosed: { id: 'admin.reports.report_closed_message', defaultMessage: 'Report on @{name} was closed' },
|
||||||
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate {acct}' },
|
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate @{name}' },
|
||||||
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete {acct}' },
|
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete @{name}' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect()
|
export default @connect()
|
||||||
|
@ -35,19 +35,18 @@ class Report extends ImmutablePureComponent {
|
||||||
const { intl, report } = this.props;
|
const { intl, report } = this.props;
|
||||||
|
|
||||||
return [{
|
return [{
|
||||||
text: intl.formatMessage(messages.deactivateUser, { acct: `@${report.getIn(['account', 'acct'])}` }),
|
text: intl.formatMessage(messages.deactivateUser, { name: report.getIn(['account', 'username']) }),
|
||||||
action: this.handleDeactivateUser,
|
action: this.handleDeactivateUser,
|
||||||
}, {
|
}, {
|
||||||
text: intl.formatMessage(messages.deleteUser, { acct: `@${report.getIn(['account', 'acct'])}` }),
|
text: intl.formatMessage(messages.deleteUser, { name: report.getIn(['account', 'username']) }),
|
||||||
action: this.handleDeleteUser,
|
action: this.handleDeleteUser,
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
handleCloseReport = () => {
|
handleCloseReport = () => {
|
||||||
const { intl, dispatch, report } = this.props;
|
const { intl, dispatch, report } = this.props;
|
||||||
const nickname = report.getIn(['account', 'acct']);
|
|
||||||
dispatch(closeReports([report.get('id')])).then(() => {
|
dispatch(closeReports([report.get('id')])).then(() => {
|
||||||
const message = intl.formatMessage(messages.reportClosed, { acct: `@${nickname}` });
|
const message = intl.formatMessage(messages.reportClosed, { name: report.getIn(['account', 'username']) });
|
||||||
dispatch(snackbar.success(message));
|
dispatch(snackbar.success(message));
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,8 +36,8 @@ const messages = defineMessages({
|
||||||
copy: { id: 'status.copy', defaultMessage: 'Copy link to post' },
|
copy: { id: 'status.copy', defaultMessage: 'Copy link to post' },
|
||||||
bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },
|
bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },
|
||||||
unbookmark: { id: 'status.unbookmark', defaultMessage: 'Remove bookmark' },
|
unbookmark: { id: 'status.unbookmark', defaultMessage: 'Remove bookmark' },
|
||||||
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate {acct}' },
|
deactivateUser: { id: 'admin.users.actions.deactivate_user', defaultMessage: 'Deactivate @{name}' },
|
||||||
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete {acct}' },
|
deleteUser: { id: 'admin.users.actions.delete_user', defaultMessage: 'Delete @{name}' },
|
||||||
deleteStatus: { id: 'admin.statuses.actions.delete_status', defaultMessage: 'Delete post' },
|
deleteStatus: { id: 'admin.statuses.actions.delete_status', defaultMessage: 'Delete post' },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -294,8 +294,8 @@ class ActionBar extends React.PureComponent {
|
||||||
menu.push(null);
|
menu.push(null);
|
||||||
menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: `/pleroma/admin/#/users/${status.getIn(['account', 'id'])}/` });
|
menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: `/pleroma/admin/#/users/${status.getIn(['account', 'id'])}/` });
|
||||||
// menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses/${status.get('id')}` });
|
// menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses/${status.get('id')}` });
|
||||||
menu.push({ text: intl.formatMessage(messages.deactivateUser, { acct: `@${status.getIn(['account', 'acct'])}` }), action: this.handleDeactivateUser });
|
menu.push({ text: intl.formatMessage(messages.deactivateUser, { name: status.getIn(['account', 'username']) }), action: this.handleDeactivateUser });
|
||||||
menu.push({ text: intl.formatMessage(messages.deleteUser, { acct: `@${status.getIn(['account', 'acct'])}` }), action: this.handleDeleteUser });
|
menu.push({ text: intl.formatMessage(messages.deleteUser, { name: status.getIn(['account', 'username']) }), action: this.handleDeleteUser });
|
||||||
menu.push({ text: intl.formatMessage(messages.deleteStatus), action: this.handleDeleteStatus });
|
menu.push({ text: intl.formatMessage(messages.deleteStatus), action: this.handleDeleteStatus });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue