TEST UPD
- add today weekly points
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user