Brake Rotorsn_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[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_collectio
Spain (EUR€)
Brake Sparesr":"#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,"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
Front Suspension= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
window._RestockRocketConfig.isLiquidCacheFresh = false;
}
}
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
Brake Spares
age = Date.now() - updatedAt.getTime();
if (age
Svalbard & Jan Mayen (GBP£)
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 ||
Rear Suspension];
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;
}
}
// Setup event listener for cart selling plan updates
// This must be called before any scripts are loaded to avoid race conditions
function setupCartSellingPlanUpdater(settings) {
// Setup listener regardless - updateCartSellingPlans has its own guards
// This ensures cleanup happens even when preorders are disabled globally
// Listen for stoq:inventory-data-loaded event dispatched by api.js
window.addEventListener('stoq:inventory-data-loaded', function(event) {
console.debug('STOQ - Inventory data loaded, updating cart selling plans');
if (window._RestockRocket
Hellion X Lil Shredder: The Ultimate Junior Bike Park Machine
Gloves
By andy graham
Create account
January 23, 2026
Sorry, looks like we don't have enough of this product.
Clothing
Hellion X Lil Shredder: The Ultimate Junior Bike Park Machine Introducing your young prodigy to the bike park? Look no further than the Hellion X Lil Shredder. Developed in collaboration with Lil Shredder, pioneers of...
Socks
Search
Hellion X Lil Shredder: The Ultimate Junior Bike Park MachineEssentials
By andy grahamSee More
If you’re introducing your young prodigy to the bike park, look no further than the Hellion X Lil Shredder. Developed in collaboration with Lil Shredder, pioneers of the junior competitive scene, this bike builds on...
Cleaners, Degreasers and LubricationGBP£
Accessories
ies_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
Life Systems Pocket First Aid Kit - HIRE
Components
Free
{"@context":"http:\/\/schema.org\/","@id":"\/products\/singular-peregrine-blue#product","@type":"ProductGroup","brand":{"@type":"Brand","name":"ProjektRide"},"category":"","description":"Singular Peregrine Frameset \nhttps:\/\/singularcycles.com\/products\/peregrine\nSpecifications\n\nCustom drawn triple butted cro-moly steel tubing\nLugged head tube and seat cluster\nFlat mount 160mm brake fitment\n12mm thru axles – 142mm rear spacing, 100mm front\nEccentric Bottom Bracket insert – 68mm BSA threaded shell.\nClearance for Shimano road width cranks with \u0026lt;48\/34 chainrings\nTyre clearance for max 622x55mm (29×2.1”) or 584x65mm (27.5×2.3”)\nBolt on modular cable guides under down tube\nDouble chainring compatible\n27.2mm seat tube diameter\n1 ⅛” external bearing head tube (34mm ID) for straight steerer fork\nElectrostatic Deposition (ED) anti-corrosion treatment\nFour frame sizes from Small to Extra Large.\nMidnight Blue (RAL 5004) with ivory head and seat tube panels\n\nPeregrine Tech and FAQ\n\nThe EBB set screws should be torqued to a maximum of 6Nm or it may deform the shell and insert. The EBB should be covered with a thin coat of grease and maintained periodically by removing, cleaning and re-greasing the insert and bolts. \nThe seat binder bolt should be torqued to 8-10Nm. If this is insufficient to prevent seat post slippage please contact us. Some frames were shipped with an incorrect spec bolt which bottoms out before the seat post is fully tight. Please contact us for a replacement if this is the case. \nThe derailleur hanger is designed to only be loosely held by the mounting bolt. The hanger is tightened to the frame by tightening the thru axle so that it is clamped and supported properly in the dropout and not by the hanger retaining bolt. Many thru axle frames have a similar floating axle retention nut mechanism. \nThe frame and fork are fully tested and compliant with ISO standards for touring bicycles. Used as intended, it is warranted against defect for five years for the original owner. The frameset is not intended for technical off road riding or jumping.\n","hasVariant":[{"@id":"\/products\/singular-peregrine-blue?variant=43854872150242#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-02-23at10.30.04.png?v=1677148552\u0026width=1920","name":"Singular Peregrine Frameset - Singular Blue - Small","offers":{"@id":"\/products\/singular-peregrine-blue?variant=43854872150242#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"1100.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/singular-peregrine-blue?variant=43854872150242"}},{"@id":"\/products\/singular-peregrine-blue?variant=43854872183010#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-02-23at10.30.04.png?v=1677148552\u0026width=1920","name":"Singular Peregrine Frameset - Singular Blue - Medium","offers":{"@id":"\/products\/singular-peregrine-blue?variant=43854872183010#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"1100.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/singular-peregrine-blue?variant=43854872183010"}},{"@id":"\/products\/singular-peregrine-blue?variant=43854872215778#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-02-23at10.30.04.png?v=1677148552\u0026width=1920","name":"Singular Peregrine Frameset - Singular Blue - Large","offers":{"@id":"\/products\/singular-peregrine-blue?variant=43854872215778#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"1100.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/singular-peregrine-blue?variant=43854872215778"}},{"@id":"\/products\/singular-peregrine-blue?variant=43854872248546#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-02-23at10.30.04.png?v=1677148552\u0026width=1920","name":"Singular Peregrine Frameset - Singular Blue - Extra Large","offers":{"@id":"\/products\/singular-peregrine-blue?variant=43854872248546#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"1100.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/singular-peregrine-blue?variant=43854872248546"}}],"name":"Singular Peregrine Frameset - Singular Blue","productGroupID":"8033605583074","url":"https:\/\/projektride.co.uk\/products\/singular-peregrine-blue"}
Greece (EUR€)