-
{title}
+
{event.name}
Zusatzqualifikation
@@ -30,21 +17,48 @@ export const KursItem = ({
-
{badge}
+
{event.finishedBadges}
-
- Teilnahmevoraussetzungen:
-
- Moodle Kurs /MOODLEKURSTITLE\
-
-
+
+
+ Teilnahmevoraussetzungen:
+ {(!event.starterMoodleCourseId ||
+ !event.requiredBadges.length) &&
+ 'Keine'}
+ {event.starterMoodleCourseId && (
+
+ Moodle Kurs {event.starterMoodleCourseId}
+
+ )}
+
+ {!!event.requiredBadges.length && (
+
+
Abzeichen:
+
+ {event.requiredBadges.map((badge) => (
+
+ {badge}
+
+ ))}
+
+
+ )}
+
diff --git a/apps/hub/app/(app)/events/page.tsx b/apps/hub/app/(app)/events/page.tsx
index 81d51f59..3515681d 100644
--- a/apps/hub/app/(app)/events/page.tsx
+++ b/apps/hub/app/(app)/events/page.tsx
@@ -1,22 +1,16 @@
-import { getServerSession } from "../../api/auth/[...nextauth]/auth";
-import { PrismaClient } from "@repo/db";
-import { PilotKurs, KursItem } from "./_components/item";
-import {
- RocketIcon,
- DrawingPinFilledIcon,
- EnterIcon,
-} from "@radix-ui/react-icons";
+import { getServerSession } from '../../api/auth/[...nextauth]/auth';
+import { PrismaClient } from '@repo/db';
+import { PilotKurs, KursItem } from './_components/item';
+import { RocketIcon } from '@radix-ui/react-icons';
export default async () => {
const prisma = new PrismaClient();
const session = await getServerSession();
if (!session) return null;
- const user = await prisma.user.findFirst({
- where: {
- id: session.user.id,
- },
- });
+ const user = session.user;
+ const events = await prisma.event.findMany();
if (!user) return null;
+
return (
@@ -25,21 +19,9 @@ export default async () => {
-
+ {events.map((event) => (
+
+ ))}
);
};
diff --git a/apps/hub/app/_components/PaginatedTable.tsx b/apps/hub/app/_components/PaginatedTable.tsx
index d7dc5ea7..76d1951c 100644
--- a/apps/hub/app/_components/PaginatedTable.tsx
+++ b/apps/hub/app/_components/PaginatedTable.tsx
@@ -90,9 +90,9 @@ export function PaginatedTable
({
return (
- {searchFields.length > 0 && (
-
-
{leftOfSearch}
+
+
{leftOfSearch}
+ {searchFields.length > 0 && (
({
}}
className="input input-bordered w-full max-w-xs justify-end"
/>
-
{rightOfSearch}
-
- )}
+ )}
+
{rightOfSearch}
+
{
+ name: Path;
+ form: UseFormReturn;
+ formOptions?: RegisterOptions;
+ label?: string;
+ placeholder?: string;
+ className?: string;
+}
+
+export const MarkdownEditor = ({
+ name,
+ label = name,
+ placeholder = label,
+ form,
+ className,
+}: MarkdownEditorProps) => {
+ return (
+
+ );
+};
diff --git a/apps/hub/app/_components/ui/Switch.tsx b/apps/hub/app/_components/ui/Switch.tsx
index 23532f33..553e3fda 100644
--- a/apps/hub/app/_components/ui/Switch.tsx
+++ b/apps/hub/app/_components/ui/Switch.tsx
@@ -23,9 +23,11 @@ export const Switch = ({
...inputProps
}: InputProps) => {
return (
-
-