From 24306c3df81589476213019390bfaa91d733de75 Mon Sep 17 00:00:00 2001 From: Ismail Ali Date: Mon, 24 Mar 2025 19:20:42 +0100 Subject: [PATCH] Meldungen von mock Datei --- pages/meldungen.tsx | 98 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 2 deletions(-) diff --git a/pages/meldungen.tsx b/pages/meldungen.tsx index c13a9f0..8ca6b14 100644 --- a/pages/meldungen.tsx +++ b/pages/meldungen.tsx @@ -1,5 +1,99 @@ -import React from "react"; +// /pages/meldungen.tsx +"use client"; + +import React, { useEffect, useState } from "react"; + +type Meldung = { + t: string; + s: number; + c: string; + m: string; + i: string; +}; + +const ITEMS_PER_PAGE = 10; export default function Messages() { - return
Messages
; + const [messages, setMessages] = useState([]); + const [currentPage, setCurrentPage] = useState(1); + + useEffect(() => { + const fetchMessages = async () => { + // https://10.10.0.222/CPL?Service/ae.ACP&MSS1=2025;01;01;2025;2;28;All + try { + const res = await fetch("/CPLmockData/meldungen/messages.json"); + const data = await res.json(); + setMessages(data); + } catch (err) { + console.error("Fehler beim Laden der Meldungen:", err); + } + }; + + fetchMessages(); + }, []); + + const totalPages = Math.ceil(messages.length / ITEMS_PER_PAGE); + const currentMessages = messages.slice( + (currentPage - 1) * ITEMS_PER_PAGE, + currentPage * ITEMS_PER_PAGE + ); + + return ( +
+

Meldungen

+ +
+ + + + + + + + + + + + {currentMessages.map((msg, index) => ( + + + + + + + + ))} + +
StatusZeitstempelGewichtTextQuelle
+
+
{msg.t}{msg.s}{msg.m}{msg.i}
+
+ + {/* Pagination */} +
+ + + Seite {currentPage} von {totalPages} + + +
+
+ ); }