Sell Your Bike
Contact Us
My Account
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "ProjektRide","sameAs": [
null,
null,
null,
null,
null,
null,
null
],
"url": "https:\/\/projektride.co.uk"
}
ProjektRide
Questions and answers
Please get in touch with a member of the team either by phone (
) or email (
) where on of the team will be more than happy to help.
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.
We also have a physical store, if you are local please pop in -
82 Newington Road, EH91QN, Edinburgh.
<
img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer">
Contact Us
Track Service Progress
Insure Your Bike
Cookie Policy
Refund policy
Workshop Prices
Delivery & Returns
INFORMATION
Sat: 9:00 - 16:00
Edinburgh
ProjektRide
Juan Borges Designs
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","storef
ront_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":{},"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_cus "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_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_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":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge 889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,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,441555943098
58,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647],"updated_at":"2025-12-07T05:37:10Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._Rest 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":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentag
e","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.","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_t ins \/ side, with Nyloc nuts\u003c\/li\u003e\n\u003cli\u003eDU plus cartridge bearing axle system\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003eThin leading edge chamfered design to deflect off \u003c\/span\u003eobstacles\u003c\/li\u003e\n\u003cli\u003eWide platform design for increased stability\u003c\/li\u003e\n\u003cli\u003eContoured shape provides ultimate connected feel\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\n\u003cspan\u003eSPECS\u003c\/span\u003e \u003c\/h3\u003e\n\u003cdiv\u003e\n\u003cspan\u003e\u003cstrong\u003eWeight:\u003c\/strong\u003e 355g \u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cstrong\u003ePlatform Size:\u003c\/strong\u003e 115x105mm\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003e# of Pins: \u003c\/strong\u003e10 per side\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003eAxle Material:\u003c\/strong\u003e Black chromoly steel\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u0
03cstrong\u003e\u003cspan\u003eHeight\u003c\/span\u003e:\u003c\/strong\u003e 18.5mm (13.3 at the leading edge)\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003ePin to Axle distance:\u003c\/strong\u003e 108mm\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eColor:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eStealth Black, Red, Blue, Orange, Green, Purple, Turquoise\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBody Material:\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eNylon Composite\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\u003cspan\u003e\u003c\/span\u003e\u003cstrong\u003eINSTRUCTIONS\u003c\/strong\u003e\u003cbr\u003e\u003cspan\u003eInstall with 6mm Hex or 15mm pedal wrench. Torque to 35Nm (25 ft-lbs) Min\u003c\/span\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","published_ - Red","public_title":"Red","options":["Red"],"price":3950,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31696857727202,"position":2,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Red-966_1024x1024_06dc371b-89e2-453b-a95e-683881e2526d.webp?v=1679258791"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43938299838690,"title":"Blue","option1":"Blue","option2":null,"option3":null,"sku":"1C0399BLU","requires_shipping":true,"taxable":true,"featured_image":{"id":39098412859618,"product_id":8055472881890,"position":3,"created_at":"2023-03-19T20:46:27+00:00","updated_at":"2023-03-19T20:46:29+00:00","alt":null,"width":966,"height":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Blue-966_1024x1024_ef5051e5-c61a-4605-be01-28fe9a036fa4.webp?v=1679258789","variant_ids":[43938299838690]},"available":tru
e,"name":"One Up Composite Pedals - Blue","public_title":"Blue","options":["Blue"],"price":3950,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31696857759970,"position":3,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Blue-966_1024x1024_ef5051e5-c61a-4605-be01-28fe9a036fa4.webp?v=1679258789"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43938299871458,"title":"Orange","option1":"Orange","option2":null,"option3":null,"sku":"1C0399ORA","requires_shipping":true,"taxable":true,"featured_image":{"id":39098412925154,"product_id":8055472881890,"position":4,"created_at":"2023-03-19T20:46:27+00:00","updated_at":"2023-03-19T20:46:30+00:00","alt":null,"width":966,"height":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Orange-966_1024x1024_c9208800-1063-465e-a00b-0880a280d6b5.webp?v=1679258790","var CompPedal-Top-Purple-966_1024x1024_67aaebad-c14d-414b-8a15-ed6535e4dc44.webp?v=1679258789","variant_ids":[43938299936994]},"available":true,"name":"One Up Composite Pedals - Purple","public_title":"Purple","options":["Purple"],"price":3950,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31696857858274,"position":6,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Purple-966_1024x1024_67aaebad-c14d-414b-8a15-ed6535e4dc44.webp?v=1679258789"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43938299969762,"title":"Turquoise","option1":"Turquoise","option2":null,"option3":null,"sku":"1C0399TUR","requires_shipping":true,"taxable":true,"featured_image":{"id":39098412892386,"product_id":8055472881890,"position":7,"created_at":"2023-03-19T20:46:27+00:00","updated_at":"2023-03-19T20:46:30+00:00","alt":null,"width":966,"height":966,"src":"\/\/
projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Turquoise-966_1024x1024_2bf60d3e-0374-4147-87fb-58ce6b805716.webp?v=1679258790","variant_ids":[43938299969762]},"available":true,"name":"One Up Composite Pedals - Turquoise","public_title":"Turquoise","options":["Turquoise"],"price":3950,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31696857891042,"position":7,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Turquoise-966_1024x1024_2bf60d3e-0374-4147-87fb-58ce6b805716.webp?v=1679258790"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Black-966_1024x1024_bc4e0619-b340-44f7-8fa2-ac16b85d9c4b.webp?v=1679258790","\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Red-966_1024x1024_06dc371b-89e2-453b-a95e-68388 eight":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Blue-966_1024x1024_ef5051e5-c61a-4605-be01-28fe9a036fa4.webp?v=1679258789"},"aspect_ratio":1.0,"height":966,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Blue-966_1024x1024_ef5051e5-c61a-4605-be01-28fe9a036fa4.webp?v=1679258789","width":966},{"alt":null,"id":31696857792738,"position":4,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Orange-966_1024x1024_c9208800-1063-465e-a00b-0880a280d6b5.webp?v=1679258790"},"aspect_ratio":1.0,"height":966,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Orange-966_1024x1024_c9208800-1063-465e-a00b-0880a280d6b5.webp?v=1679258790","width":966},{"alt":null,"id":31696857825506,"position":5,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.
co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Green-966_1024x1024_45e415f3-561c-461a-924c-9d361cbf3df4.webp?v=1679258790"},"aspect_ratio":1.0,"height":966,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Green-966_1024x1024_45e415f3-561c-461a-924c-9d361cbf3df4.webp?v=1679258790","width":966},{"alt":null,"id":31696857858274,"position":6,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Purple-966_1024x1024_67aaebad-c14d-414b-8a15-ed6535e4dc44.webp?v=1679258789"},"aspect_ratio":1.0,"height":966,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components-CompPedal-Top-Purple-966_1024x1024_67aaebad-c14d-414b-8a15-ed6535e4dc44.webp?v=1679258789","width":966},{"alt":null,"id":31696857891042,"position":7,"preview_image":{"aspect_ratio":1.0,"height":966,"width":966,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/OneUp-Components \u003e\u003cstrong\u003eWeight:\u003c\/strong\u003e 355g \u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cstrong\u003ePlatform Size:\u003c\/strong\u003e 115x105mm\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003e# of Pins: \u003c\/strong\u003e10 per side\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003eAxle Material:\u003c\/strong\u003e Black chromoly steel\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan\u003eHeight\u003c\/span\u003e:\u003c\/strong\u003e 18.5mm (13.3 at the leading edge)\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003ePin to Axle distance:\u003c\/strong\u003e 108mm\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eColor:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eStealth Black, Red, Blue, Orange, Green, Purple, Turquoise\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBody Material:
\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eNylon Composite\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\u003cspan\u003e\u003c\/span\u003e\u003cstrong\u003eINSTRUCTIONS\u003c\/strong\u003e\u003cbr\u003e\u003cspan\u003eInstall with 6mm Hex or 15mm pedal wrench. Torque to 35Nm (25 ft-lbs) Min\u003c\/span\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"};
window._RestockRocketConfig.variantsInventoryPolicy = {43938300002530 : "continue",43938299805922 : "continue",43938299838690 : "continue",43938299871458 : "continue",43938299904226 : "continue",43938299936994 : "continue",43938299969762 : "continue",};
window._RestockRocketConfig.variantsInventoryQuantity = {43938300002530 : parseInt("100"),43938299805922 : parseInt("44"),43938299838690 : parseInt("19"),43938299871458 : parseInt("31"),43938299904226 : parseInt("25"),43938299936994 : parseInt("43"),43938299969762 : par t-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
// Metafield hasn't been backfilled yet - force refresh
console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
return null;
}
// Translations object exists in metafield - cache is valid
// If current locale isn't translated, applyTranslations will gracefully use default locale from base fields
if (window._RestockRocketConfig.normalizedLocale &&
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
// Don't return null - continue using cache even for untranslated locales
}
const updatedAt = new Date(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 !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key
];
if (value !== null && value
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._RestockRocketConfig.scriptUrlCollection);
} else if(wind
ow._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'product') {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts 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
<
maxRetries) {
console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`);
setTimeout(() => attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}
cent-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-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{fon
t-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:100%;gap:10px}.restock-rocket-preorder-countdown-timer .coun
