// /services/fetchAllTDRChartData.ts import { Dispatch } from "@reduxjs/toolkit"; import { setTDRData, selectTDRData } from "../redux/slices/tdrChartSlice"; import { RootState } from "../redux/store"; const BASE_PATH = "/CPLmockData/LastTDR/jsonDatei"; export const fetchAllTDRChartData = async ( dispatch: Dispatch, getState: () => RootState ) => { const state = getState(); const currentData = selectTDRData(state); const fileNames = Array.from({ length: 32 }, (_, i) => `json${i}`); const fetchPromises = fileNames.map(async (fileName) => { try { const response = await fetch(`${BASE_PATH}/${fileName}.json`); if (!response.ok) throw new Error(`Fehler bei ${fileName}: ${response.statusText}`); return await response.json(); } catch (error) { console.error(`Fehler beim Laden von ${fileName}:`, error); return null; } }); const newData = await Promise.all(fetchPromises); // Nur aktualisieren, wenn sich die Daten geƤndert haben if (JSON.stringify(currentData) !== JSON.stringify(newData)) { dispatch(setTDRData(newData)); } };