refactor: last20Messages in dashboardSlice ausgelagert und Redux-Handling optimiert

- last20Messages aus variablesSlice entfernt und in dashboardSlice verschoben
- Redux wird nun mit window.win_last20Messages aktualisiert
- setInterval hinzugefügt, um späte Ladezeiten von window-Daten abzufangen
- API-Aufruf entfernt, da keine /api/last20Messages existiert
- Redux DevTools überprüft, Daten werden jetzt korrekt geladen und angezeigt
This commit is contained in:
Ismail Ali
2025-02-22 22:57:55 +01:00
parent f1e30405a2
commit 80c9d12c6b
4 changed files with 52 additions and 6 deletions

View File

@@ -1,13 +1,34 @@
"use client";
import React from "react";
import { useSelector } from "react-redux";
"use client"; // /components/main/uebersicht/Last20MessagesTable.tsx
import React, { useEffect } from "react";
import { useSelector, useDispatch } from "react-redux";
import { RootState } from "../../../redux/store";
import { setLast20Messages } from "../../../redux/slices/dashboardSlice";
const Last20MessagesTable: React.FC = () => {
const dispatch = useDispatch();
// Holt last20Messages aus Redux
const rawLast20Messages = useSelector(
(state: RootState) => state.variables.last20Messages
(state: RootState) => state.dashboard.last20Messages
);
// Holt Daten aus `window.win_last20Messages` und speichert sie in Redux
useEffect(() => {
const loadWindowMessages = () => {
if (typeof window !== "undefined" && (window as any).win_last20Messages) {
dispatch(setLast20Messages((window as any).win_last20Messages));
}
};
// Initialen Wert setzen
loadWindowMessages();
// Falls die Daten erst später geladen werden, überprüfe jede Sekunde
const interval = setInterval(loadWindowMessages, 1000);
return () => clearInterval(interval);
}, [dispatch]);
// Hilfsfunktion zum Parsen der Nachrichten
const parseMessages = (messages: string | null) => {
if (typeof messages === "string") {