// redux/slices/polylineContextMenuSlice.js import { createSlice } from "@reduxjs/toolkit"; const initialState = { isOpen: false, position: null, // Serialisierbarer Wert { lat, lng } forceClose: false, // Neuer State, um das Schließen zu erzwingen }; const polylineContextMenuSlice = createSlice({ name: "polylineContextMenu", initialState, reducers: { openPolylineContextMenu: (state, action) => { state.isOpen = true; state.position = { lat: action.payload.position.lat, lng: action.payload.position.lng }; state.forceClose = false; // Beim Öffnen zurücksetzen }, closePolylineContextMenu: (state) => { state.isOpen = false; state.position = null; }, forceCloseContextMenu: (state) => { state.isOpen = false; state.position = null; state.forceClose = true; // Setzt Flagge, um Schließen zu signalisieren }, }, }); export const { openPolylineContextMenu, closePolylineContextMenu, forceCloseContextMenu } = polylineContextMenuSlice.actions; export default polylineContextMenuSlice.reducer;