// Flex Importer plugin activation for Getstarted
document.addEventListener('DOMContentLoaded', function () {
    const flex_travel_button = document.getElementById('install-activate-button');
    if (!flex_travel_button) return;

    flex_travel_button.addEventListener('click', function (e) {
        e.preventDefault();

        const flex_travel_redirectUrl = flex_travel_button.getAttribute('data-redirect');

        // Step 1: Check if plugin is already active
        const flex_travel_checkData = new FormData();
        flex_travel_checkData.append('action', 'check_flex_import_activation');

        fetch(installFlexData.ajaxurl, {
            method: 'POST',
            body: flex_travel_checkData,
        })
        .then(res => res.json())
        .then(res => {
            if (res.success && res.data.active) {
                // Plugin is already active → just redirect
                window.location.href = flex_travel_redirectUrl;
            } else {
                // Not active → proceed with install + activate
                flex_travel_button.textContent = 'Installing & Activating...';

                const flex_travel_installData = new FormData();
                flex_travel_installData.append('action', 'install_and_activate_flex_import_plugin_lite');
                flex_travel_installData.append('_ajax_nonce', installFlexData.nonce);

                fetch(installFlexData.ajaxurl, {
                    method: 'POST',
                    body: flex_travel_installData,
                })
                .then(res => res.json())
                .then(res => {
                    if (res.success) {
                        window.location.href = flex_travel_redirectUrl;
                    } else {
                        alert('Activation error: ' + (res.data?.message || 'Unknown error'));
                        flex_travel_button.textContent = 'Try Again';
                    }
                })
                .catch(error => {
                    alert('Request failed: ' + error.message);
                    flex_travel_button.textContent = 'Try Again';
                });
            }
        })
        .catch(error => {
            alert('Check request failed: ' + error.message);
        });
    });
});

// Banner Notice
document.addEventListener('DOMContentLoaded', function () {
    const flex_travel_button_banner = document.getElementById('install-activate-button');
    if (!flex_travel_button_banner) return;

    flex_travel_button_banner.addEventListener('click', function (e) {
        e.preventDefault();

        const flex_travel_redirectUrl = flex_travel_button_banner.getAttribute('data-redirect');

        // Step 1: Check if plugin is already active
        const flex_travel_checkData = new FormData();
        flex_travel_checkData.append('action', 'check_flex_import_activation');

        fetch(installFlexData.ajaxurl, {
            method: 'POST',
            body: flex_travel_checkData,
        })
        .then(res => res.json())
        .then(res => {
            if (res.success && res.data.active) {
                // Plugin is already active → just redirect
                window.location.href = flex_travel_redirectUrl;
            } else {
                // Not active → proceed with install + activate
                flex_travel_button_banner.textContent = 'Installing & Activating...';

                const flex_travel_installData = new FormData();
                flex_travel_installData.append('action', 'install_and_activate_flex_import_plugin_lite');
                flex_travel_installData.append('_ajax_nonce', installFlexData.nonce);

                fetch(installFlexData.ajaxurl, {
                    method: 'POST',
                    body: flex_travel_installData,
                })
                .then(res => res.json())
                .then(res => {
                    if (res.success) {
                        window.location.href = flex_travel_redirectUrl;
                    } else {
                        alert('Activation error: ' + (res.data?.message || 'Unknown error'));
                        flex_travel_button_banner.textContent = 'Try Again';
                    }
                })
                .catch(error => {
                    alert('Request failed: ' + error.message);
                    flex_travel_button_banner.textContent = 'Try Again';
                });
            }
        })
        .catch(error => {
            alert('Check request failed: ' + error.message);
        });
    });
});