UNPKG

matrix-react-sdk

Version:
64 lines (61 loc) 7.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.roomContextDetails = roomContextDetails; var _SpaceStore = _interopRequireDefault(require("../stores/spaces/SpaceStore")); var _languageHandler = require("../languageHandler"); var _DMRoomMap = _interopRequireDefault(require("./DMRoomMap")); var _FormattingUtils = require("./FormattingUtils"); /* Copyright 2024 New Vector Ltd. Copyright 2022 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. */ function roomContextDetails(room) { const dmPartner = _DMRoomMap.default.shared().getUserIdForRoomId(room.roomId); // if we’ve got more than 2 users, don’t treat it like a regular DM const isGroupDm = room.getMembers().length > 2; if (!room.isSpaceRoom() && dmPartner && !isGroupDm) { return { details: dmPartner }; } const [parent, secondParent, ...otherParents] = _SpaceStore.default.instance.getKnownParents(room.roomId); if (secondParent && !otherParents?.length) { // exactly 2 edge case for improved i18n const space1Name = room.client.getRoom(parent)?.name; const space2Name = room.client.getRoom(secondParent)?.name; return { details: (0, _FormattingUtils.formatList)([space1Name ?? "", space2Name ?? ""]), ariaLabel: (0, _languageHandler._t)("in_space1_and_space2", { space1Name, space2Name }) }; } else if (parent) { const spaceName = room.client.getRoom(parent)?.name ?? ""; const count = otherParents.length; if (count > 0) { return { details: (0, _FormattingUtils.formatList)([spaceName, ...otherParents], 1), ariaLabel: (0, _languageHandler._t)("in_space_and_n_other_spaces", { spaceName, count }) }; } return { details: spaceName, ariaLabel: (0, _languageHandler._t)("in_space", { spaceName }) }; } return { details: room.getCanonicalAlias() }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU3BhY2VTdG9yZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9ETVJvb21NYXAiLCJfRm9ybWF0dGluZ1V0aWxzIiwicm9vbUNvbnRleHREZXRhaWxzIiwicm9vbSIsImRtUGFydG5lciIsIkRNUm9vbU1hcCIsInNoYXJlZCIsImdldFVzZXJJZEZvclJvb21JZCIsInJvb21JZCIsImlzR3JvdXBEbSIsImdldE1lbWJlcnMiLCJsZW5ndGgiLCJpc1NwYWNlUm9vbSIsImRldGFpbHMiLCJwYXJlbnQiLCJzZWNvbmRQYXJlbnQiLCJvdGhlclBhcmVudHMiLCJTcGFjZVN0b3JlIiwiaW5zdGFuY2UiLCJnZXRLbm93blBhcmVudHMiLCJzcGFjZTFOYW1lIiwiY2xpZW50IiwiZ2V0Um9vbSIsIm5hbWUiLCJzcGFjZTJOYW1lIiwiZm9ybWF0TGlzdCIsImFyaWFMYWJlbCIsIl90Iiwic3BhY2VOYW1lIiwiY291bnQiLCJnZXRDYW5vbmljYWxBbGlhcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pMThuLWhlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgUm9vbSB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IFNwYWNlU3RvcmUgZnJvbSBcIi4uL3N0b3Jlcy9zcGFjZXMvU3BhY2VTdG9yZVwiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgRE1Sb29tTWFwIGZyb20gXCIuL0RNUm9vbU1hcFwiO1xuaW1wb3J0IHsgZm9ybWF0TGlzdCB9IGZyb20gXCIuL0Zvcm1hdHRpbmdVdGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvb21Db250ZXh0RGV0YWlscyB7XG4gICAgZGV0YWlsczogc3RyaW5nIHwgbnVsbDtcbiAgICBhcmlhTGFiZWw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByb29tQ29udGV4dERldGFpbHMocm9vbTogUm9vbSk6IFJvb21Db250ZXh0RGV0YWlscyB8IG51bGwge1xuICAgIGNvbnN0IGRtUGFydG5lciA9IERNUm9vbU1hcC5zaGFyZWQoKS5nZXRVc2VySWRGb3JSb29tSWQocm9vbS5yb29tSWQpO1xuICAgIC8vIGlmIHdl4oCZdmUgZ290IG1vcmUgdGhhbiAyIHVzZXJzLCBkb27igJl0IHRyZWF0IGl0IGxpa2UgYSByZWd1bGFyIERNXG4gICAgY29uc3QgaXNHcm91cERtID0gcm9vbS5nZXRNZW1iZXJzKCkubGVuZ3RoID4gMjtcbiAgICBpZiAoIXJvb20uaXNTcGFjZVJvb20oKSAmJiBkbVBhcnRuZXIgJiYgIWlzR3JvdXBEbSkge1xuICAgICAgICByZXR1cm4geyBkZXRhaWxzOiBkbVBhcnRuZXIgfTtcbiAgICB9XG5cbiAgICBjb25zdCBbcGFyZW50LCBzZWNvbmRQYXJlbnQsIC4uLm90aGVyUGFyZW50c10gPSBTcGFjZVN0b3JlLmluc3RhbmNlLmdldEtub3duUGFyZW50cyhyb29tLnJvb21JZCk7XG4gICAgaWYgKHNlY29uZFBhcmVudCAmJiAhb3RoZXJQYXJlbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgLy8gZXhhY3RseSAyIGVkZ2UgY2FzZSBmb3IgaW1wcm92ZWQgaTE4blxuICAgICAgICBjb25zdCBzcGFjZTFOYW1lID0gcm9vbS5jbGllbnQuZ2V0Um9vbShwYXJlbnQpPy5uYW1lO1xuICAgICAgICBjb25zdCBzcGFjZTJOYW1lID0gcm9vbS5jbGllbnQuZ2V0Um9vbShzZWNvbmRQYXJlbnQpPy5uYW1lO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGV0YWlsczogZm9ybWF0TGlzdChbc3BhY2UxTmFtZSA/PyBcIlwiLCBzcGFjZTJOYW1lID8/IFwiXCJdKSxcbiAgICAgICAgICAgIGFyaWFMYWJlbDogX3QoXCJpbl9zcGFjZTFfYW5kX3NwYWNlMlwiLCB7IHNwYWNlMU5hbWUsIHNwYWNlMk5hbWUgfSksXG4gICAgICAgIH07XG4gICAgfSBlbHNlIGlmIChwYXJlbnQpIHtcbiAgICAgICAgY29uc3Qgc3BhY2VOYW1lID0gcm9vbS5jbGllbnQuZ2V0Um9vbShwYXJlbnQpPy5uYW1lID8/IFwiXCI7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gb3RoZXJQYXJlbnRzLmxlbmd0aDtcbiAgICAgICAgaWYgKGNvdW50ID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBmb3JtYXRMaXN0KFtzcGFjZU5hbWUsIC4uLm90aGVyUGFyZW50c10sIDEpLFxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbDogX3QoXCJpbl9zcGFjZV9hbmRfbl9vdGhlcl9zcGFjZXNcIiwgeyBzcGFjZU5hbWUsIGNvdW50IH0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGV0YWlsczogc3BhY2VOYW1lLFxuICAgICAgICAgICAgYXJpYUxhYmVsOiBfdChcImluX3NwYWNlXCIsIHsgc3BhY2VOYW1lIH0pLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IGRldGFpbHM6IHJvb20uZ2V0Q2Fub25pY2FsQWxpYXMoKSB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBVUEsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFjTyxTQUFTSSxrQkFBa0JBLENBQUNDLElBQVUsRUFBNkI7RUFDdEUsTUFBTUMsU0FBUyxHQUFHQyxrQkFBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDQyxrQkFBa0IsQ0FBQ0osSUFBSSxDQUFDSyxNQUFNLENBQUM7RUFDcEU7RUFDQSxNQUFNQyxTQUFTLEdBQUdOLElBQUksQ0FBQ08sVUFBVSxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxHQUFHLENBQUM7RUFDOUMsSUFBSSxDQUFDUixJQUFJLENBQUNTLFdBQVcsQ0FBQyxDQUFDLElBQUlSLFNBQVMsSUFBSSxDQUFDSyxTQUFTLEVBQUU7SUFDaEQsT0FBTztNQUFFSSxPQUFPLEVBQUVUO0lBQVUsQ0FBQztFQUNqQztFQUVBLE1BQU0sQ0FBQ1UsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsWUFBWSxDQUFDLEdBQUdDLG1CQUFVLENBQUNDLFFBQVEsQ0FBQ0MsZUFBZSxDQUFDaEIsSUFBSSxDQUFDSyxNQUFNLENBQUM7RUFDaEcsSUFBSU8sWUFBWSxJQUFJLENBQUNDLFlBQVksRUFBRUwsTUFBTSxFQUFFO0lBQ3ZDO0lBQ0EsTUFBTVMsVUFBVSxHQUFHakIsSUFBSSxDQUFDa0IsTUFBTSxDQUFDQyxPQUFPLENBQUNSLE1BQU0sQ0FBQyxFQUFFUyxJQUFJO0lBQ3BELE1BQU1DLFVBQVUsR0FBR3JCLElBQUksQ0FBQ2tCLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDUCxZQUFZLENBQUMsRUFBRVEsSUFBSTtJQUMxRCxPQUFPO01BQ0hWLE9BQU8sRUFBRSxJQUFBWSwyQkFBVSxFQUFDLENBQUNMLFVBQVUsSUFBSSxFQUFFLEVBQUVJLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQztNQUN6REUsU0FBUyxFQUFFLElBQUFDLG1CQUFFLEVBQUMsc0JBQXNCLEVBQUU7UUFBRVAsVUFBVTtRQUFFSTtNQUFXLENBQUM7SUFDcEUsQ0FBQztFQUNMLENBQUMsTUFBTSxJQUFJVixNQUFNLEVBQUU7SUFDZixNQUFNYyxTQUFTLEdBQUd6QixJQUFJLENBQUNrQixNQUFNLENBQUNDLE9BQU8sQ0FBQ1IsTUFBTSxDQUFDLEVBQUVTLElBQUksSUFBSSxFQUFFO0lBQ3pELE1BQU1NLEtBQUssR0FBR2IsWUFBWSxDQUFDTCxNQUFNO0lBQ2pDLElBQUlrQixLQUFLLEdBQUcsQ0FBQyxFQUFFO01BQ1gsT0FBTztRQUNIaEIsT0FBTyxFQUFFLElBQUFZLDJCQUFVLEVBQUMsQ0FBQ0csU0FBUyxFQUFFLEdBQUdaLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRFUsU0FBUyxFQUFFLElBQUFDLG1CQUFFLEVBQUMsNkJBQTZCLEVBQUU7VUFBRUMsU0FBUztVQUFFQztRQUFNLENBQUM7TUFDckUsQ0FBQztJQUNMO0lBQ0EsT0FBTztNQUNIaEIsT0FBTyxFQUFFZSxTQUFTO01BQ2xCRixTQUFTLEVBQUUsSUFBQUMsbUJBQUUsRUFBQyxVQUFVLEVBQUU7UUFBRUM7TUFBVSxDQUFDO0lBQzNDLENBQUM7RUFDTDtFQUVBLE9BQU87SUFBRWYsT0FBTyxFQUFFVixJQUFJLENBQUMyQixpQkFBaUIsQ0FBQztFQUFFLENBQUM7QUFDaEQiLCJpZ25vcmVMaXN0IjpbXX0=