From 30af30bd1d673d42e7329bccd73ddfc46e79fa97 Mon Sep 17 00:00:00 2001
From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com>
Date: Mon, 17 Feb 2025 10:39:29 +0100
Subject: [PATCH] continue Event page
---
apps/hub/app/(app)/admin/event/[id]/page.tsx | 8 +-
.../(app)/admin/event/_components/Form.tsx | 226 ++++--------------
apps/hub/app/(app)/admin/event/action.ts | 22 +-
apps/hub/app/(app)/admin/event/new/page.tsx | 4 +-
apps/hub/app/(app)/admin/event/page.tsx | 24 +-
apps/hub/app/_components/PaginatedTable.tsx | 25 +-
.../app/_components/pagiantedTableActions.ts | 12 +-
apps/hub/app/_components/ui/Nav.tsx | 7 +-
apps/hub/app/_components/ui/Switch.tsx | 33 +++
.../20250217083328_events/migration.sql | 46 ++++
.../migration.sql | 14 ++
packages/database/prisma/schema/event.prisma | 47 ++++
packages/database/prisma/schema/user.prisma | 1 +
13 files changed, 242 insertions(+), 227 deletions(-)
create mode 100644 apps/hub/app/_components/ui/Switch.tsx
create mode 100644 packages/database/prisma/migrations/20250217083328_events/migration.sql
create mode 100644 packages/database/prisma/migrations/20250217093027_event_participants/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 399adf90..9188846c 100644
--- a/apps/hub/app/(app)/admin/event/[id]/page.tsx
+++ b/apps/hub/app/(app)/admin/event/[id]/page.tsx
@@ -1,13 +1,13 @@
import { prisma } from '@repo/db';
-import { StationForm } from '../_components/Form';
+import { Form } from '../_components/Form';
export default async ({ params }: { params: Promise<{ id: string }> }) => {
const { id } = await params;
- const station = await prisma.station.findUnique({
+ const event = await prisma.event.findUnique({
where: {
id: parseInt(id),
},
});
- if (!station) return
Station not found
;
- return ;
+ if (!event) return Event not found
;
+ return ;
};
diff --git a/apps/hub/app/(app)/admin/event/_components/Form.tsx b/apps/hub/app/(app)/admin/event/_components/Form.tsx
index c8bfe068..47bae6f4 100644
--- a/apps/hub/app/(app)/admin/event/_components/Form.tsx
+++ b/apps/hub/app/(app)/admin/event/_components/Form.tsx
@@ -1,20 +1,22 @@
'use client';
import { zodResolver } from '@hookform/resolvers/zod';
-import { StationOptionalDefaultsSchema } from '@repo/db/zod';
+import { EventOptionalDefaultsSchema } from '@repo/db/zod';
import { set, useForm } from 'react-hook-form';
import { z } from 'zod';
-import { BosUse, Country, Station } from '@repo/db';
-import { FileText, LocateIcon, PlaneIcon } from 'lucide-react';
+import { BosUse, Country, Event, prisma } from '@repo/db';
+import { FileText, LocateIcon, PlaneIcon, UserIcon } from 'lucide-react';
import { Input } from '../../../../_components/ui/Input';
import { useState } from 'react';
-import { deleteStation, upsertStation } from '../action';
+import { deleteEvent, upsertEvent } from '../action';
import { Button } from '../../../../_components/ui/Button';
import { redirect } from 'next/navigation';
+import { Switch } from '../../../../_components/ui/Switch';
+import { PaginatedTable } from '../../../../_components/PaginatedTable';
-export const StationForm = ({ station }: { station?: Station }) => {
- const form = useForm>({
- resolver: zodResolver(StationOptionalDefaultsSchema),
- defaultValues: station,
+export const Form = ({ event }: { event?: Event }) => {
+ const form = useForm>({
+ resolver: zodResolver(EventOptionalDefaultsSchema),
+ defaultValues: event,
});
const [loading, setLoading] = useState(false);
const [deleteLoading, setDeleteLoading] = useState(false);
@@ -24,9 +26,9 @@ export const StationForm = ({ station }: { station?: Station }) => {