#19 Fallback for badly loaded pages added
This commit is contained in:
parent
a840f644b7
commit
f0eebd2803
|
@ -13,7 +13,22 @@ export function init() {
|
||||||
|
|
||||||
function getNotificationCount() {
|
function getNotificationCount() {
|
||||||
if (core.isLoggedIn()) {
|
if (core.isLoggedIn()) {
|
||||||
let menuUserText = document.getElementById('materialize-menu-dropdown').innerText.split('\n')[4];
|
let menus = document.getElementById('materialize-menu-dropdown').innerText.split('\n');
|
||||||
|
|
||||||
|
// On some pages there is an issue if the website is loaded using them as entry point (eg. /Search).
|
||||||
|
// They don´t have their menu build completly directly and the above code does not return the "User" element :/
|
||||||
|
// If this happens the menu is splitted into many more (~20) items than only 5.
|
||||||
|
// So if there are more, we just try again later.
|
||||||
|
// Additionally, if the element is there correctly it´s not updated with the notification count directly, so we wait a bit longer before retrying.
|
||||||
|
if (menus.length > 5) {
|
||||||
|
setTimeout(() => {
|
||||||
|
updateNotificationsInTitle();
|
||||||
|
}, 2000);
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
let menuUserText = menus[4];
|
||||||
let notificationCount = menuUserText.match(/\d+/)?.[0] ?? 0;
|
let notificationCount = menuUserText.match(/\d+/)?.[0] ?? 0;
|
||||||
return notificationCount;
|
return notificationCount;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue