diff --git a/backend/src/Controller/SpotScoreController.php b/backend/src/Controller/SpotScoreController.php index 2d240f8..fc89a6d 100644 --- a/backend/src/Controller/SpotScoreController.php +++ b/backend/src/Controller/SpotScoreController.php @@ -49,6 +49,16 @@ class SpotScoreController extends AbstractController $current = $this->scoreService->getCachedScore($id); } + $patches = $this->loadPatches($id); + + // La distance issue des patches (ST_Dump live) est plus fiable que + // distance_to_nearest_sargassum stockée (peut venir d'une obs lointaine). + // On l'utilise comme référence si des patches sont détectés à proximité. + if ($current !== null && !empty($patches)) { + $minPatchDist = min(array_column($patches, 'distanceKm')); + $current['distance'] = $minPatchDist; + } + $currentDistanceKm = $current !== null ? $current['distance'] : null; return $this->json([ @@ -57,7 +67,7 @@ class SpotScoreController extends AbstractController 'type' => $spot->getType(), 'region' => $spot->getRegion(), 'score' => $current, - 'patches' => $this->loadPatches($id), + 'patches' => $patches, 'horizons' => $this->loadHorizonScores($id, $currentDistanceKm), ]); }