💬 Telegram Utils: Утилита для работы с Telegram WebApp API
This commit is contained in:
27
lib/telegram-utils.ts
Normal file
27
lib/telegram-utils.ts
Normal file
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user