Cockpit
Custom Build Inspiration See More

 
Email
[email protected]
Tubeless Tools & Maintenance
Mudguards
Bags and Transportation .

ProjektRide Merchandise Website by
Phone Holders Juan Borges Designs
.
Servicingclearance!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 = translatedFields[keyDelivery & Returns if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } else if (attempt
electric bikes 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(); }
INFORMATION frames
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}.restock-rocket-preorder-countdown-timer .countdown-box{min-width: Open search barHeader Image Genesis-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%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateXLoading more
. Working Hours
KonaTel<
<
82 Newington RoadNew
Edinburgh EH9 1QNNEW <
new<
Emailnew bikes
div class="result__image-img product__media lazyload fade-in" data-bgset="{{ it.product.image.thumb }}" data-aspectratio="{{ it.product.image.aspectRatio }}" data-sizes="auto"> {{@if(it.product.badgeText)}}
> {{/if}}

tockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-13T18:46:41Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-13T18:48:32Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,5556>

:"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_enabled":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_optionountdown_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-bled) { 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.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 - I
<
!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 = translatedFields[key
e?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network 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 set

.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-famil> #ProductTemplate--template--24610452406655__main { background: #ffffff; } .shop-pay-terms { --payment-terms-background-coly: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{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.resShop allAlloy der-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}.restock-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:48
kit-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%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}
titanium
img src="//projektride.co.uk/cdn/shop/files/Kinesis-G2-Blue-three-quarter_1000x1000_bf5be54a-0c45-4c8d-9a59-3b92bcaa6647_2048x2048.webp?v=1758028036" alt="Kinesis G2" class="mfp-zoom-in-cur" id="67739565523327">

G2 - Midnight Blue

Size

LOCATION & HOURS <

button type="submit" class="btn">FilterEdinburgh Bike ShopProduct DetailsSelect variant dropdown



7-9998-0fbcee4ffa6b.jpg?v=1639693686","width":430},{"alt":null,"id":28860573909218,"position":4,"preview_image":{"aspect_ratio":1.0,"height":430,"width":430,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Shimano-SPD-SL-Cleats-Cleats-Blue-Front-Pivot-SMSH12-0_1_2048x.progressive_2487bbc5-3844-428d-892a-8cd121bea406.jpg?v=1639693719"},"aspect_ratio":1.0,"height":430,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Shimano-SPD-SL-Cleats-Cleats-Blue-Front-Pivot-SMSH12-0_1_2048x.progressive_2487bbc5-3844-428d-892a-8cd121bea406.jpg?v=1639693719","width":430}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eA genuine Shimano replacement part, the SPD-SL SH11 Pedal Cleats are compatible with three bolt road shoes and Shimano SPD-SL road pedals. The non-slip rubber base makes times when you're off the bike and walking a little easier and coloured tips indicate when it's time for replacement.\u003c\/sp an\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eYellow SPD-SL Cleats – 6 Degrees of Float\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eYellow SPD-SL cleats are perhaps the most popular among casual fitness cyclists but are used by a wide range of athletes. They're characterized by a six-degree float range (three degrees in each direction), which allows for free movement and low joint stress. The float’s pivot point is in the center of the cleat, allowing the toes to point in a wide range of angles. This large float range also provides more room for error when setting up your cleats. If you're new to cycling, experience knee pain, lack flexibility, or simply don’t know where to start, Shimano’s yellow cleats are your best bet.\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fra

gment=\"1\"\u003eRed SPD-SL Cleats – 0 Degrees of Float\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eRed SPD-SL cleats have no float and are 100% fixed in position. This makes them great for sprinters, professional athletes, or people who value the most efficient power transfer possible and are not prone to knee pain. Note that red SPD-SL cleats require that you know your optimal cleat position precisely, and you are comfortable adjusting your cleats into that perfect position.\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eBlue SPD-SL Cleats – 2 Degrees of Float\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eBlue SPD-SL cleats are Shimano’s newest cleat option and they exist as a middle-ground between yellow and red. Blue cleats have two degrees of float (one degree in each direction)★★★★★ 1, allowing for a small range of movement while still delivering a high amount of pedaling efficiency. The float pivot point is at the front of the cleat, which eliminates lateral sliding movement while allowing a small amount of angle change from the pivot point back towards the heel.\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e"}

he bike and walking a little easier and coloured tips indicate when it's time for replacement.Yellow SPD-SL Cleats – 6 Degrees of FloatYellow SPD-SL cleats are perhaps the most popular among casual fitness cyclists but are used by a wide range of athletes. They're characterized by a six-degree float range (three degrees in each direction), which allows for free movement and low joint stress. The float’s pivot point is in the center of the cleat, allowing the toes to point in a wide range of angles. This large float range also provides more room for error when setting up your cleats. If you're new to cycling, experience knee pain, lack flexibility, or simply don’t know where to start, Shimano’s yellow cleats are your best bet.Red SPD-SL Cleats – 0 Degrees of FloatRed SPD-SL cleats have no float and are 100% fixed in position. This makes them great for sprinters, professional athletes, or people who value the most efficient power transfer possible and are not prone to knee pain. Note that red SPD-SL c

ype" : "Offer","sku": "SMSH12","availability" : "http://schema.org/InStock", "price" : 20.99, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/shimano-spd-sl-road-cleats?variant=42167775527138" }, { "@type" : "Offer","sku": "SMSH10","availability" : "http://schema.org/InStock", "price" : 20.99, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/shimano-spd-sl-road-cleats?variant=42167775559906" } ] }

Would you like to add on any equipment?

Hire Lazer Compact Helmet



a class="product__media product__media--featured" href="/products/hire-smith-convoy-helmet" title="Hire Lazer Compact Helmet" aria-label="Hire Lazer Compact Helmet" style="background-image: url(//projektride.co.uk/cdn/shop/files/my2023_tempo-kineticore-black_right_1400x1011800x600-removebg-preview_1_600x.png?v=1747484784)">
span class="visually-hidden">Hire Lazer Compact Helmet
>

>

Hire Lazer Compact Helmet

£0.00

Black

Hire Ortlieb 40L Pannier Bags

Christian Graham<<
en","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kinesis G2 - Extra 60cm \/ G2 - Khaki Green","public_title":"Extra 60cm \/ G2 - Khaki Green","options":["Extra 60cm","G2 - Khaki Green"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '170000', cartPrice: '0', selector: 'shopify-osm-Ac2tTRTlRaTI0R3BZb__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":43766825386210,"title":"Small 51cm \/ G2 - Midnight Blue","opt>
"title":"Medium 54cm \/ G2 - Midnight Blue","option1":"Medium 54cm","option2":"G2 - Midnight Blue","option3":null,"sku":"K-BIKE-G2-01-4MD","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Kinesis G2 - Medium 54cm \/ G2 - Midnight Blue","public_title":"Medium 54cm \/ G2 - Midnight Blue","options":["Medium 54cm","G2 - Midnight Blue"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56063691096447,"title":"Medium 54cm \/ G2 - Khaki Green","option1":"Medium 54cm","option2":"G2 - Khaki Green","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kinesis G2 - Medium 54cm \/ G2 - Khaki Green","public_title":"Medium 54cm \/ G2 - Khaki Green","options":["Medium 54cm","G2 - Khaki Green"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":f>

hopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43766825484514,"title":"Extra 60cm \/ G2 - Midnight Blue","option1":"Extra 60cm","option2":"G2 - Midnight Blue","option3":null,"sku":"K-BIKE-G2-01-6XL","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Kinesis G2 - Extra 60cm \/ G2 - Midnight Blue","public_title":"Extra 60cm \/ G2 - Midnight Blue","options":["Extra 60cm","G2 - Midnight Blue"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56063691161983,"title":"Extra 60cm \/ G2 - Khaki Green","option1":"Extra 60cm","option2":"G2 - Khaki Green","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kinesis G2 - Extra 60cm \/ G2 - Khaki Green","public_title":"Extra 60cm \/ G2 - Khaki Green","options":["Extra 60cm","G2 - Khaki Green"],"price":170000,"weight":0,"com

£400.00Cassette SRAM PG-1130 11-42T
<
Email
.
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._RestockRocket<
SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (err<slation'); 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 = translatedFields[key]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('S<
"option2":"G2 - Midnight Blue","option3":null,"sku":"K-BIKE-G2-01-4MD","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Kinesis G2 - Medium 54cm \/ G2 - Midnight Blue","public_title":"Medium 54cm \/ G2 - Midnight Blue","options":["Medium 54cm","G2 - Midnight Blue"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56063691096447,"title":"Medium 54cm \/ G2 - Khaki Green","option1":"Medium 54cm","option2":"G2 - Khaki Green","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kinesis G2 - Medium 54cm \/ G2 - Khaki Green","public_title":"Medium 54cm \/ G2 - Khaki Green","options":["Medium 54cm","G2 - Khaki Green"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43766825451746,"title":"Laocations":[]},{"id":43766825484514,"title":"Extra 60cm \/ G2 - Midnight Blue","option1":"Extra 60cm","option2":"G2 - Midnight Blue","option3":null,"sku":"K-BIKE-G2-01-6XL","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Kinesis G2 - Extra 60cm \/ G2 - Midnight Blue","public_title":"Extra 60cm \/ G2 - Midnight Blue","options":["Extra 60cm","G2 - Midnight Blue"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56063691161983,"title":"Extra 60cm \/ G2 - Khaki Green","option1":"Extra 60cm","option2":"G2 - Khaki Green","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kinesis G2 - Extra 60cm \/ G2 - Khaki Green","public_title":"Extra 60cm \/ G2 - Khaki Green","options":["Extra 60cm","G2 - Khaki Green"],"price":170000,"weight":0,"compare_at_price":165000,"inventory_management":"shopify","barcode":"",tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eRear Hub\u003c\/td\u003e\n\u003ctd\u003eNovatec Hub Centre-lock, 142mm x 12mm Thru Axle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eRims\u003c\/td\u003e\n\u003ctd\u003eJalco PRD23 Tubeless Rims\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eTyre\u003c\/td\u003e\n\u003ctd\u003eSchwalbe G-One Allround 40mm TLE Tubeless Tyre\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eSeatpost\u003c\/td\u003e\n\u003ctd\u003eAluminium Micro Adjust 350mm x 27.2mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eHandlebar\u003c\/td\u003e\n\u003ctd\u003e6061 Flared Aluminium Double Butted. S(51):42cm M(54):44cm L(57):44cm XL(60):46cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eStem\u003c\/td\u003e\n\u003ctd\u003e 6061 Aluminium. S(51):80mm M(54):90mm L(57):90mm XL(60):100mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eBar Tape\u003c\/td\u003e\n\u003ctd\u003eKinesis Cork Tape\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eSaddle\u003c\/td\u003e\n\u003ctd\u003eSelle Italia X3 Black\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp\u003e10kg Complete (Large - 57cm\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable class=\"upgtbl\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eColour\u003c\/td\u003e\n\u003ctd\u003eMidnight Blue\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eFrame\u0
<03c\/td\u003e\n\u003ctd\u003eKinesis G2 Double Butted Alloy 6061\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eFork\u003c\/td\u003e\n\u003ctd\u003eKinesis Range Carbon Fork with Cargo Mounts 100 x 12mm Thru Axle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eHeadset\u003c\/td\u003e\n\u003ctd\u003eIntegrated Tapered with Sealed Bearings\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eShift Levers\u003c\/td\u003e\n\u003ctd\u003eSRAM Apex 1 x 11 speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eRear Mech\u003c\/td\u003e\n\u003ctd\u003eSRAM Apex 1 Long Cage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eChain\u003c\/td\u003e\n\u003ctd\u003eSRAM PC1110 with POWERLOCK\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eBottom a class="product__media product__media--featured" href="/collections/bikes/products/bombtrack-hook-ext-complete-bike-27-5" title="Bombtrack HOOK EXT Complete Bike (27.5")" aria-label="Bombtrack HOOK EXT Complete Bike (27.5")" style="background-image: url(//projektride.co.uk/cdn/shop/files/BT_MY24_Hook_EXT_matt_black_web_01_800x800_crop_center_2x_88f58ced-514c-40ae-a9b6-cdf37b275722_600x.webp?v=1720086731)"> Bracket\u003c\/td\u003e\n\u003ctd\u003eSRAM BB GXP - 68mm BSA.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eBrakes\u003c\/td\u003e\n\u003ctd\u003eSRAM Apex 1 Hydraulic Flat Mount with SRAM Centreline 160mm Rotors\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eCassette\u003c\/td\u003e\n\u003ctd\u003eMicroshift CS-H113 11-42T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eCrankset\u003c\/td\u003e\n\u003ctd\u003eSRAM Apex 1 XSYNC 40T S(51):170mm M(54):172.5mm L(57):172.5mm XL(60):175mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"upgtblstle\"\u003eFront Hub\u003c\/td\u003e\n\u003ctd\u003eNovatec Hub Centre-lock, 100mm x 12mm Thru Axle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"upgtbltrhl\"\u003e\n\u003ctd class=\"upgtblstle\"\u003eRear Hub\u003c\/td\u003e\n\u003ctd\u003eNovatec Hub Centre-lock, 142mm x 12mm Thru Axle\u003