diff --git a/tradein-mvp/frontend/src/components/trade-in/v2/ParamsPanel.tsx b/tradein-mvp/frontend/src/components/trade-in/v2/ParamsPanel.tsx index 46d8e009..251e66e3 100644 --- a/tradein-mvp/frontend/src/components/trade-in/v2/ParamsPanel.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/v2/ParamsPanel.tsx @@ -911,6 +911,13 @@ export default function ParamsPanel({ let map: any = null; let cancelled = false; + // Reset a previous CDN failure before retrying. Without this the error + // branch is a dead end: it replaces the map container in the render tree, + // so mapContainerRef stays null and no later attempt can ever succeed — + // one transient unpkg blip would kill the map for the rest of the session + // even after the user picks a different address. + setMapLoadError(false); + loadLeaflet() .then((L) => { if (cancelled || !mapContainerRef.current || !coordsRef.current) return;