diff --git a/frontend/src/pages/MyPoints.vue b/frontend/src/pages/MyPoints.vue index 1a53e740..4e34d5f6 100644 --- a/frontend/src/pages/MyPoints.vue +++ b/frontend/src/pages/MyPoints.vue @@ -61,6 +61,25 @@
Твоя статистика
++ За сегодня ты заработал: {{ todayPoints }} +
++ {{ todayPoints > 0 ? 'Так держать!' : 'Нужно немного позаниматься!' }} +
++ {{ differencePoints > 0 ? `Это на ${ differencePoints } больше, чем вчера ` + : differencePoints < 0 ? `Это на ${ differencePoints } меньше, чем вчера` + : 'Это столько же, сколько вчера' }} +
++ За последнюю неделю ты заработал: {{ weeklyPoints }} +
+Всего баллов
{{ totalPoints }}
@@ -129,6 +148,28 @@ const visibleItems = computed(() => { : energyPoints.data.slice(0, 5) // первые 5 }) +function getPointsByDate(dateString) { + if (!Array.isArray(energyPoints.data)) return 0 + + return energyPoints.data + .filter(item => dayjs(item.creation).format('YYYY-MM-DD') === dateString) + .reduce((sum, item) => sum + (item.points || 0), 0) +} + +const today = dayjs().format('YYYY-MM-DD') +const yesterday = dayjs().subtract(1, 'day').format('YYYY-MM-DD') + +const todayPoints = computed(() => getPointsByDate(today)) +const yesterdayPoints = computed(() => getPointsByDate(yesterday)) + +const differencePoints = computed(() => + todayPoints.value - yesterdayPoints.value +) + +const weeklyPoints = computed(() => + getPointsByDate(dayjs().subtract(7, 'day').format('YYYY-MM-DD')) +) + onMounted(() => { if ($user.data) { energyPoints.fetch()