£
Header ImageFrom
£

Brand
Enve
  • Italy (EUR€) Uganda (UGXUSh)
  • BrandG23 Wheelset Jersey (GBP£) Ukraine (UAH₴)
  • G27 Wheelset Hope Kenya (KESKSh) United Kingdom (GBP£)
  • G Series Gravel fork Kosovo (EUR€) United States (GBP£)
Model M5 PRO Wheels
M6 Bar
23 productsLatvia (EUR€) Vatican City (EUR€)
M6 Stem
Front
M6 Wheels Close
Lesotho (GBP£) hopeWestern Sahara (MADد.م.) M7 Bars
spo-cs-disabled 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 || spo-defaulthopify.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
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
  • orm:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.
  • Show less
  • Material
  • Carbon
  • Norway (GBP£)
    Quick Buy1-1/8 45mm Rake
    1-1/8 50mm Rake
Poland (PLNzł)
110x15 / 148x12 Micro Spline
110x15 / 148x12 Shimano HG Réunion (EUR€)
Hope RX24 PRO 5 - Rear 12/142 - N3W
  • £365.00 12/142 - Shimano
Romania (RONLei)
12/142 - XDR
12X142MM CLINCHER/SHIMANO San Marino (EUR€)
12X142MM CLINCHER/XDR/CERAMIC
  • 25.4mm post - 300mm length - 25mm offset
  • 25.4mm post - 400mm length - 25mm offset
<
Axle Kit!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
  • Campagnolo 11 Speed With BearinghedSettings); } 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
Svalbard & Jan Mayen (GBP£)
Switzerland (CHFCHF)
Front 29" Rear 27" 110x15 / 148x12 XD
  • Front 29" Rear 27" 110x15 / 157x12 Micro Spline
  • Front 29" Rear 27" 110x15 / 157x12 Shimano HG
  • Front 29" Rear 27" 110x15 / 157x12 XD
  • Front 29" Rear 27" 6Bolt 110x20 / 157x12 Micro Spline
  • Front 29" Rear 27" 6Bolt 110x20 / 157x12 Shimano HG
  • Front 29" Rear 27" 6Bolt 110x20 / 157x12 XD
Front 29" Rear 27" CL 110x15 / 148x12 Micro Spline
Tunisia (GBP£)
Front 29" Rear 27" CL 110x15 / 148x12 Shimano HG
Front 29" Rear 27" CL 110x15 / 157x12 Shimano HG
  • Ukraine (UAH₴)
  • Front 29" Rear 29" 110x15 / 157x12 Micro Spline
RED Close
Hope RD40 PRO 5 - Rear #SiteFooter .footer-block--logo { min-width: calc(160px + calc(var(--gutter) / 2)); } #SiteFooter .footer-block__logo-image { width: 160px; } Tubeless