diff --git a/app/components/MainApp.tsx b/app/components/MainApp.tsx index f6b5adb..14aaff8 100644 --- a/app/components/MainApp.tsx +++ b/app/components/MainApp.tsx @@ -48,7 +48,7 @@ export default function MainApp() { } // Авторизация пользователя - const { user: telegramUser } = webApp.initDataUnsafe; + const telegramUser = webApp.initDataUnsafe?.user; if (!telegramUser) { throw new Error('Пользователь не найден'); } @@ -65,7 +65,7 @@ export default function MainApp() { setShopItems(shopData); // Сообщаем Telegram, что приложение готово - webApp.ready(); + webApp.ready?.(); } catch (error: any) { console.error('Initialization error:', error); toast({ diff --git a/app/hooks/useTelegramWebApp.ts b/app/hooks/useTelegramWebApp.ts index 834ec45..89e1dc1 100644 --- a/app/hooks/useTelegramWebApp.ts +++ b/app/hooks/useTelegramWebApp.ts @@ -4,6 +4,14 @@ import { useEffect, useState } from 'react'; import { isDemoMode, getDemoWebApp } from '../utils/demo'; import type { WebApp } from '@twa-dev/types'; +declare global { + interface Window { + Telegram?: { + WebApp?: WebApp; + }; + } +} + type SafeWebApp = Partial; export const getDemoWebApp = (): SafeWebApp => ({ - initData: 'demo_mode', + initData: JSON.stringify(demoInitData), initDataUnsafe: demoInitData, platform: 'WEBVIEW' as Platforms, colorScheme: 'light',