28 lines
789 B
TypeScript
28 lines
789 B
TypeScript
// Утилита для работы с 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();
|
||
}
|
||
}
|
||
};
|