refactor: POI-Daten vollständig in Redux integriert
- useFetchPoiData.js entfernt - Neue Redux-Slices für POI-Typen und POI-Icons erstellt - Neue Services und Thunks hinzugefügt - fetch-Aufrufe durch zentralisierte Redux-Logik ersetzt - store.js aktualisiert und neue States registriert
This commit is contained in:
38
components/uiWidgets/mapLayersControlPanel/EditModeToggle.js
Normal file
38
components/uiWidgets/mapLayersControlPanel/EditModeToggle.js
Normal file
@@ -0,0 +1,38 @@
|
||||
// /components/EditModeToggle.js
|
||||
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
|
||||
|
||||
function EditModeToggle() {
|
||||
const [editMode, setEditMode] = useState(() => localStorage.getItem("editMode") === "true");
|
||||
|
||||
const toggleEditMode = () => {
|
||||
const newEditMode = !editMode;
|
||||
setEditMode(newEditMode);
|
||||
localStorage.setItem("editMode", newEditMode);
|
||||
//Browser neu laden, um die Änderungen anzuwenden
|
||||
window.location.reload();
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const storedMode = localStorage.getItem("editMode") === "true";
|
||||
setEditMode(storedMode);
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div onClick={toggleEditMode} style={{ cursor: "pointer" }}>
|
||||
{editMode ? (
|
||||
<Tooltip title="Bearbeitungsmodus deaktivieren" placement="top">
|
||||
<EditOffIcon />
|
||||
</Tooltip>
|
||||
) : (
|
||||
<Tooltip title="Bearbeitungsmodus aktivieren" placement="top">
|
||||
<ModeEditIcon />
|
||||
</Tooltip>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default EditModeToggle;
|
||||
@@ -1,14 +1,14 @@
|
||||
// /componentss/MapLayersControlPanel.js
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { setSelectedArea } from "../../redux/slices/selectedAreaSlice";
|
||||
import EditModeToggle from "../EditModeToggle";
|
||||
import { setSelectedArea } from "../../../redux/slices/selectedAreaSlice";
|
||||
import EditModeToggle from "./EditModeToggle";
|
||||
import { useSelector, useDispatch } from "react-redux";
|
||||
import { selectPolylineVisible, setPolylineVisible } from "../../redux/slices/polylineLayerVisibleSlice";
|
||||
import { selectGisSystemStatic } from "../../redux/slices/webservice/gisSystemStaticSlice";
|
||||
import { selectGisStationsStaticDistrict } from "../../redux/slices/webservice/gisStationsStaticDistrictSlice";
|
||||
import { selectMapLayersState, setLayerVisibility } from "../../redux/slices/mapLayersSlice";
|
||||
import { setVisible } from "../../redux/slices/poiLayerVisibleSlice";
|
||||
import { incrementZoomTrigger } from "../../redux/slices/zoomTriggerSlice";
|
||||
import { selectPolylineVisible, setPolylineVisible } from "../../../redux/slices/polylineLayerVisibleSlice";
|
||||
import { selectGisSystemStatic } from "../../../redux/slices/webservice/gisSystemStaticSlice";
|
||||
import { selectGisStationsStaticDistrict } from "../../../redux/slices/webservice/gisStationsStaticDistrictSlice";
|
||||
import { selectMapLayersState, setLayerVisibility } from "../../../redux/slices/mapLayersSlice";
|
||||
import { setVisible } from "../../../redux/slices/poiLayerVisibleSlice";
|
||||
import { incrementZoomTrigger } from "../../../redux/slices/zoomTriggerSlice";
|
||||
|
||||
function MapLayersControlPanel() {
|
||||
const [editMode, setEditMode] = useState(false); // Zustand für editMode
|
||||
Reference in New Issue
Block a user