matrix-react-sdk
Version:
SDK for matrix.org using React
49 lines (43 loc) • 6.25 kB
JavaScript
;
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==