/** * Single-call wrapper for Telegram Mini App ready() and expand(). * Called once when the first visible screen has finished loading so Telegram * hides its native loading animation only after our content is ready. * Also expands the Mini App to full height when supported. */ import { miniAppReady, expandViewport } from "@telegram-apps/sdk-react"; let readyCalled = false; /** * Calls Telegram miniAppReady() at most once per session, then expandViewport() * when available so the app opens to full height. * Safe when SDK is unavailable (e.g. non-Telegram environment). */ export function callMiniAppReadyOnce(): void { if (readyCalled) return; try { if (miniAppReady.isAvailable()) { miniAppReady(); readyCalled = true; } if (expandViewport.isAvailable()) { expandViewport(); } } catch { // SDK not available or not in Mini App context; no-op. } }