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 && ( )} ))} )} ))} ); }
{release.title}