":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":7476735443170,"title":"Shimano SPD SL Road Cleats","handle":"shimano-spd-sl-road-cleats","description":"\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA genuine Shimano replacement part, the SPD-SL SH11 Pedal Cleats are compatible with three bolt road shoes and Shimano SPD-SL road pedals. The non-slip rubber base makes times when you're off the bike and walking a little easier and coloured tips indicate when it's time for replacement.\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eYellow SPD-SL Cleats – 6 Degrees of Float\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eYellow SPD-SL cleats are perhaps the most popular a
a href="{{ it.product.url }}">{{ it.product.title }}All measurements are shown in millimetres.
*Batteryront of the cleat, which eliminates lateral sliding movement while allowing a small amount of angle change from the pivot point back towards the heel.\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {42167775494370 : "deny",42167775527138 : "deny",42167775559906 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {42167775494370 : parseInt("1"),42167775527138 : parseInt("1"),42167775559906 : parseInt("1"),};
window._RestockRocketConfig.variantsPreorderCount = {42167775494370 : parseInt(""),42167775527138 : parseInt(""),42167775559906 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {42167775494370 : null,42167775527138 : null,42167775559906 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {42167775494370 : parseInt(""),42167775527138 : parseInt(""),42167775559906 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42167775494370 :*Stem
fig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.restockrocket.io'
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
console.debug('STOQ - Invalid settings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no translation data in metafield
// Metafield hasn't been backfilled yet - force refresh
console.debug('STOQ - multi-language enabled but no translation data in ca
li class="result result--full">
<
p class="result__title">{{ it.item.text }}
Size: }
return settings;
} catch (error) {
console.debug('STOQ - Error checking settings cache:', error);
return null;
}
}
function createRestockRocketContainer() {
const restockRocketContainer = document.createElement('div');
restockRocketContainer.id = 'restock-rocket';
document.body.appendChild(restockRocketContainer);
}
function createRestockRocketScript(scriptUrl) {
const restockRocketScriptElement = document.createElement('script');
restockRocketScriptElement.setAttribute('defer', 'defer');
restockRocketScriptElement.src = scriptUrl;
document.body.appendChild(restockRocketScriptElement);
}
createRestockRocketContainer()
console.debug('STOQ - extension activated')
function applyTranslations(settings) {
try {
// Skip translation logic entirely if multi-language is not enabled
if (!settings || !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debSize:>
});
} 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?.theme?.role === 'main') {
headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
headers['X-Shopi >
160MM FORK
£400.00
/cdn\/shop\/files\/Rail99XOAXS-25-48472-D-Primary.jpg?v=1751647642","width":1920},{"alt":null,"id":66723262464383,"position":5,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-C-Primary.jpg?v=1751647642"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-C-Primary.jpg?v=1751647642","width":1920},{"alt":null,"id":66723262497151,"position":6,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-A-Alt1.jpg?v=1751647642"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-A-Alt1.jpg?v=1751647642","width":1920},{"alt":null,"id":66723262529919,"position":7,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-A-Alt2.jpg?v=175164Would you like to add on any equipment?g-zone__info cell medium-6 large-12\"\u003e\n\u003cdiv data-v-e15d2b76=\"\" class=\"buying-zone__positioning-statement mb-2 pt-2 border-t border-gray-10\"\u003e\n\u003cp data-v-e15d2b76=\"\"\u003eThe Rail+ 9.9 is our top carbon enduro e-MTB made for your most epic adventures. Its robust OCLV Mountain Carbon frame packs 160 mm of front and rear travel from a RockShox Super Deluxe Ultimate shock and ZEB Ultimate fork for crushing mind-boggling descents. SRAM's X0 Eagle AXS transmission gives you intensely-smooth wireless shifting on even the punchiest climbs, while SRAM Maven Silver 4-piston brakes provide incredible stopping power. It's topped off with a RockShox Reverb AXS wireless dropper post and OCLV Carbon Bontrager Line Pro 30 wheels.\u003c\/p\u003e\n\u003cdiv class=\"pdl-collapse pdp-spec-collapse\" role=\"tablist\" aria-multiselectable=\"true\"\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cdiv id=\"pdl-collapse-item-0csj2\" class=\"pdl-col
abpanel\" aria-hidden=\"false\" aria-labelledby=\"pdl-collapse-head-0csj2\" data-old-padding-top=\"\" data-old-padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv class=\"pdl-collapse-item__content is-active flex-row-reverse items-center focusing\"\u003e\n\u003ctable class=\"sprocket__table spec\" aria-label=\"Specifications\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth rowspan=\"1\" scope=\"row\"\u003eFrame\u003c\/th\u003e\n\u003ctd\u003eOCLV Mountain Carbon main frame, Removable Integrated Battery (RIB 2.0), tapered head tube, guided internal routing, Motor Armor, angle-adjust headset, Mino Link adjustable geometry, adjustable leverage rate, 34.9 mm seat tube, ABP, UDH Boost148, 12 mm thru axle, 160 mm travel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth rowspan=\"1\" scope=\"row\"\u003eFork\u003c\/th\u003e\n\u003ctd\u003eRockshox ZEB Ultimate, DebonAir spring, Charger 3.1 RC2 damper, tapered steerer, 44 mm offset, Boost110, 15 mm Maxle Stealth, 160 mm travel\u003c\/td\u003e\n\u
uct information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mb-1\"\u003e\n\u003cp\u003eBike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}>
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/18626282-8DD6-485D-8CB4-C957D6FD7085_600x.jpg?v=1727259008)"><[]
>
<
Hire Lazer Compact Helmet
mpound, aramid bead, 60 tpi, 29x2.50\"\n\n\nTyre part\nBontrager TLR sealant, 180 ml\/6 oz\n\n\nRim strip\nBontrager TLR\n\n\nMax tyre size\nFrame: 27.5x2.60\", Fork: See manufacturer\n\n\n\n\n\n\n\nE-system\n\n\n\n\n\n\n*Battery\n\nSize: S, M, L, XLBosch PowerTube 800 Wh, smart system\n\n\n\nSize: S, M, L, XLSRAM eTap battery pack (with charger)\n\n\nCharger\nBosch standard 4A, 230V, smart system\n\n\nController\nBosch System Controller BRC3100, smart system\n\n\nMotor\nBosch Performance Line CX, 20 mph \/ 32 km\/h max assist (25 km\/h max assist in EU and APAC)\n\n\n\n\n\n\n\nDrivetrain\n\n\n\n\n\n\nShifter\nSRAM AXS pod\n\n\nRear derailleur\nSRAM X0 Eagle AXS, T-Type\n\n\nCrank\nSRAM X0 Eagle, 160 mm length\n\n\nChainring\nSRAM T-Type, 34T, steel\n\n\nCassette\nSRAM Eagle XS-1295, T-Type, 10-52, 12-speed\n\n\nChain\nSRAM X0 Eagle, T-Type, 12-speed\n\n\nPedal\nVP-536 nylon platform\n\n\nMax. chainring size\n1x: 36T\n\n\n\n\n\n\n\nComponents\n\n\n\n\n\n\nSaddle\nVerse Short Comp, steel rails, 145 mm width\
olt, 200mm\n\n\n\nSize: S, M, L, XLSRAM HS2, 6-bolt, 220mm\n\n\nRotor size\nMax brake rotor sizes – Frame: 220 mm, Fork: see fork manufacturer\n\n\n\n\n\n\n\nAccessories\n\n\n\n\n\n\nMudguard\nTrek 27.5\" custom fender\n\n\n\n\n\n\n\nWeight\n\n\n\n\n\n\nWeight\nM – 23.98 kg\/52.87 lb (with TLR sealant, no tubes)\n\n\nWeight limit\nThis bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 136 kg (300 lb).\n\n\n\n\n\n\n\n\nWe reserve the right to make changes to the product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice.\n\n\nBike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.\n\n\n","sku": "5329160","brand": {
"@type": "Thing",
"name": "Trek"
},"gtin8": "","offers": [{
"@type" : "Off
span class="visually-hidden">Hoy Road Bike - Extra Large<
>
ed"
href="/products/life-systems-pocket-first-aid-kit-hire"
title="Life Systems Pocket First Aid Kit - HIRE"
aria-label="Life Systems Pocket First Aid Kit - HIRE"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)">
>
span class="visually-hidden">Life Systems Pocket First Aid Kit - HIREHire Lazer Compact Helmet
>
>
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/DSC02184_600x.jpg?v=1764776200)">
span class="visually-hidden">Hire Lazer Compact Helmet
>
>
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)">>
>
Hoy Road Bike - Extra Large
Hire Lazer Compact Helmet£375.00Life Systems Pocket First Aid Kit - HIRE£0.00
£0.00Black
Nukeproof Digger Comp Gravel Bike - Medium
Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex caHire Ortlieb 40L Pannier Bags
>
>
Hire Ortlieb 40L Pannier Bags
Hire Ortlieb 40L Pannier Bags
a class="product__media product__media--featured"
href="/products/life-systems-pocket-first-aid-kit-hire"
title="Life Systems Pocket First Aid Kit - HIRE"
aria-label="Life Systems Pocket First Aid Kit - HIRE"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)">
span class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE
>
>
<
a class="product__media product__media--featured"
href="/collections/second-hand-bikes/products/orbea-vibe-2021-electric-bike-small"
title="Orbea Vibe 2021 Electric Bike - Small"
aria-label="Orbea Vibe 2021 Electric Bike - Small"
style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_5261_600x.jpg?v=1762535714)">
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)">>
Life Systems Pocket First Aid Kit - HIRE
£0.00
Orbea Vibe 2021 Electric Bike - Small
Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
£800.00
a class="product__media product__media--featured"
href="/products/kryptolok-standard-u-lock-with-4-foot-kryptoflex-cable-hire"
title="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable"
aria-label="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-03-09at20.04.46_560e2033-8232-4bd3-a423-3ce8c9f11849_600x.png?v=1691610428)">
Pinnacle Dolomite Road Bike - Mediumspan class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
>
>
a class="product__media product__media--featured"
href="/collections/second-hand-bikes/products/pinnacle-dolomite-road-bike-medium"
title="Pinnacle Dolomite Road Bike - Medium"
aria-label="Pinnacle Dolomite Road Bike - Medium"
style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_50782_600x.jpg?v=1761905706)">
span class="visually-hidden">Pinnacle Dolomite Road Bike - MediumHire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
>
>
£0.00
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_50792_600x.jpg?v=1761905706)">
>
<
a class="product__media product__media--featured"
href="/collections/second-hand-bikes/products/projektrides-student-bike-bundle"
title="Projektride's Student bike bundle!"
aria-label="Projektride's Student bike bundle!"
style="background-image: url(//projektride.co.uk/cdn/shop/files/DSC05119_1_600x.png?v=1724844147)">
span class="visually-hidden">Projektride's Student bike bundle!FAQ>
>
[email protected]
) where on of the team will be more than happy to help.
ProjektRide Bike Shop Edinburgh
I'm looking to buy this product, when will it arrive and how much does postage cost?
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
We also have a physical store, if you are local please pop in -
{"id":8113385210082,"title":"-Brother Cycles Mr Wooden Frameset","handle":"brother-cycles-mr-wooden","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eMr Wooden is an all new all-purpose frameset from Brother Cycles – it’s a modern randonneur, a gravel bike, a tourer which isn’t afraid to venture off-road. Mr Wooden is however you decide to build it. The frameset is designed to run a 650b quick-release wheelset (tyre clearance up to 650b x 50) with rim brakes and features a low-mid trail fork up front.\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cem data-mce-fragment=\"1\"\u003eWhy rim brakes you might ask?\u003c\/em\u003e Well, some will argue they’re easier to maintain and more reliable than disc; however, what we know for certain is it allows us to create a lighter frame which is super comfortable, flexible and fast – designed for those long days in the saddle when you’re not sure where you’ll end up.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eAs well as the positive effect on ride quality, the decision to go rim brake as well"\u003eThe frame is constructed from double butted 4130 chromoly steel, a functional tubing which provides the perfect balance of performance and durability and we’ve applied an ED coating under the paint to protect against corrosion. It’s fully equipped to fit front and rear racks, mudguards and has three bottle mount positions on all sizes. Down tube bosses give you the option of fitting cable stops or going fully old school with some down tube shifters. The low-mid trail fork is designed to handle weight up front should you wish to run a randonneur style front bag setup, and can take a porteur style rack or low rider should you wish.\u003c\/p\u003e","published_at":"2025-10-22T16:12:06+01:00","created_at":"2023-07-06T10:04:27+01:00","vendor":"Brother Cycles","type":"Bicycles","tags":["bicycle","Bike Packing","BIKES","brothers","Frame","frames","Road \/ Gravel \/ Touring Bikes","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":69900,"price_min":69900,"price_max":69900,"avai","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44155590476002,"title":"Small \/ Green","option1":"Small","option2":"Green","option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Cycles Mr Wooden Frameset - Small \/ Green","public_title":"Small \/ Green","options":["Small","Green"],"price":69900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46016406520034,"title":"Small \/ Purple","option1":"Small","option2":"Purple","option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Cycles Mr Wooden Frameset - Small \/ Purple","public_title":"Small \/ Purple","options":["Small","Purple"],"price":69900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":4415559050877
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","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder"
le all, but this one can absolutely rule.\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eThe mountain bike\u003c\/span\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Feature-Box-BG\"\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e140\u003cspan\u003eMM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eFRAME TRAVEL\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e160\u003cspan\u003eMM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eFORK TRAVEL\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e14\u003cspan\u003e%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eLEVERAGE RATE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c
c\/tr\u003e\n\u003ctr\u003e\n\u003cth rowspan=\"1\" scope=\"row\"\u003eHandlebar\u003c\/th\u003e\n\u003ctd\u003eBontrager Line Pro, OCLV Carbon, 35 mm, 27.5 mm rise, 780 mm width\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth rowspan=\"2\" scope=\"row\"\u003e*Grips\u003c\/th\u003e\n\u003ctd\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eS, M, L, XL\u003cbr\u003eBontrager XR Trail Elite, nylon lock-on\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eS, M, L, XL\u003cbr\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5325947\"\u003eTrek Line Elite, lock-on\u003c\/a\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth rowspan=\"1\" scope=\"row\"\u003eStem\u003c\/th\u003e\n\u003ctd\u003eBontrager Line Pro, 35 mm, Blendr-compatible, 0-degree, 45 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth rowspan=\"1\" scope=\"row\"
e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mb-1\"\u003e\n\u003cp\u003eWe reserve the right to make changes to the product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"mb-1\"\u003e\n\u003cp\u003eBike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-03-25T23:11:41+00:00","created_at":"2025-03-25T23:11:41+00:00","vendor":"Trek","type":"Bicycles","tags":["Rail+"],"price":1100000,"price_min":1100000,"price_max":1100000,"available":true,"price_varies":false,"compare_at_price":null,"compa
) where on of the team will be more than happy to help.alt":null,"id":66723262398847,"position":3,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-B-Primary.jpg?v=1751647642"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55664837001599,"title":"Pennyflake \/ M","option1":"Pennyflake","option2":"M","option3":null,"sku":"5329155","requires_shipping":true,"taxable":true,"featured_image":{"id":77679627436415,"product_id":14999295230335,"position":3,"created_at":"2025-07-04T17:47:22+01:00","updated_at":"2025-07-04T17:47:22+01:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-B-Primary.jpg?v=1751647642","variant_ids":[55664836968831,55664837001599,55664837034367,55664837067135]},"available":false,"name":"Trek Rail+ 9.9 X0 AXS T-Type Gen 5 - Pennyflake \/ M","public_title":"Pennyflake \/ M","options":["Pennyflake","M"],"price":1100000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","b
ProjektRide Bike Shop Edinburghntory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":66723262398847,"position":3,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-B-Primary.jpg?v=1751647642"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55664837067135,"title":"Pennyflake \/ XL","option1":"Pennyflake","option2":"XL","option3":null,"sku":"5329157","requires_shipping":true,"taxable":true,"featured_image":{"id":77679627436415,"product_id":14999295230335,"position":3,"created_at":"2025-07-04T17:47:22+01:00","updated_at":"2025-07-04T17:47:22+01:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Rail99XOAXS-25-48472-B-Primary.jpg?v=1751647642","variant_ids":[55664836968831,55664837001599,55664837034367,55664837067135]},"available":false,"name":"Trek Rail+ 9.9 X0 AXS T-Type Gen 5 - Pennyflake \/ XL","public_title":"Pennyflake \/ XL","options":["Pennyflake","XL"],"price":1100000,"weig
\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003cth data-v-05762449=\"\" scope=\"row\"\u003eMax. chainring size\u003c\/th\u003e\n\u003ctd data-v-05762449=\"\"\u003e1x: 48T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-5bd42f3c=\"\" data-v-05762449=\"\" id=\"pdl-collapse-item-lgy9\" name=\"251\" class=\"pdl-collapse-item is-active\"\u003e\n\u003cdiv data-v-5bd42f3c=\"\" role=\"tab\" aria-controls=\"pdl-collapse-content-lgy9\" aria-describedby=\"pdl-collapse-content-lgy9\" class=\"\" aria-expanded=\"true\" qaid=\"\"\u003e\n\u003cdiv data-v-5bd42f3c=\"\" class=\"flex items-center flex-grow\"\u003eComponents\u003c\/div\u003e\n\u003cbutton data-v-5bd42f3c=\"\" id=\"pdl-collapse-head-lgy9\" type=\"button\" class=\"pdl-collapse-item__header is-active flex-row-reverse items-center\" tabindex=\"0\"\u003e\u003csvg data-v-1e7396ba=\"\" data-v-5bd42f3c=\"\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"
tings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no translation data in metafield
// Metafield hasn't 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._RestockRo
9=\"\"\u003e\u003ca data-v-05762449=\"\" href=\"https:\/\/www.trekbikes.com\/gb\/en_GB\/p\/549322\"\u003eBontrager Commuter Comp\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003cth data-v-05762449=\"\" rowspan=\"2\" scope=\"row\"\u003e*Seatpost\u003c\/th\u003e\n\u003ctd data-v-05762449=\"\"\u003e\n\u003cspan data-v-05762449=\"\"\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eS, M\u003cbr data-v-05762449=\"\"\u003eBontrager alloy, 31.6 mm, 12 mm offset, 330 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003ctd data-v-05762449=\"\"\u003e\n\u003cspan data-v-05762449=\"\"\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eL\u003cbr data-v-05762449=\"\"\u003eBontrager alloy, 31.6 mm, 12 mm offset, 400 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003cth data-v-05762449=\"\" rowspan=\"1\" scope=\"row\"\u003eHandlebar\u003c\/th\u003e\n\u003ctd data-v-05762449=\"\"\u003e
<
{
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
attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}