ipts. Race against a 1000ms timeout so a slow // API can't block init indefinitely. If the timeout wins, the in-flight // fetches still complete and update window._RestockRocketConfig — the // bundle re-reads sellingPlans/integrations on every interaction, so the // late-arriving values benefit subsequent renders even though the first // paint may use the Liquid-cached values. On any failure the existing // Liquid-loaded values stay in place via fetchEmbedConfig's catch. if (!window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid) { console.debug('STOQ - Liquid cache stale, refreshing selling_plans + integrations'); Promise.race([ Promise.all([ fetchEmbedConfig('selling_plans', function(data) { if (data && Array.isArray(data.plans)) { window._RestockRocketConfig.sellingPlans = data.plans; window._RestockRocketConfig.disabledSellingPlanIds = data.disabled_plan_ids || [];
Lithuania (EUR€) Finland (EUR€) n, // an enabled offer exists, or a disabled-but-kept plan id remains (cart sweep // must still strip those). Rationale in the PR. const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; const collectionScriptUrl = usePreorderBuild ? window._RestockRocketConfig.scriptUrlCollection : window._RestockRocketConfig.scriptUrlCollectionBis; const productScriptUrl = usePreorderBuild ? window._RestockRocketConfig.scriptUrlProduct : window._RestockRocketConfig.scriptUrlProductBis; const pageType = window._RestockRocketConfig.pageType; const collecti
Guernsey (GBP£)
- ServicesGuinea (GNFFr)
- Workshop
- Guinea-Bissau (XOFFr) Workshop Prices
- Book a ServiceHungary (HUFFt)
- Track Your Service
- Iceland (ISKkr) Other
Custom Builds
Ireland (EUR€)Cycle To Work Schemes
Isle of Man (GBP£)
Insure Your Bike
Book a Service Tristan da Cunha (GBP£)
Italy (EUR€)
Tunisia (GBP£)
Jersey (GBP£)Parts & Components
Türkiye (GBP£)
Kenya (KESKSh)Brands
Hope Uganda (UGXUSh) Kosovo (EUR€)
EnveUkraine (UAH₴)
Cockpit Latvia (EUR€)Handlebars
United Kingdom (GBP£)
Lesotho (GBP£)Stems
United States (GBP£)
Grips & Bar-Tape Liberia (GBP£)
HeadsetsVatican City (EUR€)
Libya (GBP£)Brakes bike sizing guideComplete BrakesWestern Sahara (MADد.م.) Liechtenstein (CHFCHF) Rwanda (RWFFRw) to discover the best-sized bike for your child or alternatively speak to one of our Brake Rotors local stockists Zambia (GBP£) Lithuania (EUR€) San Marino (EUR€) about our children’s bike range.Brake Pads
Zimbabwe (USD$)
Sierra Leone (SLLLe)
- Slovakia (EUR€)







<
<