Red tests first, then the pages. - tests/homepage_pages.bats: the pages reference the data + theme; no auto-refresh (Q41); no cursor alteration (Q28); the styling toggle strips to bare HTML (Q27); the footer shows the last master deployment datetime (Q43). - index.html / admin.html: the user and admin pages. A grid of TUI panels, a summary line, the bare toggle, the deployed-at footer. - app.js: reads status.json + services.json once (no auto-refresh), renders one panel per service for the page's category, the toggle, the footer. - style.css: the terminal TUI theme (green-on-black, phosphor palette, scanlines) + a ?bare=1 mode that strips to unstyled HTML. No custom cursor. Functionally verified with a Node DOM shim: 9 user panels, correct summary, correct footer datetime.
24 lines
659 B
HTML
24 lines
659 B
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>frank — services</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
<header class="top">
|
|
<span class="title">frank@home:~$ services</span>
|
|
<a id="bare-toggle" class="toggle" href="?bare=1">bare</a>
|
|
</header>
|
|
<div id="summary" class="summary"></div>
|
|
<main id="grid" class="grid"></main>
|
|
<footer class="foot">
|
|
<span>last master deployment: <span id="deployed-at"></span></span>
|
|
<a href="/admin/">admin</a>
|
|
</footer>
|
|
<script src="deployed.js"></script>
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|