Aktualisiere die Altersberechnung in FalukantWidget: Ändere die Umrechnung von Tagen in Jahre und runde auf das nächste Jahr für eine erwartbare Anzeige.

This commit is contained in:
Torsten Schulz (local)
2026-02-09 17:02:41 +01:00
parent b07099b57d
commit c45a843611

View File

@@ -69,16 +69,18 @@ export default {
}, },
methods: { methods: {
/** /**
* Backend liefert für Falukant aktuell das Alter als Tage (differenceInDays). * Backend liefert für Falukant das Alter als (Spiel-)Tage.
* Für die Anzeige und die Age-Groups brauchen wir Jahre. * 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) { _ageYearsFromWidgetValue(ageValue) {
const n = Number(ageValue); const n = Number(ageValue);
if (Number.isNaN(n)) return null; if (Number.isNaN(n)) return null;
// Heuristik: >= 365 wird als Tage interpretiert. // Spiel-Zeit: 365 Tage = 1 Jahr
// Falls das Backend irgendwann auf Jahre umstellt, bleiben Werte < 365 unverändert. const years = Math.round(n / 365);
const years = n >= 365 ? Math.floor(n / 365) : Math.floor(n);
return Number.isFinite(years) ? years : null; return Number.isFinite(years) ? years : null;
}, },
_getAgeGroupKey(age) { _getAgeGroupKey(age) {