Files
CPLv4.0/redux/thunks/startFirmwareUpdateThunk.ts
Ismail Ali b23d939481 fix: Firmware-Update läuft nun exakt 5 Minuten bis 100 % Fortschritt
- Fehler behoben, bei dem das Firmware-Update nach wenigen Sekunden vorzeitig beendet wurde
- Fortschrittsanzeige über Redux-Slice `firmwareProgressSlice` korrekt umgesetzt
- Thunk `startFirmwareUpdateThunk` korrekt eingebunden und verwendet
- UI zeigt stabile 5-minütige Progressbar wie erwartet
2025-07-02 22:01:17 +02:00

32 lines
865 B
TypeScript

// redux/thunks/startFirmwareUpdateThunk.ts
import { AppDispatch } from "../store";
import {
setProgress,
setIsUpdating,
} from "@/redux/slices/firmwareProgressSlice";
export const startFirmwareUpdateThunk =
(slot: number) => async (dispatch: AppDispatch) => {
dispatch(setIsUpdating(true));
dispatch(setProgress(0));
const totalDuration = 5 * 60 * 1000;
const intervalMs = 1000;
const steps = totalDuration / intervalMs;
let currentStep = 0;
const interval = setInterval(() => {
currentStep++;
const percent = Math.min((currentStep / steps) * 100, 100);
dispatch(setProgress(percent));
if (currentStep >= steps) {
clearInterval(interval);
dispatch(setProgress(100));
setTimeout(() => {
dispatch(setIsUpdating(false));
}, 500);
}
}, intervalMs);
};