added subscription modal

This commit is contained in:
Fran Jurmanović
2021-06-18 23:17:41 +02:00
parent fe1d84ad5c
commit dc1c7590fe
9 changed files with 257 additions and 0 deletions

View File

@@ -144,6 +144,8 @@ class AppDropdownElement extends BaseComponentElement {
setOpen = (isOpen) => {
this.isOpen = isOpen;
if (!isOpen) {
const active = this.appMain.activeElement;
if (active.closest('app-link') || active.closest('a') || active.closest('button')) return;
this.validate();
this.update();
}

View File

@@ -25,6 +25,7 @@ class AppMainElement extends HTMLElement {
walletupdate: new Event('walletupdate'),
transactionupdate: new Event('transactionupdate'),
};
activeElement: HTMLElement = this;
constructor() {
super();
@@ -105,8 +106,25 @@ class AppMainElement extends HTMLElement {
},
]);
this.routerService.init();
this.addEventListener('mousedown', this.setActiveElement, false);
this.addEventListener('tokenchange', this.closeOffToken);
}
closeOffToken = () => {
if (!this.isAuth) {
this.closeModal();
}
};
disconnectedCallback = () => {
this.removeEventListener('mousedown', this.setActiveElement);
this.removeEventListener('tokenchange', this.closeOffToken);
};
setActiveElement = (e) => {
this.activeElement = e?.target || this;
};
middleAuth = () => {
if (!this.isAuth) {
this.routerService.goTo('/unauthorized');

View File

@@ -58,6 +58,8 @@ class InputFieldElement extends BaseComponentElement {
};
validateDisplay = () => {
const active = this.appMain.activeElement;
if (active.closest('app-link') || active.closest('a') || active.closest('button')) return;
if (!this.validate()) {
this.displayError = true;
} else {