WheelsSingular
See More
{"id":8723971965154,"title":"Restrap Downtube Bag","handle":"restrap-downtube-bag","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eThe Restrap Downtube Bag is designed to boost carrying capacity by utilising the otherwise dead space beneath the downtube. Particularly useful for smaller frames, or anyone who requires extra capacity. The Downtube Bag adds 1.2L of fully waterproof stowage, attached simply via velcro; no need for specific bosses.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eThe Downtube Bag has a fully waterproof construction, with a roll top closure to keep the elements, road spray or trail debris where they should be. A single, integrated, velcro strap wraps around the Downtube Bag and downtube, securing it tightly in place and minimising rattles. A stitched in grip pad prevents the bag from sliding out of position. The bolt-free attachment means the Downtube Bag can be swapped from bike-to-bike in seconds.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eWhile you can store what you like in the Downtube Bag, we believe that it is most useful for spares, tools and heavier items. By storing them in a low and central location, you help maintain the bike’s natural centre of gravity. This is also useful if you run a dropper seat post on your bike and are unable to store items under your saddle; or if your bikepacking set up means that you aren’t able to run a tool pouch in its usual location.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eThe Downtube Bag is designed to fit all bikes, from the skinniest of steel tubing up to 19cm circumference downtubes. And while there’s no prizes for guessing where it was designed to fit, there’s nothing stopping you from getting creative with where you choose to fit the bag; cargo cages, seatpost or elsewhere.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eHand made in our Yorkshire workshop, all bags are finished with the classic Restrap label, made from vegan-friendly PU.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eProduct Weight - 130g\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eCapacity - 1.2 Litres\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e","published_at":"2024-09-27T13:59:00+01:00","created_at":"2024-09-27T13:59:01+01:00","vendor":"Restrap","type":"bag","tags":["Downtube bag","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":5000,"price_min":5000,"price_max":5000,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46007570563298,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"r
il debris where they should be. A single, integrated, velcro strap wraps around the Downtube Bag and downtube, securing it tightly in place and minimising rattles. A stitched in grip pad prevents the bag from sliding out of position. The bolt-free attachment means the Downtube Bag can be swapped from bike-to-bike in seconds.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eWhile you can store what you like in the Downtube Bag, we believe that it is most useful for spares, tools and heavier items. By storing them in a low and central location, you help maintain the bike’s natural centre of gravity. This is also useful if you run a dropper seat post on your bike and are unable to store items under your saddle; or if your bikepacking set up means that you aren’t able to run a tool pouch in its usual location.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eThe Downtube Bag is designed to fit all bikes, from the skinniest of steel tubing up to 19cm circumference downtubes. And while t
Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable£0.00
sh_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_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
built for ultra-distance riding, audaxes and races. The holster has a dedicated 7.0L dry bag that is 100% waterproof and is secured with a Fidlock™ magnetic buckle that's easy to adjust, even whilst wearing gloves. Nylon webbing, Hypalon straps and foam blocks secure the holster around the seat post, keeping the bag securely in place without sway.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eThe holster is a hardshell construction with an X21 technical outer, and includes Hypalon MOLLE system for additional strapping whilst further Hypalon detailing aids durability and prevents scuffs and scratches. Reflective detailing on the dry bag adds visibility during night time riding.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eCapacity - 7L\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eWeight - 250g\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003e(7L Dry Bag included)\u003c\/span\u003e\u003c\/p\u003e"};
window._RestockRocketConfig.variantsInventoryPo
tensions/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 backfil
(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
];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// First try to get settings from metafields with expiry check
const cachedSettings = window._RestockRocketConfig.cachedSettings;
const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
if (validCachedSettings) {
console.debug('STOQ - using cached settings');
initializeScripts(validCachedSettings);
} else {
console.debug('STOQ - fetching fresh settings');
const headers = {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.themas 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.includes(window._RestockRocketConfig.pageType);
})
if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) {
createRestockRocketScript(window._Restock
ipts 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) {
conso
Forks
e\u003cbr\u003e\u003c\/p\u003e","published_at":"2024-09-27T13:56:45+01:00","created_at":"2024-09-27T13:56:45+01:00","vendor":"Restrap","type":"bag","tags":["Canister Bag","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":5000,"price_min":5000,"price_max":5000,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46007567286498,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Restrap Canister Bag - Black","public_title":"Black","options":["Black"],"price":5000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46007567319266,"title":"Orange","option1":"Orange","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"ava
Search text fielde.co.uk\/cdn\/shop\/files\/RS_SCB_STD_BLK_CanisterBag_Black.jpg?v=1727441831","options":["Colour"],"media":[{"alt":null,"id":34728767783138,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1024,"width":1024,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/RS_SCB_STD_BLK_CanisterBag_Black.jpg?v=1727441831"},"aspect_ratio":1.0,"height":1024,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/RS_SCB_STD_BLK_CanisterBag_Black.jpg?v=1727441831","width":1024},{"alt":null,"id":34728770371810,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1024,"width":1024,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/5BRS_SCB_STD_OLV_5D_20Canister_20Bag_20_28Olive_29.jpg?v=1727441852"},"aspect_ratio":1.0,"height":1024,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/5BRS_SCB_STD_OLV_5D_20Canister_20Bag_20_28Olive_29.jpg?v=1727441852","width":1024},{"alt":null,"id":34728770470114,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1024,"width":1024,"src":"\/\/projektride
img src="//projektride.co.uk/cdn/shop/files/5BRS_HBP_STD_BLK_5D_20Bar_20Pack_20_28Black_29_2048x2048.jpg?v=1727441496" alt="Restrap Bar Bag" class="mfp-zoom-in-cur" id="34728749990114">
Product Details
Cleaners, Degreasers and LubricationThe Adventure Race Aero Bar bag uses our unique laser cut holster design for ultra-distance events, audaxes and races when using aero bars. The holster has a dedicated 7.0L drybag which is front-loaded and easy to take on and off the bike. The dry bag is 100% waterproof and secured with a Fidlock™ magnetic buckle that's easy to adjust, even whilst wearing gloves. Reflective detailing on the dry bag also aids visibility during night time riding.
The holster is a hardshell construction with an X21 technical outer. It also includes laser cut Hypalon loops to make it fully adjustable for different aero bars, whilst its elastic cord allows storage between the bars for smaller items.
SKU - RS_RBB_STD_BLK
Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable