X

Solid Body Electric Flame Maple Tenor Ukulele

KA-SB-MAP-T

$299.00 MSRP

The performer’s dream, the agile Kala Solid Body Electric Ukulele brings a brand-new dimension to the world of ukulele recording, studio use, and ...
More Details →
X
new

Solid Body Electric Sunny & The Black Pack Signature Tenor Ukulele

KA-SB-SUN-T

$329.00 MSRP $299.00

The performer’s dream, the agile Kala Solid Body Electric Ukulele brings a brand-new dimension to the world of ukulele recording, studio use, and a...
More Details →
X
new

Solid Body Electric Striped Ebony Tenor Ukulele

KA-SB-EBY-T

$299.00 MSRP

The performer’s dream, the agile Kala Solid Body Electric Ukulele brings a brand-new dimension to the world of ukulele recording, studio use, and a...
More Details →
X

Solid Body Electric Acacia Tenor Ukulele

KA-SB-ACA-T

$389.00 MSRP $379.00

The performer’s dream, the agile Kala Solid Body Electric Ukulele brings a brand-new dimension to the world of ukulele recording, studio use, and ...
More Details →
// Preorder Property Handler (function() { function initPreorderProperty() { // Check if this is a preorder product if (!window.isPreorderProduct) { return; } console.log('✅ Preorder product detected'); // Add property to form submissions function addPreorderToForm() { const addToCartButtons = document.querySelectorAll( '[name="add"], ' + 'button[type="submit"][name="add"], ' + '.product-form__submit, ' + '[data-add-to-cart], ' + 'button.add-to-cart, ' + 'button[name="add"]' ); addToCartButtons.forEach(function(button) { button.addEventListener('click', function(e) { const form = button.closest('form'); if (form && form.action && form.action.includes('/cart/add')) { let preorderInput = form.querySelector('input[name="properties[_preorder]"]'); if (!preorderInput) { preorderInput = document.createElement('input'); preorderInput.type = 'hidden'; preorderInput.name = 'properties[_preorder]'; preorderInput.value = 'true'; form.appendChild(preorderInput); console.log('✅ Added _preorder hidden input'); } } }); }); } // Intercept AJAX cart adds function interceptCartAjax() { const originalFetch = window.fetch; window.fetch = function(...args) { const [url, config] = args; if (url && (url.includes('/cart/add.js') || url.includes('/cart/add'))) { if (config && config.body) { try { // Handle JSON body if (typeof config.body === 'string') { const data = JSON.parse(config.body); if (!data.properties) { data.properties = {}; } if (!data.properties._preorder) { data.properties._preorder = 'true'; console.log('✅ Added _preorder to AJAX request'); } config.body = JSON.stringify(data); } // Handle FormData else if (config.body instanceof FormData) { if (!config.body.has('properties[_preorder]')) { config.body.append('properties[_preorder]', 'true'); console.log('✅ Added _preorder to FormData'); } } } catch (e) { console.error('Error modifying cart request:', e); } } } return originalFetch.apply(this, args); }; } // Initialize when DOM is ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { addPreorderToForm(); interceptCartAjax(); }); } else { addPreorderToForm(); interceptCartAjax(); } } // Initialize initPreorderProperty(); })();