feat: Fetch-Logik für Prioritätskonfiguration in useFetchPriorityConfig Hook ausgelagert
- Fetch-Logik für Prioritätskonfiguration aus MapComponent.js in einen separaten Hook ausgelagert. - Neuer Hook: useFetchPriorityConfig im hooks-Verzeichnis hinzugefügt. - Verbesserung der Modularität und Wiederverwendbarkeit.
This commit is contained in:
@@ -45,6 +45,7 @@ import { disablePolylineEvents, enablePolylineEvents } from "../utils/setupPolyl
|
|||||||
import { updateLocation } from "../utils/updateBereichUtil";
|
import { updateLocation } from "../utils/updateBereichUtil";
|
||||||
import { usePolylineTooltipLayer } from "../hooks/usePolylineTooltipLayer";
|
import { usePolylineTooltipLayer } from "../hooks/usePolylineTooltipLayer";
|
||||||
import { useFetchLineStatusData } from "../hooks/useFetchLineStatusData";
|
import { useFetchLineStatusData } from "../hooks/useFetchLineStatusData";
|
||||||
|
import { useFetchPriorityConfig } from "../hooks/useFetchPriorityConfig";
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
import { currentPoiState } from "../redux/slices/currentPoiSlice.js";
|
import { currentPoiState } from "../redux/slices/currentPoiSlice.js";
|
||||||
import { selectGisStationsStaticDistrict, setGisStationsStaticDistrict } from "../redux/slices/gisStationsStaticDistrictSlice";
|
import { selectGisStationsStaticDistrict, setGisStationsStaticDistrict } from "../redux/slices/gisStationsStaticDistrictSlice";
|
||||||
@@ -528,22 +529,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
|
|||||||
}, [map, poiLayerRef, isPoiTypLoaded, menuItemAdded, hasRights, isRightsLoaded]);
|
}, [map, poiLayerRef, isPoiTypLoaded, menuItemAdded, hasRights, isRightsLoaded]);
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
// rote Marker ganz oben wenn überlappen sind
|
// rote Marker ganz oben wenn überlappen sind
|
||||||
useEffect(() => {
|
useFetchPriorityConfig(setPriorityConfig);
|
||||||
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();
|
|
||||||
}, []);
|
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (mapRef.current && !map) {
|
if (mapRef.current && !map) {
|
||||||
|
|||||||
20
hooks/useFetchPriorityConfig.js
Normal file
20
hooks/useFetchPriorityConfig.js
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
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]);
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user