RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/sidebar/header/actions/hooks/useAdministrationMenu.tsx

Summary

Maintainability
A
0 mins
Test Coverage
import { useTranslation } from '@rocket.chat/ui-contexts';

import type { GenericMenuItemProps } from '../../../../components/GenericMenu/GenericMenuItem';
import { useAdministrationItems } from './useAdministrationItems';
import { useAppsItems } from './useAppsItems';
import { useAuditItems } from './useAuditItems';

export const useAdministrationMenu = () => {
    const t = useTranslation();

    const administrationItems = useAdministrationItems();
    const appItems = useAppsItems();
    const auditItems = useAuditItems();

    return [
        administrationItems.length && { title: t('Administration'), items: administrationItems },
        appItems.length && { title: t('Apps'), items: appItems },
        auditItems.length && { title: t('Audit'), items: auditItems },
    ].filter(Boolean) as Array<{ title: string; items: GenericMenuItemProps[] }>;
};