💬 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