UNPKG

matrix-react-sdk

Version:
29 lines (26 loc) 4.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useIsEncrypted = useIsEncrypted; var _react = require("react"); var _matrix = require("matrix-js-sdk/src/matrix"); var _useEventEmitter = require("./useEventEmitter"); /* 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. */ // Hook to simplify watching whether a Matrix room is encrypted, returns undefined if room is undefined function useIsEncrypted(cli, room) { const [isEncrypted, setIsEncrypted] = (0, _react.useState)(room ? cli.isRoomEncrypted(room.roomId) : undefined); const update = (0, _react.useCallback)(event => { if (room && event.getType() === _matrix.EventType.RoomEncryption) { setIsEncrypted(cli.isRoomEncrypted(room.roomId)); } }, [cli, room]); (0, _useEventEmitter.useTypedEventEmitter)(room?.currentState, _matrix.RoomStateEvent.Events, update); return isEncrypted; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21hdHJpeCIsIl91c2VFdmVudEVtaXR0ZXIiLCJ1c2VJc0VuY3J5cHRlZCIsImNsaSIsInJvb20iLCJpc0VuY3J5cHRlZCIsInNldElzRW5jcnlwdGVkIiwidXNlU3RhdGUiLCJpc1Jvb21FbmNyeXB0ZWQiLCJyb29tSWQiLCJ1bmRlZmluZWQiLCJ1cGRhdGUiLCJ1c2VDYWxsYmFjayIsImV2ZW50IiwiZ2V0VHlwZSIsIkV2ZW50VHlwZSIsIlJvb21FbmNyeXB0aW9uIiwidXNlVHlwZWRFdmVudEVtaXR0ZXIiLCJjdXJyZW50U3RhdGUiLCJSb29tU3RhdGVFdmVudCIsIkV2ZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VJc0VuY3J5cHRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudCwgTWF0cml4RXZlbnQsIFJvb20sIFJvb21TdGF0ZUV2ZW50LCBFdmVudFR5cGUgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCB7IHVzZVR5cGVkRXZlbnRFbWl0dGVyIH0gZnJvbSBcIi4vdXNlRXZlbnRFbWl0dGVyXCI7XG5cbi8vIEhvb2sgdG8gc2ltcGxpZnkgd2F0Y2hpbmcgd2hldGhlciBhIE1hdHJpeCByb29tIGlzIGVuY3J5cHRlZCwgcmV0dXJucyB1bmRlZmluZWQgaWYgcm9vbSBpcyB1bmRlZmluZWRcbmV4cG9ydCBmdW5jdGlvbiB1c2VJc0VuY3J5cHRlZChjbGk6IE1hdHJpeENsaWVudCwgcm9vbT86IFJvb20pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBbaXNFbmNyeXB0ZWQsIHNldElzRW5jcnlwdGVkXSA9IHVzZVN0YXRlKHJvb20gPyBjbGkuaXNSb29tRW5jcnlwdGVkKHJvb20ucm9vbUlkKSA6IHVuZGVmaW5lZCk7XG5cbiAgICBjb25zdCB1cGRhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGV2ZW50OiBNYXRyaXhFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJvb20gJiYgZXZlbnQuZ2V0VHlwZSgpID09PSBFdmVudFR5cGUuUm9vbUVuY3J5cHRpb24pIHtcbiAgICAgICAgICAgICAgICBzZXRJc0VuY3J5cHRlZChjbGkuaXNSb29tRW5jcnlwdGVkKHJvb20ucm9vbUlkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGksIHJvb21dLFxuICAgICk7XG4gICAgdXNlVHlwZWRFdmVudEVtaXR0ZXIocm9vbT8uY3VycmVudFN0YXRlLCBSb29tU3RhdGVFdmVudC5FdmVudHMsIHVwZGF0ZSk7XG5cbiAgICByZXR1cm4gaXNFbmNyeXB0ZWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFPQTtBQUNPLFNBQVNHLGNBQWNBLENBQUNDLEdBQWlCLEVBQUVDLElBQVcsRUFBdUI7RUFDaEYsTUFBTSxDQUFDQyxXQUFXLEVBQUVDLGNBQWMsQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFBQ0gsSUFBSSxHQUFHRCxHQUFHLENBQUNLLGVBQWUsQ0FBQ0osSUFBSSxDQUFDSyxNQUFNLENBQUMsR0FBR0MsU0FBUyxDQUFDO0VBRW5HLE1BQU1DLE1BQU0sR0FBRyxJQUFBQyxrQkFBVyxFQUNyQkMsS0FBa0IsSUFBSztJQUNwQixJQUFJVCxJQUFJLElBQUlTLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLENBQUMsS0FBS0MsaUJBQVMsQ0FBQ0MsY0FBYyxFQUFFO01BQ3REVixjQUFjLENBQUNILEdBQUcsQ0FBQ0ssZUFBZSxDQUFDSixJQUFJLENBQUNLLE1BQU0sQ0FBQyxDQUFDO0lBQ3BEO0VBQ0osQ0FBQyxFQUNELENBQUNOLEdBQUcsRUFBRUMsSUFBSSxDQUNkLENBQUM7RUFDRCxJQUFBYSxxQ0FBb0IsRUFBQ2IsSUFBSSxFQUFFYyxZQUFZLEVBQUVDLHNCQUFjLENBQUNDLE1BQU0sRUFBRVQsTUFBTSxDQUFDO0VBRXZFLE9BQU9OLFdBQVc7QUFDdEIiLCJpZ25vcmVMaXN0IjpbXX0=