"use client"; import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { getMessagesThunk } from "@/redux/thunks/getMessagesThunk"; import type { AppDispatch } from "@/redux/store"; import type { RootState } from "@/redux/store"; import DateRangePickerMeldungen from "./DateRangePickerMeldungen"; import MeldungenTabelle from "./MeldungenTabelle"; type Meldung = { t: string; s: number; c: string; m: string; i: string; v: string; }; export default function MeldungenView() { const dispatch = useDispatch(); const messages = useSelector((state: RootState) => state.messages.data); const [sourceFilter, setSourceFilter] = useState("Alle"); 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)); useEffect(() => { dispatch(getMessagesThunk({ fromDate, toDate })); }, [dispatch, fromDate, toDate]); const filteredMessages = sourceFilter === "Alle" ? messages : messages.filter((m: Meldung) => m.i === sourceFilter); const allSources = Array.from( new Set(messages.map((m: Meldung) => m.i)) ).sort(); return (

Berichte

); }