UNPKG

matrix-react-sdk

Version:
63 lines (60 loc) 9.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.PublicRoomResultDetails = PublicRoomResultDetails; var _react = _interopRequireDefault(require("react")); var _HtmlUtils = require("../../../../HtmlUtils"); var _languageHandler = require("../../../../languageHandler"); var _Rooms = require("../../../../Rooms"); /* 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. */ const MAX_NAME_LENGTH = 80; const MAX_TOPIC_LENGTH = 800; function PublicRoomResultDetails({ room, labelId, descriptionId, detailsId }) { let name = room.name || (0, _Rooms.getDisplayAliasForAliasSet)(room.canonical_alias ?? "", room.aliases ?? []) || (0, _languageHandler._t)("common|unnamed_room"); if (name.length > MAX_NAME_LENGTH) { name = `${name.substring(0, MAX_NAME_LENGTH)}...`; } let topic = room.topic || ""; // Additional truncation based on line numbers is done via CSS, // but to ensure that the DOM is not polluted with a huge string // we give it a hard limit before rendering. if (topic.length > MAX_TOPIC_LENGTH) { topic = `${topic.substring(0, MAX_TOPIC_LENGTH)}...`; } return /*#__PURE__*/_react.default.createElement("div", { className: "mx_SpotlightDialog_result_publicRoomDetails" }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_SpotlightDialog_result_publicRoomHeader" }, /*#__PURE__*/_react.default.createElement("span", { id: labelId, className: "mx_SpotlightDialog_result_publicRoomName" }, name), /*#__PURE__*/_react.default.createElement("span", { id: descriptionId, className: "mx_SpotlightDialog_result_publicRoomAlias" }, room.canonical_alias ?? room.room_id)), /*#__PURE__*/_react.default.createElement("div", { id: detailsId, className: "mx_SpotlightDialog_result_publicRoomDescription" }, /*#__PURE__*/_react.default.createElement("span", { className: "mx_SpotlightDialog_result_publicRoomMemberCount" }, (0, _languageHandler._t)("spotlight_dialog|count_of_members", { count: room.num_joined_members })), topic && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\xA0\xB7\xA0", /*#__PURE__*/_react.default.createElement("span", { className: "mx_SpotlightDialog_result_publicRoomTopic", dangerouslySetInnerHTML: { __html: (0, _HtmlUtils.linkifyAndSanitizeHtml)(topic) } })))); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9IdG1sVXRpbHMiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX1Jvb21zIiwiTUFYX05BTUVfTEVOR1RIIiwiTUFYX1RPUElDX0xFTkdUSCIsIlB1YmxpY1Jvb21SZXN1bHREZXRhaWxzIiwicm9vbSIsImxhYmVsSWQiLCJkZXNjcmlwdGlvbklkIiwiZGV0YWlsc0lkIiwibmFtZSIsImdldERpc3BsYXlBbGlhc0ZvckFsaWFzU2V0IiwiY2Fub25pY2FsX2FsaWFzIiwiYWxpYXNlcyIsIl90IiwibGVuZ3RoIiwic3Vic3RyaW5nIiwidG9waWMiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlkIiwicm9vbV9pZCIsImNvdW50IiwibnVtX2pvaW5lZF9tZW1iZXJzIiwiRnJhZ21lbnQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImxpbmtpZnlBbmRTYW5pdGl6ZUh0bWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL3Nwb3RsaWdodC9QdWJsaWNSb29tUmVzdWx0RGV0YWlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVB1YmxpY1Jvb21zQ2h1bmtSb29tIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgeyBsaW5raWZ5QW5kU2FuaXRpemVIdG1sIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0h0bWxVdGlsc1wiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBnZXREaXNwbGF5QWxpYXNGb3JBbGlhc1NldCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Sb29tc1wiO1xuXG5jb25zdCBNQVhfTkFNRV9MRU5HVEggPSA4MDtcbmNvbnN0IE1BWF9UT1BJQ19MRU5HVEggPSA4MDA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gICAgcm9vbTogSVB1YmxpY1Jvb21zQ2h1bmtSb29tO1xuICAgIGxhYmVsSWQ6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbklkOiBzdHJpbmc7XG4gICAgZGV0YWlsc0lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQdWJsaWNSb29tUmVzdWx0RGV0YWlscyh7IHJvb20sIGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQsIGRldGFpbHNJZCB9OiBQcm9wcyk6IEpTWC5FbGVtZW50IHtcbiAgICBsZXQgbmFtZSA9XG4gICAgICAgIHJvb20ubmFtZSB8fFxuICAgICAgICBnZXREaXNwbGF5QWxpYXNGb3JBbGlhc1NldChyb29tLmNhbm9uaWNhbF9hbGlhcyA/PyBcIlwiLCByb29tLmFsaWFzZXMgPz8gW10pIHx8XG4gICAgICAgIF90KFwiY29tbW9ufHVubmFtZWRfcm9vbVwiKTtcbiAgICBpZiAobmFtZS5sZW5ndGggPiBNQVhfTkFNRV9MRU5HVEgpIHtcbiAgICAgICAgbmFtZSA9IGAke25hbWUuc3Vic3RyaW5nKDAsIE1BWF9OQU1FX0xFTkdUSCl9Li4uYDtcbiAgICB9XG5cbiAgICBsZXQgdG9waWMgPSByb29tLnRvcGljIHx8IFwiXCI7XG4gICAgLy8gQWRkaXRpb25hbCB0cnVuY2F0aW9uIGJhc2VkIG9uIGxpbmUgbnVtYmVycyBpcyBkb25lIHZpYSBDU1MsXG4gICAgLy8gYnV0IHRvIGVuc3VyZSB0aGF0IHRoZSBET00gaXMgbm90IHBvbGx1dGVkIHdpdGggYSBodWdlIHN0cmluZ1xuICAgIC8vIHdlIGdpdmUgaXQgYSBoYXJkIGxpbWl0IGJlZm9yZSByZW5kZXJpbmcuXG4gICAgaWYgKHRvcGljLmxlbmd0aCA+IE1BWF9UT1BJQ19MRU5HVEgpIHtcbiAgICAgICAgdG9waWMgPSBgJHt0b3BpYy5zdWJzdHJpbmcoMCwgTUFYX1RPUElDX0xFTkdUSCl9Li4uYDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9e2xhYmVsSWR9IGNsYXNzTmFtZT1cIm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbU5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge25hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPXtkZXNjcmlwdGlvbklkfSBjbGFzc05hbWU9XCJteF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21BbGlhc1wiPlxuICAgICAgICAgICAgICAgICAgICB7cm9vbS5jYW5vbmljYWxfYWxpYXMgPz8gcm9vbS5yb29tX2lkfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBpZD17ZGV0YWlsc0lkfSBjbGFzc05hbWU9XCJteF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbU1lbWJlckNvdW50XCI+XG4gICAgICAgICAgICAgICAgICAgIHtfdChcInNwb3RsaWdodF9kaWFsb2d8Y291bnRfb2ZfbWVtYmVyc1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogcm9vbS5udW1fam9pbmVkX21lbWJlcnMsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB7dG9waWMgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7wrcmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tVG9waWNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogbGlua2lmeUFuZFNhbml0aXplSHRtbCh0b3BpYykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFTQSxNQUFNSSxlQUFlLEdBQUcsRUFBRTtBQUMxQixNQUFNQyxnQkFBZ0IsR0FBRyxHQUFHO0FBU3JCLFNBQVNDLHVCQUF1QkEsQ0FBQztFQUFFQyxJQUFJO0VBQUVDLE9BQU87RUFBRUMsYUFBYTtFQUFFQztBQUFpQixDQUFDLEVBQWU7RUFDckcsSUFBSUMsSUFBSSxHQUNKSixJQUFJLENBQUNJLElBQUksSUFDVCxJQUFBQyxpQ0FBMEIsRUFBQ0wsSUFBSSxDQUFDTSxlQUFlLElBQUksRUFBRSxFQUFFTixJQUFJLENBQUNPLE9BQU8sSUFBSSxFQUFFLENBQUMsSUFDMUUsSUFBQUMsbUJBQUUsRUFBQyxxQkFBcUIsQ0FBQztFQUM3QixJQUFJSixJQUFJLENBQUNLLE1BQU0sR0FBR1osZUFBZSxFQUFFO0lBQy9CTyxJQUFJLEdBQUcsR0FBR0EsSUFBSSxDQUFDTSxTQUFTLENBQUMsQ0FBQyxFQUFFYixlQUFlLENBQUMsS0FBSztFQUNyRDtFQUVBLElBQUljLEtBQUssR0FBR1gsSUFBSSxDQUFDVyxLQUFLLElBQUksRUFBRTtFQUM1QjtFQUNBO0VBQ0E7RUFDQSxJQUFJQSxLQUFLLENBQUNGLE1BQU0sR0FBR1gsZ0JBQWdCLEVBQUU7SUFDakNhLEtBQUssR0FBRyxHQUFHQSxLQUFLLENBQUNELFNBQVMsQ0FBQyxDQUFDLEVBQUVaLGdCQUFnQixDQUFDLEtBQUs7RUFDeEQ7RUFFQSxvQkFDSVAsTUFBQSxDQUFBcUIsT0FBQSxDQUFBQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUE2QyxnQkFDeER2QixNQUFBLENBQUFxQixPQUFBLENBQUFDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQTRDLGdCQUN2RHZCLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQUMsYUFBQTtJQUFNRSxFQUFFLEVBQUVkLE9BQVE7SUFBQ2EsU0FBUyxFQUFDO0VBQTBDLEdBQ2xFVixJQUNDLENBQUMsZUFDUGIsTUFBQSxDQUFBcUIsT0FBQSxDQUFBQyxhQUFBO0lBQU1FLEVBQUUsRUFBRWIsYUFBYztJQUFDWSxTQUFTLEVBQUM7RUFBMkMsR0FDekVkLElBQUksQ0FBQ00sZUFBZSxJQUFJTixJQUFJLENBQUNnQixPQUM1QixDQUNMLENBQUMsZUFDTnpCLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQUMsYUFBQTtJQUFLRSxFQUFFLEVBQUVaLFNBQVU7SUFBQ1csU0FBUyxFQUFDO0VBQWlELGdCQUMzRXZCLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQUMsYUFBQTtJQUFNQyxTQUFTLEVBQUM7RUFBaUQsR0FDNUQsSUFBQU4sbUJBQUUsRUFBQyxtQ0FBbUMsRUFBRTtJQUNyQ1MsS0FBSyxFQUFFakIsSUFBSSxDQUFDa0I7RUFDaEIsQ0FBQyxDQUNDLENBQUMsRUFDTlAsS0FBSyxpQkFDRnBCLE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQUMsYUFBQSxDQUFBdEIsTUFBQSxDQUFBcUIsT0FBQSxDQUFBTyxRQUFBLFFBQUUsY0FFRSxlQUFBNUIsTUFBQSxDQUFBcUIsT0FBQSxDQUFBQyxhQUFBO0lBQ0lDLFNBQVMsRUFBQywyQ0FBMkM7SUFDckRNLHVCQUF1QixFQUFFO01BQUVDLE1BQU0sRUFBRSxJQUFBQyxpQ0FBc0IsRUFBQ1gsS0FBSztJQUFFO0VBQUUsQ0FDdEUsQ0FDSCxDQUVMLENBQ0osQ0FBQztBQUVkIiwiaWdub3JlTGlzdCI6W119