22 lines
830 B
TypeScript
22 lines
830 B
TypeScript
/** 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";
|
|
}
|