// /hooks/useLineData.js import { useEffect, useState } from "react"; import { SERVER_URL } from "../config/urls"; const useLineData = (webserviceGisLinesStatusUrl, setLineStatusData) => { const [lineColors, setLineColors] = useState({}); const [tooltipContents, setTooltipContents] = useState({}); const [locationDevices, setLocationDevices] = useState([]); // Funktion zum Abrufen der Stationsnamen useEffect(() => { const fetchLocationDevices = async () => { try { const response = await fetch(`${process.env.NEXT_PUBLIC_SERVER_URL}:3000/api/talas_v5_DB/station/getStationNameByIdLD`); const data = await response.json(); setLocationDevices(data); console.log("Stationen namen:", data); } catch (error) { console.error("Fehler beim Abrufen der Stationen:", error); } }; fetchLocationDevices(); }, []); useEffect(() => { const fetchData = async () => { try { const response1 = await fetch(webserviceGisLinesStatusUrl); const data1 = await response1.json(); const response2 = await fetch(`${SERVER_URL}:3000/api/talas_v5_DB/gisLines/readGisLines`); const data2 = await response2.json(); const colorsByModule = {}; const newTooltipContents = {}; const reversedData = data1.Statis ? data1.Statis.reverse() : []; reversedData.forEach((stat) => { // Finden der passenden Linie const matchingLine = data2.find((item) => item.idLD === stat.IdLD && item.idModul === stat.Modul); if (matchingLine) { // Ermitteln der Farbe basierend auf PrioColor const prioColor = stat.PrioColor === "#ffffff" ? "green" : stat.PrioColor; colorsByModule[matchingLine.idModul] = prioColor; // Finden des passenden Stationsnamens const locationDevice = locationDevices.find((device) => device.idLD === stat.IdLD); newTooltipContents[matchingLine.idModul] = `