From 1997a8c621292d1f98ae4fb5e1dbbe983d0dac00 Mon Sep 17 00:00:00 2001 From: Knacky Date: Wed, 10 Jun 2026 18:17:54 +0200 Subject: [PATCH] feat(frontend): side-by-side red-team/SOC columns on simulation screen Wrap RT and SOC form cards in a responsive 2-column grid (grid gap-xl lg:grid-cols-2 items-start) on the simulation edit view. Drop the max-w-3xl constraint from the outer container so the grid can use full page width (matching EngagementDetailPage). Header, banners, submitError, and sticky action bar remain full-width above the grid. The isNew create form keeps its current narrow layout. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/pages/SimulationFormPage.tsx | 249 +++++++++++----------- 1 file changed, 126 insertions(+), 123 deletions(-) diff --git a/frontend/src/pages/SimulationFormPage.tsx b/frontend/src/pages/SimulationFormPage.tsx index b6db536..2d97649 100644 --- a/frontend/src/pages/SimulationFormPage.tsx +++ b/frontend/src/pages/SimulationFormPage.tsx @@ -257,7 +257,7 @@ export function SimulationFormPage(): JSX.Element { updateMutation.isPending || transitionMutation.isPending || deleteMutation.isPending; return ( -
+
@@ -298,140 +298,143 @@ export function SimulationFormPage(): JSX.Element {
)} - {/* Red Team card */} -
e.preventDefault()} - noValidate - className="card-product flex flex-col gap-md" - > -

Red Team

+ {/* 2-column grid: RT left, SOC right. Stacks vertically below lg. */} +
+ {/* Red Team card */} + e.preventDefault()} + noValidate + className="card-product flex flex-col gap-md" + > +

Red Team

- - setRt({ ...rt, name: e.target.value })} - disabled={rtDisabled} - required - /> - + + setRt({ ...rt, name: e.target.value })} + disabled={rtDisabled} + required + /> + -
- MITRE Techniques & Tactics - -
+
+ MITRE Techniques & Tactics + +
- -