ext = {54945493647743 : "",54945493680511 : "",54945493713279 : "",54945493746047 : "",54945493778815 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {54945493647743 : null,54945493680511 : null,54945493713279 : null,54945493746047 : null,54945493778815 : null,}; window._RestockRocketConfig.selected_variant_id = 54945493778815; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019d2f20-306e-73e0-8f4f-46c37de1772b/restockrocket-1-470/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019d2f20-306e-73e0-8f4f-46c37de1772b/restockrocket-1-470/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0
Quick Links Slovakia (EUR€) <
< translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const United Kingdom (GBP£)
< Header Image About Us Slovenia (EUR€) !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
&& 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 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._RestockRocketConUnited States (GBP£)
Contact Us 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); } }
Somalia (GBP£) South Africa (GBP£)
Track Service Progress Western Sahara (MADد.م.)
St. Helena (SHP£)
Cookie Policy
Refund policy Svalbard & Jan Mayen (GBP£) Andorra (EUR€) Early Rider Super Velio Magnesium Early Rider Super Velio Magnesium

Trek Domane+ AL 5Armenia (AMDդր.) Trek Domane+ AL 5

1
Ascension Island (SHP£) © 2026,
ProjektRide 1
Austria (EUR€) Powered by
Shopify
.
Belarus (GBP£) 2 ColorColor American Express
Belgium (EUR€) 3 Apple Pay Bosnia & Herzegovina (BAMКМ) Google Pay Mastercard British Indian Ocean Territory (USD$) 6
PayPal
Burkina Faso (XOFFr)
8 Burundi (BIFFr) Size
9 Cameroon (XAFCFA) Cape Verde (CVE$) 10 + Quantity

Madagascar (GBP£)
Malawi (MWKMK)

Mali (XOFFr)
Malta (EUR€)

Mauritania (GBP£)

Mauritius (MUR₨)
Mayotte (EUR€)

Moldova (MDLL)
Monaco (EUR€)


American ExpressGoogle PayKlarnaMaestro700c03cli\u003eReversible lower cradles for 0-18° or 9-27° of angle adjustment\u003c\/li\u003e\n\u003cli\u003eTitanium bolts\u003c\/li\u003e\n\u003cli\u003e5-year Factory Limited Warranty and Incidental Damage Protection Programme\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch5\u003eENVE Factory Limited Warranty\u003c\/h5\u003e\n\u003cp\u003eCoverage for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.enve.com\/support\/warranty-terms\/\"\u003ehttps:\/\/www.enve.com\/support\/warranty-terms\/\u003c\/a\u003e\u003c\/p\u003e\n\u003ch5\u003eENVE Incidental Damage Protection\u003c\/h5\u003e\n\u003cp\u003eThis program provides a no-charge replacement for your first three years of ownership and a prorated replacement thereafter for damage inflicted when racin - 25mm offset","option2":null,"option3":null,"sku":"EN510130940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 25mm offset","public_title":"30.9mm post - 400mm length - 25mm offset","options":["30.9mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522713983,"title":"31.6mm post - 400mm length - 25mm offset","option1":"31.6mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510131640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 25mm offset","public_title":"31.6mm post - 400mm length - 25mm offset","options":["31.6mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inven 0,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086","width":1600}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch2 class=\"des-title\"\u003eProduct details\u003c\/h2\u003e\n\u003cdiv class=\"product-description rte\"\u003e\n\u003cp\u003eThis 400mm ENVE Carbon Seatpost with 25mm offset is a weight-saving performance upgrade for your bike with a patented twin-bolt clamp design for easy, accurate saddle adjustment.\u003c\/p\u003e\n\u003cp\u003eExpertly constructed from uninterrupted uni-directional carbon fibre, ENVE has created a high strength, low weight seatpost with ride-enhancing vibration absorption. The post is also compatible with electronic drivetrain batteries.\u003c\/p\u003e\n\u003cp\u003eThe patented twin-bolt clamp design secures your saddle thanks to its method of compressing a horizontally-opposed wedge system to clamp the rails. As you tighten the front or rear bolt while loosening the other, the wedge tilts the saddle x9mm Carbon Rails, 7mm Round Alloy Rails\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMinimum Insertion\u003c\/td\u003e\n\u003ctd\u003e75mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque Spec: Saddle Rail Clamp Bolts\u003c\/td\u003e\n\u003ctd\u003e5.5Nm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque Spec: Seatpost Collar\u003c\/td\u003e\n\u003ctd\u003eAs determined by the frame manufacturer\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {55175522648447 : "deny",55175522681215 : "deny",55175522713983 : "deny",55175522746751 : "deny",55175522779519 : "deny",55175522812287 : "deny",55175522845055 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {55175522648447 : parseInt("0"),55175522681215 : parseInt("0"),55175522713983 : parseInt("0"),55175522746751 : parseInt("0"),55175522779519 : parseInt("0"),55175522812287 : Handle client clock ahead of server if (liquidCacheAge = LIQUID_CACHE_MAX_AGE) { console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); window._RestockRocketConfig.isLiquidCacheFresh = false; } } function checkSettingsExpiry(settings) { try { if (!settings || !settings.updated_at) { console.debug('STOQ - Invalid settings data structure'); return null; } if (!settings.cache) { console.debug('STOQ - settings caching disabled'); return null; } // Check if translations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no 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 || 700c700c
Apple Pay Diners Club Discover
Mastercard44.0 PayPal74.6° Shop Pay11.0 70.8° 51.7 8.0
56 cm
52.5 73.3° 16.0 71.9° "blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":14971784429951,"title":"ENVE 400mm Carbon Seatpost - 25mm Offset","handle":"enve-400mm-carbon-seatpost-25mm-offset","description":"\u003ch2 class=\"des-title\"\u003eProduct details\u003c\/h2\u003e\n\u003cdiv class=\"product-description rte\"\u003e\n\u003cp\u003eThis 400mm ENVE Carbon Seatpost with 25mm offset is a weight-saving performance upgrade for your bike with a patented twin-bolt clamp design for easy, accurate saddle adjustment.\u003c\/p\u003e\n\u003cp\u003eExpertly constructed from uninterrupted uni-directional carbon fibre, ENVE has created a high strength, low weight seatpost with ride-enhancing vibration abs55.4es\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOffset\u003c\/td\u003e\n\u003ctd\u003e25mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLength\u003c\/td\u003e\n\u003ctd\u003e400mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSaddle Rail Compatibility\u003c\/td\u003e\n\u003ctd\u003e7x9mm Carbon Rails, 7mm Round Alloy Rails\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMinimum Insertion\u003c\/td\u003e\n\u003ctd\u003e75mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque Spec: Saddle Rail Clamp Bolts\u003c\/td\u003e\n\u003ctd\u003e5.5Nm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque Spec: Seatpost Collar\u003c\/td\u003e\n\u003ctd\u003eAs determined by the frame manufacturer\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e","published_at":"2025-03-07T14:40:38+00:00","created_at":"2025-03-07T14:40:38+00:00","vendor":"Enve","type":"components","7.8 Offset - 27.2mm post - 400mm length - 0 degrees offset","public_title":"27.2mm post - 400mm length - 0 degrees offset","options":["27.2mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522812287,"title":"30.9mm post - 400mm length - 0 degrees offset","option1":"30.9mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512630940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 0 degrees offset","public_title":"30.9mm post - 400mm length - 0 degrees offset","options":["30.9mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522845055,"title":"31.6mm post - 4043.0age for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.enve.com\/support\/warranty-terms\/\"\u003ehttps:\/\/www.enve.com\/support\/warranty-terms\/\u003c\/a\u003e\u003c\/p\u003e\n\u003ch5\u003eENVE Incidental Damage Protection\u003c\/h5\u003e\n\u003cp\u003eThis program provides a no-charge replacement for your first three years of ownership and a prorated replacement thereafter for damage inflicted when racing, riding, or transporting your bicycle. Original owners only. Product registration is required within 60 days of purchase to be eligible for this program.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.enve.com\/support\/incidental-damage-protection-terms\/\"\u003ehttps:\/\/www.enve.com\/support\/incidental-damage-protection-term4.8845055 : null,}; window._RestockRocketConfig.variantsShippingText = {55175522648447 : "",55175522681215 : "",55175522713983 : "",55175522746751 : "",55175522779519 : "",55175522812287 : "",55175522845055 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {55175522648447 : null,55175522681215 : null,55175522713983 : null,55175522746751 : null,55175522779519 : null,55175522812287 : null,55175522845055 : null,}; window._RestockRocketConfig.selected_variant_id = 55175522648447; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019d2f20-306e-73e0-8f4f-46c37de1772b/restockrocket-1-470/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019d2f20-306e-73e0-8f4f-46c37de1772b/resto6.5 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge 101.8age = Date.now() - updatedAt.getTime(); if (age 79.437.7 59.1 100.0 58 cm
54.8 73.0° 18.0 72.0° 56.7 7.8 43.0 4.8 6.5 102.7 80.9 38.0 61.1 100.0 61 cm
56.7