Slovenia (EUR€) Clothing and Protection
Increase QuantityProjektRide Merchandise
See More
Somalia (GBP£) HelmetsHeader Image
ProjektRide Merchandise Gloves
South Africa (GBP£)
Helmets Socks
Clothing Essentials
Spain (EUR€) Sudan (GBP£)
Essentials
See More
Svalbard & Jan Mayen (GBP£)  
 Cleaners, Degreasers and LubricationSweden (SEKkr)
Suggested search terms
About Us Track Service Progress Insure Your Bike
Terms of Service
Refund policy
My Account Open cart Open search bar Search for products on our site
HomeHire
Bikes
See More
Eritrea (GBP£)
Estonia (EUR€)
Road / Gravel / Touring Bikes
Faroe Islands (DKKkr.) Finland (EUR€) Mountain Bikes Electric Bikes
France (EUR€)
\/\/projektride.co.uk\/products\/powerfly-4-equipped-800-gen-5-79604?variant=58205533143423"},"sku":"5349076"}],"name":"Powerfly+ 4 Equipped 800 Gen 5","productGroupID":"15846742720895","url":"https:\/\/projektride.co.uk\/products\/powerfly-4-equipped-800-gen-5-79604"} nt_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_enabl Kids Bikes
#Accordions--template--26482384994687__section_accordions_with_images_kprcYa { --PT: 60px; --PB: 60px; --border-opacity: 0; --border-width: 1px; --MB: 10px; --padding-left: 0; --bg-padded-line: var(--bg); } #Accordions--template--26482384994687__section_accordions_with_images_kprcYa .section__heading { --heading-size: calc(var(--adjust-heading) * 1.2); } #Accordions--template--26482384994687__section_accordions_with_images_kprcYa .accordion__item { --bg-item: #fafafa; } n*=\"/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":"",
der_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-08-12T16:44:57.369Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false}; window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production';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,439361299French Southern Territories (EUR€)
6,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981382320354,43981392773346,43981392806114,43981392838882,43981392871650,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,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55066403209599,55066403242367,55569712382335,55569712415103,55569712447871,55569712480639,55570017616255,55570550194559,55604008976767,55638316908927,55638316941695,55 Frames
T03:27:25Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642"; window._RestockRocketConfig.sellingPlans = [];(function() { const cachedData = {"plans":[{"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_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 av Frequently Asked Questions rt":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,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false,"batches_enabled":false,"preorder_batches":[],"batch_status_past_text":"Sold out","batch_status_live_text":"Live","batch_status_upcoming_text":"Coming soon"}],"disabled_plan_ids":[714631872895,713813721471,713176482175],"cached_at":"2026-08-31T15:28:38Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdGabon (XOFFr)
ans (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._RestockRoc Shop by Brand
ame, top-load PowerPack, integrated cockpit routing, 135x5mm QR\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFrame Material\u003c\/th\u003e\n\u003ctd\u003eALUMINIUM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRim Size\u003c\/th\u003e\n\u003ctd\u003e27.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFork\u003c\/th\u003e\n\u003ctd\u003eSR Suntour\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFork\u003c\/th\u003e\n\u003ctd\u003eSR Suntour XCR32, tapered steerer tube, coil spring, preload adjuster, lockout,100mm QR, 80mm travel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eTires\u003c\/th\u003e\n\u003ctd\u003eBontrager Connection Elite, reflective strip, wire bead, 60 tpi, 27.5x2.40\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHub Front\u003c\/th\u003e\n\u003ctd\u003eShimano Tourney HB-QC300, centerlock\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHub Rear\u003c\/th\u003e\n\u

FX Sport SL 5 is a carbon fibre fitness bike for riders who want the speed of a lightweight road bike with the comfort and control of a flat handlebar. It has an upgraded high-quality drivetrain, hydraulic disc brakes and tubeless-ready rims making it perfect for everything from solo workouts to speedy group rides. /th\u003e\n\u003ctd\u003eShimano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBrakeset\u003c\/th\u003e\n\u003ctd\u003eShimano MT200 hydraulic disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBrake Rotor\u003c\/th\u003e\n\u003ctd\u003eShimano EM300, CentreLock, 180 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003ePedals\u003c\/th\u003e\n\u003ctd\u003eBontrager City pedals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSaddle\u003c\/th\u003e\n\u003ctd\u003eBontrager Commuter Comp\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSeatpost\u003c\/th\u003e\n\u003ctd\u003eAlloy, suspension, 31.6 mm, 300 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHandlebar\u003c\/th\u003e\n\u003ctd\u003eBontrager alloy, 31.8mm, 5mm rise, 720 width\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eStem\u003c\/th\u003e\n\u003ctd\u003eBontrager alloy, 31.8mm clamp, adjustable rise, Blendr compatibl See More

u003eSize Chart Rider Inseam\u003c\/th\u003e\n\u003ctd\u003eInseam - 80.0 - 99.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e","published_at":"2026-08-18T15:17:46+01:00","created_at":"2026-08-18T15:17:46+01:00","vendor":"Trek","type":"Bike","tags":["2027","ACTIVE","Bike","EBIKE","ETR - E-Trekking","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled","Trek"],"price":357500,"price_min":357500,"price_max":357500,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":58205391389055,"title":"L","option1":"L","option2":null,"option3":null,"sku":"5341818","requires_shipping":true,"taxable":true,"featured_image":{"id":86929792729471,"product_id":15846728401279,"position":1,"created_at":"2026-08-18T15:58:35+01:00","updated_at":"2026-08-18T15:58:38+01:00","alt":"Charter+ 4 Trail 800 Wh Lowstep","width":3000,"height":2250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/CharterPlus4R9800Gambia (GMDD)

TechnologyI'm looking to find out more information about a product, where can I find this?:35+01:00","updated_at":"2026-08-18T15:58:38+01:00","alt":"Charter+ 4 Trail 800 Wh Lowstep","width":3000,"height":2250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/CharterPlus4R9800Lowstep-26-60495-A-Primary_98b3de84-e1af-4bef-92fd-37b148ea30f7.jpg?v=1787065118","variant_ids":[58205391389055,58205391421823,58205391454591,58205391487359]},"available":true,"name":"Charter+ 4 Trail 800 Wh Lowstep - M","public_title":"M","options":["M"],"price":357500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"197216285328","featured_media":{"alt":"Charter+ 4 Trail 800 Wh Lowstep","id":72254247895423,"position":1,"preview_image":{"aspect_ratio":1.333,"height":2250,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/CharterPlus4R9800Lowstep-26-60495-A-Primary_98b3de84-e1af-4bef-92fd-37b148ea30f7.jpg?v=1787065118"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":58205391454591,"title":"S","option1":"S","option2":nu

Dialed-in to go all day - A slightly shorter reach and taller stack put you in a more upright, balanced position for smooth power and all-day rideability. 787065118"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":58205391487359,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"5341819","requires_shipping":true,"taxable":true,"featured_image":{"id":86929792729471,"product_id":15846728401279,"position":1,"created_at":"2026-08-18T15:58:35+01:00","updated_at":"2026-08-18T15:58:38+01:00","alt":"Charter+ 4 Trail 800 Wh Lowstep","width":3000,"height":2250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/CharterPlus4R9800Lowstep-26-60495-A-Primary_98b3de84-e1af-4bef-92fd-37b148ea30f7.jpg?v=1787065118","variant_ids":[58205391389055,58205391421823,58205391454591,58205391487359]},"available":false,"name":"Charter+ 4 Trail 800 Wh Lowstep - XL","public_title":"XL","options":["XL"],"price":357500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"197216285342","featured_media":{"alt":"Charter+ 4 Trail 800 Wh Lowstep","id":72254247895423,"position":1,"preview_ima

\/cdn\/shop\/files\/CharterPlus4R9800Lowstep-26-60495-A-Primary_98b3de84-e1af-4bef-92fd-37b148ea30f7.jpg?v=1787065118","width":3000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eThe Charter+ Trail 800 Wh low-step is an adventure-ready city e-bike designed to give you a boost wherever you explore. It comes ready to ride off the beaten track with a 9-speed Shimano CUES drivetrain, 80 mm coil-sprung fork, off-road ready wheels and tyres, and flat handlebars with 5 mm of rise for control getting up and over potholes and kerbs. A Bosch Performance Line motor with a huge 800 Wh battery lets you explore far out there, and still have plenty of power for the ride back.\u003c\/p\u003e\n\u003ch3\u003eTechnology\u003c\/h3\u003e\u003cp\u003eAssembled in Germany - Explore the factory in Saxony, Germany, where every European Trek, Electra, and Diamant bike is built.\u003c\/p\u003e\n\u003ch3\u003eSpecification\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eFrame\u003c\/th\u Gloria

SpecificationPlease get in touch with a member of the team either by phone (3ctr\u003e\n\u003cth\u003eHub Rear\u003c\/th\u003e\n\u003ctd\u003eShimano TC500-HM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRims\u003c\/th\u003e\n\u003ctd\u003eBontrager Kovee, double-wall, Tubeless Ready, 28-hole, 23 mm width, Presta valve \/\/ Bontrager Kovee, double-wall, Tubeless-Ready, 32-hole, 23 mm width, Presta valve\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShifter\u003c\/th\u003e\n\u003ctd\u003eShimano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShifters\u003c\/th\u003e\n\u003ctd\u003eShimano U4000, 9 speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrank\u003c\/th\u003e\n\u003ctd\u003eProWheel alloy, 170 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCassette\u003c\/th\u003e\n\u003ctd\u003eShimano LINKGLIDE LG300, 11-46, 9-speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eChain\u003c\/th\u003e\n\u003ctd\u003eShimano LG500, 9\/10\/11-speed\u003c\/td\u003e\n\u003cGeorgia (GBP£)

01313745324alloy, 31.8mm clamp, adjustable rise, Blendr compatible, 80mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eGrips\u003c\/th\u003e\n\u003ctd\u003eTrek Ergonomic Comp, lock-on\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFenders\u003c\/th\u003e\n\u003ctd\u003eTrek Charter alloy mudguard\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eKickstand\u003c\/th\u003e\n\u003ctd\u003ePletscher Comp Flex 40\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBattery\u003c\/th\u003e\n\u003ctd\u003eBosch PowerTube 800Wh, smart system\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eController\u003c\/th\u003e\n\u003ctd\u003eBosch Purion 200\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMotor\u003c\/th\u003e\n\u003ctd\u003eBosch Performance Line, 250W, 75Nm, 20mph\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSize Chart Rider Height\u003c\/th\u003e\n\u003ctd\u003eRider Height - 170.0 - 185.0\u003c\ ) or email (05391487359 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {58205391389055 : null,58205391421823 : null,58205391454591 : null,58205391487359 : null,}; window._RestockRocketConfig.variantsShippingText = {58205391389055 : "",58205391421823 : "",58205391454591 : "",58205391487359 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {58205391389055 : null,58205391421823 : null,58205391454591 : null,58205391487359 : null,};window._RestockRocketConfig.selected_variant_id = 58205391421823; window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available; try { var _sqCfg = window._RestockRocketConfig; var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && Trek ) where on of the team will be more than happy to help.floor(Date.now() / 1000); const liquidCacheAge = now - liquidRenderedAt; window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); if (liquidCacheAge Germany (EUR€) = 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; } if (settings.multi_language_enabled) { if (!settings.translations) { console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } if (window._RestockRocketConfig.normalizedLocale & < nitConfig.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.href, page_type: _stoqInitConfig.pageType || '', shop_domain: _stoqInitConfig.shop || '', market_id: _stoqInitConfig.marketId || '', country_code: _stoqInitConfig.countryIsoCode || '', detected_variant_ids: _stoqDetectedVariantIds, selected_variant_id: _stoqSelectedVariantId || '', page_load_seq: _stoqPageSeq, liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, app_version: _stoqInitConfig.appVersion || '', Ghana (GBP£) as(_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), gate_armed: !!_sqTrack.acceleratedGateArmed, gate_active_at_click: !!(document.documentElement && document.documentElement.classList.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; } })(), }, }); atus); } 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(', ')); } const value = body && body.data && body.data.shop && body.data.shop.metafield && body.data.shop.metafield.value; if (!value) { throw new Error('Storefront API returned no settings metafield value'); } cfg.storefrontSettings = JSON.parse(value); console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); }) .catch(function(e) { console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); }); } if (typeof window.requestIdleCallback === 'function') { window.requestIdleCallback(run, { timeout: 5000 }); } else { setTimeout(run, 0); } })(); const cachedSettings = window._RestockRocketConfig.cachedSettiGibraltar (GBP£) t ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { 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 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) { c lags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { window._RestockRocketConfig.readFlags = data.read_flags; } }), fetchEmbedConfig('integrations', function(data) { if (Array.isArray(data)) { window._RestockRocketConfig.integrations = data; } }) ]), 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.includes(window._RestockRocketConfig.pageType); }) const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) && window html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}Greece (EUR€) Greenland (DKKkr.) Guadeloupe (EUR€) Guernsey (GBP£) Guinea (GNFFr) Guinea-Bissau (XOFFr) Hungary (HUFFt) Iceland (ISKkr) Ireland (EUR€) Isle of Man (GBP£) Italy (EUR€) Jersey (GBP£) Kenya (KESKSh) Kosovo (EUR€) Latvia (EUR€) Lesotho (GBP£) Liberia (GBP£) Libya (GBP£) Liechtenstein (CHFCHF) Mali (XOFFr) Malta (EUR€) Delivery & Returns
Frame Material[email protected] document.documentElement.classList.add('stoq-buy-now-pending'); setTimeout(function () { document.documentElement.classList.remove('stoq-buy-now-pending'); }, 6000); } } catch (e) { } window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-collection-bis.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProdu CARBONProjektRide Bike Shop Edinburgh 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 Amflow
var _sqVidNum = Number(variantId); var _sqPlan = null; var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; var _sqMktId = Number(_sqTrack.marketId); var _sqForVariant = function (pl) { return pl && pl.enabled && Array.isArray(pl.variant_ids) && pl.variant_ids.indexOf(_sqVidNum) !== -1; }; _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && Array.isArray(pl.shopify_market_ids) && pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } }); if (!_sqPlan) { _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } }); } Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { variant_id: variantId, product_id: (_sqTrack.product && _sqTra 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('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 -
nScriptUrl); } else if(pageType === 'product') { createRestockRocketScript(productScriptUrl); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(usePreorderBuild) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${pageType}`); } 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); } }
Blog
Hope