import { redirect } from "next/navigation"; import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; import { isAdminEmail, listAdminEmails } from "@/lib/admin"; import { organizerRepo } from "@/server/repositories/organizer.repo"; import { organizerService } from "@/server/services/organizer.service"; import { AdminFilterBar } from "@/features/admin/components/admin-filter-bar"; import { ExportCsvLink } from "@/features/admin/components/export-csv-link"; import { ReviewCard } from "@/features/organizer/components/review-card"; type Tab = "PENDING" | "APPROVED" | "REJECTED"; interface PageProps { searchParams: Promise<{ tab?: string; dateFrom?: string; dateTo?: string; reviewer?: string; }>; } function parseDate(value: string | undefined): Date | undefined { if (!value) return undefined; const d = new Date(value); return Number.isNaN(d.getTime()) ? undefined : d; } export default async function AdminVerificationsPage({ searchParams }: PageProps) { const session = await getServerSession(authOptions); if (!session?.user) redirect("/login?callbackUrl=/admin/verifications"); if (!isAdminEmail(session.user.email)) { return (
Halaman ini hanya untuk admin SeTrip.
Periksa data KTP, foto liveness (memegang kertas SETRIP), dan rekening sebelum menyetujui.
Tidak ada data yang cocok dengan filter ini.