Status: Accepted
Date: 2025-12-25
Context:
Align the dashboard and shell UI with the vendored Nexus HTML to remove drift.
Remove the blocking SSE overlay and replace it with a non-blocking connectivity surface.
Preserve routing and layout classes so Nexus CSS can remain authoritative.
Decision:
Replace the old dashboard and shell markup with Nexus vendor partials and dashboard structure.
Introduce SSE connectivity state in the store with a drawer-footer indicator and modal.
Remove legacy dashboard CSS overrides and ensure vendor app.css is the primary styling source.
Consequences:
Positive: Nexus parity, simpler shell structure, non-blocking connectivity UX.
Risks: UI copy/labels diverge from vendor defaults; mode toggle now relies on existing stored preference.
Follow-up:
Verify visual parity against Nexus dashboard sections.
Monitor SSE reconnection details surfaced in the modal.
Ensure the UI matches the vendored Nexus dashboard and shell while eliminating legacy layout glue.
Replace blocking SSE overlays with a navigation-safe connectivity indicator.
App shell and dashboard markup preserve the Nexus layout/class structure while the repo keeps only the vendor asset kit; executable Nexus reference HTML is not retained in-tree.
Dashboard sections are split into Nexus-faithful organisms while preserving class names and nesting.
SSE status is stored in system.sse_status; indicator consumes a summary slice, modal consumes full details.
just ci (fmt, lint, udeps, audit, deny, ui-build, test, cov)
If Nexus markup causes regressions, revert to the previous dashboard/shell and reintroduce the prior CSS and route wiring.
If SSE diagnostics cause UI noise, hide the indicator by feature flag and keep reconnect logic intact.
Added web-sys feature HtmlDialogElement to open the Nexus search modal via show_modal without new crates.