From 65a143ef4df0ea143b8e41f10cbe3317571ca545 Mon Sep 17 00:00:00 2001 From: degradin Date: Sun, 16 Mar 2025 12:55:51 +0300 Subject: [PATCH] tg fixes --- app/components/MainApp.tsx | 4 ++-- app/hooks/useTelegramWebApp.ts | 27 ++++++++++++++++++++++++--- app/utils/demo.ts | 6 ++++-- 3 files changed, 30 insertions(+), 7 deletions(-) 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',