• 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.liquidRenderedAt = 1771303314;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_but
  • 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,"sms_allowed":false,"email_a llowed":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_variant_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 notificatContact Usion 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_visibility":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[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_collec tion_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_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223"
  • ,"storefront_form_background_color":"#FFFFFF","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":"2026-01-08T16:12:13.364Z","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,43936 124109026,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,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392838882,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,43981989085410,43981989118178,43981989150946,43981990887650,43981990920418,43981990953186,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,4535301832726Finance 6,55569712382335,55569712447871,55569712480639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-02-17T04:29:37Z","market_locations_enabled":false,"market_id":13779632354,"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.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-02-17T04:38:15Z","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-02-17T04:38:15Z","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":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,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_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","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_
  • /p\u003e\n\u003cp class=\"m-0\"\u003e34\" - 37\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-05762449=\"\" class=\"rider-sizing__dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e","published_at":"2025-11-12T16:23:34+00:00","created_at":"2024-10-08T16:13:17+01:00","vendor":"Trek","type":"Bicycles","tags":["FX"],"price":82500,"price_min":82500,"price_max":82500,"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":46036040646882,"title":"Red \/ Small","option1":"Red","option2":"Small","option3":null,"sku":"5258489","requires_shipping":true,"taxable":true,"fea tured_image":null,"available":false,"name":"Trek FX 2 Disc Equipped - Red \/ Small","public_title":"Red \/ Small","options":["Red","Small"],"price":82500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46036040614114,"title":"Red \/ Medium","option1":"Red","option2":"Medium","option3":null,"sku":"5258490","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek FX 2 Disc Equipped - Red \/ Medium","public_title":"Red \/ Medium","options":["Red","Medium"],"price":82500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46036057751778,"title":"Black \/ Small","option1":"Black","option2":"Small","option3":null,"sku":"5258485","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek FX 2 Disc Equipped - Black \/ Small","public_title":"Black \/ Sm
    all","options":["Black","Small"],"price":82500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46036057784546,"title":"Black \/ Medium","option1":"Black","option2":"Medium","option3":null,"sku":"5258486","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek FX 2 Disc Equipped - Black \/ Medium","public_title":"Black \/ Medium","options":["Black","Medium"],"price":82500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_A_PRIMARY.webp?v=1728400487","\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_B_PRIMARY.webp?v=1728400448","\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DiscEquipped_22_35018_B_Alt3.webp?v=1728400457","\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DiscEquipped_22_35018_B_Alt4.webp?v=172840 0466","\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DiscEquipped_22_35018_B_Alt6.webp?v=1728400475"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_A_PRIMARY.webp?v=1728400487","options":["Colour","Size"],"media":[{"alt":null,"id":34781434183906,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_A_PRIMARY.webp?v=1728400487"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_A_PRIMARY.webp?v=1728400487","width":1440},{"alt":null,"id":34781431988450,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_B_PRIMARY.webp?v=1728400448"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX2DISCEQ_22_35018_B_PRIMARY.webp?v=1728400448","width":1440},{"alt":null,"id":34781432479970,"p
    /shop\/files\/FX2DiscEquipped_22_35018_B_Alt6.webp?v=1728400475","width":1440}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eThe FX 2 Disc Equipped is a stylish and versatile hybrid bike that comes with a whole suite of ride-ready accessories. Train, commute or ride for fun with the lightweight aluminium frame, 18 speeds, and semi-skinny tyres that are fast on the road and stable on loose terrain.\u003c\/p\u003e\n\u003cp\u003eIt's right for you if...\u003cbr\u003eYou want a high-value hybrid bike with quality parts, ride-ready accessories and the superior all-weather stopping power of disc brakes.\u003c\/p\u003e\n\u003cp\u003eThe tech you get\u003cbr\u003eA lightweight aluminium frame with hydraulic disc brakes for all-weather stopping power, a Shimano drivetrain with 18 speeds and a wide range of gearing so you're never pedalling too hard or too soft, and all the accessories you need to ride!\u003c\/p\u003e\n\u003cp\u003eThe final word\u003cbr\u003eThe FX 2 Disc Equipped is
    a go-anywhere hybrid bike with parts that perform on training rides, trips to the market or your morning commute. Plus it comes with a rear rack, mudguards and lights so you’re ready to ride straight away.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eHow tall are you?\u003cbr\u003eTo measure your height, stand up straight, barefoot, with your back, heels, shoulders and head all touching a wall. While looking straight ahead, place a book or straight edge on your head and slowly push it against the wall. Your straight edge should be parallel with the floor. Mark the spot where the bottom of the book is touching the wall. The distance from the marked spot to the floor is your height.\u003c\/p\u003e\n\u003cp\u003eWhat is your inside leg?\u003cbr\u003eHow to measure: Stand barefoot with your back straight and against a wall. Tuck a ruler or something that extends to the floor between your legs. Using both hands, and keeping it level, pull the ruler up into your crotch as if you were sitting on thCart e saddle. Measure the distance from the top edge of the ruler to the ground to find your inside leg measurement. Your inside leg is very important to your final bike size so please measure carefully.\u003c\/p\u003e\n\u003csection data-v-05762449=\"\" id=\"SizingComponent\" data-magellan-target=\"SizingComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\n\u003cdiv data-v-05762449=\"\" class=\"rider-sizing mb-2\"\u003e\n\u003cdiv data-v-4052fbf6=\"\" data-v-05762449=\"\"\u003e\n\u003cdiv data-v-4052fbf6=\"\" class=\"size-table\"\u003e\n\u003ctable data-v-3ac87600=\"\" data-v-4052fbf6=\"\" class=\"trek-table trek-table--hstripe trek-table--borderless trek-table--centered trek-table--small trek-table--sticky-headers trek-table--row-headers\" qaid=\"size-table\"\u003e\n\u003cthead data-v-3ac87600=\"\"\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Size\"\u003eSize\u003c\/th\u00
    3e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Rider Height\"\u003eRider Height\u003c\/th\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Inseam\"\u003eInseam\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody data-v-3ac87600=\"\"\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-S\"\u003eS\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e155 - 165 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'1\" - 5'5\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e72 - 78 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e28\" - 31\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-M\"\u003eM\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e \n\u003cp class=\"m-0\"\u003e165 - 175 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'5\" - 5'9\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e77 - 83 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e30\" - 33\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-L\"\u003eL\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e175 - 186 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'9\" - 6'1\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e82 - 88 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e32\" - 35\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-XL\"\u003eXL\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e186 - 197 cm\u003< 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge
    << img src="//projektride.co.uk/cdn/shop/files/BT_MY21_Arise_glossy_metallic_pearl_blue-02_800x800_crop_center_2x_62388592-ebb9-4c34-b242-f7c45286c59f_2048x2048.webp?v=1720089578" alt= LIQUID_CACHE_MAX_AGE) { console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); window._RestockRocketConfig.isLiquidCacheFresh = false; } } 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
    eRestockRocketScript(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}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:preord

    .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-preord
    ck-rocket-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;
    Ridgeback
    "XS - S 650B VEE TIRE SPEEDSTER 38-584 / M - XL 700C VEE TIRE SPEEDSTER 40-622 Genesis
    Header Image
    SingularFender
    -
    Enigma

    INFORMATION

    Mon - Fri: 09:00 - 18:30
    Sat: 9:00 - 16:00
    a 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_visibility":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_tex
    order_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_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_p
    ount }}","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,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"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,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first,Clothing
    MBTRACK ARISE Complete Bike","handle":"bombtrack-arise-complete-bike","description":"\u003cp\u003e A simple, versatile bike, our Arise uses a single-speed drivetrain so you can focus on riding, not maintenance. The fast wheels, wide tyres, and flared bars mean there’s not much this bike cannot handle, from trails to commuting. Infinitely adaptable with fittings for mudguards and a rack, and you even have the option of converting the frame and hub to run an 11-speed drivetrain.\u003c\/p\u003e\n\u003csection data-test=\"page-section\" data-section-theme=\"bright-inverse\" class=\"page-section \n \n layout-engine-section\n \n background-width--full-bleed\n \n section-height--large\n \n \n \n horizontal-alignment--center\n vertical-alignment--middle\n \n \n bright-inverse\" data-section-id=\"60f1c0e4d15bf44d5d7d484b\" data-current-styles='{\n\"imageOverlayOpacity\": 0.56,\n\"backgroundWidth\": \"background-width--full-bleed\",\n\"sectionHeight\": \"section-height-- source\": 3\n},\n\"colorData\": {\n\"topLeftAverage\": \"7f6455\",\n\"topRightAverage\": \"7f6451\",\n\"bottomLeftAverage\": \"9d806d\",\n\"bottomRightAverage\": \"a1856d\",\n\"centerAverage\": \"706148\",\n\"suggestedBgColor\": \"786151\"\n},\n\"urlId\": \"xpknvnsgewufsqhde5cvlaczivvyz2\",\n\"title\": \"\",\n\"body\": null,\n\"likeCount\": 0,\n\"commentCount\": 0,\n\"publicCommentCount\": 0,\n\"commentState\": 2,\n\"unsaved\": false,\n\"author\": {\n\"id\": \"611cde655e01dc42b587adf4\",\n\"displayName\": \"Marcellus Putschli\",\n\"firstName\": \"Marcellus\",\n\"lastName\": \"Putschli\",\n\"bio\": \"\"\n},\n\"assetUrl\": \"https:\/\/images.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/1e55e53d-ccbd-4db2-8e7e-1c9c9a41f0c0\/640A2561_ss.jpg\",\n\"contentType\": \"image\/jpeg\",\n\"items\": [ ],\n\"pushedServices\": { },\n\"pendingPushedServices\": { },\n\"originalSize\": \"2048x1366\",\n\"recordTypeLabel\": \"image\"\n},\n\"videoSourceProvider\": \"native\",\n\"nativeVideoContentItem\": {\n\"id\": ideoCodec\": \"h264\",\n\"alexandriaUrl\": \"https:\/\/video.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/c44dcd0b-5900-47ad-b050-bb6553dc7b3d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711,\n\"items\": [ ],\n\"pushedServices\": { },\n\"pendingPushedServices\": { },\n\"usageId\": \"9ac8fa7a-c312-4ff1-be57-aaf96a76d1e1\",\n\"assetProtectionLevel\": \"LIBRARY\",\n\"originalSize\": \"1920:1080\",\n\"recordTypeLabel\": \"sqsp-hosted-video\"\n}\n},\n\"backgroundImageId\": null,\n\"backgroundMediaEffect\": null,\n\"divider\": null,\n\"typeName\": \"portfolio-grid-basic\"\n}' data-animation=\"none\" data-controller=\"SectionWrapperController\" data-controllers-bound=\"SectionWrapperController,SectionWrapperController\" data-active=\"true\"\u003e\n\u003cdiv class=\"section-border\"\u003e\n\u003cdiv class=\"section-background\"\u003e\n\u003cdiv data-controllers-bound=\"VideoBackgroundNative,VideoBackgroundNative\Socks d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711\n},\n\"videoCodec\": \"h264\",\n\"alexandriaUrl\": \"https:\/\/video.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/c44dcd0b-5900-47ad-b050-bb6553dc7b3d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711,\n\"items\": [ ],\n\"pushedServices\": { },\n\"pendingPushedServices\": { },\n\"usageId\": \"9ac8fa7a-c312-4ff1-be57-aaf96a76d1e1\",\n\"assetProtectionLevel\": \"LIBRARY\",\n\"originalSize\": \"1920:1080\",\n\"recordTypeLabel\": \"sqsp-hosted-video\"\n}' data-config-playback-speed=\"1\" data-config-filter=\"1\" data-config-filter-strength=\"52\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eFrame\u003c\/td\u003e\n\u003ctd\u003e4130 double butted crmo, heat treated front triangle, TA sliding dropouts, rack \/ /td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrakes\u003c\/td\u003e\n\u003ctd\u003eTEKTRO MIRA post mount mechanic disc brakes with 160 mm rotors\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCrankset\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK TAF19 aluminium crank, 24 mm spindle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBB\u003c\/td\u003e\n\u003ctd\u003eBSA sealed BB, external cups\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePedals\u003c\/td\u003e\n\u003ctd\u003eWELLGO B109N flat pedal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChain\u003c\/td\u003e\n\u003ctd\u003eKMC X9 chain, 1\/2'' x 11\/128'', 98L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChainring\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK RIDGE aluminium chainring, narrow-wide, 42 T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCassette\u003c\/td\u003e\n\u003ctd\u003e16 T heat treated crmo, 1\/2'' x 11\/128''\u003c\/t iles\/BT_MY21_Arise_glossy_coffee_black-07_800x800_crop_center_2x_427655df-4c80-4365-b7a7-6570aa702910.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-08_800x800_crop_center_2x_7eb1353d-e1d1-46fc-801c-298faf7cfe0d.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-09_800x800_crop_center_2x_7c54aa77-b51a-45a9-98fb-5e214e8b369e.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-10_800x800_crop_center_2x_34cf358b-f3d6-4b55-8bbe-ab66f068367e.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-11_800x800_crop_center_2x_2c7de365-6dcf-4bf8-9419-3ade008e1ea6.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-12_800x800_crop_center_2x_514702cc-23bf-4589-be31-000079bb337c.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-13_800x800_crop_center_2x_4e4eaced-cSee More ektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-08_800x800_crop_center_2x_e417fc3c-741d-4dd1-8ad5-70c62aa46d75.webp?v=1720089579","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-09_800x800_crop_center_2x_fa376478-f517-4d15-8557-b86a8b0ec50d.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-10_800x800_crop_center_2x_7f933a9b-067f-461e-843d-3f1a253a2d01.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-11_800x800_crop_center_2x_950a867b-d5bb-4622-85d5-f33bad105bcb.webp?v=1720089578","\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-12_800x800_crop_center_2x_1d10fd03-5618-43ff-b024-472ba8f532c2.webp?v=1720089578"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-01_800x800_crop_center_2x_d15ae56c-342c-4538-89d3-5fccb3f8c402.webp?v=1720089578","options":["Size"],"media":[{"al
    4186006954210,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-03_800x800_crop_center_2x_e4616de3-f27b-472f-9289-0c7f06690cf7.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-03_800x800_crop_center_2x_e4616de3-f27b-472f-9289-0c7f06690cf7.webp?v=1720089578","width":1600},{"alt":null,"id":34186006986978,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-07_800x800_crop_center_2x_427655df-4c80-4365-b7a7-6570aa702910.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-07_800x800_crop_center_2x_427655df-4c80-4365-b7a7-6570aa702910.webp?v=1720089578","width":1600},{"alt":null,"id":34186007019746, t_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-14_800x800_crop_center_2x_1113911e-aa4b-4c9b-a4f1-30750066b534.webp?v=1720089579"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-14_800x800_crop_center_2x_1113911e-aa4b-4c9b-a4f1-30750066b534.webp?v=1720089579","width":1600},{"alt":null,"id":34186007249122,"position":12,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-15_800x800_crop_center_2x_65c3dd30-b928-4f9f-a811-608751424793.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_coffee_black-15_800x800_crop_center_2x_65c3dd30-b928-4f9f-a811-608751424793.webp?v=1720089578","width":1600},{"alt":null,"id":34186007281890,"position":13,"preview_image":{"aspect_ratio":1.0Cleaners, Degreasers and Lubrication
    .0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-02_800x800_crop_center_2x_62388592-ebb9-4c34-b242-f7c45286c59f.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-02_800x800_crop_center_2x_62388592-ebb9-4c34-b242-f7c45286c59f.webp?v=1720089578","width":1600},{"alt":null,"id":34186007380194,"position":16,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-03_800x800_crop_center_2x_1ea4760c-4511-4baf-ab1b-ddcee31660e5.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-03_800x800_crop_center_2x_1ea4760c-4511-4baf-ab1b-ddcee31660e5.webp?v=1720089578","width":1600},{"alt":null,"id":34186007412962,"position":17,"preview_image":{
    preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-10_800x800_crop_center_2x_7f933a9b-067f-461e-843d-3f1a253a2d01.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-10_800x800_crop_center_2x_7f933a9b-067f-461e-843d-3f1a253a2d01.webp?v=1720089578","width":1600},{"alt":null,"id":34186007576802,"position":20,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-11_800x800_crop_center_2x_950a867b-d5bb-4622-85d5-f33bad105bcb.webp?v=1720089578"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/BT_MY21_Arise_glossy_metallic_pearl_blue-11_800x800_crop_center_2x_950a867b-d5bb-4622-85d5-f33bad105bcb.webp?v=1720089578","width":1600},{"alt":null,"id":34186007609570
    n-theme=\"bright-inverse\" class=\"page-section \n \n layout-engine-section\n \n background-width--full-bleed\n \n section-height--large\n \n \n \n horizontal-alignment--center\n vertical-alignment--middle\n \n \n bright-inverse\" data-section-id=\"60f1c0e4d15bf44d5d7d484b\" data-current-styles='{\n\"imageOverlayOpacity\": 0.56,\n\"backgroundWidth\": \"background-width--full-bleed\",\n\"sectionHeight\": \"section-height--large\",\n\"horizontalAlignment\": \"horizontal-alignment--center\",\n\"verticalAlignment\": \"vertical-alignment--middle\",\n\"contentWidth\": \"content-width--custom\",\n\"customContentWidth\": 100,\n\"sectionTheme\": \"bright-inverse\",\n\"sectionAnimation\": \"none\",\n\"backgroundMode\": \"video\",\n\"imageEffect\": \"none\"\n}' data-current-context='{\n\"video\": {\n\"playbackSpeed\": 1,\n\"filter\": 1,\n\"filterStrength\": 52,\n\"zoom\": 0,\n\"videoFallbackContentItemId\": \"616037dda489e834a9d3e0ae\",\n\"videoFallbackContentItem\": {\n\"id Accessories\": \"616037dda489e834a9d3e0ae\",\n\"recordType\": 2,\n\"addedOn\": 1633695709651,\n\"updatedOn\": 1669208328054,\n\"workflowState\": 1,\n\"publishOn\": 1633695709651,\n\"authorId\": \"611cde655e01dc42b587adf4\",\n\"systemDataId\": \"1e55e53d-ccbd-4db2-8e7e-1c9c9a41f0c0\",\n\"systemDataVariants\": \"2048x1366,100w,300w,500w,750w,1000w,1500w\",\n\"systemDataSourceType\": \"JPG\",\n\"filename\": \"640A2561_ss.jpg\",\n\"mediaFocalPoint\": {\n\"x\": 0.5,\n\"y\": 0.5,\n\"source\": 3\n},\n\"colorData\": {\n\"topLeftAverage\": \"7f6455\",\n\"topRightAverage\": \"7f6451\",\n\"bottomLeftAverage\": \"9d806d\",\n\"bottomRightAverage\": \"a1856d\",\n\"centerAverage\": \"706148\",\n\"suggestedBgColor\": \"786151\"\n},\n\"urlId\": \"xpknvnsgewufsqhde5cvlaczivvyz2\",\n\"title\": \"\",\n\"body\": null,\n\"likeCount\": 0,\n\"commentCount\": 0,\n\"publicCommentCount\": 0,\n\"commentState\": 2,\n\"unsaved\": false,\n\"author\": {\n\"id\": \"611cde655e01dc42b587adf4\",\n\"displayName\": \"Marcellus Putschli\",\n\"firstName\": \"
    Marcellus\",\n\"lastName\": \"Putschli\",\n\"bio\": \"\"\n},\n\"assetUrl\": \"https:\/\/images.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/1e55e53d-ccbd-4db2-8e7e-1c9c9a41f0c0\/640A2561_ss.jpg\",\n\"contentType\": \"image\/jpeg\",\n\"items\": [ ],\n\"pushedServices\": { },\n\"pendingPushedServices\": { },\n\"originalSize\": \"2048x1366\",\n\"recordTypeLabel\": \"image\"\n},\n\"videoSourceProvider\": \"native\",\n\"nativeVideoContentItem\": {\n\"id\": \"616037affac6df35314bc405\",\n\"recordType\": 61,\n\"addedOn\": 1633695663211,\n\"updatedOn\": 1633695663211,\n\"authorId\": \"611cde655e01dc42b587adf4\",\n\"systemDataId\": \"c44dcd0b-5900-47ad-b050-bb6553dc7b3d\",\n\"systemDataVariants\": \"1920:1080,640:360\",\n\"systemDataSourceType\": \"mp4\",\n\"filename\": \"ARISE_BLACK_1.mp4\",\n\"body\": null,\n\"likeCount\": 0,\n\"commentCount\": 0,\n\"publicCommentCount\": 0,\n\"commentState\": 1,\n\"author\": {\n\"id\": \"611cde655e01dc42b587adf4\",\n\"displayName\": \"Marcellus Putschli\",\n\"firstNa me\": \"Marcellus\",\n\"lastName\": \"Putschli\",\n\"bio\": \"\"\n},\n\"contentType\": \"video\/mp4\",\n\"structuredContent\": {\n\"_type\": \"SqspHostedVideo\",\n\"videoCodec\": \"h264\",\n\"alexandriaUrl\": \"https:\/\/video.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/c44dcd0b-5900-47ad-b050-bb6553dc7b3d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711\n},\n\"videoCodec\": \"h264\",\n\"alexandriaUrl\": \"https:\/\/video.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/c44dcd0b-5900-47ad-b050-bb6553dc7b3d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711,\n\"items\": [ ],\n\"pushedServices\": { },\n\"pendingPushedServices\": { },\n\"usageId\": \"9ac8fa7a-c312-4ff1-be57-aaf96a76d1e1\",\n\"assetProtectionLevel\": \"LIBRARY\",\n\"originalSize\": \"1920:1080\",\n\"recordTypeLabel\": \"sqsp-hosted-video\"\n}\n}

    ,\n\"backgroundImageId\": null,\n\"backgroundMediaEffect\": null,\n\"divider\": null,\n\"typeName\": \"portfolio-grid-basic\"\n}' data-animation=\"none\" data-controller=\"SectionWrapperController\" data-controllers-bound=\"SectionWrapperController,SectionWrapperController\" data-active=\"true\"\u003e\n\u003cdiv class=\"section-border\"\u003e\n\u003cdiv class=\"section-background\"\u003e\n\u003cdiv data-controllers-bound=\"VideoBackgroundNative,VideoBackgroundNative\" data-controller=\"VideoBackgroundNative\"\u003e\n\u003cdiv class=\"sqs-video-background-native content-fill\" data-config-native-video='{\n\"id\": \"616037affac6df35314bc405\",\n\"recordType\": 61,\n\"addedOn\": 1633695663211,\n\"updatedOn\": 1633695663211,\n\"authorId\": \"611cde655e01dc42b587adf4\",\n\"systemDataId\": \"c44dcd0b-5900-47ad-b050-bb6553dc7b3d\",\n\"systemDataVariants\": \"1920:1080,640:360\",\n\"systemDataSourceType\": \"mp4\",\n\"filename\": \"ARISE_BLACK_1.mp4\",\n\"body\": null,\n\"likeCount\": 0,\n\"commentCount\": 0,\n\"publProduct Details icCommentCount\": 0,\n\"commentState\": 1,\n\"author\": {\n\"id\": \"611cde655e01dc42b587adf4\",\n\"displayName\": \"Marcellus Putschli\",\n\"firstName\": \"Marcellus\",\n\"lastName\": \"Putschli\",\n\"bio\": \"\"\n},\n\"contentType\": \"video\/mp4\",\n\"structuredContent\": {\n\"_type\": \"SqspHostedVideo\",\n\"videoCodec\": \"h264\",\n\"alexandriaUrl\": \"https:\/\/video.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/c44dcd0b-5900-47ad-b050-bb6553dc7b3d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711\n},\n\"videoCodec\": \"h264\",\n\"alexandriaUrl\": \"https:\/\/video.squarespace-cdn.com\/content\/v1\/60d2d479d2b7b75136ea090c\/c44dcd0b-5900-47ad-b050-bb6553dc7b3d\/{variant}\",\n\"alexandriaLibraryId\": \"60d2d479d2b7b75136ea090c\",\n\"aspectRatio\": 1.7777777777777777,\n\"durationSeconds\": 6.047711,\n\"items\": [ ],\n\"pushedServices\": { },\n\"pendingPushedServices\": { },\n\"usageId\": \"9ac8fa7a-c312-

    4ff1-be57-aaf96a76d1e1\",\n\"assetProtectionLevel\": \"LIBRARY\",\n\"originalSize\": \"1920:1080\",\n\"recordTypeLabel\": \"sqsp-hosted-video\"\n}' data-config-playback-speed=\"1\" data-config-filter=\"1\" data-config-filter-strength=\"52\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eFrame\u003c\/td\u003e\n\u003ctd\u003e4130 double butted crmo, heat treated front triangle, TA sliding dropouts, rack \/ fender mounts, 68 mm BSA BB shell\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFork\u003c\/td\u003e\n\u003ctd\u003e4130 crmo, TA, rack \/ fender mounts, internal hub dynamo cable routing\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHandlebar\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK CX-10 drop bar, 31.8 mm, 10° flare\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGrips\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK CONTROL bar tape\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003 The Beyond AL is our aluminium equivalent from the range. The heavily hydro-formed tube profile and fork come with internal light cable routing, complete with fender, rack and triple cage mounts for overnight trips. The Beyond AL is front derailleur compatible for those preferring a more comprehensive range of gearing options up the front. All sizes come with 12mm through-axles on the front and rear, besides size-matched 27.5” wheels on the size S option to ensure efficient geometry across the range.MaintenanceeStem\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK ROAM forged aluminium stem, -7°\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeadset\u003c\/td\u003e\n\u003ctd\u003eNECO H282 sealed external aheadset, 1.1\/8''\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLevers\u003c\/td\u003e\n\u003ctd\u003eTEKTRO RL-340 brake levers\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShifter\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrakes\u003c\/td\u003e\n\u003ctd\u003eTEKTRO MIRA post mount mechanic disc brakes with 160 mm rotors\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCrankset\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK TAF19 aluminium crank, 24 mm spindle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBB\u003c\/td\u003e\n\u003ctd\u003eBSA sealed BB, external cups\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePedals\u003c\/td\u003e\n\u003ctd\u003eWELLGO B10

    9N flat pedal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChain\u003c\/td\u003e\n\u003ctd\u003eKMC X9 chain, 1\/2'' x 11\/128'', 98L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChainring\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK RIDGE aluminium chainring, narrow-wide, 42 T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCassette\u003c\/td\u003e\n\u003ctd\u003e16 T heat treated crmo, 1\/2'' x 11\/128''\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFront derailleur\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRear derailleur\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFront hub\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK ARC sealed hub, 6-bolt disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRear hub\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK ARC sealed hub, 11-speed, 6-bolt disc\u003c\/td\u003e\n\u003c\/tr\u003e\n \u003ctr\u003e\n\u003ctd\u003eThrough axle\u003c\/td\u003e\n\u003ctd\u003e12 x 100 mm \/ 12 x 142 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFront rim\u003c\/td\u003e\n\u003ctd\u003eWTB ST i19 double wall, TCS 2.0, 32h\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRear rim\u003c\/td\u003e\n\u003ctd\u003eWTB ST i19 double wall, TCS 2.0, 32h\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSaddle\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK ORIGIN saddle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeat post\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK BEECH 27.2 mm x 300 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeat clamp\u003c\/td\u003e\n\u003ctd\u003eBOMBTRACK ORIGIN 29.8 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFront tire\u003c\/td\u003e\n\u003ctd\u003e\"XS - S 650B VEE TIRE SPEEDSTER 38-584 \/ M - XL 700C VEE TIRE SPEEDSTER 40-622\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n
    \u003ctd\u003eRear tire\u003c\/td\u003e\n\u003ctd\u003e\"XS - S 650B VEE TIRE SPEEDSTER 38-584 \/ M - XL 700C VEE TIRE SPEEDSTER 40-622\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFender\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRack\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLight\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e11.4 kg (size M)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight frameset\u003c\/td\u003e\n\u003ctd\u003e2480 g frame (size M, incl. TA, hanger) \/ 1370 g fork (300 mm steerer, incl. TA)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum rider weight\u003c\/td\u003e\n\u003ctd\u003e120 kg incl. luggage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eASTM riding condition\u003c\/td\u003e\n\u003ctd\u003e2\u00 3c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!----\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {45661851943138 : "deny",45661851975906 : "deny",45661852008674 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {45661851943138 : parseInt("0"),45661851975906 : parseInt("0"),45661852008674 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {45661851943138 : parseInt(""),45661851975906 : parseInt(""),45661852008674 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {45661851943138 : null,45661851975906 : null,45661852008674 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {45661851943138 : parseInt(""),45661851975906 : parseInt(""),45661852008674 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {45661851943138 : null,4566185197
    5906 : null,45661852008674 : null,}; window._RestockRocketConfig.variantsShippingText = {45661851943138 : "",45661851975906 : "",45661852008674 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {45661851943138 : null,45661851975906 : null,45661852008674 : null,}; window._RestockRocketConfig.selected_variant_id = 45661851943138; 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/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlPro duct.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 const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate cache age if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { const now = Math.floor(Date.now() / 1000); // Current time in seconds const liquidCacheAge = now - liquidRenderedAt; // Age in seconds // Handle client clock ahead of server if (liquidCacheAge
    < 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge
    < = LIQUID_CACHE_MAX_AGE) { console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); window._RestockRocketConfig.isLiquidCacheFresh = false; } } 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 wh
    ere 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 been 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.u Sell Your Bikepdated_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 || !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; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API ready, 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); }); } }); } // 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. Contact Usdebug('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; } 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}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._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) { .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 Log in ountdown-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-rocket-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 ut-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-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;} Create account Cart Close Spend £50 Open search bar Home Bikes   New Bikes Mountain Bikes Electric Bikes Kids Bikes Frames Trek Yeti Brother SingularFrog Kona Surly UTO (ex Eovolt) Early Rider Second-Hand Bikes Shop All Second-Hand Custom Builds Custom Build Inspiration   Book a Service Other Custom Builds Insure Your Bike
    Fork Search 6061 aluminium, TA, 1.1/2'' - 1.1/8'', fender / rack / triple cage mounts, internal hub dynamo cable routing
    Handlebar BOMBTRACK TACKLE gravel bar, 31.8 mm, 25° flare
    Grips to qualify for free shipping BOMBTRACK COMMAND bar tapeCongratulations! Your order qualifies for free shipping
    Stem BOMBTRACK TRAMP forged aluminium stem, 3°
    Headset Sealed integrated aheadset, 1.1/2'' - 1.1/8''
    LeversOpen navigation menu SRAM Apex double tap mechanic
    Shifter SRAM Apex double tap 1 x 11
    TRP SPYRE C mechanic disc brakes with 180 mm F / 160 mm R rotors
    CranksetHire BOMBTRACK AMES forged aluminium crank, 24 mm spindle
    BB BOMBTRACK T47 internal sealed BB for 24 mm spindle
    Chainring Steel, narrow-wide, 36 T
    Cassette SRAM PG-1130 11-speed, 11 - 42 T
    Front derailleurShop by Brand -Gloria
    Rear derailleur SRAM APEX 1, clutch, long cageAmflow
    Front hub BOMBTRACK ARC sealed hub, 6-bolt discRidgeback
    Rear hub BOMBTRACK ARC sealed hub, 11-speed, 6-bolt discGenesis
    Through axle 12 x 100 mm / 12 x 142 mmEnigma
    Front rim WTB ST i23 double wall, TCS 2.0, 32h
    Rear rim WTB ST i23 double wall, TCS 2.0, 32h
    Saddle BOMBTRACK FUZZ
    Seat post SEIDO YEW aluminium seatpost, 31.8 mm x 400 mm
    Seat clampCustom Builds for sale BOMBTRACK PRIME 34.9 mm
    Front tyre WTB RANGER TCS LIGHT / FAST ROLLING S 27.5'' x 2.0'' / M - L 29'' x 2.0'', tubeless ready 
    Rear tyreServices   WTB RANGER TCS LIGHT / FAST ROLLING S 27.5'' x 2.0'' / M - L 29'' x 2.0'', tubeless ready
    FenderWorkshop -Workshop Prices
    Rack -Track Your Service
    Kickstand -
    LightCycle To Work Schemes -
    Weight 11.64 kg (size M)
    Grips & Bar-Tape
    Headsets

    Close search bar