import { redirect } from "next/navigation"; import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; import { isAdminEmail } from "@/lib/admin"; import { payoutRepo } from "@/server/repositories/payout.repo"; import { PayoutReviewCard, type PayoutCardData, } from "@/features/payout/components/payout-review-card"; type Tab = "RELEASED" | "HELD" | "PAID" | "CANCELLED"; const TABS: { key: Tab; label: string }[] = [ { key: "RELEASED", label: "Siap transfer" }, { key: "HELD", label: "Ditahan (escrow)" }, { key: "PAID", label: "Selesai" }, { key: "CANCELLED", label: "Dibatalkan" }, ]; interface PageProps { searchParams: Promise<{ tab?: string }>; } export default async function AdminPayoutsPage({ searchParams }: PageProps) { const session = await getServerSession(authOptions); if (!session?.user) redirect("/login?callbackUrl=/admin/payouts"); if (!isAdminEmail(session.user.email)) { return (
Halaman ini hanya untuk admin SeTrip.
Uang peserta ditahan (escrow) sampai trip selesai + 3 hari. Setelah status Siap transfer, admin transfer manual ke rekening organizer lalu tandai sudah dibayar.
Tidak ada payout pada status ini.