front_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2025-12-28T14:44:23.523Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,4393612410903981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_descri
_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_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorde43936184271074;
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/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.restockrocket.io'
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
c
_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_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorde43936184271074;
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/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.restockrocket.io'
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
c
text: #ffffff;
--text-alpha-15: rgba(255, 255, 255, 0.15);
--text-alpha-60: rgba(255, 255, 255, 0.6);
--text-alpha-85: rgba(255, 255, 255, 0.85);
}
.footer-content__logo__image { width: 170px; }£0.00
Black
Black
>
>
About Us
{ "@context": "http://schema.org/", "@type": "Product", "name": "Brooks C67 Cambium Saddles", "url": "https:\/\/projektride.co.uk\/products\/brooks-c67-cambium-saddles","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/products\/30318-pm_776x.png?v=1679136628" ],"description": "\n\n\n\n\n\nThe Cambium C67 is designed with the commuter, urban cyclist and casual tourer in mind—a perfect saddle when cycling in all weathers in the upright riding position. A comfortable bike seat made from vulcanised natural rubber, the C67 moves with you for long-lasting comfort requiring no break-in period. Offering stability thanks to the wider rear part of the saddle, the curved shape and the flexibility of the rubber base, this saddle offers maximum control during acceleration (as with the E-bike) and to prevent backward sliding during the ride, while the fan structure in fibreglass nylon adds resistance against stress and vibrations. A rubber grip on the internal back plate guarantee a solid and stable grip. Durable and waterproof, the C67 utilises a nylon top for weather and abrasion resistance, making it the best bicycle saddle for E-bike, cargo bike and Dutch-style bikes.\nKey Benefits:\n\nNaturally Flexible Rubber\nMoves with you\nAll-surface shock absorption\nContinuously comfortable\nLasting upright comfort\nGreater stability\nStress resistant\nRails: Black Steel\nL: 268mm, W: 200mm, H: 59mm\nWeight: 485 g\n\nFeatures:\n\nVulcanised Natural RContact Us
.£0.00
"Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-03-09at20.04.46_560e2033-8232-4bd3-a423-3ce8c9f11849_600x.png?v=1691610428)">
<
span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
ckground:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex
Website by
Juan Borges Designs
{ "@context": "http://schema.org/", "@type": "Product", "name": "Brooks C67 Cambium Saddles", "url": "https:\/\/projektride.co.uk\/products\/brooks-c67-cambium-saddles","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/products\/30318-pm_776x.png?v=1679136628" ],"description": "\n\n\n\n\n\nThe Cambium C67 is designed with the commuter, urban cyclist and casual tourer in mind—a perfect saddle when cycling in all weathers in the upright riding position. A comfortable bike seat made from vulcanised natural rubber, the C67 moves with you for long-lasting comfort requiring no break-in period. Offering stability thanks to the wider rear part of the saddle, the curved shape and the flexibility of the rubber base, this saddle offers maximum control during acceleration (as with the E-bike) and to prevent backward sliding during the ride, while the fan structure in fibreglass nylon adds resistance against stress and vibrations. A rubber grip on the internal back plate guarantee a solid and stable grip. Durable and waterproof, the C67 utilises a nylon top for weather and abrasion resistance, making it the best bicycle saddle for E-bike, cargo bike and Dutch-style bikes.\nKey Benefits:\n\nNaturally Flexible Rubber\nMoves with you\nAll-surface shock absorption\nContinuously comfortable\nLasting upright comfort\nGreater stability\nStress resistant\nRails: Black Steel\nL: 268mm, W: 200mm, H: 59mm\nWeight: 485 g\n\nFeatures:\n\nVulcanised Natural RContact Us
Blog
Track Service Progress
Building Your Bike From the Box
<<
<<
<
a class="product__media product__media--featured"
href="/products/life-systems-pocket-first-aid-kit-hire"
title="Life Systems Pocket First Aid Kit - HIRE"
aria-label="Life Systems Pocket First Aid Kit - HIRE"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-2Wheel Size :
4at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)">
<
Emailspan class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE
<
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)">
Shimano BR-T4000 V-Brake
© 2026, Life Systems Pocket First Aid Kit - HIRE
ProjektRide
<
'en_us')
// This matches the backend's Mobility.normalize_locale behavior
// Returns empty string if locale is empty or invalid (matches original behavior)
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, '_');
}
window._RestockRocketConfig.locale = 'en';
window._RestockRocketConfig.normalizedLocale = normalizeLocale('en');
window._RestockRocketConfig.shop = 'projektride.myshopify.com';
window._RestockRocketConfig.pageType = 'product';window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom';
window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_l>
":true,"featured_image":{"id":36308588003554,"product_id":7476243169506,"position":2,"created_at":"2021-12-16T15:59:20+00:00","updated_at":"2021-12-16T15:59:20+00:00","alt":null,"width":1210,"height":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.29.png?v=1639670360","variant_ids":[42166822568162]},"available":false,"name":"Burgtec Top Cap - Red","public_title":"Red","options":["Red"],"price":599,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28858637746402,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.29.png?v=1639670360"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42166822600930,"title":"Blue","option1":"Blue","option2":null,"option3":null,"sku":"9303","requires_shipping":true,"taxable":true,"featured_image":{"id":36308588658914,"product_id":7476243169506,"position":
abel":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"s
Position":"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":7476243169506,"title":"Burgtec Top Cap","handle":"burgtec-top-cap","description":"\u003cp\u003eCustomisation is Key! Mix 'n match with Burgtec Top Cap Bolt (sold separately) \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","published_at":"2021-12-16T16:01:54+00:00","created_at":"2021-12-16T15:58:14+00:00","vendor":"Burgtec","type":"","tags":["spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled","Stem"],"price":599,"price_min":599,"price_max":599,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42166822535394,"title":"Black","option1":"Black"
Brakes :ain by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"
form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2025-12-28T14:44:23.523Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,439361072
2,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cableShimano BR-T4000 V-Brakeupdated_at":"2026-01-07T23:10:22Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for
00000","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_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorde£0.00
+00:00","alt":null,"width":1210,"height":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.36.png?v=1639670379","variant_ids":[42166822633698]},"available":false,"name":"Burgtec Top Cap - Purple","public_title":"Purple","options":["Purple"],"price":599,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28858640302306,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.36.png?v=1639670379"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42166822666466,"title":"Bronze","option1":"Bronze","option2":null,"option3":null,"sku":"9305","requires_shipping":true,"taxable":true,"featured_image":{"id":36308592296162,"product_id":7476243169506,"position":5,"created_at":"2021-12-16T15:59:52+00:00","updated_at":"2021-12-16T15:59:52+00:00","alt":null,"width":1210,"height":1210,"src":"\/\/projektride.c
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;
}
}
fu
9670406","variant_ids":[42166822699234]},"available":false,"name":"Burgtec Top Cap - Orange","public_title":"Orange","options":["Orange"],"price":599,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28858643284194,"position":6,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.41.png?v=1639670406"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42166822732002,"title":"Silver","option1":"Silver","option2":null,"option3":null,"sku":"9307","requires_shipping":true,"taxable":true,"featured_image":{"id":36308594327778,"product_id":7476243169506,"position":7,"created_at":"2021-12-16T16:00:23+00:00","updated_at":"2021-12-16T16:00:23+00:00","alt":null,"width":1210,"height":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.44.png?v=1639670423","variant_ids":[42166822732002]},"available":false,"name":"Bur
n'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 age = Date.now() - updatedAt.getTime();
if (age
Cassette Freewheel :rice":599,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28858644398306,"position":8,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.47.png?v=1639670427"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42166822797538,"title":"Pink","option1":"Pink","option2":null,"option3":null,"sku":"9309","requires_shipping":true,"taxable":true,"featured_image":{"id":36308595376354,"product_id":7476243169506,"position":9,"created_at":"2021-12-16T16:00:43+00:00","updated_at":"2021-12-16T16:00:43+00:00","alt":null,"width":1210,"height":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.49.png?v=1639670443","variant_ids":[42166822797538]},"available":false,"name":"Burgtec Top Cap - Pink","public_title":"Pink","options":["Pink"],"price":599,"weight":0,"compare_at_price":null,"inventory_management":"shopify","b
p\/products\/Screenshot_2021-12-16_at_15.35.47.png?v=1639670427","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.49.png?v=1639670443"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.23.png?v=1648075300","options":["Color"],"media":[{"alt":null,"id":28858634993890,"position":1,"preview_image":{"aspect_ratio":1.022,"height":1154,"width":1179,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.23.png?v=1648075300"},"aspect_ratio":1.022,"height":1154,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.23.png?v=1648075300","width":1179},{"alt":null,"id":28858637746402,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.29.png?v=1639670360"},"aspect_ratio":1.0,"height":1210,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_202
392"},"aspect_ratio":1.0,"height":1210,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.38.png?v=1639670392","width":1210},{"alt":null,"id":28858643284194,"position":6,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.41.png?v=1639670406"},"aspect_ratio":1.0,"height":1210,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.41.png?v=1639670406","width":1210},{"alt":null,"id":28858644070626,"position":7,"preview_image":{"aspect_ratio":1.0,"height":1210,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.44.png?v=1639670423"},"aspect_ratio":1.0,"height":1210,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-16_at_15.35.44.png?v=1639670423","width":1210},{"alt":null,"id":28858644398306,"position":8,"preview_image":{"aspect_ratio":1.0,#FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; }Shimano 18Ty",42166822633698 : "deny",42166822666466 : "deny",42166822699234 : "deny",42166822732002 : "deny",42166822764770 : "deny",42166822797538 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {42166822535394 : parseInt("0"),42166822568162 : parseInt("0"),42166822600930 : parseInt("0"),42166822633698 : parseInt("0"),42166822666466 : parseInt("0"),42166822699234 : parseInt("0"),42166822732002 : parseInt("0"),42166822764770 : parseInt("0"),42166822797538 : parseInt("0"),};
window._RestockRocketConfig.variantsPreorderCount = {42166822535394 : parseInt(""),42166822568162 : parseInt(""),42166822600930 : parseInt(""),42166822633698 : parseInt(""),42166822666466 : parseInt(""),42166822699234 : parseInt(""),42166822732002 : parseInt(""),42166822764770 : parseInt(""),42166822797538 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {42166822535394 : null,42166822568162 : null,42166822600930 : null,42166822633698 : null,42166822666466 : null,42166822699234 : null,421
2600930 : null,42166822633698 : null,42166822666466 : null,42166822699234 : null,42166822732002 : null,42166822764770 : null,42166822797538 : null,};
window._RestockRocketConfig.selected_variant_id = 42166822535394;
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/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.resto
nction 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 || !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.norma<
lizedLocale;
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];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translationsdiv class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/cdn/shop/files/2571D9FF-E9AE-4004-9A55-C7FD4DD999D6_2048x.jpg?v=1640941114');">
70deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:
;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// 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.Shopify.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;
}
Chain Set :etConfig.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 enabled for ${window._RestockRocketConfig.pageType}`);
}
// Check and update cart selling plans after scripts are loaded
if (settings.preorder_enabled) {
updateCartSellingPlans();
}
// Dispatch custom event when app is loaded
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings
}
});
console.debug
<
ProjektRideBuy Sell Ride Confident
ight:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform: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-ou
e;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;}
FAQ
I'm looking to find out more information about a product, where can I find this?Charger :
Questions and answers
Sportdrive 2AH
Please get in touch with a member of the team either by phone (
Fork :01313745324
) or email ( [email protected]Steel) where on of the team will be more than happy to help.
ProjektRide Bike Shop Edinburgh
I'm looking to buy this product, when will it arrive and how much does postage cost?
82 Newington Road, EH91QN, Edinburgh.Grip Tape :
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. RidgebackWe also have a physical store, if you are local please pop in -
ProjektRide Bike Shop EdinburghHeadset :
FSA TH-805ST 1-1/8 inch.site-footer {
--bg: #1f2324;
--text: #ffffff;
--text-alpha-15: rgba(255, 255, 255, 0.15);
--text-alpha-60: rgba(255, 255, 255, 0.6);
--text-alpha-85: rgba(255, 255, 255, 0.85);
}
.footer-content__logo__image { width: 170px
<
82 Newington Road EdinburghRidgeback MetroEH9 1QN
Shifters :
© 2026, ProjektRideShimano Nexus SL-C3000 7 Speed.
.
lt_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_vari
ant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibil
ity":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[ac
tion*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":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_seleSpokes :
Steel 14 g
window._RestockRocketConfig = window._RestockRocketConfig || {}
// Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us')
// This matches the backend's Mobility.normalize_locale behavior
// Returns empty string if locale is empty or invalid (matches original behavior)
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, '_');
}
window._RestockRocketConfig.locale = 'en';
window._RestockRocketConfig.normalizedLocale = normalizeLocale('en');
window._RestockRocketConfig.shop = 'projektride.myshopify.com';
window._RestockRocketConfig.pageType = 'product';window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom';
window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_defauctor_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","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2025-12-28T14:44:23.523Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43
935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,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,439367
the best bicycle saddle for E-bike, cargo bike and Dutch-style bikes.\u003c\/p\u003e\n\u003cp\u003eKey Benefits:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eNaturally Flexible Rubber\u003c\/li\u003e\n\u003cli\u003eMoves with you\u003c\/li\u003e\n\u003cli\u003eAll-surface shock absorption\u003c\/li\u003e\n\u003cli\u003eContinuously comfortable\u003c\/li\u003e\n\u003cli\u003eLasting upright comfort\u003c\/li\u003e\n\u003cli\u003eGreater stability\u003c\/li\u003e\n\u003cli\u003eStress resistant\u003c\/li\u003e\n\u003cli\u003eRails: Black Steel\u003c\/li\u003e\n\u003cli\u003eL: 268mm, W: 200mm, H: 59mm\u003c\/li\u003e\n\u003cli\u003eWeight: 485 g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFeatures:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eVulcanised Natural Rubber Saddle Top\u003c\/li\u003e\n\u003cli\u003eFlexible and Robust Touring Surface\u003c\/li\u003e\n\u003cli\u003eUV + Abrasion-Resistant Waterproof Nylon Top\u003c\/li\u003e\n\u003cli\u003eInnovative Fan structure in Fibreglass-Reinforced Nylon\
u003c\/li\u003e\n\u003cli\u003eNose-piece and Saddle Plate in Fibreglass-Reinforced Nylon\u003c\/li\u003e\n\u003cli\u003eRubber grip on the saddle plate\u003c\/li\u003e\n\u003cli\u003eMetal Back Plate branding detail\u003c\/li\u003e\n\u003cli\u003eDurable, Anodised Aluminium Rivets\u003c\/li\u003e\n\u003cli\u003eTubular Steel Rails\u003c\/li\u003e\n\u003cli\u003eRail Type: \u003cspan type=\"Rail Type\" class=\"option selected\" key=\"steel\"\u003eSteel\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eWidth: \u003cspan type=\"Width\" class=\"option selected\" key=\"205mm\"\u003e205mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {43935994118370 : "continue",};
window._RestockRocketConfig.variantsInventoryQuantity = {43935994118370 : parseInt("0"),};
window._RestockRocketConfig.variantsPreorderCount = {43935994118370 : parseInt(""),};
window._RestockRoc06101474,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,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,4432999350
2946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-01-07T23:10:23Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig
ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30320-pm.png?v=1679136629"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30320-pm.png?v=1679136629","width":776},{"alt":null,"id":31694625800418,"position":5,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30322-pm.png?v=1679136629"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30322-pm.png?v=1679136629","width":776},{"alt":null,"id":31694625833186,"position":6,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30317-pm.png?v=1679136629"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30317-pm.png?v=1679136629","width":776}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u00
3cdiv class=\"attribute\" attribute_id=\"6\"\u003e\n\u003cdiv class=\"desc\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"description\"\u003e\n\u003cp\u003eThe Cambium C67 is designed with the commuter, urban cyclist and casual tourer in mind—a perfect saddle when cycling in all weathers in the upright riding position. A comfortable bike seat made from vulcanised natural rubber, the C67 moves with you for long-lasting comfort requiring no break-in period. Offering stability thanks to the wider rear part of the saddle, the curved shape and the flexibility of the rubber base, this saddle offers maximum control during acceleration (as with the E-bike) and to prevent backward sliding during the ride, while the fan structure in fibreglass nylon adds resistance against stress and vibrations. A rubber grip on the internal back plate guarantee a solid and stable grip. Durable and waterproof, the C67 utilises a nylon top for weather and abrasion resistance, making it .cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-01-07T23:10:22Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-01-07T23:10:22Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":Stem :"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_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","pr
icing_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_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-
07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","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,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","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":8055054467298,"title":"Brooks C67 Cambium Saddles","handle":"brooks-c67-cambium-saddles","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"attribute\" attribute_id=\"6\"\u003e\n\u003cdiv class=\"desc\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\" description\"\u003e\n\u003cp\u003eThe Cambium C67 is designed with the commuter, urban cyclist and casual tourer in mind—a perfect saddle when cycling in all weathers in the upright riding position. A comfortable bike seat made from vulcanised natural rubber, the C67 moves with you for long-lasting comfort requiring no break-in period. Offering stability thanks to the wider rear part of the saddle, the curved shape and the flexibility of the rubber base, this saddle offers maximum control during acceleration (as with the E-bike) and to prevent backward sliding during the ride, while the fan structure in fibreglass nylon adds resistance against stress and vibrations. A rubber grip on the internal back plate guarantee a solid and stable grip. Durable and waterproof, the C67 utilises a nylon top for weather and abrasion resistance, making it the best bicycle saddle for E-bike, cargo bike and Dutch-style bikes.\u003c\/p\u003e\n\u003cp\u003eKey Benefits:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eNaturally Flexible Rubber\u003c\/li\u003e\n\u003cli\u003eMoves with you\u003c\/li\u003e\n\u003cli\u003eAll-surface shock absorption\u003c\/li\u003e\n\u003cli\u003eContinuously comfortable\u003c\/li\u003e\n\u003cli\u003eLasting upright comfort\u003c\/li\u003e\n\u003cli\u003eGreater stability\u003c\/li\u003e\n\u003cli\u003eStress resistant\u003c\/li\u003e\n\u003cli\u003eRails: Black Steel\u003c\/li\u003e\n\u003cli\u003eL: 268mm, W: 200mm, H: 59mm\u003c\/li\u003e\n\u003cli\u003eWeight: 485 g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFeatures:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eVulcanised Natural Rubber Saddle Top\u003c\/li\u003e\n\u003cli\u003eFlexible and Robust Touring Surface\u003c\/li\u003e\n\u003cli\u003eUV + Abrasion-Resistant Waterproof Nylon Top\u003c\/li\u003e\n\u003cli\u003eInnovative Fan structure in Fibreglass-Reinforced Nylon\u003c\/li\u003e\n\u003cli\u003eNose-piece and Saddle Plate in Fibreglass-Reinforced Nylon\u003c\/li\u003e\n\u003cli\u003eRubber grip on the saddle plate\u003c\/li\u003e\Alloy Adjustable 90 mmn\u003cli\u003eMetal Back Plate branding detail\u003c\/li\u003e\n\u003cli\u003eDurable, Anodised Aluminium Rivets\u003c\/li\u003e\n\u003cli\u003eTubular Steel Rails\u003c\/li\u003e\n\u003cli\u003eRail Type: \u003cspan type=\"Rail Type\" class=\"option selected\" key=\"steel\"\u003eSteel\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eWidth: \u003cspan type=\"Width\" class=\"option selected\" key=\"205mm\"\u003e205mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-01-07T16:36:47+00:00","created_at":"2023-03-18T10:50:26+00:00","vendor":"ProjektRide","type":"Apparel \u0026 Accessories","tags":["Bike Packing","Saddles","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":11499,"price_min":11499,"price_max":11499,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":43935994118370,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"SCM67NYA00000","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Brooks C67 Cambium Saddles","public_title":null,"options":["Default Title"],"price":11499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/30318-pm.png?v=1679136628","\/\/projektride.co.uk\/cdn\/shop\/products\/30323-pm.png?v=1679136629","\/\/projektride.co.uk\/cdn\/shop\/products\/30319-pm.png?v=1679136628","\/\/projektride.co.uk\/cdn\/shop\/products\/30320-pm.png?v=1679136629","\/\/projektride.co.uk\/cdn\/shop\/products\/30322-pm.png?v=1679136629","\/\/projektride.co.uk\/cdn\/shop\/products\/30317-pm.png?v=1679136629"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/30318-pm.png?v=1679136628","options":["Title"],"media":[{"alt":null,"id":31694625669346,"
position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30318-pm.png?v=1679136628"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30318-pm.png?v=1679136628","width":776},{"alt":null,"id":31694625702114,"position":2,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30323-pm.png?v=1679136629"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30323-pm.png?v=1679136629","width":776},{"alt":null,"id":31694625734882,"position":3,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30319-pm.png?v=1679136628"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/30319-pm.png?v=1679136628","width":776},{"alt":null,"id":31694625767650,"position":4,"preview_image":{"aspect_ketConfig.variantsPreorderCountForMarket = {43935994118370 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {43935994118370 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43935994118370 : null,};
window._RestockRocketConfig.variantsShippingText = {43935994118370 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {43935994118370 : null,};
window._RestockRocketConfig.selected_variant_id = 43935994118370;
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/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-roc
ket-shopify-423/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.restockrocket.io'
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
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 translation data in metafield
// Metafield hasn't b
een 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 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 || Tyres :!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
];
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;
}
}
// 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.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.them
e?.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(cachedSettings);
} 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}`);
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._RestockRocketConfig.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 enabled for ${window._RestockRocketConfig.pageType}`);
}
// Check and update cart selling plans after scripts are loaded
if (settings.preorder_enabled) {
updateCartSellingPlans();
}
// Dispatch cusCST Ampero 700 x 40ctom event when app is loaded
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
function updateCartSellingPlans() {
// Wait for the API to be available with retries
const maxRetries = 10;
const retryDelay = 500;
function attemptCartCheck(attempt = 1) {
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);
});
} else if (attempt
<
.restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-co
untdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-ro
cket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animaFrame Shape :tion:.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;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-b
Gender :
Mens
Battery Integration :
External
Specification Disclaimer :
Ridgeback reserves the right to change product specifications without notice. Ridgeback will always ensure that these changes do not detract from the ride experience of the bike.

equires_selling_plan":false,"selling_plan_allocations":[]},{"id":44049911316706,"title":"Red","option1":"Red","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":{"id":72808887517567,"product_id":8082516869346,"position":7,"created_at":"2025-01-07T15:16:32+00:00","updated_at":"2025-01-07T15:16:32+00:00","alt":null,"width":1200,"height":880,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/L-FH53_media-RED-0_2021a2f3-6218-4ee3-80bd-290c4806f286.jpg?v=1736262992","variant_ids":[44049911316706]},"available":false,"name":"Frog 53 - Red","public_title":"Red","options":["Red"],"price":43200,"weight":0,"compare_at_price":48000,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63810023719295,"position":7,"preview_image":{"aspect_ratio":1.364,"height":880,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/L-FH53_media-RED-0_2021a2f3-6218-4ee3-80bd-290c4806f286.jpg?v=1736262992"}},"requires_selling_plan":false,"selling_plan_allocations":[,"price":43200,"weight":0,"compare_at_price":48000,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63810023653759,"position":5,"preview_image":{"aspect_ratio":1.364,"height":880,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/L-FH53_media-PINK-0_e9e6d338-e1cb-467e-84bf-8ae0f725d20c.jpg?v=1736262992"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44049911283938,"title":"White","option1":"White","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":{"id":72808887452031,"product_id":8082516869346,"position":6,"created_at":"2025-01-07T15:16:32+00:00","updated_at":"2025-01-07T15:16:32+00:00","alt":null,"width":1200,"height":880,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/L-FH53_media-SPOTTY-0_e2b3fb50-f820-47b4-a29f-5501fe2a9feb.jpg?v=1736262992","variant_ids":[44049911283938]},"available":false,"name":"Frog 53 - White","public_title":"White","options":["White"],"price":43200,"weight":0,"compare_at_pric

