import { Eye, Play, Save } from "lucide-react";
import { BuildsView } from "../../features/builds/BuildsView";
import { OverlayPreview, OverlaySettings } from "../../features/overlay/OverlayViews";
import { ScanView } from "../../features/scan/ScanView";
import { TriageView } from "../../features/triage/TriageView";
import { AppMetrics, AppShell, AppSidebar, AppTopbar } from "../../features/layout";
import type { AppPageLayoutProps } from "./types";
import { useAppPageLayoutModel } from "./hooks/useAppPageLayoutModel";
export function AppPageLayout({ controller }: AppPageLayoutProps) {
const {
activeView,
setActiveView,
isOverlay,
isScanning,
snapshot,
captureSources,
selectedSourceId,
setSelectedSourceId,
latestCapture,
topbarStatus,
bridgeReady,
canExportGood,
canShowOverlay,
metricCards,
refreshCaptureSources,
captureSelectedSource,
exportCurrentGood,
loadStoredArtifactSnapshot,
showOverlay,
} = controller;
const { renderNavigation, handleDemoScan } = useAppPageLayoutModel({ controller });
if (isOverlay) {
return ;
}
return (
}
children={
<>
}
overlayIcon={}
demoIcon={}
/>
{activeView !== "diagnose" && }
{(activeView === "scan" || activeView === "diagnose") && (
)}
{activeView === "triage" && }
{activeView === "builds" && }
{activeView === "overlay" && }
>
}
/>
);
}