img src="//projektride.co.uk/cdn/shop/products/download_2_98x.png?v=1669286275" alt="" class="product-single__thumbnail-img">
Date, old to new
Locks
Road / Gravel / Touring Bikes
maxRetries) {
console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`);
setTimeout(() => attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}
Our Mjolnir Chromoly tubeset is crafted to deliver a sublime ride feel with excellent comfort whilst also being immensely durable.
.
MudguardsDate, new to old
Pinnacle Dolomite Road Bike - Medium
<01313745324
Phone Holders
PriceKids Bikes
Bells
img src="//projektride.co.uk/cdn/shop/files/gn10510_detail_12_2048x2048.jpg?v=1723720228" alt="Genesis Croix De Fer 20 Flat Handlebars" class="mfp-zoom-in-cur" id="34464615596258">
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_50792_600x.jpg?v=1761905706)">>
a class="product__media product__media--featured"
href="/collections/road-gravel-touring-bikes/products/genesis-tour-de-fer-10-ex-demo-bike-medium"
title="Genesis Croix De Fer 10 Ex Demo Bike - Medium"
aria-label="Genesis Croix De Fer 10 Ex Demo Bike - Medium"
style="background-image: url(//projektride.co.uk/cdn/shop/files/FDFCFA79-1A88-4006-911A-D4F6ABA62399-min_600x.png?v=1727259386)">
span class="visually-hidden">Genesis Croix De Fer 10 Ex Demo Bike - Medium>
>
Sorry, there are no products in this collection","option1":"Extra Large","option2":"Black","option3":null,"sku":"KN23B-LAVD-XL-BL","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Lava Dome - Extra Large \/ Black","public_title":"Extra Large \/ Black","options":["Extra Large","Black"],"price":67900,"weight":12000,"compare_at_price":69900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54900747534719,"title":"Extra Large \/ White","option1":"Extra Large","option2":"White","option3":null,"sku":"KN23B-LAVD-XL-WH","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Lava Dome - Extra Large \/ White","public_title":"Extra Large \/ White","options":["Extra Large","White"],"price":67900,"weight":12000,"compare_at_price":69900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/lava_dome_opt.jpg?v=1669286275
jektride.co.uk\/cdn\/shop\/products\/lava_dome_opt.jpg?v=1669286275","options":["Size","Colour"],"media":[{"alt":null,"id":31198866014434,"position":1,"preview_image":{"aspect_ratio":1.799,"height":556,"width":1000,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/lava_dome_opt.jpg?v=1669286275"},"aspect_ratio":1.799,"height":556,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/lava_dome_opt.jpg?v=1669286275","width":1000},{"alt":null,"id":31198866047202,"position":2,"preview_image":{"aspect_ratio":2.41,"height":498,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download.png?v=1669286274"},"aspect_ratio":2.41,"height":498,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download.png?v=1669286274","width":1200},{"alt":null,"id":31198866079970,"position":3,"preview_image":{"aspect_ratio":2.41,"height":498,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download_3.png?v=1669286275"},"aspect_ratio":2.41,"height":498,"media_type":"imagReturn to home000x_8c187fb5-7e1d-4ead-8622-0acff3b56f00.jpg?v=1733928735"},"aspect_ratio":1.333,"height":900,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_lava_dome_white_2000x_8c187fb5-7e1d-4ead-8622-0acff3b56f00.jpg?v=1733928735","width":1200},{"alt":null,"id":63619594748287,"position":7,"preview_image":{"aspect_ratio":1.333,"height":900,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_lava_dome_white_angle_2000x_c1ad2587-ac57-4aa0-bd30-b13624f19e80.jpg?v=1733928744"},"aspect_ratio":1.333,"height":900,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_lava_dome_white_angle_2000x_c1ad2587-ac57-4aa0-bd30-b13624f19e80.jpg?v=1733928744","width":1200},{"alt":null,"id":63619596353919,"position":8,"preview_image":{"aspect_ratio":1.333,"height":900,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona4939-LavaDomeDetails_2000x_84b5e59d-2b82-4ac3-85d0-fe91301efbab.jpg?v=1733928752"},"aspect_ratio":1.333,"height":900,"media_type":"image","src"
263-46a7-9a44-0c50e73a64c2.jpg?v=1733928765","width":1200}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eThe Lava Dome is kind of like your best friend, but in bike form. It’s awesome in the dirt. It’s awesome to rally around town. It’s awesome poking around neighbourhood singletrack, and it does it all in a dependable way. The Lava Dome features an easy-to-use 9-speed drivetrain with a clutch rear derailleur as well as sleek internal cable routing and dropouts. With strong 29” wheels that can accept up to a 2.6” tires, this bike is ready for everything in its path!\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"h2 text-center\" data-mce-fragment=\"1\"\u003e\u003cstrong\u003eSPECS \u0026amp; GEOMETRY\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv class=\"bike_data_wrapper\" data-mce-fragment=\"1\"\u003e\n\u003cdiv id=\"kro_specs\" data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eSPECIFICATIONS\u
The Shimano CUES LINKGLIDE 1 x 11-speed drivetrain delivers exceptional service life and superb consistency. iseconds
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.site-footer {
--bg: #1f2324;
--text: #ffffff;
--text-alpha-15: rgba(255, 255, 255, 0.15);
--text-alpha-60: rgba(255, 255, 255, 0.6);
--text-alpha-85: rgba(255, 255, 255, 0.85);
}
.footer-content__logo__image { width: 170px; }
<
reateElement('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 (!normalized
translations:', e);
return settings;
}
}
// 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.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_lo
on = window._RestockRocketConfig.integrations.find(function(integration) {
return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
})
if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_pa
}
}
function updateCartSellingPlans() {
// Wait for the API to be available with retries
const maxRetries = 10;
const retryDelay = 500;
function attemptCartCheck(attempt = 1) {
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);
});
} else if (attempt img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer">
Stop! Anytime.
QUICK LINKS
.restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{posi
n;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preordAbout Us
Privacy Policy
Cookie Policy
Terms of ServiceLike all Croix De Fers, the 20 Flat Bar gets tubeless ready 45mm Maxxis Rambler tyres mounted to pre-taped tubeless ready Amplitude G100 wheels.SERVICESContact Usmadison
Location
Workshop
QUICK LINKSPlease wait whilst we submit the form.img src="//projektride.co.uk/cdn/shop/files/my23_remote_720x_b06274c0-3256-413a-bcc4-15674196f3af_98x.jpg?v=1720108440" alt="" class="product-single__thumbnail-img">
Accessories
<
MarinUTO (ex Eovolt)Drivetrain82 Newington Road<
Edinburgh<
Maxxis
>My Account
>
{{/if}}
Muc-offSecond-Hand Bikes>
>
One-UpShop All Second-Hand>
p class="result__title">
Open cartOneUp
Park Tool
Open navigation menu
{{ it.item.text }} Custom Build Inspiration Parktool { "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk\/pages\/sell" } Pirelli
ProjektRide<
Services
ridgeback>
>
li class="result result--full">
p class="result__title">{{ it.item.text }}
Rear Suspension
Finishing Kit
Tubeless
Gears & DrivetrainComponents
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. Please upload a maximum of 6 images. Each image can be a maximum of 12MB. Please Wheels
<
a class="product__media product__media--featured"
href="/collections/road-gravel-touring-bikes/products/kinesis-rtd-scandium-road-frameset"
title="Kinesis Rtd Scandium Road Frameset"
aria-label="Kinesis Rtd Scandium Road Frameset"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Kinesis-RTD-Frames---Black_1000x1000_1b304c82-5dc4-4a38-b7b8-15d33545bedd_600x.jpg?v=1683968839)">
ide.co.uk/cdn/shop/files/240_2022_Remote-37_720x_a239e9ee-a9d6-42a3-b5a4-a0f572ba20af_2048x2048.jpg?v=1720108498" alt="Kona Remote" class="mfp-zoom-in-cur" id="34188640813282">
Essentials
Complete Wheels
<
span class="visually-hidden">Kinesis Rtd Scandium Road Frameset
>
>
img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer">
Loading...
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Kinesis-RTD-Frames---White_1000x1000_d70bc41b-3a66-4ebe-a3dc-b2db8ca0f02d_600x.jpg?v=1683968840)">About Us
Bottles and Cages>
Contact Us
Blog
Terms of Service
frames
img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer">
Phone Holders
<
Refund policy
Bike Packing
Servicing
Gravel<Open search baralse,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43590980075746,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,439363271067
4155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-15T10:08:44Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_fil
9712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_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_
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.","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":"
tock-rocket-shopify-410/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/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
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 ||
];
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;
}
}
// 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.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.them
Open cartonsole.debug('STOQ - using expired cached settings as fallback');
initializeScripts(cachedSettings);
} else {
console.error('STOQ - failed to load settings:', error);
}
})
.catch(function(e) {
console.error(e)
})
}
function initializeScripts(settings) {
settings = applyTranslations(settings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
if(settings.enable_app) {
const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
})
if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else i
geType}`);
}
// Check and update cart selling plans after scripts are loaded
if (settings.preorder_enabled) {
updateCartSellingPlans();
}
// Dispatch custom event when app is loaded
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
function updateCartSellingPlans() {
// Wait for the API to be available with retries
const maxRetries = 10;
const retryDelay = 500;
function attemptCartCheck(attempt = 1) {
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans updated succe
ts/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-he
scount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-labelSearch text field
..
li class="result">
div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image>
a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'>
div class="result__image-img product__media lazyload fade-in"
data-bgset="{{ it.product.image.thumb }}"
data-aspectratio="{{ it.product.image.aspectRatio }}"
data-sizes="auto">
{{@if(it.product.badgeText)}}
div class="product__tag{{ it.product.badgeClasses }}">span>{{ it.product.badgeText | safe }}
