@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
41 lines (38 loc) • 2.26 kB
JavaScript
import { _ as __assign } from '../../chunks/bundle-DlZj_j5B.js';
import React__default, { useState } from 'react';
import { L as Label } from '../../chunks/bundle-FZ_FdxZT.js';
import Icon from '../../ui/Icon.js';
import { i as isOperator } from '../../chunks/bundle-Zll3bhLI.js';
import { MenuItem } from './ChannelSettingsMenuItem.js';
import { u as useChannelSettings } from '../../chunks/bundle-ab1EZFfD.js';
import '../../chunks/bundle-Dhutxl0X.js';
import '../../chunks/bundle-CaW4IP0_.js';
import '@sendbird/chat/message';
import '../../chunks/bundle-DxLnjDoJ.js';
import '../../chunks/bundle-D89Qj0P4.js';
import '../../chunks/bundle-C1jTnXNH.js';
import '../../chunks/bundle-C8kxBudB.js';
import '@sendbird/chat/groupChannel';
import '../../chunks/bundle-CSjCAZib.js';
import '../../chunks/bundle-CQBvCw9O.js';
import '../../chunks/bundle-tDk7wyaM.js';
import '../../chunks/bundle-BnaoVUUl.js';
import '@sendbird/chat';
import '@sendbird/chat/openChannel';
var MenuListByRole = function (_a) {
var menuItems = _a.menuItems;
var channel = useChannelSettings().state.channel;
var menuItemsByRole = isOperator(channel) ? menuItems.operator : menuItems.nonOperator;
// State to track the open accordion key
var _b = useState(null), openAccordionKey = _b[0], setOpenAccordionKey = _b[1];
return (React__default.createElement("div", { className: "sendbird-channel-settings__operator" }, Object.entries(menuItemsByRole).map(function (_a) {
var key = _a[0], item = _a[1];
if (item.hideMenu)
return null;
return (React__default.createElement(MenuItem, { key: key, onClick: item.onClick, onKeyDown: item.onKeyDown, renderLeft: function () { return React__default.createElement(Icon, __assign({}, item.icon)); }, renderMiddle: function () { return React__default.createElement(Label, __assign({}, item.label)); }, renderRight: item.rightComponent, renderAccordion: item.accordionComponent, accordionOpened: openAccordionKey === key, setAccordionOpened: function () {
setOpenAccordionKey(function (prevKey) { return (prevKey === key ? null : key); });
} }));
})));
};
export { MenuListByRole, MenuListByRole as default };
//# sourceMappingURL=ChannelSettingMenuList.js.map