Close DV-01–04,07,09,13,14: unify operator-deck UX in server/web.
Standardize neon cyan on #00e8f5, wire SacredPageHeader across Builds/Path Tracer/LOTL, dedupe Pages.css, align Path Tracer chrome, drop dead wealth-deck CSS, add prefers-color-scheme shell + HelpTip, sidebar version from package.json build inject, and Vitest CSS regression guards.
This commit is contained in:
@@ -35,6 +35,7 @@ import AlsoHere from '../components/Presence/AlsoHere';
|
||||
import { HelpTip } from '../components/HelpTip';
|
||||
import '../components/Fleet/FullSysCheckPanel.css';
|
||||
import '../components/Fleet/FleetToolbar.css';
|
||||
import { TERM_RENDER_CAP, visibleTerminalLines } from '../help/terminalRenderCap';
|
||||
import './CruciblePage.css';
|
||||
|
||||
// ── Types ──────────────────────────────────────────────────────────────────
|
||||
@@ -326,9 +327,6 @@ if($s -and $s.Status -eq 'Running'){'SSH_PROBE:ONLINE'}else{'SSH_PROBE:OFFLINE'}
|
||||
|
||||
const PROBE_SSH_SH = `ss -tlnp 2>/dev/null | grep -q ':22' && echo SSH_PROBE:ONLINE || echo SSH_PROBE:OFFLINE`;
|
||||
|
||||
/** Max terminal lines rendered in the DOM (full history kept in state for scrollback export). */
|
||||
const TERM_RENDER_CAP = 400;
|
||||
|
||||
/** Roster page size — avoids rendering 500+ node cards at once. */
|
||||
const ROSTER_PAGE_SIZE = 80;
|
||||
|
||||
@@ -427,11 +425,10 @@ export default function CruciblePage() {
|
||||
|
||||
const browseAgent = singleSelectedAgent ?? selectedAgents.find(online) ?? null;
|
||||
|
||||
const visibleTermLines = useMemo(
|
||||
() => (termLines.length > TERM_RENDER_CAP ? termLines.slice(-TERM_RENDER_CAP) : termLines),
|
||||
const { visible: visibleTermLines, truncated: termTruncated, hidden: termHidden } = useMemo(
|
||||
() => visibleTerminalLines(termLines),
|
||||
[termLines],
|
||||
);
|
||||
const termTruncated = termLines.length > TERM_RENDER_CAP;
|
||||
|
||||
const dispatchTunnelCommand = useCallback(
|
||||
async (action: string, args?: Record<string, unknown>) => {
|
||||
@@ -1548,7 +1545,7 @@ export default function CruciblePage() {
|
||||
)}
|
||||
{termTruncated && (
|
||||
<div className="crucible-term-truncated" style={{ opacity: 0.55, fontSize: '0.72rem', padding: '0.2rem 0' }}>
|
||||
… {termLines.length - TERM_RENDER_CAP} older lines hidden (CLEAR to reset)
|
||||
… {termHidden} older lines hidden (CLEAR to reset)
|
||||
</div>
|
||||
)}
|
||||
{visibleTermLines.map((line) => {
|
||||
|
||||
Reference in New Issue
Block a user