Madagascar (GBP£)
See More
Tubeless
Pedals
Kona
Surly
UTO (ex Eovolt)
Discover
MaestroAbout Us
SaleTubesMauritius (MUR₨)
South Sudan (GBP£)
Ukraine (UAH₴)
- Spain (EUR€)
- St. Helena (SHP£)
- Sudan (GBP£)
- Togo (XOFFr)
- Tristan da Cunha (GBP£) Tunisia (GBP£)
- Türkiye (GBP£)
- Uganda (UGXUSh)
The Allant+ 6 is a deluxe city electric bike for soaring through commutes and exploring down gravel paths. It's equipped with the Bosch smart system that offers more connectivity than ever before. Pair your smartphone with your bike to log activities, plan routes and more. Available with your choice of battery size, ranging from 400 to 800-watt hours, so you can cruise comfortably all the way home. Plus, it's topped off with upgraded components where it matters mostEarly RiderGoogle Pay
Suggested search termsArgon 18Klarna
Second-Hand BikesMastercard
Contact Us
See More
PayPal
Blog
Shop Pay
\u003cth\u003eNet weight (kg)\u003c\/th\u003e\n\u003ctd\u003e28.6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eGross weight (kg)\u003c\/th\u003e\n\u003ctd\u003e32.46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMax. system weight (kg)\u003c\/th\u003e\n\u003ctd\u003e150\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMax. rider weight (kg)\u003c\/th\u003e\n\u003ctd\u003e120\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBody size\u003c\/th\u003e\n\u003ctd\u003e1.77m - 1.87m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eAccessories\u003c\/th\u003e\n\u003ctd\u003e93250,93490\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e","published_at":"2026-06-13T11:51:05+01:00","created_at":"2026-06-13T11:51:06+01:00","vendor":"CUBE","type":"Hybrid MTB","tags":["Bosch Drive Unit Performance Line CX max. 120Nm (BDU38)","Bosch PowerTube 800","CUBE","Electric Bike","Hybrid MTB","NEW 2026","spo-cs-disabled","spSecond-Hand Bikesey\/chrome \/ L","options":["Step-over","slapgrey\/chrome","L"],"price":399900,"weight":32460,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571487827","featured_media":{"alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME","id":71336095482239,"position":1,"preview_image":{"aspect_ratio":1.794,"height":1115,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230.jpg?v=1781347869"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":57747183239551,"title":"Step-over \/ slapgrey\/chrome \/ M","option1":"Step-over","option2":"slapgrey\/chrome","option3":"M","sku":"101230M","requires_shipping":true,"taxable":true,"featured_image":{"id":84875947213183,"product_id":15720154661247,"position":1,"created_at":"2026-06-13T11:51:06+01:00","updated_at":"2026-06-13T11:51:09+01:00","alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME","width":2000,"height":1115,"src":"\/\/projektride.co.uk\/cdn\/shop\/file
,"product_id":15720154661247,"position":1,"created_at":"2026-06-13T11:51:06+01:00","updated_at":"2026-06-13T11:51:09+01:00","alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME","width":2000,"height":1115,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230.jpg?v=1781347869","variant_ids":[57747183206783,57747183239551,57747183272319,57747183305087]},"available":false,"name":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME - Step-over \/ slapgrey\/chrome \/ S","public_title":"Step-over \/ slapgrey\/chrome \/ S","options":["Step-over","slapgrey\/chrome","S"],"price":399900,"weight":32460,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571487803","featured_media":{"alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME","id":71336095482239,"position":1,"preview_image":{"aspect_ratio":1.794,"height":1115,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230.jpg?v=1781347869"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"Shop All Second-HandREY\/CHROME","id":71336095482239,"position":1,"preview_image":{"aspect_ratio":1.794,"height":1115,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230.jpg?v=1781347869"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/101230.jpg?v=1781347869","\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_00.jpg?v=1781347869","\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_01.jpg?v=1781347869","\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_02.jpg?v=1781347869","\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_03.jpg?v=1781347869","\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_04.jpg?v=1781347869"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230.jpg?v=1781347869","options":["Frame Style","Colour","Size"],"media":[{"alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME","id":71336095482239,"position":1,"preview_image":{"aspect_ratio":1.794,"height":1115,"wid
*Please note – spec applies to all sizes unless listed separatelyShop All Second-Hand
Track Service Progress
Union Pay
| text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selli | ,"countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[713813721471,713176482175,714631872895],"cached_at":"2026-04-09T09:16:46Z"}; if (cachedw Date(maxUpdatedAt) : null; const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); if (useCached) { if (Array.isArray(cachedData.plans)) { window._RestockRocketConfig.sellingPlans = cachedData.plans; // Only use disabled_plan_ids when using cached plans window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); } } else { // When using old format (stale cache), don't trust disabled_plan_ids window._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._Rest | a luggage carrier, it's ready for anything from a mountainous tour to the weekday commute. Ground-hugging suspension comfort is standard courtesy of a RockShox Psylo Silver RC fork and Deluxe Select R shock, combined with grippy Schwalbe Smart Sam 2.6in tyres. The powerful Bosch CX motor provides boost via Shimano's peerless XT 12-speed gears and an 800Wh battery with Purion 200 controller. And strong Shimano hydraulic disc brakes are the anchors you need to keep everything in check, whatever the weather.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eFrame description\u003c\/strong\u003e\u003cbr\u003eOur mountain bike Swiss army knife comes complete with a semi-integrated luggage carrier, full length mudguards, a lighting set and sturdy kickstand. But that's just the start. The heart of the Stereo Hybrid ONE22 FE is the Bosch CX drive and a high capacity 800Wh battery. Comfort Geometry and our proven four-bar suspension system work together to keep your wheels tracking true on even the longest rides. Integrate
|---|
:"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME image 4","id":71336095580543,"position":4,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_02.jpg?v=1781347869"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_02.jpg?v=1781347869","width":2000},{"alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME image 5","id":71336095613311,"position":5,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_03.jpg?v=1781347869"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_03.jpg?v=1781347869","width":2000},{"alt":"CUBE STEREO HYBRID ONE22 RACE 800 FE SLABGREY\/CHROME image 6","id":71336095646079,"position":6,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/101230_D_04.jpg?v=178
Custom Builds knife comes complete with a semi-integrated luggage carrier, full length mudguards, a lighting set and sturdy kickstand. But that's just the start. The heart of the Stereo Hybrid ONE22 FE is the Bosch CX drive and a high capacity 800Wh battery. Comfort Geometry and our proven four-bar suspension system work together to keep your wheels tracking true on even the longest rides. Integrated cable routing flatters the frame's elegant looks. A Direct Mount chain guard and UDH dropout may not sound exciting, but they're the little details that help make the difference. And, with Size Split, there's a perfectly proportioned option for pretty much every rider.\u003c\/div\u003e\u003ch3\u003eSpecification\u003c\/h3\u003e\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eFrame\u003c\/th\u003e\n\u003ctd\u003eAluminum Superlite, Gravity Casting Technology, Efficient Comfort Control, FSP 4-Link, Agile Comfort Geometry, Boost 148, UDH™, Full Integrated Battery, Advanced Internal Cable Routing, Kickstand\/Fe
us at least one preorder variant id,
// independent of the block toggle. Fail-open: on error the flag stays unset and both
// consumers no-op.
try {
var _sqCfg = window._RestockRocketConfig;
var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) &&
_sqCfg.sellingPlans.some(function (p) { return p && p.enabled; });
var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds &&
_sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length;
_sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount);
} catch (e) { /* fail open */ }
// STOQ-1612: block (not hide) Buy Now / Shop Pay until our JS runs, so a tap in the
// load window can't bypass preorder. pointer-events via .stoq-buy-now-pending (no
// reflow); timeout releases; renderPreorderButton / featured_product.js lift it.
// Gated by the `block_accelerated_checkout` toggle (default OFF) for gradual rollout.
// Armed ONLY when we're sure preorder is in play — product page: THIS product has a
// preorder vam\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRear derailleur\u003c\/th\u003e\n\u003ctd\u003eShimano XT RD-M8100-SGS, ShadowPlus, 12-Speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShifters\u003c\/th\u003e\n\u003ctd\u003eShimano Deore SL-M6100-R, Rapidfire Plus\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBrakes\u003c\/th\u003e\n\u003ctd\u003eShimano BR-MT520, Hydr. Disc Brake (203\/203)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrankset\u003c\/th\u003e\n\u003ctd\u003eACID MTB Hybrid Pro, 38T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrankset chainring sizes\u003c\/th\u003e\n\u003ctd\u003e38T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCassette\u003c\/th\u003e\n\u003ctd\u003eShimano Deore CS-M6100, 10-51T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eNumber of gears\u003c\/th\u003e\n\u003ctd\u003e12\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u00
ACID Front Light PRO-E 150 X-Connect, 12V, DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRear light\u003c\/th\u003e\n\u003ctd\u003eACID Mudguard Rear Light PRO-E, 12V, DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eKickstand\u003c\/th\u003e\n\u003ctd\u003eACID FM Pure Kickstand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMudguard\u003c\/th\u003e\n\u003ctd\u003eACID 65\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBell\u003c\/th\u003e\n\u003ctd\u003eKnog Oi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCarrier\u003c\/th\u003e\n\u003ctd\u003eACID Carrier SIC 2.0 Rail Boost\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eEngine\u003c\/th\u003e\n\u003ctd\u003eBosch Drive Unit Performance Line CX max. 120Nm (BDU38)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eEngine ready for the Bosch 120 Nm update?\u003c\/th\u003e\n\u003ctd\u003eYES\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\/th\u003e\n\u003ctd\u003e93250,93490\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {57747183206783 : "deny",57747183239551 : "deny",57747183272319 : "deny",57747183305087 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {57747183206783 : parseInt("0"),57747183239551 : parseInt("0"),57747183272319 : parseInt("0"),57747183305087 : parseInt("0"),};
window._RestockRocketConfig.variantsPreorderCount = {57747183206783 : parseInt(""),57747183239551 : parseInt(""),57747183272319 : parseInt(""),57747183305087 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {57747183206783 : null,57747183239551 : null,57747183272319 : null,57747183305087 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {57747183206783 : parseInt(""),57747183239551 : parseInt(""),57747183272319 : parseInt(""),57747183305087 : parseInt(""),};
window._RestockRocketConfig.variantsPrest.add('stoq-buy-now-pending');
setTimeout(function () {
document.documentElement.classList.remove('stoq-buy-now-pending');
}, 6000);
}
} catch (e) { /* fail open */ }
window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019f37a7-f058-7bcb-a02d-3fb0b8a7522a/restockrocket-1-539/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019f37a7-f058-7bcb-a02d-3fb0b8a7522a/restockrocket-1-539/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/019f37a7-f058-7bcb-a02d-3fb0b8a7522a/restockrocket-1-539/assets/restockrocket-product-bis.js'
window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/019f37a7-f058-7bcb-a02d-3fb0b8a7522a/restockrocket-1-539/assets/restockrocket-collection-bis.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, wi
Complete Brakes<<<
Brakes
| 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 | = 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 noage = Date.now() - updatedAt.getTime(); if (age | 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') // Fire stoq_initialized once per page load so the funnel pipeline has a definitive // "our code ran on this page" signal independent of any cus
|---|---|
| a like-typed compare. is_preorder_variant: (function () { var vid = Number(variantId); var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; return has(_sqTrack.preorderVariantIds) || has(_sqTrack.cachedPreorderVariantIds && _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); })(), // Narrow, authoritative preorder signal: enrolled in an ENABLED STOQ selling plan // (is_preorder_variant above is the broad OOS+continue heuristic — non-STOQ too). in_enabled_plan: !!_sqPlan, // In-stock preorder signal: enrolled but currently IN STOCK (in the inStockVariantIds // set, not the OOS preorderVariantIds set). Same live-OR-cached pattern as // is_preorder_variant. is_preorder_variant OR is_instock_variant = "should sell via // the plan" regardless of stock, so an in-stock preord | cceleratedGateArmed, gate_active_at_click: !!(document.documentElement && document.documentElement.classList.contains('stoq-buy-now-pending')), }, }); } catch (err) { /* never break checkout */ } }, true); } } catch (e) { /* fail open */ } 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 || {})tion 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); }); } }); } // ---- Live settings via the Storefront API (ad | <
| endpoint + ':', applyError); throw applyError; } }) .catch(function(error) { console.debug(`STOQ - using cached ${endpoint}:`, error.message); }); } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Stale-Liquid resilience (default-on, per-shop opt-out via the // `disable_refresh_on_stale_liquid` Toggle, surfaced as the negative // `disable_refresh_on_stale_liquid` flag in settings.json so that // `undefined` -- in CDN-cached metafield payloads that predate this // key -- reads as `!undefined === true` and gets default-on behavior // immediately, no metafield rewrite required). // When the Liquid CDN cache is older than LIQUID_CACHE_MAX_AGE the in-page // selling_plans / integrations metafields can be wrong; refresh both from // the API before launching scr | } }), fetchEmbedConfig('integrations', function(data) { if (Array.isArray(data)) { window._RestockRocketConfig.integrations = data; } }) ]), new Promise(function(resolve) { setTimeout(resolve, 1000); }) ]).then(function() { loadScripts(settings); }); return; } loadScripts(settings); } function loadScripts(settings) { // 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); }) // STOQ-1520: serve the lean back-in-stock-only build (no preorder/hijack code) // only to shops with NO preorder plans. Use the full build if preorder is oonPageTypes = ['collection', 'index', 'search', 'page'];
if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) {
createRestockRocketScript(collectionScriptUrl);
} else if(pageType === 'product') {
createRestockRocketScript(productScriptUrl);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(usePreorderBuild) {
// cart/article/blog/list-collections: full build so the cart sweep runs.
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${pageType}`);
}
Custom Builds |
|
Size:Insure Your BikePedals
L, XL
Book a Service ProWheel alloy, 175 mm length Gears & Drivetrain |
|
| Chainring | Parts & ComponentsProWheel 40T narrow/wide steel, w/alloy guardComponents |
| Hope | Enve |
| Handlebars | |
| Grips & Bar-Tape |
Brake Rotors
Brake Pads
Brake Spares
Forks
| Front Suspension | Rear Suspension |
|---|---|
| Tyres |
Tubes
| Tubeless
| Saddles | |
| Components | |
| Wheels | Complete Wheels |
| Tools & Maintenance | Clothing and Protection
ProjektRide Merchandise |
|
Bikes |
|
|
New Bikes
See More | |
Track Service Progress
Building Your Bike From the Box
Insure Your Bike
- Amflow
-
Yeti



Tyres