diff --git a/meshview/templates/base.html b/meshview/templates/base.html
index bcc0425..eb48105 100644
--- a/meshview/templates/base.html
+++ b/meshview/templates/base.html
@@ -27,11 +27,8 @@
-
-
-
@@ -57,10 +54,7 @@
{% endfor %}
-
-
+
@@ -69,105 +63,68 @@
-
+ ver. unknown
-
+
-
-
-
+async function loadSiteConfig() {
+ try {
+ const cfg = await window._siteConfigPromise;
+ const site = cfg.site || {};
+
+ // Title
+ document.title = "Meshview - " + (site.title || "");
+
+ // Header
+ const header = document.getElementById("site-header");
+ if (header)
+ header.innerHTML = `${site.title || ""} ${site.domain ? "(" + site.domain + ")" : ""}`;
+
+ // Message
+ const msg = document.getElementById("site-message");
+ if (msg) msg.textContent = site.message || "";
+
+ // Menu
+ const menu = document.getElementById("site-menu");
+ if (menu) {
+ let html = "";
+ if (site.nodes === "true") html += `Nodes`;
+ if (site.conversations === "true") html += ` - Conversations`;
+ if (site.everything === "true") html += ` - See Everything`;
+ if (site.graphs === "true") html += ` - Mesh Graphs`;
+ if (site.net === "true") html += ` - Weekly Net`;
+ if (site.map === "true") html += ` - Live Map`;
+ if (site.stats === "true") html += ` - Stats`;
+ if (site.top === "true") html += ` - Top Traffic Nodes`;
+ menu.innerHTML = html;
+ }
+
+ // Version
+ const verEl = document.getElementById("site-version");
+ if (verEl) verEl.textContent = "ver. " + (site.version || "unknown");
+ } catch (err) {
+ console.error("Failed to load site config:", err);
+ }
+}
+
+document.addEventListener("DOMContentLoaded", loadSiteConfig);
+