import { useMemo } from 'react';
import { useSelector } from 'react-redux';

import { RootState } from '@/lib/redux/store';

type ModulePermission = {
    module_type: string;
    permission_name: string;
};

export const usePermissions = () => {
    const user = useSelector((state: RootState) => state.auth || []);

    return useMemo(() => {
        const permissions: Record<string, string> = {};
        Array.isArray(user?.modules) &&
            user?.modules?.forEach(({ module_type, permission_name }: ModulePermission) => {
                permissions[module_type] = permission_name;
            });
        return permissions;
    }, [user]);
};
