diff --git a/frontend/src/components/DirectionsPanel.jsx b/frontend/src/components/DirectionsPanel.jsx index d8ac724..6bd7339 100644 --- a/frontend/src/components/DirectionsPanel.jsx +++ b/frontend/src/components/DirectionsPanel.jsx @@ -166,6 +166,7 @@ export default function DirectionsPanel({ onClose }) { lon: newOriginItem.data.lon, name: newOriginItem.data.name, source: newOriginItem.data.source, + category: newOriginItem.data?.category ?? null, } : null const newDest = newDestItem?.data ? { @@ -173,6 +174,7 @@ export default function DirectionsPanel({ onClose }) { lon: newDestItem.data.lon, name: newDestItem.data.name, source: newDestItem.data.source, + category: newDestItem.data?.category ?? null, } : null const newStops = newStopItems.map((item) => ({ diff --git a/frontend/src/components/LocationInput.jsx b/frontend/src/components/LocationInput.jsx index eb0a204..38a3d05 100644 --- a/frontend/src/components/LocationInput.jsx +++ b/frontend/src/components/LocationInput.jsx @@ -167,6 +167,8 @@ export default function LocationInput({ name: result.name, source: result.source, matchCode: result.match_code, + // OSM key:value hint for Auto mode's type-hint fast path (null -> spatial fallback) + category: (result.raw?.osm_key && result.raw?.osm_value) ? `${result.raw.osm_key}:${result.raw.osm_value}` : null, }) setQuery(result.name) setResults([]) diff --git a/frontend/src/components/SearchBar.jsx b/frontend/src/components/SearchBar.jsx index 1215a08..894775a 100644 --- a/frontend/src/components/SearchBar.jsx +++ b/frontend/src/components/SearchBar.jsx @@ -194,7 +194,7 @@ const SearchBar = forwardRef(function SearchBar(_, ref) { } if (pending) { - addStop({ lat: result.lat, lon: result.lon, name: result.name, source: result.source, matchCode: result.match_code }) + addStop({ lat: result.lat, lon: result.lon, name: result.name, source: result.source, matchCode: result.match_code, category: (result.raw?.osm_key && result.raw?.osm_value) ? `${result.raw.osm_key}:${result.raw.osm_value}` : null }) addStop({ lat: pending.lat, lon: pending.lon, name: pending.name, source: pending.source, matchCode: pending.matchCode }) clearPendingDestination() toast(`Routing from ${result.name} to ${pending.name}`, { icon: '\u{1F9ED}' }) @@ -208,6 +208,8 @@ const SearchBar = forwardRef(function SearchBar(_, ref) { source: result.source, matchCode: result.match_code, raw: result.raw || {}, + // OSM key:value hint for Auto mode (null -> spatial fallback) + category: (result.raw?.osm_key && result.raw?.osm_value) ? `${result.raw.osm_key}:${result.raw.osm_value}` : null, }) // Set click marker for two-click model consistency setClickMarker({