import { escapeHtml } from '../ui-shared.js'; const LOGO = ''; /** * Fixed app header for board v2. The project cell is visual only — the real * project switcher dropdown arrives with the multi-project v3 spec. * The SSE status span keeps the v1 ids (`sseStatus`, `sseLabel`) so the ported * connection-status JS keeps working unchanged. */ export function headerHtml(projectName: string): string { const name = escapeHtml(projectName); return `
${LOGO}agenthub / ${name}  connecting
`; } /** Fullscreen splash overlay, shown until first data render (hard cap 1.5s). */ export function splashHtml(): string { return ` `; } /** * Inline script: hides the splash after the first successful refresh() or after * a hard 1500ms cap, whichever comes first. Exposes window.__b2SplashDone() so * the data layer can signal completion. */ export function splashJs(): string { return ` (function () { var done = false; window.__b2SplashDone = function () { if (done) return; done = true; var s = document.getElementById('b2-splash'); if (!s) return; s.classList.add('b2-splash-hide'); setTimeout(function () { if (s.parentNode) s.parentNode.removeChild(s); }, 450); }; setTimeout(window.__b2SplashDone, 1500); // hard cap — splash must never block })();`; }