import { LockKeyhole, Mail, UserRound } from "lucide-react"; import Link from "next/link"; import { notFound } from "next/navigation"; import { acceptInvitation } from "./actions"; import { AuthPageShell } from "@/components/auth/auth-page-shell"; import { SubmitButton } from "@/components/auth/submit-button"; import { ErrorToaster } from "@/components/error-toaster"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/field"; import { getPortalInvitationPreview } from "@/server/auth/invitations"; export const dynamic = "force-dynamic"; export default async function InvitationPage({ params, searchParams, }: { params: Promise<{ token: string }>; searchParams: Promise<{ error?: string; message?: string }>; }) { const { token } = await params; const invitation = getPortalInvitationPreview(token); if (!invitation) { notFound(); } const query = await searchParams; const isUsable = invitation.status === "pending"; const unavailableMessage = invitation.status === "expired" ? "Bu davetin süresi dolmuş. Freelancer'dan yeni bir bağlantı istemelisin." : invitation.status === "accepted" ? "Bu davet daha önce kullanılmış. Hesabınla giriş yapabilirsin." : invitation.status === "revoked" ? "Bu davet iptal edilmiş. Freelancer'dan yeni bir bağlantı istemelisin." : null; return ( <> {query.error && query.message ? : null}

En az 8 karakter kullan.

Portal hesabını oluştur ) : (

{unavailableMessage}

) } secondaryAction={null} footer={ Giriş sayfasına dön } /> ); }