Files
wtr/lib/location-api.ts
zv ee55521803
All checks were successful
CI / Lint, typecheck and build (push) Successful in 9m56s
chore: add prettier formatting
2026-06-14 20:26:56 +02:00

25 lines
1.0 KiB
TypeScript

import type { Language } from "@/lib/i18n";
import type { LocationSearchResult, ReverseLocationResult } from "@/types/location";
export async function fetchLocations(
query: string,
language: Language,
signal?: AbortSignal,
): Promise<LocationSearchResult[]> {
const params = new URLSearchParams({ query, language });
const response = await fetch(`/api/locations/search?${params}`, { signal });
if (!response.ok) throw new Error("Location search is temporarily unavailable.");
return response.json() as Promise<LocationSearchResult[]>;
}
export async function fetchReverseLocation(
latitude: number,
longitude: number,
language: Language,
): Promise<ReverseLocationResult> {
const params = new URLSearchParams({ latitude: String(latitude), longitude: String(longitude), language });
const response = await fetch(`/api/locations/reverse?${params}`);
if (!response.ok) throw new Error("Reverse location search is temporarily unavailable.");
return response.json() as Promise<ReverseLocationResult>;
}