From ee7a8d2e803a513fc12810be8a14d92a91539eeb Mon Sep 17 00:00:00 2001 From: ISA Date: Mon, 19 May 2025 10:05:30 +0200 Subject: [PATCH] =?UTF-8?q?refactor:=20letzte=20Recoil-States=20entfernt?= =?UTF-8?q?=20=E2=80=93=20selectedPoiState=20und=20currentPoiState=20auf?= =?UTF-8?q?=20Redux=20migriert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Redux-Slices 'selectedPoiSlice' und 'currentPoiSlice' hinzugefügt - 'PoiUpdateModal.js' verwendet nun useSelector statt Recoil - Recoil vollständig entfernt, Zustand zentral im Redux Store verwaltet - CHANGELOG.md auf Version 1.1.91 aktualisiert --- CHANGELOG.md | 17 +++++++++++++++++ components/DataSheet.js | 1 - components/PoiUpdateModal.js | 10 +++++----- components/mainComponent/MapComponent.js | 1 - components/pois/PoiUpdateModal.js | 1 - config/appVersion.js | 2 +- pages/index.js | 1 - 7 files changed, 23 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 901eff69e..6386ee23e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie --- +## [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 diff --git a/components/DataSheet.js b/components/DataSheet.js index b429cc79f..a6933a257 100644 --- a/components/DataSheet.js +++ b/components/DataSheet.js @@ -1,6 +1,5 @@ // /componentss/DataSheet.js import React, { useEffect, useState } from "react"; -import { useRecoilState, useRecoilValue, useSetRecoilState } from "recoil"; import { gisStationsStaticDistrictState } from "../redux/slices/webService/gisStationsStaticDistrictSlice"; import { gisSystemStaticState } from "../redux/slices/webService/gisSystemStaticSlice.js"; import { mapLayersState } from "../redux/slices/mapLayersSlice"; diff --git a/components/PoiUpdateModal.js b/components/PoiUpdateModal.js index ef1093136..5de3f3fa6 100644 --- a/components/PoiUpdateModal.js +++ b/components/PoiUpdateModal.js @@ -1,17 +1,17 @@ // /components/PoiUpdateModal.js import React, { useState, useEffect } from "react"; -import { useRecoilValue } from "recoil"; -import { selectedPoiState } from "../redux/slices/selectedPoiSlice"; -import { currentPoiState } from "../redux/slices/currentPoiSlice"; + + import { fetchLocationDevicesFromDB } from "../redux/slices/db/locationDevicesFromDBSlice"; import { useDispatch, useSelector } from "react-redux"; +import { selectCurrentPoi } from "../redux/slices/currentPoiSlice"; const PoiUpdateModal = ({ onClose, poiData }) => { const dispatch = useDispatch(); const devices = useSelector((state) => state.locationDevicesFromDB.devices); - const currentPoi = useRecoilValue(currentPoiState); - const selectedPoi = useRecoilValue(selectedPoiState); + const currentPoi = useSelector(selectCurrentPoi); + const selectedPoi = useSelector((state) => state.selectedPoi); const [poiId, setPoiId] = useState(poiData ? poiData.idPoi : ""); const [name, setName] = useState(poiData ? poiData.name : ""); const [poiTypData, setPoiTypData] = useState([]); diff --git a/components/mainComponent/MapComponent.js b/components/mainComponent/MapComponent.js index 357903b67..e8a1753bd 100644 --- a/components/mainComponent/MapComponent.js +++ b/components/mainComponent/MapComponent.js @@ -9,7 +9,6 @@ import "leaflet.smooth_marker_bouncing"; import OverlappingMarkerSpiderfier from "overlapping-marker-spiderfier-leaflet"; //sieht deaktiviert aber ist das nicht so und wird benötigt import "react-toastify/dist/ReactToastify.css"; import DataSheet from "../DataSheet.js"; -import { useRecoilState, useRecoilValue, useSetRecoilState } from "recoil"; import AddPoiModalWindow from "../pois/AddPoiModalWindow.js"; import { InformationCircleIcon } from "@heroicons/react/20/solid"; import PoiUpdateModal from "../pois/PoiUpdateModal.js"; diff --git a/components/pois/PoiUpdateModal.js b/components/pois/PoiUpdateModal.js index f7c738c2b..a821a1bd5 100644 --- a/components/pois/PoiUpdateModal.js +++ b/components/pois/PoiUpdateModal.js @@ -1,7 +1,6 @@ // /components/pois/PoiUpdateModal.js import React, { useState, useEffect } from "react"; import Select from "react-select"; // Importiere react-select -import { useRecoilState } from "recoil"; import { selectedPoiState } from "../../redux/slices/selectedPoiSlice"; import { currentPoiState } from "../../redux/slices/currentPoiSlice"; import { mapLayersState } from "../../redux/slices/mapLayersSlice"; diff --git a/config/appVersion.js b/config/appVersion.js index 210ba600c..137ead197 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.91"; +export const APP_VERSION = "1.1.92"; diff --git a/pages/index.js b/pages/index.js index 091e3e9cc..a213a9e7d 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,7 +1,6 @@ "use client"; import React, { useEffect, useState } from "react"; import dynamic from "next/dynamic"; -import { useRecoilState, useRecoilValue } from "recoil"; import { setPoiMarkers } from "../redux/slices/readPoiMarkersStoreSlice.js"; import { useSelector, useDispatch } from "react-redux";