/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.2.6.1721301537
Updated: 2024-07-18 11:18:57

*/

// Mostrar aviso en producto y carrito
function mostrar_aviso_envio_gratis() {
    if (is_admin()) return;

    $cart = WC()->cart;
    if (!$cart) return;

    $total_carrito = $cart->get_cart_contents_total();
    $pais = WC()->customer->get_shipping_country();
    $provincia = WC()->customer->get_shipping_state();

    // Si no hay país, usar base
    if (!$pais) {
        $pais = WC()->countries->get_base_country();
        $provincia = WC()->countries->get_base_state();
    }

    $zona = 'tu zona';
    $envio_gratis_minimo = 9999;

    if ($pais === 'ES' && $provincia !== 'PM') {
        $zona = 'España Peninsular';
        $envio_gratis_minimo = 50;
    } elseif ($pais === 'ES' && $provincia === 'PM') {
        $zona = 'Baleares';
        $envio_gratis_minimo = 60;
    } elseif ($pais === 'PT') {
        $zona = 'Portugal';
        $envio_gratis_minimo = 60;
    }

    ob_start();

    if ($total_carrito >= $envio_gratis_minimo) {
        echo "<div class='envio-gratis-mensaje envio-gratis-ok'>🎉 ¡Ya tienes <strong>envío gratuito</strong> para <strong>$zona</strong>!</div>";
    } else {
        $restante = $envio_gratis_minimo - $total_carrito;
        echo "<div class='envio-gratis-mensaje envio-gratis-info'>🚚 Añade <strong>" . wc_price($restante) . "</strong> más para conseguir el <strong>envío gratuito en $zona</strong>.</div>";
    }

    return ob_get_clean();
}

// Mostrar en producto
add_action('woocommerce_single_product_summary', function () {
    echo mostrar_aviso_envio_gratis();
}, 25);

// Mostrar en carrito
add_action('woocommerce_before_cart', function () {
    echo mostrar_aviso_envio_gratis();
});

// Mini carrito – incluir JS y HTML dinámico
add_action('wp_footer', function () {
    if (is_admin()) return;
    ?>
    <div id="envio-gratis-mini" style="display:none;"></div>
    <script>
        function actualizarAvisoEnvioGratis() {
            jQuery.ajax({
                url: wc_cart_params.ajax_url,
                type: 'POST',
                data: {
                    action: 'obtener_aviso_envio_gratis'
                },
                success: function (response) {
                    jQuery('#envio-gratis-mini').html(response).fadeIn();
                }
            });
        }

        // Ejecutar al cargar mini carrito de Kadence
        jQuery(document.body).on('wc_fragments_loaded wc_cart_button_updated added_to_cart removed_from_cart', function () {
            actualizarAvisoEnvioGratis();
        });

        // Llamar también al cargar página
        jQuery(document).ready(function () {
            actualizarAvisoEnvioGratis();
        });
    </script>
    <?php
});

// Registrar acción AJAX
add_action('wp_ajax_obtener_aviso_envio_gratis', function () {
    echo mostrar_aviso_envio_gratis();
    wp_die();
});
add_action('wp_ajax_nopriv_obtener_aviso_envio_gratis', function () {
    echo mostrar_aviso_envio_gratis();
    wp_die();
});
