From 433b3713c6b5d83125759f132099ef7039240197 Mon Sep 17 00:00:00 2001
From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com>
Date: Sat, 22 Feb 2025 15:58:04 +0100
Subject: [PATCH] added event appointments
---
apps/hub/app/(app)/admin/event/[id]/page.tsx | 10 ++-
.../(app)/admin/event/_components/Form.tsx | 81 +++++++++++--------
apps/hub/app/_components/ui/Select.tsx | 6 +-
apps/hub/package.json | 1 +
package-lock.json | 40 +++++++++
.../migration.sql | 57 +++++++++++++
.../migrations/20250222144329_/migration.sql | 8 ++
packages/database/prisma/schema/event.prisma | 33 +++++---
packages/database/prisma/schema/user.prisma | 10 ++-
9 files changed, 199 insertions(+), 47 deletions(-)
create mode 100644 packages/database/prisma/migrations/20250222144238_event_appointment/migration.sql
create mode 100644 packages/database/prisma/migrations/20250222144329_/migration.sql
diff --git a/apps/hub/app/(app)/admin/event/[id]/page.tsx b/apps/hub/app/(app)/admin/event/[id]/page.tsx
index 9188846c..064f8516 100644
--- a/apps/hub/app/(app)/admin/event/[id]/page.tsx
+++ b/apps/hub/app/(app)/admin/event/[id]/page.tsx
@@ -8,6 +8,14 @@ export default async ({ params }: { params: Promise<{ id: string }> }) => {
id: parseInt(id),
},
});
+ const users = await prisma.user.findMany({
+ select: {
+ id: true,
+ firstname: true,
+ lastname: true,
+ publicId: true,
+ },
+ });
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 2fdb6dbc..514e3e16 100644
--- a/apps/hub/app/(app)/admin/event/_components/Form.tsx
+++ b/apps/hub/app/(app)/admin/event/_components/Form.tsx
@@ -1,12 +1,13 @@
'use client';
import { zodResolver } from '@hookform/resolvers/zod';
import {
+ EventAppointmentOptionalDefaultsSchema,
EventOptionalDefaults,
EventOptionalDefaultsSchema,
ParticipantOptionalDefaultsSchema,
} from '@repo/db/zod';
import { set, useForm } from 'react-hook-form';
-import { BADGES, Event } from '@repo/db';
+import { BADGES, Event, User } from '@repo/db';
import { Bot, FileText, UserIcon } from 'lucide-react';
import { Input } from '../../../../_components/ui/Input';
import { useRef, useState } from 'react';
@@ -17,15 +18,26 @@ import { Switch } from '../../../../_components/ui/Switch';
import { PaginatedTable } from '../../../../_components/PaginatedTable';
import { Select } from '../../../../_components/ui/Select';
-export const Form = ({ event }: { event?: Event }) => {
+export const Form = ({
+ event,
+ users,
+}: {
+ event?: Event;
+ users: {
+ id: string;
+ firstname: string;
+ lastname: string;
+ publicId: string;
+ }[];
+}) => {
const form = useForm({
resolver: zodResolver(EventOptionalDefaultsSchema),
defaultValues: event,
});
- const participantForm = useForm({
- resolver: zodResolver(ParticipantOptionalDefaultsSchema),
+ const appointmentForm = useForm({
+ resolver: zodResolver(EventAppointmentOptionalDefaultsSchema),
});
-
+ console.log(appointmentForm.formState.errors);
const [loading, setLoading] = useState(false);
const [deleteLoading, setDeleteLoading] = useState(false);
const addParticipantModal = useRef(null);
@@ -33,13 +45,33 @@ export const Form = ({ event }: { event?: Event }) => {
<>