Home
Hire
Bikes
See More
New Bikes
See More
Shop All New Bikes
Road / Gravel / Touring Bikes
Hybrid / City Bikes
Mountain Bikes
Electric Bikes
Kids Bikes
Frames
Shop by Brand
See More
Gloria
Restrap Race Frame Bag - Large – ProjektRide
Trek
Skip to content
Amflow
Velduro
Yeti
Close
Ridgeback
Home
Brother
Hire
Genesis
Bikes
Singular
See More
Enigma
FrogNew Bikes
See More
Kona
SurlyShop All New Bikes
Skip to content
UTO (ex Eovolt)Road / Gravel / Touring Bikes
Early RiderHybrid / City Bikes
CloseArgon 18Mountain Bikes
Electric Bikes
HomeSecond-Hand Bikes
See MoreKids Bikes
Hire
Frames
BikesShop All Second-Hand
See More
Shop by Brand
Custom Builds
See More
See More
New Bikes
See More Gloria
Custom Builds for sale
Trek
Shop All New BikesCustom Build Inspiration
Amflow
Road / Gravel / Touring Bikes
Velduro
ServicesHybrid / City BikesServices See More
See More
See More See MoreYeti
Mountain Bikes
Ridgeback Workshop
Electric Bikes Workshop
Workshop Workshop See More
BrotherSee More
See MoreKids BikesSee More
Genesis Workshop Prices
Frames Workshop Prices
Workshop Prices Workshop Prices
Singular Book a Service
Book a Service
Book a ServiceShop by BrandBook a Service
Enigma Track Your Service
See More Track Your Service
Track Your Service Track Your Service
Frog
Other
Gloria Other
Other OtherKona See More
See More
See MoreTrekSee More
Surly
Custom Builds
Amflow Custom Builds
Custom Builds Custom BuildsUTO (ex Eovolt)
Cycle To Work Schemes
Velduro Cycle To Work Schemes
Cycle To Work Schemes Cycle To Work SchemesEarly Rider
Insure Your Bike
Yeti Insure Your Bike
Insure Your Bike Insure Your BikeArgon 18
Ridgeback Book a Service
Book a Service
Book a Service Book a ServiceSecond-Hand Bikes
Brother
See More
Parts & Components
Genesis Parts & Components
Parts & Components Parts & Components See More
Shop All Second-HandSee More
See MoreSingularSee More
Enigma Custom Builds Brands
Brands
Brands BrandsSee More See More
Frog See More
See More See More
Kona Custom Builds for sale Hope
Hope
Hope Hope
Surly Custom Build Inspiration Enve
Enve
Enve Enve
UTO (ex Eovolt)
Restrap Race Stem Bag – ProjektRideCockpit
Cockpit
Services See More
See More
See More
Handlebars
Handlebars
Workshop Stems
Stems
See More
Grips & Bar-Tape
Ass savers mudder mini – ProjektRide Grips & Bar-Tape
Workshop Prices Headsets
Headsets
Book a Service
Brakes
Brakes
Track Your Service See More
See More
Other Complete Brakes
Complete Brakes
See More
Brake Rotors
Brake Rotors
Custom Builds Brake Pads
Brake Pads
Cycle To Work Schemes Brake Spares
Brake Spares
Insure Your Bike
Forks
Forks
See More
Book a ServiceSee More
See More
Front Suspension
Workshop Prices
Rear Suspension
Book a Service
Track Your ServiceFinishing Kit
See More
Other
See MoreTyres
Tubes
Custom Builds
Tubeless
Cycle To Work Schemes
Saddles
Insure Your Bike
Seat Posts & Clamps
Book a Service
Pedals
Parts & ComponentsGears & Drivetrain
See MoreSee More
Components
Brands
See MoreE-bike Batteries and chargers
HopeWheels
See More
Enve
Complete Wheels
Cockpit
See More
Tubeless
HandlebarsTools & Maintenance
StemsClothing and Protection
See More
Grips & Bar-Tape
HeadsetsProjektRide Merchandise
Helmets
Brakes
See MoreGloves
Clothing
Complete Brakes
Socks
Brake Rotors
Brake PadsEssentials
See More
Brake Spares
Cleaners, Degreasers and Lubrication
Forks
See MoreAccessories
Maintenance
Front Suspension
Rear Suspension
Sell Your Bike
Finishing Kit
Contact Us
See More
Finance
Tyres
Log in
Tubes
TubelessCreate account
SaddlesSearch
Seat Posts & Clamps
Pedals
Cart
0 items
Gears & Drivetrain
See More
ComponentsSorry, looks like we don't have enough of this product.
Skip to content
Wheels
See More
Add order notes
Special instructions for seller
Essentials
Your cart is currently empty.
.cart-collection__title { --text: #ffffff; }
Items
Free
Checkout
Free
 
 
Shipping & taxes calculated at checkout
:root { --header-height: 60px; --header-sticky-height: 60px; --header-background-height: 60px; } :root { --full-height: calc(100vh - var(--header-sticky-height)); } .main-content > .shopify-section.supports-transparent-header:first-child [data-prevent-transparent-header] { --full-height: var(--content-full); } .site-header--has-border { --border-color: currentcolor; --border-opacity: 0.0; }
Open navigation menu
.logo__image-link { width: 100px; height: 28px; } .has-scrolled .logo__image-link { width: 100px; height: 28px; }
Open search bar
Search for products on our site
Suggested search terms
About Us
Contact Us
Blog
Track Service Progress
Building Your Bike From the Box
Seat Posts & Clamps
Insure Your Bike
Pedals
Privacy Policy
Gears & DrivetrainCookie Policy
See More
Terms of Service
ComponentsRefund policy
E-bike Batteries and chargers
Wheels
See MoreOpen cart
Complete Wheels
TubelessHome
Tools & Maintenance
Hire
Clothing and Protection
See MoreBikes
New Bikes
ProjektRide Merchandise
Shop All New Bikes
Road / Gravel / Touring Bikes
Hybrid / City Bikes
Mountain Bikes
Electric Bikes
Kids Bikes
Frames
Shop by Brand
Gloria
Trek
Amflow
Velduro
Yeti
Ridgeback
Brother
Genesis
Singular
Enigma
Frog
Kona
Surly
UTO (ex Eovolt)
Early Rider
Argon 18
Second-Hand Bikes
Shop All Second-Hand
Custom Builds
Custom Builds for sale
Custom Build Inspiration
Services
Your cart is currently empty.
.cart-collection__title { --text: #ffffff; }Workshop
Workshop Prices
Book a Service
ItemsTrack Your Service
FreeOther
Custom Builds
Cycle To Work Schemes
Checkout
FreeInsure Your Bike
Book a Service
 
 
Parts & Components
Brands
Hope
Shipping & taxes calculated at checkout
Enve
Cockpit
Handlebars
:root { --header-height: 60px; --header-sticky-height: 60px; --header-background-height: 60px; } :root { --full-height: calc(100vh - var(--header-sticky-height)); } .main-content > .shopify-section.supports-transparent-header:first-child [data-prevent-transparent-header] { --full-height: var(--content-full); } .site-header--has-border { --border-color: currentcolor; --border-opacity: 0.0; }
Stems
Grips & Bar-Tape
Open navigation menu
.logo__image-link { width: 100px; height: 28px; } .has-scrolled .logo__image-link { width: 100px; height: 28px; }Headsets
Brakes
Complete Brakes
Open search barBrake Rotors
Brake Pads
Brake Spares
Search for products on our site
Forks
Front Suspension
Rear Suspension
Finishing Kit
Tyres
Tubes
Suggested search terms
Tubeless
About UsSaddles
Contact UsSeat Posts & Clamps
BlogPedals
Gears & Drivetrain
Track Service Progress
Components
Building Your Bike From the Box
E-bike Batteries and chargers
Insure Your BikeWheels
Complete Wheels
Privacy Policy
Tubeless
Tools & Maintenance
Cookie PolicyClothing and Protection
ProjektRide Merchandise
Terms of Service
Helmets
Refund policy
Gloves
Clothing
Socks
Open cart
Essentials
Cleaners, Degreasers and Lubrication
Accessories
Home
Maintenance
Hire
Bikes
Sell Your Bike
New Bikes
Shop All New BikesContact Us
Road / Gravel / Touring Bikes
Finance
Hybrid / City Bikes
Open search bar
Mountain Bikes
Electric Bikes
Kids BikesSearch for products on our site
Frames
Shop by Brand
Gloria
Trek
Amflow
Suggested search terms
Velduro
YetiAbout Us
RidgebackContact Us
BrotherBlog
GenesisTrack Service Progress
SingularBuilding Your Bike From the Box
EnigmaInsure Your Bike
FrogPrivacy Policy
KonaCookie Policy
SurlyTerms of Service
UTO (ex Eovolt)Refund policy
Early Rider
Argon 18
Second-Hand Bikes
My Account
Shop All Second-Hand
Custom Builds
Custom Builds for saleOpen cart
Custom Build Inspiration
Open search bar
Services
WorkshopSearch for products on our site
Workshop Prices
Book a Service
Track Your Service
Other
Custom Builds
Cycle To Work SchemesSuggested search terms
Insure Your Bike
About Us
Book a Service
Contact Us
Blog
Parts & Components
Track Service Progress
Brands
Building Your Bike From the Box
Hope
Brother
Genesis
Singular
Enigma
Frog
Kona
Surly
UTO (ex Eovolt)
Early Rider
Argon 18
Second-Hand Bikes
See More
Shop All Second-Hand
Custom Builds
See More
Custom Builds for sale
Custom Build Inspiration
Services
See More
Workshop
See More
Workshop Prices
Book a Service
Track Your Service
Other
See More
Custom Builds
Cycle To Work Schemes
Insure Your Bike
Book a Service
Forks
See MoreParts & Components
See More
Front Suspension
Rear SuspensionBrands
See More
Hope
Finishing Kit
See MoreEnve
Tyres
TubesCockpit
See More
Tubeless
SaddlesHandlebars
Seat Posts & ClampsStems
PedalsGrips & Bar-Tape
Headsets
Gears & Drivetrain
See More
Brakes
See More
Components
E-bike Batteries and chargers Complete Brakes
Brake Rotors
Brake Pads
Wheels
See MoreBrake Spares
Complete WheelsForks
See More
Front Suspension
Tubeless
Rear Suspension
Tools & Maintenance
Finishing Kit
See More
Clothing and Protection
See More
Congo - Brazzaville (XAFCFA)
Slovenia (EUR€)
Niger (XOFFr)
Guadeloupe (EUR€) Somalia (GBP£)
Somalia (GBP£)
Nigeria (NGN₦)
Guernsey (GBP£) South Africa (GBP£)
South Africa (GBP£)
North Macedonia (MKDден)
Guinea (GNFFr) South Sudan (GBP£)
South Sudan (GBP£)
Norway (GBP£)
Guinea-Bissau (XOFFr) Spain (EUR€)
Spain (EUR€)
Poland (PLNzł)
Hungary (HUFFt) St. Helena (SHP£)
St. Helena (SHP£)
Portugal (EUR€)
Iceland (ISKkr) Sudan (GBP£)
Sudan (GBP£)
Réunion (EUR€)
Ireland (EUR€) Svalbard & Jan Mayen (GBP£)
Svalbard & Jan Mayen (GBP£)
Romania (RONLei)
Isle of Man (GBP£) Sweden (SEKkr)
Sweden (SEKkr)
Rwanda (RWFFRw)
Italy (EUR€) Switzerland (CHFCHF)
Switzerland (CHFCHF)
San Marino (EUR€)
Jersey (GBP£) Tanzania (TZSSh)
Tanzania (TZSSh)
São Tomé & Príncipe (STDDb)
Kenya (KESKSh) Togo (XOFFr)
Togo (XOFFr)
Senegal (XOFFr)
Kosovo (EUR€) Tristan da Cunha (GBP£)
Tristan da Cunha (GBP£)
Serbia (RSDРСД)
Latvia (EUR€) Tunisia (GBP£)
Tunisia (GBP£)
Seychelles (GBP£)
Lesotho (GBP£) Türkiye (GBP£)
Türkiye (GBP£)
Sierra Leone (SLLLe)
Liberia (GBP£) Uganda (UGXUSh)
Uganda (UGXUSh)
Slovakia (EUR€)
Libya (GBP£) Ukraine (UAH₴)
Ukraine (UAH₴)
Slovenia (EUR€)
Liechtenstein (CHFCHF) United Kingdom (GBP£)
United Kingdom (GBP£)
Somalia (GBP£)
Lithuania (EUR€) United States (GBP£)
United States (GBP£)
South Africa (GBP£)
Luxembourg (EUR€) Vatican City (EUR€)
Vatican City (EUR€)
South Sudan (GBP£)
Madagascar (GBP£) Western Sahara (MADد.م.)
Western Sahara (MADد.م.)
Spain (EUR€)
Malawi (MWKMK) Zambia (GBP£)
Zambia (GBP£)
St. Helena (SHP£)
Mali (XOFFr) Zimbabwe (USD$)
Zimbabwe (USD$)
Sudan (GBP£)
Svalbard & Jan Mayen (GBP£)
Sweden (SEKkr)
Switzerland (CHFCHF)
Tanzania (TZSSh)
Togo (XOFFr)
Tristan da Cunha (GBP£)
Tunisia (GBP£)
Türkiye (GBP£)
Uganda (UGXUSh)
Ukraine (UAH₴)
United Kingdom (GBP£)
United States (GBP£)
Vatican City (EUR€)
Western Sahara (MADد.م.)
Zambia (GBP£)
Zimbabwe (USD$)
Shop All
BUY
SELL
RIDE CONFIDENT
#productTemplate--template--26482384994687__main { --PT: 60px; --PB: 30px; }
Home
/
Restrap
/
Restrap Race Frame Bag - Large
Restrap Race Frame Bag - Large
Quantity
1
1
2
3
4
5
6
7
8
9
10 +
Quantity
Decrease Quantity
Increase Quantity
ype":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-01-02at18.37.48.png?v=1672684751\u0026width=1920","name":"Surly Bridge Club Frameset - Black - Large","offers":{"@id":"\/products\/surly-bridge-club-frameset-black?variant=43725371670754#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"799.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/surly-bridge-club-frameset-black?variant=43725371670754"},"sku":"FMSUBC253K"},{"@id":"\/products\/surly-bridge-club-frameset-black?variant=43725371703522#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-01-02at18.37.48.png?v=1672684751\u0026width=1920","name":"Surly Bridge Club Frameset - Black - Extra Large","offers":{"@id":"\/products\/surly-bridge-club-frameset-black?variant=43725371703522#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"799.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.
Isle of Man (GBP£)
Italy (EUR€)
Jersey (GBP£)
Kenya (KESKSh)
Kosovo (EUR€)
Latvia (EUR€)
Lesotho (GBP£)
Liberia (GBP£)
Libya (GBP£)
Liechtenstein (CHFCHF)
Lithuania (EUR€)
Luxembourg (EUR€)
Madagascar (GBP£)
Malawi (MWKMK)
Mali (XOFFr)
Malta (EUR€)
Mauritania (GBP£)
Mauritius (MUR₨)
Mayotte (EUR€)
Moldova (MDLL)
CloseMonaco (EUR€)
Montenegro (EUR€)
Morocco (MADد.م.)
window._RestockRocketConfig = window._RestockRocketConfig || {} window._RestockRocket = window._RestockRocket || {} window._Stoq = window._RestockRocket window._StoqConfig = window._RestockRocketConfig try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } function normalizeLocale(locale) { if (!locale || locale.trim() === '') { return ''; } return locale.toString().toLowerCase().replace(/-/g, '_'); } window._RestockRocketConfig.locale = 'en'; window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); window._RestockRocketConfig.shop = 'projektride.myshopify.com'; window._RestockRocketConfig.pageType = 'product'; window._RestockRocketConfig.liquidRenderedAt = 1792175366;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.languageIsoCode = 'en'; if (!window._RestockRocketConfig.cartToken) { try { const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); } catch (e) { } } window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2026-10-01T04:48:15.444Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"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_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":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_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":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","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":".product-grid-item__info","insert_button_after_selector_index":".product-grid-item__info","push_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":".product-grid-item__info","show_button_on_page":false,"insert_button_after_selector_search":".grid","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":".product-grid-item__title","index_link_selector":".product-grid-item__title","page_link_selector":".product-grid-item__title","search_link_selector":".product-grid-item__title","collection_check_link_visibility":true,"collection_buttons_container":".grid","index_buttons_container":".carousel.grid--mobile .flickity-viewport","page_buttons_container":".grid","search_buttons_container":".grid","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":"","preorder_add_to_cart_button_selector":".product__submit__holder .product__submit__buttons button","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_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":".product__media__holder","preorder_index_badge_selector":".product__media__holder","preorder_page_badge_selector":".product__media__holder","preorder_search_badge_selector":".product__media__holder","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":".product__form .btn","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":".product__price--regular","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":".product__price--regular","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".product__form","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-10-01T04:48:15.476Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"}; window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42140096102626,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,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938298233058,43938298265826,43938298298594,43938298331362,43938298364130,43938298396898,43938298429666,43938298462434,43938299805922,43938299838690,43938299871458,43938299904226,43938299936994,43938299969762,43938300002530,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981382353122,43981392773346,43981392806114,43981392871650,43981392937186,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746],"updated_at":"2026-10-16T18:21:56Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null,"bulk_operation":true};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] }; window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-10-16T18:27:21Z","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":"2026-10-16T18:27:21Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642"; window._RestockRocketConfig.sellingPlans = [];(function() { const cachedData = {"plans":[{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[],"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_enabled":true,"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":"Estimated to ship within 2 months","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_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,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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.","disable_button_until_acknowledged":false,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-08-31T15:28:37.678Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[]}],"disabled_plan_ids":[714631872895,713813721471,713176482175],"has_in_stock_offer":false,"has_preorder_offer":true,"read_flags":{},"cached_at":"2026-10-10T11:02:02Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDate = max ? new Date(max) : null; return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; } return max; }, '') : null; const cachedDate = new Date(cachedData.cached_at); const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); if (useCached) { if (Array.isArray(cachedData.plans)) { window._RestockRocketConfig.sellingPlans = cachedData.plans; window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); } } else { window._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};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.product = { id: 7987681886434, title: "Surly Bridge Club Frameset - Black", handle: "surly-bridge-club-frameset-black", vendor: "Surly", tags: ["bike","BIKES","frames","New","new bikes","surly"], available: true, options: ["Size"], selling_plan_groups: [], featured_image: "\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-01-02at18.37.48.png?v=1672684751\u0026width=800", variants: [{ id: 43725371572450, title: "Extra Small", available: false, sku: "FMSUBC250K", price: 79900 }, { id: 43725371605218, title: "Small", available: true, sku: "FMSUBC251K", price: 79900 }, { id: 43725371637986, title: "Medium", available: true, sku: "FMSUBC252K", price: 79900 }, { id: 43725371670754, title: "Large", available: false, sku: "FMSUBC253K", price: 79900 }, { id: 43725371703522, title: "Extra Large", available: false, sku: "FMSUBC254K", price: 79900 } ] };window._RestockRocketConfig.variantsInventoryPolicy = {43725371572450 : "deny",43725371605218 : "deny",43725371637986 : "deny",43725371670754 : "deny",43725371703522 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {43725371572450 : 0,43725371605218 : 1,43725371637986 : 1,43725371670754 : 0,43725371703522 : 0,}; window._RestockRocketConfig.variantsPreorderCount = {43725371572450 : parseInt(""),43725371605218 : parseInt(""),43725371637986 : parseInt(""),43725371670754 : parseInt(""),43725371703522 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {43725371572450 : null,43725371605218 : null,43725371637986 : null,43725371670754 : null,43725371703522 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {43725371572450 : parseInt(""),43725371605218 : parseInt(""),43725371637986 : parseInt(""),43725371670754 : parseInt(""),43725371703522 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43725371572450 : null,43725371605218 : null,43725371637986 : null,43725371670754 : null,43725371703522 : null,}; window._RestockRocketConfig.variantsShippingText = {43725371572450 : "",43725371605218 : "",43725371637986 : "",43725371670754 : "",43725371703522 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {43725371572450 : null,43725371605218 : null,43725371637986 : null,43725371670754 : null,43725371703522 : null,};window._RestockRocketConfig.selected_variant_id = 43725371605218; window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available; (function (c) { c.cartInventoryQuantity = {}; function s(k, id, v) { if (v !== null) (c[k] = c[k] || {})[id] = v; } function sm(k, id, v) { if (v !== null) ((c[k] = c[k] || {})[id] = {})[c.marketId] = v; } function p(k, id, v) { if (v !== null) (c[k] = c[k] || []).push(id); } })(window._RestockRocketConfig); try { var _sqCfg = window._RestockRocketConfig; var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); } catch (e) { } try { var _sqc = window._RestockRocketConfig; var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); var _sqPre = (_sqc.cachedPreorderVariantIds && _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; var _sqAlways = []; (Array.isArray(_sqc.sellingPlans) ? _sqc.sellingPlans : []).forEach(function (p) { if (p && p.enabled && p.inventory_provider === 'always') _sqAlways = _sqAlways.concat(p.variant_ids || []); }); var _sqArm = false; if (_sqOn && (_sqc.preordersConfigured || _sqAlways.length)) { if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1 || _sqAlways.indexOf(Number(v.id)) !== -1; }); } else { _sqArm = (_sqc.integrations || []).some(function (i) { return i && i.type === 'featured_product' && i.enabled && Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; }); } } if (_sqArm && document.documentElement) { _sqc.acceleratedGateArmed = true; document.documentElement.classList.add('stoq-buy-now-pending'); setTimeout(function () { document.documentElement.classList.remove('stoq-buy-now-pending'); }, 6000); } } catch (e) { } window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a145e0-d08f-76a4-81f1-b5c36bacb1a9/restockrocket-1-609/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a145e0-d08f-76a4-81f1-b5c36bacb1a9/restockrocket-1-609/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a145e0-d08f-76a4-81f1-b5c36bacb1a9/restockrocket-1-609/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a145e0-d08f-76a4-81f1-b5c36bacb1a9/restockrocket-1-609/assets/restockrocket-collection-bis.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' try { const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; } catch (e) { window._RestockRocketConfig.appVersion = ''; } const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; const LIQUID_CACHE_MAX_AGE = 15 * 60; const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; window._RestockRocketConfig.liquidCacheAge = null; } else { const now = Math.floor(Date.now() / 1000); const liquidCacheAge = now - liquidRenderedAt; window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); if (liquidCacheAge
0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge
= 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; } if (settings.multi_language_enabled) { if (!settings.translations) { console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } if (window._RestockRocketConfig.normalizedLocale &
const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)) ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) : []; const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; var _stoqPageSeq = 0; try { _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); } catch (e) { } Shopify?.analytics?.publish?.('stoq_initialized', { cart_token: _stoqInitConfig.cartToken || '', page_url: window.location.href, page_type: _stoqInitConfig.pageType || '', shop_domain: _stoqInitConfig.shop || '', market_id: _stoqInitConfig.marketId || '', country_code: _stoqInitConfig.countryIsoCode || '', detected_variant_ids: _stoqDetectedVariantIds, selected_variant_id: _stoqSelectedVariantId || '', page_load_seq: _stoqPageSeq, liquid_rendered_at: _stoqInitCo
var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; var _sqVidNum = Number(variantId); var _sqPlan = null; var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; var _sqMktId = Number(_sqTrack.marketId); var _sqForVariant = function (pl) { return pl && pl.enabled && Array.isArray(pl.variant_ids) && pl.variant_ids.indexOf(_sqVidNum) !== -1; }; _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && Array.isArray(pl.shopify_market_ids) && pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } }); if (!_sqPlan) { _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } }); } Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { ; }; return has(_sqTrack.inStockVariantIds) || has(_sqTrack.cachedInStockVariantIds && _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); })(), enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false) && !(_sqTrack.readFlags && _sqTrack.readFlags.accelerated_block_off === true), gate_armed: !!_sqTrack.acceleratedGateArmed, gate_active_at_click: !!(document.documentElement && document.documentElement.classList.contains('stoq-buy-now-pending')), blocked: (function () { try { var rr = window._RestockRocket; return !!(rr && typeof rr.willBlockAccel
Namibia (GBP£) )`); 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; } } function setupCartSellingPlanUpdater(settings) { window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .t