ui: restore a 50px top header with centered brand; rename to CoRE.Vizion+

Re-add the top header as a 50px bar injected by ensureHeader() on every
layout page (skipped on login), with the brand centered. The layout height
now subtracts both header and footer. Rebrand the project CoRE.Vision →
CoRE.Vizion+ everywhere: header + footer brand, all page <title>s, the login
card, and the FastAPI OpenAPI title (applies on next backend restart).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-01 22:03:04 +05:00
parent 02efe2ab4b
commit ab817e0d31
10 changed files with 26 additions and 17 deletions
+10 -1
View File
@@ -144,13 +144,21 @@ function ensureFooter() {
if (document.querySelector("footer.app-footer") || !document.querySelector(".layout")) return;
const f = document.createElement("footer");
f.className = "app-footer";
f.innerHTML = `<span class="brand">CoRE<span>.Vision</span></span>` +
f.innerHTML = `<span class="brand">CoRE<span>.Vizion+</span></span>` +
`<span class="spacer"></span>` +
`<span class="stats" id="sys-stats"></span>` +
`<span class="clock" id="clock"></span>` +
`<span id="footer-version"></span>`;
document.body.appendChild(f);
}
function ensureHeader() {
// шапка 50px сверху с брендом по центру — на страницах с раскладкой (не на login)
if (document.querySelector("header.app-header") || !document.querySelector(".layout")) return;
const h = document.createElement("header");
h.className = "app-header";
h.innerHTML = `<span class="brand">CoRE<span>.Vizion+</span></span>`;
document.body.insertBefore(h, document.body.firstChild);
}
async function refreshStats() {
const el = document.getElementById("sys-stats");
try {
@@ -2112,6 +2120,7 @@ function initTabs() {
// ── загрузка страницы ───────────────────────────────────────────
document.addEventListener("DOMContentLoaded", async () => {
ensureVersionEl();
ensureHeader(); // шапка 50px с брендом по центру
ensureFooter(); // создаёт футер с #sys-stats/#clock до их заполнения
startClock();
bindLogout();