chore: add message repeat counter

This commit is contained in:
Shishkevich D. 2025-03-09 12:32:45 +00:00
parent 903332e1c9
commit a059127c07

View file

@ -332,6 +332,7 @@
<b>[[ log.sender ]]</b> <b>[[ log.sender ]]</b>
<a-tag>[[ log.date ]]</a-tag> <a-tag>[[ log.date ]]</a-tag>
<a-tag :color="logModal.tagsColors[log.level]">[[ log.level ]]</a-tag> <a-tag :color="logModal.tagsColors[log.level]">[[ log.level ]]</a-tag>
<a-tag v-if="log.repeat">[[ log.repeat ]]</a-tag>
</a-space> </a-space>
</template> </template>
<template #description> <template #description>
@ -492,9 +493,12 @@
this.logs = this.getLogs(logs); this.logs = this.getLogs(logs);
}, },
getLogs(logs) { getLogs(logs) {
const seen = {}
if (logs === null) return [] if (logs === null) return []
return logs.map((log) => { return logs
.map((log) => {
let message; let message;
let level; let level;
let date; let date;
@ -538,7 +542,21 @@
date: date, date: date,
sender: sender sender: sender
} }
}).reverse() })
.reduce((result, item) => {
const { message } = item;
if (seen.hasOwnProperty(message)) {
// Если элемент с таким message уже встречался, увеличим счётчик 'repeat'
seen[message].repeat += 1;
} else {
// Если элемента с таким message ещё нет, добавляем копию объекта и инициализируем repeat как 0
const newItem = { ...item, repeat: 0 };
seen[message] = newItem;
result.push(newItem);
}
return result;
}, [])
.reverse()
}, },
hide() { hide() {
this.visible = false; this.visible = false;