forked from Mirrors/elk
feat: filter the notification statuses
This commit is contained in:
parent
a5c779aa2e
commit
50e0832310
1 changed files with 15 additions and 1 deletions
|
@ -131,7 +131,21 @@ function preprocess(items: NotificationSlot[]): NotificationSlot[] {
|
|||
flattenedNotifications.push(item)
|
||||
}
|
||||
}
|
||||
return groupItems(flattenedNotifications)
|
||||
|
||||
// extract indices of notifications with filtered statuses
|
||||
const isStrict = (filter: mastodon.v1.FilterResult) => filter.filter.filterAction === 'hide' && filter.filter.context.includes('notifications')
|
||||
const filteredIndices = flattenedNotifications
|
||||
.map((item, index) => ({
|
||||
status: item.status,
|
||||
index,
|
||||
}))
|
||||
.filter(item => !item.status?.filtered?.find(isStrict))
|
||||
.map(item => item.index)
|
||||
|
||||
// group the filtered elements given the indices
|
||||
return groupItems(
|
||||
flattenedNotifications.filter((item, index) => !filteredIndices.includes(index)),
|
||||
)
|
||||
}
|
||||
|
||||
const { clearNotifications } = useNotifications()
|
||||
|
|
Loading…
Reference in a new issue