spo-disabled
a href="/pages/cycle-to-work-scheme" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/bike_to_work-removebg-preview_360x.png?v=1635889127); width: 120px; padding-top: 84.3%;"><
a href="/pages/cycle-to-work-scheme" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/bike_to_work-removebg-preview_360x.png?v=1635889127); width: 120px; padding-top: 84.3%;"><>
Logo imagediv class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/actlogo_360x.png?v=1635889127); width: 120px; padding-top: 65.5%;">>
Logo image
>
>
Logo image
Logo image
Logo imagea href="https://www.cytech.training/" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2022-02-06_at_16.18.00_360x.png?v=1644164294); width: 120px; padding-top: 50.2%;">>
Logo imagea href="https://shopify.projektride.co.uk/collections/parts-components?filter.p.vendor=Burgtec,burgtec" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2022-02-06_at_16.20.15_360x.png?v=1644164427); width: 170px; padding-top: 17.4%;">
Logo imagea href="https://shopify.projektride.co.uk/collections/parts-components?filter.p.vendor=Burgtec,burgtec" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2022-02-06_at_16.20.15_360x.png?v=1644164427); width: 170px; padding-top: 17.4%;">>
Logo image
>
>
.
{44891521450210 : null,44891521482978 : null,44891521515746 : null,44891521548514 : null,44891521581282 : null,};
window._RestockRocketConfig.selected_variant_id = 44891521450210;
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_CACHEWebsite by
Juan Borges Designs
ys(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;
}
}
// First try to get settings from metafields with expiry check
const cachedSettings = window._RestockRocketConfig.caton_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.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":fadiv class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2025-03-13at14.14.38_600x.png?v=1741875455)">
se 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.find(function(integration) {
return integration.type === 'hijack' && integration.enabled && integration.page_types.includ6:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8321453818082,"title":"Genesis Equilibrium 725 Frameset","handle":"genesis-equilibrium-725-frameset","description":"\u003cp\u003eStunning classical looks in an eminently practical package - a model day success story that proves steel is still a material to be reckoned with given the right application.\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eThe Equilibrium is designed to mix comfort, speed and efficiency in a package suited to the less-than-perfect tarmac of the UK. Build it to suit the riding you'll encounter - a wide range cassette for those steep Lakeland passes, mudguards for the long British summer, handbuilt wheels for the ultimate practicality - the choices are endless.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn
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 attet-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003cstrong\u003eIntended Use :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eRoad\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003cstrong\u003eGender :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eMens, Womens\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left coll
- X-Small","public_title":"X-Small","options":["X-Small"],"price":38000,"weight":0,"compare_at_price":64999,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44891521482978,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"GN21810SM","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Genesis Equilibrium 725 Frameset - Small","public_title":"Small","options":["Small"],"price":38000,"weight":0,"compare_at_price":64999,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44891521515746,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"GN21810MD","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Genesis Equilibrium 725 Frameset - Medium","public_title":"Medium","options":["Medium"],"price":38000,"weight":0,"compare_at_price":64999,"inventory_management":"shopify","barcode":" £699.00utton-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-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;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;mar,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_9.jpg?v=1709549998","width":1800},{"alt":null,"id":32991108661474,"position":10,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_10.jpg?v=1709549998"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_10.jpg?v=1709549998","width":1800},{"alt":null,"id":32991108694242,"position":11,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_11.jpg?v=1709549998"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_11.jpg?v=1709549998","width":1800},{"alt":null,"id":32991108727010,"position":12,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_12.jpg?v=
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-preorder-countdown-timer .countdown-label{font-size:14px;font-wege cassette for those steep Lakeland passes, mudguards for the long British summer, handbuilt wheels for the ultimate practicality - the choices are endless.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003cstrong\u003eFork Material :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eSteel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003Green000}.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%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:3c\/strong\u003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eMens, Womens\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003cstrong\u003eFork :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eGenesis Steel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003cstrong\u003eHeadset :\u003c\/strong\u003e\u003c\/
003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003e700c\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card grid-item\"\u003e\n\u003cdiv class=\"card-header pl-0 pr-0\" id=\"specheadingrims\"\u003e\n\u003cdiv class=\"btn btn-link pl-0 pr-0 text-center text-md-left collapsed text-uppercase\" aria-controls=\"specrims\" aria-expanded=\"true\" data-target=\"#specrims\" data-toggle=\"collapse\"\u003e\u003cstrong\u003eFrame Shape :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eCrossbar\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {44891521450210 : "deny",44891521482978 : "deny",44891521515746 : "deny",44891521548514 : "deny",44891521581282 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {44891521450210 : parseInt("0"),44891521482978 : parseInt("0"),44891521515746 : parseInt("0"),44891521548514 : parseInt("0"),44891521581282 : rder_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enab<
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(scriptURestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,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":"{{
- >
>
72191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T10:23:34Z","market_locations_enabled":false,"market_id":382140642,"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":"2025-12-14T10:16:55Z","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-14T10:16:55Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketCoder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_ena
":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 thisctor":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selectornfig":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.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'); _type":"afterend","storefront_form_prefill_customer":true,"market_setup_type":"single_market","shopify_app_id":5940125,"cache":true,"cached_at":"2025-11-11T14:27:02.333Z","multi_language_enabled":false,"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,4393625042ale)) { 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 ,43981987938530,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,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,565
9998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_2.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_3.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_4.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_5.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_6.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_7.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_8.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_9.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_10.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_11.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_12.jpg?v=1709549998","\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_side.jpg?v=1709549998"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/produc
/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_3.jpg?v=1709549998","width":1800},{"alt":null,"id":32991108464866,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_4.jpg?v=1709549998"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_4.jpg?v=1709549998","width":1800},{"alt":null,"id":32991108497634,"position":5,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_5.jpg?v=1709549998"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_5.jpg?v=1709549998","width":1800},{"alt":null,"id":32991108530402,"position":6,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/gn21810_detail_6.jpg?v=1709549998"},"aspect_ratio":1.0,"height":1800,"media_t
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(
Brother Big Bro Hardtail Bike - Complete Shop Stock 2025 BuildetConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
{ 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(s-Brother Cycles Mr Wooden Frameset
>
tings.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 even
<
a class="product__media product__media--featured"
href="/collections/brother-cycles/products/brother-big-bro-2025"
title="-Brother Big Bro 2025"
aria-label="-Brother Big Bro 2025"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2025-09-30at13.32.25_600x.png?v=1759240885)">
<
Rimspan class="visually-hidden">-Brother Big Bro 2025< Brother Big Bro Hardtail Bike - Complete Shop Stock 2025 Build
>
>
<
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2025-09-30at13.32.33_600x.png?v=1759240885)"><
<
- a class="product__media product__media--featured" href="/collections/brother-cycles/products/brother-cycles-mr-wooden" title="-Brother Cycles Mr Wooden Frameset" aria-label="-Brother Cycles Mr Wooden Frameset" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2024-10-01_at_16.22.50_600x.png?v=1727796235)"> span class="visually-hidden">-Brother Cycles Mr Wooden Frameset
-
}.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-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{>
ion{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-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>
- < Skewer frontdiv class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/CBE4ED64-46D7-4264-A6FC-2B63FB86B64D_696a86f9-a7f0-498e-b185-b3a24161851d_600x.jpg?v=1761673251)">< >

>