HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/demo.sports-crowd.com/resources/views/web_experiences/detail/js.blade.php
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<script>
    $(document).ready(function() {
        function formatCurrency(value) {
            return new Intl.NumberFormat('es-CO', {
                style: 'currency',
                currency: <?php echo json_encode($corporateIdentity->currency); ?>,
                currencyDisplay: 'narrowSymbol',
                minimumFractionDigits: <?php echo json_encode($corporateIdentity->minimum_fraction_digits); ?>,
                maximumFractionDigits: <?php echo json_encode($corporateIdentity->maximum_fraction_digits); ?>,
            }).format(value);
        }

        $('.plan-price').each(function() {
            let amountText = $(this).text();
            let formatted = formatCurrency(amountText);
            $(this).text(formatted);
        });

        $('.plan-total-price').each(function() {
            let amountText = $(this).text();
            let formatted = formatCurrency(amountText);
            $(this).text(formatted);
        });

        document.querySelectorAll('.plan-box').forEach(box => {
            const decrementBtn = box.querySelector('[data-action="decrement"]');
            const incrementBtn = box.querySelector('[data-action="increment"]');
            const input = box.querySelector('.quantity-input');
            const total = box.querySelector('.plan-total-price');
            const price = parseFloat(total.dataset.base || 0);
            const limit = parseInt(input.dataset.limit || '1');

            function updateTotal(qty) {
                const totalAmount = price * qty;
                total.textContent = `$ ${totalAmount.toLocaleString('es-CO')}`;
            }

            decrementBtn.addEventListener('click', () => {
                let current = parseInt(input.value);
                if (current > 1) {
                    current--;
                    input.value = current;
                    updateTotal(current);
                }
            });

            incrementBtn.addEventListener('click', () => {
                let current = parseInt(input.value);
                if (current < limit) {
                    current++;
                    input.value = current;
                    updateTotal(current);
                }
            });

            box.addEventListener('click', () => {
                document.querySelectorAll('.plan-box').forEach(b => b.classList.remove('selected'));
                box.classList.add('selected');

                const $button = $('.register-btn');
                $button.prop('disabled', false);
                $button.off('click');
                $button.on('click', function() {
                    const experienceId = $('#experienceId').val();
                    const planPriceId = box.dataset.planId;
                    const amount = box.querySelector('.quantity-input').value;
                    const url = `/web_experiences/${experienceId}/preview-enroll/${planPriceId}/${amount}`;
                    window.location.href = url;
                });

                // Centrar en el box seleccionado
                $('html, body').animate({
                    scrollTop: $(box).offset().top - ($(window).height() / 2) + ($(box).outerHeight() / 2)
                }, 500);
            })
        });

        history.pushState(null, null, location.href);
        window.onpopstate = function() {
            window.location.href = "{{ url('/web_experiences') }}";
        };
    });
</script>