diff --git a/CHANGELOG.md b/CHANGELOG.md index 27370c300..e386db8a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie --- +## [1.1.240] – 2025-06-06 + +### ✨ UI-Verbesserung + +- Das Icon für den Bearbeitungsmodus (`EditModeToggle`) wird nun bei fehlender Berechtigung + (Recht-ID 56 nicht vorhanden) ausgegraut dargestellt. +- Tooltip erscheint bei Mouseover mit dem Hinweis: **„Keine Bearbeitungsrechte“** +- Kein Klick möglich – `pointerEvents: none`, bei gleichzeitig sichtbarem Icon für besseres UX + +### ♻️ Refactor + +- `EditModeToggle.js` vollständig angepasst zur dynamischen Rechteprüfung über + `gisUserRightsFromWebservice` Redux Slice. + +### 🔧 Version + +- 📦 `appVersion.js` auf Version **1.1.240** erhöht + +--- + ## [1.1.238] – 2025-06-06 ### ♻️ Refactor diff --git a/README.md b/README.md index 6c369cbc1..abd6650d9 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,9 @@ umgesetzt. entsprechend 4. API-Endpunkte kommunizieren lokal mit Datenbankserver (MySQL) 5. Interaktive Bearbeitung (POI hinzufügen, verschieben, löschen) ist möglich + - Die Bearbeitungsfunktionen (POI hinzufügen, bearbeiten) sind nur aktiv, wenn der Nutzer das + entsprechende Recht (ID 56) besitzt. + - Ist dies nicht der Fall, erscheint das Bearbeitungs-Icon ausgegraut mit Tooltip. --- diff --git a/components/uiWidgets/mapLayersControlPanel/EditModeToggle.js b/components/uiWidgets/mapLayersControlPanel/EditModeToggle.js index f8adcb5c2..100630b35 100644 --- a/components/uiWidgets/mapLayersControlPanel/EditModeToggle.js +++ b/components/uiWidgets/mapLayersControlPanel/EditModeToggle.js @@ -3,8 +3,15 @@ import React, { useState, useEffect } from "react"; import EditOffIcon from "@mui/icons-material/EditOff"; import ModeEditIcon from "@mui/icons-material/ModeEdit"; import Tooltip from "@mui/material/Tooltip"; // Importiere Tooltip von Material-UI +import { useSelector } from "react-redux"; +import { selectGisUserRightsFromWebservice } from "@/redux/slices/webservice/userRightsSlice"; +import BlockIcon from "@mui/icons-material/Block"; // 🚫 Symbol function EditModeToggle() { + const rights = useSelector(selectGisUserRightsFromWebservice); + const hasEditRight = rights.some(r => r.IdRight === 56); + const [isHovered, setIsHovered] = useState(false); + const [editMode, setEditMode] = useState(() => localStorage.getItem("editMode") === "true"); const toggleEditMode = () => { @@ -21,17 +28,33 @@ function EditModeToggle() { }, []); return ( -
- {editMode ? ( - - - - ) : ( - - - - )} -
+ +
+
+ {editMode ? : } +
+
+
); } diff --git a/config/appVersion.js b/config/appVersion.js index b3666b858..ef170b088 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.240"; +export const APP_VERSION = "1.1.241";