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.normalizerder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_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_selec
tor":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_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_forcooling vents\u003c\/li\u003e\n\u003cli\u003eWeight: 325g\u003c\/li\u003e\n\u003cli\u003eSize: Uni-size\u003cspan\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {44208318415074 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {44208318415074 : parseInt("-37"),}; window._RestockRocketConfig.variantsPreorderCount = {44208318415074 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {44208318415074 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {44208318415074 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {44208318415074 : null,}; window._RestockRocketConfig.variantsShippingText = {44208318415074 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {44208318415074 : null,}; window._RestockRocketConfig.selected_variant_id = 4420831841507Yeti Cycles SB140 C-Series C2 Lunch Ride 29" BikeIf you are looking for a custom bike for your tour, 4; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b9fa3-dc53-7a1c-9078-4931c5088fc8/restock-rocket-shopify-427/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b9fa3-dc53-7a1c-9078-4931c5088fc8/restock-rocket-shopify-427/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; } // 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 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 please get in touch, 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 age = Date.now() - updatedAt.getTime(); if (age<£5,899.00. We can do full custom-builds at a higher rental rate. 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 ||
Product Details
Meet the bike in between nothing. Leaving no rider wanting. Master of the climb, the bomb, the rail and the air. The utterly unequivocal. The rule crusher. The trend buster. No rig can rule all, but this one can absolutely rule. The mountain bike.
140MM
FRAME TRAVEL
160MM
FORK TRAVEL
14%
LEVERAGE RATE
29"
WHEEL SIZE
65°
HEAD TUBE ANGLE
77°
EFF. SEAT ANGLE
HIGHLIGHTS
- Lunch Ride (LR) builds featuring 160mm Fox Factory 36,
Fox Float X, Maxxis DHF 2.5 & DHR II 2.4 EXO casing,
and more powerful brakes - Fox Transfer dropper post
- DT Swiss XM Wheels
- 4 piston brakes
- ODI Elite Pro grips
- 200 front and 180 rear rotors
FRAME HIGHLIGHTS
- NEW Threaded bot tom bracket
- NEW High-clearance downtube
- NEW Dual -density downtube protection
- Universal Derailleur Hanger (UDH)
- Secure, fully enclosed internal cable management
- Compatible with long dropper posts
- 100% standard sealed Enduro Max bearings
- Floating collet axle pivot design
- Compact-wishbone shock extender
- Boost spacing
- Sizes S -XXL
Trail Bike? Yes, And...
This is the mountain bike you reach for when the trail is untamed and unrelenting, in both directions. Trail Bike
is a term that gets used pretty liberally in the industry, so we designed the SB140 to be even better suited to go deep and find out what's on the other side.
SIZE GUIDE
| SMALL | 5'1" - 5'7" | ||||
| MEDIUM | 5'5" - 5'11" | ||||
| LARGE | 5'10" - 6'3" | ||||
| X-LARGE | 6'1" - 6'7" | ||||
| XX-LARGE | 6'5" - 6'11" |

