import { useEffect, useState } from "react";
import { getPullCodeAlerts } from "~/fns/security";
export type PullCodeAlert = Awaited<ReturnType<typeof getPullCodeAlerts>>[number];
/** Fetches code scanning alerts for a pull request after render, so diffs load without waiting on them. */
export function usePullCodeAlerts(owner: string, repo: string, number: number): PullCodeAlert[] {
const [alerts, setAlerts] = useState<PullCodeAlert[]>([]);
useEffect(() => {
let cancelled = false;
getPullCodeAlerts({ data: { owner, repo, number } })
.then((rows) => {
if (!cancelled) setAlerts(rows);
})
.catch(() => undefined);
return () => {
cancelled = true;
};
}, [owner, repo, number]);
return alerts;
}