fix(d3fend): use d3fend_id as expand key instead of def.id
Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled

def.id was undefined for D3FEND items, causing expandedId===undefined
to match ALL items simultaneously and opening every card at once.
d3fend_id (e.g. 'D3-DSDP') is always present and unique per defense.
This commit is contained in:
kitos
2026-05-29 11:58:28 +02:00
parent 2238ca671b
commit 843b545df3

View File

@@ -880,14 +880,14 @@ function D3FENDSection({ defenses }: { defenses: Array<{
)}
<div className="grid gap-2 sm:grid-cols-2">
{defs.map((def) => {
const isExpanded = expandedId === def.id;
const isExpanded = expandedId === def.d3fend_id;
return (
<div
key={def.id}
key={def.d3fend_id}
className={`rounded-lg border p-3 transition-all cursor-pointer ${
isExpanded ? "ring-1 ring-gray-600" : ""
} ${tacticColors[tactic] || "border-gray-700 bg-gray-800/30 text-gray-300"}`}
onClick={() => setExpandedId(isExpanded ? null : def.id)}
onClick={() => setExpandedId(isExpanded ? null : def.d3fend_id)}
>
<div className="flex items-start justify-between">
<div className="min-w-0 flex-1">