This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.Lights

Hire
Bikes  

Road / Gravel / Touring Bikes
Hybri
< img src="//projektride.co.uk/cdn/shop/files/DomaneAL5-24-41395-A-Primary_98x.webp?v=1728648279" alt="" class="product-single__thumbnail-img">
Header Image
< img src="//projektride.co.uk/cdn/shop/files/DomaneAL5-24-41395-A-Alt2_98x.webp?v=1728648291" alt="" class="product-single__thumbnail-img">

<
window.appBlockPlacements ||= []; if (window.klarnaAppBlocksManager) { window.klarnaAppBlocksManager.push({ productVariants: [{"id":46044637364450,"title":"44","option1":"44","option2":null,"option3":null,"sku":"5298008","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 44","public_title":"44","options":["44"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637397218,"title":"49","option1":"49","option2":null,"option3":null,"sku":"5298009","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 49","public_title":"49","options":["49"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637429986,"title":"52","option1":"52","option2":null,"option3":null,"sku":"5298010","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 52","public_title":"52","options":["52"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637462754,"title":"54","option1":"54","option2":null,"option3":null,"sku":"5298011","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 54","public_title":"54","options":["54"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637495522,"title":"56","option1":"56","option2":null,"option3":null,"sku":"5298012","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 56","public_title":"56","options":["56"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637528290,"title":"58","option1":"58","option2":null,"option3":null,"sku":"5298013","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 58","public_title":"58","options":["58"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637561058,"title":"61","option1":"61","option2":null,"option3":null,"sku":"5298014","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 61","public_title":"61","options":["61"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '200000', cartPrice: '0', selector: 'shopify-osm-Ac2tTRTlRaTI0R3BZb__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":46044637364450,"title":"44","option1":"44","option2":null,"option3":null,"sku":"5298008","requires_shipping":true,"taxable":
true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 44","public_title":"44","options":["44"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637397218,"title":"49","option1":"49","option2":null,"option3":null,"sku":"5298009","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 49","public_title":"49","options":["49"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637429986,"title":"52","option1":"52","option2":null,"option3":null,"sku":"5298010","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 52","public_title":"52","options":["52"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode": "","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637462754,"title":"54","option1":"54","option2":null,"option3":null,"sku":"5298011","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 54","public_title":"54","options":["54"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637495522,"title":"56","option1":"56","option2":null,"option3":null,"sku":"5298012","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 56","public_title":"56","options":["56"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637528290,"title":"58","option1":"58","option2":null,"option3":null,"sku":"5298013","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 58","public_title":"58","options":["58"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044637561058,"title":"61","option1":"61","option2":null,"option3":null,"sku":"5298014","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Domane AL 5 Gen 4 - 61","public_title":"61","options":["61"],"price":200000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopDomain: 'projektride.co.uk', variantPrice: '200000', cartPrice: '0', selector: 'shopify-osm-Ac2tTRTlRaTI0R3BZb__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); }
) or email (
[email protected] 82 Newington Road, EH91QN, Edinburgh.
QUICK LINKS
window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-14T19:14:09Z","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":"2025-12-14T19:08:48Z","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":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017 616255,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_applies_to_all_products":true,"shi
pping_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":{},"pay ment_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":"#f5f5f5","countdown_timer_border_r
adius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"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":8734656921826,"title":"Trek Domane AL 5 Gen 4","handle":"trek-domane-al-5-gen-5","description":"\u003cp\u003eThe Domane AL 5 is a speedy and versatile road bike that's a perfect starting point for anyone looking to get into road riding. With an Alpha Aluminium frame, clearance for larger tyres, a 12-speed Shimano 105 drivetrain, top tube mounts and an all-day road comfort geometry – the Domane AL 5 is perfect for casual pedalling, group rides, fast commutes and even venturing beyond tarmac roads to most gravel roads.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eIt's right for you if...\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eYou're looking to venture into the world of road bikes and want one that's comfortable, smooth and most importantly, won't break the bank. You want to ride primarily on roads but also want a bike that can handle a rail trail or crushed gravel path and want versatile gearing that can handle any hill. Days spent pedalling under the sun sound perfect and you need a bike that is comfortable enough to let you ride as long as you see fit.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe tec080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneAL5-24-41395-A-Alt8.webp?v=1728648321"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneAL5-24-41395-A-Alt8.webp?v=1728648321","width":1440}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eThe Domane AL 5 is a speedy and versatile road bike that's a perfect starting point for anyone looking to get into road riding. With an Alpha Aluminium frame, clearance for larger tyres, a 12-speed Shimano 105 drivetrain, top tube mounts and an all-day road comfort geometry – the Domane AL 5 is perfect for casual pedalling, group rides, fast commutes and even venturing beyond tarmac roads to most gravel roads.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eIt's right for you if...\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eYou're looking to venture into the world of road bikes and want one that's comfortable, smooth and most importantly, won't break the bank. You want to ride primarily on roads but also want a bike that can handle a rail trail or crushed gravel path and want versatile gearing that can handle any hill. Days spent pedalling under the sun sound perfect and you need a bike that is comfortable enough to let you ride as long as you see fit.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe tech you get\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003eA 100 Series Alpha Aluminium frame with advanced tube shaping for high-end looks and ride quality, a Shimano 105 12-speed groupset, powerful disc brakes for all-weather stopping, super-durable wheels, integrated frame mounts for carrying additional gear, 32 mm tubeless-ready road tyres for added cushion and flared handlebars for extra control and stability.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe final word\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003eThe Domane AL 5 is a true road bike and the perfect option if you're just getting into riding. It's comforta
ble for long days, quick enough to hang with the group and extremely versatile for when you're ready to venture off road.\u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {46044637364450 : "deny",46044637397218 : "deny",46044637429986 : "deny",46044637462754 : "deny",46044637495522 : "deny",46044637528290 : "deny",46044637561058 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {46044637364450 : parseInt("0"),46044637397218 : parseInt("0"),46044637429986 : parseInt("0"),46044637462754 : parseInt("0"),46044637495522 : parseInt("0"),46044637528290 : parseInt("0"),46044637561058 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {46044637364450 : parseInt(""),46044637397218 : parseInt(""),46044637429986 : parseInt(""),46044637462754 : parseInt(""),46044637495522 : parseInt(""),46044637528290 : parseInt(""),46044637561058 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {46044637364450 : null,46044637397218 : null,46044637429986 : null,46044637462754 : null,46044637495522 : null,46044637528290 : null,46044637561058 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {46044637364450 : parseInt(""),46044637397218 : parseInt(""),46044637429986 : parseInt(""),46044637462754 : parseInt(""),46044637495522 : parseInt(""),46044637528290 : parseInt(""),46044637561058 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46044637364450 : null,46044637397218 : null,46044637429986 : null,46044637462754 : null,46044637495522 : null,46044637528290 : null,46044637561058 : null,}; window._RestockRocketConfig.variantsShippingText = {46044637364450 : "",46044637397218 : "",46044637429986 : "",46044637462754 : "",46044637495522 : "",46044637528290 : "",46044637561058 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {46044637364450 : null,46044637397218 : null,46044637429986 : null,46044637462754 : null,46044637495522 : null,46044637528290 : null,460446375
61058 : null,}; window._RestockRocketConfig.selected_variant_id = 46044637364450; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-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 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 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 Boardman Comp X7 - Small< 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.i d = '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 (!normalizedLocale) { // No matching locale has translations; drop payload to save memory 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(function(key) { const value = translatedFields[key]; 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; }£300.00 } // 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_locale=${window._RestockRocketConfig.normalizedLoca
le}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } 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}`); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.fin d(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_page_enabled)) { createRestockRocketScript(
window._RestockRocketConfig.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}`); } // 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 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