diff --git a/public/customize.js b/public/customize.js
index ed75d18..47a83de 100644
--- a/public/customize.js
+++ b/public/customize.js
@@ -561,6 +561,9 @@
inp.addEventListener('input', function () {
var key = inp.dataset.node;
state.nodeColors[key] = inp.value;
+ // Sync to global role colors used by map/packets/etc
+ if (window.ROLE_COLORS) window.ROLE_COLORS[key] = inp.value;
+ if (window.ROLE_STYLE && window.ROLE_STYLE[key]) window.ROLE_STYLE[key].color = inp.value;
var dot = container.querySelector('[data-dot="' + key + '"]');
if (dot) dot.style.background = inp.value;
var hex = container.querySelector('[data-nhex="' + key + '"]');
@@ -573,6 +576,8 @@
btn.addEventListener('click', function () {
var key = btn.dataset.resetNode;
state.nodeColors[key] = DEFAULTS.nodeColors[key];
+ if (window.ROLE_COLORS) window.ROLE_COLORS[key] = DEFAULTS.nodeColors[key];
+ if (window.ROLE_STYLE && window.ROLE_STYLE[key]) window.ROLE_STYLE[key].color = DEFAULTS.nodeColors[key];
render(container);
});
});
@@ -756,8 +761,13 @@
if (THEME_CSS_MAP[key]) document.documentElement.style.setProperty(THEME_CSS_MAP[key], val);
}
}
- if (userTheme.nodeColors && window.ROLE_COLORS) {
- Object.assign(window.ROLE_COLORS, userTheme.nodeColors);
+ if (userTheme.nodeColors) {
+ if (window.ROLE_COLORS) Object.assign(window.ROLE_COLORS, userTheme.nodeColors);
+ if (window.ROLE_STYLE) {
+ for (const [role, color] of Object.entries(userTheme.nodeColors)) {
+ if (window.ROLE_STYLE[role]) window.ROLE_STYLE[role].color = color;
+ }
+ }
}
}
} catch {}
diff --git a/public/index.html b/public/index.html
index f5d47ca..e2395c7 100644
--- a/public/index.html
+++ b/public/index.html
@@ -101,6 +101,6 @@
-
+