- add today weekly points
This commit is contained in:
Alexandrina-Kuzeleva
2025-11-21 15:18:41 +03:00
parent 3673026a33
commit 555c7e4e2d

View File

@@ -61,6 +61,25 @@
<!-- ПРАВАЯ КОЛОНКА итоги -->
<div class="space-y-6 text-teal-900">
<!-- БЛОК "Ты сегодня получил баллы" -->
<div v-if="todayPoints > 0" class="bg-teal-600/40 rounded-xl p-6 shadow-xl mt-4">
<p class="text-lg opacity-90">Твоя статистика</p>
<p class="text-sm opacity-80 mt-1">
За сегодня ты заработал: {{ todayPoints }}
</p>
<p class="text-sm opacity-80 mt-3">
{{ todayPoints > 0 ? 'Так держать!' : 'Нужно немного позаниматься!' }}
</p>
<p class="text-sm opacity-80 mt-3">
{{ differencePoints > 0 ? `Это на ${ differencePoints } больше, чем вчера `
: differencePoints < 0 ? `Это на ${ differencePoints } меньше, чем вчера`
: 'Это столько же, сколько вчера' }}
</p>
<p class="text-sm opacity-80 mt-3">
За последнюю неделю ты заработал: {{ weeklyPoints }}
</p>
</div>
<div class="bg-teal-600/60 rounded-xl p-6 shadow-xl mt-4">
<p class="text-lg opacity-90">Всего баллов</p>
<p class="text-5xl font-bold mt-3">{{ totalPoints }}</p>
@@ -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()