feat: auto-calculate deadlines on proceeding type selection (no click needed)

This commit is contained in:
m
2026-03-30 19:41:02 +02:00
parent 501b573967
commit 260f65ea02

View File

@@ -51,13 +51,28 @@ export function DeadlineCalculator() {
}) => api.post<CalculateResponse>("/deadlines/calculate", params),
});
// Auto-calculate when proceeding type changes (using current trigger date)
function doCalculate(type: string, date: string) {
if (!type || !date) return;
calculateMutation.mutate({
proceeding_type: type,
trigger_event_date: date,
});
}
function handleProceedingChange(newType: string) {
setProceedingType(newType);
doCalculate(newType, triggerDate);
}
function handleDateChange(newDate: string) {
setTriggerDate(newDate);
if (proceedingType) doCalculate(proceedingType, newDate);
}
function handleCalculate(e: React.FormEvent) {
e.preventDefault();
if (!proceedingType || !triggerDate) return;
calculateMutation.mutate({
proceeding_type: proceedingType,
trigger_event_date: triggerDate,
});
doCalculate(proceedingType, triggerDate);
}
const results = calculateMutation.data;
@@ -80,7 +95,7 @@ export function DeadlineCalculator() {
</label>
<select
value={proceedingType}
onChange={(e) => setProceedingType(e.target.value)}
onChange={(e) => handleProceedingChange(e.target.value)}
disabled={typesLoading}
className={inputClass}
>
@@ -131,7 +146,7 @@ export function DeadlineCalculator() {
<input
type="date"
value={triggerDate}
onChange={(e) => setTriggerDate(e.target.value)}
onChange={(e) => handleDateChange(e.target.value)}
className={inputClass}
/>
</div>