Rider Care Sun: Closed
Tel
Genesis0131 374 5324
Singular
Location
Enigma82 Newington Road
EdinburghEH9 1QNFrog
- Kona Email
- [email protected]Surly
- UTO (ex Eovolt)
- Early Rider
- © 2025,
- Second-Hand BikesProjektRide .
- Shop All Second-Hand Website by
- Juan Borges Designs .
- Custom Builds
- Custom Builds for sale
- window._RestockRocketConfig = window._RestockRocketConfig || {} // Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us') // This matches the backend's Mobility.normalize_locale behavior // Returns empty string if locale is empty or invalid (matches original behavior) 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.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-11-11T14:27:02.312Z","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 soo
- Custom Build Inspiration ou 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_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 sub front_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_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 ca
- der_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_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, 6401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,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,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991
- = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-15T10:08:43Z","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-15T10:08:43Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.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","p _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":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"b
- er_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,"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.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8126303109346,"title":"Benno eJoy Performance Step-Thru","handle":"ejoy-performance-step-thru","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col-md-8\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"vc_custom_1581380685719\" d on makes riding easy and fun, while the extra-strong aluminium frame with its low step through design gives you a smooth ride with extra control. The eJoy is a true two-wheeled electrical vehicle that allows you to leave your car behind, whether you’re running errands or on a scenic joyride.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cdiv class=\"wpb_column vc_column_container vc_col-sm-6\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"vc_column-inner\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"wpb_wrapper\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"vc_custom_1582058674598\" data-mce-fragment=\"1\"\u003e\n\u003cdiv id=\"text-block-33\" class=\"mk-text-block jupiter-donut- bike-specs\" data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eSPECS:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eBosch Performance 250W, 65Nm, GEN 3\u003c\/li
- li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFrame-Mounted Abus Lock with Same Keys as Battery\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eLarge Aluminum Rear Rack (Max. Load 85lbs\/40kg)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSecure Yepp And Hamax Baby Seat Compatible (1 Seat)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFits Most Aftermarket Pannier Bags and Accessories\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSpecial Benno Front Trays and Bags Sold Separately\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOne Frame Size (Fits Riders From 5’0” to 6’0”)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n Services t":"2023-08-02T13:04:44+01:00","vendor":"Benno","type":"Bicycles","tags":["Boost","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":349900,"price_min":349900,"price_max":349900,"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":44199668023522,"title":"Capri Blue","option1":"Capri Blue","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Benno eJoy Performance Step-Thru - Capri Blue","public_title":"Capri Blue","options":["Capri Blue"],"price":349900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44199668056290,"title":"Citron Green","option1":"Citron Green","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Benno eJoy Perfor
- o.uk\/cdn\/shop\/files\/Screenshot2023-08-02at12.59.44.png?v=1690977886","options":["Color"],"media":[{"alt":null,"id":32052050264290,"position":1,"preview_image":{"aspect_ratio":1.111,"height":992,"width":1102,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-08-02at12.59.44.png?v=1690977886"},"aspect_ratio":1.111,"height":992,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-08-02at12.59.44.png?v=1690977886","width":1102},{"alt":null,"id":32052050297058,"position":2,"preview_image":{"aspect_ratio":1.111,"height":992,"width":1102,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-08-02at12.59.57.png?v=1690977886"},"aspect_ratio":1.111,"height":992,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-08-02at12.59.57.png?v=1690977886","width":1102},{"alt":null,"id":32052050329826,"position":3,"preview_image":{"aspect_ratio":1.111,"height":992,"width":1102,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-08-0 odern technology and our Etility® design. The result is an ebike that’s both charming and capable.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe powerful and efficient Bosch Active Plus\/Bosch Performance electric motor pairs with a sturdy oversized rear rack and an optional frame-mounted front tray to give you serious load capacity. Its comfortable and upright, yet powerful riding position makes riding easy and fun, while the extra-strong aluminium frame with its low step through design gives you a smooth ride with extra control. The eJoy is a true two-wheeled electrical vehicle that allows you to leave your car behind, whether you’re running errands or on a scenic joyride.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cdiv class=\"wpb_column vc_column_container vc_col-sm-6\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"vc_column-inner\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"wpb_wrapper\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"vc_custom_
- ata-mce-fragment=\"1\"\u003e6061 Aluminum Alloy Frame with Front Tray Mounts\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOversized CRMO Fork with Integrated Headset\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePuncture Resistance 26” x 2.35” Balloon Tyres (60psi)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eGerman Supernova Mini 2 Front Light and E3 Rear Light\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFrame-Mounted Abus Lock with Same Keys as Battery\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eLarge Aluminum Rear Rack (Max. Load 85lbs\/40kg)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSecure Yepp And Hamax Baby Seat Compatible (1 Seat)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFits Most Aftermarket Pannier Bags and Accessories\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSpecial Benno Front Trays and Bags Sold Separately\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOne Frame Size (Fits Riders From 5’0” brakes.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eDo not exceed individual load ratings and max gross weight.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-md-4\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"logo-brand\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {44199668023522 : "deny",44199668056290 : "deny",44199668089058 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {44199668023522 : parseInt("2"),44199668056290 : parseInt("2"),44199668089058 : parseInt("2"),}; window._RestockRocketConfig.variantsPreorderCount = {44199668023522 : parseInt(""),44199668056290 : parseInt(""),44199668089058 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {44199668023522 : null,44199668056290 : null,44199668089058 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {44199668023522 : parseInt(""),4419
- -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 backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no translation data in metafield (); if (age
- 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 ranslatedFields[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.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 (w
- 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.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._Re } // 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 { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => {
- <
estock-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-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:
Juan Borges Designs<
- riant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-15T10:08:43Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.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<

