matrix-react-sdk
Version:
SDK for matrix.org using React
58 lines (55 loc) • 8.81 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 _compoundWeb = require("@vector-im/compound-web");
var _HtmlUtils = require("../../../HtmlUtils");
var _languageHandler = require("../../../languageHandler");
var _FormattingUtils = require("../../../utils/FormattingUtils");
var _MatrixClientContext = _interopRequireDefault(require("../../../contexts/MatrixClientContext"));
var _ReactionsRow = require("./ReactionsRow");
/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
class ReactionsRowButtonTooltip extends _react.default.PureComponent {
render() {
const {
content,
reactionEvents,
mxEvent,
children
} = this.props;
const room = this.context.getRoom(mxEvent.getRoomId());
if (room) {
const senders = [];
let customReactionName;
for (const reactionEvent of reactionEvents) {
const member = room.getMember(reactionEvent.getSender());
const name = member?.name ?? reactionEvent.getSender();
senders.push(name);
customReactionName = this.props.customReactionImagesEnabled && _ReactionsRow.REACTION_SHORTCODE_KEY.findIn(reactionEvent.getContent()) || undefined;
}
const shortName = (0, _HtmlUtils.unicodeToShortcode)(content) || customReactionName;
const formattedSenders = (0, _FormattingUtils.formatList)(senders, 6);
const caption = shortName ? (0, _languageHandler._t)("timeline|reactions|tooltip_caption", {
shortName
}) : undefined;
return /*#__PURE__*/_react.default.createElement(_compoundWeb.Tooltip, {
description: formattedSenders,
caption: caption,
placement: "right"
}, children);
}
return children;
}
}
exports.default = ReactionsRowButtonTooltip;
(0, _defineProperty2.default)(ReactionsRowButtonTooltip, "contextType", _MatrixClientContext.default);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jb21wb3VuZFdlYiIsIl9IdG1sVXRpbHMiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX0Zvcm1hdHRpbmdVdGlscyIsIl9NYXRyaXhDbGllbnRDb250ZXh0IiwiX1JlYWN0aW9uc1JvdyIsIlJlYWN0aW9uc1Jvd0J1dHRvblRvb2x0aXAiLCJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZW5kZXIiLCJjb250ZW50IiwicmVhY3Rpb25FdmVudHMiLCJteEV2ZW50IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJvb20iLCJjb250ZXh0IiwiZ2V0Um9vbSIsImdldFJvb21JZCIsInNlbmRlcnMiLCJjdXN0b21SZWFjdGlvbk5hbWUiLCJyZWFjdGlvbkV2ZW50IiwibWVtYmVyIiwiZ2V0TWVtYmVyIiwiZ2V0U2VuZGVyIiwibmFtZSIsInB1c2giLCJjdXN0b21SZWFjdGlvbkltYWdlc0VuYWJsZWQiLCJSRUFDVElPTl9TSE9SVENPREVfS0VZIiwiZmluZEluIiwiZ2V0Q29udGVudCIsInVuZGVmaW5lZCIsInNob3J0TmFtZSIsInVuaWNvZGVUb1Nob3J0Y29kZSIsImZvcm1hdHRlZFNlbmRlcnMiLCJmb3JtYXRMaXN0IiwiY2FwdGlvbiIsIl90IiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJUb29sdGlwIiwiZGVzY3JpcHRpb24iLCJwbGFjZW1lbnQiLCJleHBvcnRzIiwiX2RlZmluZVByb3BlcnR5MiIsIk1hdHJpeENsaWVudENvbnRleHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9tZXNzYWdlcy9SZWFjdGlvbnNSb3dCdXR0b25Ub29sdGlwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTWF0cml4RXZlbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSBcIkB2ZWN0b3ItaW0vY29tcG91bmQtd2ViXCI7XG5cbmltcG9ydCB7IHVuaWNvZGVUb1Nob3J0Y29kZSB9IGZyb20gXCIuLi8uLi8uLi9IdG1sVXRpbHNcIjtcbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgZm9ybWF0TGlzdCB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9Gb3JtYXR0aW5nVXRpbHNcIjtcbmltcG9ydCBNYXRyaXhDbGllbnRDb250ZXh0IGZyb20gXCIuLi8uLi8uLi9jb250ZXh0cy9NYXRyaXhDbGllbnRDb250ZXh0XCI7XG5pbXBvcnQgeyBSRUFDVElPTl9TSE9SVENPREVfS0VZIH0gZnJvbSBcIi4vUmVhY3Rpb25zUm93XCI7XG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICAvLyBUaGUgZXZlbnQgd2UncmUgZGlzcGxheWluZyByZWFjdGlvbnMgZm9yXG4gICAgbXhFdmVudDogTWF0cml4RXZlbnQ7XG4gICAgLy8gVGhlIHJlYWN0aW9uIGNvbnRlbnQgLyBrZXkgLyBlbW9qaVxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvLyBBIGxpc3Qgb2YgTWF0cml4IHJlYWN0aW9uIGV2ZW50cyBmb3IgdGhpcyBrZXlcbiAgICByZWFjdGlvbkV2ZW50czogTWF0cml4RXZlbnRbXTtcbiAgICAvLyBXaGV0aGVyIHRvIHJlbmRlciBjdXN0b20gaW1hZ2UgcmVhY3Rpb25zXG4gICAgY3VzdG9tUmVhY3Rpb25JbWFnZXNFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhY3Rpb25zUm93QnV0dG9uVG9vbHRpcCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8UHJvcHNXaXRoQ2hpbGRyZW48SVByb3BzPj4ge1xuICAgIHB1YmxpYyBzdGF0aWMgY29udGV4dFR5cGUgPSBNYXRyaXhDbGllbnRDb250ZXh0O1xuICAgIHB1YmxpYyBkZWNsYXJlIGNvbnRleHQ6IFJlYWN0LkNvbnRleHRUeXBlPHR5cGVvZiBNYXRyaXhDbGllbnRDb250ZXh0PjtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgY29uc3QgeyBjb250ZW50LCByZWFjdGlvbkV2ZW50cywgbXhFdmVudCwgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgY29uc3Qgcm9vbSA9IHRoaXMuY29udGV4dC5nZXRSb29tKG14RXZlbnQuZ2V0Um9vbUlkKCkpO1xuICAgICAgICBpZiAocm9vbSkge1xuICAgICAgICAgICAgY29uc3Qgc2VuZGVyczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjdXN0b21SZWFjdGlvbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVhY3Rpb25FdmVudCBvZiByZWFjdGlvbkV2ZW50cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbWJlciA9IHJvb20uZ2V0TWVtYmVyKHJlYWN0aW9uRXZlbnQuZ2V0U2VuZGVyKCkhKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gbWVtYmVyPy5uYW1lID8/IHJlYWN0aW9uRXZlbnQuZ2V0U2VuZGVyKCkhO1xuICAgICAgICAgICAgICAgIHNlbmRlcnMucHVzaChuYW1lKTtcbiAgICAgICAgICAgICAgICBjdXN0b21SZWFjdGlvbk5hbWUgPVxuICAgICAgICAgICAgICAgICAgICAodGhpcy5wcm9wcy5jdXN0b21SZWFjdGlvbkltYWdlc0VuYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIFJFQUNUSU9OX1NIT1JUQ09ERV9LRVkuZmluZEluKHJlYWN0aW9uRXZlbnQuZ2V0Q29udGVudCgpKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2hvcnROYW1lID0gdW5pY29kZVRvU2hvcnRjb2RlKGNvbnRlbnQpIHx8IGN1c3RvbVJlYWN0aW9uTmFtZTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZFNlbmRlcnMgPSBmb3JtYXRMaXN0KHNlbmRlcnMsIDYpO1xuICAgICAgICAgICAgY29uc3QgY2FwdGlvbiA9IHNob3J0TmFtZSA/IF90KFwidGltZWxpbmV8cmVhY3Rpb25zfHRvb2x0aXBfY2FwdGlvblwiLCB7IHNob3J0TmFtZSB9KSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCBkZXNjcmlwdGlvbj17Zm9ybWF0dGVkU2VuZGVyc30gY2FwdGlvbj17Y2FwdGlvbn0gcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssb0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQWhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFzQmUsTUFBTU8seUJBQXlCLFNBQVNDLGNBQUssQ0FBQ0MsYUFBYSxDQUE0QjtFQUkzRkMsTUFBTUEsQ0FBQSxFQUFvQjtJQUM3QixNQUFNO01BQUVDLE9BQU87TUFBRUMsY0FBYztNQUFFQyxPQUFPO01BQUVDO0lBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztJQUVqRSxNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0wsT0FBTyxDQUFDTSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RELElBQUlILElBQUksRUFBRTtNQUNOLE1BQU1JLE9BQWlCLEdBQUcsRUFBRTtNQUM1QixJQUFJQyxrQkFBc0M7TUFDMUMsS0FBSyxNQUFNQyxhQUFhLElBQUlWLGNBQWMsRUFBRTtRQUN4QyxNQUFNVyxNQUFNLEdBQUdQLElBQUksQ0FBQ1EsU0FBUyxDQUFDRixhQUFhLENBQUNHLFNBQVMsQ0FBQyxDQUFFLENBQUM7UUFDekQsTUFBTUMsSUFBSSxHQUFHSCxNQUFNLEVBQUVHLElBQUksSUFBSUosYUFBYSxDQUFDRyxTQUFTLENBQUMsQ0FBRTtRQUN2REwsT0FBTyxDQUFDTyxJQUFJLENBQUNELElBQUksQ0FBQztRQUNsQkwsa0JBQWtCLEdBQ2IsSUFBSSxDQUFDTixLQUFLLENBQUNhLDJCQUEyQixJQUNuQ0Msb0NBQXNCLENBQUNDLE1BQU0sQ0FBQ1IsYUFBYSxDQUFDUyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQzdEQyxTQUFTO01BQ2pCO01BQ0EsTUFBTUMsU0FBUyxHQUFHLElBQUFDLDZCQUFrQixFQUFDdkIsT0FBTyxDQUFDLElBQUlVLGtCQUFrQjtNQUNuRSxNQUFNYyxnQkFBZ0IsR0FBRyxJQUFBQywyQkFBVSxFQUFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQztNQUMvQyxNQUFNaUIsT0FBTyxHQUFHSixTQUFTLEdBQUcsSUFBQUssbUJBQUUsRUFBQyxvQ0FBb0MsRUFBRTtRQUFFTDtNQUFVLENBQUMsQ0FBQyxHQUFHRCxTQUFTO01BRS9GLG9CQUNJbEMsTUFBQSxDQUFBeUMsT0FBQSxDQUFBQyxhQUFBLENBQUN2QyxZQUFBLENBQUF3QyxPQUFPO1FBQUNDLFdBQVcsRUFBRVAsZ0JBQWlCO1FBQUNFLE9BQU8sRUFBRUEsT0FBUTtRQUFDTSxTQUFTLEVBQUM7TUFBTyxHQUN0RTdCLFFBQ0ksQ0FBQztJQUVsQjtJQUVBLE9BQU9BLFFBQVE7RUFDbkI7QUFDSjtBQUFDOEIsT0FBQSxDQUFBTCxPQUFBLEdBQUFoQyx5QkFBQTtBQUFBLElBQUFzQyxnQkFBQSxDQUFBTixPQUFBLEVBakNvQmhDLHlCQUF5QixpQkFDZHVDLDRCQUFtQiIsImlnbm9yZUxpc3QiOltdfQ==