diff --git a/add.html b/add.html index 75fea11..9b991d2 100644 --- a/add.html +++ b/add.html @@ -548,8 +548,10 @@ if (!sel) return; try { const res = await fetch(SERVER_WEBHOOK); - const data = await res.json(); - const servers = Array.isArray(data) ? data : [data]; + const raw = await res.json(); + // Handle both {data: [...]} and flat array/object + const list = raw && Array.isArray(raw.data) ? raw.data : Array.isArray(raw) ? raw : [raw].filter(Boolean); + const servers = list.filter(function(s) { return s && s.server; }); sel.innerHTML = ''; servers.forEach(function(s) { const server = s.server || ''; diff --git a/assets/js/script.js b/assets/js/script.js index 6664924..7e6fcc7 100644 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -648,8 +648,10 @@ async function initServerLocations() { try { const res = await fetch(SERVER_WEBHOOK); - const data = await res.json(); - const servers = Array.isArray(data) ? data : [data]; + const raw = await res.json(); + // Handle both {data: [...]} and flat array/object + const list = raw && Array.isArray(raw.data) ? raw.data : Array.isArray(raw) ? raw : [raw].filter(Boolean); + const servers = list.filter(function (s) { return s && s.server; }); // Clear existing options sel.innerHTML = ""; diff --git a/index.html b/index.html index 16d76ed..31d2a5f 100644 --- a/index.html +++ b/index.html @@ -1735,7 +1735,7 @@ - +