
- <
- 12mm x 100mm (100mm - QR Available aftermarket) Track Service Progress Building Your Bike From the Box EnveInsure Your Bike
- Complete Brakes Privacy PolicyRear Hub Spacing: Cookie Policy12 x 142mm (QR available aftermarket) Terms of Service Brake Rotors Refund policy Cockpit
- Location
- 82 Newington RoadEdinburghEH9 1QN
Website by
Juan Borges Designs
.
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-12-28T14:44:23.508Z","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_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_allowed_countries":[],"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.","st
ow._RestockRocketConfig.product = {"id":8063452184802,"title":"Carbaura RCD 35mm Wheelsets","handle":"carbaura-rcd-35mm-wheelsets","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp\u003eThe latest version of our Carbaura RCD wheels have been designed to maximise aerodynamic benefit and with excellent linear compliance and lateral stiffness these wheels will keep you a bike length ahead of the competition!\u003c\/p\u003e\n\u003cp\u003eBuilt around an optimised, Computational Fluid Dynamics tested, aerodynamic profile in a Carbon Fibre chassis, low weights, linear compliance, and lateral stiffness were our primary aims with the Carbaura RCD wheelsets.\u003c\/p\u003e\n\u003cp\u003eDeveloped with a 21mm internal and 28mm external rim width which allows you to run a wide range of traditional or tubeless tyres. Optimised for a modern compliant and supple 28c tyre, delivering enhanced comfort and ultimate grip in any situation.\u003c\/p\u003e\n\u003cp\u003eAt the centre of the Carbaura RCD wheelsets are ourssic climber and all rounder\u003c\/li\u003e\n\u003cli\u003e50mm- a midweight racer option\u003c\/li\u003e\n\u003cli\u003e80mm – an ultimate speed set for crit racer or time trial specialist.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eExternal Rim Width: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e28mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSpokes: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo Black Aero Racing Stainless spokes\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eNipples: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eBlack brass nipples\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003em\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eDrive System: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSupadrive\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eDisc Mount: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eCentre-lock\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSpoke pattern: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eF16\/8H | R16\/8H\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRecommended Tyre size: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e25 - 32c\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eTubeless: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003etubeless ready\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u00:false,"selling_plan_allocations":[]},{"id":43981988692194,"title":"Shimano","option1":"Shimano","option2":null,"option3":null,"sku":"WHHACD3PS","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Carbaura RCD 35mm Wheelsets - Shimano","public_title":"Shimano","options":["Shimano"],"price":99995,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43981988724962,"title":"Sram XD-R","option1":"Sram XD-R","option2":null,"option3":null,"sku":"WHHACD3PX","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Carbaura RCD 35mm Wheelsets - Sram XD-R","public_title":"Sram XD-R","options":["Sram XD-R"],"price":99995,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at22.37.14.png?v=1679866641"mpliance, and lateral stiffness were our primary aims with the Carbaura RCD wheelsets.\u003c\/p\u003e\n\u003cp\u003eDeveloped with a 21mm internal and 28mm external rim width which allows you to run a wide range of traditional or tubeless tyres. Optimised for a modern compliant and supple 28c tyre, delivering enhanced comfort and ultimate grip in any situation.\u003c\/p\u003e\n\u003cp\u003eAt the centre of the Carbaura RCD wheelsets are our RD2 hubs equipped with centre lock, to accept disc brakes for consistently powerful braking in all weathers and to eliminate rim wear.\u003c\/p\u003e\n\u003cp\u003eThe RD2 hub set also incorporates Supadrive, which offers a 120 point near-instant engagement with the ability to withstand substantial torque loads. With multiple World Championship titles across a range of disciplines, the Supadrive system is tried and tested to the very highest level and is our most advanced and reliable drive system to date.\u003c\/p\u003e\n\u003cp\u003eHandcrafted with lightweight bladed ae
_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b6e86-8dbc-7c58-99fb-8c695965347e/restock-rocket-shopify-423/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;
}
//i-list-title\"\u003eSpokes: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo Black Aero Racing Stainless spokes\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eNipples: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eBlack brass nipples\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRim Depth : \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e35mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eInternal Rim Width: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e21mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Hub Spacing: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e12mm x 100mm (100mm - QR Available aftermarket)\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_it3cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRecommended Tyre size: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e25 - 32c\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eTubeless: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003etubeless ready\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eColour: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eAnodised black hub. Matte finished rim with Stealth decals\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {43981988659426 : "deny",43981988692194 : "deny",43981988724962 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {43981988659426 : parseInt("4"),43981988692194 : parseInt("4"),43981988724962 : parseInt("4"),};
window._RestockRocketConfig.variantsPreorderCount = {43981988659426
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 || lized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key];
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('STrror) {
// 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 ||stockRocketConfig.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.updateCartSelli
et-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}.r