diff --git a/web-v2/src/pages/InspectionVisitCreateF61Page.tsx b/web-v2/src/pages/InspectionVisitCreateF61Page.tsx index 8dc7551..0a2daa7 100644 --- a/web-v2/src/pages/InspectionVisitCreateF61Page.tsx +++ b/web-v2/src/pages/InspectionVisitCreateF61Page.tsx @@ -49,6 +49,12 @@ function inspectorName(person: Inspector): string { return `${person.firstName} ${person.lastName}`.trim() || person.username; } +function currentLocalDateTime(): string { + const now = new Date(); + const local = new Date(now.getTime() - now.getTimezoneOffset() * 60_000); + return local.toISOString().slice(0, 16); +} + export function InspectionVisitCreateF61Page() { const navigate = useNavigate(); const [departments, setDepartments] = useState([]); @@ -61,8 +67,9 @@ export function InspectionVisitCreateF61Page() { const [yacimientoId, setYacimientoId] = useState(''); const [operatorId, setOperatorId] = useState(''); const [inspectorId, setInspectorId] = useState(''); - const [plannedStartAt, setPlannedStartAt] = useState(''); + const [plannedStartAt, setPlannedStartAt] = useState(currentLocalDateTime); const [loading, setLoading] = useState(true); + const [loadingOperators, setLoadingOperators] = useState(false); const [busy, setBusy] = useState(false); const [error, setError] = useState(''); @@ -110,12 +117,14 @@ export function InspectionVisitCreateF61Page() { const parsedStart = new Date(plannedStartAt); if (Number.isNaN(parsedStart.getTime())) return; const at = encodeURIComponent(parsedStart.toISOString()); + setLoadingOperators(true); requestJson<{ data: Option[] }>(`/inspection-visits/planning-context/areas/${areaId}/operators?at=${at}`) .then((response) => { setOperators(response.data); if (response.data.length === 1 && response.data[0]) setOperatorId(response.data[0].id); }) - .catch((cause) => setError(cause instanceof Error ? cause.message : String(cause))); + .catch((cause) => setError(cause instanceof Error ? cause.message : String(cause))) + .finally(() => setLoadingOperators(false)); }, [areaId, plannedStartAt]); const submit = async (event: FormEvent) => { @@ -201,10 +210,11 @@ export function InspectionVisitCreateF61Page() {