ion2":"49","option3":null,"sku":"5265950","requires_shipping":true,"taxable":true,"featured_image":{"id":72852306821503,"product_id":14907814805887,"position":1,"created_at":"2025-01-11T10:04:21+00:00","updated_at":"2025-01-11T10:04:24+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864","variant_ids":[54945190117759,54945190150527,54945190183295,54945190216063,54945190248831,54945190281599]},"available":true,"name":"Trek Boone Disc Frame set - Multi Colour \/ 49","public_title":"Multi Colour \/ 49","options":["Multi Colour","49"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841237401983,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{ n\u003ctd\u003eG\u003c\/td\u003e\n\u003ctd\u003eWHEELBASE\u003c\/td\u003e\n\u003ctd\u003e1122\u003c\/td\u003e\n\u003ctd\u003e1144\u003c\/td\u003e\n\u003ctd\u003e1174\u003c\/td\u003e\n\u003ctd\u003e1201\u003c\/td\u003e\n\u003ctd\u003e1236\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eESTIMATED BB HEIGHT\u003c\/td\u003e\n\u003ctd\u003e335\u003c\/td\u003e\n\u003ctd\u003e335\u003c\/td\u003e\n\u003ctd\u003e335\u003c\/td\u003e\n\u003ctd\u003e335\u003c\/td\u003e\n\u003ctd\u003e335\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eI\u003c\/td\u003e\n\u003ctd\u003eSTANDOVER\u003c\/td\u003e\n\u003ctd\u003e768\u003c\/td\u003e\n\u003ctd\u003e768\u003c\/td\u003e\n\u003ctd\u003e771\u003c\/td\u003e\n\u003ctd\u003e771\u003c\/td\u003e\n\u003ctd\u003e776\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eJ\u003c\/td\u003e\n\u003ctd\u003eHEAD TUBE LENGTH\u003c\/td\u003e\n\u003ctd\u003e92\u003c\/td\u003e\n\u003ctd "id":54945190150527,"title":"Multi Colour \/ 52","option1":"Multi Colour","option2":"52","option3":null,"sku":"5265951","requires_shipping":true,"taxable":true,"featured_image":{"id":72852306821503,"product_id":14907814805887,"position":1,"created_at":"2025-01-11T10:04:21+00:00","updated_at":"2025-01-11T10:04:24+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864","variant_ids":[54945190117759,54945190150527,54945190183295,54945190216063,54945190248831,54945190281599]},"available":true,"name":"Trek Boone Disc Frame set - Multi Colour \/ 52","public_title":"Multi Colour \/ 52","options":["Multi Colour","52"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841237401983,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?
v=1736589864"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190183295,"title":"Multi Colour \/ 54","option1":"Multi Colour","option2":"54","option3":null,"sku":"5265952","requires_shipping":true,"taxable":true,"featured_image":{"id":72852306821503,"product_id":14907814805887,"position":1,"created_at":"2025-01-11T10:04:21+00:00","updated_at":"2025-01-11T10:04:24+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864","variant_ids":[54945190117759,54945190150527,54945190183295,54945190216063,54945190248831,54945190281599]},"available":true,"name":"Trek Boone Disc Frame set - Multi Colour \/ 54","public_title":"Multi Colour \/ 54","options":["Multi Colour","54"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841237401983,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/p 003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eN\u003c\/td\u003e\n\u003ctd\u003eREACH\u003c\/td\u003e\n\u003ctd\u003e400\u003c\/td\u003e\n\u003ctd\u003e420\u003c\/td\u003e\n\u003ctd\u003e445\u003c\/td\u003e\n\u003ctd\u003e465\u003c\/td\u003e\n\u003ctd\u003e490 \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eO\u003c\/td\u003e\n\u003ctd\u003eFRONT CENTER\u003c\/td\u003e\n\u003ctd\u003e689\u003c\/td\u003e\n\u003ctd\u003e709\u003c\/td\u003e\n\u003ctd\u003e737\u003c\/td\u003e\n\u003ctd\u003e762\u003c\/td\u003e\n\u003ctd\u003e795\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eP\u003c\/td\u003e\n\u003ctd\u003eVERTICAL FORK TRAVEL\u003c\/td\u003e\n\u003ctd\u003e110\u003c\/td\u003e\n\u003ctd\u003e110\u003c\/td\u003e\n\u003ctd\u003e110\u003c\/td\u003e\n\u003ctd\u003e110\u003c\/td\u003e\n\u003ctd\u003e110\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"} Mudguardrojektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190216063,"title":"Multi Colour \/ 56","option1":"Multi Colour","option2":"56","option3":null,"sku":"5265953","requires_shipping":true,"taxable":true,"featured_image":{"id":72852306821503,"product_id":14907814805887,"position":1,"created_at":"2025-01-11T10:04:21+00:00","updated_at":"2025-01-11T10:04:24+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864","variant_ids":[54945190117759,54945190150527,54945190183295,54945190216063,54945190248831,54945190281599]},"available":true,"name":"Trek Boone Disc Frame set - Multi Colour \/ 56","public_title":"Multi Colour \/ 56","options":["Multi Colour","56"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841237401983,"position":1
,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190248831,"title":"Multi Colour \/ 58","option1":"Multi Colour","option2":"58","option3":null,"sku":"5265954","requires_shipping":true,"taxable":true,"featured_image":{"id":72852306821503,"product_id":14907814805887,"position":1,"created_at":"2025-01-11T10:04:21+00:00","updated_at":"2025-01-11T10:04:24+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864","variant_ids":[54945190117759,54945190150527,54945190183295,54945190216063,54945190248831,54945190281599]},"available":true,"name":"Trek Boone Disc Frame set - Multi Colour \/ 58","public_title":"Multi Colour \/ 58","options":["Multi Colour","58"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopi Tel fy","barcode":"","featured_media":{"alt":null,"id":63841237401983,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190281599,"title":"Multi Colour \/ 61","option1":"Multi Colour","option2":"61","option3":null,"sku":"5265955","requires_shipping":true,"taxable":true,"featured_image":{"id":72852306821503,"product_id":14907814805887,"position":1,"created_at":"2025-01-11T10:04:21+00:00","updated_at":"2025-01-11T10:04:24+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864","variant_ids":[54945190117759,54945190150527,54945190183295,54945190216063,54945190248831,54945190281599]},"available":true,"name":"Trek Boone Disc Frame set - Multi Colour \/ 61","public_title":"Multi Colour \/ 61","options":["Multi Colour","61"],"
price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841237401983,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Primary.webp?v=1736589864"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190314367,"title":"Black \/ 49","option1":"Black","option2":"49","option3":null,"sku":"5265944","requires_shipping":true,"taxable":true,"featured_image":{"id":72852309508479,"product_id":14907814805887,"position":2,"created_at":"2025-01-11T10:05:05+00:00","updated_at":"2025-01-11T10:05:09+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909","variant_ids":[54945190314367,54945190347135,54945190379903,54945190412671,54945190445439,54945190478207]},"available":true,"name":"Trek Boone Disc Frame set - Black \/ 49","public_titlCart[] Trek 27.5" custom fendere":"Black \/ 49","options":["Black","49"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841239335295,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190347135,"title":"Black \/ 52","option1":"Black","option2":"52","option3":null,"sku":"5265945","requires_shipping":true,"taxable":true,"featured_image":{"id":72852309508479,"product_id":14907814805887,"position":2,"created_at":"2025-01-11T10:05:05+00:00","updated_at":"2025-01-11T10:05:09+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909","variant_ids":[54945190314367,54945190347135,54945190379903,54945190412671,54945190445439,54945190478207]},"available":true,"name":"Trek Boone
Disc Frame set - Black \/ 52","public_title":"Black \/ 52","options":["Black","52"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841239335295,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190379903,"title":"Black \/ 54","option1":"Black","option2":"54","option3":null,"sku":"5265946","requires_shipping":true,"taxable":true,"featured_image":{"id":72852309508479,"product_id":14907814805887,"position":2,"created_at":"2025-01-11T10:05:05+00:00","updated_at":"2025-01-11T10:05:09+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909","variant_ids":[54945190314367,54945190347135,54945190379903,54945190412671,54945190445439,549451904 0131 374 5324 78207]},"available":true,"name":"Trek Boone Disc Frame set - Black \/ 54","public_title":"Black \/ 54","options":["Black","54"],"price":277500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841239335295,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945190412671,"title":"Black \/ 56","option1":"Black","option2":"56","option3":null,"sku":"5265947","requires_shipping":true,"taxable":true,"featured_image":{"id":72852309508479,"product_id":14907814805887,"position":2,"created_at":"2025-01-11T10:05:05+00:00","updated_at":"2025-01-11T10:05:09+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_A_Primary.webp?v=1736589909","variant_ids":[54945190314367,54945190347135,54945190379rameset_22_35696_B_Alt1.webp?v=1736589875"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BooneDiscFrameset_22_35696_B_Alt1.webp?v=1736589875","width":1920}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eReady to build your dream 'cross bike? The Boone Disc frame set is built with ultra-light 600 Series OCLV Carbon. It features a cyclocross-specific geometry, Rear IsoSpeed to smooth rough courses, and front and rear 12 mm thru axle dropouts for better stiffness and handling.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eFrameset\u003c\/strong\u003e\u003cbr\u003eFrame    600 Series OCLV Carbon, IsoSpeed, tapered head tube, Internal cable routing, Ride Tuned seat mast, 3S chain keeper, T47 BB, flat-mount disc, 1 42x12 mm thru-axle\u003cbr\u003eFork    Trek Cross, full carbon, tapered carbon steerer, flat-mount disc, 12x100 mm thru-axle\u003cbr\u003eFrame fit    CX Race\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003cbr\u003eWeight    56 - 1.50 kg\u003cbr\u003eWeight limit    This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb).\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDrivetrain\u003c\/strong\u003e\u003cbr\u003eMax. chainring size    See service manual\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWheels\u003c\/strong\u003e\u003cbr\u003eSkewer front    Bontrager Switch thru axle, removable lever\u003cbr\u003eSkewer rear    Bontrager Switch thru-axle, removable lever\u003cbr\u003eMax tyre size    38mm\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eComponents\u003c\/strong\u003e\u003cbr\u003eRotor size    Max brake rotor sizes: 160mm front \u0026amp; rear\u003cbr\u003eWe reserve the right to make changes to th
e product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice.\u003c\/p\u003e\n\u003cp\u003eBike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.\u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {54945190117759 : "deny",54945190150527 : "deny",54945190183295 : "deny",54945190216063 : "deny",54945190248831 : "deny",54945190281599 : "deny",54945190314367 : "deny",54945190347135 : "deny",54945190379903 : "deny",54945190412671 : "deny",54945190445439 : "deny",54945190478207 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {54945190117759 : parseInt("1"),54945190150527 : parseInt("1"),54945190183295 : parseInt("5"),54945190216063 : parseInt("3"),54945190248831 : parseInt("3"),54945190281599 : parseInt Location ("3"),54945190314367 : parseInt("1"),54945190347135 : parseInt("1"),54945190379903 : parseInt("1"),54945190412671 : parseInt("1"),54945190445439 : parseInt("3"),54945190478207 : parseInt("3"),}; window._RestockRocketConfig.variantsPreorderCount = {54945190117759 : parseInt(""),54945190150527 : parseInt(""),54945190183295 : parseInt(""),54945190216063 : parseInt(""),54945190248831 : parseInt(""),54945190281599 : parseInt(""),54945190314367 : parseInt(""),54945190347135 : parseInt(""),54945190379903 : parseInt(""),54945190412671 : parseInt(""),54945190445439 : parseInt(""),54945190478207 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {54945190117759 : null,54945190150527 : null,54945190183295 : null,54945190216063 : null,54945190248831 : null,54945190281599 : null,54945190314367 : null,54945190347135 : null,54945190379903 : null,54945190412671 : null,54945190445439 : null,54945190478207 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {54945190117759 :
SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key

]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { // Setup listener regardless - updateCartSellingPlans has its own guards // This ensures cleanup happens even when preorders are disabled globally // Listen for stoq:inventory-data-loaded event dispatched by api.js window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cac Hire Lazer Compact HelmetEmail hedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketCon
fig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enab led for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:inventory-data-loaded event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } }
[email protected]
&& window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.S hopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketCon fig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enab
Open search bar

Brooks Proofide

£15.99

   

SKU: AMA0400A0L

Product Details

Perfect for preserving your leather saddle.

FAQ

Questions and answers