Skip to content

#shopify-section-announcement-bar { background: #f14d38; color: #ccbebe; }

<
Header Image
<
<

<
<
Helmets
Essentials<

  • <
  • <
    Product Type <
    Close search barBatteries & Chargers
&& 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 <
Would you like to add on any equipment?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
elector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","st
41730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,4398136904931
age = 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') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings ||

]; 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

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(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
> art","list-collections","article","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":8664114725090,"title":"Shimano Steps battery 504 Wh, down tube integrated mount, long fit - BT-E8035-L","handle":"shimano-steps-battery-504-wh-down-tube-integrated-mount-long-fit-bt-e8035-l","description":"\u003cul\u003e\n\u003cli\u003e \u003cmeta charset=\"utf-8\"\u003eHigh quality, long lasting integrated frame mounting lithium-ion battery pack for Shimano STEPS systems\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eIn normal mode the riding distance could exceed 100 km\u003c\/li\u003e\n\u003cli\u003eThe same size and fit dimensions as04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8664114004194,"title":"Shimano battery for rear carrier, 504Wh - BT-EN405","handle":"shimano-battery-for-rear-carrier-504wh-bt-en405","description":"\u003cul\u003e\n\u003cli\u003e High quality, long lasting rear rack mounted lithium-ion battery pack for Shimano STEPS systems\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003e1000 charge cycles without significant power loss\u003c\/li\u003e\n\u003cli\u003eApproximately four hours charge time\u003c\/li\u003e\n\u003cli\u003eHigh 504Wh capacity (36V, 11.6Ah)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"attributesSpecification\"\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eColour\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eBlack\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eSize\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eOne size\u003c\/di
\u0026amp; Chargers\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv id=\"ctl00_ContentPlaceHolder1_ctl17_dvProductIconsContainer\" class=\"ProductTitleBar_ProductIconsContainer\"\u003e\n\u003cdiv id=\"ctl00_ContentPlaceHolder1_ctl17_ucProductIcons_dvProductIconsContainer\" class=\"ProductIcons_Container\" data-uictrl-id=\"CTRL-0\"\u003e\n\u003cdiv id=\"ctl00_ContentPlaceHolder1_ctl17_ucProductIcons_dvProductIcons\" class=\"ProductIcons_ProductIcons\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!----\u003e","published_at":"2024-08-03T12:28:12+01:00","created_at":"2024-08-03T12:28:15+01:00","vendor":"Shimano","type":"Accessories","tags":["Battery","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":61115,"price_min":61115,"price_max":61115,"available":true,"price_varies":false,"compare_at_price":71999,"compare_at_price_min":71999,"compare_at_price_max":71999,"compare_at_price_va_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.24.34.png?v=1722684476"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.24.34.png?v=1722684476","options":["Title"],"media":[{"alt":null,"id":34386270421218,"position":1,"preview_image":{"aspect_ratio":1.002,"height":1198,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.24.34.png?v=1722684476"},"aspect_ratio":1.002,"height":1198,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.24.34.png?v=1722684476","width":1200}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cul\u003e\n\u003cli\u003e High quality, long lasting rear rack mounted lithium-ion battery pack for Shimano STEPS systems\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003e1000 charge cycles wi
3at10.14.12.png?v=1722684495"},"aspect_ratio":1.002,"height":1198,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.14.12.png?v=1722684495","width":1200},{"alt":null,"id":34386277433570,"position":2,"preview_image":{"aspect_ratio":1.002,"height":1198,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.14.17.png?v=1722684495"},"aspect_ratio":1.002,"height":1198,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.14.17.png?v=1722684495","width":1200}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cul\u003e\n\u003cli\u003e \u003cmeta charset=\"utf-8\"\u003eHigh quality, long lasting integrated frame mounting lithium-ion battery pack for Shimano STEPS systems\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eIn normal mode the riding distance could exceed 100 km\u003c\/li\u003e\n\u003cli\u003eThe same size and fit dimensions window._RestockRocketConfig.variantsPreorderCountForMarket = {45767298711778 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {45767298711778 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {45767298711778 : null,}; window._RestockRocketConfig.variantsShippingText = {45767298711778 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {45767298711778 : null,}; window._RestockRocketConfig.selected_variant_id = 45767298711778; 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/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd9