feat(geoportal): OpenFreeMap vector basemaps + eTerra ORTO 2024 ortophoto

Basemap options:
- Liberty (OpenFreeMap vector) — default, sharp vector tiles
- Dark (OpenFreeMap) — dark theme, auto-styled
- Satellite (ESRI World Imagery) — raster
- ANCPI Ortofoto 2024 — proxied via /api/eterra/tiles/orto, converts
  Web Mercator z/x/y to EPSG:3844 bbox, authenticates with eTerra
  session, caches 24h. Requires ETERRA_USERNAME/PASSWORD env vars.

Replaces old raster OSM/OpenTopoMap with vector styles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-23 18:43:21 +02:00
parent 06932b5ddc
commit 6c55264fa3
5 changed files with 197 additions and 48 deletions
@@ -1,14 +1,15 @@
"use client";
import { Map, Mountain, Satellite } from "lucide-react";
import { Map, Moon, Satellite, TreePine } from "lucide-react";
import { Button } from "@/shared/components/ui/button";
import { cn } from "@/shared/lib/utils";
import type { BasemapId } from "../types";
const BASEMAPS: { id: BasemapId; label: string; icon: typeof Map }[] = [
{ id: "osm", label: "Harta", icon: Map },
{ id: "liberty", label: "Harta", icon: Map },
{ id: "dark", label: "Dark", icon: Moon },
{ id: "satellite", label: "Satelit", icon: Satellite },
{ id: "topo", label: "Teren", icon: Mountain },
{ id: "orto", label: "ANCPI", icon: TreePine },
];
type BasemapSwitcherProps = {