diff --git a/components/CoordinateModal.js b/components/CoordinateModal.js
new file mode 100644
index 000000000..a6ad623b6
--- /dev/null
+++ b/components/CoordinateModal.js
@@ -0,0 +1,29 @@
+// components/CoordinateModal.js
+import React from "react";
+
+const CoordinateModal = ({ isOpen, onClose, coordinates }) => {
+ if (!isOpen) return null;
+
+ return (
+
diff --git a/components/useMapContextMenu.js b/components/useMapContextMenu.js
index 6a59bbf8e..b65db4175 100644
--- a/components/useMapContextMenu.js
+++ b/components/useMapContextMenu.js
@@ -1,52 +1,13 @@
-// /components/useMapContextMenu.js
+// components/useMapContextMenu.js
import { toast } from "react-toastify";
-import { zoomIn, zoomOut, centerHere } from "../utils/zoomAndCenterUtils"; // Assuming these are imported correctly
-
-const zoomInCallback = (e, map) => {
- zoomIn(e, map);
-};
-
-const zoomOutCallback = (map) => {
- zoomOut(map);
-};
-
-const centerHereCallback = (e, map) => {
- centerHere(e, map);
-};
-// Funktion zum Anzeigen der Koordinaten
-const showCoordinates = (e) => {
- alert("Breitengrad: " + e.latlng.lat.toFixed(5) + "\nLängengrad: " + e.latlng.lng.toFixed(5));
-};
-// Kontextmenü Callback für "POI hinzufügen"
-const addStationCallback = (event, hasRights, setShowPopup, setPopupCoordinates) => {
- const editMode = localStorage.getItem("editMode") === "true";
- hasRights = editMode ? hasRights : undefined;
- if (hasRights) {
- setPopupCoordinates(event.latlng);
- setShowPopup(true);
- } else {
- toast.error("Benutzer hat keine Berechtigung zum Hinzufügen.", {
- position: "top-center",
- autoClose: 5000,
- hideProgressBar: false,
- closeOnClick: true,
- pauseOnHover: true,
- draggable: true,
- progress: undefined,
- });
- }
-};
-
-export const addItemsToMapContextMenu = (map, menuItemAdded, setMenuItemAdded, hasRights, setShowPopup, setPopupCoordinates) => {
- // Überprüfe den Bearbeitungsmodus in localStorage
- const editMode = localStorage.getItem("editMode") === "true";
- hasRights = editMode ? hasRights : undefined;
+import { zoomIn, zoomOut, centerHere } from "../utils/zoomAndCenterUtils";
+const addItemsToMapContextMenu = (map, menuItemAdded, setMenuItemAdded, openModalWithCoordinates, hasRights, setShowPopup, setPopupCoordinates) => {
if (!menuItemAdded && map && map.contextmenu) {
map.contextmenu.addItem({
text: "Koordinaten anzeigen",
icon: "img/not_listed_location.png",
- callback: showCoordinates,
+ callback: openModalWithCoordinates,
});
map.contextmenu.addItem({ separator: true });
@@ -54,32 +15,41 @@ export const addItemsToMapContextMenu = (map, menuItemAdded, setMenuItemAdded, h
map.contextmenu.addItem({
text: "Reinzoomen",
icon: "img/zoom_in.png",
- callback: (e) => zoomInCallback(e, map),
+ callback: (e) => zoomIn(e, map),
});
map.contextmenu.addItem({
text: "Rauszoomen",
icon: "img/zoom_out.png",
- callback: () => zoomOutCallback(map),
+ callback: () => zoomOut(map),
});
map.contextmenu.addItem({
text: "Hier zentrieren",
icon: "img/center_focus.png",
- callback: (e) => centerHereCallback(e, map),
+ callback: (e) => centerHere(e, map),
});
- // wenn localStorage Variable editMode true ist, dann wird der Button "POI hinzufügen" angezeigt
- if (editMode) {
+ if (localStorage.getItem("editMode") === "true") {
map.contextmenu.addItem({ separator: true });
map.contextmenu.addItem({
text: "POI hinzufügen",
icon: "img/add_station.png",
className: "background-red",
- callback: (event) => addStationCallback(event, hasRights, setShowPopup, setPopupCoordinates),
+ callback: (event) => {
+ const editMode = localStorage.getItem("editMode") === "true";
+ if (editMode && hasRights) {
+ setPopupCoordinates(event.latlng);
+ setShowPopup(true);
+ } else {
+ toast.error("Benutzer hat keine Berechtigung zum Hinzufügen.");
+ }
+ },
});
}
setMenuItemAdded(true);
}
};
+
+export default addItemsToMapContextMenu;