"use client"; import type { Hydrology, HydrologyNearest } from "@/types/site-finder"; interface Props { hydrology: Hydrology; } const SUBTYPE_ICON: Record = { river: "🏞", stream: "💦", lake_or_pond: "🪷", canal: "🚣", }; function subtypeLabel(subtype: HydrologyNearest["subtype"]): string { switch (subtype) { case "river": return "река"; case "stream": return "ручей"; case "lake_or_pond": return "озеро/пруд"; case "canal": return "канал"; default: return "водоём"; } } export function HydrologyBlock({ hydrology }: Props) { const top5 = hydrology.nearest.slice(0, 5); return (
Гидрология
{/* Flood risk banner */} {hydrology.flood_risk_flag && (
Возможная пойма — река/канал в <200м
)} {/* Nearest water bodies */} {top5.length === 0 ? (
Поблизости водных объектов нет
) : (
{top5.map((item, i) => { const icon = SUBTYPE_ICON[item.subtype ?? ""] ?? "💧"; const label = subtypeLabel(item.subtype); const name = item.name ?? "б/н"; return (
{icon} {name} {label} — {Math.round(item.distance_m)} м
); })}
)} {/* Note */} {hydrology.note && (
{hydrology.note}
)}
); }