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();
}
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
ript(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;
function attemptCartCheck(attempt = 1) {
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.
<
Workshop PricesCycle to Work
Delivery & Returns★★★★★
Absolutely fantastic bike shop. Always willing to help you out when you’re having a problem. Bought many bike components from them over the years and every time they go out of their way to fit them!
Would recommend wholeheartedly for any biking needs!
Max McMullon
INFORMATION
I have taken several bikes here for servicing and repairs and been consistently impressed by their friendly and helpful advice, and the quality of their repair works. They seem to give a very honest opinion on whether work is required or not.Working Hours
Mon - Fri: 09:00 - 18:30
Sat: 9:00 - 16:00★★★★★
Sun: Closed
These fantastic guys saved our holiday. We were bike trekking around Scotland, and after 3 days, we had serious brake problems. The oil was coming out of the calliper. I called 2 days before our arrival, and they promised to make some time for us. They fixed the problem very fast and they totally didn't take advantage of our situation. I know the prices very well, because I have done all my maintenance myself for many years, and I was surprised by the low cost. Thanks a lot guys.
Wim Lintermans
Helmets
★★★★★
Gloves0131 374 5324Amazing service and quick turnaround! Dropped my bike off at 6:30pm (closing time) one day and it had been fully serviced and sorted out by the next morning! Top service and reasonable prices. Will come back here for all bike servicing needs in the future no doubt! Guys are incredibly knowledgeable also.
Christian Graham
Clothing
Location
★★★★★
★★★★★
Antonio Iglesias
[email protected]
★★★★★
Matt Wilkes
★★★★★
Nicholas Paul Franks
<★★★★★
Christine Thompson
★★★★★
Jill Kerr
★★★★★
Moreover, he ensured the bike was in its best condition before handing over. Thanks a million!
Open cart
console.log("pr-product-page");
★★★
★★★★★
Servicing of my titanium road bike. Great friendly and knowledgable service from Andy and his team. Thoroughly recommended as my LBS of choice
★★★★★
If you are looking for someone helpful and knowledgeable this is the place to go.RIDE CONFIDENTExcellent service got a great bike in great condition even helped out with a few extras and provided the original receipt for lifetime guarantee on the frame.
★★★★★#ProductTemplate--template--15326745395426__main { background: #ffffff; }
.shop-pay-terms { --payment-terms-background-color: #ffffff }
I dropped my Specialized Vita for new brake pads and a service, the bike was ready for collection the same day and the price was reasonable! Bicycle feels brand new again and works amazing! Many thanks!!
Heather Paterson
Staff are very kind and the price is relatively reasonable, also student can have 10% discount which it great :)img src="//projektride.co.uk/cdn/shop/files/Screenshot2023-06-25at10.21.57_2048x2048.png?v=1687685022" alt="EXPEDITION BOLT-ON TOP TUBE PACK (1L)" class="mfp-zoom-in-cur" id="31960240750818">
William Gui
Ben Ross
Submit your search request
<
HAVE A QUESTION?
here
img src="//projektride.co.uk/cdn/shop/files/Screenshot2023-06-25at10.22.03_98x.png?v=1687685022" alt="" class="product-single__thumbnail-img">
li class="result">
// 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;
I'm looking to buy this product, when will it arrive and how much does postage cost?
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/gn13210_detail_02_600x.jpg?v=1723720519)">
Looking to purchase with a cycle to work scheme?
Click here to get in touch and get the ball rolling! Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
3e\u003cstrong data-mce-fragment=\"1\"\u003eA streamlined and secure space to store frequently used items on bikes with top tube bolt bosses.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eA useful standalone bag for daily riding or as part of a larger bikepacking setup, the Expedition Bolt-On Top Tube Pack is a lightweight, secure storage space that’s ideal for stashing frequently used items on the road. The top tube bag is waterproof with welded seams and a pioneering waterproof zipper.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe bolt-on top tube bag fastens securely to the top tube bolt bosses common on gravel and adventure bikes, with a choice of mounting positions to accommodate every bike and frame size possible. A closed-cell foam padding structure protects your frame and electronics from damage and for added convenience, a protected cable port enables charging of devices on the go.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eOpening and closing via an
ckRocketConfig.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;
function attemptCartCheck(attempt = 1) {
if (win
Blue
a class="product__media product__media--featured"
href="/collections/genesis/products/genesis-croix-de-fer-51"
title="Genesis Croix De Fer 50"
aria-label="Genesis Croix De Fer 50"
style="background-image: url(//projektride.co.uk/cdn/shop/files/gn11110_detail_01_600x.jpg?v=1723720351)">
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/gn10710_detail_02_600x.jpg?v=1723720250)">