fix(documents): refine unread badges and mark all read

This commit is contained in:
caoxiaozhu
2026-06-03 16:46:13 +08:00
parent 513ff909f9
commit 4717ee6086
8 changed files with 201 additions and 22 deletions

View File

@@ -77,3 +77,26 @@ export function markDocumentViewed(row, viewedKeys, storage = getStorage()) {
writeViewedDocumentKeys(nextKeys, storage)
return nextKeys
}
export function markDocumentsViewed(rows, viewedKeys, storage = getStorage()) {
const nextKeys = new Set(viewedKeys)
let changed = false
;(Array.isArray(rows) ? rows : []).forEach((row) => {
if (!isNewDocument(row, nextKeys)) {
return
}
const key = resolveDocumentNewKey(row)
if (key) {
nextKeys.add(key)
changed = true
}
})
if (changed) {
writeViewedDocumentKeys(nextKeys, storage)
}
return nextKeys
}