diff --git a/public/hop-display.js b/public/hop-display.js index fc93a01..1396177 100644 --- a/public/hop-display.js +++ b/public/hop-display.js @@ -28,25 +28,27 @@ window.HopDisplay = (function() { const unreliable = entry.unreliable || false; const display = opts.hexMode ? h : (name ? escapeHtml(opts.truncate ? name.slice(0, opts.truncate) : name) : h); - // Build tooltip + // Build tooltip β€” only show regional candidates (global is noise) let title = h; if (conflicts.length > 0) { - const lines = conflicts.map(c => { + const regional = conflicts.filter(c => c.regional); + const shown = regional.length > 0 ? regional : conflicts; // fall back to all if no regional + const lines = shown.map(c => { let line = c.name || c.pubkey?.slice(0, 12) || '?'; if (c.distKm != null) line += ` (${c.distKm}km)`; - if (c.filterMethod === 'geo') line += ' πŸ“'; - if (!c.regional) line += ' βš‘global'; return line; }); - const regionLabel = totalRegional > 0 ? `${totalRegional} regional` : `${totalGlobal} global`; - title = `${h} β€” ${regionLabel} match${conflicts.length > 1 ? 'es' : ''}:\n${lines.join('\n')}`; + const label = regional.length > 0 ? `${regional.length} in region` : `${conflicts.length} global`; + title = `${h} β€” ${label}:\n${lines.join('\n')}`; } if (unreliable) title += '\nβœ— Unreliable β€” too far from neighbors'; - if (globalFallback) title += '\nβš‘ No regional candidates β€” global fallback'; + if (globalFallback) title += '\nβš‘ No regional candidates'; - // Badge - const warnBadge = conflicts.length > 1 - ? `⚠${conflicts.length}` + // Badge β€” only count regional conflicts + const regionalConflicts = conflicts.filter(c => c.regional); + const badgeCount = regionalConflicts.length > 0 ? regionalConflicts.length : (globalFallback ? conflicts.length : 0); + const warnBadge = badgeCount > 1 + ? `⚠${badgeCount}` : ''; const cls = [ diff --git a/public/index.html b/public/index.html index 7071a4c..cb142a9 100644 --- a/public/index.html +++ b/public/index.html @@ -83,7 +83,7 @@ - +