matrix-react-sdk
Version:
SDK for matrix.org using React
29 lines (26 loc) • 4.03 kB
JavaScript
;
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=