diff --git a/apps/hub/app/(app)/_components/FirstPath.tsx b/apps/hub/app/(app)/_components/FirstPath.tsx new file mode 100644 index 00000000..e0aa0542 --- /dev/null +++ b/apps/hub/app/(app)/_components/FirstPath.tsx @@ -0,0 +1,77 @@ +"use client"; +import { useRef, useEffect, useState } from "react"; + +export const FirstPath = () => { + const modalRef = useRef(null); + const [selected, setSelected] = useState<"disponent" | "pilot" | null>(null); + + useEffect(() => { + if (modalRef.current && !modalRef.current.open) { + modalRef.current.showModal(); + } + }, []); + + return ( + +
+

Wähle deinen Einstieg!

+

+ Willkommen bei Virtual Air Rescue! +
Wähle deinen ersten Pfad aus. Du kannst später jederzeit auch den anderen Pfad + ausprobieren, wenn du möchtest. +

+
+
+ {/* Disponent Card */} +
setSelected("disponent")} + role="button" + tabIndex={0} + aria-pressed={selected === "disponent"} + > +
Disponent
+
+ Denkt sich realistische Einsatzszenarien aus, koordiniert deren Ablauf und ist die + zentrale Schnittstelle zwischen Piloten und bodengebundenen Rettungsmitteln. Er + trägt die Verantwortung für einen reibungslosen Ablauf und der erfolgreichen + Durchführung der Einsätze. +
+ Teilnahme an Einführungsevent Nötig +
+
+
+ {/* Pilot Card */} +
setSelected("pilot")} + role="button" + tabIndex={0} + aria-pressed={selected === "pilot"} + > +
Pilot
+
+ Fliegt die vom Disponenten erstellten Einsätze und transportiert die Med-Crew sicher + zum Einsatzort. Er übernimmt die navigatorische Vorbereitung, achtet auf + Wetterentwicklungen und sorgt für die Sicherheit seiner Crew im Flug. +
+
+
+
+
+ +
+
+
+ ); +}; diff --git a/apps/hub/app/(app)/layout.tsx b/apps/hub/app/(app)/layout.tsx index e3016881..8d4382c5 100644 --- a/apps/hub/app/(app)/layout.tsx +++ b/apps/hub/app/(app)/layout.tsx @@ -3,8 +3,8 @@ import { DiscordLogoIcon, InstagramLogoIcon, ReaderIcon } from "@radix-ui/react- import { HorizontalNav, VerticalNav } from "../_components/Nav"; import { redirect } from "next/navigation"; import { getServerSession } from "../api/auth/[...nextauth]/auth"; -import { Error } from "_components/Error"; import { EmailVerification } from "_components/EmailVerification"; +import { FirstPath } from "./_components/FirstPath"; export const metadata: Metadata = { title: "VAR: Hub", @@ -46,6 +46,7 @@ export default async function RootLayout({ )} + {children}