+ {/* Template info banner */}
+
+
+ Pre-filled from template: {template?.name}
+ {template?.source && (
+
+ {template.source}
+
+ )}
+
+
+
+ {/* Name */}
+
+
+ Test Name *
+
+ setName(e.target.value)}
+ className="w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-gray-200 placeholder-gray-500 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500"
+ placeholder="Test name"
+ />
+
+
+ {/* Description */}
+
+
+ Description
+
+
+
+ {/* Technique ID */}
+
+
+ MITRE Technique ID *
+
+
setTechnique(e.target.value)}
+ className="w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-gray-200 placeholder-gray-500 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500"
+ placeholder="e.g. T1059.001"
+ readOnly={!!propTechniqueId}
+ />
+ {propTechniqueId && (
+
Pre-selected from technique page
+ )}
+
+
+ {/* Platform */}
+
+ Platform
+ setPlatform(e.target.value)}
+ className="w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-gray-200 placeholder-gray-500 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500"
+ placeholder="e.g. windows, linux, macos"
+ />
+
+
+ {/* Attack Procedure */}
+
+
+ Suggested Attack Procedure
+
+
+
+ {/* Tool Suggested */}
+
+
+ Suggested Tool
+
+ setToolUsed(e.target.value)}
+ className="w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-gray-200 placeholder-gray-500 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500"
+ placeholder="e.g. Atomic Red Team, Cobalt Strike"
+ />
+
+
+ {/* Expected Detection (read-only reference for Blue Team) */}
+
+
+ Expected Detection
+ (read-only reference for Blue Team)
+
+
+
+ {expectedDetection || "No detection guidance provided in template."}
+
+
+
+
+ {/* Error */}
+ {createMutation.isError && (
+
+ {(createMutation.error as Error)?.message || "Failed to create test"}
+
+ )}
+