// /components/mainComponent/hooks/useFetchWebServiceMap.js import { useEffect, useState } from "react"; const API_BASE_URL = process.env.NEXT_PUBLIC_API_PORT_3000; // API-URL aus .env.local const useFetchPoiData = (setPoiTypMap, setPoiData) => { useEffect(() => { //console.log(`🌍 API_BASE_URL aus .env.local: ${API_BASE_URL}`); //console.log("βœ… useFetchPoiData wurde gestartet..."); // console.log(`🌍 API_BASE_URL: ${API_BASE_URL}`); // Debugging: PrΓΌfen, ob die Umgebungsvariable korrekt geladen wird const fetchPoiTypData = async () => { try { console.log("πŸ“‘ Lade POI-Typ-Daten..."); const response = await fetch(`${API_BASE_URL}/api/talas_v5_DB/poiTyp/readPoiTyp`); const data = await response.json(); if (!Array.isArray(data)) { console.warn(`⚠️ Unerwartetes Format: ${JSON.stringify(data)}`); throw new Error("Daten sind kein Array"); } const map = new Map(); data.forEach((item) => map.set(item.idPoiTyp, item.name)); setPoiTypMap(map); //console.log("βœ… POI-Typ-Daten erfolgreich geladen!"); } catch (error) { console.error("❌ Fehler beim Abrufen der POI-Typ-Daten:", error); } }; const fetchPoiData = async () => { try { //console.log("πŸ“‘ Lade POI-Icons..."); const response = await fetch(`${API_BASE_URL}/api/talas_v5_DB/pois/poi-icons`); if (!response.ok) { throw new Error(`Netzwerkantwort war nicht ok, Status: ${response.status}`); } const data = await response.json(); setPoiData(data); //console.log("βœ… POI-Icons erfolgreich geladen!", data); } catch (error) { console.error("❌ Fehler beim Abrufen der POI-Daten:", error); } }; fetchPoiTypData(); fetchPoiData(); }, [setPoiTypMap, setPoiData]); }; export default useFetchPoiData;