/** * Component: Download Client Settings Tab * Documentation: documentation/settings-pages.md */ 'use client'; import React from 'react'; import { DownloadClientManagement } from '@/components/admin/download-clients/DownloadClientManagement'; import type { DownloadClientSettings } from '../../lib/types'; interface DownloadTabProps { downloadClient: DownloadClientSettings; onChange: (settings: DownloadClientSettings) => void; onValidationChange: (isValid: boolean) => void; } export function DownloadTab({ downloadClient, onChange, onValidationChange }: DownloadTabProps) { // Store callback in ref to avoid re-running effect when callback reference changes const onValidationChangeRef = React.useRef(onValidationChange); onValidationChangeRef.current = onValidationChange; // Validation is handled by the DownloadClientManagement component // At least one enabled client is required React.useEffect(() => { // Always valid in settings mode - validation handled by individual save operations onValidationChangeRef.current(true); }, []); // Empty deps - only run once on mount return (

Download Clients

Configure one or both download clients to enable automatic downloads. qBittorrent handles torrents, while SABnzbd handles Usenet/NZB downloads.

); }