_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":"10
0.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_tex
t":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],"cached_at":"2026-02-18T08:36:42Z"};
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) && oldPlaIf the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. ns.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.s
ellingPlans = 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.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","csPostage is free on orders over £50. Orders under £50, our postage charge is £3.99.s_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":7639490986210,"title":"Muc-off C3 Ceramic Wet Lube 50ml","handle":"muc-off-c3-ceramic-wet-lube-50ml","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe secret to the C3 Ceramic Wet Chain Lube is its unique ceramic coating that provides incredible durability and long distance performance on all bicycle chains. The innovative formulation in our chain oil also uses Boron Nitride and Fluoro Polymers to ensure ultra low friction for ultimate drive chain efficiency, high performance and durability. The waterproof qualities of Muc-Off C3 Ceramic Wet Chain Lube also means that your drive chain will excel in the harshest of riding conditions.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eLooking for long chain oil service intervals and precision gear cha
nges with super low friction reduction? Look no further. C3 Ceramic Wet Lube is packaged in an ergonomic bottle complete with pipette system for easy use and application. It’s also 95% biodegradable and is ideal for Road, Cyclocross and MTB.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eIdeal chain lubricant for Road Cycling, Cyclocross \u0026amp; MTB\u003c\/li\u003e\n\u003cli\u003eExcels in wet, muddy conditions\u003c\/li\u003e\n\u003cli\u003eContains Fluoro Polymers \u0026amp; Boron Nitrides for efficiency\u003c\/li\u003e\n\u003cli\u003eCreates Ceramic coating for chain protection\u003c\/li\u003e\n\u003cli\u003eUltra long distance performance\u003c\/li\u003e\n\u003cli\u003eIncredible durability\u003c\/li\u003e\n\u003cli\u003ePippette system for accurate, easy application\u003c\/li\u003e\n\u003cli\u003eIncludes UV torch to check for 100% coverage\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2022-03-09T19:44:15+00:00","created_at":"2022-03-09T19:44:14+00:00","vendor":"Muc-Off","type":"","tags":["CleanWe also have a physical store, if you are local please pop in -ers Degreasers and Lubrication","muc-off","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":800,"price_min":800,"price_max":800,"available":false,"price_varies":false,"compare_at_price":1150,"compare_at_price_min":1150,"compare_at_price_max":1150,"compare_at_price_varies":false,"variants":[{"id":42577956503778,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"PREA02032022.1882","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Muc-off C3 Ceramic Wet Lube 50ml","public_title":null,"options":["Default Title"],"price":800,"weight":0,"compare_at_price":1150,"inventory_management":"shopify","barcode":"5037835869002","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-03-09at19.39.45.png?v=1646855110"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-03-09at19.39.45.png?v=1646855110","options":["Title"],"
media":[{"alt":null,"id":29418365714658,"position":1,"preview_image":{"aspect_ratio":0.939,"height":890,"width":836,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-03-09at19.39.45.png?v=1646855110"},"aspect_ratio":0.939,"height":890,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-03-09at19.39.45.png?v=1646855110","width":836}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe secret to the C3 Ceramic Wet Chain Lube is its unique ceramic coating that provides incredible durability and long distance performance on all bicycle chains. The innovative formulation in our chain oil also uses Boron Nitride and Fluoro Polymers to ensure ultra low friction for ultimate drive chain efficiency, high performance and durability. The waterproof qualities of Muc-Off C3 Ceramic Wet Chain Lube also means that your drive chain will excel in the harshest of riding conditions.\u003cProjektRide Bike Shop Edinburgh\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eLooking for long chain oil service intervals and precision gear changes with super low friction reduction? Look no further. C3 Ceramic Wet Lube is packaged in an ergonomic bottle complete with pipette system for easy use and application. It’s also 95% biodegradable and is ideal for Road, Cyclocross and MTB.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eIdeal chain lubricant for Road Cycling, Cyclocross \u0026amp; MTB\u003c\/li\u003e\n\u003cli\u003eExcels in wet, muddy conditions\u003c\/li\u003e\n\u003cli\u003eContains Fluoro Polymers \u0026amp; Boron Nitrides for efficiency\u003c\/li\u003e\n\u003cli\u003eCreates Ceramic coating for chain protection\u003c\/li\u003e\n\u003cli\u003eUltra long distance performance\u003c\/li\u003e\n\u003cli\u003eIncredible durability\u003c\/li\u003e\n\u003cli\u003ePippette system for accurate, easy application\u003c\/li\u003e\n\u003cli\u003eIncludes UV torch to check for 100% coverage\u003c\/li\u003e\n\u003c\/ul\u003e"};
window
._RestockRocketConfig.variantsInventoryPolicy = {42577956503778 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {42577956503778 : parseInt("0"),};
window._RestockRocketConfig.variantsPreorderCount = {42577956503778 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {42577956503778 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {42577956503778 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42577956503778 : null,};
window._RestockRocketConfig.variantsShippingText = {42577956503778 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {42577956503778 : null,};
window._RestockRocketConfig.selected_variant_id = 42577956503778;
window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scrip 82 Newington Road, EH91QN, Edinburgh.tUrlProduct = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/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 missi
ng 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
<