refactor: React-Hooks entfernt und durch Redux ersetzt (v1.1.101)

This commit is contained in:
Ismail Ali
2025-05-19 19:52:24 +02:00
parent 2b4f6e755b
commit 84de6b7142
6 changed files with 18 additions and 136 deletions

View File

@@ -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

View File

@@ -1,2 +1,2 @@
// /config/appVersion
export const APP_VERSION = "1.1.101";
export const APP_VERSION = "1.1.102";

View File

@@ -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]);
};

View File

@@ -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]);
};

View File

@@ -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]);
};

View File

@@ -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]);
};