Workshop
Bikes

Medium See More
Workshop
<
< { "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" }
Header Image

< 1146 label for="quantity--template--24610452406655__main">Quantity
< 1185 Second-Hand Bikesinput type="number" name="quantity" id="quantity--template--24610452406655__main" value="1" min="1">
Custom Builds for sale
675
Custom Build Inspiration
Submit
 < >
.site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; }UTO (ex Eovolt) <
Early RiFAQ We also have a physical store, if you are local please pop in -
ProjektRide Bike Shop Edinburgh
Large \"\u003eBRAKE CALIPERS\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eTektro HDM275 Hydraulic\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eFRONT BRAKE ROTOR\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eTektro TR160 160mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eREAR BRAKE ROTOR\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eTektro TR160 160mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eBRAKE LEVERS\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eTektro HDM275 Hydraulic\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eHEADSET\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eFeimin FP-H863\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eHANDLEBAR\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eKona Aluminum Riser\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"la
data\"\u003eFormula 135x10mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eSPOKES\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eStainless Black 14g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eRIMS\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eDouble Wall alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eFRONT TIRE\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eWTB Horizon Comp w\/ Puncture Protection 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eREAR TIRE\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eWTB Horizon Comp w\/ Puncture Protection 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003ePAINT COLOR\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eGloss Porcelain w\/ Charcoal \u0026amp; Cyan Decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd clas
<<<<
<
Medium
img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> Boardman URB 8.9 - Small£ Large £400.00 QUICK LINKSExtra Large
From
About UsExtra Extra Large Gravel
span class="visually-hidden">Boardman URB 8.9 - Small> >
\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003eHelping aid comfort and all-terrain ability even further are the 37mm-wide tyres, smoothing the ride whatever the surface.\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003eAn abundance of mounts - makes this an all-seasons bike, capable of carry small and medium-sized loads.\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"fon
ata-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" width=\"131\"\u003eBrake Type \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" width=\"342\"\u003e Hydraulic Disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eFork Material \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Chromoly\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eFrame Material \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eBottom Bracket \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Shimano BB-UN26\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eWheel Size \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e 700c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\" o.uk\/cdn\/shop\/products\/gn21240_side.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_1.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_2.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_3.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_4.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_5.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_6.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_7.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_8.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_9.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_10.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_1.jpg?v=1709550183","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_2.jpg?v=1709550183","
.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121178850,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_2.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_2.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121211618,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_3.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_3.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121244386,"position":5,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_4.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/pro
e.co.uk\/cdn\/shop\/products\/gn21240_detail_7.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121375458,"position":9,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_8.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_8.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121408226,"position":10,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_9.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_9.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121440994,"position":11,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_detail_10.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"imGenesis Croix De Fer 10 Ex Demo Bike - Mediumo":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_3.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121572066,"position":15,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_4.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_4.jpg?v=1709550183","width":1800},{"alt":null,"id":32991121604834,"position":16,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_5.jpg?v=1709550183"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21240_lifestyl_5.jpg?v=1709550183","width":1800}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data- ight: 400;\" data-mce-style=\"font-weight: 400;\"\u003eA clever mix of two differing grade alloys help give us high levels of stiffness in certain areas and compliance in others.\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003eHelping aid comfort and all-terrain ability even further are the 37mm-wide tyres, smoothing the ride whatever the surface.\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\" style=\"font-weight: 400;\" data-mce-style=\"font-weight: 400;\"\ be video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\"\u003e\u003c\/iframe\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ctable data-mce-fragment=\"1\" width=\"473\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" width=\"131\"\u003eBrake Type \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" width=\"342\"\u003e Hydraulic Disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eFork Material \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Chromoly\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eFrame Material \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eBottom Br
Freewheel \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Shimano 9 Speed 11-34T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eChain \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e KMC X9\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eFork \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Genesis Chromoly Disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eFront Derailleur \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Shimano Alivio FD-T4000\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eGrip Tape \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Genesis\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eHandlebars \u003c\/td\u003e\n\u
a class="product__media product__media--featured" href="/collections/second-hand-bikes/products/genesis-tour-de-fer-10-ex-demo-bike-medium" title="Genesis Croix De Fer 10 Ex Demo Bike - Medium" aria-label="Genesis Croix De Fer 10 Ex Demo Bike - Medium" style="background-image: url(//projektride.co.uk/cdn/shop/files/FDFCFA79-1A88-4006-911A-D4F6ABA62399-min_600x.png?v=1727259386)"> \/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Shining DB-31 32H\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eSaddle \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Genesis\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eSeat Post \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Genesis Alloy 27.2 x 350 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eShifters \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Shimano Alivio SL-M4010\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eSpokes \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e Steel 14 g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eStem \u003c\/td\u003e\n\u003ctd data-mce-fragmen
span class="visually-hidden">Genesis Croix De Fer 10 Ex Demo Bike - Medium0"),44891527315682 : parseInt("0"),44891527348450 : parseInt("0"),44891527381218 : parseInt("0"),44891527413986 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {44891527282914 : parseInt(""),44891527315682 : parseInt(""),44891527348450 : parseInt(""),44891527381218 : parseInt(""),44891527413986 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {44891527282914 : null,44891527315682 : null,44891527348450 : null,44891527381218 : null,44891527413986 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {44891527282914 : parseInt(""),44891527315682 : parseInt(""),44891527348450 : parseInt(""),44891527381218 : parseInt(""),44891527413986 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {44891527282914 : null,44891527315682 : null,44891527348450 : null,44891527381218 : null,44891527413986 : null,}; window._RestockRocketConfig.variantsShippingText = {44891527282914 : "",44891527315682 : "",4489152734845> .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 cache, fetching fresh'); return null; } // Translatio> < - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return setti
.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{
tion{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 6
0<>
<
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)">
£425.00
Genesis Croix De Fer 10 Ex Demo Bike - Medium
<
a class="product__media product__media--featured" href="/collections/second-hand-bikes/products/projektrides-student-bike-bundle-1" title="Projektride's Student bike bundle!" aria-label="Projektride's Student bike bundle!" style="background-image: url(//projektride.co.uk/cdn/shop/files/B1B0CF04-02C0-4099-B685-92962FC479F2_600x.jpg?v=1758108217)">
Nukeproof Digger Comp Gravel Bike - Medium
Enigma Etape Titanium Road Frameset Projektride's Student bike bundle! a class="product__media product__media--featured" href="/collections/second-hand-bikes/products/nukeproof-digger-gravel-bike-medium" title="Nukeproof Digger Comp Gravel Bike - Medium" aria-label="Nukeproof Digger Comp Gravel Bike - Medium" style="background-image: url(//projektride.co.uk/cdn/shop/files/DSC02196_600x.jpg?v=1764776282)"> £499.00
Enigma Titanium Gravel Edge Frameset<<div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_5262_600x.jpg?v=1762535714)">a class="product__media product__media--featured" href="/collections/second-hand-bikes/products/specialized-turbo-levo-alloy-oasis-black-size-s3-medium" title="Specialized Turbo Levo Alloy Oasis/Black Size S3 2022 - Medium - Second Hand" aria-label="Specialized Turbo Levo Alloy Oasis/Black Size S3 2022 - Medium - Second Hand" style="background-image: url(//projektride.co.uk/cdn/shop/files/DSC02285_600x.jpg?v=1764873083)">
Projektride's Student bike bundle!£675.00 < £425.00
From £419.00 <
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/DSC02213_600x.jpg?v=1764776233)"> 0131 374 5324
Surly Ogre 29'' Frameset - Champagne SupernovaYeti ASR T series full suspension XC bike - AXS T Type - Rockshox - EX DEMO
tervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_e nabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions fo
r this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack"," css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.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 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.normaliSurly Ogre 29'' Frameset - Champagne Supernova zedLocale)) { 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 < 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 || ]; 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._RestockRocketCon
response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { Small 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.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } function updateCartSellingPlans() { // Wait for the API to be available with retries const maxRetries = 10; const retryDelay = 500; functio
<
w._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 = 'collection';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":"G BP","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":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & 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_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"
Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector" :"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"focheckbox-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: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}.resto ck-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-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%)}}@-webk it-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}