fix(slot-definitions): make valid_from field required in generate modal
continuous-integration/drone/push Build is passing Details

- Set default value to today's date
- Add validation before form submission
- Update UI label to show required field with asterisk
- Fixes validation error: 'valid_from' required field
master
Guillermo Pages 1 month ago
parent 2d66d42629
commit 8e64360fe2

@ -33,7 +33,11 @@ export default function GenerateSlotDefinitionsModal({
// Form state
const [preset, setPreset] = useState<SlotDefinitionPreset>('workday_standard');
const [selectedCourtIds, setSelectedCourtIds] = useState<number[]>([]);
const [validFrom, setValidFrom] = useState('');
const [validFrom, setValidFrom] = useState(() => {
// Default to today's date in YYYY-MM-DD format
const today = new Date();
return today.toISOString().split('T')[0];
});
const [validTo, setValidTo] = useState('');
const [showAdvanced, setShowAdvanced] = useState(false);
@ -109,6 +113,11 @@ export default function GenerateSlotDefinitionsModal({
return;
}
if (!validFrom) {
setError('Please select a valid from date');
return;
}
setLoading(true);
setError(null);
@ -116,9 +125,9 @@ export default function GenerateSlotDefinitionsModal({
preset,
court_ids: selectedCourtIds,
pattern_overrides: buildPatternOverrides(),
valid_from: validFrom,
};
if (validFrom) request.valid_from = validFrom;
if (validTo) request.valid_to = validTo;
const result = await generateSlotDefinitions(clubId, request);
@ -223,7 +232,7 @@ export default function GenerateSlotDefinitionsModal({
<div className="grid grid-cols-2 gap-4">
<div>
<label className="block text-sm font-semibold text-slate-700 mb-2">
Valid From (Optional)
Valid From <span className="text-red-600">*</span>
</label>
<input
type="date"

Loading…
Cancel
Save