| |
| | Algeria (DZDد.ج)
|
| Andorra (EUR€)
|
| |
| |
| |
| |
| |
|
window._RestockRocketConfig = window._RestockRocketConfig || {}
window._RestockRocket = window._RestockRocket || {}
window._Stoq = window._RestockRocket
window._StoqConfig = window._RestockRocketConfig
try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { }
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, '_');
}
window._RestockRocketConfig.locale = 'en';
window._RestockRocketConfig.normalizedLocale = normalizeLocale('en');
window._RestockRocketConfig.shop = 'projektride.myshopify.com';
window._RestockRocketConfig.pageType = 'product';
window._RestockRocketConfig.liquidRenderedAt = 1788924657;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom';
window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {};
if (!window._RestockRocketConfig.cartToken) {
try {
const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/);
if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]);
} catch (e) { }
}
window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2026-08-12T16:44:57.298Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"cCHAIN
|
|
© 2026, ProjektRide| . |
Powered by | Shopify
.
|
|
American Express |
Apple Pay|
|
Diners Club |
Discover
| Google Pay |
| Klarna
Maestro|
| Mastercard
|
PayPal
| Shop Pay |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| pdated_at":"2026-08-18T16:00:27+01:00","alt":"Domane SL 5 Gen 4","width":3000,"height":2250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Primary_d7c2f76d-fbda-4169-8035-dcfd24ecf4b6.jpg?v=1787065227","variant_ids":[58205433954687,58205433987455,58205434020223,58205434052991,58205434085759,58205434118527,58205434151295,58205434184063,58205434216831]},"available":false,"name":"Domane SL 5 Gen 4 - Ivy Smoke \/ 62","public_title":"Ivy Smoke \/ 62","options":["Ivy Smoke","62"],"price":250000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"197216230328","featured_media":{"alt":"Domane SL 5 Gen 4","id":72254268735871,"position":11,"preview_image":{"aspect_ratio":1.333,"height":2250,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Primary_d7c2f76d-fbda-4169-8035-dcfd24ecf4b6.jpg?v=1787065227"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/projektrid | co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Primary_d7c2f76d-fbda-4169-8035-dcfd24ecf4b6.jpg?v=1787065227","\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Portrait_8da86876-901d-4aa0-98c3-ee69d875e2cd.jpg?v=1787065227","\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt1.jpg?v=1787065227","\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt3.jpg?v=1787065227","\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt4.jpg?v=1787065227"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-A-Primary_64125ba7-f11b-45d5-a7bb-9d6af33ac2ac.jpg?v=1787065226","options":["Colour","Size"],"media":[{"alt":"Domane SL 5 Gen 4","id":72254268408191,"position":1,"preview_image":{"aspect_ratio":1.333,"height":2250,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-A-Primary_64125ba7-f11b-45d5-a7bb-9d6af33ac2ac.jpg?v=1787065226"},"aspect_ratio":1.333,"height":2250,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/age":{"aspect_ratio":1.333,"height":3000,"width":4000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-A-Alt3.jpg?v=1787065228"},"aspect_ratio":1.333,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-A-Alt3.jpg?v=1787065228","width":4000},{"alt":"Domane SL 5 Gen 4","id":72254268539263,"position":5,"preview_image":{"aspect_ratio":1.333,"height":3000,"width":4000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-A-Alt4.jpg?v=1787065227"},"aspect_ratio":1.333,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-A-Alt4.jpg?v=1787065227","width":4000},{"alt":"Domane SL 5 Gen 4","id":72254268572031,"position":6,"preview_image":{"aspect_ratio":1.333,"height":2250,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-D-Primary_8abb76c8-9e9b-408b-89eb-34ce0228fee6.jpg?v=1787065227"},"aspect_ratio":1.333,"height":2250,"media_type":"image","src":"\/\/projektrid | :9,"preview_image":{"aspect_ratio":1.333,"height":3000,"width":4000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-D-Alt3.jpg?v=1787065226"},"aspect_ratio":1.333,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-D-Alt3.jpg?v=1787065226","width":4000},{"alt":"Domane SL 5 Gen 4","id":72254268703103,"position":10,"preview_image":{"aspect_ratio":1.333,"height":3000,"width":4000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-D-Alt4.jpg?v=1787065227"},"aspect_ratio":1.333,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-D-Alt4.jpg?v=1787065227","width":4000},{"alt":"Domane SL 5 Gen 4","id":72254268735871,"position":11,"preview_image":{"aspect_ratio":1.333,"height":2250,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Primary_d7c2f76d-fbda-4169-8035-dcfd24ecf4b6.jpg?v=1787065227"},"aspect_ratio":1.333,"height":2250,"media_type":"image","src"
8834175,"position":14,"preview_image":{"aspect_ratio":1.333,"height":3000,"width":4000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt3.jpg?v=1787065227"},"aspect_ratio":1.333,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt3.jpg?v=1787065227","width":4000},{"alt":"Domane SL 5 Gen 4","id":72254268866943,"position":15,"preview_image":{"aspect_ratio":1.333,"height":3000,"width":4000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt4.jpg?v=1787065227"},"aspect_ratio":1.333,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneSL5-26-57629-C-Alt4.jpg?v=1787065227","width":4000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eThe Domane SL 5 is an endurance road bike ready to comfortably take on rough roads and long miles in comfort. It's crafted with a lightweight 500 Series OCLV Carbon frame speced with a reliable Shimano 105 drivetrain, and carbon, tapered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, 12x100 mm thru axle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eTires\u003c\/th\u003e\n\u003ctd\u003eBontrager Kwaremont Pro TLR, tubeless ready, folding bead, Race Dual-Compound, 120 tpi, 700x32 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHub Front\u003c\/th\u003e\n\u003ctd\u003eBontrager alloy, sealed bearing, CenterLock disc, 100x12 mm thru axle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHub Rear\u003c\/th\u003e\n\u003ctd\u003eBontrager alloy, sealed bearing, CenterLock disc, Shimano 11-speed freehub, 142x12 mm thru axle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRims\u003c\/th\u003e\n\u003ctd\u003eBontrager Paradigm 23, Tubeless Ready, 24-hole, 23 mm width, Presta valve\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShifter\u003c\/th\u003e\n\u003ctd\u003eShimano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e| \u003ctr\u003e\n\u003cth\u003eSaddle\u003c\/th\u003e\n\u003ctd\u003eVerse Short Comp, steel rails, 145 mm width \/\/ Verse Short Elite, hollow magnesium rails, 155 mm width\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSeatpost\u003c\/th\u003e\n\u003ctd\u003eKVF aero carbon seat post, 20 mm offset, 280 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHandlebar\u003c\/th\u003e\n\u003ctd\u003eBontrager Comp, alloy, 31.8 mm, 80 mm reach, 121 mm drop, 36 cm control width, 40 cm drop width\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eStem\u003c\/th\u003e\n\u003ctd\u003eTrek RCS Pro, -7-degree, 70 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSize Chart Rider Height\u003c\/th\u003e\n\u003ctd\u003eRider Height - 152.0 - 158.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSize Chart Rider Inseam\u003c\/th\u003e\n\u003ctd\u003eInseam - 71.0 - 75.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e"};win | 3 : parseInt("0"),58205433889151 : parseInt("0"),58205433921919 : parseInt("0"),58205433954687 : parseInt("0"),58205433987455 : parseInt("0"),58205434020223 : parseInt("0"),58205434052991 : parseInt("0"),58205434085759 : parseInt("0"),58205434118527 : parseInt("0"),58205434151295 : parseInt("0"),58205434184063 : parseInt("0"),58205434216831 : parseInt("0"),};
window._RestockRocketConfig.variantsPreorderCount = {58205433495935 : parseInt(""),58205433528703 : parseInt(""),58205433561471 : parseInt(""),58205433594239 : parseInt(""),58205433627007 : parseInt(""),58205433659775 : parseInt(""),58205433692543 : parseInt(""),58205433725311 : parseInt(""),58205433758079 : parseInt(""),58205433790847 : parseInt(""),58205433823615 : parseInt(""),58205433856383 : parseInt(""),58205433889151 : parseInt(""),58205433921919 : parseInt(""),58205433954687 : parseInt(""),58205433987455 : parseInt(""),58205434020223 : parseInt(""),58205434052991 : parseInt(""),58205434085759 : parseInt(""),58205434118527 : parseInt(""),582058205433823615 : parseInt(""),58205433856383 : parseInt(""),58205433889151 : parseInt(""),58205433921919 : parseInt(""),58205433954687 : parseInt(""),58205433987455 : parseInt(""),58205434020223 : parseInt(""),58205434052991 : parseInt(""),58205434085759 : parseInt(""),58205434118527 : parseInt(""),58205434151295 : parseInt(""),58205434184063 : parseInt(""),58205434216831 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {58205433495935 : null,58205433528703 : null,58205433561471 : null,58205433594239 : null,58205433627007 : null,58205433659775 : null,58205433692543 : null,58205433725311 : null,58205433758079 : null,58205433790847 : null,58205433823615 : null,58205433856383 : null,58205433889151 : null,58205433921919 : null,58205433954687 : null,58205433987455 : null,58205434020223 : null,58205434052991 : null,58205434085759 : null,58205434118527 : null,58205434151295 : null,58205434184063 : null,58205434216831 : null,};
window._RestockRocketConfig.variantsShippingText = |
{58205433495935 : "",58205433528703 : "",58205433561471 : "",58205433594239 : "",58205433627007 : "",58205433659775 : "",58205433692543 : "",58205433725311 : "",58205433758079 : "",58205433790847 : "",58205433823615 : "",58205433856383 : "",58205433889151 : "",58205433921919 : "",58205433954687 : "",58205433987455 : "",58205434020223 : "",58205434052991 : "",58205434085759 : "",58205434118527 : "",58205434151295 : "",58205434184063 : "",58205434216831 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {58205433495935 : null,58205433528703 : null,58205433561471 : null,58205433594239 : null,58205433627007 : null,58205433659775 : null,58205433692543 : null,58205433725311 : null,58205433758079 : null,58205433790847 : null,58205433823615 : null,58205433856383 : null,58205433889151 : null,58205433921919 : null,58205433954687 : null,58205433987455 : null,58205434020223 : null,58205434052991 : null,58205434085759 : null,58205434118527 : null,58205434151295 : null,58205434184063 : null,5820543421
6831 : null,};window._RestockRocketConfig.selected_variant_id = 58205433594239;
window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available;
try {
var _sqCfg = window._RestockRocketConfig;
var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) &&
_sqCfg.sellingPlans.some(function (p) { return p && p.enabled; });
var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds &&
_sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length;
_sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount);
} catch (e) { }
try {
var _sqc = window._RestockRocketConfig;
var _sqOn = !!(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout);
var _sqPre = (_sqc.cachedPreorderVariantIds &&
_sqc.cachedPreorderVariantIds.preorder_variant_ids) || [];
var _sqArm = false;
if (_sqOn && _sqc.preorde
rsConfigured) {
if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) {
_sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; });
} else {
_sqArm = (_sqc.integrations || []).some(function (i) {
return i && i.type === 'featured_product' && i.enabled &&
Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1;
});
}
}
if (_sqArm && document.documentElement) {
_sqc.acceleratedGateArmed = true;
document.documentElement.classList.add('stoq-buy-now-pending');
setTimeout(function () {
document.documentElement.classList.remove('stoq-buy-now-pending');
}, 6000);
}
} catch (e) { }
window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/exten
sions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-product-bis.js'
window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a06666-804b-764e-84be-c6136c33d807/restockrocket-1-581/assets/restockrocket-collection-bis.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io'
try {
const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/);
window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || '';
} catch (e) {
window._RestockRocketConfig.appVersion = '';
}
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000;
const LIQUID_CACHE_MAX_AGE = 15 * 60;
const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
window._RestockRocketConfig.liquidCacheAge = null;
} else {
const now = Math.floor(Date.now() / 1000);
const liquidCacheAge = now - liquidRenderedAt;
window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);
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 CHARGERGuinea (GNFFr)
< |
&
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
}
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
Shimano STEPS 2A 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')
try {
const _stoqInitConfig = window._RestockRocketConfig;
const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqI
|
liquid_cache_age: _stoqInitConfig.liquidCacheAge,
inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '',
inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId],
});
} catch (e) {
console.debug('STOQ - stoq_initialized publish failed:', e);
}
try {
var _sqTrack = window._RestockRocketConfig;
if (_sqTrack.preordersConfigured) {
document.addEventListener('click', function (e) {
try {
var t = e.target;
if (!t || !t.closest) return;
var host = t.closest('.shopify-payment-button, shopify-payment-terms');
if (!host) return;
var channel = host.matches && host.matches('shopify-payment-terms')
? 'shop_pay_installments' : 'buy_now';
var form = host.closest('form');
var vidEl = form && form.querySelector('[name="id"]');
var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || '';
ck.product.id) || '',
channel: channel,
market_id: _sqTrack.marketId || '',
country_code: _sqTrack.countryIsoCode || '',
page_type: _sqTrack.pageType || '',
cart_token: _sqTrack.cartToken || '',
page_url: (window.location && window.location.href) || '',
properties: {
is_preorder_variant: (function () {
var vid = Number(variantId);
var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; };
return has(_sqTrack.preorderVariantIds) ||
has(_sqTrack.cachedPreorderVariantIds &&
_sqTrack.cachedPreorderVariantIds.preorder_variant_ids);
})(),
in_enabled_plan: !!_sqPlan,
is_instock_variant: (function () {
var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; };
return has(_sqTrack.inStockVariantIds) ||
hGuinea-Bissau (XOFFr)
} catch (err) { }
}, true);
}
} catch (e) { }
function applyTranslations(settings) {
try {
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) {
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(
| BATTERYLOCK no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
}
});
}
(function loadStorefrontSettings() {
const cfg = window._RestockRocketConfig;
if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return;
function run() {
const query = 'query StoqSettings($namespace: String!) { shop { metafield(namespace: $namespace, key: "settings") { value } } }';
fetch(
`https://${cfg.shop}/api/2025-07/graphql.json`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken,
},
body: JSON.stringify({ query: query, variables: { namespace: cfg.metafieldNamespace } }),
}
)
.then(function(response) {
if (!response.ok) { throw new Error('Storefront API HTTP ' + response.st
|
ngs;
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.Shopify.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 no
Abusonsole.error('STOQ - apply failed for ' + endpoint + ':', applyError);
throw applyError;
}
})
.catch(function(error) {
console.debug(`STOQ - using cached ${endpoint}:`, error.message);
});
}
function initializeScripts(settings) {
settings = applyTranslations(settings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
if (!window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid) {
console.debug('STOQ - Liquid cache stale, refreshing selling_plans + integrations');
Promise.race([
Promise.all([
fetchEmbedConfig('selling_plans', function(data) {
if (data && Array.isArray(data.plans)) {
window._RestockRocketConfig.sellingPlans = data.plans;
window._RestockRocketConfig.disabledSellingPlanIds = data.disabled_plan_ids || [];
}
if (data && data.read_fHungary (HUFFt)
|
._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; });
const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds)
&& window._RestockRocketConfig.disabledSellingPlanIds.length > 0;
const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds;
const collectionScriptUrl = usePreorderBuild
? window._RestockRocketConfig.scriptUrlCollection
: window._RestockRocketConfig.scriptUrlCollectionBis;
const productScriptUrl = usePreorderBuild
? window._RestockRocketConfig.scriptUrlProduct
: window._RestockRocketConfig.scriptUrlProductBis;
const pageType = window._RestockRocketConfig.pageType;
const collectionPageTypes = ['collection', 'index', 'search', 'page'];
if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) {
createRestockRocketScript(collectio
| Iceland (ISKkr)
|
Gloss Plum w/ Metallic Brass & Matte Ink Decals
|
Ireland (EUR€)
| EXTRAS
|
n/aIsle of Man (GBP£)
|