// hooks/useMapComponentState.js import { useState, useEffect } from "react"; import usePoiTypData from "./usePoiTypData"; import { useRecoilValue } from "recoil"; import { poiLayerVisibleState } from "../redux/slices/poiLayerVisibleSlice"; import { isMockMode } from "../config/config"; export const useMapComponentState = () => { const { poiTypData, isPoiTypLoaded } = usePoiTypData("/api/talas_v5_DB/poiTyp/readPoiTyp"); const [deviceName, setDeviceName] = useState(""); const [locationDeviceData, setLocationDeviceData] = useState([]); const [priorityConfig, setPriorityConfig] = useState([]); const [menuItemAdded, setMenuItemAdded] = useState(false); const poiLayerVisible = useRecoilValue(poiLayerVisibleState); useEffect(() => { const fetchDeviceData = async () => { if (isMockMode()) { console.log("⚠️ Mock-API: Gerätedaten geladen"); const mockData = [{ name: "Mock-Gerät 1" }, { name: "Mock-Gerät 2" }]; setLocationDeviceData(mockData); setDeviceName(mockData[0].name); return; } try { const response = await fetch("/api/talas5/location_device"); const data = await response.json(); setLocationDeviceData(data); if (data.length > 0) { setDeviceName(data[0].name); } } catch (error) { console.error("❌ Fehler beim Abrufen der Gerätedaten:", error); } }; fetchDeviceData(); }, []); return { poiTypData, isPoiTypLoaded, deviceName, setDeviceName, locationDeviceData, setLocationDeviceData, priorityConfig, setPriorityConfig, menuItemAdded, setMenuItemAdded, poiLayerVisible, }; };