diff --git a/gerbil-manager-web/src/components/Charakterbogen.tsx b/gerbil-manager-web/src/components/Charakterbogen.tsx index f8a7ad1..e90c872 100644 --- a/gerbil-manager-web/src/components/Charakterbogen.tsx +++ b/gerbil-manager-web/src/components/Charakterbogen.tsx @@ -1,5 +1,5 @@ import { de } from '../strings/de' -import { ALL_TRAITS } from '../format/traits' +import { ALL_TRAITS, TRAIT_CATEGORIES } from '../format/traits' import './charakterbogen.css' export interface CharakterbogenProps { @@ -10,12 +10,6 @@ export interface CharakterbogenProps { onNoteChange: (note: string) => void } -/** - * FEAT-14: character sheet — a checkbox grid of traits + a free note. - * Controlled & reusable: rendered on the animal detail page (persisted) and in - * the Abgabe listing composer (feeds the AI sale-text). German labels from - * de.character.traits; the stored value is the trait KEY. - */ export default function Charakterbogen({ traits, note, @@ -29,26 +23,32 @@ export default function Charakterbogen({ const next = new Set(selected) if (next.has(key)) next.delete(key) else next.add(key) - // Preserve the vocabulary order for stable output. + // Preserve vocabulary (category) order for stable output. onTraitsChange(ALL_TRAITS.filter((tr) => next.has(tr.key)).map((tr) => tr.key)) } return (
- + {TRAIT_CATEGORIES.map((cat) => ( +
+

{cat.category}

+ +
+ ))}