import {artisteHref} from './artisteHref';
import {annuaireEntreeHref} from './annuaireEntreeHref';
import type {ActeurType, ActeurVille} from '@/types/ville';

const FICHES: Record<Exclude<ActeurType, 'artiste' | 'annuaire'>, string> = {
  groupe: 'groupes',
  ensemble: 'ensembles-traditionnels',
};

/** URL de la fiche publique d'un acteur selon sa nature (artiste, groupe, ensemble, entrée simple). */
export function acteurHref(locale: string, acteur: Pick<ActeurVille, 'type' | 'cibleId' | 'aenLibelle'>): string {
  if (acteur.type === 'artiste') return artisteHref(locale, acteur.cibleId, acteur.aenLibelle);
  if (acteur.type === 'annuaire') return annuaireEntreeHref(locale, acteur.cibleId, acteur.aenLibelle);
  return `/${locale}/${FICHES[acteur.type]}/${acteur.cibleId}`;
}
