and authorize you to charge my payment method at the prices, frequency and dates listed on this page until my order is fulfilled or I cancel, if permitted. Trek
rket_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_enabled":true,"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_prefix":"Shipping: ","delivery_e
xact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"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_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_progress_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}];(function() {
const cachedData = {"plans":[{"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_enabled":true,"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_shipp
ing_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"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":n
ull,"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_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_acknowled
gement_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_progress_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}],"disabled_plan_ids":[713813721471,713176482175,714631872895],"cached_at":"2026-04-09T09:16:46Z"};
if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
// Find the maximum updated_at from all items in old array
const oldPlans = window._RestockRocketConfig.sellingPlans;
const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
? oldPlans.reduce(function(max, plan) {
// Parse dates for proper comparison (handles mixed ISO formats)
if (plan.updated_at) {
const planDate = new Date(plan.updated_at);
const maxDate = max ? new Date(max) : null;
return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
}
return max;
}, '')
: null;
// Use cached if old array is empty/has no timestamps, or cached is newer
// Parse dates for comparison to handle format differences (+00:00 vs .000Z)
const cachedDate = new Date(cachedData.cached_at);
const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));
if (useCached) {
if (Array.isArray(cachedData.plans)) {
window._RestockRocketConfig.sellingPlans = cachedData.plans;
// Only use disabled_plan_ids when using cached plans
window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
}
} else {
// When using old format (stale cache), don't trust disabled_plan_ids
window._RestockRocketConfig.disabledSellingPlanIds = [];
console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
}
}
})();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};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._RestockRocketConfi
g.product = {"id":14979884450175,"title":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike","handle":"yeti-cycles-arc-c-series-c2-factory-29-bike","description":"\u003cdiv data-content-type=\"html\" data-appearance=\"default\" data-element=\"main\" data-decoded=\"true\"\u003e\n\u003cdiv class=\"Yeti-Text_Intro-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Intro-Text\"\u003e\n\u003cp class=\"Yeti-Model\"\u003eARC\u003c\/p\u003e\n\u003cdiv class=\"yet-section yet-group\"\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_045.webp\" width=\"350\" height=\"233\"\u003e\u003cimg width=\"350\" height=\"233\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_045.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_067.webp\" width=\"1200\" height=\"800\"\u003e\u003cimg width=\"1200\" height=\"800\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_067.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"yet-section yet-group\"\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_031.webp\" width=\"350\" height=\"233\"\u003e\u003cimg width=\"350\" height=\"233\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_031.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003c
div class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_021.webp\" width=\"350\" height=\"233\"\u003e\u003cimg width=\"350\" height=\"233\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_021.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\u003cp\u003eThe ARC is your instant-feedback steed for any trail. Show it your singletrack and your pump track and your bikepack route too. It's got history to live up to and new history to make. An it's already impatient.\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eThe ARC lives on\u003c\/span\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Feature-Box-BG\"\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"
\u003e130\u003cspan\u003eMM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eFORK TRAVEL\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e29\"\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eWHEEL SIZE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e67°\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eHEAD TUBE ANGLE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e76°\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eEFF. SEAT ANGLE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Highlights-BG_ARC
\"\u003e\n\u003cdiv class=\"Yeti-Text_Highlights-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eHIGHLIGHTS\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFOX Transfer sizes:\u003c\/li\u003e\n\u003cli\u003e175mm on SM\u003c\/li\u003e\n\u003cli\u003e200mm on MD-XL for FOX Transfer\u003c\/li\u003e\n\u003cli\u003eOneUp Dropper sizes on C1 Spec:\u003c\/li\u003e\n\u003cli\u003e180mm on SM\u003c\/li\u003e\n\u003cli\u003e200mm on MD-XL\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Frame-Highlights-BG_ARC\"\u003e\n\u003cdiv class=\"Yeti-Text_Frame-Highlights-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eFRAME HIGHLIGHTS\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e67-degree head angle\u003c\/li\u003e\n\u003cli\u003e76-degree seat tube angle\u003c\/li\u003e\n\u003cli\u003eModern geometry\u003c\/li\u003e\n\u003cli\u003eBoost spacing\u003c\/li\u003e\n\u003cli\u003eSRAM Universal Derailleur Hanger\u003c\/li\u003e\n\u003cli\u003eRaised chainstay guard to prevent excess chain slap noise\u003c\/li\u003e\n\u003cli\u003eInternal cable routing\u003c\/li\u003e\n\u003cli\u003eIntegrated headset\u003c\/li\u003e\n\u003cli\u003eIntegrated ISCG 05 tabs\u003c\/li\u003e\n\u003cli\u003eShort fork offset design\u003c\/li\u003e\n\u003cli\u003eTwo mounts for water bottles\u003c\/li\u003e\n\u003cli\u003e1-in frame\u003c\/li\u003e\n\u003cli\u003eTyre clearance for 2.6\"\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Team-BG_ARC\"\u003e\n\u003cdiv class=\"Yeti-Text_Team-Text_ARC\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eDOWN COUNTRY,\u003cbr\u003eDONE DIFFERENT\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Size-Guide-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Size-Guide-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eSIZE GUIDE\u003c\/p\u003e\n\u003cdiv id=\"sizechart\"\u003e\n\u003ctable id=\"sizechart\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eSMALL\u0
03c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'1\" - 5'7\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eMEDIUM\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'5\" - 5'11\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eLARGE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'10\" - 6'3\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eX-LARGE\u003c\/strong\u0
ER\u003c\/td\u003e\n\u003ctd\u003e710.5\u003c\/td\u003e\n\u003ctd\u003e738.5\u003c\/td\u003e\n\u003ctd\u003e761.2\u003c\/td\u003e\n\u003ctd\u003e790.1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eO\u003c\/td\u003e\n\u003ctd\u003eVERTICAL FORK TRAVEL\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-03-14T11:59:41+00:00","created_at":"2025-03-14T11:59:47+00:00","vendor":"Yeti","type":"Bicycles","tags":["ARC"],"price":439900,"price_min":439900,"price_max":439900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":55196406317439,"title":"Small \/ Blue","option1":"Small","option2":"Blue","option3":null,"sku":"","requires_shipping":true,"taxable
":true,"featured_image":null,"available":false,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Small \/ Blue","public_title":"Small \/ Blue","options":["Small","Blue"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406350207,"title":"Small \/ Red","option1":"Small","option2":"Red","option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Small \/ Red","public_title":"Small \/ Red","options":["Small","Red"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406382975,"title":"Medium \/ Blue","option1":"Medium","option2":"Blue","option3":null,"sku":"YCB25ARCTMDPCBFAC024300","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Medium \/ Blue","public_title":"Medium \/ Blue","options":["Medium","Blue"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406415743,"title":"Medium \/ Red","option1":"Medium","option2":"Red","option3":null,"sku":"YCB25ARCTMDRRTFAC024300","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Medium \/ Red","public_title":"Medium \/ Red","options":["Medium","Red"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406448511,"title":"Large \/ Blue","option1":"L
arge","option2":"Blue","option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Large \/ Blue","public_title":"Large \/ Blue","options":["Large","Blue"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406481279,"title":"Large \/ Red","option1":"Large","option2":"Red","option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Large \/ Red","public_title":"Large \/ Red","options":["Large","Red"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406514047,"title":"Extra Large \/
Blue","option1":"Extra Large","option2":"Blue","option3":null,"sku":"YCB25ARCTXLPCBFAC024300","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Extra Large \/ Blue","public_title":"Extra Large \/ Blue","options":["Extra Large","Blue"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55196406546815,"title":"Extra Large \/ Red","option1":"Extra Large","option2":"Red","option3":null,"sku":"YCB25ARCTXLRRTFAC024300","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Yeti Cycles ARC C-Series C2 Factory 29\" Bike - Extra Large \/ Red","public_title":"Extra Large \/ Red","options":["Extra Large","Red"],"price":439900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_
plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfcob_1.webp?v=1741953587","\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfturq_1.webp?v=1741953587","\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfred.webp?v=1741953587"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfcob_1.webp?v=1741953587","options":["Size","Colour"],"media":[{"alt":null,"id":64739625664895,"position":1,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfcob_1.webp?v=1741953587"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfcob_1.webp?v=1741953587","width":697},{"alt":null,"id":64739625697663,"position":2,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfturq_1.webp?v=1741953587"},"aspect_ratio":0.837,"height":833,"media_t
ype":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfturq_1.webp?v=1741953587","width":697},{"alt":null,"id":64739625730431,"position":3,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfred.webp?v=1741953587"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25arccfred.webp?v=1741953587","width":697}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv data-content-type=\"html\" data-appearance=\"default\" data-element=\"main\" data-decoded=\"true\"\u003e\n\u003cdiv class=\"Yeti-Text_Intro-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Intro-Text\"\u003e\n\u003cp class=\"Yeti-Model\"\u003eARC\u003c\/p\u003e\n\u003cdiv class=\"yet-section yet-group\"\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchus
ler_202006_ARCInLine_LoRes_045.webp\" width=\"350\" height=\"233\"\u003e\u003cimg width=\"350\" height=\"233\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_045.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_067.webp\" width=\"1200\" height=\"800\"\u003e\u003cimg width=\"1200\" height=\"800\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_067.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"yet-section yet-group\"\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_031.webp\" width=\"350\" height=\"233\"\u003e\u003cimg width=\"350\" height=\"233\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_031.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003cdiv class=\"yet-col yet-span_1_of_2\"\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_021.webp\" width=\"350\" height=\"233\"\u003e\u003cimg width=\"350\" height=\"233\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/JSchusler_202006_ARCInLine_LoRes_021.jpg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\u003cp\u003eThe ARC is your instant-feedback steed for any trail. Show it your singletrack and your pump track and your bikepack rout
e too. It's got history to live up to and new history to make. An it's already impatient.\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eThe ARC lives on\u003c\/span\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Feature-Box-BG\"\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e130\u003cspan\u003eMM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eFORK TRAVEL\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e29\"\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eWHEEL SIZE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e67°\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eHEAD TUBE ANGLE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e76°\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eEFF. SEAT ANGLE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Highlights-BG_ARC\"\u003e\n\u003cdiv class=\"Yeti-Text_Highlights-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eHIGHLIGHTS\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFOX Transfer sizes:\u003c\/li\u003e\n\u003cli\u003e175mm on SM\u003c\/li\u003e\n\u003cli\u003e200mm on MD-XL for FOX Transfer\u003c\/li\u003e\n\u003cli\u003eOneUp Dropper sizes on C1 Spec:\u003c\/li\u003e\n\u003cli\u003e180mm on SM\u003c\/li\u003e\n\u003cli\u003e200mm on MD-XL\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Frame-Highlights-BG_ARC\"\u003e\n\u003cdiv class=\"Yeti-Text_Frame-Highlights-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eFRAME HI
GHLIGHTS\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e67-degree head angle\u003c\/li\u003e\n\u003cli\u003e76-degree seat tube angle\u003c\/li\u003e\n\u003cli\u003eModern geometry\u003c\/li\u003e\n\u003cli\u003eBoost spacing\u003c\/li\u003e\n\u003cli\u003eSRAM Universal Derailleur Hanger\u003c\/li\u003e\n\u003cli\u003eRaised chainstay guard to prevent excess chain slap noise\u003c\/li\u003e\n\u003cli\u003eInternal cable routing\u003c\/li\u003e\n\u003cli\u003eIntegrated headset\u003c\/li\u003e\n\u003cli\u003eIntegrated ISCG 05 tabs\u003c\/li\u003e\n\u003cli\u003eShort fork offset design\u003c\/li\u003e\n\u003cli\u003eTwo mounts for water bottles\u003c\/li\u003e\n\u003cli\u003e1-in frame\u003c\/li\u003e\n\u003cli\u003eTyre clearance for 2.6\"\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Team-BG_ARC\"\u003e\n\u003cdiv class=\"Yeti-Text_Team-Text_ARC\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eDOWN COUNTRY,\u003cbr\u003eDONE DIFFERENT\u003c\/p\u003e\n\u003c\/3c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eDERAILLEUR\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eCASSETTE\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE 1275 10-52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eCHAIN\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSHIFTER\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eSEATPOST\u003c\/td\u003e\n\u003ctd\u003eONEUP DROPPER POST 31.6MM SM: 180MM, MD-XL: 210MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003e\u003ci\u003ePlease note: Specifications are subject to change without notice.\u003c\/i\u003e\u003c\/p\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003cp class=\"Yeti-Title\"\u003eGEOMETRY\u003c\/p\u003
e\n\u003cp class=\"Yeti-Spec_text\"\u003eAll measurements are shown in millimetres.\u003c\/p\u003e\n\u003cdiv\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/ARC_GEO_ART-2023.webp\" width=\"800\" height=\"603\"\u003e\u003cimg width=\"800\" height=\"603\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/ARC_GEO_ART-2023.png\" alt=\"\" loading=\"lazy\"\u003e\u003c\/picture\u003e\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv id=\"overflowTable\"\u003e\n\u003ctable class=\"YetiGeo\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"c\"\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e130MM FORK\u003c\/td\u003e\n\u003ctd\u003eSM\u003c\/td\u003e\n\u003ctd\u003eMD\u003c\/td\u003e\n\u003ctd\u003eLG\u003c\/td\u003e\n\u003ctd\u003eXL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eA\u003c\/td\u003e\n\u003ctd\u003eSEAT TUBE LENGTH\u003c\/td\u003e\n\u003ctd\u003e380\u003c\/td\u003e\n\u003ctd\u003e410\u003c\/td\u003e\n\u003ctd\u003e450\u003c\/td\u003e\n\u003ctd\u003e495\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eB\u003c\/td\u003e\n\u003ctd\u003eEFF. TOP TUBE LENGTH\u003c\/td\u003e\n\u003ctd\u003e577.4\u003c\/td\u003e\n\u003ctd\u003e604.3\u003c\/td\u003e\n\u003ctd\u003e626\u003c\/td\u003e\n\u003ctd\u003e653.4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eC\u003c\/td\u003e\n\u003ctd\u003eHEAD TUBE ANGLE\u003c\/td\u003e\n\u003ctd\u003e67\u003c\/td\u003e\n\u003ctd\u003e67\u003c\/td\u003e\n\u003ctd\u003e67\u003c\/td\u003e\n\u003ctd\u003e67\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eD\u003c\/td\u003e\n\u003ctd\u003eEFF. SEAT TUBE ANGLE\u003c\/td\u003e\n\u003ctd\u003e76\u003c\/td\u003e\n\u003ctd\u003e76\u003c\/td\u003e\n\u003ctd\u003e76\u003c\/td\u003e\n\u003ctd\u003e76\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eE\u003c\/td\u003e\n\u003ctd\u003eCHAI
NSTAY LENGTH\u003c\/td\u003e\n\u003ctd\u003e433\u003c\/td\u003e\n\u003ctd\u003e433\u003c\/td\u003e\n\u003ctd\u003e433\u003c\/td\u003e\n\u003ctd\u003e433\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eF\u003c\/td\u003e\n\u003ctd\u003eWHEELBASE\u003c\/td\u003e\n\u003ctd\u003e1143.5\u003c\/td\u003e\n\u003ctd\u003e1171.5\u003c\/td\u003e\n\u003ctd\u003e1194.2\u003c\/td\u003e\n\u003ctd\u003e1223.1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eG\u003c\/td\u003e\n\u003ctd\u003eESTIMATED BB HEIGHT\u003c\/td\u003e\n\u003ctd\u003e310\u003c\/td\u003e\n\u003ctd\u003e310\u003c\/td\u003e\n\u003ctd\u003e310\u003c\/td\u003e\n\u003ctd\u003e310\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eSTANDOVER\u003c\/td\u003e\n\u003ctd\u003e723\u003c\/td\u003e\n\u003ctd\u003e722\u003c\/td\u003e\n\u003ctd\u003e720\u003c\/td\u003e\n\u003ctd\u003e720\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eI\u003c\/td\u003e\n\u003ctd\u003eHEADTUBE LENGTH\u003c\/td\u003e\n\u003ctd\u003e95\u003c\/td\u003e\n\u003ctd\u003e102.9\u003c\/td\u003e\n\u003ctd\u003e109.6\u003c\/td\u003e\n\u003ctd\u003e119.6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eJ\u003c\/td\u003e\n\u003ctd\u003eFORK (AXLE TO CROWN)\u003c\/td\u003e\n\u003ctd\u003e543.7\u003c\/td\u003e\n\u003ctd\u003e543.7\u003c\/td\u003e\n\u003ctd\u003e543.7\u003c\/td\u003e\n\u003ctd\u003e543.7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eK\u003c\/td\u003e\n\u003ctd\u003eFORK (OFFSET)\u003c\/td\u003e\n\u003ctd\u003e44\u003c\/td\u003e\n\u003ctd\u003e44\u003c\/td\u003e\n\u003ctd\u003e44\u003c\/td\u003e\n\u003ctd\u003e44\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003eSTACK\u003c\/td\u003e\n\u003ctd\u003e631.7\u003c\/td\u003e\n\u003ctd\u003e638.9\u003c\/td\u003e\n\u003ctd\u003e645.1\u003c\/td\u003e\n\u003ctd\u003e654.3\u003c\/td\u003e\n\u
003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eM\u003c\/td\u003e\n\u003ctd\u003eREACH\u003c\/td\u003e\n\u003ctd\u003e420\u003c\/td\u003e\n\u003ctd\u003e445\u003c\/td\u003e\n\u003ctd\u003e465\u003c\/td\u003e\n\u003ctd\u003e490\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eN\u003c\/td\u003e\n\u003ctd\u003eFRONT CENTER\u003c\/td\u003e\n\u003ctd\u003e710.5\u003c\/td\u003e\n\u003ctd\u003e738.5\u003c\/td\u003e\n\u003ctd\u003e761.2\u003c\/td\u003e\n\u003ctd\u003e790.1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eO\u003c\/td\u003e\n\u003ctd\u003eVERTICAL FORK TRAVEL\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003ctd\u003e119.7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {55196406317439 : "deny",55196406350207 : "deny",55196406382975 : "deny",55196406415743 : "deny",55196406448511 : "deny",55196406481279 : "deny",55196406514047 : "deny",55196406546815 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {55196406317439 : parseInt("0"),55196406350207 : parseInt("0"),55196406382975 : parseInt("10"),55196406415743 : parseInt("10"),55196406448511 : parseInt("0"),55196406481279 : parseInt("0"),55196406514047 : parseInt("10"),55196406546815 : parseInt("10"),};
window._RestockRocketConfig.variantsPreorderCount = {55196406317439 : parseInt(""),55196406350207 : parseInt(""),55196406382975 : parseInt(""),55196406415743 : parseInt(""),55196406448511 : parseInt(""),55196406481279 : parseInt(""),55196406514047 : parseInt(""),55196406546815 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {55196406317439 : null,55196406350207 : null,55196406382975 : null,55196406415743 : null,55196406448511 : null,55196406481279 : null,55196406514047 : null,55196406546815 : null,};
window._RestockRocketConf
ig.variantsPreorderMaxCount = {55196406317439 : parseInt(""),55196406350207 : parseInt(""),55196406382975 : parseInt(""),55196406415743 : parseInt(""),55196406448511 : parseInt(""),55196406481279 : parseInt(""),55196406514047 : parseInt(""),55196406546815 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55196406317439 : null,55196406350207 : null,55196406382975 : null,55196406415743 : null,55196406448511 : null,55196406481279 : null,55196406514047 : null,55196406546815 : null,};
window._RestockRocketConfig.variantsShippingText = {55196406317439 : "",55196406350207 : "",55196406382975 : "",55196406415743 : "",55196406448511 : "",55196406481279 : "",55196406514047 : "",55196406546815 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {55196406317439 : null,55196406350207 : null,55196406382975 : null,55196406415743 : null,55196406448511 : null,55196406481279 : null,55196406514047 : null,55196406546815 : null,};
window._RestockRocketConfig.selected_variant_id = 55196406382975;
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/019d9ac9-5dee-74e9-8643-e17aaa8798db/restockrocket-1-482/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019d9ac9-5dee-74e9-8643-e17aaa8798db/restockrocket-1-482/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
const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds
// Calculate Liquid cache freshness once at initialization
const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
// Validate timestamp and calculate cache age
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
const now = Math.floor(Date.now() / 1000); // Current time in seconds
const liquidCacheAge = now - liquidRenderedAt; // Age in seconds
// Handle client clock ahead of server
if (liquidCacheAge <
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 <
= 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 || !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
];
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;
}
}
// Setup event listener for cart selling plan updates
// This must be called before any scripts are loaded to avoid race conditions
function setupCartSellingPlanUpdater(settings) {
// Setup listener regardless - updateCartSellingPlans has its own guards
// This ensures cleanup happens even when preorders are disabled globally
// Listen for stoq:inventory-data-loaded event dispatched by api.js
window.addEventListener('stoq:inventory-data-loaded', function(event) {
console.debug('STOQ - Inventory data loaded, updating cart selling plans');
if (window._RestockRocket
&& window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
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);
});
}
});
}
// 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('STOQ - using cached settings');
initializeScripts(validCachedSettings);
} else {
console.debug('STOQ - fetching fresh settings');
const headers = {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.S
hopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.theme?.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 settings as fallback');
initializeScripts(cac
hedSettings);
} else {
console.error('STOQ - failed to load settings:', error);
}
})
.catc