"use client"; import { useEffect, useState } from "react"; import { Ellipsis } from "lucide-react" import { getTableData, deleteVorlageFlaechendruck } from "./action"; import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table" import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "@/components/ui/alert-dialog" import AddDialog from "./components/addDialog"; import AlterDialog from "./components/alterDialog"; type TableData = { id: number; product_type: string; height: number; width: number; printer: string; coordinates: { x: number; y: number; rotation: number }[]; }; export default function Page() { const [data, setData] = useState([]); useEffect(() => { async function fetchData() { try { const result = await getTableData(); setData(result); } catch (error) { console.error("Fehler beim Laden der Daten:", error); } } fetchData(); }, []); const handleNewEntry = async () => { try { const result = await getTableData(); // Daten erneut abrufen setData(result); // Tabelle aktualisieren } catch (error) { console.error("Fehler beim Aktualisieren der Daten:", error); } }; const deleteEntry = async (id: number) => { try { await deleteVorlageFlaechendruck(id); await handleNewEntry(); } catch (error) { console.error("Fehler beim Löschen der Daten:", error); } }; return (
{/* Table Section */} Vorlagen Flächendruck Drucker Artikel Typ Höhe Breite Koordinaten {data.map((item) => ( {item.printer} {item.product_type} {item.height} {item.width} Koordinaten Hier sind die Koordinaten für die ausgewählte Vorlage. X und Y Werte in Millimetern.
Koordinaten Tabelle X Y Rotation {item.coordinates.map((coordi) => ( {coordi.x} {coordi.y} {coordi.rotation}° ))}
{ event.stopPropagation(); // Verhindert das Schließen des Dropdown-Menüs }} > Eintrag Löschen Sind Sie sich sicher? Diese Aktion ist permanent und kann nicht rückgängig gemacht werden. Abbrechen { deleteEntry(item.id); // Eintrag löschen }} > Löschen ))}
); }