HOME


Mini Shell 1.0
La Pieza.DO | Todo lo que buscas!

Bienvenido de nuevo!

Acceso Cuenta Delivery
DIR: /var/www/devs.lapieza.net/public/assets/js/views/
Upload File :
Current File : /var/www/devs.lapieza.net/public/assets/js/views/delivery-info.js
window.addEventListener('load', () => {
    const deliveryCards = document.querySelectorAll('.delivery-card');
    deliveryCards.forEach(card => {
        const input = card.querySelector('input[type=radio]');

        card.addEventListener('click', function (e){
            if(e.target !== input) {
                if (!input.disabled) { // Solo cambia el estado de 'checked' si el input NO está deshabilitado
                    input.checked = !input.checked;
                    handleInputStateChange(input, card, deliveryCards);
                }
            }
        });

        input.addEventListener('click', function(e){
            handleInputStateChange(input, card, deliveryCards);
        });

        if (input.checked) card.classList.add('bg-light');
    });
});

function handleInputStateChange(input, card, deliveryCards) {
    if (input.checked) {
        card.classList.add('bg-light');
        deliveryCards.forEach(card => clearDeliveryCards(card, input));
    } else {
        card.classList.remove('bg-light');
    }
}

function addRadioEvents(deliveryCards, card) {
    const input = card.children[1].children[0];
    input.addEventListener('change', function (e) {
        handleInputStateChange(input, card, deliveryCards);
    });
}

function clearDeliveryCards(card, target) {
    if (card !== target.parentElement.parentElement) {
        const productId = target.parentElement.parentElement.parentElement.id.split('-')[4];
        if (card.parentElement.id.split('-')[4] === productId) {
            card.classList.remove('bg-light');
        }
    }
}

const show_pickup_point = (e) => {
    const value = e.value;
    const target = document.querySelector(`${e.dataset.target}`);
    const deliveriesContainer = document.querySelector(`#delivery-options-product-${e.dataset.productId}`);
    if (value === 'home_delivery' || value === 'carrier') {
        if (!target.classList.contains('d-none')) {
            target.classList.add('d-none');
        }
        deliveriesContainer.classList.remove('d-none');
    } else {
        target.classList.remove('d-none')
        deliveriesContainer.classList.add('d-none');
    }
}