RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/sidebarv2/header/actions/hooks/useMatrixFederationItems.ts

Summary

Maintainability
B
4 hrs
Test Coverage
import { useTranslation } from '@rocket.chat/ui-contexts';

import type { GenericMenuItemProps } from '../../../../components/GenericMenu/GenericMenuItem';
import MatrixFederationSearch from '../../MatrixFederationSearch';
import { useCreateRoomModal } from '../../hooks/useCreateRoomModal';

export const useMatrixFederationItems = ({
    isMatrixEnabled,
}: {
    isMatrixEnabled: string | number | boolean | null | undefined;
}): GenericMenuItemProps[] => {
    const t = useTranslation();

    const searchFederatedRooms = useCreateRoomModal(MatrixFederationSearch);

    const matrixFederationSearchItem: GenericMenuItemProps = {
        id: 'matrix-federation-search',
        content: t('Federation_Search_federated_rooms'),
        icon: 'magnifier',
        onClick: () => {
            searchFederatedRooms();
        },
    };

    return [...(isMatrixEnabled ? [matrixFederationSearchItem] : [])];
};