#ProductTemplate--template--24610452406655__main { background: #ffffff; }
.shop-pay-terms { --payment-terms-background-color: #ffffff }
Congratulations! Your order qualifies for free shipping
Custom Build - Singular Peregrine
img src="//projektride.co.uk/cdn/shop/files/gn11010_detail_01_2048x2048.jpg?v=1723720326" alt="Genesis Croix De Fer 40" class="mfp-zoom-in-cur" id="34464622280930">
Posted by andy graham on
<
June 16, 2023
img src="//projektride.co.uk/cdn/shop/files/gn11010_detail_02_2048x2048.jpg?v=1723720326" alt="Genesis Croix De Fer 40" class="mfp-zoom-in-cur" id="34464622313698">
img src="//projektride.co.uk/cdn/shop/articles/DSC06737_2048x2048.jpg?v=1686948666" alt="" class="article__image">
<
← Older Post
Newer Post →Open search bar
<
Small - Sold Out
<
Early RiderEmail
Second-Hand Bikes
Decrease quantity
.
Simplicity and convenience at a moment’s notice, on any track or trail.
The plus versions of the stem bag include exterior mesh pockets for catching empty wrappers as well as a mesh drainage hole to help keep the interior dry.
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 = 'article';
window._RestockRocketConfig.lServices
er_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":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_contain
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.normalizedLocale)) {
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 Book a Service
<
if (!settings || !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = tra
Would you like to add on any equipment?r-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 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-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;fle
About UsAlloy
HANDLEBARContact Us
Brands
Blog
Ridgeback
Kona XC/BC 35Track Service Progress
Hope
Building Your Bike From the Box
Insure Your Bike
Brother
Privacy PolicyFrame Material :Enve
STEM
Cookie Policy
Terms of Service
Genesis
Kona XC/BC 35AlloyRefund policy
CockpitSingular
SERVICES
SEATPOST
Handlebars
Servicing
Enigma
TranzX Dropper Internal 31.6mmBattery Type :Workshop Prices
Cycle to WorkStems
Delivery & Returns
Frog
Sportdrive 418wh
SEAT CLAMP
Grips & Bar-Tape
Kona
Kona Clamp
INFORMATION
Headsets
Surly
Wheel Size :
GRIPS
Working HoursUTO (ex Eovolt)
Kona Key Grip700cBrakes
Mon - Fri: 09:00 - 18:30
Complete Brakes
Sat: 9:00 - 16:00Early Rider
Sun: Closed
SADDLE
Brake Rotors
WTB VoltBrake Levers :
TelSecond-Hand Bikes
Brake Pads
ALHONGA AHJ-OD07
0131 374 5324Shop All Second-Hand