mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
- Add useAnimationLoop hook with FPS throttling (30fps mobile/60fps desktop), Page Visibility API pause, and Telegram WebApp activated/deactivated events - Add useAnimationPause hook for CSS/Framer Motion components - Validate animation config with type allowlist, numeric clamping, JSON size guard - Move ctx.setTransform from per-frame to init/resize across all canvas backgrounds - Move ctx.lineCap to init/resize in vortex, replace Float32Array.set with direct writes - Pre-compute shooting star delay instead of per-frame Math.random - Cap DPR to 1.5 on mobile, reduce particle counts, cap blur to 4px - Disable aurora CSS animation on mobile, remove blur on mobile spotlight - Remove mix-blend-hard-light on mobile gradient-animation - Add NaN/Infinity guard to clampNumber, remove dead CSS variables - Add conditional unmount for Framer Motion backgrounds when paused - Add animationPlayState pause for CSS-animated backgrounds
27 lines
629 B
TypeScript
27 lines
629 B
TypeScript
/// <reference types="vite/client" />
|
|
|
|
declare const __APP_VERSION__: string;
|
|
|
|
interface ImportMetaEnv {
|
|
readonly VITE_API_URL: string;
|
|
readonly VITE_TELEGRAM_BOT_USERNAME?: string;
|
|
readonly VITE_APP_NAME?: string;
|
|
readonly VITE_APP_LOGO?: string;
|
|
}
|
|
|
|
interface ImportMeta {
|
|
readonly env: ImportMetaEnv;
|
|
}
|
|
|
|
/** Telegram WebApp global — available when running inside Telegram Mini App */
|
|
interface TelegramWebAppGlobal {
|
|
onEvent?: (event: string, callback: () => void) => void;
|
|
offEvent?: (event: string, callback: () => void) => void;
|
|
}
|
|
|
|
interface Window {
|
|
Telegram?: {
|
|
WebApp?: TelegramWebAppGlobal;
|
|
};
|
|
}
|