UNPKG

matrix-react-sdk

Version:
49 lines (43 loc) 6.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReactionEventPreview = void 0; var _utils = require("./utils"); var _languageHandler = require("../../../languageHandler"); var _MatrixClientPeg = require("../../../MatrixClientPeg"); var _MessagePreviewStore = require("../MessagePreviewStore"); /* Copyright 2024 New Vector Ltd. Copyright 2020 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 ReactionEventPreview { getTextFor(event, tagId, isThread) { const roomId = event.getRoomId(); if (!roomId) return null; // not a room event const relation = event.getRelation(); if (!relation) return null; // invalid reaction (probably redacted) const reaction = relation.key; if (!reaction) return null; // invalid reaction (unknown format) const cli = _MatrixClientPeg.MatrixClientPeg.get(); const room = cli?.getRoom(roomId); const relatedEvent = relation.event_id ? room?.findEventById(relation.event_id) : null; if (!relatedEvent) return null; const message = _MessagePreviewStore.MessagePreviewStore.instance.generatePreviewForEvent(relatedEvent); if ((0, _utils.isSelf)(event)) { return (0, _languageHandler._t)("event_preview|m.reaction|you", { reaction, message }); } return (0, _languageHandler._t)("event_preview|m.reaction|user", { sender: (0, _utils.getSenderName)(event), reaction, message }); } } exports.ReactionEventPreview = ReactionEventPreview; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9NYXRyaXhDbGllbnRQZWciLCJfTWVzc2FnZVByZXZpZXdTdG9yZSIsIlJlYWN0aW9uRXZlbnRQcmV2aWV3IiwiZ2V0VGV4dEZvciIsImV2ZW50IiwidGFnSWQiLCJpc1RocmVhZCIsInJvb21JZCIsImdldFJvb21JZCIsInJlbGF0aW9uIiwiZ2V0UmVsYXRpb24iLCJyZWFjdGlvbiIsImtleSIsImNsaSIsIk1hdHJpeENsaWVudFBlZyIsImdldCIsInJvb20iLCJnZXRSb29tIiwicmVsYXRlZEV2ZW50IiwiZXZlbnRfaWQiLCJmaW5kRXZlbnRCeUlkIiwibWVzc2FnZSIsIk1lc3NhZ2VQcmV2aWV3U3RvcmUiLCJpbnN0YW5jZSIsImdlbmVyYXRlUHJldmlld0ZvckV2ZW50IiwiaXNTZWxmIiwiX3QiLCJzZW5kZXIiLCJnZXRTZW5kZXJOYW1lIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvcm9vbS1saXN0L3ByZXZpZXdzL1JlYWN0aW9uRXZlbnRQcmV2aWV3LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IE1hdHJpeEV2ZW50IH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgeyBJUHJldmlldyB9IGZyb20gXCIuL0lQcmV2aWV3XCI7XG5pbXBvcnQgeyBUYWdJRCB9IGZyb20gXCIuLi9tb2RlbHNcIjtcbmltcG9ydCB7IGdldFNlbmRlck5hbWUsIGlzU2VsZiB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudFBlZyB9IGZyb20gXCIuLi8uLi8uLi9NYXRyaXhDbGllbnRQZWdcIjtcbmltcG9ydCB7IE1lc3NhZ2VQcmV2aWV3U3RvcmUgfSBmcm9tIFwiLi4vTWVzc2FnZVByZXZpZXdTdG9yZVwiO1xuXG5leHBvcnQgY2xhc3MgUmVhY3Rpb25FdmVudFByZXZpZXcgaW1wbGVtZW50cyBJUHJldmlldyB7XG4gICAgcHVibGljIGdldFRleHRGb3IoZXZlbnQ6IE1hdHJpeEV2ZW50LCB0YWdJZD86IFRhZ0lELCBpc1RocmVhZD86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgcm9vbUlkID0gZXZlbnQuZ2V0Um9vbUlkKCk7XG4gICAgICAgIGlmICghcm9vbUlkKSByZXR1cm4gbnVsbDsgLy8gbm90IGEgcm9vbSBldmVudFxuXG4gICAgICAgIGNvbnN0IHJlbGF0aW9uID0gZXZlbnQuZ2V0UmVsYXRpb24oKTtcbiAgICAgICAgaWYgKCFyZWxhdGlvbikgcmV0dXJuIG51bGw7IC8vIGludmFsaWQgcmVhY3Rpb24gKHByb2JhYmx5IHJlZGFjdGVkKVxuXG4gICAgICAgIGNvbnN0IHJlYWN0aW9uID0gcmVsYXRpb24ua2V5O1xuICAgICAgICBpZiAoIXJlYWN0aW9uKSByZXR1cm4gbnVsbDsgLy8gaW52YWxpZCByZWFjdGlvbiAodW5rbm93biBmb3JtYXQpXG5cbiAgICAgICAgY29uc3QgY2xpID0gTWF0cml4Q2xpZW50UGVnLmdldCgpO1xuICAgICAgICBjb25zdCByb29tID0gY2xpPy5nZXRSb29tKHJvb21JZCk7XG4gICAgICAgIGNvbnN0IHJlbGF0ZWRFdmVudCA9IHJlbGF0aW9uLmV2ZW50X2lkID8gcm9vbT8uZmluZEV2ZW50QnlJZChyZWxhdGlvbi5ldmVudF9pZCkgOiBudWxsO1xuICAgICAgICBpZiAoIXJlbGF0ZWRFdmVudCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IE1lc3NhZ2VQcmV2aWV3U3RvcmUuaW5zdGFuY2UuZ2VuZXJhdGVQcmV2aWV3Rm9yRXZlbnQocmVsYXRlZEV2ZW50KTtcbiAgICAgICAgaWYgKGlzU2VsZihldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBfdChcImV2ZW50X3ByZXZpZXd8bS5yZWFjdGlvbnx5b3VcIiwge1xuICAgICAgICAgICAgICAgIHJlYWN0aW9uLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBfdChcImV2ZW50X3ByZXZpZXd8bS5yZWFjdGlvbnx1c2VyXCIsIHtcbiAgICAgICAgICAgIHNlbmRlcjogZ2V0U2VuZGVyTmFtZShldmVudCksXG4gICAgICAgICAgICByZWFjdGlvbixcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBWUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSCxPQUFBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBV08sTUFBTUksb0JBQW9CLENBQXFCO0VBQzNDQyxVQUFVQSxDQUFDQyxLQUFrQixFQUFFQyxLQUFhLEVBQUVDLFFBQWtCLEVBQWlCO0lBQ3BGLE1BQU1DLE1BQU0sR0FBR0gsS0FBSyxDQUFDSSxTQUFTLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUNELE1BQU0sRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDOztJQUUxQixNQUFNRSxRQUFRLEdBQUdMLEtBQUssQ0FBQ00sV0FBVyxDQUFDLENBQUM7SUFDcEMsSUFBSSxDQUFDRCxRQUFRLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQzs7SUFFNUIsTUFBTUUsUUFBUSxHQUFHRixRQUFRLENBQUNHLEdBQUc7SUFDN0IsSUFBSSxDQUFDRCxRQUFRLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQzs7SUFFNUIsTUFBTUUsR0FBRyxHQUFHQyxnQ0FBZSxDQUFDQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxNQUFNQyxJQUFJLEdBQUdILEdBQUcsRUFBRUksT0FBTyxDQUFDVixNQUFNLENBQUM7SUFDakMsTUFBTVcsWUFBWSxHQUFHVCxRQUFRLENBQUNVLFFBQVEsR0FBR0gsSUFBSSxFQUFFSSxhQUFhLENBQUNYLFFBQVEsQ0FBQ1UsUUFBUSxDQUFDLEdBQUcsSUFBSTtJQUN0RixJQUFJLENBQUNELFlBQVksRUFBRSxPQUFPLElBQUk7SUFFOUIsTUFBTUcsT0FBTyxHQUFHQyx3Q0FBbUIsQ0FBQ0MsUUFBUSxDQUFDQyx1QkFBdUIsQ0FBQ04sWUFBWSxDQUFDO0lBQ2xGLElBQUksSUFBQU8sYUFBTSxFQUFDckIsS0FBSyxDQUFDLEVBQUU7TUFDZixPQUFPLElBQUFzQixtQkFBRSxFQUFDLDhCQUE4QixFQUFFO1FBQ3RDZixRQUFRO1FBQ1JVO01BQ0osQ0FBQyxDQUFDO0lBQ047SUFFQSxPQUFPLElBQUFLLG1CQUFFLEVBQUMsK0JBQStCLEVBQUU7TUFDdkNDLE1BQU0sRUFBRSxJQUFBQyxvQkFBYSxFQUFDeEIsS0FBSyxDQUFDO01BQzVCTyxRQUFRO01BQ1JVO0lBQ0osQ0FBQyxDQUFDO0VBQ047QUFDSjtBQUFDUSxPQUFBLENBQUEzQixvQkFBQSxHQUFBQSxvQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==