# 📄 CHANGELOG Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentiert. --- ## [1.1.91] – 2025-05-22 ### Changed - Recoil-Atoms `selectedPoiState` und `currentPoiState` vollständig durch Redux ersetzt - Neue Redux-Slices: - `selectedPoiSlice` – verwaltet aktuell ausgewählten POI - `currentPoiSlice` – verwaltet POI zur Anzeige im Bearbeitungsdialog - `PoiUpdateModal.js` umgestellt auf `useSelector(...)` für beide Zustände - `store.js` um `selectedPoiReducer` und `currentPoiReducer` erweitert ### Removed - `useRecoilValue(currentPoiState)` und `useRecoilValue(selectedPoiState)` aus `PoiUpdateModal.js` --- ## [1.1.90] – 2025-05-19 ### Changed - Redux-Slice `urlParameterSlice`: Standardwerte für `mapId` und `userId` entfernt - `mapId` und `userId` starten jetzt mit `null` statt `"10"` / `"484"` --- ## [1.1.89] – 2025-05-19 ### Changed - Recoil-Atoms `mapIdState` und `userIdState` entfernt - Stattdessen: Umstellung auf Redux-Slice `urlParameterSlice` - `MapComponent.js` verwendet jetzt: - `useSelector(...)` für `mapId` und `userId` - `dispatch(setMapId(...))`, `dispatch(setUserId(...))` in `useEffect` - Redux-Store erweitert um `urlParameterReducer` ### Removed - Recoil-Import `useRecoilState(mapIdState / userIdState)` entfernt aus `MapComponent.js` --- ## [1.1.88] – 2025-05-19 ### Changed - Recoil-Atom `zoomTriggerState` vollständig durch Redux `zoomTriggerSlice` ersetzt - Betroffene Komponenten: - `MapComponent.js` – liest `zoomTrigger` aus Redux `useSelector(...)` - `DataSheet.js` – verwendet `dispatch(incrementZoomTrigger())` bei Icon-Klick - Redux-Store erweitert um `zoomTriggerReducer` ### Removed - Entfernt: `useRecoilState(zoomTriggerState)` in `DataSheet.js` - Entfernt: `useRecoilValue(zoomTriggerState)` in `MapComponent.js` --- ## [1.1.86] – 2025-05-17 ### Changed - Recoil-State `selectedAreaState` vollständig entfernt - Umstellung auf Redux: - `selectedAreaSlice.js` → zentrale Steuerung des Bereichs (Area) - `DataSheet.js` – setzt `setSelectedArea(...)` über Redux - `MapComponent.js` – liest `selectedArea` aus Redux und zentriert Karte --- ## [1.1.85] – 2025-05-17 ### Changed - Recoil-Atom `readPoiMarkersStore` vollständig durch Redux-Slice ersetzt - Betroffene Komponenten: - `index.js` – verwendet `useSelector` und `dispatch(setPoiMarkers(...))` statt `useRecoilState` - `AddPOIModal.js` – entfernt Recoil, nutzt jetzt Redux `setPoiMarkers(...)` (optional) - Redux-Store aktualisiert: - Slice `readPoiMarkersStoreSlice` eingebunden ### Added - Redux-Slice `readPoiMarkersStoreSlice.js` mit Actions: - `setPoiMarkers(data)` - `clearPoiMarkers()` --- ## [1.1.84] – 2025-05-17 ### Changed - Recoil-Atom `polylineEventsDisabledState` entfernt - Migration zu Redux-Slice `polylineEventsDisabledSlice` abgeschlossen - Betroffene Komponenten und Funktionen: - `MapComponent.js` – `useSelector(state => state.polylineEventsDisabled.disabled)` verwendet - `initializeMap.js` – Callback-Funktion `(value) => dispatch(setDisabled(value))` übergeben - `useCreateAndSetDevices.js` – Verwendung von `useRecoilState` entfernt (ToDo: an Redux anpassen) ### Added - Neue Redux Actions: - `setDisabled`, `toggleDisabled` in `polylineEventsDisabledSlice.js` ### ToDo - `useCreateAndSetDevices.js` nutzt noch `useRecoilState`, muss ggf. refaktoriert werden --- ## [1.1.83] – 2025-05-17 ### Changed - `poiReadFromDbTriggerAtom` durch Redux `poiReadFromDbTriggerSlice` ersetzt - Alle Komponenten migriert: - `index.js` – nutzt jetzt `useSelector` für Trigger - `AddPoiModalWindow.js` – verwendet `dispatch(incrementTrigger())` - `AddPOIModal.js` – entfernt Recoil, setzt Trigger mit Redux - `MapComponent.js` – liest Trigger-Zustand via Redux statt Recoil ### Removed - Entfernt: alle `useSetRecoilState(...)` und `useRecoilValue(...)` für `poiReadFromDbTriggerAtom` ### Added - Neue Redux Actions: - `incrementTrigger`, `resetTrigger` in `poiReadFromDbTriggerSlice.js` --- ## [1.1.82] – 2025-05-17 ### Changed - Recoil-Zustand `poiLayerVisibleState` vollständig durch Redux `poiLayerVisibleSlice` ersetzt - Betroffene Komponenten: - `useMapComponentState.js` – Zugriff via `useSelector` statt `useRecoilValue` - `MapComponent.js` – Zugriff auf `poiLayerVisible` über Redux - `DataSheet.js` – `useRecoilState` entfernt, `dispatch(setVisible(...))` integriert - Redux-Store (`store.js`) erweitert um `poiLayerVisibleReducer` ### Removed - Recoil-Atom `poiLayerVisibleState` entfernt ### Added - Neue Redux Actions: `setVisible`, `toggleVisible` in `poiLayerVisibleSlice.js` --- ## [1.1.78] – 2025-05-17 ### Changed - `fetchGisStatusStations.js`: - feste URL-Variable `NEXT_PUBLIC_SERVER_URL` entfernt - stattdessen dynamische URL-Berechnung per `NEXT_PUBLIC_API_PORT_MODE` - Zugriff auf Webservice `GisStationsStatusDistrict` funktioniert jetzt ohne `.env.local` ### Added - Dokumentation ergänzt: - `docs/frontend/services/api/fetchGisStatusStations.md` --- ## [1.1.77] – 2025-05-17 ### Changed - `pages/api/[...path].js`: - feste Umgebungsvariable `NEXT_PUBLIC_SERVER_URL` entfernt - dynamische Proxy-Zieladresse per `NEXT_PUBLIC_API_PORT_MODE` definiert (dev vs. prod) - Konfiguration via `http-proxy-middleware` vereinfacht ### Added - Dokumentation erstellt: - `docs/server/pages/api/apiProxy.md` --- ## [1.1.76] – 2025-05-17 ### Changed - `config.js` angepasst: - Entfernt: `NEXT_PUBLIC_SERVER_URL` aus `.env.local` - Dynamische Berechnung von `serverURL` anhand `window.location` + `NEXT_PUBLIC_API_PORT_MODE` - Zugriff auf Webservices funktioniert jetzt automatisch abhängig von Entwicklungs-/Produktionsumgebung ### Added - Dokumentation ergänzt: - `docs/frontend/config/config.md` --- ## [1.1.75] – 2025-05-17 ### Changed - `setupPolylines.js` und `createAndSetDevices.js` überarbeitet: - Entfernt: `NEXT_PUBLIC_BASE_URL` aus `.env.local` - Dynamische Linkerstellung basierend auf `window.location` + `NEXT_PUBLIC_API_PORT_MODE` - Kontextsensitive Menüeinträge öffnen jetzt `/talas5/cpl.aspx?...` unabhängig von der Umgebung ### Added - Dokumentation hinzugefügt: - `docs/frontend/utils/polylines/setupPolylines.md` - `docs/frontend/utils/devices/createAndSetDevices.md` --- ## [1.1.74] – 2025-05-17 ### Added - Übersichtsdokumentation für Webservices erstellt: - `docs/frontend/redux/api/fromWebService/README.md` - beschreibt Zweck, Parameterstruktur, und alle dokumentierten API-Dateien --- ## [1.1.73] – 2025-05-17 ### Changed - `fetchGisStationsStatusDistrict.js` vereinheitlicht: - zentrale API-Port-Logik über `.env.local` (`NEXT_PUBLIC_API_PORT_MODE`) - URL-Parameter `idMap` und `idUser` werden dynamisch aus `?m=...&u=...` extrahiert - Webservice-Aufruf wird korrekt über `GisStationsStatusDistrict` aufgebaut ### Added - Dokumentation ergänzt: - `docs/frontend/redux/api/fromWebService/fetchGisStationsStatusDistrict.md` --- ## [1.1.72] – 2025-05-17 ### Changed - `fetchGisStationsStaticDistrict.js` aktualisiert: - zentrale Steuerung der API-Port-Logik über `.env.local` (`NEXT_PUBLIC_API_PORT_MODE`) - Übergabe von `idMap` und `idUser` über URL-Parameter `?m=...&u=...` - Webservice-Endpunkt dynamisch zusammengesetzt ### Added - Dokumentation erstellt: - `docs/frontend/redux/api/fromWebService/fetchGisStationsStaticDistrict.md` --- ## [1.1.71] – 2025-05-17 ### Changed - `fetchGisStationsStatic.js` aktualisiert: - zentrale Steuerung der API-Port-Logik über `.env.local` → `NEXT_PUBLIC_API_PORT_MODE` - Map-ID (`idMap`) wird direkt aus der URL gelesen (`?m=...`) - Fehlerbehandlung und Content-Type-Prüfung eingebaut ### Added - Dokumentation hinzugefügt: - `docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md` --- ## [1.1.70] – 2025-05-17 ### Changed - `fetchGisSystemStatic.js` umgestellt auf zentrale Port-Logik über `NEXT_PUBLIC_API_PORT_MODE` - `fetchGisStationsMeasurements.js` ebenfalls angepasst mit gleicher URL-/Port-Strategie - Beide Funktionen lesen `idMap` und `idUser` nun direkt aus der URL (`?m=...&u=...`) ### Added - Neue Dokumentation: - `docs/frontend/redux/api/fromWebService/fetchGisSystemStatic.md` - `docs/frontend/redux/api/fromWebService/fetchGisStationsMeasurements.md` - Struktur-/Pfadhinweis jeweils am Ende der Markdown-Dateien ergänzt --- ## [1.1.68] – 2025-05-15 ### Changed - Verweis auf `NEXT_PUBLIC_API_PORT_3000` entfernt - API-URL wird nun dynamisch per `window.location.hostname:3000` gesetzt - `.env.local` bereinigt: keine API-URL mehr nötig - Betroffene Dateien: - `useFetchPoiData.js` - `poiTypesSlice.js` --- ## [1.1.65] – 2025-05-15 ### Changed - `idMap` und `idUser` werden nicht mehr aus `.env.local` gelesen, sondern ausschließlich über die URL übergeben (z. B. von TALAS.web). - Entfernt: Fallback-Variablen `NEXT_PUBLIC_DEFAULT_ID_MAP` und `NEXT_PUBLIC_DEFAULT_ID_USER`. - Dokumentation in `docs/redux/api/fromWebService.md` entsprechend angepasst. --- ## [1.1.64] – 2025-05-15 ### Added - Erste Dokumentation der Webservice-Endpunkte in `docs/api/webservices.md`. - Projektstruktur in `docs/` vorbereitet für spätere Erweiterung.