Files
sam-react-prod/src/components/items/DynamicItemForm/fields/DateField.tsx

45 lines
1.1 KiB
TypeScript
Raw Normal View History

/**
*
* ItemForm과 100%
*/
'use client';
import { Label } from '@/components/ui/label';
import { DatePicker } from '@/components/ui/date-picker';
import type { DynamicFieldRendererProps } from '../types';
export function DateField({
field,
value,
onChange,
error,
disabled,
}: DynamicFieldRendererProps) {
const fieldKey = field.field_key || `field_${field.id}`;
const stringValue = value !== null && value !== undefined ? String(value) : '';
return (
<div>
<Label htmlFor={fieldKey}>
{field.field_name}
{field.is_required && <span className="text-red-500"> *</span>}
</Label>
<DatePicker
value={stringValue}
onChange={(date) => onChange(date)}
disabled={disabled}
className={error ? 'border-red-500' : ''}
/>
{error && (
<p className="text-xs text-red-500 mt-1">{error}</p>
)}
{!error && field.description && (
<p className="text-xs text-muted-foreground mt-1">
* {field.description}
</p>
)}
</div>
);
}