82 Newington Road, EH91QN, Edinburgh.
ns":[]},{"id":42170449297634,"title":"Purple","option1":"Purple","option2":null,"option3":null,"sku":"5534","requires_shipping":true,"taxable":true,"featured_image":{"id":36315081474274,"product_id":7474960236770,"position":5,"created_at":"2021-12-17T11:03:25+00:00","updated_at":"2021-12-17T11:03:25+00:00","alt":null,"width":1138,"height":1134,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.38.png?v=1639739005","variant_ids":[42170449297634]},"available":false,"name":"Burgtec - The Bartender Grip - Purple","public_title":"Purple","options":["Purple"],"price":1599,"weight":0,"compare_at_price":1599,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28865189773538,"position":5,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.38.png?v=1639739005"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42170449330402,"title":"Gum","option1":"
:true,"taxable":true,"featured_image":{"id":36315081703650,"product_id":7474960236770,"position":6,"created_at":"2021-12-17T11:03:29+00:00","updated_at":"2021-12-17T11:03:29+00:00","alt":null,"width":1138,"height":1134,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.52.png?v=1639739009","variant_ids":[42170449363170]},"available":false,"name":"Burgtec - The Bartender Grip - Grey","public_title":"Grey","options":["Grey"],"price":1599,"weight":0,"compare_at_price":1599,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28865190002914,"position":6,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.52.png?v=1639739009"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.49.51.png?v=1639738207","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_1rseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {42170449199330 : null,42170449232098 : null,42170449264866 : null,42170449297634 : null,42170449330402 : null,42170449363170 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {42170449199330 : parseInt(""),42170449232098 : parseInt(""),42170449264866 : parseInt(""),42170449297634 : parseInt(""),42170449330402 : parseInt(""),42170449363170 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42170449199330 : null,42170449232098 : null,42170449264866 : null,42170449297634 : null,42170449330402 : null,42170449363170 : null,};
window._RestockRocketConfig.variantsShippingText = {42170449199330 : "",42170449232098 : "",42170449264866 : "",42170449297634 : "",42170449330402 : "",42170449363170 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {42170449199330 : null,42170449232098 : null,42170449264866 : null,42170449297634 : null,42170449330402 : null,42170449
:true,"taxable":true,"featured_image":{"id":36315081703650,"product_id":7474960236770,"position":6,"created_at":"2021-12-17T11:03:29+00:00","updated_at":"2021-12-17T11:03:29+00:00","alt":null,"width":1138,"height":1134,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.52.png?v=1639739009","variant_ids":[42170449363170]},"available":false,"name":"Burgtec - The Bartender Grip - Grey","public_title":"Grey","options":["Grey"],"price":1599,"weight":0,"compare_at_price":1599,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":28865190002914,"position":6,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.52.png?v=1639739009"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.49.51.png?v=1639738207","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_1rseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {42170449199330 : null,42170449232098 : null,42170449264866 : null,42170449297634 : null,42170449330402 : null,42170449363170 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {42170449199330 : parseInt(""),42170449232098 : parseInt(""),42170449264866 : parseInt(""),42170449297634 : parseInt(""),42170449330402 : parseInt(""),42170449363170 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42170449199330 : null,42170449232098 : null,42170449264866 : null,42170449297634 : null,42170449330402 : null,42170449363170 : null,};
window._RestockRocketConfig.variantsShippingText = {42170449199330 : "",42170449232098 : "",42170449264866 : "",42170449297634 : "",42170449330402 : "",42170449363170 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {42170449199330 : null,42170449232098 : null,42170449264866 : null,42170449297634 : null,42170449330402 : null,42170449 60; // 2 hours in seconds
// Calculate Liquid cache freshness once at initialization
const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
// Validate timestamp and calculate cache age
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
const now = Math.floor(Date.now() / 1000); // Current time in seconds
const liquidCacheAge = now - liquidRenderedAt; // Age in seconds
// Handle client clock ahead of server
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;
}
// 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
= 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
Cockpit
Handlebars
Stems
Handlebars
Stems£150.00
#shopify-section-announcement-bar {
background: #f14d38;
color: #ccbebe;
}
- See MoreCustom Builds
- See More
QUICK LINKSContact Us
Building Your Bike From the BoxCookie Policy
Cycle to Work







