import { useMemo } from 'react';
import type { TicketSummary } from '@/features/tickets/types/ticket.types';

export function useTicketFilterOptions(tickets: TicketSummary[]) {
  return useMemo(() => {
    const statusMap = new Map<string, TicketSummary['status']>();
    const priorityMap = new Map<string, TicketSummary['priority']>();

    tickets.forEach((ticket) => {
      statusMap.set(ticket.status.id, ticket.status);
      priorityMap.set(ticket.priority.id, ticket.priority);
    });

    return {
      statuses: Array.from(statusMap.values()).sort((a, b) =>
        a.name_en.localeCompare(b.name_en),
      ),
      priorities: Array.from(priorityMap.values()).sort(
        (a, b) => a.sort_order - b.sort_order,
      ),
    };
  }, [tickets]);
}
