- Road / Gravel / Touring Bikes
- Hybrid / City Bikes Mountain Bikes
- Electric Bikes
- Kids Bikes Frames
- Shop by Brand See More
- Gloria
- Trek Amflow
- Velduro
- Yeti Ridgeback
| window._RestockRocketConfig = window._RestockRocketConfig || {} window._RestockRocket = window._RestockRocket || {} window._Stoq = window._RestockRocket window._StoqConfig = window._RestockRocketConfig try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 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.liquidRenderedAt = 1794071464;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = "United Kingdom"; window._RestockRocketConfig.countryIsoCode = "GB";window._RestockRocketConfig.defaultCountryIsoCode = "GB";window._RestockRocketConfig.languageIsoCode = "en"; if (!window._RestockRocketConfig.cartToken) { try { const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); } catch (e) { } } window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2026-10-01T04:48:15.444Z","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 \u0026 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_custom_domain_enabled":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":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","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_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":".product-grid-item__info","insert_button_after_selector_index":".product-grid-item__info","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":".product-grid-item__info","show_button_on_page":false,"insert_button_after_selector_search":".grid","show_button_on_search":false,"app_proxy_path_prefix":"\/apps\/restockrocket-production","collection_link_selector":".product-grid-item__title","index_link_selector":".product-grid-item__title","page_link_selector":".product-grid-item__title","search_link_selector":".product-grid-item__title","collection_check_link_visibility":true,"collection_buttons_container":".grid","index_buttons_container":".carousel.grid--mobile .flickity-viewport","page_buttons_container":".grid","search_buttons_container":".grid","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":"","preorder_add_to_cart_button_selector":".product__submit__holder .product__submit__buttons button","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\"] button","preorder_collection_badge_selector":".product__media__holder","preorder_index_badge_selector":".product__media__holder","preorder_page_badge_selector":".product__media__holder","preorder_search_badge_selector":".product__media__holder","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":".product__form .btn","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":".product__price--regular","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":".product__price--regular","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".product__form","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","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-10-01T04:48:15.476Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false,"api_host":"https:\/\/ext.stoqapp.com"}; window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42140096102626,42167799447778,43590980075746,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,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,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938298233058,43938298265826,43938298298594,43938298331362,43938298364130,43938298396898,43938298429666,43938298462434,43938299805922,43938299838690,43938299871458,43938299904226,43938299936994,43938299969762,43938300002530,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,43981392806114,43981392937186,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746],"updated_at":"2026-11-07T17:01:52Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null,"bulk_operation":true};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-11-07T17:08:20Z","shopify_market_id":0,"market_locations_enabled":false};window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-11-07T17:08:20Z","shopify_market_id":0,"market_locations_enabled":false};window._RestockRocketConfig.sellingPlans = [];(function() { const cachedData = {"plans":[{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[],"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_enabled":true,"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":"Estimated to ship within 2 months","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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.","disable_button_until_acknowledged":false,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-08-31T15:28:37.678Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[]}],"disabled_plan_ids":[714631872895,713813721471,713176482175],"has_in_stock_offer":false,"has_preorder_offer":true,"read_flags":{},"cached_at":"2026-10-10T11:02:02Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDate = max ? new Date(max) : null; return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; } return max; }, '') : null; const cachedDate = new Date(cachedData.cached_at); const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); if (useCached) { if (Array.isArray(cachedData.plans)) { window._RestockRocketConfig.sellingPlans = cachedData.plans; window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); } } else { window._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};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.product = { id: 8734756307170, title: "Trek Madone SLR 9 AXS Gen 8", handle: "trek-madone-slr-9-axs-gen-9", vendor: "ProjektRide", tags: ["Madone"], available: true, options: ["Colour","Size"], selling_plan_groups: [], featured_image: "\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSLR9AXS-25-46151-G-Primary.webp?v=1728659277\u0026width=800", variants: [{ id: 46044916678882, title: "Black \/ Extra Small", available: false, sku: "5319523", price: 1050000 }, { id: 46044916711650, title: "Black \/ Small", available: false, sku: "5319524", price: 1050000 }, { id: 46044916744418, title: "Black \/ Medium", available: false, sku: "5319525", price: 1050000 }, { id: 46044916777186, title: "Black \/ Medium \/ Large", available: false, sku: "5319526", price: 1050000 }, { id: 46044916809954, title: "Black \/ Large", available: false, sku: "5319527", price: 1050000 }, { id: 46044916842722, title: "Black \/ Extra Large", available: true, sku: "5319528", price: 1050000 }, { id: 46044916875490, title: "Multi Colour \/ Extra Small", available: false, sku: "5319529", price: 1050000 }, { id: 46044916908258, title: "Multi Colour \/ Small", available: false, sku: "5319530", price: 1050000 }, { id: 46044916941026, title: "Multi Colour \/ Medium", available: false, sku: "5319531", price: 1050000 }, { id: 46044916973794, title: "Multi Colour \/ Medium \/ Large", available: false, sku: "5319532", price: 1050000 }, { id: 46044917006562, title: "Multi Colour \/ Large", available: false, sku: "5319533", price: 1050000 }, { id: 46044917039330, title: "Multi Colour \/ Extra Large", available: false, sku: "5319534", price: 1050000 }, { id: 46044917072098, title: "Silver \/ Extra Small", available: false, sku: "5322567", price: 1635000 }, { id: 46044917104866, title: "Silver \/ Small", available: false, sku: "5322568", price: 1635000 }, { id: 46044917137634, title: "Silver \/ Medium", available: false, sku: "5322569", price: 1635000 }, { id: 46044917170402, title: "Silver \/ Medium \/ Large", available: false, sku: "5322570", price: 1635000 }, { id: 46044917203170, title: "Silver \/ Large", available: false, sku: "5322571", price: 1635000 }, { id: 46044917235938, title: "Silver \/ Extra Large", available: false, sku: "5322572", price: 1635000 }, { id: 46044917268706, title: "Pink \/ Extra Small", available: false, sku: "5322579", price: 1515000 }, { id: 46044917301474, title: "Pink \/ Small", available: false, sku: "5322580", price: 1515000 }, { id: 46044917334242, title: "Pink \/ Medium", available: false, sku: "5322581", price: 1515000 }, { id: 46044917367010, title: "Pink \/ Medium \/ Large", available: false, sku: "5322582", price: 1515000 }, { id: 46044917399778, title: "Pink \/ Large", available: false, sku: "5322583", price: 1515000 }, { id: 46044917432546, title: "Pink \/ Extra Large", available: false, sku: "5322584", price: 1515000 }, { id: 46044917465314, title: "Maroon \/ Extra Small", available: false, sku: "5319535", price: 1050000 }, { id: 46044917498082, title: "Maroon \/ Small", available: false, sku: "5319536", price: 1050000 }, { id: 46044917530850, title: "Maroon \/ Medium", available: true, sku: "5319537", price: 1050000 }, { id: 46044917563618, title: "Maroon \/ Medium \/ Large", available: false, sku: "5319538", price: 1050000 }, { id: 46044917596386, title: "Maroon \/ Large", available: false, sku: "5319539", price: 1050000 }, { id: 46044917629154, title: "Maroon \/ Extra Large", available: false, sku: "5319540", price: 1050000 }, { id: 46044917661922, title: "White \/ Gold \/ Extra Small", available: false, sku: "5319541", price: 1050000 }, { id: 46044917694690, title: "White \/ Gold \/ Small", available: false, sku: "5319542", price: 1050000 }, { id: 46044917727458, title: "White \/ Gold \/ Medium", available: false, sku: "5319543", price: 1050000 }, { id: 46044917760226, title: "White \/ Gold \/ Medium \/ Large", available: false, sku: "5319544", price: 1050000 }, { id: 46044917792994, title: "White \/ Gold \/ Large", available: false, sku: "5319545", price: 1050000 }, { id: 46044917825762, title: "White \/ Gold \/ Extra Large", available: false, sku: "5319546", price: 1050000 }, { id: 46044917858530, title: "White \/ Extra Small", available: false, sku: "5330027", price: 1050000 }, { id: 46044917891298, title: "White \/ Small", available: false, sku: "5330028", price: 1050000 }, { id: 46044917924066, title: "White \/ Medium", available: false, sku: "5330029", price: 1050000 }, { id: 46044917956834, title: "White \/ Medium \/ Large", available: true, sku: "5330040", price: 1050000 }, { id: 46044917989602, title: "White \/ Large", available: false, sku: "5330041", price: 1050000 }, { id: 46044918022370, title: "White \/ Extra Large", available: true, sku: "5330042", price: 1050000 } ] };window._RestockRocketConfig.variantsInventoryPolicy = {46044916678882 : "deny",46044916711650 : "deny",46044916744418 : "deny",46044916777186 : "deny",46044916809954 : "deny",46044916842722 : "deny",46044916875490 : "deny",46044916908258 : "deny",46044916941026 : "deny",46044916973794 : "deny",46044917006562 : "deny",46044917039330 : "deny",46044917072098 : "deny",46044917104866 : "deny",46044917137634 : "deny",46044917170402 : "deny",46044917203170 : "deny",46044917235938 : "deny",46044917268706 : "deny",46044917301474 : "deny",46044917334242 : "deny",46044917367010 : "deny",46044917399778 : "deny",46044917432546 : "deny",46044917465314 : "deny",46044917498082 : "deny",46044917530850 : "deny",46044917563618 : "deny",46044917596386 : "deny",46044917629154 : "deny",46044917661922 : "deny",46044917694690 : "deny",46044917727458 : "deny",46044917760226 : "deny",46044917792994 : "deny",46044917825762 : "deny",46044917858530 : "deny",46044917891298 : "deny",46044917924066 : "deny",46044917956834 : "deny",46044917989602 : "deny",46044918022370 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {46044916678882 : 0,46044916711650 : 0,46044916744418 : 0,46044916777186 : 0,46044916809954 : 0,46044916842722 : 1,46044916875490 : 0,46044916908258 : 0,46044916941026 : 0,46044916973794 : 0,46044917006562 : 0,46044917039330 : 0,46044917072098 : 0,46044917104866 : 0,46044917137634 : 0,46044917170402 : 0,46044917203170 : 0,46044917235938 : 0,46044917268706 : 0,46044917301474 : 0,46044917334242 : 0,46044917367010 : 0,46044917399778 : 0,46044917432546 : 0,46044917465314 : 0,46044917498082 : 0,46044917530850 : 1,46044917563618 : 0,46044917596386 : 0,46044917629154 : 0,46044917661922 : 0,46044917694690 : 0,46044917727458 : 0,46044917760226 : 0,46044917792994 : 0,46044917825762 : 0,46044917858530 : 0,46044917891298 : 0,46044917924066 : 0,46044917956834 : 1,46044917989602 : 0,46044918022370 : 1,}; window._RestockRocketConfig.variantsPreorderCount = {46044916678882 : parseInt(null),46044916711650 : parseInt(null),46044916744418 : parseInt(null),46044916777186 : parseInt(null),46044916809954 : parseInt(null),46044916842722 : parseInt(null),46044916875490 : parseInt(null),46044916908258 : parseInt(null),46044916941026 : parseInt(null),46044916973794 : parseInt(null),46044917006562 : parseInt(null),46044917039330 : parseInt(null),46044917072098 : parseInt(null),46044917104866 : parseInt(null),46044917137634 : parseInt(null),46044917170402 : parseInt(null),46044917203170 : parseInt(null),46044917235938 : parseInt(null),46044917268706 : parseInt(null),46044917301474 : parseInt(null),46044917334242 : parseInt(null),46044917367010 : parseInt(null),46044917399778 : parseInt(null),46044917432546 : parseInt(null),46044917465314 : parseInt(null),46044917498082 : parseInt(null),46044917530850 : parseInt(null),46044917563618 : parseInt(null),46044917596386 : parseInt(null),46044917629154 : parseInt(null),46044917661922 : parseInt(null),46044917694690 : parseInt(null),46044917727458 : parseInt(null),46044917760226 : parseInt(null),46044917792994 : parseInt(null),46044917825762 : parseInt(null),46044917858530 : parseInt(null),46044917891298 : parseInt(null),46044917924066 : parseInt(null),46044917956834 : parseInt(null),46044917989602 : parseInt(null),46044918022370 : parseInt(null),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {46044916678882 : null,46044916711650 : null,46044916744418 : null,46044916777186 : null,46044916809954 : null,46044916842722 : null,46044916875490 : null,46044916908258 : null,46044916941026 : null,46044916973794 : null,46044917006562 : null,46044917039330 : null,46044917072098 : null,46044917104866 : null,46044917137634 : null,46044917170402 : null,46044917203170 : null,46044917235938 : null,46044917268706 : null,46044917301474 : null,46044917334242 : null,46044917367010 : null,46044917399778 : null,46044917432546 : null,46044917465314 : null,46044917498082 : null,46044917530850 : null,46044917563618 : null,46044917596386 : null,46044917629154 : null,46044917661922 : null,46044917694690 : null,46044917727458 : null,46044917760226 : null,46044917792994 : null,46044917825762 : null,46044917858530 : null,46044917891298 : null,46044917924066 : null,46044917956834 : null,46044917989602 : null,46044918022370 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {46044916678882 : parseInt(null),46044916711650 : parseInt(null),46044916744418 : parseInt(null),46044916777186 : parseInt(null),46044916809954 : parseInt(null),46044916842722 : parseInt(null),46044916875490 : parseInt(null),46044916908258 : parseInt(null),46044916941026 : parseInt(null),46044916973794 : parseInt(null),46044917006562 : parseInt(null),46044917039330 : parseInt(null),46044917072098 : parseInt(null),46044917104866 : parseInt(null),46044917137634 : parseInt(null),46044917170402 : parseInt(null),46044917203170 : parseInt(null),46044917235938 : parseInt(null),46044917268706 : parseInt(null),46044917301474 : parseInt(null),46044917334242 : parseInt(null),46044917367010 : parseInt(null),46044917399778 : parseInt(null),46044917432546 : parseInt(null),46044917465314 : parseInt(null),46044917498082 : parseInt(null),46044917530850 : parseInt(null),46044917563618 : parseInt(null),46044917596386 : parseInt(null),46044917629154 : parseInt(null),46044917661922 : parseInt(null),46044917694690 : parseInt(null),46044917727458 : parseInt(null),46044917760226 : parseInt(null),46044917792994 : parseInt(null),46044917825762 : parseInt(null),46044917858530 : parseInt(null),46044917891298 : parseInt(null),46044917924066 : parseInt(null),46044917956834 : parseInt(null),46044917989602 : parseInt(null),46044918022370 : parseInt(null),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46044916678882 : null,46044916711650 : null,46044916744418 : null,46044916777186 : null,46044916809954 : null,46044916842722 : null,46044916875490 : null,46044916908258 : null,46044916941026 : null,46044916973794 : null,46044917006562 : null,46044917039330 : null,46044917072098 : null,46044917104866 : null,46044917137634 : null,46044917170402 : null,46044917203170 : null,46044917235938 : null,46044917268706 : null,46044917301474 : null,46044917334242 : null,46044917367010 : null,46044917399778 : null,46044917432546 : null,46044917465314 : null,46044917498082 : null,46044917530850 : null,46044917563618 : null,46044917596386 : null,46044917629154 : null,46044917661922 : null,46044917694690 : null,46044917727458 : null,46044917760226 : null,46044917792994 : null,46044917825762 : null,46044917858530 : null,46044917891298 : null,46044917924066 : null,46044917956834 : null,46044917989602 : null,46044918022370 : null,}; window._RestockRocketConfig.variantsShippingText = {46044916678882 : "",46044916711650 : "",46044916744418 : "",46044916777186 : "",46044916809954 : "",46044916842722 : "",46044916875490 : "",46044916908258 : "",46044916941026 : "",46044916973794 : "",46044917006562 : "",46044917039330 : "",46044917072098 : "",46044917104866 : "",46044917137634 : "",46044917170402 : "",46044917203170 : "",46044917235938 : "",46044917268706 : "",46044917301474 : "",46044917334242 : "",46044917367010 : "",46044917399778 : "",46044917432546 : "",46044917465314 : "",46044917498082 : "",46044917530850 : "",46044917563618 : "",46044917596386 : "",46044917629154 : "",46044917661922 : "",46044917694690 : "",46044917727458 : "",46044917760226 : "",46044917792994 : "",46044917825762 : "",46044917858530 : "",46044917891298 : "",46044917924066 : "",46044917956834 : "",46044917989602 : "",46044918022370 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {46044916678882 : null,46044916711650 : null,46044916744418 : null,46044916777186 : null,46044916809954 : null,46044916842722 : null,46044916875490 : null,46044916908258 : null,46044916941026 : null,46044916973794 : null,46044917006562 : null,46044917039330 : null,46044917072098 : null,46044917104866 : null,46044917137634 : null,46044917170402 : null,46044917203170 : null,46044917235938 : null,46044917268706 : null,46044917301474 : null,46044917334242 : null,46044917367010 : null,46044917399778 : null,46044917432546 : null,46044917465314 : null,46044917498082 : null,46044917530850 : null,46044917563618 : null,46044917596386 : null,46044917629154 : null,46044917661922 : null,46044917694690 : null,46044917727458 : null,46044917760226 : null,46044917792994 : null,46044917825762 : null,46044917858530 : null,46044917891298 : null,46044917924066 : null,46044917956834 : null,46044917989602 : null,46044918022370 : null,};window._RestockRocketConfig.selected_variant_id = 46044916842722; window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available; (function (c) { c.cartInventoryQuantity = {}; function s(k, id, v) { if (v !== null) (c[k] = c[k] || {})[id] = v; } function sm(k, id, v) { if (v !== null) ((c[k] = c[k] || {})[id] = {})[c.marketId] = v; } function p(k, id, v) { if (v !== null) (c[k] = c[k] || []).push(id); } })(window._RestockRocketConfig); try { var _sqCfg = window._RestockRocketConfig; var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); var _sqPreCount = _sqCfg.inlinePreorderIdsDropped ? _sqCfg.cachedPreorderVariantIdsCount : ((_sqCfg.cachedPreorderVariantIds && _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); } catch (e) { } try { var _sqc = window._RestockRocketConfig; var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); var _sqPre = (_sqc.cachedPreorderVariantIds && _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; var _sqAlways = []; var _sqAlwaysPlanIds = []; var _sqGateAlloc = (_sqc.readFlags && _sqc.readFlags.enable_storefront_plan_offers === true && _sqc.variantSellingPlanIds) || null; (Array.isArray(_sqc.sellingPlans) ? _sqc.sellingPlans : []).forEach(function (p) { if (!(p && p.enabled && p.inventory_provider === 'always')) return; _sqAlways = _sqAlways.concat(p.variant_ids || []); if (_sqGateAlloc && p.variant_ids_truncated) { _sqAlwaysPlanIds.push(Number(p.shopify_selling_plan_id), Number(p.default_shopify_selling_plan_id)); (Array.isArray(p.payment_options) ? p.payment_options : []).forEach(function (o) { if (o) _sqAlwaysPlanIds.push(Number(o.shopify_selling_plan_id)); }); } }); var _sqAllocAlways = function (id) { var a = _sqGateAlloc && _sqGateAlloc[id]; return Array.isArray(a) && a.some(function (planId) { return planId && _sqAlwaysPlanIds.indexOf(Number(planId)) !== -1; }); }; var _sqArm = false; if (_sqOn && (_sqc.preordersConfigured || _sqAlways.length || _sqAlwaysPlanIds.length)) { if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1 || _sqAlways.indexOf(Number(v.id)) !== -1 || _sqAllocAlways(Number(v.id)) || (_sqc.inlinePreorderIdsDropped === true && (_sqc.variantsInventoryPolicy || {})[v.id] === 'continue' && (_sqc.variantsInventoryQuantity || {})[v.id] < | |
| &
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
}
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 KMC e12UTO (ex Eovolt)Complete Brakes< | 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.crossOrigin = 'anonymous';
restockRocketScriptElement.onerror = function () {
restockRocketScriptElement.onerror = null;
const plainScriptElement = document.createElement('script');
plainScriptElement.setAttribute('defer', 'defer');
plainScriptElement.src = scriptUrl;
document
.body.appendChild(plainScriptElement);
};
restockRocketScriptElement.src = scriptUrl;
document.body.appendChild(restockRocketScriptElement);
}
createRestockRocketContainer()
console.debug('STOQ - extension activated')
try {
const _stoqInitConfig = window._RestockRocketConfig;
const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants))
? _stoqInitConfig.product.variants.map(function(v) { return v.id })
: [];
const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id;
var _stoqPageSeq = 0;
try {
_stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1;
window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq));
} catch (e) { }
Shopify?.analytics?.publish?.('stoq_initialized', {
cart_token: _stoqInitConfig.cartToken || '',
page_url: window.location.origin + window.location.pathname,
page_type: _stoqInitConfig.pageType || '',
|
| _sqTrack.cachedPreorderVariantIds.preorder_variant_ids) || (_sqTrack.inlinePreorderIdsDropped === true && (_sqTrack.variantsInventoryPolicy || {})[vid] === 'continue' && (_sqTrack.variantsInventoryQuantity || {})[vid] Wheelset < | = 0); })(), in_enabled_plan: !!_sqPlan, is_instock_variant: (function () { var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; return has(_sqTrack.inStockVariantIds) || has(_sqTrack.cachedInStockVariantIds && _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); })(), enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false) && !(_sqTrack.readFlags && _sqTrack.readFlags.accelerated_block_off === true), gate_armed: !!_sqTrack.acceleratedGateArmed, gate_active_at_click: !!(document.documentElement && document.documentElement.c lassList.contains('stoq-buy-now-pending')), blocked: (function () { try { var rr = window._RestockRocket; return !!(rr && typeof rr.willBlockAcceleratedClick === 'function' && rr.willBlockAcceleratedClick(e)); } catch (err) { return false; } })(), }, }); } catch (err) { } }, true); } } catch (e) { } function applyTranslations(settings) { try { if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { 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; } } function setupCartSellingPlanUpdater(settings) { window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug(Newmen Performance 30 base/strong, 28/32 Spokes, 15x110mm / 12x148mm, Tubeless ReadyArgon 18Brake Pads'STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } function storefrontGraphql(query, variables) { const cfg = window._RestockRocketConfig; if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { return Promise.reject(new Error('Storefront API unavailable')); } return fetch( `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, { method: 'POST', headers: { 'Content-Type': 'appl | ication/json', 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, }, body: JSON.stringify({ query: query, variables: variables }), } ) .then(function(response) { if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } return response.json(); }) .then(function(body) { if (body && body.errors && body.errors.length) { throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); } return body && body.data; }); } function fetchStorefrontShopMetafield(key) { const cfg = window._RestockRocketConfig; const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) .then(function(data) { const value = data && data.shop && data.shop.metafield && data.shop.meta field.value; if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } return JSON.parse(value); }); } function fetchStorefrontSettings() { const query = 'query StoqSettings($namespace: String!) { shop { settings: metafield(namespace: $namespace, key: "settings") { value } translations: metafield(namespace: $namespace, key: "settings_translations") { value } } }'; return storefrontGraphql(query, { namespace: window._RestockRocketConfig.metafieldNamespace }) .then(function(data) { const settings = JSON.parse(data.shop.settings.value); if (!settings.updated_at) { throw new Error('settings metafield is not a settings payload'); } if (settings.single_locale_translations_inline) { settings.translations = data.shop.translations && JSON.parse(data.shop.translations.value); } if (settings.multi_language_enabled && !settings.translations) { throw new Error('settings metafield carries no translations'); } return
| a) { cfg.integrations = data; } }); } function refreshSellingPlans(embedOnly) { const cfg = window._RestockRocketConfig; return refreshShopConfig({ embedOnly: embedOnly === true, endpoint: 'selling_plans', metafieldKey: 'cachedSellingPlans', flag: 'enable_storefront_selling_plans_read', isValid: function(value) { return !!value && Array.isArray(value.plans); }, apply: function(data) { cfg.sellingPlans = data.plans; cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { cfg.readFlags = data.read_flags; } } }); } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); const forceEmbedSellingPlans = settings.foFront tire rce_embed_selling_plans === true; const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; if (forceEmbedSellingPlans || staleRefresh) { console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; if (staleRefresh) { refreshes.push(refreshIntegrations()); } Promise.race([ Promise.all(refreshes), new Promise(function(resolve) { setTimeout(resolve, 1000); }) ]).then(function() { loadScripts(settings); }); return; } loadScripts(settings); } function loadScripts(settings) { setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.i | ncludes(window._RestockRocketConfig.pageType); }) const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; const pageType = window._RestockRocketConfig.pageType; const preorderUiOnPage = (settings.preorder_enabled && settings[`preorder_${pageType}_enabled`]) || window._RestockRocketConfig.integrations.some(function(integration) { return (integration.type === 'quick_buy' || integration.type === 'featured_product') && integration.enabled && integration.page_types.includes(pageType); }) || /\b(renderPreorderButton|updateAddToCartButton|updateAddToC artForms|setupAddToCartForm|teardownAddToCartForm|addDiscountedPrice|removeDiscountedPrice)\b/.test(settings.js_config || ''); const preorderCollectionScriptUrl = preorderUiOnPage ? window._RestockRocketConfig.scriptUrlCollectionFull : window._RestockRocketConfig.scriptUrlCollection; const collectionScriptUrl = usePreorderBuild ? preorderCollectionScriptUrl : window._RestockRocketConfig.scriptUrlCollectionBis; const productScriptUrl = usePreorderBuild ? window._RestockRocketConfig.scriptUrlProduct : window._RestockRocketConfig.scriptUrlProductBis; const collectionPageTypes = ['collection', 'index', 'search', 'page']; if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { createRestockRocketScript(collectionScriptUrl); } else if(pageType === 'product') { createRestockRocketScript(productScriptUrl); } else if(hijackIntegration) { createRestockRocketScript(preorderCollectionScriptUrl); } else if(usePreorderBuild) { createRestockRocketScript(preorderCollectionScriptUrl); } else { console.debug(`STOQ - no scripts enabled for ${pageType}`); } const wishlistIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'wishlist' && integration.enabled; }); if (wishlistIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptHost + 'restockrocket-wishlist.js'); if ((wishlistIntegration.page_types || []).indexOf(pageType) !== -1) { let wishlistHeartsRequested = false; const loadWishlistHearts = function() { if (wishlistHeartsRequested || !document.querySelector('[data-stoq-wishlist-heart]')) return; wishlistHeartsRequested = true; createRestockRocketScript(window._RestockRocketConfig.scriptHost + 'restockrocket-wishlist-hearts.js'); Conti Argotal, Enduro Soft, Tubeless Ready, 2.4 }; loadWishlistHearts(); document.addEventListener('shopify:section:load', loadWishlistHearts); } try { const guestWishlist = window._RestockRocketConfig.customer && !localStorage.getItem('stoq_wl_c') && JSON.parse(localStorage.getItem('stoq_wl')); if (Array.isArray(guestWishlist) && guestWishlist.length) { createRestockRocketScript(window._RestockRocketConfig.scriptHost + 'restockrocket-wishlist-prompt.js'); } } catch (e) {} } const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } | Second-Hand BikesForkshtml.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}
| Rear tire | Conti Kryptotal Rear, Downhill Soft, Tubeless Ready, 2.4 | Shop All Second-HandFront Suspension
| Pedals Rear Suspension | Custom BuildsACID PP MTB | See More
| Saddle See More | Custom Builds for saleACID Venec EMTB Trail 140 |
| Seatpost | TubesCUBE Dropper Post, Handlebar Lever, Internal Cable Routing, 31.6mm |
| Seat post = dropper Yes/NoSee More | SaddlesYES |
| Seatpost clamp | See MorePedalsCUBE Semi-Integrated |
| Engine | See MoreBosch Drive Unit Performance Line CX max. 120Nm (BDU38)Book a Service |
| Engine ready for the Bosch 120 Nm update? | YES E-bike Batteries and chargers | Other
| Battery Wheels | Bosch PowerTube 800 See More | Custom Builds
| ChargerCycle To Work SchemesComplete Wheels | Bosch 4A | Insure Your Bike
| Remote | Book a ServiceTools & MaintenanceBosch Mini Remote |
| DisplayParts & ComponentsSee More | Bosch Kiox 400CSee More |
| Net weight (kg) | Brands24.7Helmets | See More
| Gross weight (kg) | Tent Box29.7Clothing |
| Max. system weight (kg) | 160 Cockpit | Essentials
| Max. rider weight (kg) | 125 Handlebars | Cleaners, Degreasers and Lubrication
| Body sizeAccessories | 1.77m - 1.87m Grips & Bar-Tape | Maintenance
| Accessories | 93250,93468,93362,93469,93490 | Sell Your Bike
Frequently Asked Questions
-
Search
Front Suspension
Please get in touch with a member of the team either by phone ( 01313745324 Forks) or email ( [email protected] CartSee More) where on of the team will be more than happy to help.0 items
ProjektRide Bike Shop Edinburgh
-
Rear SuspensionFinishing Kit
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. Sorry, looks like we don't have enough of this product.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
We also have a physical store, if you are local please pop in -
ProjektRide Bike Shop Edinburgh











}
})
.catch(function(e) {
console.error(e)
})
}
function fetchEmbedConfig(endpoint, apply) {
return fetch(
`${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`,
{
headers: {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
}
}
)
.then(function(response) {
if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`);
return response.json();
})
.then(function(data) {
try {
apply(data);
} catch (applyError) {
console.error('STOQ - apply failed for ' + endpoint + ':', applyError);
throw applyError;
}
})
.catch(function(error) {
console.debug(`STOQ - using cached ${endpoint}:`, error.message);
});
}
function refreshShopConfig(source) {
const cfg = window._RestockRocketConfig;
const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, 











