Personen koennen einen Namen bekommen (Plan-Einstellungen)
Deploy App / deploy (push) Successful in 1m52s

Person A/B erhalten ein optionales Namensfeld (Migration: Person.name nullable).
Fallback im UI bleibt "Person A"/"Person B". Angezeigt in Grundprofil-Box, Zeitachse,
Matrix-Elementzuordnung und Element-Erstelldialog; Szenario-Kopie uebernimmt den Namen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 08:32:19 +02:00
parent 56f8140af5
commit 4483980169
8 changed files with 40 additions and 17 deletions
+12 -4
View File
@@ -1,19 +1,19 @@
"use client";
import { NumberField, SelectField } from "@/components/FormField";
import { NumberField, SelectField, TextField } from "@/components/FormField";
import type { HouseholdType, PersonRole } from "@/lib/types";
export interface ProfileDraft {
householdType: HouseholdType;
inflationRateDefault: number;
persons: { role: PersonRole; age: number; retirementAge: number }[];
persons: { role: PersonRole; name: string; age: number; retirementAge: number }[];
}
export function emptyProfileDraft(): ProfileDraft {
return {
householdType: "SINGLE",
inflationRateDefault: 1.5,
persons: [{ role: "PERSON_A", age: 35, retirementAge: 65 }],
persons: [{ role: "PERSON_A", name: "", age: 35, retirementAge: 65 }],
};
}
@@ -32,7 +32,7 @@ export function PlanProfileFields({
} else {
const persons =
draft.persons.length < 2
? [...draft.persons, { role: "PERSON_B" as PersonRole, age: 35, retirementAge: 65 }]
? [...draft.persons, { role: "PERSON_B" as PersonRole, name: "", age: 35, retirementAge: 65 }]
: draft.persons;
onChange({ ...draft, householdType: type, persons });
}
@@ -63,6 +63,14 @@ export function PlanProfileFields({
<div className="col-span-2 text-xs font-semibold uppercase tracking-wide text-faint">
{draft.householdType === "COUPLE" ? (person.role === "PERSON_A" ? "Person A" : "Person B") : "Ihre Angaben"}
</div>
<div className="col-span-2">
<TextField
label="Name (optional)"
value={person.name}
placeholder={person.role === "PERSON_A" ? "Person A" : "Person B"}
onChange={(v) => updatePerson(index, { name: v })}
/>
</div>
<NumberField
label="Aktuelles Alter"
value={person.age}