r_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","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,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toast
Position":"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":7473167794402,"title":"Truflo Micro II Mini Pump, black","handle":"truflo-micro-ii-mini-pump-black","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cul class=\"description-overview\" data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eA compact pump with lots of features\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTelescoping barrel for easier inflation\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHigh pressure and big volume modes\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSturdy plastic construction\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eDual head allows the pump to fit straight onto both Presta a
nd Schrader valves without any fiddling\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSupplied with bracket to fasten the pump to any water bottle bosses on the frame\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAlso included is a mudcap to protect your pump from the inevitable rain and mud\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eReplacement Bracket Available -QA4902\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2021-12-14T16:38:58+00:00","created_at":"2021-12-14T10:43:58+00:00","vendor":"Truflo","type":"","tags":["Micro 2"],"price":1399,"price_min":1399,"price_max":1399,"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":42156975751394,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"QA4100","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Truflo Micro II Mini Pump, black","public_title"£15.00:null,"options":["Default Title"],"price":1399,"weight":500,"compare_at_price":null,"inventory_management":"shopify","barcode":"5027726526848","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/151742_1.jpg?v=1639478640"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/151742_1.jpg?v=1639478640","options":["Title"],"media":[{"alt":null,"id":28840680718562,"position":1,"preview_image":{"aspect_ratio":1.0,"height":482,"width":482,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/151742_1.jpg?v=1639478640"},"aspect_ratio":1.0,"height":482,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/151742_1.jpg?v=1639478640","width":482}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cul class=\"description-overview\" data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eA compact pump with lots of features\u003c\/li\u003e\n\u003cli data-mce-fragm
ent=\"1\"\u003eTelescoping barrel for easier inflation\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHigh pressure and big volume modes\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSturdy plastic construction\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eDual head allows the pump to fit straight onto both Presta and Schrader valves without any fiddling\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSupplied with bracket to fasten the pump to any water bottle bosses on the frame\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAlso included is a mudcap to protect your pump from the inevitable rain and mud\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eReplacement Bracket Available -QA4902\u003c\/li\u003e\n\u003c\/ul\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {42156975751394 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {42156975751394 : parseInt("1"),};
window._RestockRocketConfig.variantsPreorderCount = {42
156975751394 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {42156975751394 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {42156975751394 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42156975751394 : null,};
window._RestockRocketConfig.variantsShippingText = {42156975751394 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {42156975751394 : null,};
window._RestockRocketConfig.selected_variant_id = 42156975751394;
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/019b08ef-eea8-746d-807f-b70c50171bc3/restock-rocket-shopify-404/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extens
ions/019b08ef-eea8-746d-807f-b70c50171bc3/restock-rocket-shopify-404/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 translat
ion 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 = Da