matrix-react-sdk
Version:
SDK for matrix.org using React
87 lines (84 loc) • 18.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RoomResultContextMenus = RoomResultContextMenus;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _ContextMenuTooltipButton = require("../../../../accessibility/context_menu/ContextMenuTooltipButton");
var _useRoomNotificationState = require("../../../../hooks/useRoomNotificationState");
var _languageHandler = require("../../../../languageHandler");
var _RoomNotifs = require("../../../../RoomNotifs");
var _RoomGeneralContextMenu = require("../../context_menus/RoomGeneralContextMenu");
var _RoomNotificationContextMenu = require("../../context_menus/RoomNotificationContextMenu");
var _SpaceContextMenu = _interopRequireDefault(require("../../context_menus/SpaceContextMenu"));
var _RoomTile = require("../../rooms/RoomTile");
var _UIComponents = require("../../../../customisations/helpers/UIComponents");
var _UIFeature = require("../../../../settings/UIFeature");
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 2021, 2022 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.
*/
function RoomResultContextMenus({
room
}) {
const [notificationState] = (0, _useRoomNotificationState.useNotificationState)(room);
const [generalMenuPosition, setGeneralMenuPosition] = (0, _react.useState)(null);
const [notificationMenuPosition, setNotificationMenuPosition] = (0, _react.useState)(null);
let generalMenu;
if (generalMenuPosition !== null) {
if (room.isSpaceRoom()) {
generalMenu = /*#__PURE__*/_react.default.createElement(_SpaceContextMenu.default, (0, _extends2.default)({}, (0, _RoomTile.contextMenuBelow)(generalMenuPosition), {
space: room,
onFinished: () => setGeneralMenuPosition(null)
}));
} else {
generalMenu = /*#__PURE__*/_react.default.createElement(_RoomGeneralContextMenu.RoomGeneralContextMenu, (0, _extends2.default)({}, (0, _RoomTile.contextMenuBelow)(generalMenuPosition), {
room: room,
onFinished: () => setGeneralMenuPosition(null)
}));
}
}
let notificationMenu;
if (notificationMenuPosition !== null) {
notificationMenu = /*#__PURE__*/_react.default.createElement(_RoomNotificationContextMenu.RoomNotificationContextMenu, (0, _extends2.default)({}, (0, _RoomTile.contextMenuBelow)(notificationMenuPosition), {
room: room,
onFinished: () => setNotificationMenuPosition(null)
}));
}
const notificationMenuClasses = (0, _classnames.default)("mx_SpotlightDialog_option--notifications", {
// Show bell icon for the default case too.
mx_RoomNotificationContextMenu_iconBell: notificationState === _RoomNotifs.RoomNotifState.AllMessages,
mx_RoomNotificationContextMenu_iconBellDot: notificationState === _RoomNotifs.RoomNotifState.AllMessagesLoud,
mx_RoomNotificationContextMenu_iconBellMentions: notificationState === _RoomNotifs.RoomNotifState.MentionsOnly,
mx_RoomNotificationContextMenu_iconBellCrossed: notificationState === _RoomNotifs.RoomNotifState.Mute
});
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, (0, _UIComponents.shouldShowComponent)(_UIFeature.UIComponent.RoomOptionsMenu) && /*#__PURE__*/_react.default.createElement(_ContextMenuTooltipButton.ContextMenuTooltipButton, {
className: "mx_SpotlightDialog_option--menu",
onClick: ev => {
ev.preventDefault();
ev.stopPropagation();
const target = ev.target;
setGeneralMenuPosition(target.getBoundingClientRect());
},
title: room.isSpaceRoom() ? (0, _languageHandler._t)("space|context_menu|options") : (0, _languageHandler._t)("room|context_menu|title"),
isExpanded: generalMenuPosition !== null
}), !room.isSpaceRoom() && /*#__PURE__*/_react.default.createElement(_ContextMenuTooltipButton.ContextMenuTooltipButton, {
className: notificationMenuClasses,
onClick: ev => {
ev.preventDefault();
ev.stopPropagation();
const target = ev.target;
setNotificationMenuPosition(target.getBoundingClientRect());
},
title: (0, _languageHandler._t)("room_list|notification_options"),
isExpanded: notificationMenuPosition !== null
}), generalMenu, notificationMenu);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfQ29udGV4dE1lbnVUb29sdGlwQnV0dG9uIiwiX3VzZVJvb21Ob3RpZmljYXRpb25TdGF0ZSIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfUm9vbU5vdGlmcyIsIl9Sb29tR2VuZXJhbENvbnRleHRNZW51IiwiX1Jvb21Ob3RpZmljYXRpb25Db250ZXh0TWVudSIsIl9TcGFjZUNvbnRleHRNZW51IiwiX1Jvb21UaWxlIiwiX1VJQ29tcG9uZW50cyIsIl9VSUZlYXR1cmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJSb29tUmVzdWx0Q29udGV4dE1lbnVzIiwicm9vbSIsIm5vdGlmaWNhdGlvblN0YXRlIiwidXNlTm90aWZpY2F0aW9uU3RhdGUiLCJnZW5lcmFsTWVudVBvc2l0aW9uIiwic2V0R2VuZXJhbE1lbnVQb3NpdGlvbiIsInVzZVN0YXRlIiwibm90aWZpY2F0aW9uTWVudVBvc2l0aW9uIiwic2V0Tm90aWZpY2F0aW9uTWVudVBvc2l0aW9uIiwiZ2VuZXJhbE1lbnUiLCJpc1NwYWNlUm9vbSIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJjb250ZXh0TWVudUJlbG93Iiwic3BhY2UiLCJvbkZpbmlzaGVkIiwiUm9vbUdlbmVyYWxDb250ZXh0TWVudSIsIm5vdGlmaWNhdGlvbk1lbnUiLCJSb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnUiLCJub3RpZmljYXRpb25NZW51Q2xhc3NlcyIsImNsYXNzTmFtZXMiLCJteF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGwiLCJSb29tTm90aWZTdGF0ZSIsIkFsbE1lc3NhZ2VzIiwibXhfUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51X2ljb25CZWxsRG90IiwiQWxsTWVzc2FnZXNMb3VkIiwibXhfUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51X2ljb25CZWxsTWVudGlvbnMiLCJNZW50aW9uc09ubHkiLCJteF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGxDcm9zc2VkIiwiTXV0ZSIsIkZyYWdtZW50Iiwic2hvdWxkU2hvd0NvbXBvbmVudCIsIlVJQ29tcG9uZW50IiwiUm9vbU9wdGlvbnNNZW51IiwiQ29udGV4dE1lbnVUb29sdGlwQnV0dG9uIiwiY2xhc3NOYW1lIiwib25DbGljayIsImV2IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0aXRsZSIsIl90IiwiaXNFeHBhbmRlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3Mvc3BvdGxpZ2h0L1Jvb21SZXN1bHRDb250ZXh0TWVudXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxLCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgeyBSb29tIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBDb250ZXh0TWVudVRvb2x0aXBCdXR0b24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vYWNjZXNzaWJpbGl0eS9jb250ZXh0X21lbnUvQ29udGV4dE1lbnVUb29sdGlwQnV0dG9uXCI7XG5pbXBvcnQgeyB1c2VOb3RpZmljYXRpb25TdGF0ZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9ob29rcy91c2VSb29tTm90aWZpY2F0aW9uU3RhdGVcIjtcbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgUm9vbU5vdGlmU3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vUm9vbU5vdGlmc1wiO1xuaW1wb3J0IHsgUm9vbUdlbmVyYWxDb250ZXh0TWVudSB9IGZyb20gXCIuLi8uLi9jb250ZXh0X21lbnVzL1Jvb21HZW5lcmFsQ29udGV4dE1lbnVcIjtcbmltcG9ydCB7IFJvb21Ob3RpZmljYXRpb25Db250ZXh0TWVudSB9IGZyb20gXCIuLi8uLi9jb250ZXh0X21lbnVzL1Jvb21Ob3RpZmljYXRpb25Db250ZXh0TWVudVwiO1xuaW1wb3J0IFNwYWNlQ29udGV4dE1lbnUgZnJvbSBcIi4uLy4uL2NvbnRleHRfbWVudXMvU3BhY2VDb250ZXh0TWVudVwiO1xuaW1wb3J0IHsgQnV0dG9uRXZlbnQgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuaW1wb3J0IHsgY29udGV4dE1lbnVCZWxvdyB9IGZyb20gXCIuLi8uLi9yb29tcy9Sb29tVGlsZVwiO1xuaW1wb3J0IHsgc2hvdWxkU2hvd0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi8uLi9jdXN0b21pc2F0aW9ucy9oZWxwZXJzL1VJQ29tcG9uZW50c1wiO1xuaW1wb3J0IHsgVUlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2V0dGluZ3MvVUlGZWF0dXJlXCI7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gICAgcm9vbTogUm9vbTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvb21SZXN1bHRDb250ZXh0TWVudXMoeyByb29tIH06IFByb3BzKTogSlNYLkVsZW1lbnQge1xuICAgIGNvbnN0IFtub3RpZmljYXRpb25TdGF0ZV0gPSB1c2VOb3RpZmljYXRpb25TdGF0ZShyb29tKTtcblxuICAgIGNvbnN0IFtnZW5lcmFsTWVudVBvc2l0aW9uLCBzZXRHZW5lcmFsTWVudVBvc2l0aW9uXSA9IHVzZVN0YXRlPERPTVJlY3QgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbbm90aWZpY2F0aW9uTWVudVBvc2l0aW9uLCBzZXROb3RpZmljYXRpb25NZW51UG9zaXRpb25dID0gdXNlU3RhdGU8RE9NUmVjdCB8IG51bGw+KG51bGwpO1xuXG4gICAgbGV0IGdlbmVyYWxNZW51OiBKU1guRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBpZiAoZ2VuZXJhbE1lbnVQb3NpdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAocm9vbS5pc1NwYWNlUm9vbSgpKSB7XG4gICAgICAgICAgICBnZW5lcmFsTWVudSA9IChcbiAgICAgICAgICAgICAgICA8U3BhY2VDb250ZXh0TWVudVxuICAgICAgICAgICAgICAgICAgICB7Li4uY29udGV4dE1lbnVCZWxvdyhnZW5lcmFsTWVudVBvc2l0aW9uKX1cbiAgICAgICAgICAgICAgICAgICAgc3BhY2U9e3Jvb219XG4gICAgICAgICAgICAgICAgICAgIG9uRmluaXNoZWQ9eygpID0+IHNldEdlbmVyYWxNZW51UG9zaXRpb24obnVsbCl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBnZW5lcmFsTWVudSA9IChcbiAgICAgICAgICAgICAgICA8Um9vbUdlbmVyYWxDb250ZXh0TWVudVxuICAgICAgICAgICAgICAgICAgICB7Li4uY29udGV4dE1lbnVCZWxvdyhnZW5lcmFsTWVudVBvc2l0aW9uKX1cbiAgICAgICAgICAgICAgICAgICAgcm9vbT17cm9vbX1cbiAgICAgICAgICAgICAgICAgICAgb25GaW5pc2hlZD17KCkgPT4gc2V0R2VuZXJhbE1lbnVQb3NpdGlvbihudWxsKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldCBub3RpZmljYXRpb25NZW51OiBKU1guRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBpZiAobm90aWZpY2F0aW9uTWVudVBvc2l0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIG5vdGlmaWNhdGlvbk1lbnUgPSAoXG4gICAgICAgICAgICA8Um9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51XG4gICAgICAgICAgICAgICAgey4uLmNvbnRleHRNZW51QmVsb3cobm90aWZpY2F0aW9uTWVudVBvc2l0aW9uKX1cbiAgICAgICAgICAgICAgICByb29tPXtyb29tfVxuICAgICAgICAgICAgICAgIG9uRmluaXNoZWQ9eygpID0+IHNldE5vdGlmaWNhdGlvbk1lbnVQb3NpdGlvbihudWxsKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uTWVudUNsYXNzZXMgPSBjbGFzc05hbWVzKFwibXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9uc1wiLCB7XG4gICAgICAgIC8vIFNob3cgYmVsbCBpY29uIGZvciB0aGUgZGVmYXVsdCBjYXNlIHRvby5cbiAgICAgICAgbXhfUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51X2ljb25CZWxsOiBub3RpZmljYXRpb25TdGF0ZSA9PT0gUm9vbU5vdGlmU3RhdGUuQWxsTWVzc2FnZXMsXG4gICAgICAgIG14X1Jvb21Ob3RpZmljYXRpb25Db250ZXh0TWVudV9pY29uQmVsbERvdDogbm90aWZpY2F0aW9uU3RhdGUgPT09IFJvb21Ob3RpZlN0YXRlLkFsbE1lc3NhZ2VzTG91ZCxcbiAgICAgICAgbXhfUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51X2ljb25CZWxsTWVudGlvbnM6IG5vdGlmaWNhdGlvblN0YXRlID09PSBSb29tTm90aWZTdGF0ZS5NZW50aW9uc09ubHksXG4gICAgICAgIG14X1Jvb21Ob3RpZmljYXRpb25Db250ZXh0TWVudV9pY29uQmVsbENyb3NzZWQ6IG5vdGlmaWNhdGlvblN0YXRlID09PSBSb29tTm90aWZTdGF0ZS5NdXRlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAge3Nob3VsZFNob3dDb21wb25lbnQoVUlDb21wb25lbnQuUm9vbU9wdGlvbnNNZW51KSAmJiAoXG4gICAgICAgICAgICAgICAgPENvbnRleHRNZW51VG9vbHRpcEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51XCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGV2OiBCdXR0b25FdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldi50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRHZW5lcmFsTWVudVBvc2l0aW9uKHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXtyb29tLmlzU3BhY2VSb29tKCkgPyBfdChcInNwYWNlfGNvbnRleHRfbWVudXxvcHRpb25zXCIpIDogX3QoXCJyb29tfGNvbnRleHRfbWVudXx0aXRsZVwiKX1cbiAgICAgICAgICAgICAgICAgICAgaXNFeHBhbmRlZD17Z2VuZXJhbE1lbnVQb3NpdGlvbiAhPT0gbnVsbH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshcm9vbS5pc1NwYWNlUm9vbSgpICYmIChcbiAgICAgICAgICAgICAgICA8Q29udGV4dE1lbnVUb29sdGlwQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uTWVudUNsYXNzZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhldjogQnV0dG9uRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXYudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uTWVudVBvc2l0aW9uKHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXtfdChcInJvb21fbGlzdHxub3RpZmljYXRpb25fb3B0aW9uc1wiKX1cbiAgICAgICAgICAgICAgICAgICAgaXNFeHBhbmRlZD17bm90aWZpY2F0aW9uTWVudVBvc2l0aW9uICE9PSBudWxsfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2dlbmVyYWxNZW51fVxuICAgICAgICAgICAge25vdGlmaWNhdGlvbk1lbnV9XG4gICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFG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