@sudobility/testomniac_ui 0.0.1 → 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.
Files changed (136) hide show
  1. package/dist/components/apiKeys/EntityApiKeysPanel.d.ts +7 -0
  2. package/dist/components/apiKeys/EntityApiKeysPanel.d.ts.map +1 -0
  3. package/dist/components/apiKeys/EntityApiKeysPanel.js +99 -0
  4. package/dist/components/apiKeys/EntityApiKeysPanel.js.map +1 -0
  5. package/dist/components/apiKeys/index.d.ts +2 -0
  6. package/dist/components/apiKeys/index.d.ts.map +1 -0
  7. package/dist/components/apiKeys/index.js +2 -0
  8. package/dist/components/apiKeys/index.js.map +1 -0
  9. package/dist/components/bundles/AddToBundleButton.d.ts.map +1 -1
  10. package/dist/components/bundles/AddToBundleButton.js +10 -17
  11. package/dist/components/bundles/AddToBundleButton.js.map +1 -1
  12. package/dist/components/cells/BundleCell.d.ts.map +1 -1
  13. package/dist/components/cells/BundleCell.js +2 -1
  14. package/dist/components/cells/BundleCell.js.map +1 -1
  15. package/dist/components/cells/SurfaceCell.d.ts.map +1 -1
  16. package/dist/components/cells/SurfaceCell.js +3 -8
  17. package/dist/components/cells/SurfaceCell.js.map +1 -1
  18. package/dist/components/credentials/CredentialManagementSection.d.ts +10 -0
  19. package/dist/components/credentials/CredentialManagementSection.d.ts.map +1 -0
  20. package/dist/components/credentials/CredentialManagementSection.js +138 -0
  21. package/dist/components/credentials/CredentialManagementSection.js.map +1 -0
  22. package/dist/components/credentials/index.d.ts +2 -0
  23. package/dist/components/credentials/index.d.ts.map +1 -0
  24. package/dist/components/credentials/index.js +2 -0
  25. package/dist/components/credentials/index.js.map +1 -0
  26. package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -1
  27. package/dist/components/dashboard/DashboardSidebar.js +30 -26
  28. package/dist/components/dashboard/DashboardSidebar.js.map +1 -1
  29. package/dist/components/pages/PagesListView.d.ts +1 -1
  30. package/dist/components/pages/PagesListView.d.ts.map +1 -1
  31. package/dist/components/pages/PagesListView.js +4 -5
  32. package/dist/components/pages/PagesListView.js.map +1 -1
  33. package/dist/components/pages/PagesMapView.d.ts +1 -1
  34. package/dist/components/pages/PagesMapView.d.ts.map +1 -1
  35. package/dist/components/pages/PagesMapView.js +5 -6
  36. package/dist/components/pages/PagesMapView.js.map +1 -1
  37. package/dist/components/scanner/StatusBadge.d.ts.map +1 -1
  38. package/dist/components/scanner/StatusBadge.js +14 -12
  39. package/dist/components/scanner/StatusBadge.js.map +1 -1
  40. package/dist/components/states/index.d.ts +2 -2
  41. package/dist/components/states/index.d.ts.map +1 -1
  42. package/dist/components/states/index.js +5 -5
  43. package/dist/components/states/index.js.map +1 -1
  44. package/dist/context/routing.d.ts +94 -1
  45. package/dist/context/routing.d.ts.map +1 -1
  46. package/dist/context/routing.js +51 -2
  47. package/dist/context/routing.js.map +1 -1
  48. package/dist/hooks/useDashboardEnvironmentContext.d.ts.map +1 -1
  49. package/dist/hooks/useDashboardEnvironmentContext.js +11 -69
  50. package/dist/hooks/useDashboardEnvironmentContext.js.map +1 -1
  51. package/dist/hooks/useEnvBasePath.d.ts +5 -3
  52. package/dist/hooks/useEnvBasePath.d.ts.map +1 -1
  53. package/dist/hooks/useEnvBasePath.js +8 -5
  54. package/dist/hooks/useEnvBasePath.js.map +1 -1
  55. package/dist/index.d.ts +4 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +4 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/pages/BundleDetailPage.d.ts.map +1 -1
  60. package/dist/pages/BundleDetailPage.js +47 -25
  61. package/dist/pages/BundleDetailPage.js.map +1 -1
  62. package/dist/pages/BundlesPage.js +3 -3
  63. package/dist/pages/BundlesPage.js.map +1 -1
  64. package/dist/pages/DashboardOverview.d.ts.map +1 -1
  65. package/dist/pages/DashboardOverview.js +28 -15
  66. package/dist/pages/DashboardOverview.js.map +1 -1
  67. package/dist/pages/FindingsListPage.d.ts.map +1 -1
  68. package/dist/pages/FindingsListPage.js +8 -11
  69. package/dist/pages/FindingsListPage.js.map +1 -1
  70. package/dist/pages/PageDetailPage.d.ts.map +1 -1
  71. package/dist/pages/PageDetailPage.js +7 -10
  72. package/dist/pages/PageDetailPage.js.map +1 -1
  73. package/dist/pages/PageGraphPage.d.ts.map +1 -1
  74. package/dist/pages/PageGraphPage.js +6 -5
  75. package/dist/pages/PageGraphPage.js.map +1 -1
  76. package/dist/pages/PageStateDetailPage.d.ts.map +1 -1
  77. package/dist/pages/PageStateDetailPage.js +4 -5
  78. package/dist/pages/PageStateDetailPage.js.map +1 -1
  79. package/dist/pages/RunRedirect.d.ts.map +1 -1
  80. package/dist/pages/RunRedirect.js +3 -4
  81. package/dist/pages/RunRedirect.js.map +1 -1
  82. package/dist/pages/RunSurfaceRunDetailPage.d.ts.map +1 -1
  83. package/dist/pages/RunSurfaceRunDetailPage.js +3 -5
  84. package/dist/pages/RunSurfaceRunDetailPage.js.map +1 -1
  85. package/dist/pages/RunSurfaceRunsPage.d.ts.map +1 -1
  86. package/dist/pages/RunSurfaceRunsPage.js +4 -4
  87. package/dist/pages/RunSurfaceRunsPage.js.map +1 -1
  88. package/dist/pages/RunTestInteractionRunDetailPage.d.ts.map +1 -1
  89. package/dist/pages/RunTestInteractionRunDetailPage.js +3 -5
  90. package/dist/pages/RunTestInteractionRunDetailPage.js.map +1 -1
  91. package/dist/pages/RunTestInteractionRunsPage.d.ts.map +1 -1
  92. package/dist/pages/RunTestInteractionRunsPage.js +3 -5
  93. package/dist/pages/RunTestInteractionRunsPage.js.map +1 -1
  94. package/dist/pages/RunnerGraphPage.d.ts.map +1 -1
  95. package/dist/pages/RunnerGraphPage.js +5 -4
  96. package/dist/pages/RunnerGraphPage.js.map +1 -1
  97. package/dist/pages/RunnerSettingsPage.d.ts +2 -0
  98. package/dist/pages/RunnerSettingsPage.d.ts.map +1 -0
  99. package/dist/pages/RunnerSettingsPage.js +9 -0
  100. package/dist/pages/RunnerSettingsPage.js.map +1 -0
  101. package/dist/pages/ScaffoldDetailPage.d.ts.map +1 -1
  102. package/dist/pages/ScaffoldDetailPage.js +5 -6
  103. package/dist/pages/ScaffoldDetailPage.js.map +1 -1
  104. package/dist/pages/ScaffoldsPage.d.ts.map +1 -1
  105. package/dist/pages/ScaffoldsPage.js +3 -4
  106. package/dist/pages/ScaffoldsPage.js.map +1 -1
  107. package/dist/pages/ScanProgressPage.d.ts.map +1 -1
  108. package/dist/pages/ScanProgressPage.js +8 -6
  109. package/dist/pages/ScanProgressPage.js.map +1 -1
  110. package/dist/pages/StartScanPage.d.ts.map +1 -1
  111. package/dist/pages/StartScanPage.js +3 -2
  112. package/dist/pages/StartScanPage.js.map +1 -1
  113. package/dist/pages/TestInteractionDetailPage.d.ts.map +1 -1
  114. package/dist/pages/TestInteractionDetailPage.js +4 -5
  115. package/dist/pages/TestInteractionDetailPage.js.map +1 -1
  116. package/dist/pages/TestInteractionsPage.d.ts.map +1 -1
  117. package/dist/pages/TestInteractionsPage.js +4 -3
  118. package/dist/pages/TestInteractionsPage.js.map +1 -1
  119. package/dist/pages/TestRunDetailPage.d.ts.map +1 -1
  120. package/dist/pages/TestRunDetailPage.js +7 -12
  121. package/dist/pages/TestRunDetailPage.js.map +1 -1
  122. package/dist/pages/TestRunsListPage.js +3 -3
  123. package/dist/pages/TestRunsListPage.js.map +1 -1
  124. package/dist/pages/TestScenarioDetailPage.d.ts.map +1 -1
  125. package/dist/pages/TestScenarioDetailPage.js +14 -13
  126. package/dist/pages/TestScenarioDetailPage.js.map +1 -1
  127. package/dist/pages/TestScenariosPage.d.ts.map +1 -1
  128. package/dist/pages/TestScenariosPage.js +3 -4
  129. package/dist/pages/TestScenariosPage.js.map +1 -1
  130. package/dist/pages/TestSurfaceDetailPage.d.ts.map +1 -1
  131. package/dist/pages/TestSurfaceDetailPage.js +3 -4
  132. package/dist/pages/TestSurfaceDetailPage.js.map +1 -1
  133. package/dist/pages/TestSurfacesListPage.d.ts.map +1 -1
  134. package/dist/pages/TestSurfacesListPage.js +3 -4
  135. package/dist/pages/TestSurfacesListPage.js.map +1 -1
  136. package/package.json +6 -6
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef } from 'react';
3
3
  import { useScanProgressStore } from '@sudobility/testomniac_lib';
4
- import { useEventSource, buildRunStreamUrl } from '@sudobility/testomniac_client';
4
+ import { useRunProgressStream } from '@sudobility/testomniac_client';
5
5
  import { Button } from '@sudobility/components';
6
6
  import { SEOHead, useTestomniacApi } from '../context/config';
7
- import { useRouteParams } from '../context/routing';
7
+ import { useRouteParams, useRoutes } from '../context/routing';
8
8
  import { ScanProgressPanel } from '../components/scanner/ScanProgressPanel';
9
9
  import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
10
10
  export function ScanProgressPage() {
11
11
  const { entitySlug, runId } = useRouteParams();
12
+ const routes = useRoutes();
12
13
  const { baseUrl } = useTestomniacApi();
13
14
  const store = useScanProgressStore();
14
15
  const prevRunId = useRef(undefined);
@@ -20,11 +21,12 @@ export function ScanProgressPage() {
20
21
  }
21
22
  }, [runId, store]);
22
23
  const { navigate } = useLocalizedNavigate();
23
- const sseUrl = runId && !store.isComplete ? buildRunStreamUrl(baseUrl, runId) : null;
24
- const { isConnected } = useEventSource({
25
- url: sseUrl,
24
+ const { isConnected } = useRunProgressStream({
25
+ baseUrl,
26
+ runId,
27
+ isComplete: store.isComplete,
26
28
  onEvent: store.handleEvent,
27
29
  });
28
- return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: "Discovery Run Progress", description: "", noIndex: true }), _jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Discovery Run Progress" }), store.isComplete && (_jsx(Button, { variant: "primary", onClick: () => navigate(`/dashboard/${entitySlug}/runs/${runId}`), children: "View Results" }))] }), _jsx(ScanProgressPanel, { pagesFound: store.pagesFound, pageStatesFound: store.pageStatesFound, testRunsCompleted: store.testRunsCompleted, findingsFound: store.findingsFound, error: store.error, events: store.events, isConnected: isConnected, isComplete: store.isComplete, latestScreenshotUrl: store.latestScreenshotUrl, currentPageUrl: store.currentPageUrl })] }));
30
+ return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: "Discovery Run Progress", description: "", noIndex: true }), _jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: "Discovery Run Progress" }), store.isComplete && (_jsx(Button, { variant: "primary", onClick: () => navigate(routes.entityRun(entitySlug ?? '', runId ?? '')), children: "View Results" }))] }), _jsx(ScanProgressPanel, { pagesFound: store.pagesFound, pageStatesFound: store.pageStatesFound, testRunsCompleted: store.testRunsCompleted, findingsFound: store.findingsFound, error: store.error, events: store.events, isConnected: isConnected, isComplete: store.isComplete, latestScreenshotUrl: store.latestScreenshotUrl, currentPageUrl: store.currentPageUrl })] }));
29
31
  }
30
32
  //# sourceMappingURL=ScanProgressPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScanProgressPage.js","sourceRoot":"","sources":["../../src/pages/ScanProgressPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,cAAc,EAAyC,CAAC;IACtF,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAExD,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE5C,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;QACrC,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,KAAK,CAAC,WAAW;KAC3B,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,OAAO,IAAC,KAAK,EAAC,wBAAwB,EAAC,WAAW,EAAC,EAAE,EAAC,OAAO,SAAG,EACjE,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,qDAAqD,uCAE9D,EACJ,KAAK,CAAC,UAAU,IAAI,CACnB,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,UAAU,SAAS,KAAK,EAAE,CAAC,6BAG1D,CACV,IACG,EAEN,KAAC,iBAAiB,IAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,cAAc,EAAE,KAAK,CAAC,cAAc,GACpC,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ScanProgressPage.js","sourceRoot":"","sources":["../../src/pages/ScanProgressPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,cAAc,EAAyC,CAAC;IACtF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAExD,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE5C,MAAM,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC;QAC3C,OAAO;QACP,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,WAAW;KAC3B,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,OAAO,IAAC,KAAK,EAAC,wBAAwB,EAAC,WAAW,EAAC,EAAE,EAAC,OAAO,SAAG,EACjE,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,qDAAqD,uCAE9D,EACJ,KAAK,CAAC,UAAU,IAAI,CACnB,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,6BAGjE,CACV,IACG,EAEN,KAAC,iBAAiB,IAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,cAAc,EAAE,KAAK,CAAC,cAAc,GACpC,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartScanPage.d.ts","sourceRoot":"","sources":["../../src/pages/StartScanPage.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,aAAa,gCAmN5B"}
1
+ {"version":3,"file":"StartScanPage.d.ts","sourceRoot":"","sources":["../../src/pages/StartScanPage.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,aAAa,gCAwN5B"}
@@ -3,7 +3,7 @@ import { useState } from 'react';
3
3
  import { useEntityCredentials, useSubmitScan } from '@sudobility/testomniac_client';
4
4
  import { Label } from '@sudobility/components';
5
5
  import { SEOHead, useTestomniacApi } from '../context/config';
6
- import { useRouteParams } from '../context/routing';
6
+ import { useRouteParams, useRoutes } from '../context/routing';
7
7
  import { SelectField } from '../components/forms/SelectField';
8
8
  import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
9
9
  import { ScanForm } from '../components/scanner/ScanForm';
@@ -21,6 +21,7 @@ const AUTH_PROVIDER_LABELS = {
21
21
  };
22
22
  export function StartScanPage() {
23
23
  const { entitySlug } = useRouteParams();
24
+ const routes = useRoutes();
24
25
  const { networkClient, token, baseUrl } = useTestomniacApi();
25
26
  const { navigate } = useLocalizedNavigate();
26
27
  const [error, setError] = useState(null);
@@ -63,7 +64,7 @@ export function StartScanPage() {
63
64
  : {}),
64
65
  });
65
66
  if (response.success && response.data?.testRunId && response.data?.testEnvironmentId) {
66
- navigate(`/dashboard/${entitySlug}/environments/${response.data.testEnvironmentId}/runs/${response.data.testRunId}/progress`);
67
+ navigate(routes.runProgress(entitySlug ?? '', response.data.testEnvironmentId, response.data.testRunId));
67
68
  }
68
69
  else {
69
70
  setError(response.error || response.data?.message || 'Failed to start scan');
@@ -1 +1 @@
1
- {"version":3,"file":"StartScanPage.js","sourceRoot":"","sources":["../../src/pages/StartScanPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartScanPage.js","sourceRoot":"","sources":["../../src/pages/StartScanPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TestInteractionDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestInteractionDetailPage.tsx"],"names":[],"mappings":"AA4FA,wBAAgB,yBAAyB,gCAiLxC"}
1
+ {"version":3,"file":"TestInteractionDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestInteractionDetailPage.tsx"],"names":[],"mappings":"AA2FA,wBAAgB,yBAAyB,gCA8KxC"}
@@ -2,9 +2,8 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo, useState } from 'react';
3
3
  import { useEnvironmentTestInteractions, useTestInteractionActions, } from '@sudobility/testomniac_client';
4
4
  import { useTestomniacApi } from '../context/config';
5
- import { useRouteParams } from '../context/routing';
5
+ import { useRouteParams, useEnvRoutes } from '../context/routing';
6
6
  import BackLink from '../components/navigation/BackLink';
7
- import { useEnvBasePath } from '../hooks/useEnvBasePath';
8
7
  import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
9
8
  import { Card } from '@sudobility/components';
10
9
  import { StatusBadge } from '../components/scanner/StatusBadge';
@@ -22,7 +21,7 @@ export function TestInteractionDetailPage() {
22
21
  const { envId, elementId } = useRouteParams();
23
22
  const { networkClient, token, baseUrl } = useTestomniacApi();
24
23
  const { navigate } = useLocalizedNavigate();
25
- const basePath = useEnvBasePath();
24
+ const r = useEnvRoutes();
26
25
  const numericElementId = Number(elementId);
27
26
  const { actions, isLoading, error } = useTestInteractionActions({
28
27
  networkClient,
@@ -53,8 +52,8 @@ export function TestInteractionDetailPage() {
53
52
  if (actionError) {
54
53
  return _jsx(ErrorState, { message: actionError });
55
54
  }
56
- return (_jsxs("div", { className: "p-6", children: [_jsx(BackLink, { label: "Test Interactions", onClick: () => navigate(`${basePath}/test-interactions`) }), _jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsxs("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: ["Test Interaction #", elementId] }), _jsx(AddToBundleButton, { itemType: "interaction", itemId: Number(elementId) })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2 mb-6", children: [_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["ID: ", elementId] }), currentElement && _jsx(StatusBadge, { status: currentElement.testType }), currentElement && _jsx(StatusBadge, { status: currentElement.sizeClass }), hasHoverAction && _jsx(StatusBadge, { status: "hover" }), currentElement?.surfaceTags.map(tag => (_jsx(StatusBadge, { status: tag }, tag)))] }), currentElement && (_jsxs("div", { className: "grid gap-4 md:grid-cols-2 mb-8", children: [_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-xs uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Starting State" }), _jsxs("div", { className: "mt-2 text-sm text-gray-900 dark:text-gray-100", children: ["Path: ", currentElement.startingPath || 'None'] }), _jsxs("div", { className: "mt-1 text-sm text-gray-600 dark:text-gray-300", children: ["Page state #", currentElement.startingPageStateId ?? 'none'] })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-xs uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Interaction Shape" }), _jsx("div", { className: "mt-2 text-sm text-gray-900 dark:text-gray-100", children: hasHoverAction
55
+ return (_jsxs("div", { className: "p-6", children: [_jsx(BackLink, { label: "Test Interactions", onClick: () => navigate(r.testInteractions()) }), _jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsxs("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: ["Test Interaction #", elementId] }), _jsx(AddToBundleButton, { itemType: "interaction", itemId: Number(elementId) })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2 mb-6", children: [_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["ID: ", elementId] }), currentElement && _jsx(StatusBadge, { status: currentElement.testType }), currentElement && _jsx(StatusBadge, { status: currentElement.sizeClass }), hasHoverAction && _jsx(StatusBadge, { status: "hover" }), currentElement?.surfaceTags.map(tag => (_jsx(StatusBadge, { status: tag }, tag)))] }), currentElement && (_jsxs("div", { className: "grid gap-4 md:grid-cols-2 mb-8", children: [_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-xs uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Starting State" }), _jsxs("div", { className: "mt-2 text-sm text-gray-900 dark:text-gray-100", children: ["Path: ", currentElement.startingPath || 'None'] }), _jsxs("div", { className: "mt-1 text-sm text-gray-600 dark:text-gray-300", children: ["Page state #", currentElement.startingPageStateId ?? 'none'] })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-xs uppercase tracking-wider text-gray-500 dark:text-gray-400", children: "Interaction Shape" }), _jsx("div", { className: "mt-2 text-sm text-gray-900 dark:text-gray-100", children: hasHoverAction
57
56
  ? 'This element includes a hover interaction.'
58
- : 'No hover interaction is defined on this element.' }), _jsxs("div", { className: "mt-1 text-sm text-gray-600 dark:text-gray-300", children: [actionList.length, " action", actionList.length === 1 ? '' : 's', " in sequence"] })] })] })), _jsxs("div", { className: "grid gap-4 lg:grid-cols-2 mb-8", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Depends On" }), dependencyElement ? (_jsx(ElementLinkRow, { element: dependencyElement, relation: "Parent dependency", onClick: () => navigate(`${basePath}/test-interactions/${dependencyElement.id}`) })) : (_jsx(EmptyState, { description: "This test interaction has no dependency." }))] }), _jsxs("div", { children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Depended On By" }), dependentElements.length === 0 ? (_jsx(EmptyState, { description: "No other test interactions currently depend on this one." })) : (_jsx("div", { className: "space-y-2", children: dependentElements.map(element => (_jsx(ElementLinkRow, { element: element, relation: "Child dependency", onClick: () => navigate(`${basePath}/test-interactions/${element.id}`) }, element.id))) }))] })] }), _jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Test Actions" }), !isPageLoading && (_jsx("div", { className: "mb-6", children: _jsx(ScriptPanel, { kind: "interaction", id: numericElementId, filename: `interaction-${numericElementId}.spec.ts` }) })), isPageLoading && _jsx(LoadingState, { message: "Loading test interaction details..." }), !isPageLoading && actionList.length === 0 && (_jsx(EmptyState, { description: "No actions defined for this test interaction." })), !isPageLoading && actionList.length > 0 && (_jsx("div", { className: "space-y-2", children: actionList.map(action => (_jsx(ActionRow, { action: action }, action.id))) }))] }));
57
+ : 'No hover interaction is defined on this element.' }), _jsxs("div", { className: "mt-1 text-sm text-gray-600 dark:text-gray-300", children: [actionList.length, " action", actionList.length === 1 ? '' : 's', " in sequence"] })] })] })), _jsxs("div", { className: "grid gap-4 lg:grid-cols-2 mb-8", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Depends On" }), dependencyElement ? (_jsx(ElementLinkRow, { element: dependencyElement, relation: "Parent dependency", onClick: () => navigate(r.testInteraction(dependencyElement.id)) })) : (_jsx(EmptyState, { description: "This test interaction has no dependency." }))] }), _jsxs("div", { children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Depended On By" }), dependentElements.length === 0 ? (_jsx(EmptyState, { description: "No other test interactions currently depend on this one." })) : (_jsx("div", { className: "space-y-2", children: dependentElements.map(element => (_jsx(ElementLinkRow, { element: element, relation: "Child dependency", onClick: () => navigate(r.testInteraction(element.id)) }, element.id))) }))] })] }), _jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Test Actions" }), !isPageLoading && (_jsx("div", { className: "mb-6", children: _jsx(ScriptPanel, { kind: "interaction", id: numericElementId, filename: `interaction-${numericElementId}.spec.ts` }) })), isPageLoading && _jsx(LoadingState, { message: "Loading test interaction details..." }), !isPageLoading && actionList.length === 0 && (_jsx(EmptyState, { description: "No actions defined for this test interaction." })), !isPageLoading && actionList.length > 0 && (_jsx("div", { className: "space-y-2", children: actionList.map(action => (_jsx(ActionRow, { action: action }, action.id))) }))] }));
59
58
  }
60
59
  //# sourceMappingURL=TestInteractionDetailPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestInteractionDetailPage.js","sourceRoot":"","sources":["../../src/pages/TestInteractionDetailPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestInteractionDetailPage.js","sourceRoot":"","sources":["../../src/pages/TestInteractionDetailPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TestInteractionsPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestInteractionsPage.tsx"],"names":[],"mappings":"AAqFA,wBAAgB,oBAAoB,gCAwFnC"}
1
+ {"version":3,"file":"TestInteractionsPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestInteractionsPage.tsx"],"names":[],"mappings":"AAqFA,wBAAgB,oBAAoB,gCAuFnC"}
@@ -4,7 +4,7 @@ import { createColumnHelper } from '@tanstack/react-table';
4
4
  import { useEnvironmentTestInteractions } from '@sudobility/testomniac_client';
5
5
  import { PRIORITY_NAMES } from '@sudobility/testomniac_lib';
6
6
  import { SEOHead, useTestomniacApi } from '../context/config';
7
- import { useRouteParams } from '../context/routing';
7
+ import { useRouteParams, useEnvRoutes } from '../context/routing';
8
8
  import { SelectField } from '../components/forms/SelectField';
9
9
  import { DataTable } from '../components/data/DataTable';
10
10
  import { StatusBadge } from '../components/scanner/StatusBadge';
@@ -51,9 +51,10 @@ const PRIORITY_OPTIONS = [
51
51
  ];
52
52
  const DEVICE_OPTIONS = ['All', 'Desktop', 'Mobile'];
53
53
  export function TestInteractionsPage() {
54
- const { entitySlug, envId } = useRouteParams();
54
+ const { envId } = useRouteParams();
55
55
  const { networkClient, token, baseUrl } = useTestomniacApi();
56
56
  const { navigate } = useLocalizedNavigate();
57
+ const r = useEnvRoutes();
57
58
  const [typeFilter, setTypeFilter] = useState('');
58
59
  const [priorityFilter, setPriorityFilter] = useState('');
59
60
  const [deviceFilter, setDeviceFilter] = useState('All');
@@ -91,6 +92,6 @@ export function TestInteractionsPage() {
91
92
  ...uniqueTypes.map(type => ({ value: type, label: type })),
92
93
  ] }), _jsx(SelectField, { value: priorityFilter, onChange: setPriorityFilter, options: PRIORITY_OPTIONS }), _jsx("div", { className: "flex rounded-lg border border-gray-300 dark:border-gray-600 overflow-hidden", children: DEVICE_OPTIONS.map(option => (_jsx("button", { type: "button", onClick: () => setDeviceFilter(option), className: `px-3 py-1.5 text-sm ${deviceFilter === option
93
94
  ? 'bg-blue-600 text-white'
94
- : 'bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 hover:bg-gray-50 dark:hover:bg-gray-700'} ${option !== 'All' ? 'border-l border-gray-300 dark:border-gray-600' : ''}`, children: option }, option))) })] }), _jsx(DataTable, { data: filteredData, columns: columns, isLoading: isLoading, onRowClick: (row) => navigate(`/dashboard/${entitySlug}/environments/${envId}/test-interactions/${row.id}`) })] }));
95
+ : 'bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 hover:bg-gray-50 dark:hover:bg-gray-700'} ${option !== 'All' ? 'border-l border-gray-300 dark:border-gray-600' : ''}`, children: option }, option))) })] }), _jsx(DataTable, { data: filteredData, columns: columns, isLoading: isLoading, onRowClick: (row) => navigate(r.testInteraction(row.id)) })] }));
95
96
  }
96
97
  //# sourceMappingURL=TestInteractionsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestInteractionsPage.js","sourceRoot":"","sources":["../../src/pages/TestInteractionsPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAYrE,MAAM,YAAY,GAAG,kBAAkB,EAAsB,CAAC;AAE9D,MAAM,OAAO,GAAG;IACd,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC7B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CACZ,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,8CAA8C,YAAE,IAAI,CAAC,QAAQ,EAAE,GAAO,EACrF,cAAK,SAAS,EAAC,mDAAmD,YAC/D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,GAAG,GAClC,IACF,CACP;KACF,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KAAC,WAAW,IAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAI;KACvD,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE;QAChC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GACT,CAAC,IAAI,CAAC;gBACJ,CAAC,CAAC,0BAA0B;gBAC5B,CAAC,CAAC,CAAC,KAAK,CAAC;oBACP,CAAC,CAAC,6BAA6B;oBAC/B,CAAC,CAAC,kCAAkC,CAAC;YAC3C,OAAO,eAAM,SAAS,EAAE,KAAK,YAAG,KAAK,GAAQ,CAAC;QAChD,CAAC;KACF,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CACZ,cAAK,SAAS,EAAC,sBAAsB,YAClC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAClC,eAEE,SAAS,EAAC,6FAA6F,YAEtG,GAAG,IAHC,GAAG,CAIH,CACR,CAAC,GACE,CACP;KACF,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE;QACjC,MAAM,EAAE,QAAQ;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACtC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;IAClC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;IACrC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;IAClC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;IAClC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE;CACxC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAE7D,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,cAAc,EAAyC,CAAC;IACtF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE5C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,KAAK,CAAC,CAAC;IAEhE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,8BAA8B,CAAC;QAC5E,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,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,gBAAgB;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnF,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,gBAAgB;YAAE,OAAO,EAAE,CAAC;QACjC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAuB,EAAE,EAAE;YACzD,IAAI,UAAU,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC5D,IAAI,cAAc,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,cAAc,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnF,IAAI,YAAY,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS,KAAK,YAAY,CAAC,WAAW,EAAE;gBAAE,OAAO,KAAK,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,GAAI,CAAC;IACxC,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,OAAO,IAAC,KAAK,EAAC,mBAAmB,EAAC,WAAW,EAAC,EAAE,EAAC,OAAO,SAAG,EAC5D,aAAI,SAAS,EAAC,0DAA0D,kCAEnE,EAEL,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,WAAW,IACV,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE;4BACP,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;4BACjC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC3D,GACD,EAEF,KAAC,WAAW,IACV,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,GACzB,EAEF,cAAK,SAAS,EAAC,6EAA6E,YACzF,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5B,iBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EACtC,SAAS,EAAE,uBACT,YAAY,KAAK,MAAM;gCACrB,CAAC,CAAC,wBAAwB;gCAC1B,CAAC,CAAC,oGACN,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,EAAE,YAE5E,MAAM,IATF,MAAM,CAUJ,CACV,CAAC,GACE,IACF,EAEN,KAAC,SAAS,IACR,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,OAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,CAAC,GAAuB,EAAE,EAAE,CACtC,QAAQ,CAAC,cAAc,UAAU,iBAAiB,KAAK,sBAAsB,GAAG,CAAC,EAAE,EAAE,CAAC,GAExF,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TestInteractionsPage.js","sourceRoot":"","sources":["../../src/pages/TestInteractionsPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestRunDetailPage.tsx"],"names":[],"mappings":"AAmCA,wBAAgB,iBAAiB,gCAuVhC"}
1
+ {"version":3,"file":"TestRunDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestRunDetailPage.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,iBAAiB,gCAuVhC"}
@@ -2,26 +2,21 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useRun, useRunSummary, useRunStructure, useTestInteractionRun, useTestRunFindings, } from '@sudobility/testomniac_client';
3
3
  import { formatDate, formatMultilineLog } from '@sudobility/testomniac_lib';
4
4
  import { useTestomniacApi } from '../context/config';
5
- import { useRouteParams } from '../context/routing';
5
+ import { useRouteParams, useEnvRoutes } from '../context/routing';
6
6
  import BackLink from '../components/navigation/BackLink';
7
- import { useEnvBasePath } from '../hooks/useEnvBasePath';
8
7
  import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
9
- import { Card } from '@sudobility/components';
8
+ import { Badge, Card } from '@sudobility/components';
10
9
  import { StatusBadge } from '../components/scanner/StatusBadge';
11
10
  import { EmptyState } from '../components/states';
12
11
  function FindingTypeBadge({ type }) {
13
- const colors = type === 'error'
14
- ? 'bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300'
15
- : type === 'warning'
16
- ? 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300'
17
- : 'bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300';
18
- return (_jsx("span", { className: `inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${colors}`, children: type }));
12
+ const variant = type === 'error' ? 'danger' : type === 'warning' ? 'warning' : 'info';
13
+ return (_jsx(Badge, { variant: variant, size: "sm", pill: true, children: type }));
19
14
  }
20
15
  export function TestRunDetailPage() {
21
16
  const { runId } = useRouteParams();
22
17
  const { networkClient, token, baseUrl } = useTestomniacApi();
23
18
  const { navigate } = useLocalizedNavigate();
24
- const basePath = useEnvBasePath();
19
+ const r = useEnvRoutes();
25
20
  const testRunId = Number(runId);
26
21
  const { run, isLoading: isRunLoading, error: runError, } = useRun({
27
22
  networkClient,
@@ -75,7 +70,7 @@ export function TestRunDetailPage() {
75
70
  })) ?? [];
76
71
  const consoleLog = formatMultilineLog(testInteractionRun?.consoleLog);
77
72
  const networkLog = formatMultilineLog(testInteractionRun?.networkLog);
78
- return (_jsxs("div", { className: "p-6", children: [_jsx(BackLink, { label: "Back to Runs", onClick: () => navigate(`${basePath}/runs`) }), _jsxs("nav", { className: "flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400 mb-4", children: [_jsx("button", { onClick: () => navigate(`${basePath}/runs`), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: "Runs" }), _jsx("span", { children: "/" }), _jsxs("span", { className: "text-gray-900 dark:text-gray-100 font-medium", children: ["Run #", runId] })] }), _jsxs("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100 mb-2", children: ["Test Run #", runId] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2 mb-6", children: [_jsx(StatusBadge, { status: run.status }), _jsx(StatusBadge, { status: run.sizeClass }), _jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["ID: ", runId] }), run.createdAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Created ", formatDate(run.createdAt)] })), run.startedAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Started ", formatDate(run.startedAt)] })), run.completedAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Completed ", formatDate(run.completedAt)] }))] }), isRootLikeRun && 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.pagesFound ?? 0 }), _jsx("div", { className: "text-xs text-gray-500", children: "Pages Found" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.pageStatesFound ?? 0 }), _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.testRunsCompleted ?? 0 }), _jsx("div", { className: "text-xs text-gray-500", children: "Completed Runs" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-red-600 dark:text-red-400", children: summary.totalFindings }), _jsx("div", { className: "text-xs text-gray-500", children: "Findings" })] })] }), summary.aiSummary && (_jsxs(Card, { variant: "bordered", padding: "md", className: "mb-8", children: [_jsx("h2", { className: "mb-2 text-sm font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400", children: "Summary" }), _jsx("p", { className: "text-sm leading-6 text-gray-700 dark:text-gray-300", children: summary.aiSummary })] })), _jsxs("div", { className: "mb-8 grid grid-cols-1 gap-3 sm:grid-cols-3", children: [_jsxs("button", { onClick: () => navigate(`${basePath}/runs/${runId}/surface-runs`), className: "rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: "Surface Runs" }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: "Navigate the run hierarchy by surface run, then interaction runs and run details." })] }), _jsxs("button", { onClick: () => navigate(`${basePath}/runs/${runId}/pages`), className: "rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: "Pages" }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: "Browse discovered pages and drill into captured page states." })] }), _jsxs("button", { onClick: () => navigate(`${basePath}/runs/${runId}/issues`), className: "rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: "Findings" }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: "Review grouped warnings and errors for this scan run." })] })] }), surfaceCoverage.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: "Coverage Tree" }), _jsx("div", { className: "space-y-3", children: surfaceCoverage.map(surface => (_jsx("button", { onClick: () => surface.surfaceRunId != null &&
79
- navigate(`${basePath}/runs/${runId}/surface-runs/${surface.surfaceRunId}`), disabled: surface.surfaceRunId == null, className: "w-full rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 disabled:cursor-default disabled:hover:border-gray-200 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600 dark:disabled:hover:border-gray-700", 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: surface.title }), _jsxs("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: [surface.interactionCount, " test interaction", surface.interactionCount === 1 ? '' : 's'] })] }), _jsx("div", { className: "shrink-0", children: _jsx(StatusBadge, { status: surface.status }) })] }) }, surface.id))) })] })), expertiseEntries.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: "Findings by Expertise" }), _jsx("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: expertiseEntries.map(([name, counts]) => (_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-sm font-medium capitalize text-gray-900 dark:text-gray-100", children: name }), _jsxs("div", { className: "mt-3 flex gap-4 text-xs", children: [_jsxs("span", { className: "text-red-600 dark:text-red-400", children: [counts.errors, " error", counts.errors === 1 ? '' : 's'] }), _jsxs("span", { className: "text-amber-600 dark:text-amber-400", children: [counts.warnings, " warning", counts.warnings === 1 ? '' : 's'] }), _jsxs("span", { className: "text-gray-500 dark:text-gray-400", children: [counts.findings, " total"] })] })] }, name))) })] }))] })), _jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Findings" }), run.testInteractionRunId === null && (_jsx(EmptyState, { description: "This test run tracks a surface or discovery workflow and does not map directly to a single test interaction run." })), run.testInteractionRunId !== null && isLoading && (_jsx("div", { className: "text-sm text-gray-500 dark:text-gray-400 py-8 text-center", children: "Loading findings..." })), run.testInteractionRunId !== null && !isLoading && findings.length === 0 && (_jsx(EmptyState, { description: "No findings for this test run." })), run.testInteractionRunId !== null && !isLoading && findings.length > 0 && (_jsx("div", { className: "space-y-3", children: findings.map(finding => (_jsx(Card, { variant: "bordered", padding: "md", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(FindingTypeBadge, { type: finding.type }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: finding.title }), _jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: finding.description }), finding.createdAt && (_jsx("p", { className: "text-xs text-gray-400 dark:text-gray-500 mt-2", children: formatDate(finding.createdAt) }))] })] }) }, finding.id))) })), run.testInteractionRunId !== null && !isCaseRunLoading && (consoleLog || networkLog) && (_jsxs("div", { className: "mt-8 space-y-6", children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Runtime Signals" }), consoleLog && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-900 dark:text-gray-100", 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("h3", { className: "mb-2 text-sm font-medium text-gray-900 dark:text-gray-100", 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 })] }))] }))] }));
73
+ return (_jsxs("div", { className: "p-6", children: [_jsx(BackLink, { label: "Back to Runs", onClick: () => navigate(r.runs()) }), _jsxs("nav", { className: "flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400 mb-4", children: [_jsx("button", { onClick: () => navigate(r.runs()), className: "hover:text-blue-600 dark:hover:text-blue-400 transition-colors", children: "Runs" }), _jsx("span", { children: "/" }), _jsxs("span", { className: "text-gray-900 dark:text-gray-100 font-medium", children: ["Run #", runId] })] }), _jsxs("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100 mb-2", children: ["Test Run #", runId] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2 mb-6", children: [_jsx(StatusBadge, { status: run.status }), _jsx(StatusBadge, { status: run.sizeClass }), _jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["ID: ", runId] }), run.createdAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Created ", formatDate(run.createdAt)] })), run.startedAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Started ", formatDate(run.startedAt)] })), run.completedAt && (_jsxs("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: ["Completed ", formatDate(run.completedAt)] }))] }), isRootLikeRun && 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.pagesFound ?? 0 }), _jsx("div", { className: "text-xs text-gray-500", children: "Pages Found" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: summary.pageStatesFound ?? 0 }), _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.testRunsCompleted ?? 0 }), _jsx("div", { className: "text-xs text-gray-500", children: "Completed Runs" })] }), _jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-2xl font-bold text-red-600 dark:text-red-400", children: summary.totalFindings }), _jsx("div", { className: "text-xs text-gray-500", children: "Findings" })] })] }), summary.aiSummary && (_jsxs(Card, { variant: "bordered", padding: "md", className: "mb-8", children: [_jsx("h2", { className: "mb-2 text-sm font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400", children: "Summary" }), _jsx("p", { className: "text-sm leading-6 text-gray-700 dark:text-gray-300", children: summary.aiSummary })] })), _jsxs("div", { className: "mb-8 grid grid-cols-1 gap-3 sm:grid-cols-3", children: [_jsxs("button", { onClick: () => navigate(r.runSurfaceRuns(runId)), className: "rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: "Surface Runs" }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: "Navigate the run hierarchy by surface run, then interaction runs and run details." })] }), _jsxs("button", { onClick: () => navigate(r.runPages(runId)), className: "rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: "Pages" }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: "Browse discovered pages and drill into captured page states." })] }), _jsxs("button", { onClick: () => navigate(r.runIssues(runId)), className: "rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: "Findings" }), _jsx("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: "Review grouped warnings and errors for this scan run." })] })] }), surfaceCoverage.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: "Coverage Tree" }), _jsx("div", { className: "space-y-3", children: surfaceCoverage.map(surface => (_jsx("button", { onClick: () => surface.surfaceRunId != null &&
74
+ navigate(r.runSurfaceRun(runId, surface.surfaceRunId)), disabled: surface.surfaceRunId == null, className: "w-full rounded-lg border border-gray-200 bg-white p-4 text-left transition-colors hover:border-blue-300 disabled:cursor-default disabled:hover:border-gray-200 dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-600 dark:disabled:hover:border-gray-700", 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: surface.title }), _jsxs("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: [surface.interactionCount, " test interaction", surface.interactionCount === 1 ? '' : 's'] })] }), _jsx("div", { className: "shrink-0", children: _jsx(StatusBadge, { status: surface.status }) })] }) }, surface.id))) })] })), expertiseEntries.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: "Findings by Expertise" }), _jsx("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: expertiseEntries.map(([name, counts]) => (_jsxs(Card, { variant: "bordered", padding: "md", children: [_jsx("div", { className: "text-sm font-medium capitalize text-gray-900 dark:text-gray-100", children: name }), _jsxs("div", { className: "mt-3 flex gap-4 text-xs", children: [_jsxs("span", { className: "text-red-600 dark:text-red-400", children: [counts.errors, " error", counts.errors === 1 ? '' : 's'] }), _jsxs("span", { className: "text-amber-600 dark:text-amber-400", children: [counts.warnings, " warning", counts.warnings === 1 ? '' : 's'] }), _jsxs("span", { className: "text-gray-500 dark:text-gray-400", children: [counts.findings, " total"] })] })] }, name))) })] }))] })), _jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3", children: "Findings" }), run.testInteractionRunId === null && (_jsx(EmptyState, { description: "This test run tracks a surface or discovery workflow and does not map directly to a single test interaction run." })), run.testInteractionRunId !== null && isLoading && (_jsx("div", { className: "text-sm text-gray-500 dark:text-gray-400 py-8 text-center", children: "Loading findings..." })), run.testInteractionRunId !== null && !isLoading && findings.length === 0 && (_jsx(EmptyState, { description: "No findings for this test run." })), run.testInteractionRunId !== null && !isLoading && findings.length > 0 && (_jsx("div", { className: "space-y-3", children: findings.map(finding => (_jsx(Card, { variant: "bordered", padding: "md", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(FindingTypeBadge, { type: finding.type }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: finding.title }), _jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: finding.description }), finding.createdAt && (_jsx("p", { className: "text-xs text-gray-400 dark:text-gray-500 mt-2", children: formatDate(finding.createdAt) }))] })] }) }, finding.id))) })), run.testInteractionRunId !== null && !isCaseRunLoading && (consoleLog || networkLog) && (_jsxs("div", { className: "mt-8 space-y-6", children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Runtime Signals" }), consoleLog && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-900 dark:text-gray-100", 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("h3", { className: "mb-2 text-sm font-medium text-gray-900 dark:text-gray-100", 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 })] }))] }))] }));
80
75
  }
81
76
  //# sourceMappingURL=TestRunDetailPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunDetailPage.js","sourceRoot":"","sources":["../../src/pages/TestRunDetailPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,SAAS,gBAAgB,CAAC,EAAE,IAAI,EAAoB;IAClD,MAAM,MAAM,GACV,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,8DAA8D;QAChE,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,0EAA0E;YAC5E,CAAC,CAAC,kEAAkE,CAAC;IAE3E,OAAO,CACL,eACE,SAAS,EAAE,yEAAyE,MAAM,EAAE,YAE3F,IAAI,GACA,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAE5B,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,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,EACJ,GAAG,EACH,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,QAAQ,GAChB,GAAG,MAAM,CAAC;QACT,aAAa;QACb,OAAO;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;KAC5B,CAAC,CAAC;IACH,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;QAChC,aAAa;QACb,OAAO;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;KAC5B,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;QACpC,aAAa;QACb,OAAO;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;KAC5B,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;QACxD,aAAa;QACb,OAAO;QACP,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,IAAI,CAAC;QACpD,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,CAAC,KAAK;KAChD,CAAC,CAAC;IACH,MAAM,EACJ,kBAAkB,EAClB,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,eAAe,GACvB,GAAG,qBAAqB,CAAC;QACxB,aAAa;QACb,OAAO;QACP,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,IAAI,CAAC;QACpD,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,oBAAoB,IAAI,CAAC,CAAC,KAAK;KAChD,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,KAAK,IAAI,eAAe,EAAE,CAAC;QACzC,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YAClB,eAAK,SAAS,EAAC,iDAAiD,wBACtD,QAAQ,IAAI,KAAK,IAAI,eAAe,IACxC,GACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YAClB,cAAK,SAAS,EAAC,mDAAmD,+BAAqB,GACnF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,CAAC,oBAAoB,KAAK,IAAI,CAAC;IACxD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAChG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC1B,CAAC;IACF,MAAM,eAAe,GACnB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI;QAChD,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS;QACnD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;KAClD,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,MAAM,UAAU,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAEtE,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,QAAQ,IAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,OAAO,CAAC,GAAI,EAG9E,eAAK,SAAS,EAAC,uEAAuE,aACpF,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,OAAO,CAAC,EAC3C,SAAS,EAAC,gEAAgE,qBAGnE,EACT,+BAAc,EACd,gBAAM,SAAS,EAAC,8CAA8C,sBAAO,KAAK,IAAQ,IAC9E,EAEN,cAAI,SAAS,EAAC,0DAA0D,2BAC3D,KAAK,IACb,EAGL,eAAK,SAAS,EAAC,wCAAwC,aACrD,KAAC,WAAW,IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAI,EACnC,KAAC,WAAW,IAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAI,EACtC,gBAAM,SAAS,EAAC,0CAA0C,qBAAM,KAAK,IAAQ,EAC5E,GAAG,CAAC,SAAS,IAAI,CAChB,gBAAM,SAAS,EAAC,0CAA0C,yBAC/C,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAC7B,CACR,EACA,GAAG,CAAC,SAAS,IAAI,CAChB,gBAAM,SAAS,EAAC,0CAA0C,yBAC/C,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAC7B,CACR,EACA,GAAG,CAAC,WAAW,IAAI,CAClB,gBAAM,SAAS,EAAC,0CAA0C,2BAC7C,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IACjC,CACR,IACG,EAEL,aAAa,IAAI,OAAO,IAAI,CAC3B,8BACE,eAAK,SAAS,EAAC,4CAA4C,aACzD,MAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,aACnC,cAAK,SAAS,EAAC,qDAAqD,YACjE,OAAO,CAAC,UAAU,IAAI,CAAC,GACpB,EACN,cAAK,SAAS,EAAC,uBAAuB,4BAAkB,IACnD,EACP,MAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,aACnC,cAAK,SAAS,EAAC,qDAAqD,YACjE,OAAO,CAAC,eAAe,IAAI,CAAC,GACzB,EACN,cAAK,SAAS,EAAC,uBAAuB,4BAAkB,IACnD,EACP,MAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,aACnC,cAAK,SAAS,EAAC,qDAAqD,YACjE,OAAO,CAAC,iBAAiB,IAAI,CAAC,GAC3B,EACN,cAAK,SAAS,EAAC,uBAAuB,+BAAqB,IACtD,EACP,MAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,aACnC,cAAK,SAAS,EAAC,mDAAmD,YAC/D,OAAO,CAAC,aAAa,GAClB,EACN,cAAK,SAAS,EAAC,uBAAuB,yBAAe,IAChD,IACH,EAEL,OAAO,CAAC,SAAS,IAAI,CACpB,MAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,MAAM,aACpD,aAAI,SAAS,EAAC,qFAAqF,wBAE9F,EACL,YAAG,SAAS,EAAC,oDAAoD,YAC9D,OAAO,CAAC,SAAS,GAChB,IACC,CACR,EAED,eAAK,SAAS,EAAC,4CAA4C,aACzD,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,KAAK,eAAe,CAAC,EACjE,SAAS,EAAC,mKAAmK,aAE7K,cAAK,SAAS,EAAC,sDAAsD,6BAE/D,EACN,cAAK,SAAS,EAAC,+CAA+C,kGAExD,IACC,EACT,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,KAAK,QAAQ,CAAC,EAC1D,SAAS,EAAC,mKAAmK,aAE7K,cAAK,SAAS,EAAC,sDAAsD,sBAAY,EACjF,cAAK,SAAS,EAAC,+CAA+C,6EAExD,IACC,EACT,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,KAAK,SAAS,CAAC,EAC3D,SAAS,EAAC,mKAAmK,aAE7K,cAAK,SAAS,EAAC,sDAAsD,yBAAe,EACpF,cAAK,SAAS,EAAC,+CAA+C,sEAExD,IACC,IACL,EAEL,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7B,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,6DAA6D,8BAEtE,EACL,cAAK,SAAS,EAAC,WAAW,YACvB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAC9B,iBAEE,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CAAC,YAAY,IAAI,IAAI;wCAC5B,QAAQ,CAAC,GAAG,QAAQ,SAAS,KAAK,iBAAiB,OAAO,CAAC,YAAY,EAAE,CAAC,EAE5E,QAAQ,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,EACtC,SAAS,EAAC,qQAAqQ,YAE/Q,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,sDAAsD,YAClE,OAAO,CAAC,KAAK,GACV,EACN,eAAK,SAAS,EAAC,+CAA+C,aAC3D,OAAO,CAAC,gBAAgB,uBACxB,OAAO,CAAC,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IACtC,IACF,EACN,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,WAAW,IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAI,GACnC,IACF,IArBD,OAAO,CAAC,EAAE,CAsBR,CACV,CAAC,GACE,IACF,CACP,EAEA,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,6DAA6D,sCAEtE,EACL,cAAK,SAAS,EAAC,sDAAsD,YAClE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CACxC,MAAC,IAAI,IAAY,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,aAC9C,cAAK,SAAS,EAAC,iEAAiE,YAC7E,IAAI,GACD,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,gBAAM,SAAS,EAAC,gCAAgC,aAC7C,MAAM,CAAC,MAAM,YAAQ,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAC/C,EACP,gBAAM,SAAS,EAAC,oCAAoC,aACjD,MAAM,CAAC,QAAQ,cAAU,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IACrD,EACP,gBAAM,SAAS,EAAC,kCAAkC,aAC/C,MAAM,CAAC,QAAQ,cACX,IACH,KAdG,IAAI,CAeR,CACR,CAAC,GACE,IACF,CACP,IACA,CACJ,EAGD,aAAI,SAAS,EAAC,sFAAsF,yBAE/F,EAEJ,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,CACpC,KAAC,UAAU,IAAC,WAAW,EAAC,kHAAkH,GAAG,CAC9I,EAEA,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,SAAS,IAAI,CACjD,cAAK,SAAS,EAAC,2DAA2D,oCAEpE,CACP,EAEA,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAC3E,KAAC,UAAU,IAAC,WAAW,EAAC,gCAAgC,GAAG,CAC5D,EAEA,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACzE,cAAK,SAAS,EAAC,WAAW,YACtB,QAAqC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CACrD,KAAC,IAAI,IAAkB,OAAO,EAAC,UAAU,EAAC,OAAO,EAAC,IAAI,YACpD,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,gBAAgB,IAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAI,EACxC,eAAK,SAAS,EAAC,gBAAgB,aAC7B,cAAK,SAAS,EAAC,sDAAsD,YAClE,OAAO,CAAC,KAAK,GACV,EACN,YAAG,SAAS,EAAC,+CAA+C,YACzD,OAAO,CAAC,WAAW,GAClB,EACH,OAAO,CAAC,SAAS,IAAI,CACpB,YAAG,SAAS,EAAC,+CAA+C,YACzD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAC5B,CACL,IACG,IACF,IAhBG,OAAO,CAAC,EAAE,CAiBd,CACR,CAAC,GACE,CACP,EAEA,GAAG,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,CACvF,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAC,iFAAiF,gCAE1F,EAEJ,UAAU,IAAI,CACb,0BACE,aAAI,SAAS,EAAC,2DAA2D,4BAEpE,EACL,cAAK,SAAS,EAAC,kKAAkK,YAC9K,UAAU,GACP,IACF,CACP,EAEA,UAAU,IAAI,CACb,0BACE,aAAI,SAAS,EAAC,2DAA2D,4BAEpE,EACL,cAAK,SAAS,EAAC,kKAAkK,YAC9K,UAAU,GACP,IACF,CACP,IACG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TestRunDetailPage.js","sourceRoot":"","sources":["../../src/pages/TestRunDetailPage.tsx"],"names":[],"mappings":"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"}
@@ -2,17 +2,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { formatDuration, formatDate } from '@sudobility/testomniac_lib';
3
3
  import { SEOHead } from '../context/config';
4
4
  import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
5
- import { useEnvBasePath } from '../hooks/useEnvBasePath';
5
+ import { useEnvRoutes } from '../context/routing';
6
6
  import { useDashboardEnvironmentContext } from '../hooks/useDashboardEnvironmentContext';
7
7
  import { StatusBadge } from '../components/scanner/StatusBadge';
8
8
  import { ErrorState, LoadingState, EmptyState } from '../components/states';
9
9
  export function TestRunsListPage() {
10
10
  const { navigate } = useLocalizedNavigate();
11
11
  const { environmentRuns: testRuns, isLoading, error } = useDashboardEnvironmentContext();
12
- const basePath = useEnvBasePath();
12
+ const r = useEnvRoutes();
13
13
  if (error) {
14
14
  return _jsx(ErrorState, { message: error });
15
15
  }
16
- return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: "Test Runs", description: "", noIndex: true }), _jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100 mb-6", children: "Test Runs" }), isLoading && _jsx(LoadingState, { message: "Loading test runs..." }), !isLoading && testRuns.length === 0 && (_jsx(EmptyState, { title: "No test runs yet", description: "Test runs will appear here after tests are executed." })), !isLoading && testRuns.length > 0 && (_jsx("div", { className: "overflow-x-auto rounded-lg border border-gray-200 dark:border-gray-700", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: [_jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "ID" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Device" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Status" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Duration" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Created" })] }) }), _jsx("tbody", { className: "divide-y divide-gray-200 dark:divide-gray-700", children: testRuns.map((run) => (_jsxs("tr", { onClick: () => navigate(`${basePath}/runs/${run.id}`), className: "bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer transition-colors", children: [_jsxs("td", { className: "px-4 py-3 font-mono text-gray-900 dark:text-gray-100", children: ["#", run.id] }), _jsx("td", { className: "px-4 py-3", children: _jsx(StatusBadge, { status: run.sizeClass }) }), _jsx("td", { className: "px-4 py-3", children: _jsx(StatusBadge, { status: run.status }) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: formatDuration(run.totalDurationMs) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: formatDate(run.createdAt) })] }, run.id))) })] }) }))] }));
16
+ return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: "Test Runs", description: "", noIndex: true }), _jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100 mb-6", children: "Test Runs" }), isLoading && _jsx(LoadingState, { message: "Loading test runs..." }), !isLoading && testRuns.length === 0 && (_jsx(EmptyState, { title: "No test runs yet", description: "Test runs will appear here after tests are executed." })), !isLoading && testRuns.length > 0 && (_jsx("div", { className: "overflow-x-auto rounded-lg border border-gray-200 dark:border-gray-700", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: [_jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "ID" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Device" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Status" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Duration" }), _jsx("th", { className: "text-left px-4 py-3 font-medium text-gray-500 dark:text-gray-400", children: "Created" })] }) }), _jsx("tbody", { className: "divide-y divide-gray-200 dark:divide-gray-700", children: testRuns.map((run) => (_jsxs("tr", { onClick: () => navigate(r.run(run.id)), className: "bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer transition-colors", children: [_jsxs("td", { className: "px-4 py-3 font-mono text-gray-900 dark:text-gray-100", children: ["#", run.id] }), _jsx("td", { className: "px-4 py-3", children: _jsx(StatusBadge, { status: run.sizeClass }) }), _jsx("td", { className: "px-4 py-3", children: _jsx(StatusBadge, { status: run.status }) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: formatDuration(run.totalDurationMs) }), _jsx("td", { className: "px-4 py-3 text-gray-600 dark:text-gray-400", children: formatDate(run.createdAt) })] }, run.id))) })] }) }))] }));
17
17
  }
18
18
  //# sourceMappingURL=TestRunsListPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunsListPage.js","sourceRoot":"","sources":["../../src/pages/TestRunsListPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAEzF,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,GAAI,CAAC;IACxC,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,OAAO,IAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,EAAE,EAAC,OAAO,SAAG,EACpD,aAAI,SAAS,EAAC,0DAA0D,0BAAe,EAEtF,SAAS,IAAI,KAAC,YAAY,IAAC,OAAO,EAAC,sBAAsB,GAAG,EAE5D,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CACtC,KAAC,UAAU,IACT,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAC,sDAAsD,GAClE,CACH,EAEA,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,cAAK,SAAS,EAAC,wEAAwE,YACrF,iBAAO,SAAS,EAAC,gBAAgB,aAC/B,0BACE,cAAI,SAAS,EAAC,2EAA2E,aACvF,aAAI,SAAS,EAAC,kEAAkE,mBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,uBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,uBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,yBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,wBAE3E,IACF,GACC,EACR,gBAAO,SAAS,EAAC,+CAA+C,YAC7D,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,CACtC,cAEE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,EACrD,SAAS,EAAC,oGAAoG,aAE9G,cAAI,SAAS,EAAC,sDAAsD,kBAChE,GAAG,CAAC,EAAE,IACL,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,KAAC,WAAW,IAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAI,GACnC,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,KAAC,WAAW,IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAI,GAChC,EACL,aAAI,SAAS,EAAC,4CAA4C,YACvD,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,GACjC,EACL,aAAI,SAAS,EAAC,4CAA4C,YACvD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GACvB,KAlBA,GAAG,CAAC,EAAE,CAmBR,CACN,CAAC,GACI,IACF,GACJ,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TestRunsListPage.js","sourceRoot":"","sources":["../../src/pages/TestRunsListPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAEzF,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;IAEzB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,GAAI,CAAC;IACxC,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,OAAO,IAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,EAAE,EAAC,OAAO,SAAG,EACpD,aAAI,SAAS,EAAC,0DAA0D,0BAAe,EAEtF,SAAS,IAAI,KAAC,YAAY,IAAC,OAAO,EAAC,sBAAsB,GAAG,EAE5D,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CACtC,KAAC,UAAU,IACT,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAC,sDAAsD,GAClE,CACH,EAEA,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,cAAK,SAAS,EAAC,wEAAwE,YACrF,iBAAO,SAAS,EAAC,gBAAgB,aAC/B,0BACE,cAAI,SAAS,EAAC,2EAA2E,aACvF,aAAI,SAAS,EAAC,kEAAkE,mBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,uBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,uBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,yBAE3E,EACL,aAAI,SAAS,EAAC,kEAAkE,wBAE3E,IACF,GACC,EACR,gBAAO,SAAS,EAAC,+CAA+C,YAC7D,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,CACtC,cAEE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAC,oGAAoG,aAE9G,cAAI,SAAS,EAAC,sDAAsD,kBAChE,GAAG,CAAC,EAAE,IACL,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,KAAC,WAAW,IAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAI,GACnC,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,KAAC,WAAW,IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAI,GAChC,EACL,aAAI,SAAS,EAAC,4CAA4C,YACvD,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,GACjC,EACL,aAAI,SAAS,EAAC,4CAA4C,YACvD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GACvB,KAlBA,GAAG,CAAC,EAAE,CAmBR,CACN,CAAC,GACI,IACF,GACJ,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TestScenarioDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestScenarioDetailPage.tsx"],"names":[],"mappings":"AAiIA,wBAAgB,sBAAsB,gCAoMrC"}
1
+ {"version":3,"file":"TestScenarioDetailPage.d.ts","sourceRoot":"","sources":["../../src/pages/TestScenarioDetailPage.tsx"],"names":[],"mappings":"AA+HA,wBAAgB,sBAAsB,gCAyMrC"}
@@ -1,19 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- import { useRunnerTestScenarios, useEnvironmentTestInteractions, useTestScenarioSequences, useTestScenarioSequenceTestInteractions, useProductPersonas, } from '@sudobility/testomniac_client';
4
- import { useSequenceGenerator } from '@sudobility/testomniac_lib';
3
+ import { useRunnerTestScenarios, useEnvironmentTestInteractions, useTestScenarioSequences, useTestScenarioSequenceTestInteractions, useProductPersonas, useGenerateSequence, } from '@sudobility/testomniac_client';
5
4
  import { Alert, ActionButton, Card } from '@sudobility/components';
6
5
  import { SEOHead, useTestomniacApi } from '../context/config';
7
- import { useRouteParams } from '../context/routing';
6
+ import { useRouteParams, useEnvRoutes } from '../context/routing';
8
7
  import { InteractionCell, ListCell } from '../components/cells';
9
8
  import { ScriptPanel } from '../components/scripts/ScriptPanel';
10
9
  import BackLink from '../components/navigation/BackLink';
11
- import { useEnvBasePath } from '../hooks/useEnvBasePath';
12
10
  import { useLocalizedNavigate } from '../hooks/useLocalizedNavigate';
13
11
  import { useDashboardEnvironmentContext } from '../hooks/useDashboardEnvironmentContext';
14
12
  import { AddToBundleButton } from '../components/bundles/AddToBundleButton';
15
13
  import { EmptyState } from '../components/states';
16
- function SequenceCard({ sequence, isExpanded, onToggle, networkClient, token, basePath, navigate, interactions, }) {
14
+ function SequenceCard({ sequence, isExpanded, onToggle, networkClient, token, interactionPath, navigate, interactions, }) {
17
15
  const { baseUrl } = useTestomniacApi();
18
16
  const { testInteractionLinks, isLoading } = useTestScenarioSequenceTestInteractions({
19
17
  networkClient,
@@ -27,7 +25,7 @@ function SequenceCard({ sequence, isExpanded, onToggle, networkClient, token, ba
27
25
  return (_jsxs(Card, { variant: "bordered", padding: "none", className: "overflow-hidden", children: [_jsxs("button", { onClick: onToggle, className: "flex items-center gap-3 w-full px-4 py-3 text-left hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors", children: [_jsx("span", { className: "text-xs text-gray-400", children: isExpanded ? '▼' : '▶' }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: ["Sequence #", sequence.id] }), _jsxs("div", { className: "text-xs text-gray-500 dark:text-gray-400 mt-0.5", children: ["Environment ID: ", sequence.testEnvironmentId, sequence.createdAt &&
28
26
  ` — Created: ${new Date(sequence.createdAt).toLocaleDateString()}`] })] })] }), isExpanded && (_jsxs("div", { className: "border-t border-gray-100 dark:border-gray-700 px-4 py-3", children: [isLoading && _jsx("div", { className: "text-xs text-gray-400 py-2", children: "Loading interactions..." }), !isLoading && sorted.length === 0 && (_jsx("div", { className: "text-xs text-gray-400 py-2", children: "No interactions in this sequence." })), !isLoading && sorted.length > 0 && (_jsx("div", { className: "space-y-2", children: sorted.map(link => {
29
27
  const interaction = interactionById.get(link.testInteractionId);
30
- const onOpen = () => navigate(`${basePath}/test-interactions/${link.testInteractionId}`);
28
+ const onOpen = () => navigate(interactionPath(link.testInteractionId));
31
29
  const stepLabel = (_jsxs("span", { className: "w-6 text-right font-mono text-xs text-gray-400", children: [link.stepOrder, "."] }));
32
30
  return interaction ? (_jsx(InteractionCell, { interaction: interaction, onClick: onOpen, leading: stepLabel }, link.id)) : (_jsx(ListCell, { leading: stepLabel, title: `Interaction #${link.testInteractionId}`, onClick: onOpen }, link.id));
33
31
  }) })), !isLoading && sorted.length > 0 && (_jsx("div", { className: "mt-4 border-t border-gray-100 pt-3 dark:border-gray-700", children: _jsx(ScriptPanel, { kind: "sequence", id: sequence.id, filename: `sequence-${sequence.id}.spec.ts`, enabled: isExpanded }) }))] }))] }));
@@ -37,7 +35,7 @@ export function TestScenarioDetailPage() {
37
35
  const { navigate } = useLocalizedNavigate();
38
36
  const { baseUrl } = useTestomniacApi();
39
37
  const { networkClient, token, productId, primaryRunner, envId: numericEnvId, error: contextError, } = useDashboardEnvironmentContext();
40
- const basePath = useEnvBasePath();
38
+ const r = useEnvRoutes();
41
39
  // Fetch the scenario from the list (no single-get endpoint needed)
42
40
  const { testScenarios } = useRunnerTestScenarios({
43
41
  networkClient,
@@ -73,7 +71,7 @@ export function TestScenarioDetailPage() {
73
71
  token: token ?? '',
74
72
  enabled: !!scenarioId && !!token,
75
73
  });
76
- const { generate, isGenerating, error: generateError, } = useSequenceGenerator({
74
+ const { generateSequence, isGenerating, error: generateError, } = useGenerateSequence({
77
75
  networkClient,
78
76
  baseUrl,
79
77
  token,
@@ -82,20 +80,23 @@ export function TestScenarioDetailPage() {
82
80
  const [expandedSequenceId, setExpandedSequenceId] = useState(null);
83
81
  const handleGenerateSequence = async () => {
84
82
  setGenerateErrorMsg(null);
85
- const result = await generate(Number(scenarioId), numericEnvId);
86
- if (result) {
83
+ try {
84
+ await generateSequence({
85
+ scenarioId: Number(scenarioId),
86
+ testEnvironmentId: numericEnvId,
87
+ });
87
88
  refetchSequences();
88
89
  // The generated interactions are new rows; refresh the interaction list
89
90
  // so each sequence step resolves to a full cell without a page reload.
90
91
  refetchInteractions();
91
92
  }
92
- else if (generateError) {
93
- setGenerateErrorMsg(generateError);
93
+ catch (err) {
94
+ setGenerateErrorMsg(err instanceof Error ? err.message : generateError || 'Failed to generate sequence');
94
95
  }
95
96
  };
96
97
  if (contextError || sequencesError) {
97
98
  return (_jsx("div", { className: "p-6", children: _jsxs("div", { className: "text-center text-red-600 dark:text-red-400 py-8", children: ["Error: ", contextError || sequencesError] }) }));
98
99
  }
99
- return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: scenario?.title ?? `Scenario #${scenarioId}`, description: "", noIndex: true }), _jsx(BackLink, { label: "Test Scenarios", onClick: () => navigate(`${basePath}/test-scenarios`) }), _jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: scenario?.title ?? `Test Scenario #${scenarioId}` }), _jsx(AddToBundleButton, { itemType: "scenario", itemId: Number(scenarioId) })] }), scenario && (_jsxs("div", { className: "mb-6 space-y-3", children: [_jsxs("div", { className: "flex items-center gap-4 text-sm text-gray-500 dark:text-gray-400", children: [_jsxs("span", { children: ["Starting path:", ' ', _jsx("code", { className: "text-gray-900 dark:text-gray-100", children: scenario.startingPath })] }), _jsxs("span", { children: ["Device: ", _jsx("code", { className: "text-gray-900 dark:text-gray-100", children: scenario.sizeClass })] }), scenario.personaId && (_jsxs("span", { children: ["Persona:", ' ', _jsx("code", { className: "text-gray-900 dark:text-gray-100", children: personaName ?? `#${scenario.personaId}` })] }))] }), _jsxs(Card, { variant: "bordered", padding: "sm", children: [_jsx("div", { className: "text-xs font-medium text-gray-500 dark:text-gray-400 mb-1", children: "Prompt" }), _jsx("p", { className: "text-sm text-gray-900 dark:text-gray-100 whitespace-pre-wrap", children: scenario.prompt })] })] })), _jsxs("div", { className: "flex items-center justify-between mb-3", children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Sequences" }), _jsx(ActionButton, { variant: "primary", className: "bg-purple-600 hover:bg-purple-700", onClick: handleGenerateSequence, disabled: !scenarioId, isLoading: isGenerating, loadingText: "Generating...", children: "Generate Sequence" })] }), (generateErrorMsg || generateError) && (_jsx(Alert, { variant: "error", description: generateErrorMsg || generateError || undefined, className: "mb-3" })), sequencesLoading && (_jsx("div", { className: "text-sm text-gray-500 dark:text-gray-400 py-8 text-center", children: "Loading..." })), !sequencesLoading && sequences.length === 0 && (_jsx(EmptyState, { title: "No sequences yet", description: "Sequences are created when a scenario is run against an environment." })), sequences.length > 0 && (_jsx("div", { className: "space-y-2", children: sequences.map((seq) => (_jsx(SequenceCard, { sequence: seq, isExpanded: expandedSequenceId === seq.id, onToggle: () => setExpandedSequenceId(expandedSequenceId === seq.id ? null : seq.id), networkClient: networkClient, token: token ?? '', basePath: basePath, navigate: navigate, interactions: testInteractions }, seq.id))) }))] }));
100
+ return (_jsxs("div", { className: "p-6", children: [_jsx(SEOHead, { title: scenario?.title ?? `Scenario #${scenarioId}`, description: "", noIndex: true }), _jsx(BackLink, { label: "Test Scenarios", onClick: () => navigate(r.testScenarios()) }), _jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900 dark:text-gray-100", children: scenario?.title ?? `Test Scenario #${scenarioId}` }), _jsx(AddToBundleButton, { itemType: "scenario", itemId: Number(scenarioId) })] }), scenario && (_jsxs("div", { className: "mb-6 space-y-3", children: [_jsxs("div", { className: "flex items-center gap-4 text-sm text-gray-500 dark:text-gray-400", children: [_jsxs("span", { children: ["Starting path:", ' ', _jsx("code", { className: "text-gray-900 dark:text-gray-100", children: scenario.startingPath })] }), _jsxs("span", { children: ["Device: ", _jsx("code", { className: "text-gray-900 dark:text-gray-100", children: scenario.sizeClass })] }), scenario.personaId && (_jsxs("span", { children: ["Persona:", ' ', _jsx("code", { className: "text-gray-900 dark:text-gray-100", children: personaName ?? `#${scenario.personaId}` })] }))] }), _jsxs(Card, { variant: "bordered", padding: "sm", children: [_jsx("div", { className: "text-xs font-medium text-gray-500 dark:text-gray-400 mb-1", children: "Prompt" }), _jsx("p", { className: "text-sm text-gray-900 dark:text-gray-100 whitespace-pre-wrap", children: scenario.prompt })] })] })), _jsxs("div", { className: "flex items-center justify-between mb-3", children: [_jsx("h2", { className: "text-sm font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider", children: "Sequences" }), _jsx(ActionButton, { variant: "primary", className: "bg-purple-600 hover:bg-purple-700", onClick: handleGenerateSequence, disabled: !scenarioId, isLoading: isGenerating, loadingText: "Generating...", children: "Generate Sequence" })] }), (generateErrorMsg || generateError) && (_jsx(Alert, { variant: "error", description: generateErrorMsg || generateError || undefined, className: "mb-3" })), sequencesLoading && (_jsx("div", { className: "text-sm text-gray-500 dark:text-gray-400 py-8 text-center", children: "Loading..." })), !sequencesLoading && sequences.length === 0 && (_jsx(EmptyState, { title: "No sequences yet", description: "Sequences are created when a scenario is run against an environment." })), sequences.length > 0 && (_jsx("div", { className: "space-y-2", children: sequences.map((seq) => (_jsx(SequenceCard, { sequence: seq, isExpanded: expandedSequenceId === seq.id, onToggle: () => setExpandedSequenceId(expandedSequenceId === seq.id ? null : seq.id), networkClient: networkClient, token: token ?? '', interactionPath: r.testInteraction, navigate: navigate, interactions: testInteractions }, seq.id))) }))] }));
100
101
  }
101
102
  //# sourceMappingURL=TestScenarioDetailPage.js.map