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