ProjektRide
Website by See More
= 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; } // 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
< age = Date.now() - updatedAt.getTime(); 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
if (!settings ||
\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\u003c\/div\u003e\n\u003cdiv data-pb-style=\"AITW7NA\" data-element=\"main\" data-video-fallback-src=\"\" data-video-lazy-load=\"true\" data-video-play-only-visible=\"true\" data-video-loop=\"true\" data-background-type=\"image\" data-background-images=\"{}\" data-parallax-speed=\"0.5\" data-enable-parallax=\"0\" data-appearance=\"full-width\" data-content-type=\"row\"\u003e\n\u003cdiv data-element=\"inner\" class=\"row-full-width-inner\"\u003e\n\u003cdiv data-decoded=\"true\" data-element=\"main\" data-appearance=\"default\" data-content-type=\"html\"\u003e\n\u003cbr\u003e\n\u003cp class=\"Yeti-Title\"\u003eSPECIFICATION\u003c\/p\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003eT \/ Series carbon fibre frame, 148mm x 12mm BOOST dropouts, integrated derailleur hanger and axle.\u003c\/p\u003e\n.\n\u003ctable class=\"YetiSpec\"\u003e\n\u003ctbody\u003e\n\u003ctr class
WHEELSET\u003c\/td\u003e\n\u003ctd\u003eDT SWISS EXC1700 CARBON 30MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eGRIPS\u003c\/td\u003e\n\u003ctd\u003eODI ELITE PRO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eBAR\u003c\/td\u003e\n\u003ctd\u003eYETI CARBON E-ROUTING 35X800MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eSTEM\u003c\/td\u003e\n\u003ctd\u003eBURGTEC ENDURO MK3 35X50MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eCRANK\u003c\/td\u003e\n\u003ctd\u003eSRAM XO 160MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eSEAT\u003c\/td\u003e\n\u003ctd\u003eWTB SOLANO CHOMOLY\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eBRAKES\u003c\/td\u003e\n\u003ctd\u003eSRAM MAVEN SILVER\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eDERAILLEUR\u003c\/td\u003e\n\u003ctd\u003eSRAM XO EAGLE AXS TRANSMISSION\u
u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eCHARGER\u003c\/td\u003e\n\u003ctd\u003eTQ 4A CHARGER\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003e\u003ci\u003ePlease note: Specifications are subject to change without notice.\u003c\/i\u003e\u003c\/p\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003cp class=\"Yeti-Title\"\u003eGEOMETRY\u003c\/p\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003eAll measurements are shown in millimetres.\u003c\/p\u003e\n\u003cdiv\u003e\u003cimg alt=\"\" src=\"https:\/\/www.silverfish-uk.com\/media\/.renditions\/wysiwyg\/products\/Yeti\/MTe-Geo_image.png\" height=\"1418\" width=\"1858\"\u003e\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv id=\"overflowTable\"\u003e\n\u003ctable class=\"YetiGeo\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"c\"\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e160MM FORK\u003c\/td\u003e\n\u003ctd\u003eSM\u003c\/td\u003e\n\u003ctd\u003eMD\u003c\/td\u003e\n\u003ctd\u00
- Track Your Service
- fig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._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 enab
- Other
- Custom Builds
Insure Your Bike
- Parts & Components
- Brands
- Hope
n\/shop\/files\/ycb25asrcgreyh.webp?v=1741953555"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcgreyh.webp?v=1741953555","width":697},{"alt":null,"id":64739620618623,"position":2,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcspru.webp?v=1741953555"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcspru.webp?v=1741953555","width":697},{"alt":null,"id":64739620651391,"position":3,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcturq.webp?v=1741953555"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcturq.webp?v=1741953555","width":697}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv data-content-type=\"html\" data-appearance=\"default\" data-element=
Workshop Prices
AccessoriesCycle to Work
Sell Your BikeockRocketConfig.variantsPreorderCountForMarket = {55196403401087 : null,55196403433855 : null,55196403466623 : null,55196403532159 : null,55196403564927 : null,55196403597695 : null,55196403630463 : null,55196403663231 : null,55196403695999 : null,55196403728767 : null,55196403761535 : null,55196403794303 : null,55196403827071 : null,55196403859839 : null,55196403892607 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {55196403401087 : parseInt(""),55196403433855 : parseInt(""),55196403466623 : parseInt(""),55196403532159 : parseInt(""),55196403564927 : parseInt(""),55196403597695 : parseInt(""),55196403630463 : parseInt(""),55196403663231 : parseInt(""),55196403695999 : parseInt(""),55196403728767 : parseInt(""),55196403761535 : parseInt(""),55196403794303 : parseInt(""),55196403827071 : parseInt(""),55196403859839 : parseInt(""),55196403892607 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55196403401087 : null,55196403433855 : null,55196403466623
E-bike Batteries and chargers Contact Us<
Mon - Fri: 09:00 - 18:30