2018-03-03 14:15:50 -08:00
|
|
|
import { setFavicon } from '../../_utils/setFavicon'
|
|
|
|
import { scheduleIdleTask } from '../../_utils/scheduleIdleTask'
|
2018-02-16 08:59:44 -08:00
|
|
|
|
2018-02-20 21:29:59 -08:00
|
|
|
let currentFaviconHasNotifications = false
|
|
|
|
|
2018-02-16 08:59:44 -08:00
|
|
|
export function notificationObservers (store) {
|
|
|
|
store.observe('hasNotifications', hasNotifications => {
|
|
|
|
if (!process.browser) {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
scheduleIdleTask(() => {
|
2018-04-19 09:34:56 -07:00
|
|
|
if (currentFaviconHasNotifications === hasNotifications) {
|
|
|
|
return
|
|
|
|
}
|
2018-02-20 21:29:59 -08:00
|
|
|
setFavicon(hasNotifications ? '/favicon-alert.png' : '/favicon.png')
|
|
|
|
currentFaviconHasNotifications = !currentFaviconHasNotifications
|
2018-02-16 08:59:44 -08:00
|
|
|
})
|
|
|
|
})
|
2018-02-16 09:01:03 -08:00
|
|
|
}
|