diff --git a/frontend/src/pages/CampaignDetailPage.tsx b/frontend/src/pages/CampaignDetailPage.tsx index d84a2eb..6c5ced3 100644 --- a/frontend/src/pages/CampaignDetailPage.tsx +++ b/frontend/src/pages/CampaignDetailPage.tsx @@ -309,44 +309,50 @@ export default function CampaignDetailPage() { - {/* Progress Panel */} -
-

Progress

-
-
- {progress.completion_pct}% - complete -
-
-
-
+ {/* Progress + Timing side by side */} +
+ {/* Progress Panel */} +
+

Progress

+
+
+ {progress.completion_pct}% + complete
+
+
+
+
+
+ + {progress.by_state?.validated || 0} / {progress.total} tests +
- - {progress.by_state?.validated || 0} / {progress.total} tests - + + {/* State breakdown */} + {progress.total > 0 && ( +
+ {Object.entries(progress.by_state || {}).map(([state, count]) => ( +
+ {state.replace(/_/g, " ")}: {count} +
+ ))} +
+ )}
- {/* State breakdown */} - {progress.total > 0 && ( -
- {Object.entries(progress.by_state || {}).map(([state, count]) => ( -
- {state.replace(/_/g, " ")}: {count} -
- ))} -
- )} + {/* Campaign Timing */} +
{/* Kill Chain Timeline */} @@ -630,11 +636,8 @@ export default function CampaignDetailPage() { )}
- {/* Jira + Campaign Timing */} -
- - -
+ {/* Jira */} + {/* Add Test to Campaign Modal */}