TEST UPD
- add today weekly points
This commit is contained in:
@@ -61,6 +61,25 @@
|
|||||||
|
|
||||||
<!-- ПРАВАЯ КОЛОНКА — итоги -->
|
<!-- ПРАВАЯ КОЛОНКА — итоги -->
|
||||||
<div class="space-y-6 text-teal-900">
|
<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">
|
<div class="bg-teal-600/60 rounded-xl p-6 shadow-xl mt-4">
|
||||||
<p class="text-lg opacity-90">Всего баллов</p>
|
<p class="text-lg opacity-90">Всего баллов</p>
|
||||||
<p class="text-5xl font-bold mt-3">{{ totalPoints }}</p>
|
<p class="text-5xl font-bold mt-3">{{ totalPoints }}</p>
|
||||||
@@ -129,6 +148,28 @@ const visibleItems = computed(() => {
|
|||||||
: energyPoints.data.slice(0, 5) // первые 5
|
: 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(() => {
|
onMounted(() => {
|
||||||
if ($user.data) {
|
if ($user.data) {
|
||||||
energyPoints.fetch()
|
energyPoints.fetch()
|
||||||
|
|||||||
Reference in New Issue
Block a user