"use client"; export interface FreeProxyRowData { id: string; source: string; host: string; port: number; type: string; countryCode: string | null; qualityScore: number | null; latencyMs: number | null; anonymity: string | null; inPool: boolean; } interface FreeProxyRowProps { proxy: FreeProxyRowData; selected: boolean; onToggleSelect: (id: string) => void; onAddToPool: (id: string) => void; adding: boolean; } export default function FreeProxyRow({ proxy, selected, onToggleSelect, onAddToPool, adding, }: FreeProxyRowProps) { const qualityColor = proxy.qualityScore == null ? "text-text-muted" : proxy.qualityScore >= 80 ? "text-emerald-400" : proxy.qualityScore >= 50 ? "text-yellow-400" : "text-red-400"; return ( onToggleSelect(proxy.id)} className="rounded" disabled={proxy.inPool} aria-label={`Select ${proxy.host}:${proxy.port}`} /> {proxy.source} {proxy.host}:{proxy.port} {proxy.type} {proxy.countryCode || "—"} {proxy.qualityScore != null ? proxy.qualityScore : "—"} {proxy.latencyMs != null ? `${proxy.latencyMs}ms` : "—"} {proxy.inPool ? ( in pool ) : ( )} ); }