Fix: Detail-Panel uebernahm Formularwerte vom vorher geoeffneten Element
Deploy App / deploy (push) Successful in 1m0s

Das untere Detail-Panel (ElementDetail/PhaseDetail) initialisiert seinen lokalen
Formular-Zustand nur beim Mounten. Ohne key wurde beim Wechsel der Zelle/Phase
dieselbe Instanz wiederverwendet -> Werte (z. B. Zusatzinvestition) blieben vom
zuvor geoeffneten Element haengen. Fix: key pro Auswahl (Zelle/Phase) erzwingt
Neuaufbau. Analog key am Uebergangs-Popup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 08:36:48 +02:00
parent 4483980169
commit f8d77ef864
+9 -2
View File
@@ -411,9 +411,15 @@ export function PlanView({
</div> </div>
)} )}
{/* Detail-Panel */} {/* Detail-Panel. Der key erzwingt beim Wechsel von Zelle/Phase einen Neuaufbau,
damit der lokale Formular-Zustand nicht vom vorher geoeffneten Element uebrig bleibt. */}
{selected && ( {selected && (
<div className="rounded-xl border border-accent bg-surface p-4 shadow-sm">{renderDetail()}</div> <div
key={selected.type === "phase" ? `ph-${selected.phaseId}` : `pc-${selected.elementId}-${selected.phaseId}`}
className="rounded-xl border border-accent bg-surface p-4 shadow-sm"
>
{renderDetail()}
</div>
)} )}
{showAdd && firstPhase && ( {showAdd && firstPhase && (
@@ -478,6 +484,7 @@ export function PlanView({
const context = buildTransitionContext(fromPhase, toPhase, element); const context = buildTransitionContext(fromPhase, toPhase, element);
return ( return (
<TransitionCellDialog <TransitionCellDialog
key={`${editTransition.elementId}-${editTransition.fromPhaseId}`}
element={element} element={element}
fromPhase={fromPhase} fromPhase={fromPhase}
toPhase={toPhase} toPhase={toPhase}