matrix-react-sdk
Version:
SDK for matrix.org using React
79 lines (75 loc) • 11.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.HeaderKind = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _dispatcher = _interopRequireDefault(require("../../../dispatcher/dispatcher"));
var _RightPanelStore = _interopRequireDefault(require("../../../stores/right-panel/RightPanelStore"));
var _AsyncStore = require("../../../stores/AsyncStore");
var _NotificationLevel = require("../../../stores/notifications/NotificationLevel");
var _SettingsStore = _interopRequireDefault(require("../../../settings/SettingsStore"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2017 New Vector Ltd
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
let HeaderKind = exports.HeaderKind = /*#__PURE__*/function (HeaderKind) {
HeaderKind["Room"] = "room";
return HeaderKind;
}({});
class HeaderButtons extends _react.default.Component {
constructor(props, kind) {
super(props);
(0, _defineProperty2.default)(this, "unmounted", false);
(0, _defineProperty2.default)(this, "dispatcherRef", undefined);
(0, _defineProperty2.default)(this, "watcherRef", void 0);
(0, _defineProperty2.default)(this, "onRightPanelStoreUpdate", () => {
if (this.unmounted) return;
this.setState({
phase: _RightPanelStore.default.instance.currentCard.phase
});
});
const rps = _RightPanelStore.default.instance;
this.state = {
headerKind: kind,
phase: rps.currentCard.phase,
threadNotificationLevel: _NotificationLevel.NotificationLevel.None,
globalNotificationLevel: _NotificationLevel.NotificationLevel.None,
notificationsEnabled: _SettingsStore.default.getValue("feature_notifications")
};
this.watcherRef = _SettingsStore.default.watchSetting("feature_notifications", null, (...[,,, value]) => this.setState({
notificationsEnabled: value
}));
}
componentDidMount() {
_RightPanelStore.default.instance.on(_AsyncStore.UPDATE_EVENT, this.onRightPanelStoreUpdate);
}
componentWillUnmount() {
this.unmounted = true;
_RightPanelStore.default.instance.off(_AsyncStore.UPDATE_EVENT, this.onRightPanelStoreUpdate);
if (this.dispatcherRef) _dispatcher.default.unregister(this.dispatcherRef);
if (this.watcherRef) _SettingsStore.default.unwatchSetting(this.watcherRef);
}
isPhase(phases) {
if (!_RightPanelStore.default.instance.isOpen) return false;
if (Array.isArray(phases)) {
return !!this.state.phase && phases.includes(this.state.phase);
} else {
return phases === this.state.phase;
}
}
// XXX: Make renderButtons a prop
render() {
return this.renderButtons();
}
}
exports.default = HeaderButtons;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kaXNwYXRjaGVyIiwiX1JpZ2h0UGFuZWxTdG9yZSIsIl9Bc3luY1N0b3JlIiwiX05vdGlmaWNhdGlvbkxldmVsIiwiX1NldHRpbmdzU3RvcmUiLCJIZWFkZXJLaW5kIiwiZXhwb3J0cyIsIkhlYWRlckJ1dHRvbnMiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJraW5kIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJ1bmRlZmluZWQiLCJ1bm1vdW50ZWQiLCJzZXRTdGF0ZSIsInBoYXNlIiwiUmlnaHRQYW5lbFN0b3JlIiwiaW5zdGFuY2UiLCJjdXJyZW50Q2FyZCIsInJwcyIsInN0YXRlIiwiaGVhZGVyS2luZCIsInRocmVhZE5vdGlmaWNhdGlvbkxldmVsIiwiTm90aWZpY2F0aW9uTGV2ZWwiLCJOb25lIiwiZ2xvYmFsTm90aWZpY2F0aW9uTGV2ZWwiLCJub3RpZmljYXRpb25zRW5hYmxlZCIsIlNldHRpbmdzU3RvcmUiLCJnZXRWYWx1ZSIsIndhdGNoZXJSZWYiLCJ3YXRjaFNldHRpbmciLCJ2YWx1ZSIsImNvbXBvbmVudERpZE1vdW50Iiwib24iLCJVUERBVEVfRVZFTlQiLCJvblJpZ2h0UGFuZWxTdG9yZVVwZGF0ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50Iiwib2ZmIiwiZGlzcGF0Y2hlclJlZiIsImRpcyIsInVucmVnaXN0ZXIiLCJ1bndhdGNoU2V0dGluZyIsImlzUGhhc2UiLCJwaGFzZXMiLCJpc09wZW4iLCJBcnJheSIsImlzQXJyYXkiLCJpbmNsdWRlcyIsInJlbmRlciIsInJlbmRlckJ1dHRvbnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9yaWdodF9wYW5lbC9IZWFkZXJCdXR0b25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTggTmV3IFZlY3RvciBMdGRcbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5Db3B5cmlnaHQgMjAxNyBOZXcgVmVjdG9yIEx0ZFxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgZGlzIGZyb20gXCIuLi8uLi8uLi9kaXNwYXRjaGVyL2Rpc3BhdGNoZXJcIjtcbmltcG9ydCBSaWdodFBhbmVsU3RvcmUgZnJvbSBcIi4uLy4uLy4uL3N0b3Jlcy9yaWdodC1wYW5lbC9SaWdodFBhbmVsU3RvcmVcIjtcbmltcG9ydCB7IFJpZ2h0UGFuZWxQaGFzZXMgfSBmcm9tIFwiLi4vLi4vLi4vc3RvcmVzL3JpZ2h0LXBhbmVsL1JpZ2h0UGFuZWxTdG9yZVBoYXNlc1wiO1xuaW1wb3J0IHsgVVBEQVRFX0VWRU5UIH0gZnJvbSBcIi4uLy4uLy4uL3N0b3Jlcy9Bc3luY1N0b3JlXCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25MZXZlbCB9IGZyb20gXCIuLi8uLi8uLi9zdG9yZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25MZXZlbFwiO1xuaW1wb3J0IFNldHRpbmdzU3RvcmUgZnJvbSBcIi4uLy4uLy4uL3NldHRpbmdzL1NldHRpbmdzU3RvcmVcIjtcblxuZXhwb3J0IGVudW0gSGVhZGVyS2luZCB7XG4gICAgUm9vbSA9IFwicm9vbVwiLFxufVxuXG5pbnRlcmZhY2UgSVN0YXRlIHtcbiAgICBoZWFkZXJLaW5kOiBIZWFkZXJLaW5kO1xuICAgIHBoYXNlOiBSaWdodFBhbmVsUGhhc2VzIHwgbnVsbDtcbiAgICB0aHJlYWROb3RpZmljYXRpb25MZXZlbDogTm90aWZpY2F0aW9uTGV2ZWw7XG4gICAgZ2xvYmFsTm90aWZpY2F0aW9uTGV2ZWw6IE5vdGlmaWNhdGlvbkxldmVsO1xuICAgIG5vdGlmaWNhdGlvbnNFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIElQcm9wcyB7fVxuXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBIZWFkZXJCdXR0b25zPFAgPSB7fT4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVByb3BzICYgUCwgSVN0YXRlPiB7XG4gICAgcHJpdmF0ZSB1bm1vdW50ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGRpc3BhdGNoZXJSZWY/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSB3YXRjaGVyUmVmOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcyAmIFAsIGtpbmQ6IEhlYWRlcktpbmQpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIGNvbnN0IHJwcyA9IFJpZ2h0UGFuZWxTdG9yZS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGhlYWRlcktpbmQ6IGtpbmQsXG4gICAgICAgICAgICBwaGFzZTogcnBzLmN1cnJlbnRDYXJkLnBoYXNlLFxuICAgICAgICAgICAgdGhyZWFkTm90aWZpY2F0aW9uTGV2ZWw6IE5vdGlmaWNhdGlvbkxldmVsLk5vbmUsXG4gICAgICAgICAgICBnbG9iYWxOb3RpZmljYXRpb25MZXZlbDogTm90aWZpY2F0aW9uTGV2ZWwuTm9uZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbnNFbmFibGVkOiBTZXR0aW5nc1N0b3JlLmdldFZhbHVlKFwiZmVhdHVyZV9ub3RpZmljYXRpb25zXCIpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLndhdGNoZXJSZWYgPSBTZXR0aW5nc1N0b3JlLndhdGNoU2V0dGluZyhcImZlYXR1cmVfbm90aWZpY2F0aW9uc1wiLCBudWxsLCAoLi4uWywgLCAsIHZhbHVlXSkgPT5cbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBub3RpZmljYXRpb25zRW5hYmxlZDogdmFsdWUgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuICAgICAgICBSaWdodFBhbmVsU3RvcmUuaW5zdGFuY2Uub24oVVBEQVRFX0VWRU5ULCB0aGlzLm9uUmlnaHRQYW5lbFN0b3JlVXBkYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5tb3VudGVkID0gdHJ1ZTtcbiAgICAgICAgUmlnaHRQYW5lbFN0b3JlLmluc3RhbmNlLm9mZihVUERBVEVfRVZFTlQsIHRoaXMub25SaWdodFBhbmVsU3RvcmVVcGRhdGUpO1xuICAgICAgICBpZiAodGhpcy5kaXNwYXRjaGVyUmVmKSBkaXMudW5yZWdpc3Rlcih0aGlzLmRpc3BhdGNoZXJSZWYpO1xuICAgICAgICBpZiAodGhpcy53YXRjaGVyUmVmKSBTZXR0aW5nc1N0b3JlLnVud2F0Y2hTZXR0aW5nKHRoaXMud2F0Y2hlclJlZik7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUGhhc2UocGhhc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIVJpZ2h0UGFuZWxTdG9yZS5pbnN0YW5jZS5pc09wZW4pIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGhhc2VzKSkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5zdGF0ZS5waGFzZSAmJiBwaGFzZXMuaW5jbHVkZXModGhpcy5zdGF0ZS5waGFzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcGhhc2VzID09PSB0aGlzLnN0YXRlLnBoYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblJpZ2h0UGFuZWxTdG9yZVVwZGF0ZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMudW5tb3VudGVkKSByZXR1cm47XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogUmlnaHRQYW5lbFN0b3JlLmluc3RhbmNlLmN1cnJlbnRDYXJkLnBoYXNlIH0pO1xuICAgIH07XG5cbiAgICAvLyBYWFg6IE1ha2UgcmVuZGVyQnV0dG9ucyBhIHByb3BcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVuZGVyQnV0dG9ucygpOiBKU1guRWxlbWVudDtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQnV0dG9ucygpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFZQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxnQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksa0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQW5CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkEsSUFxQllNLFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLDBCQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBQSxPQUFWQSxVQUFVO0FBQUE7QUFjUCxNQUFlRSxhQUFhLFNBQWlCQyxjQUFLLENBQUNDLFNBQVMsQ0FBcUI7RUFLckZDLFdBQVdBLENBQUNDLEtBQWlCLEVBQUVDLElBQWdCLEVBQUU7SUFDcEQsS0FBSyxDQUFDRCxLQUFLLENBQUM7SUFBQyxJQUFBRSxnQkFBQSxDQUFBQyxP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