matrix-react-sdk
Version:
SDK for matrix.org using React
54 lines (51 loc) • 11.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.VideoRoomChatButton = void 0;
var _react = _interopRequireWildcard(require("react"));
var _chatSolid = _interopRequireDefault(require("@vector-im/compound-design-tokens/assets/web/icons/chat-solid"));
var _compoundWeb = require("@vector-im/compound-web");
var _languageHandler = require("../../../../languageHandler");
var _useEventEmitter = require("../../../../hooks/useEventEmitter");
var _NotificationState = require("../../../../stores/notifications/NotificationState");
var _NotificationLevel = require("../../../../stores/notifications/NotificationLevel");
var _RightPanelStorePhases = require("../../../../stores/right-panel/RightPanelStorePhases");
var _SDKContext = require("../../../../contexts/SDKContext");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/*
Copyright 2024 New Vector Ltd.
Copyright 2023 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.
*/
/**
* Display a button to toggle timeline for video rooms
* @param room
* @returns A button to toggle timeline in the right panel.
*/
const VideoRoomChatButton = ({
room
}) => {
const sdkContext = (0, _react.useContext)(_SDKContext.SDKContext);
const notificationState = sdkContext.roomNotificationStateStore.getRoomState(room);
const notificationColor = (0, _useEventEmitter.useEventEmitterState)(notificationState, _NotificationState.NotificationStateEvents.Update, () => notificationState?.level);
const displayUnreadIndicator = !!notificationColor && [_NotificationLevel.NotificationLevel.Activity, _NotificationLevel.NotificationLevel.Notification, _NotificationLevel.NotificationLevel.Highlight].includes(notificationColor);
const onClick = event => {
// stop event propagating up and triggering RoomHeader bar click
// which will open RoomSummary
event.stopPropagation();
sdkContext.rightPanelStore.showOrHidePhase(_RightPanelStorePhases.RightPanelPhases.Timeline);
};
return /*#__PURE__*/_react.default.createElement(_compoundWeb.Tooltip, {
label: (0, _languageHandler._t)("right_panel|video_room_chat|title")
}, /*#__PURE__*/_react.default.createElement(_compoundWeb.IconButton, {
"aria-label": (0, _languageHandler._t)("right_panel|video_room_chat|title"),
onClick: onClick,
indicator: displayUnreadIndicator ? "default" : undefined
}, /*#__PURE__*/_react.default.createElement(_chatSolid.default, null)));
};
exports.VideoRoomChatButton = VideoRoomChatButton;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2hhdFNvbGlkIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb21wb3VuZFdlYiIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfdXNlRXZlbnRFbWl0dGVyIiwiX05vdGlmaWNhdGlvblN0YXRlIiwiX05vdGlmaWNhdGlvbkxldmVsIiwiX1JpZ2h0UGFuZWxTdG9yZVBoYXNlcyIsIl9TREtDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVmlkZW9Sb29tQ2hhdEJ1dHRvbiIsInJvb20iLCJzZGtDb250ZXh0IiwidXNlQ29udGV4dCIsIlNES0NvbnRleHQiLCJub3RpZmljYXRpb25TdGF0ZSIsInJvb21Ob3RpZmljYXRpb25TdGF0ZVN0b3JlIiwiZ2V0Um9vbVN0YXRlIiwibm90aWZpY2F0aW9uQ29sb3IiLCJ1c2VFdmVudEVtaXR0ZXJTdGF0ZSIsIk5vdGlmaWNhdGlvblN0YXRlRXZlbnRzIiwiVXBkYXRlIiwibGV2ZWwiLCJkaXNwbGF5VW5yZWFkSW5kaWNhdG9yIiwiTm90aWZpY2F0aW9uTGV2ZWwiLCJBY3Rpdml0eSIsIk5vdGlmaWNhdGlvbiIsIkhpZ2hsaWdodCIsImluY2x1ZGVzIiwib25DbGljayIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicmlnaHRQYW5lbFN0b3JlIiwic2hvd09ySGlkZVBoYXNlIiwiUmlnaHRQYW5lbFBoYXNlcyIsIlRpbWVsaW5lIiwiY3JlYXRlRWxlbWVudCIsIlRvb2x0aXAiLCJsYWJlbCIsIl90IiwiSWNvbkJ1dHRvbiIsImluZGljYXRvciIsInVuZGVmaW5lZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9yb29tcy9Sb29tSGVhZGVyL1ZpZGVvUm9vbUNoYXRCdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgQ2hhdEljb24gZnJvbSBcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2ljb25zL2NoYXQtc29saWRcIjtcbmltcG9ydCB7IFJvb20gfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgeyBJY29uQnV0dG9uLCBUb29sdGlwIH0gZnJvbSBcIkB2ZWN0b3ItaW0vY29tcG91bmQtd2ViXCI7XG5cbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgdXNlRXZlbnRFbWl0dGVyU3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnRFbWl0dGVyXCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TdGF0ZUV2ZW50cyB9IGZyb20gXCIuLi8uLi8uLi8uLi9zdG9yZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25TdGF0ZVwiO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTGV2ZWwgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc3RvcmVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uTGV2ZWxcIjtcbmltcG9ydCB7IFJpZ2h0UGFuZWxQaGFzZXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc3RvcmVzL3JpZ2h0LXBhbmVsL1JpZ2h0UGFuZWxTdG9yZVBoYXNlc1wiO1xuaW1wb3J0IHsgU0RLQ29udGV4dCB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb250ZXh0cy9TREtDb250ZXh0XCI7XG5pbXBvcnQgeyBCdXR0b25FdmVudCB9IGZyb20gXCIuLi8uLi9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5cbi8qKlxuICogRGlzcGxheSBhIGJ1dHRvbiB0byB0b2dnbGUgdGltZWxpbmUgZm9yIHZpZGVvIHJvb21zXG4gKiBAcGFyYW0gcm9vbVxuICogQHJldHVybnMgQSBidXR0b24gdG8gdG9nZ2xlIHRpbWVsaW5lIGluIHRoZSByaWdodCBwYW5lbC5cbiAqL1xuZXhwb3J0IGNvbnN0IFZpZGVvUm9vbUNoYXRCdXR0b246IFJlYWN0LkZDPHsgcm9vbTogUm9vbSB9PiA9ICh7IHJvb20gfSkgPT4ge1xuICAgIGNvbnN0IHNka0NvbnRleHQgPSB1c2VDb250ZXh0KFNES0NvbnRleHQpO1xuXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uU3RhdGUgPSBzZGtDb250ZXh0LnJvb21Ob3RpZmljYXRpb25TdGF0ZVN0b3JlLmdldFJvb21TdGF0ZShyb29tKTtcbiAgICBjb25zdCBub3RpZmljYXRpb25Db2xvciA9IHVzZUV2ZW50RW1pdHRlclN0YXRlKFxuICAgICAgICBub3RpZmljYXRpb25TdGF0ZSxcbiAgICAgICAgTm90aWZpY2F0aW9uU3RhdGVFdmVudHMuVXBkYXRlLFxuICAgICAgICAoKSA9PiBub3RpZmljYXRpb25TdGF0ZT8ubGV2ZWwsXG4gICAgKTtcblxuICAgIGNvbnN0IGRpc3BsYXlVbnJlYWRJbmRpY2F0b3IgPVxuICAgICAgICAhIW5vdGlmaWNhdGlvbkNvbG9yICYmXG4gICAgICAgIFtOb3RpZmljYXRpb25MZXZlbC5BY3Rpdml0eSwgTm90aWZpY2F0aW9uTGV2ZWwuTm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25MZXZlbC5IaWdobGlnaHRdLmluY2x1ZGVzKFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uQ29sb3IsXG4gICAgICAgICk7XG5cbiAgICBjb25zdCBvbkNsaWNrID0gKGV2ZW50OiBCdXR0b25FdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAvLyBzdG9wIGV2ZW50IHByb3BhZ2F0aW5nIHVwIGFuZCB0cmlnZ2VyaW5nIFJvb21IZWFkZXIgYmFyIGNsaWNrXG4gICAgICAgIC8vIHdoaWNoIHdpbGwgb3BlbiBSb29tU3VtbWFyeVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgc2RrQ29udGV4dC5yaWdodFBhbmVsU3RvcmUuc2hvd09ySGlkZVBoYXNlKFJpZ2h0UGFuZWxQaGFzZXMuVGltZWxpbmUpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VG9vbHRpcCBsYWJlbD17X3QoXCJyaWdodF9wYW5lbHx2aWRlb19yb29tX2NoYXR8dGl0bGVcIil9PlxuICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtfdChcInJpZ2h0X3BhbmVsfHZpZGVvX3Jvb21fY2hhdHx0aXRsZVwiKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgICAgIGluZGljYXRvcj17ZGlzcGxheVVucmVhZEluZGljYXRvciA/IFwiZGVmYXVsdFwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDaGF0SWNvbiAvPlxuICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxnQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssZ0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGtCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsc0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUE2RCxTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWix3QkFBQVksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLENBQUFILE9BQUEsR0FBQUwsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFsQjdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNVyxtQkFBNkMsR0FBR0EsQ0FBQztFQUFFQztBQUFLLENBQUMsS0FBSztFQUN2RSxNQUFNQyxVQUFVLEdBQUcsSUFBQUMsaUJBQVUsRUFBQ0Msc0JBQVUsQ0FBQztFQUV6QyxNQUFNQyxpQkFBaUIsR0FBR0gsVUFBVSxDQUFDSSwwQkFBMEIsQ0FBQ0MsWUFBWSxDQUFDTixJQUFJLENBQUM7RUFDbEYsTUFBTU8saUJBQWlCLEdBQUcsSUFBQUMscUNBQW9CLEVBQzFDSixpQkFBaUIsRUFDakJLLDBDQUF1QixDQUFDQyxNQUFNLEVBQzlCLE1BQU1OLGlCQUFpQixFQUFFTyxLQUM3QixDQUFDO0VBRUQsTUFBTUMsc0JBQXNCLEdBQ3hCLENBQUMsQ0FBQ0wsaUJBQWlCLElBQ25CLENBQUNNLG9DQUFpQixDQUFDQyxRQUFRLEVBQUVELG9DQUFpQixDQUFDRSxZQUFZLEVBQUVGLG9DQUFpQixDQUFDRyxTQUFTLENBQUMsQ0FBQ0MsUUFBUSxDQUM5RlYsaUJBQ0osQ0FBQztFQUVMLE1BQU1XLE9BQU8sR0FBSUMsS0FBa0IsSUFBVztJQUMxQztJQUNBO0lBQ0FBLEtBQUssQ0FBQ0MsZUFBZSxDQUFDLENBQUM7SUFDdkJuQixVQUFVLENBQUNvQixlQUFlLENBQUNDLGVBQWUsQ0FBQ0MsdUNBQWdCLENBQUNDLFFBQVEsQ0FBQztFQUN6RSxDQUFDO0VBRUQsb0JBQ0l6RCxNQUFBLENBQUFrQixPQUFBLENBQUF3QyxhQUFBLENBQUNyRCxZQUFBLENBQUFzRCxPQUFPO0lBQUNDLEtBQUssRUFBRSxJQUFBQyxtQkFBRSxFQUFDLG1DQUFtQztFQUFFLGdCQUNwRDdELE1BQUEsQ0FBQWtCLE9BQUEsQ0FBQXdDLGFBQUEsQ0FBQ3JELFlBQUEsQ0FBQXlELFVBQVU7SUFDUCxjQUFZLElBQUFELG1CQUFFLEVBQUMsbUNBQW1DLENBQUU7SUFDcERWLE9BQU8sRUFBRUEsT0FBUTtJQUNqQlksU0FBUyxFQUFFbEIsc0JBQXNCLEdBQUcsU0FBUyxHQUFHbUI7RUFBVSxnQkFFMURoRSxNQUFBLENBQUFrQixPQUFBLENBQUF3QyxhQUFBLENBQUN2RCxVQUFBLENBQUFlLE9BQVEsTUFBRSxDQUNILENBQ1AsQ0FBQztBQUVsQixDQUFDO0FBQUMrQyxPQUFBLENBQUFqQyxtQkFBQSxHQUFBQSxtQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==