RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/components/GenericMenu/hooks/useHandleMenuAction.tsx

Summary

Maintainability
A
0 mins
Test Coverage
import { useEffectEvent } from '@rocket.chat/fuselage-hooks';

import type { GenericMenuItemProps } from '../GenericMenuItem';

export const useHandleMenuAction = (items: GenericMenuItemProps[], callbackAction?: () => void) => {
    return useEffectEvent((id) => {
        const item = items.find((item) => item.id === id && !!item.onClick);
        if (item) {
            item.onClick?.();
            callbackAction?.();
        }
    });
};