import { cn } from '@/lib/cn';

/** Couleur d'avatar par rôle (tokens uniquement — répartition de la maquette). */
const ROLE_TOKEN: Record<string, string> = {
  Administrateur: 'var(--graf-1)',
  Dispatcher: 'var(--primaire)',
  Technicien: 'var(--graf-3)',
  'Technicien limité': 'var(--st-encours)',
  Gestionnaire: 'var(--graf-4)',
  Demandeur: 'var(--st-annule)',
  'Vue seule': 'var(--safran)',
};

export function Avatar({
  initials,
  roleName,
  className,
}: {
  initials: string;
  roleName?: string;
  className?: string;
}) {
  const couleur = roleName ? ROLE_TOKEN[roleName] : undefined;
  return (
    <span
      className={cn('avatar', className)}
      style={couleur ? { background: couleur } : undefined}
      aria-hidden="true"
    >
      {initials}
    </span>
  );
}

export function initialsOf(displayName: string): string {
  return displayName
    .split(/\s+/)
    .filter(Boolean)
    .slice(0, 2)
    .map((w) => w[0]!.toUpperCase())
    .join('');
}
