Загрузка данных


// ==UserScript==
// @name         Warface Winback with Reload (fixed click)
// @namespace    http://tampermonkey.net/
// @version      1.1
// @match        https://ru.warface.com/promo/winback*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    const DONE_KEY = 'winback_fetch_reloaded';

    // Функция для клика по кнопке с задержкой
    function clickButtonWithDelay() {
        setTimeout(() => {
            const btn = document.querySelector('.start-roulette__btn');
            if (btn && btn.innerText.trim() === '1') {
                btn.click();
                console.log('[Winback] Кнопка нажата после перезагрузки');
                localStorage.removeItem(DONE_KEY);
            } else {
                console.warn('[Winback] Кнопка не найдена, пробую ещё через 1 сек...');
                // Повторная попытка через 1 секунду
                setTimeout(() => {
                    const btn2 = document.querySelector('.start-roulette__btn');
                    if (btn2 && btn2.innerText.trim() === '1') {
                        btn2.click();
                        console.log('[Winback] Кнопка нажата со второй попытки');
                        localStorage.removeItem(DONE_KEY);
                    } else {
                        console.error('[Winback] Кнопка так и не найдена');
                    }
                }, 1000);
            }
        }, 2000); // Ждём 2 секунды после загрузки страницы
    }

    // Проверяем, был ли уже выполнен fetch
    if (localStorage.getItem(DONE_KEY) === 'true') {
        // После перезагрузки: ждём появления кнопки и кликаем
        console.log('[Winback] После перезагрузки, ожидаем кнопку...');
        clickButtonWithDelay();
        return;
    }

    // Первый заход: ждём 3 секунды, отправляем fetch с правильными заголовками, перезагружаем
    setTimeout(async () => {
        const formData = new FormData();
        formData.append('activity_name', 'wf_bday_2026');

        try {
            const response = await fetch('https://ru.warface.com/minigames/restorable_progress/api/check-in', {
                method: 'POST',
                credentials: 'include',
                headers: {
                    'accept': '*/*',
                    'accept-language': 'ru-RU,ru;q=0.9',
                    'sec-ch-ua': '"Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146"',
                    'sec-ch-ua-mobile': '?0',
                    'sec-ch-ua-platform': '"Windows"',
                    'sec-fetch-dest': 'empty',
                    'sec-fetch-mode': 'cors',
                    'sec-fetch-site': 'same-origin'
                },
                body: formData
            });
            console.log('[Winback] Fetch ответ:', response.status);
        } catch (error) {
            console.error('[Winback] Ошибка fetch:', error);
        }

        localStorage.setItem(DONE_KEY, 'true');
        console.log('[Winback] Перезагрузка...');
        location.reload();
    }, 3000);
})();