diff --git a/public/customize.js b/public/customize.js
index 09fadee2..bca7fb9a 100644
--- a/public/customize.js
+++ b/public/customize.js
@@ -731,18 +731,27 @@
var heatOpacity = parseFloat(localStorage.getItem('meshcore-heatmap-opacity'));
if (isNaN(heatOpacity)) heatOpacity = 0.25;
var heatPct = Math.round(heatOpacity * 100);
+ var liveHeatOpacity = parseFloat(localStorage.getItem('meshcore-live-heatmap-opacity'));
+ if (isNaN(liveHeatOpacity)) liveHeatOpacity = 0.3;
+ var liveHeatPct = Math.round(liveHeatOpacity * 100);
return '
' +
'
Node Role Colors
' + rows +
'
' +
'
Packet Type Colors
' + typeRows +
'
' +
- '
Heatmap
' +
+ '
Heatmap Opacity
' +
'
' +
- '
' +
- '
Controls how opaque the heatmap overlay appears on the live map (0β100%)
' +
+ '
' +
+ '
Heatmap overlay on the Nodes β Map page (0β100%)
' +
'
' +
'
' + heatPct + '%' +
'
' +
+ '
' +
+ '
' +
+ '
Heatmap overlay on the Live page (0β100%)
' +
+ '
' +
+ '
' + liveHeatPct + '%' +
+ '
' +
'
';
}
@@ -1030,6 +1039,24 @@
});
}
+ // Live heatmap opacity slider
+ var liveHeatSlider = container.querySelector('#custLiveHeatOpacity');
+ if (liveHeatSlider) {
+ liveHeatSlider.addEventListener('input', function () {
+ var pct = parseInt(liveHeatSlider.value);
+ var label = container.querySelector('#custLiveHeatOpacityVal');
+ if (label) label.textContent = pct + '%';
+ var opacity = pct / 100;
+ localStorage.setItem('meshcore-live-heatmap-opacity', opacity);
+ // Live-update the live page heatmap if visible
+ if (window._meshcoreLiveHeatLayer) {
+ var canvas = window._meshcoreLiveHeatLayer._canvas ||
+ (window._meshcoreLiveHeatLayer.getContainer && window._meshcoreLiveHeatLayer.getContainer());
+ if (canvas) canvas.style.opacity = opacity;
+ }
+ });
+ }
+
// Steps
container.querySelectorAll('[data-step-field]').forEach(function (inp) {
inp.addEventListener('input', function () {
diff --git a/public/index.html b/public/index.html
index 12f09d72..2171639e 100644
--- a/public/index.html
+++ b/public/index.html
@@ -22,9 +22,9 @@
-
-
-
+
+
+
@@ -81,27 +81,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+