'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Plus } from 'lucide-react'; import { createSession } from '@kit/course-management/actions/course-actions'; import { Button } from '@kit/ui/button'; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@kit/ui/dialog'; import { Input } from '@kit/ui/input'; import { Label } from '@kit/ui/label'; import { useActionWithToast } from '@kit/ui/use-action-with-toast'; interface Props { courseId: string; } export function CreateSessionDialog({ courseId }: Props) { const router = useRouter(); const [open, setOpen] = useState(false); const { execute, isPending } = useActionWithToast(createSession, { successMessage: 'Termin erstellt', errorMessage: 'Fehler beim Erstellen', onSuccess: () => { setOpen(false); router.refresh(); }, }); return (
{ e.preventDefault(); const fd = new FormData(e.currentTarget); execute({ courseId, sessionDate: fd.get('sessionDate') as string, startTime: fd.get('startTime') as string, endTime: fd.get('endTime') as string, notes: (fd.get('notes') as string) || undefined, }); }} > Neuen Termin erstellen
); }