'use client' import { use, useEffect, useState, ChangeEvent } from 'react' import { SingleCard } from "@/components/SingleCard/SingleCard"; import Form from "next/dist/client/form"; import { Button } from "@/components/Button"; import {DetailedTicket, getCategories, Ticket} from "@/components/Tickets"; import { getTicket } from "@/components/Tickets/getTicket"; import {sendRequestwTokenClient} from "@/app/actions/auth"; export default function Page({ params, }: { params: Promise<{ slug: string }> }) { const StateMapping = ["A","B","C"] const PrioMapping = ["Niedrig","Mittel","Hoch","Notfall"] // Initialer State leer, damit wir keine Fehler bei undefined haben const [currentTicket, setCurrentTicket] = useState(null); const [categories, setCategories] = useState(null); const { slug } = use(params); const ticketId: number = Number(slug); useEffect(() => { const runAsync = async () => { const ticket = await getTicket(ticketId) || null; const category = await getCategories() || null; setCategories(category) setCurrentTicket(ticket); } runAsync(); }, [ticketId]); // Zentraler Change-Handler für alle Inputs const handleChange = (e: ChangeEvent) => { const { name, value } = e.target; console.log("IS CHANGED", name); setCurrentTicket((prev) => { if (!prev) return null; return { ...prev, [name]: value }; }); }; const formAction = (e: FormData) => { // Hier kannst du die Daten an den Server schicken console.log("Form submitted with:", currentTicket); // Wenn du die Daten aus dem e: FormData Objekt ziehen willst (wie bisher): const ticket: Ticket = { status: Number(e.get("status")), priority: Number(e.get("priority")), category: e.get("category")?.toString(), ticketname: e.get("ticketname")?.toString() || "none", description: e.get("description")?.toString() || "none", username: currentTicket?.username || "none", }; sendRequestwTokenClient(`/ticket/update/${ticketId}`, "POST",JSON.stringify(ticket)) alert("Gespeichert!"); }; if (!currentTicket) return
Lade Ticket...
; console.log(currentTicket); return (