UNPKG

matrix-react-sdk

Version:
42 lines (38 loc) 4.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRoomName = useRoomName; var _matrix = require("matrix-js-sdk/src/matrix"); var _react = require("react"); var _useEventEmitter = require("./useEventEmitter"); var _languageHandler = require("../languageHandler"); /* Copyright 2024 New Vector Ltd. Copyright 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. */ const getRoomName = (room, oobName = "") => room?.name || oobName; /** * Determines the room name from a combination of the room model and potential * out-of-band information * @param room - The room model * @param oobData - out-of-band information about the room * @returns {string} the room name */ function useRoomName(room, oobData) { let oobName = (0, _languageHandler._t)("common|unnamed_room"); if (oobData && oobData.name) { oobName = oobData.name; } const [name, setName] = (0, _react.useState)(getRoomName(room, oobName)); (0, _useEventEmitter.useTypedEventEmitter)(room, _matrix.RoomEvent.Name, () => { setName(getRoomName(room, oobName)); }); (0, _react.useEffect)(() => { setName(getRoomName(room, oobName)); }, [room, oobName]); return name; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIl9yZWFjdCIsIl91c2VFdmVudEVtaXR0ZXIiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiZ2V0Um9vbU5hbWUiLCJyb29tIiwib29iTmFtZSIsIm5hbWUiLCJ1c2VSb29tTmFtZSIsIm9vYkRhdGEiLCJfdCIsInNldE5hbWUiLCJ1c2VTdGF0ZSIsInVzZVR5cGVkRXZlbnRFbWl0dGVyIiwiUm9vbUV2ZW50IiwiTmFtZSIsInVzZUVmZmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSb29tTmFtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBSb29tLCBSb29tRXZlbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IElPT0JEYXRhIH0gZnJvbSBcIi4uL3N0b3Jlcy9UaHJlZXBpZEludml0ZVN0b3JlXCI7XG5pbXBvcnQgeyB1c2VUeXBlZEV2ZW50RW1pdHRlciB9IGZyb20gXCIuL3VzZUV2ZW50RW1pdHRlclwiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5cbmNvbnN0IGdldFJvb21OYW1lID0gKHJvb20/OiBSb29tLCBvb2JOYW1lID0gXCJcIik6IHN0cmluZyA9PiByb29tPy5uYW1lIHx8IG9vYk5hbWU7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcm9vbSBuYW1lIGZyb20gYSBjb21iaW5hdGlvbiBvZiB0aGUgcm9vbSBtb2RlbCBhbmQgcG90ZW50aWFsXG4gKiBvdXQtb2YtYmFuZCBpbmZvcm1hdGlvblxuICogQHBhcmFtIHJvb20gLSBUaGUgcm9vbSBtb2RlbFxuICogQHBhcmFtIG9vYkRhdGEgLSBvdXQtb2YtYmFuZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcm9vbVxuICogQHJldHVybnMge3N0cmluZ30gdGhlIHJvb20gbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUm9vbU5hbWUocm9vbT86IFJvb20sIG9vYkRhdGE/OiBJT09CRGF0YSk6IHN0cmluZyB7XG4gICAgbGV0IG9vYk5hbWUgPSBfdChcImNvbW1vbnx1bm5hbWVkX3Jvb21cIik7XG4gICAgaWYgKG9vYkRhdGEgJiYgb29iRGF0YS5uYW1lKSB7XG4gICAgICAgIG9vYk5hbWUgPSBvb2JEYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgY29uc3QgW25hbWUsIHNldE5hbWVdID0gdXNlU3RhdGU8c3RyaW5nPihnZXRSb29tTmFtZShyb29tLCBvb2JOYW1lKSk7XG5cbiAgICB1c2VUeXBlZEV2ZW50RW1pdHRlcihyb29tLCBSb29tRXZlbnQuTmFtZSwgKCkgPT4ge1xuICAgICAgICBzZXROYW1lKGdldFJvb21OYW1lKHJvb20sIG9vYk5hbWUpKTtcbiAgICB9KTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNldE5hbWUoZ2V0Um9vbU5hbWUocm9vbSwgb29iTmFtZSkpO1xuICAgIH0sIFtyb29tLCBvb2JOYW1lXSk7XG5cbiAgICByZXR1cm4gbmFtZTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBUUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFTQSxNQUFNSSxXQUFXLEdBQUdBLENBQUNDLElBQVcsRUFBRUMsT0FBTyxHQUFHLEVBQUUsS0FBYUQsSUFBSSxFQUFFRSxJQUFJLElBQUlELE9BQU87O0FBRWhGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0UsV0FBV0EsQ0FBQ0gsSUFBVyxFQUFFSSxPQUFrQixFQUFVO0VBQ2pFLElBQUlILE9BQU8sR0FBRyxJQUFBSSxtQkFBRSxFQUFDLHFCQUFxQixDQUFDO0VBQ3ZDLElBQUlELE9BQU8sSUFBSUEsT0FBTyxDQUFDRixJQUFJLEVBQUU7SUFDekJELE9BQU8sR0FBR0csT0FBTyxDQUFDRixJQUFJO0VBQzFCO0VBRUEsTUFBTSxDQUFDQSxJQUFJLEVBQUVJLE9BQU8sQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFBU1IsV0FBVyxDQUFDQyxJQUFJLEVBQUVDLE9BQU8sQ0FBQyxDQUFDO0VBRXBFLElBQUFPLHFDQUFvQixFQUFDUixJQUFJLEVBQUVTLGlCQUFTLENBQUNDLElBQUksRUFBRSxNQUFNO0lBQzdDSixPQUFPLENBQUNQLFdBQVcsQ0FBQ0MsSUFBSSxFQUFFQyxPQUFPLENBQUMsQ0FBQztFQUN2QyxDQUFDLENBQUM7RUFFRixJQUFBVSxnQkFBUyxFQUFDLE1BQU07SUFDWkwsT0FBTyxDQUFDUCxXQUFXLENBQUNDLElBQUksRUFBRUMsT0FBTyxDQUFDLENBQUM7RUFDdkMsQ0FBQyxFQUFFLENBQUNELElBQUksRUFBRUMsT0FBTyxDQUFDLENBQUM7RUFFbkIsT0FBT0MsSUFBSTtBQUNmIiwiaWdub3JlTGlzdCI6W119