feat: Referenzkurve-Button sendet API-Aufruf an Backend (KTR)

- handleSetReference um fetch-Aufruf ergänzt
- Unterscheidung von Entwicklungs- und Produktionsumgebung via NEXT_PUBLIC_API_BASE_URL
- Fehlerbehandlung und Alert bei Erfolg/Misserfolg eingebaut
This commit is contained in:
ISA
2025-03-31 10:05:36 +02:00
parent 14ba25bc57
commit 6b6b6cc9b8
4 changed files with 62 additions and 12 deletions

View File

@@ -37,18 +37,41 @@ const TDRChartActionBar: React.FC = () => {
};
// 📌 Referenz setzen (nutzt Slotnummer + 1 für die API)
const handleSetReference = () => {
if (selectedSlot === null || !currentChartData?.length) return;
const handleSetReference = async () => {
if (
selectedSlot === null ||
selectedId === null ||
!currentChartData?.length
)
return;
localStorage.setItem(
`ref-curve-slot${selectedSlot}`,
JSON.stringify(currentChartData)
);
try {
const slotNumber = selectedSlot + 1; // Slot ist 0-basiert, API will 1-basiert
const url = `/CPL?KTR${slotNumber}=${selectedId}`;
// 🔄 Redux updaten → Chart reagiert sofort!
dispatch(fetchReferenceCurveBySlotThunk(selectedSlot));
const response = await fetch(url, {
method: "GET",
});
alert("Referenzkurve gesetzt!");
if (!response.ok) {
throw new Error(
`Fehler beim Setzen der Referenz: ${response.statusText}`
);
}
// Optional: lokale Speicherung und Redux-Update
localStorage.setItem(
`ref-curve-slot${selectedSlot}`,
JSON.stringify(currentChartData)
);
dispatch(fetchReferenceCurveBySlotThunk(selectedSlot));
alert("Referenzkurve wurde erfolgreich gesetzt!");
} catch (error) {
console.error("Fehler beim Setzen der Referenzkurve:", error);
alert("Fehler beim Setzen der Referenzkurve.");
}
};
// 📥 Beim Slot-Wechsel TDM-Liste + letzte ID laden