matrix-react-sdk
Version:
SDK for matrix.org using React
78 lines (75 loc) • 11.7 kB
JavaScript
;
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 _MatrixClientPeg = require("../../../MatrixClientPeg");
var _languageHandler = require("../../../languageHandler");
var _Modal = _interopRequireDefault(require("../../../Modal"));
var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton"));
var _Media = require("../../../customisations/Media");
var _RoomAvatar = _interopRequireDefault(require("../avatars/RoomAvatar"));
var _ImageView = _interopRequireDefault(require("../elements/ImageView"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2019 The Matrix.org Foundation C.I.C.
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.
*/
class RoomAvatarEvent extends _react.default.Component {
constructor(...args) {
super(...args);
(0, _defineProperty2.default)(this, "onAvatarClick", () => {
const cli = _MatrixClientPeg.MatrixClientPeg.safeGet();
const ev = this.props.mxEvent;
const httpUrl = (0, _Media.mediaFromMxc)(ev.getContent().url).srcHttp;
if (!httpUrl) return;
const room = cli.getRoom(this.props.mxEvent.getRoomId());
const text = (0, _languageHandler._t)("timeline|m.room.avatar|lightbox_title", {
senderDisplayName: ev.sender && ev.sender.name ? ev.sender.name : ev.getSender(),
roomName: room ? room.name : ""
});
const params = {
src: httpUrl,
name: text
};
_Modal.default.createDialog(_ImageView.default, params, "mx_Dialog_lightbox", undefined, true);
});
}
render() {
const ev = this.props.mxEvent;
const senderDisplayName = ev.sender && ev.sender.name ? ev.sender.name : ev.getSender();
if (!ev.getContent().url || ev.getContent().url.trim().length === 0) {
return /*#__PURE__*/_react.default.createElement("div", {
className: "mx_TextualEvent"
}, (0, _languageHandler._t)("timeline|m.room.avatar|removed", {
senderDisplayName
}));
}
const room = _MatrixClientPeg.MatrixClientPeg.safeGet().getRoom(ev.getRoomId());
// Provide all arguments to RoomAvatar via oobData because the avatar is historic
const oobData = {
avatarUrl: ev.getContent().url,
name: room ? room.name : ""
};
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _languageHandler._t)("timeline|m.room.avatar|changed_img", {
senderDisplayName: senderDisplayName
}, {
img: () => /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, {
key: "avatar",
className: "mx_RoomAvatarEvent_avatar",
onClick: this.onAvatarClick
}, /*#__PURE__*/_react.default.createElement(_RoomAvatar.default, {
size: "14px",
oobData: oobData
}))
}));
}
}
exports.default = RoomAvatarEvent;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9NYXRyaXhDbGllbnRQZWciLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX01vZGFsIiwiX0FjY2Vzc2libGVCdXR0b24iLCJfTWVkaWEiLCJfUm9vbUF2YXRhciIsIl9JbWFnZVZpZXciLCJSb29tQXZhdGFyRXZlbnQiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJncyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiY2xpIiwiTWF0cml4Q2xpZW50UGVnIiwic2FmZUdldCIsImV2IiwicHJvcHMiLCJteEV2ZW50IiwiaHR0cFVybCIsIm1lZGlhRnJvbU14YyIsImdldENvbnRlbnQiLCJ1cmwiLCJzcmNIdHRwIiwicm9vbSIsImdldFJvb20iLCJnZXRSb29tSWQiLCJ0ZXh0IiwiX3QiLCJzZW5kZXJEaXNwbGF5TmFtZSIsInNlbmRlciIsIm5hbWUiLCJnZXRTZW5kZXIiLCJyb29tTmFtZSIsInBhcmFtcyIsInNyYyIsIk1vZGFsIiwiY3JlYXRlRGlhbG9nIiwiSW1hZ2VWaWV3IiwidW5kZWZpbmVkIiwicmVuZGVyIiwidHJpbSIsImxlbmd0aCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJvb2JEYXRhIiwiYXZhdGFyVXJsIiwiRnJhZ21lbnQiLCJpbWciLCJrZXkiLCJvbkNsaWNrIiwib25BdmF0YXJDbGljayIsInNpemUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvUm9vbUF2YXRhckV2ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBNYXRyaXhFdmVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IHsgTWF0cml4Q2xpZW50UGVnIH0gZnJvbSBcIi4uLy4uLy4uL01hdHJpeENsaWVudFBlZ1wiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uLy4uL01vZGFsXCI7XG5pbXBvcnQgQWNjZXNzaWJsZUJ1dHRvbiBmcm9tIFwiLi4vZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuaW1wb3J0IHsgbWVkaWFGcm9tTXhjIH0gZnJvbSBcIi4uLy4uLy4uL2N1c3RvbWlzYXRpb25zL01lZGlhXCI7XG5pbXBvcnQgUm9vbUF2YXRhciBmcm9tIFwiLi4vYXZhdGFycy9Sb29tQXZhdGFyXCI7XG5pbXBvcnQgSW1hZ2VWaWV3IGZyb20gXCIuLi9lbGVtZW50cy9JbWFnZVZpZXdcIjtcbmludGVyZmFjZSBJUHJvcHMge1xuICAgIC8qIHRoZSBNYXRyaXhFdmVudCB0byBzaG93ICovXG4gICAgbXhFdmVudDogTWF0cml4RXZlbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb21BdmF0YXJFdmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHM+IHtcbiAgICBwcml2YXRlIG9uQXZhdGFyQ2xpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IGNsaSA9IE1hdHJpeENsaWVudFBlZy5zYWZlR2V0KCk7XG4gICAgICAgIGNvbnN0IGV2ID0gdGhpcy5wcm9wcy5teEV2ZW50O1xuICAgICAgICBjb25zdCBodHRwVXJsID0gbWVkaWFGcm9tTXhjKGV2LmdldENvbnRlbnQoKS51cmwpLnNyY0h0dHA7XG4gICAgICAgIGlmICghaHR0cFVybCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHJvb20gPSBjbGkuZ2V0Um9vbSh0aGlzLnByb3BzLm14RXZlbnQuZ2V0Um9vbUlkKCkpO1xuICAgICAgICBjb25zdCB0ZXh0ID0gX3QoXCJ0aW1lbGluZXxtLnJvb20uYXZhdGFyfGxpZ2h0Ym94X3RpdGxlXCIsIHtcbiAgICAgICAgICAgIHNlbmRlckRpc3BsYXlOYW1lOiBldi5zZW5kZXIgJiYgZXYuc2VuZGVyLm5hbWUgPyBldi5zZW5kZXIubmFtZSA6IGV2LmdldFNlbmRlcigpLFxuICAgICAgICAgICAgcm9vbU5hbWU6IHJvb20gPyByb29tLm5hbWUgOiBcIlwiLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICBzcmM6IGh0dHBVcmwsXG4gICAgICAgICAgICBuYW1lOiB0ZXh0LFxuICAgICAgICB9O1xuICAgICAgICBNb2RhbC5jcmVhdGVEaWFsb2coSW1hZ2VWaWV3LCBwYXJhbXMsIFwibXhfRGlhbG9nX2xpZ2h0Ym94XCIsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgY29uc3QgZXYgPSB0aGlzLnByb3BzLm14RXZlbnQ7XG4gICAgICAgIGNvbnN0IHNlbmRlckRpc3BsYXlOYW1lID0gZXYuc2VuZGVyICYmIGV2LnNlbmRlci5uYW1lID8gZXYuc2VuZGVyLm5hbWUgOiBldi5nZXRTZW5kZXIoKTtcblxuICAgICAgICBpZiAoIWV2LmdldENvbnRlbnQoKS51cmwgfHwgZXYuZ2V0Q29udGVudCgpLnVybC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9XCJteF9UZXh0dWFsRXZlbnRcIj57X3QoXCJ0aW1lbGluZXxtLnJvb20uYXZhdGFyfHJlbW92ZWRcIiwgeyBzZW5kZXJEaXNwbGF5TmFtZSB9KX08L2Rpdj47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb29tID0gTWF0cml4Q2xpZW50UGVnLnNhZmVHZXQoKS5nZXRSb29tKGV2LmdldFJvb21JZCgpKTtcbiAgICAgICAgLy8gUHJvdmlkZSBhbGwgYXJndW1lbnRzIHRvIFJvb21BdmF0YXIgdmlhIG9vYkRhdGEgYmVjYXVzZSB0aGUgYXZhdGFyIGlzIGhpc3RvcmljXG4gICAgICAgIGNvbnN0IG9vYkRhdGEgPSB7XG4gICAgICAgICAgICBhdmF0YXJVcmw6IGV2LmdldENvbnRlbnQoKS51cmwsXG4gICAgICAgICAgICBuYW1lOiByb29tID8gcm9vbS5uYW1lIDogXCJcIixcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICB7X3QoXG4gICAgICAgICAgICAgICAgICAgIFwidGltZWxpbmV8bS5yb29tLmF2YXRhcnxjaGFuZ2VkX2ltZ1wiLFxuICAgICAgICAgICAgICAgICAgICB7IHNlbmRlckRpc3BsYXlOYW1lOiBzZW5kZXJEaXNwbGF5TmFtZSB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWc6ICgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9Sb29tQXZhdGFyRXZlbnRfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkF2YXRhckNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvb21BdmF0YXIgc2l6ZT1cIjE0cHhcIiBvb2JEYXRhPXtvb2JEYXRhfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFVQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBQyxnQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWlCZSxNQUFNUSxlQUFlLFNBQVNDLGNBQUssQ0FBQ0MsU0FBUyxDQUFTO0VBQUFDLFlBQUEsR0FBQUMsSUFBQTtJQUFBLFNBQUFBLElBQUE7SUFBQSxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLHlCQUN6QyxNQUFZO01BQ2hDLE1BQU1DLEdBQUcsR0FBR0MsZ0NBQWUsQ0FBQ0MsT0FBTyxDQUFDLENBQUM7TUFDckMsTUFBTUMsRUFBRSxHQUFHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPO01BQzdCLE1BQU1DLE9BQU8sR0FBRyxJQUFBQyxtQkFBWSxFQUFDSixFQUFFLENBQUNLLFVBQVUsQ0FBQyxDQUFDLENBQUND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