refactor: letzte Recoil-States entfernt – selectedPoiState und currentPoiState auf Redux migriert

- 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
This commit is contained in:
ISA
2025-05-19 10:05:30 +02:00
parent 37c41f71f4
commit ee7a8d2e80
7 changed files with 23 additions and 10 deletions

View File

@@ -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

View File

@@ -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";

View File

@@ -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([]);

View File

@@ -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";

View File

@@ -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";

View File

@@ -1,2 +1,2 @@
// /config/appVersion
export const APP_VERSION = "1.1.91";
export const APP_VERSION = "1.1.92";

View File

@@ -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";