+
+ navigate('/scenarios') },
+ {
+ label: scenario?.name ?? `#${id}`,
+ onClick: () => navigate(`/scenarios/${id}`),
+ },
+ { label: t('steps.edit_title', { order: step?.order ?? stepId }) },
+ ]}
+ />
+
+
+ {error &&
{error}
}
+ {loading &&
{t('steps.loading')}
}
+
+ {!loading && step && (
+
+ )}
+
+ );
+}
diff --git a/client/src/pages/ScenarioDetailPage.tsx b/client/src/pages/scenario/ScenarioDetailPage.tsx
similarity index 63%
rename from client/src/pages/ScenarioDetailPage.tsx
rename to client/src/pages/scenario/ScenarioDetailPage.tsx
index 4ccd90e..1ff4c08 100644
--- a/client/src/pages/ScenarioDetailPage.tsx
+++ b/client/src/pages/scenario/ScenarioDetailPage.tsx
@@ -1,9 +1,9 @@
import { useEffect, useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
-import { Play, Trash2 } from 'lucide-react';
-import { scenarios } from '../api';
-import type { Scenario, ScenarioStep } from '../api';
+import { Play, Pencil, Plus, Trash2 } from 'lucide-react';
+import { scenarios, steps } from '../../api';
+import type { Scenario, ScenarioStep } from '../../api';
import {
Badge,
Breadcrumbs,
@@ -14,8 +14,8 @@ import {
Table,
Timestamp,
type TableColumn,
-} from '../ui';
-import styles from './Page.module.css';
+} from '../../ui';
+import styles from '../Page.module.css';
const STEP_TYPE_VARIANT: Record