pinafore/routes/_store/notificationObservers.js
2018-02-20 21:29:59 -08:00

20 lines
581 B
JavaScript

import { setFavicon } from '../_utils/setFavicon'
import { scheduleIdleTask } from '../_utils/scheduleIdleTask'
let currentFaviconHasNotifications = false
export function notificationObservers (store) {
store.observe('hasNotifications', hasNotifications => {
if (!process.browser) {
return
}
if (currentFaviconHasNotifications === hasNotifications) {
return
}
scheduleIdleTask(() => {
setFavicon(hasNotifications ? '/favicon-alert.png' : '/favicon.png')
currentFaviconHasNotifications = !currentFaviconHasNotifications
})
})
}