fix
All checks were successful
Build And Deploy Main / build-and-deploy (push) Successful in 33s

This commit is contained in:
2026-03-12 17:38:47 -04:00
parent 03fde54561
commit 190f6bb1a0

View File

@@ -196,17 +196,70 @@ const RouteView = () => {
}, [currentRoute?.driver, currentDriver?.id]); }, [currentRoute?.driver, currentDriver?.id]);
useEffect(() => { useEffect(() => {
const dateArr = moment(currentRoute?.schedule_date)?.format('MM/DD/YYYY')?.split('/') || []; let isMounted = true;
const loadSignatureAndRequest = async () => {
CustomerService.getAvatar(`${currentRoute?.id}_${currentRoute?.driver}_${dateArr[0]}_${dateArr[1]}`).then(data => { if (!currentRoute?.id || !currentRoute?.schedule_date) {
setSignature(data.data); if (isMounted) {
}); setSignature(undefined);
SignatureRequestService.getAllSignatureRequests({driver_id: resolvedDriverId, route_id: currentRoute?.id, route_date: currentRoute?.schedule_date}).then((data) => { setSignatureRequest(undefined);
if (data?.data?.length > 0) { }
setSignatureRequest(data?.data[0]); return;
} }
}) const dateArr = moment(currentRoute.schedule_date)?.format('MM/DD/YYYY')?.split('/') || [];
}, [currentRoute, resolvedDriverId]); const month = dateArr[0];
const day = dateArr[1];
const routeId = currentRoute.id;
const tryLoadSignature = async (driverIds = []) => {
const uniqueDriverIds = Array.from(new Set((driverIds || []).filter(Boolean)));
for (const driverId of uniqueDriverIds) {
try {
const data = await CustomerService.getAvatar(`${routeId}_${driverId}_${month}_${day}`);
if (data?.data) {
return data.data;
}
} catch (error) {
// Try next candidate key.
}
}
return undefined;
};
const initialSignature = await tryLoadSignature([
resolvedDriverId,
currentRoute?.driver,
routeSnapshot?.driver
]);
if (isMounted) {
setSignature(initialSignature);
}
try {
const requestRes = await SignatureRequestService.getAllSignatureRequests({
route_id: routeId,
route_date: currentRoute.schedule_date
});
const firstRequest = requestRes?.data?.[0];
if (isMounted) {
setSignatureRequest(firstRequest);
}
if (!initialSignature && firstRequest?.driver_id) {
const signatureFromRequestDriver = await tryLoadSignature([firstRequest.driver_id]);
if (isMounted) {
setSignature(signatureFromRequestDriver);
}
}
} catch (error) {
if (isMounted) {
setSignatureRequest(undefined);
}
}
};
loadSignatureAndRequest();
return () => {
isMounted = false;
};
}, [currentRoute?.id, currentRoute?.schedule_date, currentRoute?.driver, resolvedDriverId, routeSnapshot?.driver]);
return ( return (
<> <>
<div className="list row mb-4"> <div className="list row mb-4">