Update files

This commit is contained in:
glpshchn 2025-12-15 04:41:25 +03:00
parent 014b4ebdc7
commit 4a1dd09c4b
1 changed files with 45 additions and 8 deletions

View File

@ -289,17 +289,18 @@ export default function App() {
}
if (result?.user) {
console.log('[Telegram Widget] ✅ Пользователь получен от сервера:', result.user);
setUser(result.user);
setError(null);
console.log('[Telegram Widget] ✅ Пользователь установлен:', result.user.username);
setLoading(false);
console.log('[Telegram Widget] ✅ Пользователь установлен в state:', result.user.username);
// Перенаправить на главную страницу после успешной авторизации
setTimeout(() => {
console.log('[Telegram Widget] Перенаправление на главную страницу...');
window.location.href = '/';
}, 500);
// НЕ перенаправлять - просто обновить состояние
// React автоматически перерендерит компонент и покажет интерфейс
console.log('[Telegram Widget] ✅ Авторизация завершена успешно');
} else {
console.error('[Telegram Widget] ❌ Пользователь не получен от сервера');
console.error('[Telegram Widget] Результат от сервера:', result);
throw new Error('Пользователь не получен от сервера');
}
} catch (err) {
@ -312,10 +313,24 @@ export default function App() {
};
// Установить функцию в window для Telegram виджета
// ВАЖНО: Telegram виджет ищет функцию в глобальной области видимости
window.onTelegramAuth = onTelegramAuthHandler;
// Также установить как глобальную переменную (не через window)
if (typeof globalThis !== 'undefined') {
globalThis.onTelegramAuth = onTelegramAuthHandler;
}
console.log('[Telegram Widget] ✅ window.onTelegramAuth установлен');
console.log('[Telegram Widget] Проверка доступности:', typeof window.onTelegramAuth);
console.log('[Telegram Widget] Функция:', window.onTelegramAuth);
console.log('[Telegram Widget] window.onTelegramAuth === onTelegramAuthHandler:', window.onTelegramAuth === onTelegramAuthHandler);
// Добавить обработчик ошибок для отлова проблем
window.addEventListener('error', (event) => {
if (event.message && event.message.includes('onTelegramAuth')) {
console.error('[Telegram Widget] ❌ Ошибка связанная с onTelegramAuth:', event);
}
});
const initWidget = () => {
// Проверить не загружен ли уже виджет
@ -354,16 +369,38 @@ export default function App() {
script.onload = () => {
console.log('[Telegram Widget] ✅ Скрипт виджета загружен');
console.log('[Telegram Widget] Проверка window.onTelegramAuth:', typeof window.onTelegramAuth);
console.log('[Telegram Widget] window.onTelegramAuth === onTelegramAuthHandler:', window.onTelegramAuth === onTelegramAuthHandler);
// Убедиться, что функция все еще доступна после загрузки скрипта
if (typeof window.onTelegramAuth !== 'function') {
console.error('[Telegram Widget] ❌ window.onTelegramAuth не является функцией!');
window.onTelegramAuth = onTelegramAuthHandler;
console.log('[Telegram Widget] ✅ Функция восстановлена');
}
// Проверить, что виджет создался
setTimeout(() => {
const widgetElement = widgetContainer.querySelector('iframe, div');
if (widgetElement) {
console.log('[Telegram Widget] ✅ Виджет отрендерен в DOM');
console.log('[Telegram Widget] Виджет элемент:', widgetElement);
// Попробовать добавить обработчик клика напрямую (если возможно)
if (widgetElement.tagName === 'IFRAME') {
console.log('[Telegram Widget] Виджет в iframe, ожидаем вызов onTelegramAuth');
}
} else {
console.warn('[Telegram Widget] ⚠️ Виджет не найден в DOM после загрузки');
}
}, 1000);
// Финальная проверка функции
console.log('[Telegram Widget] Финальная проверка window.onTelegramAuth:', typeof window.onTelegramAuth);
if (typeof window.onTelegramAuth === 'function') {
console.log('[Telegram Widget] ✅ Функция доступна и готова к вызову');
} else {
console.error('[Telegram Widget] ❌ Функция недоступна!');
}
}, 2000);
};
script.onerror = (error) => {