jQuery(document).ready(function ($) { /*$('.upw-mainpkgbtn') .prop('disabled', true) .addClass('disabled') .attr('aria-disabled', 'true') .on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); return false; });*/ let selectedPlatform = ''; let selectedAccountSize = ''; let selectedAccountType = ''; let preloadedData = wcoc_data.products; let activeTab = 'standard'; // default let proModeEnabled = false; let currentProductId = null; // Prevent duplicate add-to-cart requests let wcocAddingToCart = false; function switchConstructorTab(tabKey) { activeTab = tabKey; const $mainOuter = $('.upw-mainouter'); // remove old state $mainOuter.removeClass('is-standard is-crypto'); // add new state if (tabKey === 'crypto') { $mainOuter.addClass('is-crypto'); } else { $mainOuter.addClass('is-standard'); } // tabs UI $('#wcoc-tab-switcher .wcoc-tab-btn').removeClass('active'); $('#wcoc-tab-switcher .wcoc-tab-btn[data-tab="' + tabKey + '"]').addClass('active'); // show correct group $('[data-tab-content]').hide().removeClass('active'); const $group = $('[data-tab-content="' + tabKey + '"]').show().addClass('active'); // reset only THIS group $group.find('.upw-modelbtn').removeClass('active'); // select FIRST product automatically let $defaultBtn = $group.find('.upw-modelbtn').first(); if ($defaultBtn.length) { const defaultProductId = $defaultBtn.data('product-id'); currentProductId = defaultProductId; $defaultBtn.addClass('active'); loadProductData(defaultProductId); let selectedProgram = $defaultBtn.clone().children().remove().end().text().trim(); const currentSize = document.querySelector('#account-size-container .upw-modelbtn.active')?.dataset.accountSize || ''; setAddonContainerClasses(defaultProductId, selectedProgram, currentSize); updateTableDataById(defaultProductId); } // ✅ ADD THIS HERE (CORRECT PLACE) if (tabKey === 'crypto') { $('#promode-wrap').hide(); $('#crypto-txt-wrap').show(); $('.complete_order_note').hide(); // optional reset $('#promode-toggle').prop('checked', false); proModeEnabled = false; const $mainOuter = $('.upw-mainouter'); $mainOuter.removeClass('promode-enabled'); } else { $('#promode-wrap').show(); $('#crypto-txt-wrap').hide(); $('.complete_order_note').show(); } } $(document).on('click', '#wcoc-tab-switcher .wcoc-tab-btn', function () { const tabKey = $(this).data('tab'); switchConstructorTab(tabKey); }); $(document).on('change', '#promode-toggle', function () { proModeEnabled = $(this).is(':checked'); const $mainOuter = $('.upw-mainouter'); if (proModeEnabled) { $mainOuter.addClass('promode-enabled'); } else { $mainOuter.removeClass('promode-enabled'); } }); // Function to load product data into UI /*function loadProductData(productId) { if (!preloadedData[productId]) return; const productData = preloadedData[productId]; availableVariations = productData.variations; // Normalize to strings for safe comparison const validSizes = productData.account_sizes.map(v => v.toString()); const validPlatforms = productData.platforms.map(v => v.toString()); const validTypes = productData.account_types.map(v => v.toString()); // Filter platform buttons document.querySelectorAll('#platform-container .upw-modelbtn').for