import { redirect } from "next/navigation"; import Link from "next/link"; import { Clock, RefreshCw, CircleX, ArrowLeft } from "lucide-react"; import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; import { organizerService } from "@/server/services/organizer.service"; import { VerifyForm } from "@/features/organizer/components/verify-form"; import { VerifiedBadge } from "@/components/shared/verified-badge"; function reuploadFieldLabel(field: string): string { switch (field) { case "ktpImage": return "Foto KTP"; case "liveness": return "Foto liveness (pegang kertas SETRIP)"; case "nik": return "NIK"; case "bankInfo": return "Info rekening"; case "address": return "Alamat"; default: return field; } } export default async function VerifyPage() { const session = await getServerSession(authOptions); if (!session?.user) { redirect("/login?callbackUrl=/verify"); } const verification = await organizerService.getStatusForUser(session.user.id); const initial = verification ? { fullName: verification.fullName, nik: organizerService.decryptNik(verification.nikEncrypted), birthDate: verification.birthDate, address: verification.address, ktpImageKey: verification.ktpImageKey, livenessKey: verification.livenessKey, bankName: verification.bankName, bankAccountNumber: verification.bankAccountNumber, bankAccountName: verification.bankAccountName, } : null; return (

Verifikasi Organizer

Lengkapi data berikut untuk mengaktifkan kemampuan membuat trip berbayar.

{verification?.status === "APPROVED" && (
Akun terverifikasi

Selamat! Kamu sudah bisa membuat trip berbayar.

)} {verification?.status === "PENDING" && !verification.reuploadRequested && (

Menunggu review admin

Pengajuanmu sedang diproses. Kami akan memberitahu via email setelah selesai.

)} {verification?.reuploadRequested && (

Admin minta kamu upload ulang

{verification.reuploadNote && (

Catatan admin:{" "} {verification.reuploadNote}

)} {verification.reuploadFields.length > 0 && (

Field yang perlu di-upload ulang:

    {verification.reuploadFields.map((f) => (
  • {reuploadFieldLabel(f)}
  • ))}
)}

Submit ulang form di bawah dengan data/foto yang sudah diperbaiki. Setelah submit, banner ini hilang otomatis.

)} {verification?.status === "REJECTED" && (

Pengajuan ditolak

{verification.rejectionReason && (

Alasan:{" "} {verification.rejectionReason}

)}

Kamu bisa memperbaiki data dan mengajukan ulang di bawah.

)} {(verification?.status !== "APPROVED" && (verification?.status !== "PENDING" || verification?.reuploadRequested)) && }

Kembali ke profil

); }