feat: redesign dashboard around place search
This commit is contained in:
@@ -5,7 +5,9 @@ import {
|
||||
} from "@/lib/weather-utils";
|
||||
import type {
|
||||
HydroStation,
|
||||
MeteoStationPosition,
|
||||
RawHydroStation,
|
||||
RawMeteoStation,
|
||||
RawSynopStation,
|
||||
RawWarning,
|
||||
SynopStation,
|
||||
@@ -39,6 +41,16 @@ export async function fetchHydroStations(signal?: AbortSignal): Promise<HydroSta
|
||||
return rows.map(normalizeHydroStation).filter((station): station is HydroStation => station !== null);
|
||||
}
|
||||
|
||||
export async function fetchMeteoStationPositions(signal?: AbortSignal): Promise<MeteoStationPosition[]> {
|
||||
const rows = await getJson<RawMeteoStation[]>("meteo", signal);
|
||||
return rows.flatMap((row) => {
|
||||
const latitude = Number(row.lat);
|
||||
const longitude = Number(row.lon);
|
||||
if (!row.nazwa_stacji?.trim() || !Number.isFinite(latitude) || !Number.isFinite(longitude)) return [];
|
||||
return [{ name: row.nazwa_stacji, latitude, longitude }];
|
||||
});
|
||||
}
|
||||
|
||||
async function fetchWarningsByKind(kind: WarningKind, signal?: AbortSignal): Promise<WeatherWarning[]> {
|
||||
const rows = await getJson<RawWarning[]>(kind === "meteo" ? "warningsmeteo" : "warningshydro", signal);
|
||||
return Array.isArray(rows) ? rows.map((warning, index) => normalizeWarning(warning, kind, index)) : [];
|
||||
|
||||
Reference in New Issue
Block a user