'use client'; import Input from '@/components/ui/Input'; interface DurationFieldProps { label: string; value: number | ''; onChange: (value: number | '') => void; helperText?: string; required?: boolean; disabled?: boolean; unit?: 'minutes' | 'laps'; error?: string; } export default function DurationField({ label, value, onChange, helperText, required, disabled, unit = 'minutes', error, }: DurationFieldProps) { const handleChange = (raw: string) => { if (raw.trim() === '') { onChange(''); return; } const parsed = parseInt(raw, 10); if (Number.isNaN(parsed) || parsed <= 0) { onChange(''); return; } onChange(parsed); }; const unitLabel = unit === 'laps' ? 'laps' : 'min'; return (
handleChange(e.target.value)} disabled={disabled} min={1} className="pr-16" error={!!error} />
{unitLabel}
{helperText && (

{helperText}

)} {error && (

{error}

)}
); }