/** * 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; }