()
| 124 | // ── Internals ───────────────────────────────────────────────────────────── |
| 125 | |
| 126 | private loadLoginPage(): string { |
| 127 | // Serve from the public directory at build time; fall back to inline HTML. |
| 128 | try { |
| 129 | const p = join(import.meta.dirname, "../public/login.html"); |
| 130 | return readFileSync(p, "utf8"); |
| 131 | } catch { |
| 132 | return INLINE_LOGIN_HTML; |
| 133 | } |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | /** |
no test coverage detected