"use client"; import { editUser } from "(app)/admin/user/action"; import { Button } from "_components/ui/Button"; import { Plane, Workflow } from "lucide-react"; import { useSession } from "next-auth/react"; import { useRef, useEffect, useState } from "react"; import { useQuery } from "@tanstack/react-query"; import { getEvents } from "../../../helper/events"; import { EventCard } from "(app)/events/_components/EventCard"; const PathsOptions = ({ selected, setSelected, }: { selected: "disponent" | "pilot" | null; setSelected: (value: "disponent" | "pilot") => void; }) => { return ( <>
{/* 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.
); }; const EventSelect = ({ pathSelected }: { pathSelected: "disponent" | "pilot" }) => { const { data: events } = useQuery({ queryKey: ["events", "initial", pathSelected], queryFn: () => getEvents({ type: pathSelected === "pilot" ? "PILOT_STARTER" : "DISPATCH_STARTER", }), }); const user = useSession().data?.user; if (!user) return null; return events?.map((event) => { return ; }); }; export const FirstPath = () => { const modalRef = useRef(null); const { data: session } = useSession(); const [selected, setSelected] = useState<"disponent" | "pilot" | null>( session?.user.badges.includes("D1") ? "disponent" : null, ); const [page, setPage] = useState<"path" | "event-select">("path"); useEffect(() => { if (modalRef.current && !modalRef.current.open) { modalRef.current.showModal(); } }, []); return (

{session?.user.migratedFromV1 ? "Hallo, hier hat sich einiges geändert!" : "Wähle deinen Einstieg!"}

Willkommen bei Virtual Air Rescue!

{session?.user.migratedFromV1 ? (

Dein Account wurde erfolgreich auf das neue System migriert. Herzlich Willkommen im neuen HUB! Um die Erfahrung für alle Nutzer zu steigern haben wir uns dazu entschlossen, dass alle Nutzer einen Test absolvieren müssen:{" "} {session.user.badges.includes("D1") && `Da du vorher schon den D1-Test absolviert hast, kannst du unter Disponent das "Quick-Lane-Event" auswählen. Um Pilot zu werden, kannst du dann später den Piloten-Kurs absolvieren.`} {(!session.user.badges.includes("D1") || session.user.badges.includes("P1")) && `Als Pilot musst du den Piloten-Test abschließen.`}

) : (

Wie möchtest du bei uns starten? Du kannst später jederzeit auch den anderen Pfad ausprobieren, wenn du möchtest.

)}
{page === "path" && } {page === "event-select" && (

Wähle dein Einführungs-Event aus:

)}
); };