"use client"; import { useState } from "react"; import { SettingsSection, SettingsRow, SettingsInput, SettingsToggle } from "../ui"; import { SystemSettings } from "../../types"; import { InlineStatus, StatusType } from "@/components/ui/InlineStatus"; interface LidarrSectionProps { settings: SystemSettings; onUpdate: (updates: Partial) => void; onTest: (service: string) => Promise<{ success: boolean; version?: string; error?: string }>; isTesting: boolean; } export function LidarrSection({ settings, onUpdate, onTest, isTesting }: LidarrSectionProps) { const [testStatus, setTestStatus] = useState("idle"); const [testMessage, setTestMessage] = useState(""); const handleTest = async () => { setTestStatus("loading"); setTestMessage("Testing..."); const result = await onTest("lidarr"); if (result.success) { setTestStatus("success"); setTestMessage(result.version ? `v${result.version}` : "Connected"); } else { setTestStatus("error"); setTestMessage(result.error || "Failed"); } }; return ( onUpdate({ lidarrEnabled: checked })} /> {settings.lidarrEnabled && ( <> onUpdate({ lidarrUrl: v })} placeholder="http://localhost:8686" className="w-64" /> onUpdate({ lidarrApiKey: v })} placeholder="Enter API key" className="w-64" />
setTestStatus("idle")} />
)}
); }