34 lines
2.3 KiB
TypeScript
34 lines
2.3 KiB
TypeScript
/** تعداد پست در اولین درخواست — سریعتر باز شدن ریلز */
|
||
export const REELS_FIRST_PAGE_SIZE = 3;
|
||
|
||
/** تعداد پست در صفحات بعدی (پسزمینه) */
|
||
export const REELS_PAGE_SIZE = 6;
|
||
|
||
/** فقط کارتهای نزدیک پست فعال mount میشوند */
|
||
export const REELS_RENDER_WINDOW = 5;
|
||
|
||
/** فضای رزروشدهی پایینِ هر اسلات برای نوارِ ناوبریِ شناورِ پایینِ صفحه (TabNavigation.tsx)
|
||
* که برخلافِ اندروید (که تبِ پایین رو کاملاً مخفی میکنه)، توی ریلزِ وب همیشه روی صفحه
|
||
* میمونه — پس برخلافِ نسخهی اول (نسبتِ ۹:۱۶ کاملِ letterbox که فضای خالیِ خیلی زیادی
|
||
* میذاشت)، اینجا فقط دقیقاً بهاندازهی ارتفاعِ خودِ همون نوار + safe-area رزرو میشه،
|
||
* نه یه نسبتِ ابعادِ ثابت — تا پست مثلِ ریلزِ اندروید تقریباً تمامصفحه (edge-to-edge)
|
||
* بمونه و فقط از زیرِ نوار بیرون نزنه */
|
||
// مثل اندروید: فاصلهی ثابت ۵۰px از پایینِ صفحه، بدون وابستگی به safe-area،
|
||
// تا کادرِ ریلز و خطِ پیشرفت روی همهی گوشیها یک شکل باشن
|
||
export const REELS_BOTTOM_RESERVED = "50px";
|
||
|
||
/** کلاس یکسان هر اسلات ریلز — snap + ارتفاع ثابت. خودِ اسلات کاملارتفاعه (برای
|
||
* فاصلهگذاریِ درستِ scroll-snap)؛ محتوای واقعی (ReelsPostCard) با REELS_BOTTOM_RESERVED
|
||
* کوتاهتر میشه و از بالا (زیرِ status bar) شروع میشه، نه وسطچین */
|
||
export const REELS_SLOT_CLASS =
|
||
"reels-snap-slot flex h-[100dvh] w-full shrink-0 snap-start snap-always items-start justify-center bg-black";
|
||
|
||
/** پوسته ریلز — همعرض منوبار */
|
||
export const REELS_SHELL_CLASS = "mx-auto h-[100dvh] w-full max-w-xl overflow-hidden";
|
||
|
||
/** چند پست مانده به انتها، صفحه بعد prefetch شود */
|
||
export const REELS_PREFETCH_AHEAD = 3;
|
||
|
||
/** تأخیر قبل از fetch صفحه دوم در پسزمینه */
|
||
export const REELS_BG_PREFETCH_DELAY_MS = 350;
|