matrix-react-sdk
Version:
SDK for matrix.org using React
32 lines (29 loc) • 5.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useNotificationState = void 0;
var _react = require("react");
var _EchoChamber = require("../stores/local-echo/EchoChamber");
var _GenericEchoChamber = require("../stores/local-echo/GenericEchoChamber");
var _RoomEchoChamber = require("../stores/local-echo/RoomEchoChamber");
var _useEventEmitter = require("./useEventEmitter");
/*
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 useNotificationState = room => {
const echoChamber = (0, _react.useMemo)(() => _EchoChamber.EchoChamber.forRoom(room), [room]);
const [notificationState, setNotificationState] = (0, _react.useState)(echoChamber.notificationVolume);
(0, _useEventEmitter.useEventEmitter)(echoChamber, _GenericEchoChamber.PROPERTY_UPDATED, key => {
if (key === _RoomEchoChamber.CachedRoomKey.NotificationVolume && echoChamber.notificationVolume !== undefined) {
setNotificationState(echoChamber.notificationVolume);
}
});
const setter = (0, _react.useCallback)(state => echoChamber.notificationVolume = state, [echoChamber]);
return [notificationState, setter];
};
exports.useNotificationState = useNotificationState;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0VjaG9DaGFtYmVyIiwiX0dlbmVyaWNFY2hvQ2hhbWJlciIsIl9Sb29tRWNob0NoYW1iZXIiLCJfdXNlRXZlbnRFbWl0dGVyIiwidXNlTm90aWZpY2F0aW9uU3RhdGUiLCJyb29tIiwiZWNob0NoYW1iZXIiLCJ1c2VNZW1vIiwiRWNob0NoYW1iZXIiLCJmb3JSb29tIiwibm90aWZpY2F0aW9uU3RhdGUiLCJzZXROb3RpZmljYXRpb25TdGF0ZSIsInVzZVN0YXRlIiwibm90aWZpY2F0aW9uVm9sdW1lIiwidXNlRXZlbnRFbWl0dGVyIiwiUFJPUEVSVFlfVVBEQVRFRCIsImtleSIsIkNhY2hlZFJvb21LZXkiLCJOb3RpZmljYXRpb25Wb2x1bWUiLCJ1bmRlZmluZWQiLCJzZXR0ZXIiLCJ1c2VDYWxsYmFjayIsInN0YXRlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSb29tTm90aWZpY2F0aW9uU3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSb29tIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgeyBSb29tTm90aWZTdGF0ZSB9IGZyb20gXCIuLi9Sb29tTm90aWZzXCI7XG5pbXBvcnQgeyBFY2hvQ2hhbWJlciB9IGZyb20gXCIuLi9zdG9yZXMvbG9jYWwtZWNoby9FY2hvQ2hhbWJlclwiO1xuaW1wb3J0IHsgUFJPUEVSVFlfVVBEQVRFRCB9IGZyb20gXCIuLi9zdG9yZXMvbG9jYWwtZWNoby9HZW5lcmljRWNob0NoYW1iZXJcIjtcbmltcG9ydCB7IENhY2hlZFJvb21LZXkgfSBmcm9tIFwiLi4vc3RvcmVzL2xvY2FsLWVjaG8vUm9vbUVjaG9DaGFtYmVyXCI7XG5pbXBvcnQgeyB1c2VFdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi91c2VFdmVudEVtaXR0ZXJcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5vdGlmaWNhdGlvblN0YXRlID0gKHJvb206IFJvb20pOiBbUm9vbU5vdGlmU3RhdGUgfCB1bmRlZmluZWQsIChzdGF0ZTogUm9vbU5vdGlmU3RhdGUpID0+IHZvaWRdID0+IHtcbiAgICBjb25zdCBlY2hvQ2hhbWJlciA9IHVzZU1lbW8oKCkgPT4gRWNob0NoYW1iZXIuZm9yUm9vbShyb29tKSwgW3Jvb21dKTtcbiAgICBjb25zdCBbbm90aWZpY2F0aW9uU3RhdGUsIHNldE5vdGlmaWNhdGlvblN0YXRlXSA9IHVzZVN0YXRlPFJvb21Ob3RpZlN0YXRlIHwgdW5kZWZpbmVkPihcbiAgICAgICAgZWNob0NoYW1iZXIubm90aWZpY2F0aW9uVm9sdW1lLFxuICAgICk7XG4gICAgdXNlRXZlbnRFbWl0dGVyKGVjaG9DaGFtYmVyLCBQUk9QRVJUWV9VUERBVEVELCAoa2V5OiBDYWNoZWRSb29tS2V5KSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09IENhY2hlZFJvb21LZXkuTm90aWZpY2F0aW9uVm9sdW1lICYmIGVjaG9DaGFtYmVyLm5vdGlmaWNhdGlvblZvbHVtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb25TdGF0ZShlY2hvQ2hhbWJlci5ub3RpZmljYXRpb25Wb2x1bWUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0dGVyID0gdXNlQ2FsbGJhY2soKHN0YXRlOiBSb29tTm90aWZTdGF0ZSkgPT4gKGVjaG9DaGFtYmVyLm5vdGlmaWNhdGlvblZvbHVtZSA9IHN0YXRlKSwgW2VjaG9DaGFtYmVyXSk7XG4gICAgcmV0dXJuIFtub3RpZmljYXRpb25TdGF0ZSwgc2V0dGVyXTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUlBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG1CQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxnQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVdPLE1BQU1LLG9CQUFvQixHQUFJQyxJQUFVLElBQW9FO0VBQy9HLE1BQU1DLFdBQVcsR0FBRyxJQUFBQyxjQUFPLEVBQUMsTUFBTUMsd0JBQVcsQ0FBQ0MsT0FBTyxDQUFDSixJQUFJLENBQUMsRUFBRSxDQUFDQSxJQUFJLENBQUMsQ0FBQztFQUNwRSxNQUFNLENBQUNLLGlCQUFpQixFQUFFQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFDdEROLFdBQVcsQ0FBQ08sa0JBQ2hCLENBQUM7RUFDRCxJQUFBQyxnQ0FBZSxFQUFDUixXQUFXLEVBQUVTLG9DQUFnQixFQUFHQyxHQUFrQixJQUFLO0lBQ25FLElBQUlBLEdBQUcsS0FBS0MsOEJBQWEsQ0FBQ0Msa0JBQWtCLElBQUlaLFdBQVcsQ0FBQ08sa0JBQWtCLEtBQUtNLFNBQVMsRUFBRTtNQUMxRlIsb0JBQW9CLENBQUNMLFdBQVcsQ0FBQ08sa0JBQWtCLENBQUM7SUFDeEQ7RUFDSixDQUFDLENBQUM7RUFDRixNQUFNTyxNQUFNLEdBQUcsSUFBQUMsa0JBQVcsRUFBRUMsS0FBcUIsSUFBTWhCLFdBQVcsQ0FBQ08sa0JBQWtCLEdBQUdTLEtBQU0sRUFBRSxDQUFDaEIsV0FBVyxDQUFDLENBQUM7RUFDOUcsT0FBTyxDQUFDSSxpQkFBaUIsRUFBRVUsTUFBTSxDQUFDO0FBQ3RDLENBQUM7QUFBQ0csT0FBQSxDQUFBbkIsb0JBQUEsR0FBQUEsb0JBQUEiLCJpZ25vcmVMaXN0IjpbXX0=