"use client";

import { useQuery } from "@tanstack/react-query";

import {
  getIssueStatuses,
  type IssueStatusLookup,
} from "@/features/ministry/meeting-summary/meeting-summary-service";

export const ISSUE_RESOLUTION_STATUS_CODES = [
  "IN_PROGRESS",
  "SOLVED",
  "NOT_ADDRESSED",
] as const;

const RESOLUTION_STATUS_CODE_SET = new Set<string>(ISSUE_RESOLUTION_STATUS_CODES);

export function filterIssueResolutionStatuses(
  statuses: IssueStatusLookup[],
): IssueStatusLookup[] {
  return statuses.filter((status) => RESOLUTION_STATUS_CODE_SET.has(status.code));
}

export function useIssueStatusOptions() {
  return useQuery({
    queryKey: ["working-group-issues", "statuses"],
    queryFn: getIssueStatuses,
    staleTime: 5 * 60 * 1000,
    select: filterIssueResolutionStatuses,
  });
}
