/**
 * Sosyal kanıt şeridinin eşikleri ve veri tipi. Ayrı dosya, çünkü şeridin
 * istemci gövdesi de bunları okuyor; `sosyal-kanit.ts` veritabanı ve Rybbit
 * anahtarını içeri aldığı için istemci paketine girmemeli.
 */

/**
 * Liste sayısı bu eşiğin altındaysa şerit hiç gösterilmez: "12 öğrenci
 * oluşturdu" satın almaya itmez, tersine yeni/boş izlenimi verir.
 */
export const LISTE_ESIGI = 25;

/**
 * Canlı sayı bu eşiğin altındaysa canlı satır gizlenir. 1 kişi zaten
 * ziyaretçinin kendisi; "1 kişi sitede" sosyal kanıt değil, tam tersi.
 */
export const CANLI_ESIGI = 3;

/**
 * Eşikler yalnızca prod'da işler. Geliştirmede veritabanında bir avuç kayıt
 * olur; şeridi gizlemek "kod çalışmıyor" gibi görünür, oysa çalışıyor.
 */
export function esikGecti(sayi: number, esik: number): boolean {
  if (process.env.NODE_ENV !== "production") return sayi > 0;
  return sayi >= esik;
}

export interface SosyalKanitVerisi {
  /** Üretilmiş tercih listesi sayısı. */
  liste: number;
  /** Son 30 dakikadaki ziyaretçi; kaynak yoksa null. */
  canli: number | null;
}
