diff --git a/frontend/src/components/widgets/FalukantWidget.vue b/frontend/src/components/widgets/FalukantWidget.vue index 6e941ae..e1b30b6 100644 --- a/frontend/src/components/widgets/FalukantWidget.vue +++ b/frontend/src/components/widgets/FalukantWidget.vue @@ -69,16 +69,18 @@ export default { }, methods: { /** - * Backend liefert für Falukant aktuell das Alter als Tage (differenceInDays). - * Für die Anzeige und die Age-Groups brauchen wir Jahre. + * Backend liefert für Falukant das Alter als (Spiel-)Tage. + * Im Spiel entsprechen 365 Tage einem Jahr, damit die Alterung schneller/spielbar ist. + * + * Wichtig: Wir runden auf das nächste Jahr, damit die Anzeige erwartbar ist + * (sonst wirkt sie oft "ein Jahr zu jung" kurz vor dem nächsten Jahr). */ _ageYearsFromWidgetValue(ageValue) { const n = Number(ageValue); if (Number.isNaN(n)) return null; - // Heuristik: >= 365 wird als Tage interpretiert. - // Falls das Backend irgendwann auf Jahre umstellt, bleiben Werte < 365 unverändert. - const years = n >= 365 ? Math.floor(n / 365) : Math.floor(n); + // Spiel-Zeit: 365 Tage = 1 Jahr + const years = Math.round(n / 365); return Number.isFinite(years) ? years : null; }, _getAgeGroupKey(age) {