sdlc-hub/web/src/api/closed.ts
2026-10-17 11:37:14 +04:00

15 lines
800 B
TypeScript

import { useMemo } from "react";
import { useSettings } from "./queries.ts";
import type { HubSettings } from "./types.ts";
// закрытые задачи (hide-closed): статус Jira из настройки closed_statuses; нет настройки или она не список — закрытых нет
export const closedStatuses = (s: HubSettings | undefined): Set<string> =>
new Set(Array.isArray(s?.closed_statuses) ? s.closed_statuses.filter((x): x is string => typeof x === "string") : []);
export const isClosed = (status: string | null | undefined, closed: Set<string>): boolean => !!status && closed.has(status);
export function useClosedStatuses(): Set<string> {
const settings = useSettings();
return useMemo(() => closedStatuses(settings.data), [settings.data]);
}