UNPKG

matrix-react-sdk

Version:
40 lines (37 loc) 5.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useHasRoomLiveVoiceBroadcast = void 0; var _react = require("react"); var _matrix = require("matrix-js-sdk/src/matrix"); var _hasRoomLiveVoiceBroadcast = require("../utils/hasRoomLiveVoiceBroadcast"); var _useEventEmitter = require("../../hooks/useEventEmitter"); var _SDKContext = require("../../contexts/SDKContext"); /* 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 useHasRoomLiveVoiceBroadcast = room => { const sdkContext = (0, _react.useContext)(_SDKContext.SDKContext); const [hasLiveVoiceBroadcast, setHasLiveVoiceBroadcast] = (0, _react.useState)(false); const update = (0, _react.useMemo)(() => { return sdkContext?.client ? () => { (0, _hasRoomLiveVoiceBroadcast.hasRoomLiveVoiceBroadcast)(sdkContext.client, room).then(({ hasBroadcast }) => { setHasLiveVoiceBroadcast(hasBroadcast); }, () => {} // no update on error ); } : () => {}; // noop without client }, [room, sdkContext, setHasLiveVoiceBroadcast]); (0, _react.useEffect)(() => { update(); }, [update]); (0, _useEventEmitter.useTypedEventEmitter)(room.currentState, _matrix.RoomStateEvent.Update, () => update()); return hasLiveVoiceBroadcast; }; exports.useHasRoomLiveVoiceBroadcast = useHasRoomLiveVoiceBroadcast; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21hdHJpeCIsIl9oYXNSb29tTGl2ZVZvaWNlQnJvYWRjYXN0IiwiX3VzZUV2ZW50RW1pdHRlciIsIl9TREtDb250ZXh0IiwidXNlSGFzUm9vbUxpdmVWb2ljZUJyb2FkY2FzdCIsInJvb20iLCJzZGtDb250ZXh0IiwidXNlQ29udGV4dCIsIlNES0NvbnRleHQiLCJoYXNMaXZlVm9pY2VCcm9hZGNhc3QiLCJzZXRIYXNMaXZlVm9pY2VCcm9hZGNhc3QiLCJ1c2VTdGF0ZSIsInVwZGF0ZSIsInVzZU1lbW8iLCJjbGllbnQiLCJoYXNSb29tTGl2ZVZvaWNlQnJvYWRjYXN0IiwidGhlbiIsImhhc0Jyb2FkY2FzdCIsInVzZUVmZmVjdCIsInVzZVR5cGVkRXZlbnRFbWl0dGVyIiwiY3VycmVudFN0YXRlIiwiUm9vbVN0YXRlRXZlbnQiLCJVcGRhdGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZvaWNlLWJyb2FkY2FzdC9ob29rcy91c2VIYXNSb29tTGl2ZVZvaWNlQnJvYWRjYXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFJvb20sIFJvb21TdGF0ZUV2ZW50IH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgeyBoYXNSb29tTGl2ZVZvaWNlQnJvYWRjYXN0IH0gZnJvbSBcIi4uL3V0aWxzL2hhc1Jvb21MaXZlVm9pY2VCcm9hZGNhc3RcIjtcbmltcG9ydCB7IHVzZVR5cGVkRXZlbnRFbWl0dGVyIH0gZnJvbSBcIi4uLy4uL2hvb2tzL3VzZUV2ZW50RW1pdHRlclwiO1xuaW1wb3J0IHsgU0RLQ29udGV4dCB9IGZyb20gXCIuLi8uLi9jb250ZXh0cy9TREtDb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VIYXNSb29tTGl2ZVZvaWNlQnJvYWRjYXN0ID0gKHJvb206IFJvb20pOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBzZGtDb250ZXh0ID0gdXNlQ29udGV4dChTREtDb250ZXh0KTtcbiAgICBjb25zdCBbaGFzTGl2ZVZvaWNlQnJvYWRjYXN0LCBzZXRIYXNMaXZlVm9pY2VCcm9hZGNhc3RdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgdXBkYXRlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBzZGtDb250ZXh0Py5jbGllbnRcbiAgICAgICAgICAgID8gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFzUm9vbUxpdmVWb2ljZUJyb2FkY2FzdChzZGtDb250ZXh0LmNsaWVudCEsIHJvb20pLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICAgKHsgaGFzQnJvYWRjYXN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SGFzTGl2ZVZvaWNlQnJvYWRjYXN0KGhhc0Jyb2FkY2FzdCk7XG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7fSwgLy8gbm8gdXBkYXRlIG9uIGVycm9yXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6ICgpID0+IHt9OyAvLyBub29wIHdpdGhvdXQgY2xpZW50XG4gICAgfSwgW3Jvb20sIHNka0NvbnRleHQsIHNldEhhc0xpdmVWb2ljZUJyb2FkY2FzdF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdXBkYXRlKCk7XG4gICAgfSwgW3VwZGF0ZV0pO1xuXG4gICAgdXNlVHlwZWRFdmVudEVtaXR0ZXIocm9vbS5jdXJyZW50U3RhdGUsIFJvb21TdGF0ZUV2ZW50LlVwZGF0ZSwgKCkgPT4gdXBkYXRlKCkpO1xuICAgIHJldHVybiBoYXNMaXZlVm9pY2VCcm9hZGNhc3Q7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSwwQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQWJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNPLE1BQU1LLDRCQUE0QixHQUFJQyxJQUFVLElBQWM7RUFDakUsTUFBTUMsVUFBVSxHQUFHLElBQUFDLGlCQUFVLEVBQUNDLHNCQUFVLENBQUM7RUFDekMsTUFBTSxDQUFDQyxxQkFBcUIsRUFBRUMsd0JBQXdCLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQUMsS0FBSyxDQUFDO0VBRXpFLE1BQU1DLE1BQU0sR0FBRyxJQUFBQyxjQUFPLEVBQUMsTUFBTTtJQUN6QixPQUFPUCxVQUFVLEVBQUVRLE1BQU0sR0FDbkIsTUFBTTtNQUNGLElBQUFDLG9EQUF5QixFQUFDVCxVQUFVLENBQUNRLE1BQU0sRUFBR1QsSUFBSSxDQUFDLENBQUNXLElBQUksQ0FDcEQsQ0FBQztRQUFFQztNQUFhLENBQUMsS0FBSztRQUNsQlAsd0JBQXdCLENBQUNPLFlBQVksQ0FBQztNQUMxQyxDQUFDLEVBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBRTtNQUNkLENBQUM7SUFDTCxDQUFDLEdBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3BCLENBQUMsRUFBRSxDQUFDWixJQUFJLEVBQUVDLFVBQVUsRUFBRUksd0JBQXdCLENBQUMsQ0FBQztFQUVoRCxJQUFBUSxnQkFBUyxFQUFDLE1BQU07SUFDWk4sTUFBTSxDQUFDLENBQUM7RUFDWixDQUFDLEVBQUUsQ0FBQ0EsTUFBTSxDQUFDLENBQUM7RUFFWixJQUFBTyxxQ0FBb0IsRUFBQ2QsSUFBSSxDQUFDZSxZQUFZLEVBQUVDLHNCQUFjLENBQUNDLE1BQU0sRUFBRSxNQUFNVixNQUFNLENBQUMsQ0FBQyxDQUFDO0VBQzlFLE9BQU9ILHFCQUFxQjtBQUNoQyxDQUFDO0FBQUNjLE9BQUEsQ0FBQW5CLDRCQUFBLEdBQUFBLDRCQUFBIiwiaWdub3JlTGlzdCI6W119