feat(ui): separate dev info into a Diagnose view, declutter the scan workspace
Reworks the UI so the Scan tab shows only core actions and all developer / diagnostic surfaces live in one dedicated view. - New "Diagnose" nav view. ScanView stays mounted for scan|diagnose (the scan controller state persists across the switch) and renders either the clean workspace or the new DiagnosticsView by mode. - DiagnosticsView consolidates runtime/rights, grid detection, learning + data staleness, fingerprint, auto-scan counters, the automation log, the dev-output toggle, the Demo-Daten action, and the raw crops/OCR/confidence dump. Reuses the existing diagnostics/details model hooks. - Scan workspace decluttered: removed the Scanner Diagnose button and the Details button, dropped the rules/grid/mode dev fields from the result brief and capture meta, shortened the topbar headline, and moved Demo-Daten out of the topbar. - Removed the now-dead ScanDiagnosticsModal / ScanDetailsModal components (their content moved into the view); metrics grid hidden on the Diagnose view. - Added dev:web script + .claude/launch.json for browser preview. Verified in the browser preview (both views render, no console errors); 120 tests + build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -53,9 +53,12 @@ export function AppPageLayout({ controller }: AppPageLayoutProps) {
|
||||
overlayIcon={<Eye size={16} />}
|
||||
demoIcon={<Play size={16} />}
|
||||
/>
|
||||
<AppMetrics metricCards={metricCards} />
|
||||
{activeView === "scan" && (
|
||||
{activeView !== "diagnose" && <AppMetrics metricCards={metricCards} />}
|
||||
{(activeView === "scan" || activeView === "diagnose") && (
|
||||
<ScanView
|
||||
mode={activeView === "diagnose" ? "diagnose" : "workspace"}
|
||||
onDemoScan={handleDemoScan}
|
||||
canDemoScan={!isScanning}
|
||||
isScanning={isScanning}
|
||||
snapshot={snapshot}
|
||||
captureSources={captureSources}
|
||||
|
||||
Reference in New Issue
Block a user