Book a ServiceTrack Your Service
Custom BuildsCycle To Work Schemes
Insure Your Bike
Parts & Components
<
<
<
<
<
<
Stems
Stems
Grips & Bar-TapeHeadsets
Complete BrakesBrake Rotors
- XLTrek RCS Pro, -7-degree, 110 mm length
- We 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.
- Bike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.
-
- []
-
{ "@context": "http://schema.org/", "@type": "Product", "name": "Trek Madone SL 6 AXS Gen 8", "url": "https:\/\/projektride.co.uk\/products\/trek-madone-sl-6-axs-gen-9","image": [ "https:\/\
Enve
Working Hours
- Mon - Fri: 09:00 - 18:30 Sat: 9:00 - 16:00Cockpit
-
Sun: Closed
HandlebarsTelStems
- 0131 374 5324 Grips & Bar-Tape
- LocationHeadsets
- 82 Newington Road Edinburgh
- EH9 1QN
BrakesEmail
- [email protected]
-
- © 2026, ProjektRideWebsite by.Juan Borges Designs
- .
-
- 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge = LIQUID_CACHE_MAX_AGE) { console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); window._RestockRocketConfig.isLiquidCacheFresh = false; } } function checkSettingsExpiry(settings) { try { if (!settings || !settings.updated_at) { console.debug('STOQ - Invalid settings data structure'); return null; } if (!settings.cache) { console.debug('STOQ - settings caching disabled'); return null; } // 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
- 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; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { // Setup listener regardless - updateCartSellingPlans has its own guards // This ensures cleanup happens even when preorders are disabled globally // Listen for stoq:inventory-data-loaded event dispatched by api.js window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket
- Clothing
Socks - EssentialsCleaners, Degreasers and Lubrication
.
.
.
Singular
Parts & Components
console.log("pr-product-page");
Enigma
Frog
Kona
UTO (ex Eovolt)
BUY
Weight