'use client';

import type { ModalOpcaoAction } from '@/components/ModalOpcoesBase';
import type { ModuleRelatedLink } from './types';
import { relatedLinkIcon } from './relatedLinkIcon';

/**
 * Converte links relacionados em ações do modal «Mais opções» (grupo Navegação).
 */
export function relatedLinksToModalActions(
    links: ModuleRelatedLink[],
    onClose: () => void,
    pagePrefix: string,
): ModalOpcaoAction[] {
    return links.map((link) => ({
        key: link.key,
        label: link.label,
        icon: relatedLinkIcon(link.kind),
        href: link.href,
        onClick: onClose,
        testId: `${pagePrefix}-related-link-${link.key}`,
    }));
}
