17 lines
1011 B
TypeScript
17 lines
1011 B
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>;
|
|
}
|