b673e87c9b
Add hoover model.js as a central reactive store per subsystem, replacing per-component data fetching with a single source of truth. - Add hoover/model.js with modelRegister, modelFetch, and WS invalidation - Refactor websocket.js to route messages to model refresh (drop per-component subscribe/unsubscribe) - Simplify component.js by removing WS subscription management - Add refresh option to apiSubmit, deprecate refactorLoad and checkAbort - Rewrite all pages to use getModel() instead of inline data fetching - Bootstrap model registrations in app.js - Add GET /api/firewall/state endpoint - Fix restart-services.sh restart order and add service health verification - Update hoover.md docs with model layer architecture
16 lines
427 B
JavaScript
16 lines
427 B
JavaScript
import { h, PageHeader, definePage } from '/static/hoover/index.js?v=7';
|
|
|
|
export default definePage({
|
|
init() {
|
|
return { path: location.hash.slice(1) || '' };
|
|
},
|
|
render(state) {
|
|
return [
|
|
PageHeader({ title: '404' }),
|
|
h('div', { class: 'card' },
|
|
h('div', { class: 'card-body text-muted' }, 'Page not found: ' + state.path),
|
|
),
|
|
];
|
|
},
|
|
});
|