>
>
<>
Sale
window.appBlockPlacements ||= [];
if (window.klarnaAppBlocksManager) {
window.klarnaAppBlocksManager.push({
productVariants: [{"id":45662946033890,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Voile 25″ Nylon Buckle Strap - Black","public_title":"Black","options":["Black"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45662975295714,"title":"Black \/ White","option1":"Black \/ White","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":tru<
"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45662975394018,"title":"Cyan","option1":"Cyan","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Voile 25″ Nylon Buckle Strap - Cyan","public_title":"Cyan","options":["Cyan"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45662975426786,"title":"Green","option1":"Green","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Voile 25″ Nylon Buckle Strap - Green","public_title":"Green","options":["Green"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45662975459554,"title":"GRE
Olive","public_title":"Olive","options":["Olive"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45662975557858,"title":"Orange","option1":"Orange","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Voile 25″ Nylon Buckle Strap - Orange","public_title":"Orange","options":["Orange"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45662975590626,"title":"RED","option1":"RED","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Voile 25″ Nylon Buckle Strap - RED","public_title":"RED","options":["RED"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_all
ree 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_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,"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,"quan
","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":34999,"price_min":34999,"price_max":34999,"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":45764613308642,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"RB22771","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Ridgeback Harmony","public_title":null,"options":["Default Title"],"price":34999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesrb22771_detail01.webp?v=1722607159","\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesrb22771_detail04.webp?v=1722607159","\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlineFew things in life are as reliable as the original Voile Strap®. Over the last 30 years they have become the ultimate alternative to duct tape, nylon straps, and bungee cords.
div class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/cdn/shop/files/2571D9FF-E9AE-4004-9A55-C7FD4DD999D6_2048x.jpg?v=1640941114');"><
magessportlinefwbikesrb22771_detail01.webp?v=1722607159","width":1534},{"alt":null,"id":34382324531426,"position":2,"preview_image":{"aspect_ratio":0.984,"height":1000,"width":984,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesrb22771_detail04.webp?v=1722607159"},"aspect_ratio":0.984,"height":1000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesrb22771_detail04.webp?v=1722607159","width":984},{"alt":null,"id":34382324564194,"position":3,"preview_image":{"aspect_ratio":1.498,"height":1000,"width":1498,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesrb22771_detail06.webp?v=1722607159"},"aspect_ratio":1.498,"height":1000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesrb22771_detail06.webp?v=1722607159","width":1498},{"alt":null,"id":34382324596962,"position":4,"preview_image":{"aspect_ratio":1.641,"height":935,"width":1
Genesis Tour De Fer 10
,"variants":[{"id":42514852085986,"title":"Medium 7 Liters","option1":"Medium 7 Liters","option2":null,"option3":null,"sku":"BAPPSP1X","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Passport Bike Packing Seat Saddle Bag - Medium 7 Liters","public_title":"Medium 7 Liters","options":["Medium 7 Liters"],"price":6499,"weight":2000,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42514852118754,"title":"Large 9.8 Liters","option1":"Large 9.8 Liters","option2":null,"option3":null,"sku":"BAPPSP3X","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Passport Bike Packing Seat Saddle Bag - Large 9.8 Liters","public_title":"Large 9.8 Liters","options":["Large 9.8 Liters"],"price":6999,"weight":2000,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.
1094,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-01-27at21.53.57.png?v=1643320702","width":1210},{"alt":null,"id":29164781142242,"position":3,"preview_image":{"aspect_ratio":1.019,"height":1188,"width":1210,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-01-27at21.54.10.png?v=1643320702"},"aspect_ratio":1.019,"height":1188,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-01-27at21.54.10.png?v=1643320702","width":1210}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eLightweight and aerodynamic saddle packs that have been designed to securely be attached under the saddle of your bike. Which means the saddle packs are self supporting. There is no need to add a rear rack to your bike keeping weight to a minimum.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe packs are designed to hold clothes and other items you wan 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 ||
];
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?.them 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._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.page
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 {
<
{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.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-i
ight:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{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-r
- img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class=
<

BUY
img src="//projektride.co.uk/cdn/shop/files/voile-straps-25-inch-nylon-buckle-red-1_2048x2048.jpg?v=1720100212" alt="Voile 25″ Nylon Buckle Strap" class="mfp-zoom-in-cur" id="34187413749986">
img src="//projektride.co.uk/cdn/shop/files/voile-straps-25-inch-nylon-buckle-tan-1_2048x2048.jpg?v=1720100212" alt="Voile 25″ Nylon Buckle Strap" class="mfp-zoom-in-cur" id="34187413782754">
img src="//projektride.co.uk/cdn/shop/files/voile-straps-25-inch-nylon-buckle-yellow-black-1_2048x2048.jpg?v=1720100212" alt="Voile 25″ Nylon Buckle Strap" class="mfp-zoom-in-cur" id="34187413684450">
img src="//projektride.co.uk/cdn/shop/files/voile-straps-25-inch-nylon-buckle-black-1_98x.jpg?v=1720100211" alt="" class="product-single__thumbnail-img">


