From 84de6b7142fd36de56308440157707cac4a1b8a6 Mon Sep 17 00:00:00 2001 From: Ismail Ali Date: Mon, 19 May 2025 19:52:24 +0200 Subject: [PATCH] refactor: React-Hooks entfernt und durch Redux ersetzt (v1.1.101) --- CHANGELOG.md | 17 ++++++++++ config/appVersion.js | 2 +- hooks/useFetchLineStatusData.js | 35 ------------------- hooks/useFetchPriorityConfig.js | 20 ----------- hooks/useFetchUserRights.js | 21 ------------ hooks/useFetchWebServiceMap.js | 59 --------------------------------- 6 files changed, 18 insertions(+), 136 deletions(-) delete mode 100644 hooks/useFetchLineStatusData.js delete mode 100644 hooks/useFetchPriorityConfig.js delete mode 100644 hooks/useFetchUserRights.js delete mode 100644 hooks/useFetchWebServiceMap.js diff --git a/CHANGELOG.md b/CHANGELOG.md index b039dfc32..7706322d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie --- +## [1.1.101] – 2025-05-19 + +### Removed + +- 🧼 Redundante React-Hooks entfernt, da Funktionalität vollständig in Redux abgebildet ist: + - `useFetchPriorityConfig.js` + - `useFetchUserRights.js` + - `useFetchWebServiceMap.js` + - `useFetchLineStatusData.js` + +### Refactor + +- 🔁 Vorbereitung zur Aufteilung von `useLineData.js` und `useMapComponentState.js` in separate Redux-Slices & spezialisierte Hooks +- 🟡 Validierte React-Hooks beibehalten (z. B. Marker-Handling & Layer-Logik) + +--- + ## [1.1.100] – 2025-05-19 ### Added diff --git a/config/appVersion.js b/config/appVersion.js index 621c0090a..0b064292b 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.101"; +export const APP_VERSION = "1.1.102"; diff --git a/hooks/useFetchLineStatusData.js b/hooks/useFetchLineStatusData.js deleted file mode 100644 index f6f709514..000000000 --- a/hooks/useFetchLineStatusData.js +++ /dev/null @@ -1,35 +0,0 @@ -import { useEffect } from "react"; - -export const useFetchLineStatusData = ( - webserviceGisLinesStatusUrl, - setLineStatusData, - setLinesData -) => { - useEffect(() => { - const fetchData = async () => { - try { - const response1 = await fetch(webserviceGisLinesStatusUrl); - const data1 = await response1.json(); - const reversedData = data1.Statis.reverse(); - setLineStatusData(reversedData); - - const response2 = await fetch("/api/talas_v5_DB/gisLines/readGisLines"); - const data2 = await response2.json(); - - const colorsByModule = {}; - reversedData.forEach((stat) => { - const matchingLine = data2.find( - (item) => item.idLD === stat.IdLD && item.idModul === stat.Modul - ); - if (matchingLine) { - colorsByModule[matchingLine.idModul] = stat.PrioColor; - setLinesData(matchingLine); - } - }); - } catch (error) { - console.error("Error fetching data:", error); - } - }; - fetchData(); - }, [webserviceGisLinesStatusUrl, setLineStatusData, setLinesData]); -}; diff --git a/hooks/useFetchPriorityConfig.js b/hooks/useFetchPriorityConfig.js deleted file mode 100644 index 6e7ef69f4..000000000 --- a/hooks/useFetchPriorityConfig.js +++ /dev/null @@ -1,20 +0,0 @@ -import { useEffect } from "react"; - -export const useFetchPriorityConfig = (setPriorityConfig) => { - useEffect(() => { - const fetchPriorityConfig = async () => { - try { - const res = await fetch("/api/talas_v5_DB/priorityConfig"); - if (!res.ok) { - throw new Error(`HTTP error! status: ${res.status}`); - } - const data = await res.json(); - setPriorityConfig(data); - } catch (error) { - console.error("Failed to load priority configuration:", error); - } - }; - - fetchPriorityConfig(); - }, [setPriorityConfig]); -}; diff --git a/hooks/useFetchUserRights.js b/hooks/useFetchUserRights.js deleted file mode 100644 index 67a09aa7f..000000000 --- a/hooks/useFetchUserRights.js +++ /dev/null @@ -1,21 +0,0 @@ -import { useEffect } from "react"; -import { fetchUserRights } from "../services/api/fetchUserRights.js"; - -export const useFetchUserRights = (setUserRights, setIsRightsLoaded, setHasRights) => { - useEffect(() => { - const fetchAndSetUserRights = async () => { - try { - const rights = await fetchUserRights(); - setUserRights(rights); - setIsRightsLoaded(true); - - // Sicherstellen, dass `rights` ein Array ist, bevor `.includes()` aufgerufen wird - setHasRights(localStorage.getItem("editMode") && Array.isArray(rights) && rights.includes(56)); - } catch (error) { - console.error("Fehler beim Abrufen der Benutzerrechte:", error); - } - }; - - fetchAndSetUserRights(); - }, [setUserRights, setIsRightsLoaded, setHasRights]); -}; diff --git a/hooks/useFetchWebServiceMap.js b/hooks/useFetchWebServiceMap.js deleted file mode 100644 index 1f767909b..000000000 --- a/hooks/useFetchWebServiceMap.js +++ /dev/null @@ -1,59 +0,0 @@ -// /hooks/useFetchWebServiceMap.js -import { useEffect } from "react"; -import { fetchGisStationsStaticDistrict } from "../services/api/fetchGisStationsStaticDistrict"; -import { fetchGisStationsStatusDistrict } from "../services/api/fetchGisStationsStatusDistrict"; -import { fetchGisStationsMeasurements } from "../services/api/fetchGisStationsMeasurements"; -import { fetchGisSystemStatic } from "../services/api/fetchGisSystemStatic"; - -export const useFetchWebServiceMap = ( - dispatch, - mapGisStationsStaticDistrictUrl, - mapGisStationsStatusDistrictUrl, - mapGisStationsMeasurementsUrl, - mapGisSystemStaticUrl, - setGisStationsStatusDistrict, - setGisStationsMeasurements, - setGisSystemStatic, - setGisSystemStaticLoaded -) => { - useEffect(() => { - const fetchWebServiceMap = async () => { - try { - // Zähler für externe API-Aufrufe in localStorage speichern - let requestCount = localStorage.getItem("fetchWebServiceMap") || 0; - requestCount = parseInt(requestCount, 10); - - const fetchOptions = { - method: "GET", - headers: { - Connection: "close", - }, - }; - - // Fetch GIS Stations Static District - await fetchGisStationsStaticDistrict(mapGisStationsStaticDistrictUrl, dispatch, fetchOptions); - requestCount++; - localStorage.setItem("fetchWebServiceMap", requestCount); - - // Fetch GIS Stations Status District - await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStationsStatusDistrict, fetchOptions); - requestCount++; - localStorage.setItem("fetchWebServiceMap", requestCount); - - // Fetch GIS Stations Measurements - await fetchGisStationsMeasurements(mapGisStationsMeasurementsUrl, setGisStationsMeasurements, fetchOptions); - requestCount++; - localStorage.setItem("fetchWebServiceMap", requestCount); - - // Fetch GIS System Static - await fetchGisSystemStatic(mapGisSystemStaticUrl, setGisSystemStatic, setGisSystemStaticLoaded, fetchOptions); - requestCount++; - localStorage.setItem("fetchWebServiceMap", requestCount); - } catch (error) { - console.error("Error fetching data:", error); - } - }; - - fetchWebServiceMap(); - }, [dispatch, mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, setGisStationsStatusDistrict, setGisStationsMeasurements, setGisSystemStatic, setGisSystemStaticLoaded]); -};