blur modules instead of black overlay

This commit is contained in:
Felix Wiedenbach 2021-10-15 06:43:53 +02:00
parent 75cf1d610e
commit 15fd2021bb
2 changed files with 25 additions and 21 deletions

View File

@ -68,17 +68,16 @@ Module.register("alert", {
},
async showAlert(alert, sender) {
//Create overlay
const overlay = document.createElement("div");
overlay.id = "overlay";
overlay.innerHTML += '<div class="black_overlay"></div>';
document.body.insertBefore(overlay, document.body.firstChild);
// If module already has an open alert close it
if (this.alerts[sender.name]) {
this.hideAlert(sender, false);
}
// Add overlay
if (!Object.keys(this.alerts).length) {
this.toggleBlur(true);
}
const message = await this.renderMessage("alert", alert);
// Store alert in this.alerts
@ -105,10 +104,11 @@ Module.register("alert", {
// Dismiss alert and remove from this.alerts
if (this.alerts[sender.name]) {
this.alerts[sender.name].dismiss(close);
this.alerts[sender.name] = null;
delete this.alerts[sender.name];
// Remove overlay
const overlay = document.getElementById("overlay");
overlay.parentNode.removeChild(overlay);
if (!Object.keys(this.alerts).length) {
this.toggleBlur(false);
}
}
},
@ -124,6 +124,14 @@ Module.register("alert", {
});
},
toggleBlur(add = false) {
const method = add ? "add" : "remove";
const modules = document.querySelectorAll(".module");
for (const module of modules) {
module.classList[method]("alert-blur");
}
},
notificationReceived(notification, payload, sender) {
if (notification === "SHOW_ALERT") {
if (payload.type === "notification") {

View File

@ -39,12 +39,8 @@
border-radius: 20px;
}
.black_overlay {
position: fixed;
z-index: 2;
background-color: rgba(0, 0, 0, 0.93);
width: 100%;
height: 100%;
.alert-blur {
filter: blur(2px) brightness(50%);
}
[class^="ns-effect-"].ns-growl.ns-hide,