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:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user