banatie-service/apps/landing/src/components/admin/AdminFormInput.tsx

37 lines
978 B
TypeScript

interface AdminFormInputProps {
label: string;
type?: string;
value: string;
onChange: (value: string) => void;
placeholder?: string;
required?: boolean;
className?: string;
}
export default function AdminFormInput({
label,
type = 'text',
value,
onChange,
placeholder,
required = false,
className = '',
}: AdminFormInputProps) {
return (
<div className={`space-y-2 ${className}`}>
<label className="block text-sm font-medium text-slate-300">
{label}
{required && <span className="text-amber-500 ml-1">*</span>}
</label>
<input
type={type}
value={value}
onChange={(e) => onChange(e.target.value)}
placeholder={placeholder}
required={required}
className="w-full px-4 py-3 bg-slate-900 border border-slate-700 rounded-lg text-slate-200 placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-amber-500 focus:border-transparent"
/>
</div>
);
}