"use client"; // /pages/meldungen.tsx import React, { useState, useEffect } from "react"; import DateRangePickerMeldungen from "@/components/main/meldungen/DateRangePickerMeldungen"; type Meldung = { t: string; s: number; c: string; m: string; i: string; }; export default function Messages() { const [messages, setMessages] = useState([]); const [sourceFilter, setSourceFilter] = useState("Alle"); // Datum initialisieren: von = heute - 30 Tage, bis = heute const today = new Date(); const prior30 = new Date(); prior30.setDate(today.getDate() - 30); const formatDate = (d: Date) => d.toISOString().split("T")[0]; const [fromDate, setFromDate] = useState(formatDate(prior30)); const [toDate, setToDate] = useState(formatDate(today)); const fetchMessages = async () => { const from = new Date(fromDate); const to = new Date(toDate); const fy = from.getFullYear(); const fm = String(from.getMonth() + 1).padStart(2, "0"); const fd = String(from.getDate()).padStart(2, "0"); const ty = to.getFullYear(); const tm = String(to.getMonth() + 1).padStart(2, "0"); const td = String(to.getDate()).padStart(2, "0"); const isDev = typeof window !== "undefined" && window.location.hostname === "localhost"; //http://10.10.0.118/CPL?Service/empty.ACP&MSS1=2025;06;01;2025;06;26;All const url = isDev ? `/api/cpl/messages` : `/CPL?Service/ae.ACP&MSS1=${fy};${fm};${fd};${ty};${tm};${td};All`; try { const res = await fetch(url); const raw = await res.json(); const data = Array.isArray(raw) ? raw : raw.data; if (!Array.isArray(data)) { console.error("Die empfangenen Daten sind kein Array:", data); return; } setMessages(data); } catch (err) { console.error("Fehler beim Laden der Meldungen:", err); } }; const filteredMessages = sourceFilter === "Alle" ? messages : messages.filter((m) => m.i === sourceFilter); const allSources = Array.from(new Set(messages.map((m) => m.i))).sort(); // einmal beim laden de Seite die Meldungen abrufen useEffect(() => { fetchMessages(); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return (

Berichte

{filteredMessages.map((msg, index) => ( ))}
Prio Zeitstempel Quelle Meldung Status
{msg.t} {msg.i} {msg.m} {msg.s}
{messages.length === 0 && (
Keine Meldungen im gewählten Zeitraum vorhanden.
)}
); }