@sudobility/testomniac_ui 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -1
- package/dist/components/dashboard/DashboardSidebar.js +30 -26
- package/dist/components/dashboard/DashboardSidebar.js.map +1 -1
- package/dist/components/pages/PagesListView.d.ts +1 -1
- package/dist/components/pages/PagesListView.d.ts.map +1 -1
- package/dist/components/pages/PagesListView.js +4 -5
- package/dist/components/pages/PagesListView.js.map +1 -1
- package/dist/components/pages/PagesMapView.d.ts +1 -1
- package/dist/components/pages/PagesMapView.d.ts.map +1 -1
- package/dist/components/pages/PagesMapView.js +5 -6
- package/dist/components/pages/PagesMapView.js.map +1 -1
- package/dist/context/routing.d.ts +94 -1
- package/dist/context/routing.d.ts.map +1 -1
- package/dist/context/routing.js +51 -2
- package/dist/context/routing.js.map +1 -1
- package/dist/hooks/useEnvBasePath.d.ts +5 -3
- package/dist/hooks/useEnvBasePath.d.ts.map +1 -1
- package/dist/hooks/useEnvBasePath.js +8 -5
- package/dist/hooks/useEnvBasePath.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pages/BundleDetailPage.d.ts.map +1 -1
- package/dist/pages/BundleDetailPage.js +4 -5
- package/dist/pages/BundleDetailPage.js.map +1 -1
- package/dist/pages/BundlesPage.js +3 -3
- package/dist/pages/BundlesPage.js.map +1 -1
- package/dist/pages/DashboardOverview.d.ts.map +1 -1
- package/dist/pages/DashboardOverview.js +28 -15
- package/dist/pages/DashboardOverview.js.map +1 -1
- package/dist/pages/FindingsListPage.d.ts.map +1 -1
- package/dist/pages/FindingsListPage.js +4 -3
- package/dist/pages/FindingsListPage.js.map +1 -1
- package/dist/pages/PageDetailPage.d.ts.map +1 -1
- package/dist/pages/PageDetailPage.js +7 -10
- package/dist/pages/PageDetailPage.js.map +1 -1
- package/dist/pages/PageGraphPage.d.ts.map +1 -1
- package/dist/pages/PageGraphPage.js +6 -5
- package/dist/pages/PageGraphPage.js.map +1 -1
- package/dist/pages/PageStateDetailPage.d.ts.map +1 -1
- package/dist/pages/PageStateDetailPage.js +4 -5
- package/dist/pages/PageStateDetailPage.js.map +1 -1
- package/dist/pages/RunRedirect.d.ts.map +1 -1
- package/dist/pages/RunRedirect.js +3 -4
- package/dist/pages/RunRedirect.js.map +1 -1
- package/dist/pages/RunSurfaceRunDetailPage.d.ts.map +1 -1
- package/dist/pages/RunSurfaceRunDetailPage.js +3 -5
- package/dist/pages/RunSurfaceRunDetailPage.js.map +1 -1
- package/dist/pages/RunSurfaceRunsPage.d.ts.map +1 -1
- package/dist/pages/RunSurfaceRunsPage.js +4 -4
- package/dist/pages/RunSurfaceRunsPage.js.map +1 -1
- package/dist/pages/RunTestInteractionRunDetailPage.d.ts.map +1 -1
- package/dist/pages/RunTestInteractionRunDetailPage.js +3 -5
- package/dist/pages/RunTestInteractionRunDetailPage.js.map +1 -1
- package/dist/pages/RunTestInteractionRunsPage.d.ts.map +1 -1
- package/dist/pages/RunTestInteractionRunsPage.js +3 -5
- package/dist/pages/RunTestInteractionRunsPage.js.map +1 -1
- package/dist/pages/RunnerGraphPage.d.ts.map +1 -1
- package/dist/pages/RunnerGraphPage.js +5 -4
- package/dist/pages/RunnerGraphPage.js.map +1 -1
- package/dist/pages/ScaffoldDetailPage.d.ts.map +1 -1
- package/dist/pages/ScaffoldDetailPage.js +5 -6
- package/dist/pages/ScaffoldDetailPage.js.map +1 -1
- package/dist/pages/ScaffoldsPage.d.ts.map +1 -1
- package/dist/pages/ScaffoldsPage.js +3 -4
- package/dist/pages/ScaffoldsPage.js.map +1 -1
- package/dist/pages/ScanProgressPage.d.ts.map +1 -1
- package/dist/pages/ScanProgressPage.js +3 -2
- package/dist/pages/ScanProgressPage.js.map +1 -1
- package/dist/pages/StartScanPage.d.ts.map +1 -1
- package/dist/pages/StartScanPage.js +3 -2
- package/dist/pages/StartScanPage.js.map +1 -1
- package/dist/pages/TestInteractionDetailPage.d.ts.map +1 -1
- package/dist/pages/TestInteractionDetailPage.js +4 -5
- package/dist/pages/TestInteractionDetailPage.js.map +1 -1
- package/dist/pages/TestInteractionsPage.d.ts.map +1 -1
- package/dist/pages/TestInteractionsPage.js +4 -3
- package/dist/pages/TestInteractionsPage.js.map +1 -1
- package/dist/pages/TestRunDetailPage.d.ts.map +1 -1
- package/dist/pages/TestRunDetailPage.js +4 -5
- package/dist/pages/TestRunDetailPage.js.map +1 -1
- package/dist/pages/TestRunsListPage.js +3 -3
- package/dist/pages/TestRunsListPage.js.map +1 -1
- package/dist/pages/TestScenarioDetailPage.d.ts.map +1 -1
- package/dist/pages/TestScenarioDetailPage.js +5 -6
- package/dist/pages/TestScenarioDetailPage.js.map +1 -1
- package/dist/pages/TestScenariosPage.d.ts.map +1 -1
- package/dist/pages/TestScenariosPage.js +3 -4
- package/dist/pages/TestScenariosPage.js.map +1 -1
- package/dist/pages/TestSurfaceDetailPage.d.ts.map +1 -1
- package/dist/pages/TestSurfaceDetailPage.js +3 -4
- package/dist/pages/TestSurfaceDetailPage.js.map +1 -1
- package/dist/pages/TestSurfacesListPage.d.ts.map +1 -1
- package/dist/pages/TestSurfacesListPage.js +3 -4
- package/dist/pages/TestSurfacesListPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,16 +4,17 @@ import { usePageStates, useRunPageSummary, useEnvironmentTestInteractions, useEn
|
|
|
4
4
|
import { usePageInteractionGroups } from '@sudobility/testomniac_lib';
|
|
5
5
|
import { Button, Card } from '@sudobility/components';
|
|
6
6
|
import { SEOHead, useTestomniacApi } from '../context/config';
|
|
7
|
-
import { useRouteParams } from '../context/routing';
|
|
7
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
8
8
|
import { InteractionCell } from '../components/cells';
|
|
9
9
|
import BackLink from '../components/navigation/BackLink';
|
|
10
10
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
11
11
|
import { AddScenarioForm } from '../components/scenarios/AddScenarioForm';
|
|
12
12
|
import { useDashboardEnvironmentContext } from '../hooks/useDashboardEnvironmentContext';
|
|
13
13
|
export function PageDetailPage() {
|
|
14
|
-
const { pageId, envId,
|
|
14
|
+
const { pageId, envId, runId } = useRouteParams();
|
|
15
15
|
const { networkClient, token, baseUrl } = useTestomniacApi();
|
|
16
16
|
const { navigate } = useLocalizedNavigate();
|
|
17
|
+
const r = useEnvRoutes();
|
|
17
18
|
const { primaryRunner, productId } = useDashboardEnvironmentContext();
|
|
18
19
|
const [showScenarioForm, setShowScenarioForm] = useState(false);
|
|
19
20
|
const { personas } = useProductPersonas({
|
|
@@ -82,17 +83,13 @@ export function PageDetailPage() {
|
|
|
82
83
|
if (isLoading || summaryLoading) {
|
|
83
84
|
return (_jsx("div", { className: "p-6", children: _jsx("div", { className: "text-center text-gray-500 dark:text-gray-400 py-8", children: "Loading..." }) }));
|
|
84
85
|
}
|
|
85
|
-
const pagesBasePath = runId
|
|
86
|
-
|
|
87
|
-
: `/dashboard/${entitySlug}/environments/${envId}/pages`;
|
|
88
|
-
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: "Page Detail", description: "", noIndex: true }), _jsx(BackLink, { label: "Pages", onClick: () => navigate(pagesBasePath) }), _jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Page Detail" }), _jsxs("p", { className: "text-sm text-gray-500 dark:text-gray-400 mt-1", children: [summary?.relativePath ?? `Page #${pageId}`, runId ? ` • Run #${runId}` : ` • Page #${pageId}`] })] }), _jsxs("div", { className: "flex gap-2", children: [primaryRunner && (_jsx(Button, { variant: "primary", onClick: () => setShowScenarioForm(prev => !prev), children: showScenarioForm ? 'Cancel' : 'Add Scenario' })), _jsx(Button, { variant: "outline", onClick: () => navigate(`/dashboard/${entitySlug}/environments/${envId}/pages/${pageId}/graph`), children: "View Page Graph" })] })] }), showScenarioForm && primaryRunner && (_jsx("div", { className: "mb-6", children: _jsx(AddScenarioForm, { networkClient: networkClient, token: token ?? '', runnerId: primaryRunner.id, personas: personas, defaultStartingPath: summary?.relativePath ?? currentPage?.relativePath ?? '/', onCreated: () => setShowScenarioForm(false), onCancel: () => setShowScenarioForm(false) }) })), summary && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mb-8 grid grid-cols-2 gap-4 md:grid-cols-4", children: [_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.pageStatesCount }), _jsx("div", { className: "text-xs text-gray-500", children: "Page States" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.testInteractionsCount }), _jsx("div", { className: "text-xs text-gray-500", children: "Test Interactions" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-red-600 dark:text-red-400", children: summary.findings }), _jsx("div", { className: "text-xs text-gray-500", children: "Findings" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.testInteractionRunsCount }), _jsx("div", { className: "text-xs text-gray-500", children: "Case Runs" })] })] }), summary.latestScreenshotPath && (_jsx(Card, { variant: "bordered", padding: "none", className: "mb-8 overflow-hidden", children: _jsx("img", { src: buildArtifactUrl(baseUrl, summary.latestScreenshotPath), alt: `${summary.relativePath} latest screenshot`, className: "h-72 w-full object-cover object-top" }) })), summary.recentFindings.length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Recent Findings" }), _jsx("div", { className: "space-y-3", children: summary.recentFindings.slice(0, 8).map(finding => (_jsx(Card, { variant: "bordered", padding: "md", children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: finding.title }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: finding.description })] }), _jsx("div", { className: "shrink-0 text-[11px] capitalize text-gray-500 dark:text-gray-400", children: finding.expertise ?? finding.type })] }) }, finding.id))) })] })), summary.runtimeSignals.length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Runtime Signals" }), _jsx("div", { className: "space-y-4", children: summary.runtimeSignals.map(signal => (_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsxs("div", { className: "mb-3 flex items-center justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: signal.testInteractionTitle ??
|
|
86
|
+
const pagesBasePath = runId ? r.runPages(runId) : r.pages();
|
|
87
|
+
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: "Page Detail", description: "", noIndex: true }), _jsx(BackLink, { label: "Pages", onClick: () => navigate(pagesBasePath) }), _jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Page Detail" }), _jsxs("p", { className: "text-sm text-gray-500 dark:text-gray-400 mt-1", children: [summary?.relativePath ?? `Page #${pageId}`, runId ? ` • Run #${runId}` : ` • Page #${pageId}`] })] }), _jsxs("div", { className: "flex gap-2", children: [primaryRunner && (_jsx(Button, { variant: "primary", onClick: () => setShowScenarioForm(prev => !prev), children: showScenarioForm ? 'Cancel' : 'Add Scenario' })), _jsx(Button, { variant: "outline", onClick: () => navigate(r.pageGraph(pageId)), children: "View Page Graph" })] })] }), showScenarioForm && primaryRunner && (_jsx("div", { className: "mb-6", children: _jsx(AddScenarioForm, { networkClient: networkClient, token: token ?? '', runnerId: primaryRunner.id, personas: personas, defaultStartingPath: summary?.relativePath ?? currentPage?.relativePath ?? '/', onCreated: () => setShowScenarioForm(false), onCancel: () => setShowScenarioForm(false) }) })), summary && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mb-8 grid grid-cols-2 gap-4 md:grid-cols-4", children: [_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.pageStatesCount }), _jsx("div", { className: "text-xs text-gray-500", children: "Page States" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.testInteractionsCount }), _jsx("div", { className: "text-xs text-gray-500", children: "Test Interactions" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-red-600 dark:text-red-400", children: summary.findings }), _jsx("div", { className: "text-xs text-gray-500", children: "Findings" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.testInteractionRunsCount }), _jsx("div", { className: "text-xs text-gray-500", children: "Case Runs" })] })] }), summary.latestScreenshotPath && (_jsx(Card, { variant: "bordered", padding: "none", className: "mb-8 overflow-hidden", children: _jsx("img", { src: buildArtifactUrl(baseUrl, summary.latestScreenshotPath), alt: `${summary.relativePath} latest screenshot`, className: "h-72 w-full object-cover object-top" }) })), summary.recentFindings.length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Recent Findings" }), _jsx("div", { className: "space-y-3", children: summary.recentFindings.slice(0, 8).map(finding => (_jsx(Card, { variant: "bordered", padding: "md", children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: finding.title }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: finding.description })] }), _jsx("div", { className: "shrink-0 text-[11px] capitalize text-gray-500 dark:text-gray-400", children: finding.expertise ?? finding.type })] }) }, finding.id))) })] })), summary.runtimeSignals.length > 0 && (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Runtime Signals" }), _jsx("div", { className: "space-y-4", children: summary.runtimeSignals.map(signal => (_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsxs("div", { className: "mb-3 flex items-center justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: signal.testInteractionTitle ??
|
|
89
88
|
`Test Interaction #${signal.testInteractionId}` }), _jsxs("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: ["Case run #", signal.testInteractionRunId, signal.completedAt
|
|
90
89
|
? ` • ${new Date(signal.completedAt).toLocaleString()}`
|
|
91
|
-
: ''] })] }), _jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: signal.status })] }), signal.consoleLog && (_jsx("pre", { className: "mb-3 max-h-48 overflow-auto rounded border border-gray-200 bg-gray-50 p-3 text-xs leading-5 text-gray-700 dark:border-gray-700 dark:bg-gray-950 dark:text-gray-300", children: signal.consoleLog })), signal.networkLog && (_jsx("pre", { className: "max-h-48 overflow-auto rounded border border-gray-200 bg-gray-50 p-3 text-xs leading-5 text-gray-700 dark:border-gray-700 dark:bg-gray-950 dark:text-gray-300", children: signal.networkLog }))] }, signal.testInteractionRunId))) })] }))] })), pageStates.length === 0 ? (_jsx("p", { className: "text-gray-500 dark:text-gray-400", children: "No page states found." })) : (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4", children: pageStates.map(state => (_jsxs("button", { onClick: () => navigate(runId
|
|
92
|
-
? `/dashboard/${entitySlug}/environments/${envId}/runs/${runId}/pages/${pageId}/states/${state.id}`
|
|
93
|
-
: `/dashboard/${entitySlug}/environments/${envId}/pages/${pageId}/states/${state.id}`), className: "text-left rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden hover:border-blue-300 dark:hover:border-blue-600 transition-colors", children: [_jsx("div", { className: "h-40 bg-gray-100 dark:bg-gray-800 overflow-hidden", children: state.screenshotPath ? (_jsx("img", { src: buildArtifactUrl(baseUrl, state.screenshotPath), alt: `State ${state.id} screenshot`, className: "w-full h-full object-cover object-top" })) : (_jsx("div", { className: "w-full h-full flex items-center justify-center", children: _jsx("span", { className: "text-xs text-gray-400", children: "No screenshot" }) })) }), _jsxs("div", { className: "p-3", children: [_jsxs("div", { className: "flex items-center gap-2 mb-1", children: [_jsxs("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: ["State #", state.id] }), _jsx("span", { className: "px-1.5 py-0.5 text-xs rounded bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400", children: state.sizeClass })] }), _jsx("div", { className: "text-xs text-gray-500 dark:text-gray-400", children: state.capturedAt
|
|
90
|
+
: ''] })] }), _jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: signal.status })] }), signal.consoleLog && (_jsx("pre", { className: "mb-3 max-h-48 overflow-auto rounded border border-gray-200 bg-gray-50 p-3 text-xs leading-5 text-gray-700 dark:border-gray-700 dark:bg-gray-950 dark:text-gray-300", children: signal.consoleLog })), signal.networkLog && (_jsx("pre", { className: "max-h-48 overflow-auto rounded border border-gray-200 bg-gray-50 p-3 text-xs leading-5 text-gray-700 dark:border-gray-700 dark:bg-gray-950 dark:text-gray-300", children: signal.networkLog }))] }, signal.testInteractionRunId))) })] }))] })), pageStates.length === 0 ? (_jsx("p", { className: "text-gray-500 dark:text-gray-400", children: "No page states found." })) : (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4", children: pageStates.map(state => (_jsxs("button", { onClick: () => navigate(runId ? r.runPageState(runId, pageId, state.id) : r.pageState(pageId, state.id)), className: "text-left rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden hover:border-blue-300 dark:hover:border-blue-600 transition-colors", children: [_jsx("div", { className: "h-40 bg-gray-100 dark:bg-gray-800 overflow-hidden", children: state.screenshotPath ? (_jsx("img", { src: buildArtifactUrl(baseUrl, state.screenshotPath), alt: `State ${state.id} screenshot`, className: "w-full h-full object-cover object-top" })) : (_jsx("div", { className: "w-full h-full flex items-center justify-center", children: _jsx("span", { className: "text-xs text-gray-400", children: "No screenshot" }) })) }), _jsxs("div", { className: "p-3", children: [_jsxs("div", { className: "flex items-center gap-2 mb-1", children: [_jsxs("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: ["State #", state.id] }), _jsx("span", { className: "px-1.5 py-0.5 text-xs rounded bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400", children: state.sizeClass })] }), _jsx("div", { className: "text-xs text-gray-500 dark:text-gray-400", children: state.capturedAt
|
|
94
91
|
? new Date(state.capturedAt).toLocaleString()
|
|
95
|
-
: 'No capture date' })] })] }, state.id))) })), (startingElements.length > 0 || landingElements.length > 0 || onPageElements.length > 0) && (_jsxs("div", { className: "mt-10", children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Test Interactions" }), onPageElements.length > 0 && (_jsx(TestInteractionGroup, { label: "On this page", elements: onPageElements, onTest: el => createRun({ testInteractionId: el.id }), onOpen: el => navigate(
|
|
92
|
+
: 'No capture date' })] })] }, state.id))) })), (startingElements.length > 0 || landingElements.length > 0 || onPageElements.length > 0) && (_jsxs("div", { className: "mt-10", children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900 dark:text-gray-100", children: "Test Interactions" }), onPageElements.length > 0 && (_jsx(TestInteractionGroup, { label: "On this page", elements: onPageElements, onTest: el => createRun({ testInteractionId: el.id }), onOpen: el => navigate(r.testInteraction(el.id)) })), startingElements.length > 0 && (_jsx(TestInteractionGroup, { label: "Starting from this page", elements: startingElements, onTest: el => createRun({ testInteractionId: el.id }), onOpen: el => navigate(r.testInteraction(el.id)) })), landingElements.length > 0 && (_jsx(TestInteractionGroup, { label: "Landing on this page", elements: landingElements, onTest: el => createRun({ testInteractionId: el.id }), onOpen: el => navigate(r.testInteraction(el.id)) }))] }))] }));
|
|
96
93
|
}
|
|
97
94
|
// --- Test Interactions Sub-components ---
|
|
98
95
|
function TestInteractionGroup({ label, elements, onTest, onOpen, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageDetailPage.js","sourceRoot":"","sources":["../../src/pages/PageDetailPage.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PageDetailPage.js","sourceRoot":"","sources":["../../src/pages/PageDetailPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageGraphPage.d.ts","sourceRoot":"","sources":["../../src/pages/PageGraphPage.tsx"],"names":[],"mappings":"AAWA,OAAO,8BAA8B,CAAC;AA4DtC,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"PageGraphPage.d.ts","sourceRoot":"","sources":["../../src/pages/PageGraphPage.tsx"],"names":[],"mappings":"AAWA,OAAO,8BAA8B,CAAC;AA4DtC,wBAAgB,aAAa,gCA0F5B"}
|
|
@@ -5,7 +5,7 @@ import '@xyflow/react/dist/style.css';
|
|
|
5
5
|
import { usePageStates, buildArtifactUrl } from '@sudobility/testomniac_client';
|
|
6
6
|
import { layoutDagreGraph } from '@sudobility/testomniac_lib';
|
|
7
7
|
import { SEOHead, useTestomniacApi } from '../context/config';
|
|
8
|
-
import { useRouteParams } from '../context/routing';
|
|
8
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
9
9
|
import BackLink from '../components/navigation/BackLink';
|
|
10
10
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
11
11
|
const NODE_WIDTH = 200;
|
|
@@ -25,9 +25,10 @@ function PageStateNode({ data }) {
|
|
|
25
25
|
}
|
|
26
26
|
const nodeTypes = { pageState: PageStateNode };
|
|
27
27
|
export function PageGraphPage() {
|
|
28
|
-
const { pageId
|
|
28
|
+
const { pageId } = useRouteParams();
|
|
29
29
|
const { networkClient, token, baseUrl } = useTestomniacApi();
|
|
30
30
|
const { navigate } = useLocalizedNavigate();
|
|
31
|
+
const r = useEnvRoutes();
|
|
31
32
|
const numericPageId = Number(pageId);
|
|
32
33
|
const { pageStates, isLoading: statesLoading } = usePageStates({
|
|
33
34
|
networkClient,
|
|
@@ -61,9 +62,9 @@ export function PageGraphPage() {
|
|
|
61
62
|
const [nodes, , onNodesChange] = useNodesState(initialNodes);
|
|
62
63
|
const [edges, , onEdgesChange] = useEdgesState(initialEdges);
|
|
63
64
|
const onNodeClick = useCallback((_, node) => {
|
|
64
|
-
navigate(
|
|
65
|
-
}, [navigate,
|
|
66
|
-
const pagesBasePath =
|
|
65
|
+
navigate(r.pageState(pageId, node.id));
|
|
66
|
+
}, [navigate, r, pageId]);
|
|
67
|
+
const pagesBasePath = r.page(pageId);
|
|
67
68
|
if (isLoading) {
|
|
68
69
|
return (_jsx("div", { className: "p-6", children: _jsx("div", { className: "text-center text-gray-500 dark:text-gray-400 py-8", children: "Loading graph..." }) }));
|
|
69
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageGraphPage.js","sourceRoot":"","sources":["../../src/pages/PageGraphPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"PageGraphPage.js","sourceRoot":"","sources":["../../src/pages/PageGraphPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageStateDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/PageStateDetailPage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"PageStateDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/PageStateDetailPage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,mBAAmB,gCAkQlC"}
|
|
@@ -3,13 +3,14 @@ import { useState, useMemo } from 'react';
|
|
|
3
3
|
import { usePageStates, useHtmlElement, usePageStateScaffolds, buildArtifactUrl, } from '@sudobility/testomniac_client';
|
|
4
4
|
import { Tabs, TabsList, TabsTrigger, Card } from '@sudobility/components';
|
|
5
5
|
import { useTestomniacApi } from '../context/config';
|
|
6
|
-
import { useRouteParams } from '../context/routing';
|
|
6
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
7
7
|
import BackLink from '../components/navigation/BackLink';
|
|
8
8
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
9
9
|
export function PageStateDetailPage() {
|
|
10
|
-
const { pageStateId, pageId, envId,
|
|
10
|
+
const { pageStateId, pageId, envId, runId } = useRouteParams();
|
|
11
11
|
const { networkClient, token, baseUrl } = useTestomniacApi();
|
|
12
12
|
const { navigate } = useLocalizedNavigate();
|
|
13
|
+
const r = useEnvRoutes();
|
|
13
14
|
const [activeTab, setActiveTab] = useState('body');
|
|
14
15
|
const [bodyView, setBodyView] = useState('rendered');
|
|
15
16
|
const [contentView, setContentView] = useState('rendered');
|
|
@@ -53,9 +54,7 @@ export function PageStateDetailPage() {
|
|
|
53
54
|
{ key: 'content', label: 'Content' },
|
|
54
55
|
{ key: 'scaffolds', label: 'Scaffolds' },
|
|
55
56
|
];
|
|
56
|
-
const pageBasePath = runId
|
|
57
|
-
? `/dashboard/${entitySlug}/environments/${envId}/runs/${runId}/pages/${pageId}`
|
|
58
|
-
: `/dashboard/${entitySlug}/environments/${envId}/pages/${pageId}`;
|
|
57
|
+
const pageBasePath = runId ? r.runPage(runId, pageId) : r.page(pageId);
|
|
59
58
|
return (_jsxs("div", { className: "p-6", children: [_jsx(BackLink, { label: `Page #${pageId}`, onClick: () => navigate(pageBasePath) }), _jsxs("div", { className: "mb-6", children: [_jsxs("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: ["Page State #", pageStateId] }), _jsxs("div", { className: "flex items-center gap-3 mt-2", children: [_jsx("span", { className: "px-2 py-0.5 text-xs rounded bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400", children: state.sizeClass }), _jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Environment #", envId, " / Page #", pageId] }), state.capturedAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Captured: ", new Date(state.capturedAt).toLocaleString()] }))] })] }), _jsx(Tabs, { value: activeTab, onValueChange: v => setActiveTab(v), className: "mb-6", children: _jsx(TabsList, { children: tabs.map(tab => (_jsx(TabsTrigger, { value: tab.key, children: tab.label }, tab.key))) }) }), activeTab === 'body' && (_jsxs("div", { children: [_jsxs("div", { className: "flex gap-2 mb-4", children: [_jsx("button", { onClick: () => setBodyView('rendered'), className: `px-3 py-1.5 text-sm rounded-md border ${bodyView === 'rendered'
|
|
60
59
|
? 'border-blue-500 bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300'
|
|
61
60
|
: 'border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300'}`, children: "Rendered" }), _jsx("button", { onClick: () => setBodyView('source'), className: `px-3 py-1.5 text-sm rounded-md border ${bodyView === 'source'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageStateDetailPage.js","sourceRoot":"","sources":["../../src/pages/PageStateDetailPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"PageStateDetailPage.js","sourceRoot":"","sources":["../../src/pages/PageStateDetailPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunRedirect.d.ts","sourceRoot":"","sources":["../../src/pages/RunRedirect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RunRedirect.d.ts","sourceRoot":"","sources":["../../src/pages/RunRedirect.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,gCAiC1B"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRun } from '@sudobility/testomniac_client';
|
|
3
3
|
import { useTestomniacApi } from '../context/config';
|
|
4
|
-
import { useRouteParams, Redirect } from '../context/routing';
|
|
5
|
-
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
4
|
+
import { useRouteParams, useRoutes, Redirect } from '../context/routing';
|
|
6
5
|
export function RunRedirect() {
|
|
7
6
|
const { runId, entitySlug } = useRouteParams();
|
|
8
7
|
const { networkClient, token, baseUrl } = useTestomniacApi();
|
|
9
|
-
const
|
|
8
|
+
const routes = useRoutes();
|
|
10
9
|
const { run, isLoading, error } = useRun({
|
|
11
10
|
networkClient,
|
|
12
11
|
baseUrl,
|
|
@@ -20,6 +19,6 @@ export function RunRedirect() {
|
|
|
20
19
|
if (error || !run) {
|
|
21
20
|
return (_jsx("div", { className: "p-6", children: _jsx("div", { className: "text-center text-red-500 py-8", children: error || 'Run not found.' }) }));
|
|
22
21
|
}
|
|
23
|
-
return
|
|
22
|
+
return _jsx(Redirect, { to: routes.run(entitySlug, run.testEnvironmentId ?? '', runId) });
|
|
24
23
|
}
|
|
25
24
|
//# sourceMappingURL=RunRedirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunRedirect.js","sourceRoot":"","sources":["../../src/pages/RunRedirect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"RunRedirect.js","sourceRoot":"","sources":["../../src/pages/RunRedirect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,cAAc,EAAyC,CAAC;IACtF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACvC,aAAa;QACb,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;KAC5B,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,cAAK,SAAS,EAAC,oDAAoD,YACjE,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,iFAAiF,GAAG,EACnG,eAAM,SAAS,EAAC,0CAA0C,uCAA8B,IACpF,GACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YAClB,cAAK,SAAS,EAAC,+BAA+B,YAAE,KAAK,IAAI,gBAAgB,GAAO,GAC5E,CACP,CAAC;IACJ,CAAC;IAED,OAAO,KAAC,QAAQ,IAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,EAAE,KAAK,CAAC,GAAI,CAAC;AACtF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunSurfaceRunDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunDetailPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RunSurfaceRunDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunDetailPage.tsx"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB,gCA0GtC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useRunStructure } from '@sudobility/testomniac_client';
|
|
3
3
|
import { SEOHead, useTestomniacApi } from '../context/config';
|
|
4
|
-
import { useRouteParams } from '../context/routing';
|
|
5
|
-
import { useEnvBasePath } from '../hooks/useEnvBasePath';
|
|
4
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
6
5
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
7
6
|
import { StatusBadge } from '../components/scanner/StatusBadge';
|
|
8
7
|
import { Card } from '@sudobility/components';
|
|
@@ -18,8 +17,7 @@ export function RunSurfaceRunDetailPage() {
|
|
|
18
17
|
token: token ?? '',
|
|
19
18
|
enabled: !!runId && !!token,
|
|
20
19
|
});
|
|
21
|
-
const
|
|
22
|
-
const basePath = `${envBasePath}/runs/${runId}`;
|
|
20
|
+
const r = useEnvRoutes();
|
|
23
21
|
const match = structure?.surfaces.find(surface => surface.surfaceRuns.some(surfaceRun => surfaceRun.id === Number(surfaceRunId))) ?? null;
|
|
24
22
|
const selectedRun = match?.surfaceRuns.find(surfaceRun => surfaceRun.id === Number(surfaceRunId)) ?? null;
|
|
25
23
|
if (error) {
|
|
@@ -31,7 +29,7 @@ export function RunSurfaceRunDetailPage() {
|
|
|
31
29
|
if (!match || !selectedRun) {
|
|
32
30
|
return (_jsx("div", { className: "p-6 text-center text-gray-500 dark:text-gray-400", children: "Surface run not found." }));
|
|
33
31
|
}
|
|
34
|
-
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `${match.title} Run`, description: "", noIndex: true }), _jsx(BackLink, { label: "Back to Surface Runs", onClick: () => navigate(
|
|
32
|
+
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `${match.title} Run`, description: "", noIndex: true }), _jsx(BackLink, { label: "Back to Surface Runs", onClick: () => navigate(r.runSurfaceRuns(runId)) }), _jsxs("nav", { className: "mb-4 flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400", children: [_jsxs("button", { onClick: () => navigate(r.run(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: ["Run #", runId] }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => navigate(r.runSurfaceRuns(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: "Surface Runs" }), _jsx("span", { children: "/" }), _jsx("span", { className: "text-gray-900 dark:text-gray-100 font-medium", children: match.title })] }), _jsxs("div", { className: "mb-6 flex items-center gap-3", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: match.title }), _jsx(StatusBadge, { status: selectedRun.status })] }), _jsx(Card, { variant: "bordered", padding: "md", className: "mb-6", children: _jsxs("div", { className: "text-sm text-gray-600 dark:text-gray-300", children: ["Surface run #", selectedRun.id, " with ", match.testInteractions.length, " test interactions."] }) }), _jsx("div", { className: "space-y-3", children: match.testInteractions.map(testInteraction => (_jsx("button", { onClick: () => navigate(r.runSurfaceRunInteraction(runId, surfaceRunId, testInteraction.id)), className: "w-full rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-900 dark:hover:bg-gray-800", children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: testInteraction.title }), _jsxs("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: [testInteraction.interactionRuns.length, " interaction run", testInteraction.interactionRuns.length === 1 ? '' : 's'] })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsx(StatusBadge, { status: testInteraction.testType }), _jsx(StatusBadge, { status: testInteraction.interactionRuns[0]?.status ??
|
|
35
33
|
match.surfaceRuns[0]?.status ??
|
|
36
34
|
'pending' })] })] }) }, testInteraction.id))) })] }));
|
|
37
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunSurfaceRunDetailPage.js","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunDetailPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"RunSurfaceRunDetailPage.js","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunDetailPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AAEzD,MAAM,UAAU,uBAAuB;IACrC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,EAG1C,CAAC;IACL,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE5C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;QACtD,aAAa;QACb,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;KAC5B,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;IACzB,MAAM,KAAK,GACT,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACjC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAC/E,IAAI,IAAI,CAAC;IACZ,MAAM,WAAW,GACf,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC;IAExF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,eAAK,SAAS,EAAC,gDAAgD,wBAAS,KAAK,IAAO,CAAC;IAC9F,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,cAAK,SAAS,EAAC,kDAAkD,2BAAiB,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,OAAO,CACL,cAAK,SAAS,EAAC,kDAAkD,uCAA6B,CAC/F,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,OAAO,IAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,MAAM,EAAE,WAAW,EAAC,EAAE,EAAC,OAAO,SAAG,EAC/D,KAAC,QAAQ,IAAC,KAAK,EAAC,sBAAsB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAI,EAC3F,eAAK,SAAS,EAAC,uEAAuE,aACpF,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACrC,SAAS,EAAC,gEAAgE,sBAEpE,KAAK,IACJ,EACT,+BAAc,EACd,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAChD,SAAS,EAAC,gEAAgE,6BAGnE,EACT,+BAAc,EACd,eAAM,SAAS,EAAC,8CAA8C,YAAE,KAAK,CAAC,KAAK,GAAQ,IAC/E,EAEN,eAAK,SAAS,EAAC,8BAA8B,aAC3C,aAAI,SAAS,EAAC,qDAAqD,YAAE,KAAK,CAAC,KAAK,GAAM,EACtF,KAAC,WAAW,IAAC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAI,IACvC,EAEN,KAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,MAAM,YACpD,eAAK,SAAS,EAAC,0CAA0C,8BACzC,WAAW,CAAC,EAAE,YAAQ,KAAK,CAAC,gBAAgB,CAAC,MAAM,2BAC7D,GACD,EAEP,cAAK,SAAS,EAAC,WAAW,YACvB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAC7C,iBAEE,OAAO,EAAE,GAAG,EAAE,CACZ,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,EAE/E,SAAS,EAAC,iKAAiK,YAE3K,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,sDAAsD,YAClE,eAAe,CAAC,KAAK,GAClB,EACN,eAAK,SAAS,EAAC,+CAA+C,aAC3D,eAAe,CAAC,eAAe,CAAC,MAAM,sBACtC,eAAe,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IACpD,IACF,EACN,eAAK,SAAS,EAAC,kCAAkC,aAC/C,KAAC,WAAW,IAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,GAAI,EACjD,KAAC,WAAW,IACV,MAAM,EACJ,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM;4CAC1C,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM;4CAC5B,SAAS,GAEX,IACE,IACF,IA1BD,eAAe,CAAC,EAAE,CA2BhB,CACV,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunSurfaceRunsPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunsPage.tsx"],"names":[],"mappings":"AAUA,wBAAgB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"RunSurfaceRunsPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunsPage.tsx"],"names":[],"mappings":"AAUA,wBAAgB,kBAAkB,gCAqGjC"}
|
|
@@ -3,15 +3,16 @@ import { useRunStructure } from '@sudobility/testomniac_client';
|
|
|
3
3
|
import { Card } from '@sudobility/components';
|
|
4
4
|
import { formatDate } from '@sudobility/testomniac_lib';
|
|
5
5
|
import { SEOHead, useTestomniacApi } from '../context/config';
|
|
6
|
-
import { useRouteParams } from '../context/routing';
|
|
6
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
7
7
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
8
8
|
import { StatusBadge } from '../components/scanner/StatusBadge';
|
|
9
9
|
import BackLink from '../components/navigation/BackLink';
|
|
10
10
|
import { ErrorState, LoadingState, EmptyState } from '../components/states';
|
|
11
11
|
export function RunSurfaceRunsPage() {
|
|
12
|
-
const {
|
|
12
|
+
const { runId } = useRouteParams();
|
|
13
13
|
const { networkClient, token, baseUrl } = useTestomniacApi();
|
|
14
14
|
const { navigate } = useLocalizedNavigate();
|
|
15
|
+
const r = useEnvRoutes();
|
|
15
16
|
const { structure, isLoading, error } = useRunStructure({
|
|
16
17
|
networkClient,
|
|
17
18
|
baseUrl,
|
|
@@ -19,7 +20,6 @@ export function RunSurfaceRunsPage() {
|
|
|
19
20
|
token: token ?? '',
|
|
20
21
|
enabled: !!runId && !!token,
|
|
21
22
|
});
|
|
22
|
-
const basePath = `/dashboard/${entitySlug}/environments/${envId}/runs/${runId}`;
|
|
23
23
|
const surfaceRuns = structure?.surfaces.flatMap(surface => surface.surfaceRuns.map(surfaceRun => ({
|
|
24
24
|
surface,
|
|
25
25
|
surfaceRun,
|
|
@@ -30,6 +30,6 @@ export function RunSurfaceRunsPage() {
|
|
|
30
30
|
if (isLoading) {
|
|
31
31
|
return _jsx(LoadingState, { message: "Loading surface runs..." });
|
|
32
32
|
}
|
|
33
|
-
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `Run #${runId} Surface Runs`, description: "", noIndex: true }), _jsx(BackLink, { label: `Back to Run #${runId}`, onClick: () => navigate(
|
|
33
|
+
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `Run #${runId} Surface Runs`, description: "", noIndex: true }), _jsx(BackLink, { label: `Back to Run #${runId}`, onClick: () => navigate(r.run(runId)) }), _jsxs("nav", { className: "mb-4 flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400", children: [_jsxs("button", { onClick: () => navigate(r.run(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: ["Run #", runId] }), _jsx("span", { children: "/" }), _jsx("span", { className: "text-gray-900 dark:text-gray-100 font-medium", children: "Surface Runs" })] }), _jsx("h1", { className: "mb-6 text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Surface Runs" }), surfaceRuns.length === 0 ? (_jsx(EmptyState, { description: "No surface runs found for this run." })) : (_jsx(Card, { variant: "bordered", padding: "none", className: "overflow-x-auto", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800", children: [_jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Surface" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Run" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Status" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Elements" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Started" })] }) }), _jsx("tbody", { className: "divide-y divide-gray-200 dark:divide-gray-700", children: surfaceRuns.map(({ surface, surfaceRun }) => (_jsxs("tr", { onClick: () => navigate(r.runSurfaceRun(runId, surfaceRun.id)), className: "cursor-pointer bg-white transition-colors hover:bg-gray-50 dark:bg-gray-900 dark:hover:bg-gray-800", children: [_jsx("td", { className: "px-4 py-3 text-gray-900 dark:text-gray-100", children: surface.title }), _jsxs("td", { className: "px-4 py-3 font-mono text-gray-600 dark:text-gray-400", children: ["#", surfaceRun.id] }), _jsx("td", { className: "px-4 py-3", children: _jsx(StatusBadge, { status: surfaceRun.status }) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: surface.testInteractions.length }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: formatDate(surfaceRun.startedAt) })] }, surfaceRun.id))) })] }) }))] }));
|
|
34
34
|
}
|
|
35
35
|
//# sourceMappingURL=RunSurfaceRunsPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunSurfaceRunsPage.js","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunsPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"RunSurfaceRunsPage.js","sourceRoot":"","sources":["../../src/pages/RunSurfaceRunsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunTestInteractionRunDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunTestInteractionRunDetailPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RunTestInteractionRunDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunTestInteractionRunDetailPage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,+BAA+B,gCA2N9C"}
|
|
@@ -4,8 +4,7 @@ import { useRunStructure, useTestInteractionRun, useTestRunFindings, } from '@su
|
|
|
4
4
|
import { formatDate, formatMultilineLog } from '@sudobility/testomniac_lib';
|
|
5
5
|
import { Alert, Card } from '@sudobility/components';
|
|
6
6
|
import { SEOHead, useTestomniacApi } from '../context/config';
|
|
7
|
-
import { useRouteParams } from '../context/routing';
|
|
8
|
-
import { useEnvBasePath } from '../hooks/useEnvBasePath';
|
|
7
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
9
8
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
10
9
|
import { StatusBadge } from '../components/scanner/StatusBadge';
|
|
11
10
|
import BackLink from '../components/navigation/BackLink';
|
|
@@ -35,8 +34,7 @@ export function RunTestInteractionRunDetailPage() {
|
|
|
35
34
|
token: token ?? '',
|
|
36
35
|
enabled: !!elementRunId && !!token,
|
|
37
36
|
});
|
|
38
|
-
const
|
|
39
|
-
const basePath = `${envBasePath}/runs/${runId}`;
|
|
37
|
+
const r = useEnvRoutes();
|
|
40
38
|
const surface = structure?.surfaces.find(candidate => candidate.surfaceRuns.some(run => run.id === Number(surfaceRunId))) ?? null;
|
|
41
39
|
const testInteraction = surface?.testInteractions.find(candidate => candidate.id === Number(elementId)) ?? null;
|
|
42
40
|
const inlineRun = useMemo(() => testInteraction?.interactionRuns.find(candidate => candidate.id === Number(elementRunId)) ??
|
|
@@ -50,6 +48,6 @@ export function RunTestInteractionRunDetailPage() {
|
|
|
50
48
|
}
|
|
51
49
|
const consoleLog = formatMultilineLog(testInteractionRun.consoleLog);
|
|
52
50
|
const networkLog = formatMultilineLog(testInteractionRun.networkLog);
|
|
53
|
-
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `Interaction Run #${elementRunId}`, description: "", noIndex: true }), _jsx(BackLink, { label: `Back to ${testInteraction?.title ?? `Test Interaction #${elementId}`}`, onClick: () => navigate(
|
|
51
|
+
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `Interaction Run #${elementRunId}`, description: "", noIndex: true }), _jsx(BackLink, { label: `Back to ${testInteraction?.title ?? `Test Interaction #${elementId}`}`, onClick: () => navigate(r.runSurfaceRunInteraction(runId, surfaceRunId, elementId)) }), _jsxs("nav", { className: "mb-4 flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400", children: [_jsxs("button", { onClick: () => navigate(r.run(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: ["Run #", runId] }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => navigate(r.runSurfaceRuns(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: "Surface Runs" }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => navigate(r.runSurfaceRun(runId, surfaceRunId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: surface?.title ?? `Surface Run #${surfaceRunId}` }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => navigate(r.runSurfaceRunInteraction(runId, surfaceRunId, elementId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: testInteraction?.title ?? `Test Interaction #${elementId}` }), _jsx("span", { children: "/" }), _jsxs("span", { className: "text-gray-900 dark:text-gray-100 font-medium", children: ["Run #", elementRunId] })] }), _jsxs("div", { className: "mb-6 flex flex-wrap items-center gap-3", children: [_jsxs("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: ["Interaction Run #", elementRunId] }), _jsx(StatusBadge, { status: testInteractionRun.status }), testInteraction && _jsx(StatusBadge, { status: testInteraction.testType })] }), _jsxs("div", { className: "mb-8 grid grid-cols-2 gap-4 md:grid-cols-4", children: [_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: findings.length }), _jsx("div", { className: "text-xs text-gray-500", children: "Findings" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: testInteractionRun.durationMs ?? '-' }), _jsx("div", { className: "text-xs text-gray-500", children: "Duration (ms)" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: formatDate(testInteractionRun.startedAt) }), _jsx("div", { className: "text-xs text-gray-500", children: "Started" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: formatDate(testInteractionRun.completedAt) }), _jsx("div", { className: "text-xs text-gray-500", children: "Completed" })] })] }), testInteractionRun.errorMessage && (_jsx(Alert, { variant: "error", className: "mb-6", children: _jsx("span", { className: "whitespace-pre-wrap", children: testInteractionRun.errorMessage }) })), testInteractionRun.expectedOutcome && (_jsxs(Card, { variant: "bordered", padding: "md", className: "mb-6", children: [_jsx("h2", { className: "mb-2 text-sm font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400", children: "Expected Outcome" }), _jsx("pre", { className: "whitespace-pre-wrap text-xs text-gray-700 dark:text-gray-300", children: testInteractionRun.expectedOutcome })] })), testInteractionRun.observedOutcome && (_jsxs(Card, { variant: "bordered", padding: "md", className: "mb-6", children: [_jsx("h2", { className: "mb-2 text-sm font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400", children: "Observed Outcome" }), _jsx("pre", { className: "whitespace-pre-wrap text-xs text-gray-700 dark:text-gray-300", children: testInteractionRun.observedOutcome })] })), _jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "mb-3 text-sm font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Findings" }), findings.length === 0 ? (_jsx(EmptyState, { description: "No findings for this interaction run." })) : (_jsx("div", { className: "space-y-3", children: findings.map(finding => (_jsx(Card, { variant: "bordered", padding: "md", children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: finding.title }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: finding.description })] }), _jsx("div", { className: "shrink-0", children: _jsx(StatusBadge, { status: finding.type }) })] }) }, finding.id))) }))] }), (consoleLog || networkLog || inlineRun?.findings.length) && (_jsxs("div", { className: "space-y-6", children: [consoleLog && (_jsxs("div", { children: [_jsx("h2", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Console Log" }), _jsx("pre", { className: "max-h-80 overflow-auto rounded-lg border border-gray-200 bg-gray-50 p-4 text-xs leading-5 text-gray-700 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300", children: consoleLog })] })), networkLog && (_jsxs("div", { children: [_jsx("h2", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Network Log" }), _jsx("pre", { className: "max-h-80 overflow-auto rounded-lg border border-gray-200 bg-gray-50 p-4 text-xs leading-5 text-gray-700 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300", children: networkLog })] }))] }))] }));
|
|
54
52
|
}
|
|
55
53
|
//# sourceMappingURL=RunTestInteractionRunDetailPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunTestInteractionRunDetailPage.js","sourceRoot":"","sources":["../../src/pages/RunTestInteractionRunDetailPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"RunTestInteractionRunDetailPage.js","sourceRoot":"","sources":["../../src/pages/RunTestInteractionRunDetailPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunTestInteractionRunsPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunTestInteractionRunsPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RunTestInteractionRunsPage.d.ts","sourceRoot":"","sources":["../../src/pages/RunTestInteractionRunsPage.tsx"],"names":[],"mappings":"AAUA,wBAAgB,0BAA0B,gCAsIzC"}
|
|
@@ -3,8 +3,7 @@ import { useRunStructure } from '@sudobility/testomniac_client';
|
|
|
3
3
|
import { Card } from '@sudobility/components';
|
|
4
4
|
import { formatDuration } from '@sudobility/testomniac_lib';
|
|
5
5
|
import { SEOHead, useTestomniacApi } from '../context/config';
|
|
6
|
-
import { useRouteParams } from '../context/routing';
|
|
7
|
-
import { useEnvBasePath } from '../hooks/useEnvBasePath';
|
|
6
|
+
import { useRouteParams, useEnvRoutes } from '../context/routing';
|
|
8
7
|
import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
|
|
9
8
|
import { StatusBadge } from '../components/scanner/StatusBadge';
|
|
10
9
|
import BackLink from '../components/navigation/BackLink';
|
|
@@ -20,8 +19,7 @@ export function RunTestInteractionRunsPage() {
|
|
|
20
19
|
token: token ?? '',
|
|
21
20
|
enabled: !!runId && !!token,
|
|
22
21
|
});
|
|
23
|
-
const
|
|
24
|
-
const basePath = `${envBasePath}/runs/${runId}`;
|
|
22
|
+
const r = useEnvRoutes();
|
|
25
23
|
const surface = structure?.surfaces.find(candidate => candidate.surfaceRuns.some(run => run.id === Number(surfaceRunId))) ?? null;
|
|
26
24
|
const testInteraction = surface?.testInteractions.find(candidate => candidate.id === Number(elementId)) ?? null;
|
|
27
25
|
if (error) {
|
|
@@ -33,6 +31,6 @@ export function RunTestInteractionRunsPage() {
|
|
|
33
31
|
if (!surface || !testInteraction) {
|
|
34
32
|
return (_jsx("div", { className: "p-6 text-center text-gray-500 dark:text-gray-400", children: "Test element not found." }));
|
|
35
33
|
}
|
|
36
|
-
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `${testInteraction.title} Runs`, description: "", noIndex: true }), _jsx(BackLink, { label: `Back to ${surface.title}`, onClick: () => navigate(
|
|
34
|
+
return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: `${testInteraction.title} Runs`, description: "", noIndex: true }), _jsx(BackLink, { label: `Back to ${surface.title}`, onClick: () => navigate(r.runSurfaceRun(runId, surfaceRunId)) }), _jsxs("nav", { className: "mb-4 flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400", children: [_jsxs("button", { onClick: () => navigate(r.run(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: ["Run #", runId] }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => navigate(r.runSurfaceRuns(runId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: "Surface Runs" }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => navigate(r.runSurfaceRun(runId, surfaceRunId)), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: surface.title }), _jsx("span", { children: "/" }), _jsx("span", { className: "text-gray-900 dark:text-gray-100 font-medium", children: testInteraction.title })] }), _jsxs("div", { className: "mb-6 flex items-center gap-3", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: testInteraction.title }), _jsx(StatusBadge, { status: testInteraction.testType })] }), testInteraction.interactionRuns.length === 0 ? (_jsx(EmptyState, { description: "No interaction runs found." })) : (_jsx(Card, { variant: "bordered", padding: "none", className: "overflow-x-auto", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800", children: [_jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Run" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Status" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Duration" }), _jsx("th", { className: "px-4 py-3 text-left font-medium text-gray-500 dark:text-gray-400", children: "Findings" })] }) }), _jsx("tbody", { className: "divide-y divide-gray-200 dark:divide-gray-700", children: testInteraction.interactionRuns.map(elementRun => (_jsxs("tr", { onClick: () => navigate(r.runSurfaceRunInteractionRun(runId, surfaceRunId, elementId, elementRun.id)), className: "cursor-pointer bg-white transition-colors hover:bg-gray-50 dark:bg-gray-900 dark:hover:bg-gray-800", children: [_jsxs("td", { className: "px-4 py-3 font-mono text-gray-900 dark:text-gray-100", children: ["#", elementRun.id] }), _jsx("td", { className: "px-4 py-3", children: _jsx(StatusBadge, { status: elementRun.status }) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: formatDuration(elementRun.durationMs) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: elementRun.findings.length })] }, elementRun.id))) })] }) }))] }));
|
|
37
35
|
}
|
|
38
36
|
//# sourceMappingURL=RunTestInteractionRunsPage.js.map
|