29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
|
const COMMENTS_VIEW_PREFIX = 'commentsViewedAt'
|
||
|
const COMMENTS_NUM_PREFIX = 'commentsViewNum'
|
||
|
|
||
|
export function commentsViewed (item) {
|
||
|
if (!item.parentId && item.lastCommentAt) {
|
||
|
localStorage.setItem(`${COMMENTS_VIEW_PREFIX}:${item.id}`, new Date(item.lastCommentAt).getTime())
|
||
|
localStorage.setItem(`${COMMENTS_NUM_PREFIX}:${item.id}`, item.ncomments)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export function commentsViewedAfterComment (rootId, createdAt) {
|
||
|
localStorage.setItem(`${COMMENTS_VIEW_PREFIX}:${rootId}`, new Date(createdAt).getTime())
|
||
|
const existingRootComments = localStorage.getItem(`${COMMENTS_NUM_PREFIX}:${rootId}`) || 0
|
||
|
localStorage.setItem(`${COMMENTS_NUM_PREFIX}:${rootId}`, existingRootComments + 1)
|
||
|
}
|
||
|
|
||
|
export function newComments (item) {
|
||
|
if (!item.parentId) {
|
||
|
const commentsViewedAt = localStorage.getItem(`${COMMENTS_VIEW_PREFIX}:${item.id}`)
|
||
|
const commentsViewNum = localStorage.getItem(`${COMMENTS_NUM_PREFIX}:${item.id}`)
|
||
|
|
||
|
if (commentsViewedAt && commentsViewNum) {
|
||
|
return commentsViewedAt < new Date(item.lastCommentAt).getTime() || commentsViewNum < item.ncomments
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return false
|
||
|
}
|