matrix-react-sdk
Version:
SDK for matrix.org using React
107 lines (104 loc) • 15.9 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _languageHandler = require("../../../languageHandler");
var _MemberAvatar = _interopRequireDefault(require("../avatars/MemberAvatar"));
var _BaseDialog = _interopRequireDefault(require("./BaseDialog"));
var _DialogButtons = _interopRequireDefault(require("../elements/DialogButtons"));
var _Field = _interopRequireDefault(require("../elements/Field"));
var _UserIdentifier = _interopRequireDefault(require("../../../customisations/UserIdentifier"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/*
* A dialog for confirming an operation on another user.
* Takes a user ID and a verb, displays the target user prominently
* such that it should be easy to confirm that the operation is being
* performed on the right person, and displays the operation prominently
* to make it obvious what is going to happen.
* Also tweaks the style for 'dangerous' actions (albeit only with colour)
*/
class ConfirmUserActionDialog extends _react.default.Component {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "onOk", ev => {
ev.preventDefault();
this.props.onFinished(true, this.state.reason);
});
(0, _defineProperty2.default)(this, "onCancel", () => {
this.props.onFinished(false);
});
(0, _defineProperty2.default)(this, "onReasonChange", ev => {
this.setState({
reason: ev.target.value
});
});
this.state = {
reason: ""
};
}
render() {
const confirmButtonClass = this.props.danger ? "danger" : "";
let reasonBox;
if (this.props.askReason) {
reasonBox = /*#__PURE__*/_react.default.createElement("form", {
onSubmit: this.onOk
}, /*#__PURE__*/_react.default.createElement(_Field.default, {
type: "text",
onChange: this.onReasonChange,
value: this.state.reason,
className: "mx_ConfirmUserActionDialog_reasonField",
label: (0, _languageHandler._t)("room_settings|permissions|ban_reason"),
autoFocus: true
}));
}
const avatar = /*#__PURE__*/_react.default.createElement(_MemberAvatar.default, {
member: this.props.member,
size: "48px"
});
const name = this.props.member.name;
const userId = this.props.member.userId;
const displayUserIdentifier = _UserIdentifier.default.getDisplayUserIdentifier(userId, {
roomId: this.props.roomId,
withDisplayName: true
});
return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, {
className: (0, _classnames.default)("mx_ConfirmUserActionDialog", this.props.className),
onFinished: this.props.onFinished,
title: this.props.title,
contentId: "mx_Dialog_content"
}, /*#__PURE__*/_react.default.createElement("div", {
id: "mx_Dialog_content",
className: "mx_Dialog_content"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_ConfirmUserActionDialog_user"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_ConfirmUserActionDialog_avatar"
}, avatar), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_ConfirmUserActionDialog_name"
}, name), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_ConfirmUserActionDialog_userId"
}, displayUserIdentifier)), reasonBox, this.props.children), /*#__PURE__*/_react.default.createElement(_DialogButtons.default, {
primaryButton: this.props.action,
onPrimaryButtonClick: this.onOk,
primaryButtonClass: confirmButtonClass,
focus: !this.props.askReason,
onCancel: this.onCancel
}));
}
}
exports.default = ConfirmUserActionDialog;
(0, _defineProperty2.default)(ConfirmUserActionDialog, "defaultProps", {
danger: false,
askReason: false
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9NZW1iZXJBdmF0YXIiLCJfQmFzZURpYWxvZyIsIl9EaWFsb2dCdXR0b25zIiwiX0ZpZWxkIiwiX1VzZXJJZGVudGlmaWVyIiwiQ29uZmlybVVzZXJBY3Rpb25EaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImV2IiwicHJldmVudERlZmF1bHQiLCJvbkZpbmlzaGVkIiwic3RhdGUiLCJyZWFzb24iLCJzZXRTdGF0ZSIsInRhcmdldCIsInZhbHVlIiwicmVuZGVyIiwiY29uZmlybUJ1dHRvbkNsYXNzIiwiZGFuZ2VyIiwicmVhc29uQm94IiwiYXNrUmVhc29uIiwiY3JlYXRlRWxlbWVudCIsIm9uU3VibWl0Iiwib25PayIsInR5cGUiLCJvbkNoYW5nZSIsIm9uUmVhc29uQ2hhbmdlIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfdCIsImF1dG9Gb2N1cyIsImF2YXRhciIsIm1lbWJlciIsInNpemUiLCJuYW1lIiwidXNlcklkIiwiZGlzcGxheVVzZXJJZGVudGlmaWVyIiwiVXNlcklkZW50aWZpZXJDdXN0b21pc2F0aW9ucyIsImdldERpc3BsYXlVc2VySWRlbnRpZmllciIsInJvb21JZCIsIndpdGhEaXNwbGF5TmFtZSIsImNsYXNzTmFtZXMiLCJ0aXRsZSIsImNvbnRlbnRJZCIsImlkIiwiY2hpbGRyZW4iLCJwcmltYXJ5QnV0dG9uIiwiYWN0aW9uIiwib25QcmltYXJ5QnV0dG9uQ2xpY2siLCJwcmltYXJ5QnV0dG9uQ2xhc3MiLCJmb2N1cyIsIm9uQ2FuY2VsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyBDaGFuZ2VFdmVudCwgRm9ybUV2ZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFJvb21NZW1iZXIgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuXG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBNZW1iZXJBdmF0YXIgZnJvbSBcIi4uL2F2YXRhcnMvTWVtYmVyQXZhdGFyXCI7XG5pbXBvcnQgQmFzZURpYWxvZyBmcm9tIFwiLi9CYXNlRGlhbG9nXCI7XG5pbXBvcnQgRGlhbG9nQnV0dG9ucyBmcm9tIFwiLi4vZWxlbWVudHMvRGlhbG9nQnV0dG9uc1wiO1xuaW1wb3J0IEZpZWxkIGZyb20gXCIuLi9lbGVtZW50cy9GaWVsZFwiO1xuaW1wb3J0IFVzZXJJZGVudGlmaWVyQ3VzdG9taXNhdGlvbnMgZnJvbSBcIi4uLy4uLy4uL2N1c3RvbWlzYXRpb25zL1VzZXJJZGVudGlmaWVyXCI7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIC8vIG1hdHJpeC1qcy1zZGsgKHJvb20pIG1lbWJlciBvYmplY3QuXG4gICAgbWVtYmVyOiBSb29tTWVtYmVyO1xuICAgIGFjdGlvbjogc3RyaW5nOyAvLyBlZy4gJ0JhbidcbiAgICB0aXRsZTogc3RyaW5nOyAvLyBlZy4gJ0JhbiB0aGlzIHVzZXI/J1xuXG4gICAgLy8gV2hldGhlciB0byBkaXNwbGF5IGEgdGV4dCBmaWVsZCBmb3IgYSByZWFzb25cbiAgICAvLyBJZiB0cnVlLCB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIG9uRmluaXNoZWQgd2lsbFxuICAgIC8vIGJlIHRoZSBzdHJpbmcgZW50ZXJlZC5cbiAgICBhc2tSZWFzb24/OiBib29sZWFuO1xuICAgIGRhbmdlcj86IGJvb2xlYW47XG4gICAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIHJvb21JZD86IHN0cmluZztcbiAgICBvbkZpbmlzaGVkOiAoc3VjY2Vzcz86IGJvb2xlYW4sIHJlYXNvbj86IHN0cmluZykgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIElTdGF0ZSB7XG4gICAgcmVhc29uOiBzdHJpbmc7XG59XG5cbi8qXG4gKiBBIGRpYWxvZyBmb3IgY29uZmlybWluZyBhbiBvcGVyYXRpb24gb24gYW5vdGhlciB1c2VyLlxuICogVGFrZXMgYSB1c2VyIElEIGFuZCBhIHZlcmIsIGRpc3BsYXlzIHRoZSB0YXJnZXQgdXNlciBwcm9taW5lbnRseVxuICogc3VjaCB0aGF0IGl0IHNob3VsZCBiZSBlYXN5IHRvIGNvbmZpcm0gdGhhdCB0aGUgb3BlcmF0aW9uIGlzIGJlaW5nXG4gKiBwZXJmb3JtZWQgb24gdGhlIHJpZ2h0IHBlcnNvbiwgYW5kIGRpc3BsYXlzIHRoZSBvcGVyYXRpb24gcHJvbWluZW50bHlcbiAqIHRvIG1ha2UgaXQgb2J2aW91cyB3aGF0IGlzIGdvaW5nIHRvIGhhcHBlbi5cbiAqIEFsc28gdHdlYWtzIHRoZSBzdHlsZSBmb3IgJ2Rhbmdlcm91cycgYWN0aW9ucyAoYWxiZWl0IG9ubHkgd2l0aCBjb2xvdXIpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElQcm9wcywgSVN0YXRlPiB7XG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0UHJvcHM6IFBhcnRpYWw8SVByb3BzPiA9IHtcbiAgICAgICAgZGFuZ2VyOiBmYWxzZSxcbiAgICAgICAgYXNrUmVhc29uOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBJUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICByZWFzb246IFwiXCIsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbk9rID0gKGV2OiBGb3JtRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKHRydWUsIHRoaXMuc3RhdGUucmVhc29uKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvbkNhbmNlbCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKGZhbHNlKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvblJlYXNvbkNoYW5nZSA9IChldjogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICByZWFzb246IGV2LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbkNsYXNzID0gdGhpcy5wcm9wcy5kYW5nZXIgPyBcImRhbmdlclwiIDogXCJcIjtcblxuICAgICAgICBsZXQgcmVhc29uQm94O1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hc2tSZWFzb24pIHtcbiAgICAgICAgICAgIHJlYXNvbkJveCA9IChcbiAgICAgICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17dGhpcy5vbk9rfT5cbiAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblJlYXNvbkNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnJlYXNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3JlYXNvbkZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtfdChcInJvb21fc2V0dGluZ3N8cGVybWlzc2lvbnN8YmFuX3JlYXNvblwiKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXZhdGFyID0gPE1lbWJlckF2YXRhciBtZW1iZXI9e3RoaXMucHJvcHMubWVtYmVyfSBzaXplPVwiNDhweFwiIC8+O1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9wcy5tZW1iZXIubmFtZTtcbiAgICAgICAgY29uc3QgdXNlcklkID0gdGhpcy5wcm9wcy5tZW1iZXIudXNlcklkO1xuXG4gICAgICAgIGNvbnN0IGRpc3BsYXlVc2VySWRlbnRpZmllciA9IFVzZXJJZGVudGlmaWVyQ3VzdG9taXNhdGlvbnMuZ2V0RGlzcGxheVVzZXJJZGVudGlmaWVyKHVzZXJJZCwge1xuICAgICAgICAgICAgcm9vbUlkOiB0aGlzLnByb3BzLnJvb21JZCxcbiAgICAgICAgICAgIHdpdGhEaXNwbGF5TmFtZTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCYXNlRGlhbG9nXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dcIiwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIG9uRmluaXNoZWQ9e3RoaXMucHJvcHMub25GaW5pc2hlZH1cbiAgICAgICAgICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICAgICAgICBjb250ZW50SWQ9XCJteF9EaWFsb2dfY29udGVudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIm14X0RpYWxvZ19jb250ZW50XCIgY2xhc3NOYW1lPVwibXhfRGlhbG9nX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ191c2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX2F2YXRhclwiPnthdmF0YXJ9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX25hbWVcIj57bmFtZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfdXNlcklkXCI+e2Rpc3BsYXlVc2VySWRlbnRpZmllcn08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAge3JlYXNvbkJveH1cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPERpYWxvZ0J1dHRvbnNcbiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeUJ1dHRvbj17dGhpcy5wcm9wcy5hY3Rpb259XG4gICAgICAgICAgICAgICAgICAgIG9uUHJpbWFyeUJ1dHRvbkNsaWNrPXt0aGlzLm9uT2t9XG4gICAgICAgICAgICAgICAgICAgIHByaW1hcnlCdXR0b25DbGFzcz17Y29uZmlybUJ1dHRvbkNsYXNzfVxuICAgICAgICAgICAgICAgICAgICBmb2N1cz17IXRoaXMucHJvcHMuYXNrUmVhc29ufVxuICAgICAgICAgICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5vbkNhbmNlbH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9CYXNlRGlhbG9nPlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWtDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTVEsdUJBQXVCLFNBQVNDLGNBQUssQ0FBQ0MsU0FBUyxDQUFpQjtFQU0xRUMsV0FBV0EsQ0FBQ0MsS0FBYSxFQUFFO0lBQzlCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUMsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSxnQkFPREMsRUFBYSxJQUFXO01BQ3BDQSxFQUFFLENBQUNDLGNBQWMsQ0FBQyxDQUFDO01BQ25CLElBQUksQ0FBQ0osS0FBSyxDQUFDSyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxNQUFNLENBQUM7SUFDbEQsQ0FBQztJQUFB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