From 21450ea0eb9c54725980e254ceada6e39f0bf050 Mon Sep 17 00:00:00 2001 From: Rene Fichtmueller Date: Thu, 26 Mar 2026 14:17:42 +1300 Subject: [PATCH] feat: collapsible providers list + scrollable ASPA template --- deploy/public/index.html | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/deploy/public/index.html b/deploy/public/index.html index 10fcb00..2ec9e96 100644 --- a/deploy/public/index.html +++ b/deploy/public/index.html @@ -626,21 +626,33 @@ function renderAspa(d) { h += ''; h += ''; - // Detected providers + // Detected providers (collapsible after 10) if (d.detected_providers && d.detected_providers.length > 0) { - h += '
Detected Upstream Providers
'; - h += '
'; - d.detected_providers.forEach(function(p) { + var provLimit = 10; + var provList = d.detected_providers; + h += '
Detected Upstream Providers (' + provList.length + ')
'; + h += '
'; + provList.slice(0, provLimit).forEach(function(p) { var nameStr = (p.name && p.name !== 'AS' + p.asn) ? ' ' + escHtml(p.name) : ''; h += '' + asnLink(p.asn) + nameStr + ''; }); h += '
'; + if (provList.length > provLimit) { + var provMoreId = 'provMore' + Date.now(); + h += ''; + h += '
Show ' + (provList.length - provLimit) + ' more providers...
'; + } } - // Recommended ASPA template + // Recommended ASPA template (scrollable, max 200px) if (d.recommended_aspa) { h += '
Recommended ASPA Object
'; - h += '
' + escHtml(d.recommended_aspa); + h += '
' + escHtml(d.recommended_aspa); h += ''; h += '
'; }