- Fetch-Logik für Benutzerrechte aus MapComponent.js in einen separaten Hook ausgelagert. - Neuer Hook: useFetchUserRights im hooks-Verzeichnis hinzugefügt. - Verbesserung der Modularität und Wiederverwendbarkeit.
30 lines
823 B
JavaScript
30 lines
823 B
JavaScript
import { useEffect } from "react";
|
|
import { fetchUserRights } from "../services/apiService";
|
|
|
|
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]);
|
|
};
|