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