'use client'; import { ToggleLeft, ToggleRight } from 'lucide-react'; import { Input } from '@/components/ui/input'; import { SystemSetting } from '@/lib/api'; import { getSettingMeta } from '@/lib/system-settings-catalog'; function parseBoolean(value: string) { return ['true', '1', 'yes'].includes(value.trim().toLowerCase()); } interface SettingsFieldRowProps { setting: SystemSetting; onChange: (value: string) => void; } export function SettingsFieldRow({ setting, onChange }: SettingsFieldRowProps) { const meta = getSettingMeta(setting.key); const label = meta?.label ?? setting.key; const type = meta?.type ?? 'text'; return (
{label}

{meta?.hint ?? setting.description ?? setting.key}

{type === 'boolean' ? ( ) : type === 'select' ? ( ) : ( <> onChange(event.target.value)} /> {meta?.unit ? {meta.unit} : null} )}
); }