41611505074339
41611505074339
"1.0.3"}`;
var app_version_meta_value_version = `1.0.3`;
var app_version_meta_version = ``;
console.log('App Version:', app_version);
console.log('app_version_meta.value:', app_version_meta_value);
console.log('app_version_meta.value.version:', app_version_meta_value_version);
console.log('app_version_meta.version:', app_version_meta_version);
// ========== END APP VERSION DEBUG ==========
// ========== METAOBJECT DEBUG ==========
var metaobject_debug = {
product_id: '7313241637027',
search_pattern: '|7313241637027|',
total_rules_found: 1,
found_matching_rule: false,
metaobject_is_enabled: ''
};
// Get metaobject config - JSON field returns object, use | json to serialize
var metaobject_config_data = null;
console.log('========== METAOBJECT DEBUG ==========');
console.log('Product ID:', metaobject_debug.product_id);
console.log('Search Pattern:', metaobject_debug.search_pattern);
console.log('Total Metaobject Rules:', metaobject_debug.total_rules_found);
console.log('Found Matching Rule:', metaobject_debug.found_matching_rule);
console.log('Metaobject Config:', metaobject_config_data);
console.log('Metaobject Is Enabled:', metaobject_debug.metaobject_is_enabled);
console.log('======================================');
// Parse data based on app_version
var sb_edd_form_data = null;
var sb_rule_is_enabled = '0';
var data_source = 'none';
// VERSION-BASED DATA SOURCE SELECTION
// Version > 1.0.2 (1.0.3): Use Metaobject + API for large data
// Version <= 1.0.2: Use Product Metafield
var fetch_from_api = false;
var metaobject_rule_id = null;
if(app_version > '1.0.2') {
// VERSION 1.0.3: Check Metaobject for rule info
console.log('Version 1.0.3 detected - Checking Metaobject');
if(metaobject_debug.found_matching_rule && metaobject_config_data) {
try {
var parsedConfig = metaobject_config_data;
// If it's a string, parse it
if(typeof parsedConfig === 'string') {
parsedConfig = JSON.parse(parsedConfig);
}
console.log('Parsed Metaobject Config:', parsedConfig);
// Check if data should be fetched from API (for large configs)
if(parsedConfig.fetch_from_api === true || parsedConfig.fetch_from_api === 'true') {
fetch_from_api = true;
data_source = 'api';
console.log('Metaobject indicates fetch_from_api - will fetch from API');
} else if(parsedConfig.form_data) {
// Form data is in metaobject (small configs)
sb_edd_form_data = parsedConfig.form_data;
if(typeof sb_edd_form_data === 'string') {
sb_edd_form_data = JSON.parse(sb_edd_form_data);
}
data_source = 'metaobject';
console.log('Form Data from Metaobject:', sb_edd_form_data);
}
if(parsedConfig.is_enabled) {
sb_rule_is_enabled = parsedConfig.is_enabled;
}
} catch(e) {
console.error('Error parsing Metaobject config:', e);
console.error('Raw config data:', metaobject_config_data);
// Fallback to API fetch
fetch_from_api = true;
}
}
} else {
// VERSION 1.0.2 or below: Use Product Metafield
console.log('Version 1.0.2 or below detected - Using Product Metafield data source');
var product_metafield_data = null;
var product_metafield_enabled = `1`;
if(product_metafield_data && product_metafield_data != 'not_set' && product_metafield_data != '') {
try {
if(typeof product_metafield_data === 'string') {
product_metafield_data = product_metafield_data.replace(/'/g, ''');
sb_edd_form_data = JSON.parse(product_metafield_data);
} else {
sb_edd_form_data = product_metafield_data;
}
sb_rule_is_enabled = product_metafield_enabled;
data_source = 'product_metafield';
console.log('Form Data from Product Metafield:', sb_edd_form_data);
} catch(e) {
console.error('Error parsing Product Metafield:', e);
}
}
}
console.log('========== DATA SOURCE: ' + data_source + ' ==========');
console.log('========== FETCH FROM API: ' + fetch_from_api + ' ==========');
// Make variables globally accessible for external scripts
window.sb_edd_form_data = sb_edd_form_data;
window.sb_rule_is_enabled = sb_rule_is_enabled;
window.data_source = data_source;
window.fetch_from_api = fetch_from_api;
// ========== END METAOBJECT/PRODUCT METAFIELD PARSING ==========
var check_payment = `{"payment_status"=>"active", "plan_name"=>"special_99", "store_id"=>"647"}`;
check_payment = check_payment.replaceAll('=>',':')
check_payment = JSON.parse(check_payment);
var sb_elp_customization = {"form_template":"el_drawer","show_hide_cart":"1","show_hide_terms_checkbox":"1","redirect_to_cart":"1","elp_new_app":"1","elp_custom_css":"","elp_custom_js":" ","prescription_order_tag":"Prescription Order","select_lence_button":"Add Lenses to your order?","is_enabled":"1"};
if (typeof sb_elp_customization === 'string') {
try { sb_elp_customization = JSON.parse(sb_elp_customization.replaceAll('=>', ':')); } catch(e) { sb_elp_customization = {}; }
}
if (!sb_elp_customization || typeof sb_elp_customization !== 'object') { sb_elp_customization = {}; }
var form_template = `el_drawer`;
console.log('sb_elp_customization ',sb_elp_customization)
var select_button_title = sb_elp_customization.select_lence_button;
var sb_el_app_enable = 1
elp_call_new_app = '0';
if(typeof elp_new_app == undefined || typeof elp_new_app == 'undefined' || elp_new_app == undefined || elp_new_app == 'undefined' || elp_new_app == ''){
elp_call_new_app = '0';
sb_el_app_enable = '1';
}else{
elp_call_new_app = '1';
}
var product_variant_price = `£199.00`;
var nawVariantId = `41611505074339`;
window.sb_elp_translations = ``;
if(window.sb_elp_translations) {
try {
window.sb_elp_translations = JSON.parse(window.sb_elp_translations);
} catch(e) {
console.error('Error parsing translations JSON:', e);
console.error('Raw translations data:', window.sb_elp_translations);
window.sb_elp_translations = {};
}
}
console.log('[TRANSLATIONS] Loaded translations:', window.sb_elp_translations);
// Expose current locale from Shopify for language detection
window.sb_current_locale = 'en';
console.log('[TRANSLATIONS] Current locale:', window.sb_current_locale);
// Locale-aware root URL for Arabic/multilingual cart redirect
window.sb_routes_root = '/';