ti_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.updated_at);
if (isNaN(updatedAt.getTime())) {
console.
<
!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 (translate
hopify-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 exp
maxRetries) {
console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`);
setTimeout(() => attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}
hopify-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 exp
maxRetries) {
console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`);
setTimeout(() => attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}
Hope
.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:#ebebe
.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:#ebebe
Cockpit
Stems
Headsets

BUY
SELL
How 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 the 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.
Workshop Prices
RIDE CONFIDENT
.
.Lights
How tall are you?
.
To 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.
Increase quantity
Workshop
Rider Care
What is your inside leg?Sell Your Bike
#ProductTemplate--template--15326745395426__main { background: #ffffff; }
.shop-pay-terms { --payment-terms-background-color: #ffffff }
img src="//projektride.co.uk/cdn/shop/products/OneUp-Components-Lock-On-Grip-Iso-Blue_2048x2048.jpg?v=1639605802" alt="One-Up Components Lock on Grips" class="mfp-zoom-in-cur" id="28852507312354">
" id="34779799486690">
Cockpit
See More
See More
White / 60 - Sold Out
Locks
Custom BuildsWhite / 62 - Sold OutSearch text field
Custom Builds for sale
Mudguards
A 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!
View allPhone Holders
Clothing
The final word
The 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.
Services
Bells
Socks
Decrease quantityLoading more
img src="//projektride.co.uk/cdn/shop/products/OneUp-Components-Lock-On-Grip-Iso-Black_1024x1024_ceedb334-f044-41db-bda5-af7024d820d2_2048x2048.jpg?v=1639605788" alt="One-Up Components Lock on Grips" class="mfp-zoom-in-cur" id="28852505510114">
img src="//projektride.co.uk/cdn/shop/products/OneUp-Components-Lock-On-Grip-Iso-Black_1024x1024_d2c40006-ec65-43bf-b292-8b326a160671_2048x2048.jpg?v=1639605779" alt="One-Up Components Lock on Grips" class="mfp-zoom-in-cur" id="28852504166626">
img src="//projektride.co.uk/cdn/shop/products/OneUp-Components-Lock-On-Grip-Iso-Green_2048x2048.jpg?v=1639605822" alt="One-Up Components Lock on Grips" class="mfp-zoom-in-cur" id="28852509638882">
img src="//projektride.co.uk/cdn/shop/files/FX3DiscStagger_22_35055_A_Alt7_2048x2048.webp?v=1728391805" alt="Trek FX 3 Disc Stagger Gen 3" class="mfp-zoom-in-cur" id="34779803451618">
Handlebars
Stems
| < | ||
|---|---|---|
|
img src="//projektride.co.uk/cdn/shop/files/FX3DiscStagger_22_35055_A_Alt4_98x.webp?v=1728391783" alt="" class="product-single__thumbnail-img"> < |
img src="//projektride.co.uk/cdn/shop/files/FX3DiscStagger_22_35055_A_Alt5_98x.webp?v=1728391790" alt="" class="product-single__thumbnail-img"> < |
|
| img src="//projektride.co.uk/cdn/shop/files/FX3DiscStagger_22_35055_A_Alt7_98x.webp?v=1728391805" alt="" class="product-single__thumbnail-img"> | <
img src="//projektride.co.uk/cdn/shop/files/FX3DiscStagger_22_35055_A_Alt9_98x.webp?v=1728391816" alt="" class="product-single__thumbnail-img"> |
Finishing KitHome /See MoreAll - New - Bikes / | Trek FX 3 Disc Stagger Gen 3
| £1,025.00 | Tubes
WorkshopTubeless Workshop Prices |
Saddles
Book a Service Seat Posts & ClampsTrack Your Service |
Pedals
| OtherGears & Drivetrain |
See More Custom Builds Cycle To Work SchemesComponents | |
|
Essentials See More
|
|
| See More |
Bottles and Cages
| |
| Bells |
Lights Rider Care |
|
| Maintenance | See More
Cleaners, Degreasers and Lubrication |
Tubeless |
Gloves

Clothing
,"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":true,"name":"Trek FX 2 Disc Equipped - Black \/ Small","public_title":"Black \/ Small","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":
White / 54 - Sold OutClose search barBottles and Cages
isc 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":true,"name":"Trek FX 2 Disc Equipped - Black \/ Small","public_title":"Black \/ Small","options":["Black","Small"],"price":82500,"weight":
White / 56 - Sold Out
bottomPadding: '0',
});
}
Clothing and Protection
White / 58 - Sold Out
| Offset Open cartBike Packing | Cleaners, Degreasers and Lubrication Workshop Prices { "@context": "http://schema.org/", "@type": "Product", "name": "One-Up Components Lock on Grips", "url": "https:\/\/projektride.co.uk\/products\/one-up-components-lock-on-grips","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-Lock-On-Grip-Iso-Black_1024x1024_d2c40006-ec65-43bf-b292-8b326a160671_966x.jpg?v=1639605779" ],"description": "\n\n\n\n\nA low profile single lock on grip, designed to reduce arm pump and hand numbness. The Diamond knurled texture, with saw tooth finger ramps and a super tacky 20A compound provide ultimate traction. More traction means less death-gripping the bars and less arm pump. Our single lock has the profile of your favorite double lock-on. But to reduce hand numbness we've replaced the hard outer clamp with extra rubber for greater cushioning of your palm heel. Get all the benefits of an “ergonomic” grip without the city bike cruiser look!\n\n\n\n\n\nSPECS \n\nWeight: 97g (Pair)Length: 136mm\n\n\nDiameter: 30mm","sku": "1C0623BLK","brand": { "@type": "Thing", "name": "OneUp" },"gtin8": "","offers": [{ "@type" : "Offer","sku": "1C0623BLK","availability" : "http://schema.org/InStock", "price" : 25.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/one-up-components-lock-on-grips?variant=42163178176738" }, { "@type" : "Offer","sku": "1C0623BLU","availability" : "http://schema.org/InStock", "price" : 25.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/one-up-components-lock-on-grips?variant=42163178242274" }, { "@type" : "Offer","sku": "1C0623GRN","availability" : "http://schema.org/InStock", "price" : 25.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/one-up-components-lock-on-grips?variant=42163178275042" }, { "@type" : "Offer","sku": "1C0623ORA","availability" : "http://schema.org/InStock", "price" : 25.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/one-up-components-lock-on-grips?variant=42163178340578" }, { "@type" : "Offer","sku": "1C0623RED","availability" : "http://schema.org/InStock", "price" : 25.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/one-up-components-lock-on-grips?variant=42163178373346" } ] }J —M HomeBags and Transportation Tubeless Book a Service Trail | 165 - 175 cm HirePhone Holders Would you like to add on any equipment?Tools & Maintenance Track Your Service K —5'5" - 5'9" BellsBikes Wheelbase | OtherHire Lazer Compact Helmet77 - 83 cmClothing and ProtectionLights See More 30" - 33"ProjektRide Merchandise Standover< Rider CareNew Bikes | < Custom BuildsM —L Cycle To Work Schemes GlovesMaintenanceRoad / Gravel / Touring Bikes | 175 - 186 cm Cleaners, Degreasers and Lubrication Insure Your Bike Clothing Hybrid / City Bikes 5'9" - 6'1" Tubeless | SocksMountain Bikes82 - 88 cmTools & Maintenance | Electric Bikes | 32" - 35"Kids BikesSell Your Bike |
| |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Shop by BrandOpen search barHope | Gloves | GloriaEnve | Clothing My AccountTrek | Socks Cockpit | AmflowSee More71.0° ter and easier operation. Don't worry, with the wide-range 11-46 cassette still gives you all the gears you need to conquer hills and crush flats. Plus, puncture-resistant tyres, and a vibration-absorbing handlebar and ergonomic grips.\u003c\/p\u003e\n\u003cp\u003eThe final word\u003cbr\u003eThe FX 3 Disc Stagger is a fast, versatile fitness bike that's perfect for commutes, workouts and cruising around town. It's a great everyday bike, but what really makes it stand out is the performance parts like the upgraded 1x10 drivetrain and comfort features that feel great on long rides.\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 spo< Open cart | See Moree 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\u003e\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<50.9 \"\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\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"} Sell Your Bike | RidgebackStems | Contact Us5.3n-3?variant=46035201917154" }, { "@type" : "Offer","sku": "5259433","availability" : "http://schema.org/InStock", "price" : 1025.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/trek-fx-3-disc-stagger-gen-3?variant=46035201949922" }, { "@type" : "Offer","sku": "5259436","availability" : "http://schema.org/InStock", "price" : 1025.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/trek-fx-3-disc-stagger-gen-3?variant=46035201982690" }, { "@type" : "Offer","sku": "5259434","availability" : "http://schema.org/InStock", "price" : 775.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/trek-fx-3-disc-stagger-gen-3?variant=46035202015458" }, { "@type" : "Offer","sku": "5259436","availability" : "http://schema.org/InStock", "price" : 1025.0, "priceCurrency" : "GBP", "url" : "https:\/\/projekt < Brother | GenesisOpen search bar Headsets | Open navigation menuSingular | My Account Open search barBrakes | EnigmaSee MoreFrog | Open cart Complete BrakesSkip to content | Electric Bikes< Kona #shopify-section-announcement-bar { background: #f14d38; color: #ccbebe; } ProjektRide58.5 < Brake Rotors Buy Sell Ride ConfidentOpen cart | idden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable65.0Kids Bikes> Surly This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox. | > Brake Pads|||
| 50cm Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable Brake Spares | Close700c£0.00 Early Rider | Shop by Brand Close search bar45.0 See MoreOpen navigation menuForks HomeI'm looking to find out more information about a product, where can I find this? | See More74.6° | Open search bar Second-Hand BikesHirePlease get in touch with a member of the team either by phone (Search text field13.0Gloria 01313745324 | #FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; } Front Suspension Shop All Second-Hand) or email (71.1° Bikes [email protected] | Trek ) where on of the team will be more than happy to help.Submit your search request51.9 Rear SuspensionSee More ProjektRide Bike Shop Edinburgh | Amflowdiv class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/cdn/shop/files/2571D9FF-E9AE-4004-9A55-C7FD4DD999D6_2048x.jpg?v=1640941114');"> Custom Builds | > Open cartFinishing Kit Custom Builds for saleI'm looking to buy this product, when | . | li class="result"> | div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image>) or email (Frog div class="result__image-img product__media lazyload fade-in" data-bgset="{{ it.product.image.thumb }}" data-aspectratio="{{ it.product.image.aspectRatio }}" data-sizes="auto"> {{@if(it.product.badgeText)}} < | |||||||
| < | < | < | <||||||||||||||||
| #ProductTemplate--template--24610452406655__main { background: #ffffff; } .shop-pay-terms { --payment-terms-background-color: #ffffff } | Headsets | Brakes | img src="//projektride.co.uk/cdn/shop/files/FX2DISCEQ_22_35018_A_PRIMARY_2048x2048.webp?v=1728400487" alt="Trek FX 2 Disc Equipped" class="mfp-zoom-in-cur" id="34781434183906"> | Complete BrakesBrake Rotors | img src="//projektride.co.uk/cdn/shop/files/FX2DISCEQ_22_35018_B_PRIMARY_2048x2048.webp?v=1728400448" alt="Trek FX 2 Disc Equipped" class="mfp-zoom-in-cur" id="34781431988450"> © 2025, | Brake PadsProjektRide. | Website by Brake Spares | Juan Borges Designsimg src="//projektride.co.uk/cdn/shop/files/FX2DiscEquipped_22_35018_B_Alt3_2048x2048.webp?v=1728400457" alt="Trek FX 2 Disc Equipped" class="mfp-zoom-in-cur" id="34781432479970"> . | Forks | Front Suspension | img src="//projektride.co.uk/cdn/shop/files/FX2DiscEquipped_22_35018_B_Alt4_2048x2048.webp?v=1728400466" alt="Trek FX 2 Disc Equipped" class="mfp-zoom-in-cur" id="34781433069794"> window._RestockRocketConfig = window._RestockRocketConfig || {} // Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us') // This matches the backend's Mobility.normalize_locale behavior // Returns empty string if locale is empty or invalid (matches original behavior) function normalizeLocale(locale) { if (!locale || locale.trim() === '') { return ''; } return locale.toString().toLowerCase().replace(/-/g, '_'); } window._RestockRocketConfig.locale = 'en'; window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); window._RestockRocketConfig.shop = 'projektride.myshopify.com'; window._RestockRocketConfig.pageType = 'product';window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-11-11T14:27:02.312Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","store | er_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_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_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button< _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_seleRear Suspension | rder_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,"market_setup_type":"single_market","shopify_app_id":5940125,"cache":true,"cached_at":"2025-11-11T14:27:02.333Z","multi_language_enabled":false,"translation_locale":"en"};window333103330,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,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,441555942 | tIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-07T18:19:18Z","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":"2025-12-07T18:19:18Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,5556971244|||||
| Brands< ps.\u003c\/p\u003e\n\u003cp\u003eThe final word\u003cbr\u003eThe FX 3 Disc Stagger is a fast, versatile fitness bike that's perfect for commutes, workouts and cruising around town. It's a great everyday bike, but what really makes it stand out is the performance parts like the upgraded 1x10 drivetrain and comfort features that feel great on long rides.\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 | Tyresta-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Size\"\u003eSize\u003c\/th\u003e\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-3ac87\"\" 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-26T00:08:23+00:00","created_at":"2024-10-08T14:01:58+01:00","vendor":"Trek","type":"Bicycles","tags":["FX"],"price":77500,"price_min":77500,"price_max":102500,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46035201884386,"title":"Small \/ Black","option1":"Small","option2":"Black","option3":null,"sku":"5259432","requires_shipping":true,"taxable":true,"featured_image":{"id":42284863258850,"product_id":8732441608418,"position":1,"created_at":"2024-10-08T13:49:33+01:00","updated_at":"2024-10-08T13:49:34+01:00","alt":null,"width":1440,"height":1080,"src":"\/\ | c":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826","variant_ids":[46035201917154,46035201982690,46035202048226]},"available":true,"name":"Trek FX 3 Disc Stagger Gen 3 - Small \/ Blue","public_title":"Small \/ Blue","options":["Small","Blue"],"price":102500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":34779808497890,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46035201949922,"title":"Medium \/ Black","option1":"Medium","option2":"Black","option3":null,"sku":"5259433","requires_shipping":true,"taxable":true,"featured_image":{"id":42284863258850,"product_id":8732441608418,"position":1,"created_at":"2024-10-08T13:49:33+01:00","updated_at":"2024-10-08T13:49:34+01:00","alt":null,"width":1440,"heightimg src="//projektride.co.uk/cdn/shop/files/FX2DISCEQ_22_35018_A_PRIMARY_98x.webp?v=1728400487" alt="" class="product-single__thumbnail-img"> Tubes1440,"height":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826","variant_ids":[46035201917154,46035201982690,46035202048226]},"available":true,"name":"Trek FX 3 Disc Stagger Gen 3 - Medium \/ Blue","public_title":"Medium \/ Blue","options":["Medium","Blue"],"price":102500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":34779808497890,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46035202015458,"title":"Large \/ Black","option1":"Large","option2":"Black","option3":null,"sku":"5259434","requires_shipping":true,"taxable":true,"featured_image":{"id":42284863258850,"product_id":8732441608418,"position":1,"created_at":"2024-10-08T13:49:33+01:00","updated_at":"2024-10-08T13:49:34+01:00","alt":nu | alt":null,"width":1440,"height":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826","variant_ids":[46035201917154,46035201982690,46035202048226]},"available":true,"name":"Trek FX 3 Disc Stagger Gen 3 - Large \/ Blue","public_title":"Large \/ Blue","options":["Large","Blue"],"price":102500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":34779808497890,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_A_Primary.webp?v=1728391774","\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826","\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_A_Alt4.webp?v=1728391783","\/\/projekt< :1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_B_Portrait.webp?v=1728391826","width":1440},{"alt":null,"id":34779796668642,"position":3,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_A_Alt4.webp?v=1728391783"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_A_Alt4.webp?v=1728391783","width":1440},{"alt":null,"id":34779799486690,"position":4,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_A_Alt5.webp?v=1728391790"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/FX3DiscStagger_22_35055_A_Alt5.webp?v=1728391790","width":1440},{"alt":null,"id":34779803451618,"position":5,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"s | u003e\n\u003cp\u003eIt's right for you if...\u003cbr\u003eYou're a commuter or fitness rider who’s having fun spending more time in the saddle. You want a great-looking bike that's versatile, comfortable and built with quality parts that will perform on longer rides.\u003c\/p\u003e\n\u003cp\u003eThe tech you get\u003cbr\u003eA lightweight aluminium frame with step-through geometry, a carbon fork, hydraulic disc brakes for all-weather stopping power and a simple 1x drivetrain that ditches the front derailleur for less clutter and easier operation. Don't worry, with the wide-range 11-46 cassette still gives you all the gears you need to conquer hills and crush flats. Plus, puncture-resistant tyres, and a vibration-absorbing handlebar and ergonomic grips.\u003c\/p\u003e\n\u003cp\u003eThe final word\u003cbr\u003eThe FX 3 Disc Stagger is a fast, versatile fitness bike that's perfect for commutes, workouts and cruising around town. It's a great everyday bike, but what really makes it stand out is the performance Tubelesso 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\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Rider Height\"\u003eRider Height\u003c\/th\u003e | -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\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 simg src="//projektride.co.uk/cdn/shop/files/FX2DISCEQ_22_35018_B_PRIMARY_98x.webp?v=1728400448" alt="" class="product-single__thumbnail-img"> 46035201884386 : parseInt(""),46035201917154 : parseInt(""),46035201949922 : parseInt(""),46035201982690 : parseInt(""),46035202015458 : parseInt(""),46035202048226 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46035201884386 : null,46035201917154 : null,46035201949922 : null,46035201982690 : null,46035202015458 : null,46035202048226 : null,}; window._RestockRocketConfig.variantsShippingText = {46035201884386 : "",46035201917154 : "",46035201949922 : "",46035201982690 : "",46035202015458 : "",46035202048226 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {46035201884386 : null,46035201917154 : null,46035201949922 : null,46035201982690 : null,46035202015458 : null,46035202048226 : null,}; window._RestockRocketConfig.selected_variant_id = 46035201884386; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selectedSaddles | if translations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no translation data in metafield // Metafield hasn't 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 - continuCockpit < < | !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 Seat Posts & Clampssing cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } 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) | ngs.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRimg src="//projektride.co.uk/cdn/shop/files/FX2DiscEquipped_22_35018_B_Alt3_98x.webp?v=1728400457" alt="" class="product-single__thumbnail-img"> s() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } else if (attempt Pedals | maxRetries) { console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`); setTimeout(() => attemptCartCheck(attempt + 1), retryDelay); } else { console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check'); } } attemptCartCheck(); }4.8 abled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_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_descriptSee More< | .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 | Gears & Drivetraint{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preimg src="//projektride.co.uk/cdn/shop/files/FX2DiscEquipped_22_35018_B_Alt4_98x.webp?v=1728400466" alt="" class="product-single__thumbnail-img"> -rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes | E-bike Batteries and chargers | img src="//projektride.co.uk/cdn/shop/files/FX2DiscEquipped_22_35018_B_Alt6_98x.webp?v=1728400475" alt="" class="product-single__thumbnail-img"> | 67.0Brakes 3e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003eSPECS\u003c\/span\u003e \u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eWeight: \u003c\/strong\u003e97g (Pair)\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eLength:\u003c\/strong\u003e 136mm\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\u003cb data-mce-fragment=\"1\"\u003eDiameter:\u003c\/b\u003e 30mm\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {42163178176738 : "deny",42163178242274 : "deny",42163178275042 : "deny",42163178340578 : "deny",42163178373346 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {42163178176738 : parseInt("53"),42163178242274 : parseInt("40"),42163178275042 : parseInt(" < | See More w._RestockRocketConfig.variantsShippingTextForMarket = {42163178176738 : null,42163178242274 : null,42163178275042 : null,42163178340578 : null,42163178373346 : null,}; window._RestockRocketConfig.selected_variant_id = 42163178176738; 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/019af0d1-c518-7a22-bdbf-9ceff49063ad/restockrocket-1-402/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019af0d1-c518-7a22-bdbf-9ceff49063ad/restockrocket-1-402/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app. Homemg"> Wheels73.5 le isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const age = Date.now() - updatedAt.getTime(); if (age / | Cart 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 || All - New - Bikes Complete Wheels70.0 ]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.themParts & Components/ | Complete Brakes 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._R Trek FX 2 Disc Equipped76.5 ClosekRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Check and update cart selling plans after scripts are loaded if (settings.preorder_enabled) { updateCartSellingPlans(); } // Dispatch custom event when app is loaded const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings } }); console.See MoreTrek FX 2 Disc Equipped | < img src="//projektride.co.uk/cdn/shop/files/DOMANEPLUSSLR8AXSUS-25-49165-B-Primary_98x.webp?v=1728049305" alt="" class="product-single__thumbnail-img">|
| Home | .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flexBrands /in-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;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards sliSee More All - New - Bikes | SKU: 5258485 /Trek Domane+ SLR 8 AXS | Trek Domane+ SLR 8 AXSHope // Create "window.Shoppad.apps.infiniteoptions" object if it doesn't already exist 'Shoppad.apps.infiniteoptions'.split('.').reduce(function (o, x) { if (!o[x]) { o[x] = {}; } return o[x]; }, window); // Note we are using the theme app extension window.Shoppad.apps.infiniteoptions.themeAppExtensionActive = true; | £9,500.00Enve | Looking to purchase with a cycle to work scheme? Click here to get in touch and get the ball rolling! | .SKU: 5331085 | Front SuspensionCockpitSee More Colour | // Create "window.Shoppad.apps.infiniteoptions" object if it doesn't already exist 'Shoppad.apps.infiniteoptions'.split('.').reduce(function (o, x) { if (!o[x]) { o[x] = {}; } return o[x]; }, window); // Note we are using the theme app extension window.Shoppad.apps.infiniteoptions.themeAppExtensionActive = true;Handlebars | Looking to purchase with a cycle to work scheme? Click here to get in touch and get the ball rolling!6.0 Finishing Kit Transportation . | See More Stems RedOpen search bar | Phone Holders ColorGrips & Bar-Tape | TyresBells | HeadsetsTubes | LightsOpen cart Multi Colour | Tubeless BrakesRider CareSee More | HomeSaddles | Hire Complete Brakes | Seat Posts & ClampsMaintenance Black|
| Pedals | TubelessBrake Pads | Gears & Drivetrain Red | New BikesSee MoreTools & Maintenance Brake SparesShop All New Bikes | Components Forks | Road / Gravel / Touring Bikes Clothing and Protection See More | WhiteE-bike Batteries and chargers ProjektRide Merchandise | Helmets | Wheels | See More ColorGloves | Multi ColourComplete WheelsClothing | SocksSize | Essentials | 50 | See More TubesSell Your Bike | 52Tubeless | Contact UsAccessories | See More Saddles54 | |
| 56 | PedalsMy AccountLocks | 58 | Mudguards Gears & DrivetrainSee More | Open cart60 | Components | 62 | E-bike Batteries and chargersSelect variant dropdown | Multi Colour / 50 - Sold OutWheels | Multi Colour / 52 - £9,500.00 GBPSee More | Multi Colour / 54 - Sold OutOpen navigation menuMulti Colour / 56 - Sold Out | Multi Colour / 58 - Sold Out104.2< Multi Colour / 60 - Sold OutComplete Wheels | Rider CareKonaOpen search barMulti Colour / 62 - Sold OutBlack / 50 - Sold Out | Black / 52 - Sold OutSurly Black / 54 - Sold Out | Maintenance Black / 56 - Sold OutSee More Black / 58 - Sold OutEssentials | UTO (ex Eovolt) Black / 60 - Sold OutBlack / 62 - Sold OutSee More | Open cartRed / 50 - Sold OutCleaners, Degreasers and LubricationEarly RiderRed / 52 - Sold Out | Red / 54 - Sold OutRed / 56 - Sold Out | Tubeless Red / 58 - £9,500.00 GBP AccessoriesRed / 60 - Sold Out See More | Second-Hand BikesRed / 62 - Sold Out
