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()