diff --git a/meshview/templates/map.html b/meshview/templates/map.html index c1e32a1..1785df4 100644 --- a/meshview/templates/map.html +++ b/meshview/templates/map.html @@ -904,10 +904,10 @@ function blinkNode(marker,longName,portnum,payload){ clearBlinkForMarker(marker); } - let blinkCount = 0; const blinkStart = Date.now(); const tooltipDurationMs = 5000; const blinkDurationMs = 15000; + const fastBlinkStartMs = blinkDurationMs - 3000; const blinkColor = "yellow"; const safeName = escapeHtml(longName); const portLabel = portMap[portnum] || `Port ${portnum ?? "?"}`; @@ -937,22 +937,25 @@ function blinkNode(marker,longName,portnum,payload){ }, tooltipDurationMs); const interval = setInterval(()=>{ + const elapsedMs = Date.now() - blinkStart; + const blinkPeriodMs = elapsedMs >= fastBlinkStartMs ? 250 : 500; if(isNodeVisibleForPackets(marker)){ marker.setStyle({ - fillColor: blinkCount%2===0 ? blinkColor : marker.originalColor + fillColor: Math.floor(elapsedMs / blinkPeriodMs)%2===0 + ? blinkColor + : marker.originalColor }); marker.bringToFront(); } else { clearBlinkForMarker(marker); return; } - blinkCount++; - if(Date.now() - blinkStart > blinkDurationMs){ + if(elapsedMs > blinkDurationMs){ clearBlinkForMarker(marker); } - },500); + },250); activeBlinks.set(marker, { interval, tooltipTimeout }); }