Only add notification event listener after onload

This commit is contained in:
Omar Roth 2019-06-01 17:38:49 -05:00
parent 4e111c84f3
commit e23bab0103
No known key found for this signature in database
GPG Key ID: B8254FB7EC3D37F2
3 changed files with 29 additions and 29 deletions

View File

@ -1,4 +1,4 @@
function get_playlist(plid, timeouts) { function get_playlist(plid, timeouts = 0) {
if (timeouts > 10) { if (timeouts > 10) {
console.log('Failed to pull playlist'); console.log('Failed to pull playlist');
return; return;

View File

@ -1,6 +1,6 @@
var notifications, delivered; var notifications, delivered;
function get_subscriptions(callback, failures) { function get_subscriptions(callback, failures = 1) {
if (failures >= 10) { if (failures >= 10) {
return return
} }
@ -92,31 +92,6 @@ function create_notification_stream(subscriptions) {
notifications.stream(); notifications.stream();
} }
window.addEventListener('storage', function (e) {
if (e.key === 'stream' && !e.newValue) {
if (notifications) {
localStorage.setItem('stream', true);
} else {
setTimeout(function () {
if (!localStorage.getItem('stream')) {
get_subscriptions(create_notification_stream);
localStorage.setItem('stream', true);
}
}, Math.random() * 1000 + 10);
}
} else if (e.key === 'notification_count') {
var notification_ticker = document.getElementById('notification_ticker');
if (parseInt(e.newValue) > 0) {
notification_ticker.innerHTML =
'<span id="notification_count">' + e.newValue + '</span> <i class="icon ion-ios-notifications"></i>';
} else {
notification_ticker.innerHTML =
'<i class="icon ion-ios-notifications-outline"></i>';
}
}
});
window.addEventListener('load', function (e) { window.addEventListener('load', function (e) {
localStorage.setItem('notification_count', document.getElementById('notification_count') ? document.getElementById('notification_count').innerText : '0'); localStorage.setItem('notification_count', document.getElementById('notification_count') ? document.getElementById('notification_count').innerText : '0');
@ -130,6 +105,31 @@ window.addEventListener('load', function (e) {
} }
}, Math.random() * 1000 + 10); }, Math.random() * 1000 + 10);
} }
window.addEventListener('storage', function (e) {
if (e.key === 'stream' && !e.newValue) {
if (notifications) {
localStorage.setItem('stream', true);
} else {
setTimeout(function () {
if (!localStorage.getItem('stream')) {
get_subscriptions(create_notification_stream);
localStorage.setItem('stream', true);
}
}, Math.random() * 1000 + 10);
}
} else if (e.key === 'notification_count') {
var notification_ticker = document.getElementById('notification_ticker');
if (parseInt(e.newValue) > 0) {
notification_ticker.innerHTML =
'<span id="notification_count">' + e.newValue + '</span> <i class="icon ion-ios-notifications"></i>';
} else {
notification_ticker.innerHTML =
'<i class="icon ion-ios-notifications-outline"></i>';
}
}
});
}); });
window.addEventListener('unload', function (e) { window.addEventListener('unload', function (e) {

View File

@ -7,7 +7,7 @@ if (subscribe_button.getAttribute('data-type') === 'subscribe') {
subscribe_button.onclick = unsubscribe; subscribe_button.onclick = unsubscribe;
} }
function subscribe(timeouts) { function subscribe(timeouts = 0) {
if (timeouts >= 10) { if (timeouts >= 10) {
console.log('Failed to subscribe.'); console.log('Failed to subscribe.');
return; return;
@ -41,7 +41,7 @@ function subscribe(timeouts) {
} }
} }
function unsubscribe(timeouts) { function unsubscribe(timeouts = 0) {
if (timeouts >= 10) { if (timeouts >= 10) {
console.log('Failed to subscribe'); console.log('Failed to subscribe');
return; return;