fetch('/api/config') .then(res => res.json()) .then(config => { // Package Vars for (let pkvar in config.package) { let appvar = 'app_' + pkvar; // Select *all* elements with this class const elements = document.querySelectorAll('.' + appvar); // console.log(`Found ${elements.length} elements with .${appvar}`); elements.forEach(el => { // console.log(`Setting .${appvar} = ${config.package[pkvar]}`); switch (pkvar) { case 'license': { const lic = config.package.license; const licUrl = config.package.license_url; if (licUrl) { el.innerHTML = `${lic}`; } else { el.textContent = lic; } break; } case 'homepage': let home_html = `${config.package[pkvar]}`; el.innerHTML = home_html; break; default: el.innerHTML = config.package[pkvar]; break; } }); } // Node.js let node_html = ''; node_html += ''; document.getElementById('nodejs').innerHTML = node_html; // Dependencies let dep_keys = ['name', 'version', 'license', 'homepage']; let dep_html = ''; dep_html += '
'; // g-3 adds spacing between cards for (let dep in config.dependencies) { const depInfo = config.dependencies[dep]; console.log('Dep: ' + dep); dep_html += `
${depInfo.name || dep}
    `; for (let key of dep_keys) { if (!depInfo[key]) continue; if (key === 'homepage') { dep_html += `
  • ${key}: ${depInfo[key]}
  • `; } else { dep_html += `
  • ${key}: ${depInfo[key]}
  • `; } } dep_html += `
`; } dep_html += '
'; document.getElementById('dependancies').innerHTML = dep_html; })