homepage: sectioned panels, WIP open/closed, current model facts, Tautulli card

Both pages now group their panels under section headings rendered by shared
renderSection()/renderPanel() components in app.js (SECTION_ORDER fixes each
page's order: user = AI, Web Apps, Media Library Apps; admin = Media Library
Apps, Observability, AI, Infrastructure). The WIP badge splits into WIP: OPEN
and WIP: CLOSED via the wip value ("open"/"closed"); the checker passes the
value through as wip-open/wip-closed. The frank-large card follows the
unsloth llama.cpp cutover, frank-medium follows the FP8 checkpoint, and the
/docs model guide matches. Tautulli (Plex statistics, 192.168.0.235:8181)
joins the admin page's Media Library Apps section with an open link.
This commit is contained in:
Frank committed 2026-09-21 13:20:15 -07:00
1 parent 32eafeb7c5
commit 384747a72f
9 files changed
+221 -54

No files matched your search

+17
View File
@@ -4,6 +4,8 @@
# statically: the pages reference the data and the theme, the page does not
# auto-refresh (Q41), does not alter the user's cursor (Q28), offers the
# styling toggle (Q27), and shows the last master deployment datetime (Q43).
# Both pages render through the shared section/panel components, and WIP
# badges distinguish open from closed work.
load helpers
@@ -24,6 +26,21 @@ setup() {
grep -q "services.json" "$BASE/app.js"
}
@test "sections and panels are shared components rendered by both pages" {
# Both pages load the same app.js; the grouping must live in shared
# renderSection()/renderPanel() components, not in per-page markup.
grep -q "renderSection" "$BASE/app.js"
grep -q "renderPanel" "$BASE/app.js"
grep -q "SECTION_ORDER" "$BASE/app.js"
}
@test "WIP badges distinguish open from closed work" {
grep -q "WIP: OPEN" "$BASE/app.js"
grep -q "WIP: CLOSED" "$BASE/app.js"
grep -q "wip-open" "$BASE/style.css"
grep -q "wip-closed" "$BASE/style.css"
}
@test "the page does not auto-refresh (Q41)" {
! grep -q "setInterval" "$BASE/app.js"
! grep -qi "poll" "$BASE/app.js"