
<<<<
{{/if}}
img src="//projektride.co.uk/cdn/shop/files/Screenshot2023-09-27at10.54.04_2048x2048.png?v=1695808449" alt="ESI XL 6.75' Chunky" class="mfp-zoom-in-cur" id="32292019241186">

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.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_but<
ton_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"prep class="result__title">
47554,43981374980322,43981392773346,43981392838882,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,43981989085410,43981989118178,43981989150946,43981990887650,43981990920418,43981990953186,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55570550194559,5557055022732
{},"updated_at":"2026-02-17T03:08:27Z","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":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_pre
_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_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_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,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progre
ss_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];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.product = {"id":14907866546559,"title":"Trek Domane SLR Disc Frameset Gen 3","handle":"trek-domane-slr-disc-frameset-gen-3","description":"\u003cdiv data-v-e224ae82=\"\" class=\"b2b-buying-zone__info cell medium-6
large-12\"\u003e\n\u003cdiv data-v-e224ae82=\"\" class=\"buying-zone__positioning-statement mb-2 pt-2 border-t border-gray-10\"\u003e\n\u003cp data-v-e224ae82=\"\"\u003eThe award-winning Domane SLR Disc Frame Set is built with 700 Series OCLV Carbon and has both Front and Adjustable Rear IsoSpeed so you can fine-tune your compliance. This is the lightest endurance road bike frame we make. It's designed for flat-mount disc brakes, has an internal storage compartment, and includes a head set, 12 mm thru axles and a Domane Disc full carbon fork.\u003c\/p\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eFrameset\u003c\/strong\u003e\u003cbr\u003eFrame 700 Series OCLV Carbon, front IsoSpeed, adjustable rear IsoSpeed, internal storage, tapered head tube, internal cable routing, 3S chain keeper, DuoTrap S-compatible, mudguard mounts, flat-mount disc, 142x12 mm thru axle\u003cbr\u003eFork Domane SLR carbon, t
apered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, carbon dropouts, 12x100 mm thru axle\u003cbr\u003eFrame fit Endurance\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003cbr\u003eWeight 56 - 2.24 kg\/4.94 lb\u003cbr\u003eWeight limit This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb).\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDrivetrain\u003c\/strong\u003e\u003cbr\u003eFront derailleur Mechanical front derailleurs must have a full-housing stop (example: Shimano toggle front derailleurs)\u003cbr\u003eMax. chainring size 1x: 46T, 2x: 52\/36\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWheels\u003c\/strong\u003e\u003cbr\u003eSkewer front Bontrager Switch thru axle, removable lever\u003cbr\u003eSkewer rear Bontrager Switch thru-axle, removable lever\u003cbr\u003eMax tyre size 38mm\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eComponents\u003c\/strong\u
e.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701","variant_ids":[54945351631231,54945351663999,54945351696767,54945351729535,54945351762303,54945351795071]},"available":false,"name":"Trek Domane SLR Disc Frameset Gen 3 - Lithium Grey\/Trek Black \/ 56","public_title":"Lithium Grey\/Trek Black \/ 56","options":["Lithium Grey\/Trek Black","56"],"price":350000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841765622143,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945351762303,"title":"Dark Prismatic\/Trek Black \/ 47","option1":"Dark Prismatic\/Trek Black","option2":"47","option3":null,"sku":"5264898","requires_shipping":true,"taxable":true,"featured_image":{"id":72853055275391,"product_id":14907866
large-12\"\u003e\n\u003cdiv data-v-e224ae82=\"\" class=\"buying-zone__positioning-statement mb-2 pt-2 border-t border-gray-10\"\u003e\n\u003cp data-v-e224ae82=\"\"\u003eThe award-winning Domane SLR Disc Frame Set is built with 700 Series OCLV Carbon and has both Front and Adjustable Rear IsoSpeed so you can fine-tune your compliance. This is the lightest endurance road bike frame we make. It's designed for flat-mount disc brakes, has an internal storage compartment, and includes a head set, 12 mm thru axles and a Domane Disc full carbon fork.\u003c\/p\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eFrameset\u003c\/strong\u003e\u003cbr\u003eFrame 700 Series OCLV Carbon, front IsoSpeed, adjustable rear IsoSpeed, internal storage, tapered head tube, internal cable routing, 3S chain keeper, DuoTrap S-compatible, mudguard mounts, flat-mount disc, 142x12 mm thru axle\u003cbr\u003eFork Domane SLR carbon, t
apered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, carbon dropouts, 12x100 mm thru axle\u003cbr\u003eFrame fit Endurance\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003cbr\u003eWeight 56 - 2.24 kg\/4.94 lb\u003cbr\u003eWeight limit This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb).\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDrivetrain\u003c\/strong\u003e\u003cbr\u003eFront derailleur Mechanical front derailleurs must have a full-housing stop (example: Shimano toggle front derailleurs)\u003cbr\u003eMax. chainring size 1x: 46T, 2x: 52\/36\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWheels\u003c\/strong\u003e\u003cbr\u003eSkewer front Bontrager Switch thru axle, removable lever\u003cbr\u003eSkewer rear Bontrager Switch thru-axle, removable lever\u003cbr\u003eMax tyre size 38mm\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eComponents\u003c\/strong\u
e.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701","variant_ids":[54945351631231,54945351663999,54945351696767,54945351729535,54945351762303,54945351795071]},"available":false,"name":"Trek Domane SLR Disc Frameset Gen 3 - Lithium Grey\/Trek Black \/ 56","public_title":"Lithium Grey\/Trek Black \/ 56","options":["Lithium Grey\/Trek Black","56"],"price":350000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841765622143,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945351762303,"title":"Dark Prismatic\/Trek Black \/ 47","option1":"Dark Prismatic\/Trek Black","option2":"47","option3":null,"sku":"5264898","requires_shipping":true,"taxable":true,"featured_image":{"id":72853055275391,"product_id":14907866
ismatic\/Trek Black","option2":"52","option3":null,"sku":"5264900","requires_shipping":true,"taxable":true,"featured_image":{"id":72853055275391,"product_id":14907866546559,"position":2,"created_at":"2025-01-11T12:31:39+00:00","updated_at":"2025-01-11T12:31:41+00:00","alt":null,"width":1920,"height":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701","variant_ids":[54945351631231,54945351663999,54945351696767,54945351729535,54945351762303,54945351795071]},"available":true,"name":"Trek Domane SLR Disc Frameset Gen 3 - Dark Prismatic\/Trek Black \/ 52","public_title":"Dark Prismatic\/Trek Black \/ 52","options":["Dark Prismatic\/Trek Black","52"],"price":415000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":63841765622143,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Primary.webp?v=1736598691","\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701","\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Alt1.webp?v=1736598710"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Primary.webp?v=1736598691","options":["Colour","Size"],"media":[{"alt":null,"id":63841765163391,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Primary.webp?v=1736598691"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Primary.webp?v=1736598691","width":1920},{"alt":null,"id":63841765622143,"position":2,"preview_image":{"aspect_ra
tio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_22_33101_B_Primary.webp?v=1736598701","width":1920},{"alt":null,"id":63841765949823,"position":3,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Alt1.webp?v=1736598710"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSLRDiscFrameset_21_33101_A_Alt1.webp?v=1736598710","width":1920}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv data-v-e224ae82=\"\" class=\"b2b-buying-zone__info cell medium-6 large-12\"\u003e\n\u003cdiv data-v-e224ae82=\"\" class=\"buying-zone__positioning-statement mb-2 pt-2 border-t border-gray-10\"\u003e\n\u003cp data-v-e224ae82=\"\"\u0
03eThe award-winning Domane SLR Disc Frame Set is built with 700 Series OCLV Carbon and has both Front and Adjustable Rear IsoSpeed so you can fine-tune your compliance. This is the lightest endurance road bike frame we make. It's designed for flat-mount disc brakes, has an internal storage compartment, and includes a head set, 12 mm thru axles and a Domane Disc full carbon fork.\u003c\/p\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eFrameset\u003c\/strong\u003e\u003cbr\u003eFrame 700 Series OCLV Carbon, front IsoSpeed, adjustable rear IsoSpeed, internal storage, tapered head tube, internal cable routing, 3S chain keeper, DuoTrap S-compatible, mudguard mounts, flat-mount disc, 142x12 mm thru axle\u003cbr\u003eFork Domane SLR carbon, tapered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, carbon dropouts, 12x100 mm thru axle\u003cbr\u003eFrame fit Endurance\u003c\/p\u0
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "ProjektRide","sameAs": [
null,
null,
null,
null,
null,
null,
null
],
"url": "https:\/\/projektride.co.uk"
}
03e\n\u003cp\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003cbr\u003eWeight 56 - 2.24 kg\/4.94 lb\u003cbr\u003eWeight limit This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb).\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDrivetrain\u003c\/strong\u003e\u003cbr\u003eFront derailleur Mechanical front derailleurs must have a full-housing stop (example: Shimano toggle front derailleurs)\u003cbr\u003eMax. chainring size 1x: 46T, 2x: 52\/36\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWheels\u003c\/strong\u003e\u003cbr\u003eSkewer front Bontrager Switch thru axle, removable lever\u003cbr\u003eSkewer rear Bontrager Switch thru-axle, removable lever\u003cbr\u003eMax tyre size 38mm\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eComponents\u003c\/strong\u003e\u003cbr\u003eSeatpost Not included\u003cbr\u003eRotor size Max brake rotor sizes: 160mm front \u0026amp; rear\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\<
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
03eThe award-winning Domane SLR Disc Frame Set is built with 700 Series OCLV Carbon and has both Front and Adjustable Rear IsoSpeed so you can fine-tune your compliance. This is the lightest endurance road bike frame we make. It's designed for flat-mount disc brakes, has an internal storage compartment, and includes a head set, 12 mm thru axles and a Domane Disc full carbon fork.\u003c\/p\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eFrameset\u003c\/strong\u003e\u003cbr\u003eFrame 700 Series OCLV Carbon, front IsoSpeed, adjustable rear IsoSpeed, internal storage, tapered head tube, internal cable routing, 3S chain keeper, DuoTrap S-compatible, mudguard mounts, flat-mount disc, 142x12 mm thru axle\u003cbr\u003eFork Domane SLR carbon, tapered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, carbon dropouts, 12x100 mm thru axle\u003cbr\u003eFrame fit Endurance\u003c\/p\u0
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "ProjektRide","sameAs": [
null,
null,
null,
null,
null,
null,
null
],
"url": "https:\/\/projektride.co.uk"
}
03e\n\u003cp\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003cbr\u003eWeight 56 - 2.24 kg\/4.94 lb\u003cbr\u003eWeight limit This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb).\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDrivetrain\u003c\/strong\u003e\u003cbr\u003eFront derailleur Mechanical front derailleurs must have a full-housing stop (example: Shimano toggle front derailleurs)\u003cbr\u003eMax. chainring size 1x: 46T, 2x: 52\/36\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWheels\u003c\/strong\u003e\u003cbr\u003eSkewer front Bontrager Switch thru axle, removable lever\u003cbr\u003eSkewer rear Bontrager Switch thru-axle, removable lever\u003cbr\u003eMax tyre size 38mm\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eComponents\u003c\/strong\u003e\u003cbr\u003eSeatpost Not included\u003cbr\u003eRotor size Max brake rotor sizes: 160mm front \u0026amp; rear\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\<
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 <
console.log("pr-product-page");= 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 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 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 ||
_RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'product') {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlPro
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 ||
_RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'product') {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlPro
