From 9caaa65b3124f115fe3f6440300d75cf382a7b31 Mon Sep 17 00:00:00 2001 From: Myron Blair Date: Mon, 22 Jun 2026 04:33:30 +0000 Subject: [PATCH] fix: broken adminSubdomains/adminParked JS from bad patch; CORS PORT_* constants --- panel/public/assets/js/admin.js | 38 ++++++++++++++------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/panel/public/assets/js/admin.js b/panel/public/assets/js/admin.js index 26a84a2..8e8e145 100644 --- a/panel/public/assets/js/admin.js +++ b/panel/public/assets/js/admin.js @@ -4644,31 +4644,28 @@ ${results.map(z=>` // ══ ADMIN SUBDOMAINS PAGE ═════════════════════════════════════════════════ window.adminSubdomains = async function() { - Nova.loadPage('subdomains', window._novaPages); document.getElementById('page-title').textContent='All Subdomains'; document.getElementById('page-content').innerHTML=`, 'All Subdomains', ` + document.querySelectorAll('.sidebar-link').forEach(l=>l.classList.remove('active')); + document.querySelector('[data-page="subdomains"]')?.classList.add('active'); + document.getElementById('page-title').textContent = 'All Subdomains'; + document.getElementById('page-content').innerHTML = `

All subdomains across all hosting accounts.

-
Loading…
`); - `; +
Loading…
`; const el = document.getElementById('admin-sub-list'); const res = await Nova.api('accounts','list',{params:{per_page:200}}); if (!res?.success || !res.data?.length) { el.innerHTML='
No accounts
'; return; } - const accts = res.data; let rows = []; - for (const acct of accts) { + for (const acct of res.data) { const dr = await Nova.api('domains','list',{params:{account_id:acct.id}}); if (!dr?.success) continue; - dr.data.filter(d=>d.type==='subdomain').forEach(d => rows.push({...d, account_username: acct.username, account_domain: acct.domain})); + dr.data.filter(d=>d.type==='subdomain').forEach(d=>rows.push({...d,acct_username:acct.username})); } if (!rows.length) { el.innerHTML='
No subdomains found.
'; return; } - el.innerHTML = ` - ${rows.map(d=>` - - - - - - `).join('')} + el.innerHTML = `
AccountSubdomainSSLCreated
${d.account_username}${d.domain}${d.ssl_enabled ? 'SSL' : '—'}${(d.created_at||'').split('T')[0]}
+ ${rows.map(d=>` + + `).join('')}
AccountSubdomainSSLCreated
${d.acct_username}${d.domain}${d.ssl_enabled?Nova.badge('SSL','green'):'—'}${(d.created_at||'').split('T')[0]}
`; }; @@ -4681,8 +4678,7 @@ window.adminParked = async function() {

All parked/alias domains across all accounts.

-
Loading…
`); - `; +
Loading…
`; const el = document.getElementById('admin-park-list'); const res = await Nova.api('accounts','list',{params:{per_page:200}}); if (!res?.success || !res.data?.length) { el.innerHTML='
No accounts
'; return; } @@ -4691,15 +4687,13 @@ window.adminParked = async function() { const dr = await Nova.api('domains','list',{params:{account_id:acct.id}}); if (!dr?.success) continue; const main = dr.data.find(d=>d.type==='main'); - dr.data.filter(d=>d.type==='parked'||d.type==='alias').forEach(d => rows.push({...d, account_username: acct.username, main_domain: main?.domain||acct.domain})); + dr.data.filter(d=>d.type==='parked'||d.type==='alias').forEach(d=>rows.push({...d,acct_username:acct.username,main_domain:main?.domain||acct.domain})); } if (!rows.length) { el.innerHTML='
No parked domains found.
'; return; } el.innerHTML = ` - ${rows.map(d=>` - - + ${rows.map(d=>` - - `).join('')} + `).join('')}
AccountParked DomainPoints ToCreated
${d.account_username}${d.domain}
${d.acct_username}${d.domain} ${d.main_domain}${(d.created_at||'').split('T')[0]}
${(d.created_at||'').split('T')[0]}
`; }; +