diff --git a/apps/hub/app/(app)/admin/event/[id]/page.tsx b/apps/hub/app/(app)/admin/event/[id]/page.tsx
index 32984ffe..8583a4d5 100644
--- a/apps/hub/app/(app)/admin/event/[id]/page.tsx
+++ b/apps/hub/app/(app)/admin/event/[id]/page.tsx
@@ -16,7 +16,11 @@ export default async ({ params }: { params: Promise<{ id: string }> }) => {
publicId: true,
},
});
- console.log(users);
+ const appointments = await prisma.eventAppointment.findMany({
+ where: {
+ eventId: parseInt(id),
+ },
+ });
if (!event) return
Event not found
;
- return ;
+ return ;
};
diff --git a/apps/hub/app/(app)/admin/event/_components/Form.tsx b/apps/hub/app/(app)/admin/event/_components/Form.tsx
index b8a9cf1f..57375138 100644
--- a/apps/hub/app/(app)/admin/event/_components/Form.tsx
+++ b/apps/hub/app/(app)/admin/event/_components/Form.tsx
@@ -1,26 +1,32 @@
'use client';
import { zodResolver } from '@hookform/resolvers/zod';
import {
+ EventAppointmentOptionalDefaults,
EventAppointmentOptionalDefaultsSchema,
EventOptionalDefaults,
EventOptionalDefaultsSchema,
ParticipantOptionalDefaultsSchema,
} from '@repo/db/zod';
import { set, useForm } from 'react-hook-form';
-import { BADGES, Event, User } from '@repo/db';
+import { BADGES, Event, EventAppointment, User } from '@repo/db';
import { Bot, Calendar, FileText, UserIcon } from 'lucide-react';
import { Input } from '../../../../_components/ui/Input';
import { useRef, useState } from 'react';
-import { deleteEvent, upsertEvent } from '../action';
+import { deleteEvent, upsertAppointment, upsertEvent } from '../action';
import { Button } from '../../../../_components/ui/Button';
-import { redirect } from 'next/navigation';
+import { redirect, useRouter } from 'next/navigation';
import { Switch } from '../../../../_components/ui/Switch';
-import { PaginatedTable } from '../../../../_components/PaginatedTable';
+import {
+ PaginatedTable,
+ PaginatedTableRef,
+} from '../../../../_components/PaginatedTable';
import { Select } from '../../../../_components/ui/Select';
+import { useSession } from 'next-auth/react';
export const Form = ({
event,
users,
+ appointments = [],
}: {
event?: Event;
users: {
@@ -29,15 +35,21 @@ export const Form = ({
lastname: string;
publicId: string;
}[];
+ appointments?: EventAppointment[];
}) => {
+ const { data: session } = useSession();
const form = useForm({
resolver: zodResolver(EventOptionalDefaultsSchema),
defaultValues: event,
});
- const appointmentForm = useForm({
+ const appointmentForm = useForm({
resolver: zodResolver(EventAppointmentOptionalDefaultsSchema),
+ defaultValues: {
+ eventId: event?.id,
+ presenterId: session?.user?.id,
+ },
});
- console.log(appointmentForm.formState.errors);
+ const appointmentsTableRef = useRef(null);
const [loading, setLoading] = useState(false);
const [deleteLoading, setDeleteLoading] = useState(false);
const addParticipantModal = useRef(null);
@@ -51,20 +63,26 @@ export const Form = ({
✕
- Teilnehmer hinzufügen
+ Termin hinzufügen