Add state management, WebSocket polling, html.js templating, and refactor pages
- lib/state.py: per-subsystem collectors with versioned state store - daemon/server.py: state refresh on request, batch routing updates - webui/static/hoover/html.js: new html tag template helper via htm.js - webui/static/hoover/websocket.js: real-time state change notifications - webui/static/hoover/vdom.js: VDOM improvements for keyed diff - All frontend pages refactored to use html templates - Add tests for state management and polling - Update docs and AGENTS.md
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { h, PageHeader, definePage } from '/static/hoover/index.js?v=7';
|
||||
import { html, PageHeader, definePage } from '/static/hoover/index.js?v=7';
|
||||
|
||||
export default definePage({
|
||||
init() {
|
||||
@@ -7,9 +7,9 @@ export default definePage({
|
||||
render(state) {
|
||||
return [
|
||||
PageHeader({ title: '404' }),
|
||||
h('div', { class: 'card' },
|
||||
h('div', { class: 'card-body text-muted' }, 'Page not found: ' + state.path),
|
||||
),
|
||||
html`<div class="card">
|
||||
<div class="card-body text-muted">Page not found: ${state.path}</div>
|
||||
</div>`,
|
||||
];
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user