import { useState } from "react"; import { useNavigate } from "react-router-dom"; import type { ProjectCard } from "@/shared/types"; import { formatRelativeTime, formatStars, totalFindings } from "../shared/lib/format"; import { SeverityBar } from "./SeverityBar"; function OwnerAvatar({ owner, compact = false }: { owner: string; compact?: boolean }) { const [failed, setFailed] = useState(false); const sizeClass = compact ? "h-7 w-7" : "h-8 w-8"; if (failed) { return (
setFailed(true)}
/>
);
}
export function ProjectRow({ project, compact = false }: { project: ProjectCard; compact?: boolean }) {
const nav = useNavigate();
const state = project.latest_scan?.state;
const scanning = state === "scanning" || state === "dispatching";
const waiting = state !== "completed" && !scanning;
const soFar = project.latest_scan?.findings_so_far ?? 0;
const findings = totalFindings(project.severity_counts);
return (
{project.description}
)}