APP_VERSION = "1.0.18.0"
feat: GeocoderFeature mit Feature Toggle und Anpassungen integriert - GeocoderFeature als separates Modul implementiert und initialisiert. - Feature Toggle für Geocoder in .env.local hinzugefügt (NEXT_PUBLIC_ENABLE_GEOCODER). - Dynamische Aktivierung des Geocoders über MapComponent.js basierend auf Feature-Flag. - Anpassungen zur Entfernung bzw. Anpassung der Fehlermeldung "Nothing found". - Styling-Verbesserungen für das Suchfeld mit Tailwind CSS.
This commit is contained in:
@@ -2,16 +2,10 @@
|
||||
import { combineReducers } from "redux";
|
||||
import currentPoiReducer from "./slices/currentPoiSlice";
|
||||
import gisStationsStaticDistrictReducer from "./slices/gisStationsStaticDistrictSlice";
|
||||
import zoomTriggerReducer from "./slices/zoomTriggerSlice";
|
||||
import urlParameterReducer from "./slices/urlParameterSlice"; // Import hinzufügen
|
||||
import selectedPoiReducer from "./slices/selectedPoiSlice";
|
||||
|
||||
const rootReducer = combineReducers({
|
||||
currentPoi: currentPoiReducer,
|
||||
gisStationsStaticDistrict: gisStationsStaticDistrictReducer,
|
||||
zoomTrigger: zoomTriggerReducer,
|
||||
urlParameter: urlParameterReducer,
|
||||
selectedPoi: selectedPoiReducer,
|
||||
});
|
||||
|
||||
export default rootReducer;
|
||||
|
||||
@@ -1,31 +1,8 @@
|
||||
// redux/slices/selectedPoiSlice.js
|
||||
//Ist gedacht um ausgewählte Poi Informationen zu speichern und zu PoiUpdateModal.js zu übergeben
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
import { atom } from "recoil";
|
||||
|
||||
// Initialer Zustand
|
||||
const initialState = {
|
||||
selectedPoi: null,
|
||||
};
|
||||
|
||||
// Slice erstellen
|
||||
const selectedPoiSlice = createSlice({
|
||||
name: "selectedPoi",
|
||||
initialState,
|
||||
reducers: {
|
||||
setSelectedPoi(state, action) {
|
||||
state.selectedPoi = action.payload; // Setzt den ausgewählten POI
|
||||
},
|
||||
clearSelectedPoi(state) {
|
||||
state.selectedPoi = null; // Löscht den ausgewählten POI
|
||||
},
|
||||
},
|
||||
export const selectedPoiState = atom({
|
||||
key: "poiState", // Einzigartiger Key (mit der gesamten Anwendung)
|
||||
default: null, // Standardwert
|
||||
});
|
||||
|
||||
// Aktionen exportieren
|
||||
export const { setSelectedPoi, clearSelectedPoi } = selectedPoiSlice.actions;
|
||||
|
||||
// Selektor exportieren
|
||||
export const selectSelectedPoi = (state) => state.selectedPoi.selectedPoi;
|
||||
|
||||
// Reducer exportieren
|
||||
export default selectedPoiSlice.reducer;
|
||||
|
||||
@@ -1,32 +1,14 @@
|
||||
// /redux/slices/urlParameterSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
import { atom } from "recoil";
|
||||
|
||||
// Initialer Zustand
|
||||
const initialState = {
|
||||
mapId: "", // Standardwert z.B m=12
|
||||
userId: "", // Standardwert z.B. u=484
|
||||
};
|
||||
|
||||
// Slice erstellen
|
||||
const urlParameterSlice = createSlice({
|
||||
name: "urlParameter",
|
||||
initialState,
|
||||
reducers: {
|
||||
setMapId(state, action) {
|
||||
state.mapId = action.payload; // Aktualisiere mapId
|
||||
},
|
||||
setUserId(state, action) {
|
||||
state.userId = action.payload; // Aktualisiere userId
|
||||
},
|
||||
},
|
||||
// Atom für die Speicherung der mapId aus der URL
|
||||
export const mapIdState = atom({
|
||||
key: "mapIdState", // Eindeutiger Schlüssel (innerhalb des gesamten Projekts)
|
||||
default: "10", // Standardwert
|
||||
});
|
||||
|
||||
// Aktionen exportieren
|
||||
export const { setMapId, setUserId } = urlParameterSlice.actions;
|
||||
|
||||
// Selektoren exportieren
|
||||
export const selectMapId = (state) => state.urlParameter.mapId;
|
||||
export const selectUserId = (state) => state.urlParameter.userId;
|
||||
|
||||
// Reducer exportieren
|
||||
export default urlParameterSlice.reducer;
|
||||
// Atom für die Speicherung der userId aus der URL
|
||||
export const userIdState = atom({
|
||||
key: "userIdState",
|
||||
default: "484",
|
||||
});
|
||||
|
||||
@@ -1,23 +1,7 @@
|
||||
// redux/slices/zoomTriggerSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
import { atom } from "recoil";
|
||||
|
||||
const initialState = {
|
||||
zoomTrigger: 0,
|
||||
};
|
||||
|
||||
const zoomTriggerSlice = createSlice({
|
||||
name: "zoomTrigger",
|
||||
initialState,
|
||||
reducers: {
|
||||
incrementZoomTrigger(state) {
|
||||
state.zoomTrigger += 1; // Zustand erhöhen
|
||||
},
|
||||
resetZoomTrigger(state) {
|
||||
state.zoomTrigger = 0; // Zustand zurücksetzen
|
||||
},
|
||||
},
|
||||
export const zoomTriggerState = atom({
|
||||
key: "zoomTriggerState",
|
||||
default: 0, // Dies kann eine einfache Zählvariable sein, die inkrementiert wird.
|
||||
});
|
||||
|
||||
export const { incrementZoomTrigger, resetZoomTrigger } = zoomTriggerSlice.actions;
|
||||
export const selectZoomTrigger = (state) => state.zoomTrigger.zoomTrigger;
|
||||
export default zoomTriggerSlice.reducer;
|
||||
|
||||
Reference in New Issue
Block a user