/** Minimal trip sebagai organizer untuk badge "Trip leader" (heuristik MVP). */ export const TRIP_LEADER_MIN_TRIPS = 2; /** * Minimal sample (trip selesai + trip dibatalkan) sebelum completion rate * ditampilkan ke publik. Mencegah angka menyesatkan untuk organizer baru: * mis. 1 trip dibatalkan dari 1 trip = 0% — tidak fair sebagai sinyal trust. */ export const COMPLETION_RATE_MIN_SAMPLE = 3; /** Bentuk data minimal untuk cek status verifikasi organizer. */ type WithOrganizerVerification = { organizerVerification?: { status: "PENDING" | "APPROVED" | "REJECTED" } | null; }; /** True kalau user punya OrganizerVerification berstatus APPROVED. */ export function isVerifiedOrganizer( user: WithOrganizerVerification | null | undefined ): boolean { return user?.organizerVerification?.status === "APPROVED"; }