import { useMemo } from 'react';
import { usePermissions } from '@/features/auth/hooks/usePermissions';
import type { NavItemConfig } from '@/shared/config/navConfig';

export function useVisibleNavItems(items: NavItemConfig[]): NavItemConfig[] {
  const { can, isSuperAdmin, isReady } = usePermissions();

  return useMemo(() => {
    if (!isReady) {
      return [];
    }

    return items.filter((item) => {
      if (item.superAdminOnly) {
        return isSuperAdmin;
      }
      if (!item.permission) {
        return true;
      }
      return can(item.permission);
    });
  }, [items, can, isSuperAdmin, isReady]);
}
