Personen koennen einen Namen bekommen (Plan-Einstellungen)
Deploy App / deploy (push) Successful in 1m52s
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:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user