Public web-only release: SvxPortal front-end + auth backend, install templates and INSTALL.md
Stripped from the internal repo: per-box deploy trees, Go services (nodelist/astmeta/proxy/svxdr), deploy/sync scripts and all secrets. Config templates for nginx, PHP-FPM, Redis and tmpfiles live in install/ with CHANGEME placeholders. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
'use strict';
|
||||
|
||||
function renderList(nodes){
|
||||
const tbody = document.getElementById('rows');
|
||||
if(!tbody) return;
|
||||
tbody.innerHTML = "";
|
||||
|
||||
const calls = Object.keys(nodes || {}).sort();
|
||||
|
||||
for(const cs of calls){
|
||||
const n = nodes[cs] || {};
|
||||
const tr = document.createElement('tr');
|
||||
|
||||
const tdCS = document.createElement('td');
|
||||
tdCS.textContent = cs;
|
||||
|
||||
const tdTG = document.createElement('td');
|
||||
tdTG.textContent = (n.restrictedTG ? "*" : "") + (n.tg ?? "");
|
||||
|
||||
const tdLoc = document.createElement('td');
|
||||
let loc = "";
|
||||
if(Array.isArray(n.qth) && n.qth.length && n.qth[0].name) loc = n.qth[0].name;
|
||||
tdLoc.textContent = loc;
|
||||
|
||||
tr.appendChild(tdCS);
|
||||
tr.appendChild(tdTG);
|
||||
tr.appendChild(tdLoc);
|
||||
tbody.appendChild(tr);
|
||||
}
|
||||
|
||||
document.getElementById('nodeCount').textContent = calls.length;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user