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","\/\/projektride.co.uk\/cdn\/shop\/products\/download.png?v=1669286274","\/\/projektride.co.uk\/cdn\/shop\/products\/download_3.png?v=1669286275","\/\/projektride.co.uk\/cdn\/shop\/products\/download_2.png?v=1669286275","\/\/projektride.co.uk\/cdn\/shop\/products\/download_1_6637df14-f812-48ba-97ce-057c7b418d2d.png?v=1669286274","\/\/projektride.co.uk\/cdn\/shop\/files\/my23_lava_dome_white_2000x_8c187fb5-7e1d-4ead-8622-0acff3b56f00.jpg?v=1733928735","\/\/projektride.co.uk\/cdn\/shop\/files\/my23_lava_dome_white_angle_2000x_c1ad2587-ac57-4aa0-bd30-b13624f19e80.jpg?v=1733928744","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona4939-LavaD
: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":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download_3.png?v=1669286275","width":1200},{"alt":null,"id":31198866112738,"position":4,"preview_image":{"aspect_ratio":2.41,"height":498,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download_2.png?v=1669286275"},"aspect_ratio":2.41,"height":498,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download_2.png?v=1669286275","width":1200},{"alt":null,"id":31198866145506,"position":5,"preview_image":{"aspect_ratio":2.41,"height":498,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download_1_6637df14-f812-48ba-97ce-057c7b418d2d.png?v=16692Working Hours
Mon - Fri: 09:00 - 18:30
Sat: 9:00 - 16:00
Sun: Closed
Mon - Fri: 09:00 - 18:30


Kids BikesBrake Rotorsock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-02-13T03:18:40Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-02-13T03:59:14Z","shopify_market_id":382140642,"market_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","na
g_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_charg
tdown_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}];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","enableXHRHija
FramesBrake Padscks are available in two different sizes - small or large. Meaning you can choose how much kit to load on your bike. The packs are fully waterproof as they have a internal drybag.\u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eBikepacking Seat Saddle Pack Features\u003c\/h4\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eStrap-on fitting\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eDurable, lightweight water-resistant nylon main body\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTPU coated inner liner sock is fully waterproof and reversible for easier cleaning\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHi-Viz yellow liner helps to find items inside\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e2 external water resistant pockets for keys etc.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eWipe-clean tarpaulin base mud-shield\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRoll-top type closer\u003c\/li\u003e\n\u0
Brake Sparesi\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRoll-top type closer\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRubberised seat post grip area for increased stability\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMultiple LED light mounts extra visibility\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e3M Reflective features for added safety\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003ePerfect for bike packing, touring and gravel bike adventures! Available online or from our bike shop in Edinburgh.\u003c\/span\u003e\u003c\/p\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {42514852085986 : "deny",42514852118754 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {42514852085986 : parseInt("0"),42514852118754 : parseInt("4"),};
window._RestockRocketConfig.variantsPreorderCount = {42514852085986 : parseInt(""),42514852118754 : parseInt(""),};
window._RestockRocketConfig.variantsPreorder
FramesBrake Padscks are available in two different sizes - small or large. Meaning you can choose how much kit to load on your bike. The packs are fully waterproof as they have a internal drybag.\u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eBikepacking Seat Saddle Pack Features\u003c\/h4\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eStrap-on fitting\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eDurable, lightweight water-resistant nylon main body\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTPU coated inner liner sock is fully waterproof and reversible for easier cleaning\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHi-Viz yellow liner helps to find items inside\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e2 external water resistant pockets for keys etc.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eWipe-clean tarpaulin base mud-shield\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRoll-top type closer\u003c\/li\u003e\n\u0
Brake Sparesi\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRoll-top type closer\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRubberised seat post grip area for increased stability\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMultiple LED light mounts extra visibility\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e3M Reflective features for added safety\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003ePerfect for bike packing, touring and gravel bike adventures! Available online or from our bike shop in Edinburgh.\u003c\/span\u003e\u003c\/p\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {42514852085986 : "deny",42514852118754 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {42514852085986 : parseInt("0"),42514852118754 : parseInt("4"),};
window._RestockRocketConfig.variantsPreorderCount = {42514852085986 : parseInt(""),42514852118754 : parseInt(""),};
window._RestockRocketConfig.variantsPreorder
ion = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/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 tiShop by Brand
<
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
<
<
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
<
<Trek
artSellingPlanUpdater(settings) {
if (!settings || !settings.preorder_enabled) {
return;
}
// Listen for stoq:preorder-api-ready event dispatched by preorder.js
window.addEventListener('stoq:preorder-api-ready', function(event) {
console.debug('STOQ - Preorder API ready, 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 validC
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(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}`);
// Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions
setupCartSellingPlanUpdater(settings);
if(settings.enable_app) {
const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integrat
Front SuspensionetConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'product') {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`);
}
// Dispatch custom event when app is loaded
// Cart selling plan updates will be triggered by stoq:preorder-api-ready event
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings,
preorderEnabled: settings.preorder_enabled
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
Front SuspensionetConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'product') {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`);
}
// Dispatch custom event when app is loaded
// Cart selling plan updates will be triggered by stoq:preorder-api-ready event
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings,
preorderEnabled: settings.preorder_enabled
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
Yeti
cket-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-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorderOrtlieb Light Weight Dry-Bag - Colour - Black – ProjektRide
ket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}
BrotherThis site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.
Tyres
CloseTubes
Tyres
CloseTubesSingular
<
<
HomeTubeless
HireSaddles
<
HomeTubeless
HireSaddlesFrog
Seat Posts & ClampsBikes
Pedals
Seat Posts & ClampsBikes
Pedals
ComponentsShop All New BikesE-bike Batteries and chargers Road / Gravel / Touring Bikes
Hybrid / City Bikes
Mountain Bikes
Tubeless
I'm looking to find out more information about a product, where can I find this?Tools & MaintenanceFrames
[email protected]
) where on of the team will be more than happy to help.Spend
Working Hours
£50Custom Builds
£50Custom Builds
to qualify for free shippingSee More Mon - Fri: 09:00 - 18:30
Sat: 9:00 - 16:00
Congratulations! Your order qualifies for free shipping
Sun: Closed
Custom Builds for sale
Tel
Custom Build Inspiration-
0131 374 5324
- Location
- Services
Open navigation menu
WorkshopOpen search barSee More
lector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,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,4393625580361
Seat Posts & Clamps
8,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392838882,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43
u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003ePAINT COLOR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eGloss Dark Grey or Gloss Porcelain w\/ Furnace Fade \u0026amp; Purple Decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eEXTRAS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2022-12-13T20:03:09+00:00","created_at":"2022-11-24T10:37:52+00:00","vendor":"Kona","type":"","tags":["bikes","Kona","mountain bikes","new bikes","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":67900,"price_min":67900,"price_max":67900,"available":false,"price_varies":false,"compare_at_price":69900,"compare_at_price_min":69900,"981987905762,43981987938530,43981989085410,43981989118178,43981989150946,43981990887650,43981990920418,43981990953186,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,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,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,563141
Road / Gravel / Touring Bikes
71064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-02-13T03:54:13Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-02-13T03:18:40Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-02-13T03:59:14Z","shopify_market_id":382140642,"market_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_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":"asapHire Lazer Compact Helmet
","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_qua
Pedals
ntity":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}];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._RestockRocketConfig.product = {"id":7959400513762,"title":"Kona Lava Dome","handle":"kona-lava-dome-hardtail-bike-2022","description":"\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 si£0.00Hybrid / City Bikes
Parts & Componentsngletrack, 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\u003c\/h3\u003e\n\u003cdiv class=\"table_wrapper\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"scrollable-wrapper\"\u003e\n\u003ctable data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFRAME MATERIAL\u003c\/td\u003e\n\u003ctd class=\"data\" da
=\"1\"\u003eSEAT CLAMP\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona QR\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eGRIPS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Key Grip Slip on\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSADDLE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona XC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFRONT HUB\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eJoytech 100x9mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR HUB\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eJoytechta-mce-fragment=\"1\"\u003eKona 6061 Aluminum Butted\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSIZES\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eS, M, L, XL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR SHOCK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFORK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eSuntour XCR 32 or X1 LO-R or RST Omega Coil Spring 100mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCRANKARMS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eSamox\u003c\/td\u003e\n\u00
3c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCHAINRINGS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e28t\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eB\/B\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eFeimin 73mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003ePEDALS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona JS2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCHAIN\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKMC X9\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCASSETTE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eMicroshift Advent 11-46t 9spd\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCHAINGUIDE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eF\/D\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eR\/D\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eMicroshift Advent w\/ Clutch\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSHIFTERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eMicrBlack
See Moreoshift Advent\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eBRAKE CALIPERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eTektro HDM275 Hydraulic\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFRONT BRAKE ROTOR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eTektro TR180 180mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR BRAKE ROTOR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eTektro TR160 160mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eBRAKE LEVERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eTektro HDM275 Hydraulic\u003c\/td\u003e\n\u003c
tle":"Medium \/ Black","option1":"Medium","option2":"Black","option3":null,"sku":"KN23B-LAVD-MD-BL","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Lava Dome - Medium \/ Black","public_title":"Medium \/ Black","options":["Medium","Black"],"price":67900,"weight":12000,"compare_at_price":69900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54900747436415,"title":"Medium \/ White","option1":"Medium","option2":"White","option3":null,"sku":"KN23B-LAVD-MD-WH","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Lava Dome - Medium \/ White","public_title":"Medium \/ White","options":["Medium","White"],"price":67900,"weight":12000,"compare_at_price":69900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43690191880418,"title":"Large \/ Black","option1":"Large","option2":"Black","option3":null,"sku":"KN23B-
":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","\/\/projektride.co.uk\/cdn\/shop\/products\/download.png?v=1669286274","\/\/projektride.co.uk\/cdn\/shop\/products\/download_3.png?v=1669286275","\/\/proiew_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":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/download_3.png?v=1669286275","width":1200},{"alt":null,"id":31198866112738,"position":4,"preview_image/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":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona4939-LavaDomeDetails_2000x_84b5e59d-2b82-4ac3-85d0-fe91301efbab.jpg?v=1733928752","width":1200},{"al
#shopify-section-announcement-bar {
background: #f14d38;
color: #ccbebe;
}eInt(""),54900747403647 : parseInt(""),43690191847650 : parseInt(""),54900747436415 : parseInt(""),43690191880418 : parseInt(""),54900747469183 : parseInt(""),54900747501951 : parseInt(""),54900747534719 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43690191814882 : null,54900747403647 : null,43690191847650 : null,54900747436415 : null,43690191880418 : null,54900747469183 : null,54900747501951 : null,54900747534719 : null,};
window._RestockRocketConfig.variantsShippingText = {43690191814882 : "",54900747403647 : "",43690191847650 : "",54900747436415 : "",43690191880418 : "",54900747469183 : "",54900747501951 : "",54900747534719 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {43690191814882 : null,54900747403647 : null,43690191847650 : null,54900747436415 : null,43690191880418 : null,54900747469183 : null,54900747501951 : null,54900747534719 : null,};
window._RestockRocketConfig.selected_variant_id = 54900747403647;
window._RestockRo
redAt = 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 This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
con
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 ||
y');
} 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.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'] Closesettings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
// Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions
setupCartSellingPlanUpdater(settings);
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 if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollecti
toq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings,
preorderEnabled: settings.preorder_enabled
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
Brakes
Bikes
See MoreNew Bikes
See More
Complete Brakes
ForksElectric BikesSee More
Kids Bikes
See More
Finishing Kit
TyresTubes
Tubeless
Saddles
- Seat Posts & Clamps
Pedals
Gears & DrivetrainSee More
- Components
E-bike Batteries and chargers