import { useQuery } from "@tanstack/react-query"; import { getMetrics, getStatus, deleteRepo } from "../api/client"; import ChartPanel from "./ChartPanel"; import StatusBadge from "./StatusBadge"; import { useAppStore } from "../store/useAppStore"; import { useAutoRefresh } from "../hooks/useAutoRefresh"; export default function RepoCard({ repo }) { const { selectedRange, autoRefresh } = useAppStore(); const metricsQuery = useQuery({ queryKey: ["metrics", repo.id, selectedRange], queryFn: () => getMetrics(repo.id, selectedRange), }); const statusQuery = useQuery({ queryKey: ["status", repo.id], queryFn: () => getStatus(repo.id), }); useAutoRefresh(metricsQuery.refetch, autoRefresh); useAutoRefresh(statusQuery.refetch, autoRefresh); return (

{repo.namespace}/{repo.repo}

if (metricsQuery.isLoading) return

Loading...

; if (metricsQuery.isError) return

Error loading metrics

; {statusQuery.data && ( )} {metricsQuery.data ? ( <> ) : (

Loading...

)}
); }