WIP: Kabelstrecken wird deaktiviert beim neuladen der Seite
This commit is contained in:
@@ -16,7 +16,7 @@ import { incrementZoomTrigger } from "@/redux/slices/zoomTriggerSlice";
|
||||
function MapLayersControlPanel() {
|
||||
const [editMode, setEditMode] = useState(false); // Zustand für editMode
|
||||
const [localStorageLoaded, setLocalStorageLoaded] = useState(false); // Tracking ob localStorage geladen wurde
|
||||
const [kabelstreckenVisible, setKabelstreckenVisible] = useState(false); // Lokaler State für Kabelstrecken
|
||||
const kabelstreckenVisible = useSelector(selectPolylineVisible); // Redux State für Kabelstrecken
|
||||
const poiVisible = useSelector(state => state.poiLayerVisible.visible);
|
||||
const setPoiVisible = value => dispatch(setVisible(value));
|
||||
const dispatch = useDispatch();
|
||||
@@ -40,9 +40,7 @@ function MapLayersControlPanel() {
|
||||
|
||||
const handlePolylineCheckboxChange = event => {
|
||||
const checked = event.target.checked;
|
||||
setKabelstreckenVisible(checked);
|
||||
localStorage.setItem("kabelstreckenVisible", checked.toString());
|
||||
localStorage.setItem("polylineVisible", checked.toString());
|
||||
dispatch(setPolylineVisible(checked));
|
||||
dispatch(setPolylineVisible(checked));
|
||||
setTimeout(() => {
|
||||
const event = new Event("polylineVisibilityChanged");
|
||||
@@ -75,23 +73,7 @@ function MapLayersControlPanel() {
|
||||
const mapStorageKey =
|
||||
mapId && userId ? `mapLayersVisibility_m${mapId}_u${userId}` : "mapLayersVisibility";
|
||||
|
||||
// Kabelstrecken-Checkbox initialisieren
|
||||
let storedKabelstreckenVisible = localStorage.getItem("kabelstreckenVisible");
|
||||
const storedPolylineVisible = localStorage.getItem("polylineVisible");
|
||||
if (storedKabelstreckenVisible === null && storedPolylineVisible !== null) {
|
||||
storedKabelstreckenVisible = storedPolylineVisible;
|
||||
localStorage.setItem("kabelstreckenVisible", storedPolylineVisible);
|
||||
}
|
||||
if (storedKabelstreckenVisible !== null) {
|
||||
const shouldBeVisible = storedKabelstreckenVisible === "true";
|
||||
setKabelstreckenVisible(shouldBeVisible);
|
||||
localStorage.setItem("polylineVisible", shouldBeVisible.toString());
|
||||
dispatch(setPolylineVisible(shouldBeVisible));
|
||||
setTimeout(() => {
|
||||
const event = new Event("polylineVisibilityChanged");
|
||||
window.dispatchEvent(event);
|
||||
}, 200);
|
||||
}
|
||||
// Kabelstrecken-Checkbox initialisieren: Redux übernimmt map/user-spezifisch, keine Manipulation von 'polylineVisible' oder 'kabelstreckenVisible' hier mehr!
|
||||
|
||||
// mapLayersVisibility initialisieren
|
||||
const storedMapLayersVisibility = localStorage.getItem(mapStorageKey);
|
||||
@@ -187,8 +169,7 @@ function MapLayersControlPanel() {
|
||||
// Wenn TALAS (system-1) deaktiviert wird, Kabelstrecken deaktivieren
|
||||
if (key === "system-1" && !checked) {
|
||||
setKabelstreckenVisible(false);
|
||||
localStorage.setItem("kabelstreckenVisible", "false");
|
||||
localStorage.setItem("polylineVisible", "false");
|
||||
// entfernt: keine Manipulation von 'kabelstreckenVisible' oder 'polylineVisible' mehr
|
||||
dispatch(setPolylineVisible(false));
|
||||
setTimeout(() => {
|
||||
const polylineEvent = new Event("polylineVisibilityChanged");
|
||||
@@ -333,7 +314,7 @@ function MapLayersControlPanel() {
|
||||
<div className="flex items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={kabelstreckenVisible} // Lokaler State statt Redux
|
||||
checked={kabelstreckenVisible} // Redux State
|
||||
onChange={handlePolylineCheckboxChange}
|
||||
id="polyline-checkbox"
|
||||
disabled={!isTalasAllowed || editMode}
|
||||
|
||||
Reference in New Issue
Block a user