// frontend/lib/ats/jobs-sort.ts

type Job = {
  id: number;
  title: string;
  created_at: string;
  total_candidates?: number;
  to_review?: number;
};

/**
 * Tri métier des offres :
 * 1. Urgence (à traiter en priorité)
 * 2. Volume candidats
 * 3. Nouveauté
 */
export function sort_jobs(jobs: Job[]): Job[] {
  return [...jobs].sort((a, b) => {
    const aUrgent = a.to_review ?? 0;
    const bUrgent = b.to_review ?? 0;
    if (aUrgent !== bUrgent) return bUrgent - aUrgent;

    const aTotal = a.total_candidates ?? 0;
    const bTotal = b.total_candidates ?? 0;
    if (aTotal !== bTotal) return bTotal - aTotal;

    const aDate = new Date(a.created_at).getTime();
    const bDate = new Date(b.created_at).getTime();
    return bDate - aDate;
  });
}
