import type { App } from '@rocket.chat/core-typings';
import { MenuItem, MenuItemContent, MenuSection, Menu, Skeleton } from '@rocket.chat/fuselage';
import { useHandleMenuAction } from '@rocket.chat/ui-client';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
import type { AppMenuOption } from './hooks/useAppMenu';
import { useAppMenu } from './hooks/useAppMenu';
export type AppMenuProps = {
app: App;
isAppDetailsPage: boolean;
};
const AppMenu = ({ app, isAppDetailsPage }: AppMenuProps) => {
const { t } = useTranslation();
const { isLoading, isAdminUser, sections } = useAppMenu(app, isAppDetailsPage);
const itemsList = sections.reduce((acc, { items }) => [...acc, ...items], [] as AppMenuOption[]);
const onAction = useHandleMenuAction(itemsList);
const disabledKeys = itemsList.filter((item) => item.disabled).map((item) => item.id);
if (isLoading) {
return