import Link from "next/link"; import { Card, CardHeader, CardTitle, CardDescription, CardContent, StatBox } from "@/app/components/ui"; import { QbittorrentProvider, QbittorrentDownloadButton } from "@/app/components/QbittorrentDownloadButton"; import type { DownloadDetectionReportDto, DownloadDetectionResultDto } from "@/lib/api"; import type { TranslateFunction } from "@/lib/i18n/dictionaries"; export function DownloadDetectionReportCard({ report, t }: { report: DownloadDetectionReportDto; t: TranslateFunction }) { return ( {t("jobDetail.downloadDetectionReport")} {t("jobDetail.seriesAnalyzed", { count: String(report.total_series) })}
0 ? "error" : "default"} />
); } export function DownloadDetectionResultsCard({ results, libraryId, t }: { results: DownloadDetectionResultDto[]; libraryId: string | null; t: TranslateFunction; }) { if (results.length === 0) return null; return ( {t("jobDetail.downloadAvailableReleases")} {t("jobDetail.downloadAvailableReleasesDesc", { count: String(results.length) })} {results.map((r) => (
{libraryId ? ( {r.series_name} ) : ( {r.series_name} )} {t("jobDetail.downloadMissingCount", { count: String(r.missing_count) })}
{r.available_releases && r.available_releases.length > 0 && (
{r.available_releases.map((release, idx) => (

{release.title}

{release.indexer && ( {release.indexer} )} {release.seeders != null && ( {release.seeders} {t("prowlarr.columnSeeders").toLowerCase()} )} {(release.size / 1024 / 1024).toFixed(0)} MB
{release.matched_missing_volumes.map((vol) => ( T.{vol} ))}
{release.download_url && ( )}
))}
)}
))}
); }