import { createFileRoute, Link } from "@tanstack/react-router";
import { getAdvisories } from "~/fns/advisories";
import { SeverityBadge } from "~/components/security/SeverityBadge";
import { buttonClass } from "~/ui/Button";
import { Badge } from "~/ui/Badge";
import { EmptyState } from "~/ui/EmptyState";
import { Panel } from "~/ui/Panel";
import { RelativeTime } from "~/ui/RelativeTime";
export const Route = createFileRoute("/$owner/$repo/security/advisories/")({
loader: ({ params }) => getAdvisories({ data: { owner: params.owner, repo: params.repo } }),
component: AdvisoriesPage,
});
const STATE_TONES = { triage: "warning", draft: "neutral", published: "success", closed: "neutral" } as const;
function AdvisoriesPage() {
const { advisories, canManage, canReport } = Route.useLoaderData();
const params = Route.useParams();
const actions = (
<>
{canReport && (
<Link
to="/$owner/$repo/security/advisories/new"
params={params}
search={{ mode: "report" }}
className={buttonClass("secondary", "sm")}
>
Report a vulnerability
</Link>
)}
{canManage && (
<Link
to="/$owner/$repo/security/advisories/new"
params={params}
search={{ mode: "draft" }}
className={buttonClass("primary", "sm")}
>
New draft advisory
</Link>