// Geocoding ueber Nominatim (OpenStreetMap), kein API-Key notwendig.
// Wird genutzt, um aus einer Stadt/PLZ-Eingabe lat/lon fuer die Overpass-Umkreissuche zu ermitteln.
export interface GeocodeResult {
  lat: number;
  lon: number;
  displayName: string;
}

export async function geocodeCity(query: string): Promise<GeocodeResult | null> {
  const url = `https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(query)}`;
  const res = await fetch(url, {
    headers: {
      'User-Agent': 'Yumder/0.1 (contact: admin@mineco.de)',
    },
  });
  if (!res.ok) return null;
  const results = await res.json();
  if (!results.length) return null;
  return {
    lat: parseFloat(results[0].lat),
    lon: parseFloat(results[0].lon),
    displayName: results[0].display_name,
  };
}
