diff --git a/lib/telegram-utils.ts b/lib/telegram-utils.ts new file mode 100644 index 0000000..72ec92a --- /dev/null +++ b/lib/telegram-utils.ts @@ -0,0 +1,27 @@ +// Утилита для работы с Telegram WebApp - убирает дубликаты кода +import type { TelegramUserData } from '@/types/telegram'; + +export const getTelegramData = (): TelegramUserData => { + const telegramWebApp = (window as any).Telegram?.WebApp; + const user = telegramWebApp?.initDataUnsafe?.user; + + return { + webApp: telegramWebApp || null, + telegramId: user?.id || null, + telegramUsername: user?.username || null, + firstName: user?.first_name || null, + lastName: user?.last_name || null, + }; +}; + +export const closeTelegramWebApp = (message?: string) => { + const { webApp } = getTelegramData(); + + if (webApp) { + if (message) { + webApp.showAlert(message, () => webApp.close()); + } else { + webApp.close(); + } + } +};