AniwatchPlus/enhancements/notifications.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

let __notificationCount = '';
runAfterLoad(() => {
retrieveLoginStatus();
__notificationCount = getNotificationCount();
displayNotificationsInTitle();
}, ".*");
runAfterPathnameChange(() => {
displayNotificationsInTitle();
}, ".*");
function getNotificationCount() {
if (isLoggedIn) {
let menuUserText = document.getElementById('materialize-menu-dropdown').innerText.split('\n')[4];
2020-08-20 17:47:00 +02:00
let notificationCount = menuUserText.split("")[6];
console.log(notificationCount);
// If there are no notifications
if (Number.isNaN(parseInt(notificationCount)) || typeof notificationCount === 'undefined') {
console.warn("NaN or undefined");
return ``; // Otherwise displayNotificationsInTitle() throws undefined again
}
// Notifications present
else {
return `(${notificationCount}) `;
}
}
}
2020-08-20 17:47:00 +02:00
function displayNotificationsInTitle() {
console.log(__notificationCount);
if (typeof __notificationCount === 'undefined') {
console.error("NoTiFiCaTiOnCoUnT uNdEfInEd!");
}
else {
document.title = __notificationCount + document.title;
}
}