1/* ========================================================================== 2 ORBITAL SPACE â Single source of truth for contact info & social links. 3 Change a value here and every page updates automatically (nav, footer, 4 and any button tagged with data-mailto / data-tel / data-address / 5 data-social). No need to hunt through every HTML file by hand. 6 ========================================================================== */ 7const ORBITAL_CONFIG = { 8 email: { 9 info: '[email protected]', 10 media: '[email protected]', 11 qmrkwt2: '[email protected]' 12 }, 13 phone: '+971 58 289 1971', 14 address: 'Hamdan Innovation Incubator (Hi2)<br>221 Al Maktoum Rd, Port Saeed, Dubai, UAE', 15 social: { 16 x: 'https://x.com/orbital_space', 17 instagram: 'https://www.instagram.com/orbital.space/', 18 facebook: 'https://www.facebook.com/OrbitalSpace.UAE/', 19 linkedin: 'https://www.linkedin.com/company/orbital-space', 20 youtube: 'https://www.youtube.com/@orbitalspaceUAE' 21 } 22}; 23 24(function applyOrbitalConfig(){ 25 function run(){ 26 // mailto links: preserve any existing ?subject=... query, just swap the address 27 document.querySelectorAll('a[data-mailto]').forEach(el=>{ 28 const key = el.getAttribute('data-mailto'); 29 const addr = ORBITAL_CONFIG.email[key]; 30 if(!addr) return; 31 const href = el.getAttribute('href') || 'mailto:'; 32 el.setAttribute('href', href.replace(/^mailto:[^?]*/, 'mailto:' + addr)); 33 if(el.hasAttribute('data-text')) el.textContent = addr; 34 }); 35 // phone links 36 document.querySelectorAll('a[data-tel]').forEach(el=>{ 37 el.setAttribute('href', 'tel:' + ORBITAL_CONFIG.phone.replace(/\s+/g,'')); 38 if(el.hasAttribute('data-text')) el.textContent = ORBITAL_CONFIG.phone; 39 }); 40 // address blocks 41 document.querySelectorAll('[data-address]').forEach(el=>{ el.innerHTML = ORBITAL_CONFIG.address; }); 42 // social icons/badges 43 document.querySelectorAll('[data-social]').forEach(el=>{ 44 const key = el.getAttribute('data-social'); 45 if(ORBITAL_CONFIG.social[key]) el.setAttribute('href', ORBITAL_CONFIG.social[key]); 46 }); 47 } 48 if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run); 49 else run(); 50})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.