Change: 絵文字リアクションの通知のグループ化で、アカウントを絵文字の種類ごとに表示 (#796)
* Change: 絵文字リアクションの通知のグループ化で、アカウントを絵文字の種類ごとに表示 * Fix lint * アカウントの一括取得数を制限 * ストリーミング対応 * Fix * Fix * Fix * Fix some problems * Fix
This commit is contained in:
parent
5dec110dec
commit
f14c2d3ada
10 changed files with 258 additions and 7 deletions
|
@ -211,6 +211,41 @@ function processNewNotification(
|
|||
if (existingGroupIndex > -1) {
|
||||
const existingGroup = groups[existingGroupIndex];
|
||||
|
||||
if (existingGroup && existingGroup.type !== 'gap') {
|
||||
// Update emoji reaction emoji groups
|
||||
if (existingGroup.type === 'emoji_reaction') {
|
||||
const emojiReactionGroups = existingGroup.emojiReactionGroups;
|
||||
const emojiReactionData = notification.emoji_reaction;
|
||||
|
||||
if (emojiReactionGroups && emojiReactionData) {
|
||||
const sameEmojiIndex = emojiReactionGroups.findIndex(
|
||||
(g) => g.emoji.name === emojiReactionData.name,
|
||||
);
|
||||
|
||||
if (sameEmojiIndex > -1) {
|
||||
const sameEmoji = emojiReactionGroups[sameEmojiIndex];
|
||||
|
||||
if (sameEmoji) {
|
||||
if (
|
||||
!sameEmoji.sampleAccountIds.includes(notification.account.id) &&
|
||||
sameEmoji.sampleAccountIds.unshift(notification.account.id) >
|
||||
NOTIFICATIONS_GROUP_MAX_AVATARS
|
||||
)
|
||||
sameEmoji.sampleAccountIds.pop();
|
||||
|
||||
emojiReactionGroups.splice(sameEmojiIndex, 1);
|
||||
emojiReactionGroups.unshift(sameEmoji);
|
||||
}
|
||||
} else {
|
||||
emojiReactionGroups.unshift({
|
||||
emoji: emojiReactionData,
|
||||
sampleAccountIds: [notification.account.id],
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
existingGroup &&
|
||||
existingGroup.type !== 'gap' &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue