diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 258f369..eb0ec11 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -60,7 +60,8 @@ import {ResourcesService} from "./openaireLibrary/monitor/services/resources.ser
-
@@ -79,7 +80,8 @@ export class AppComponent {
header: Header;
logoPath: string = 'assets/common-assets/logo-services/monitor/';
/* Contact */
- public showQuickContact: boolean;
+ public bottomNotIntersecting: boolean;
+ public displayQuickContact: boolean; // intersecting with specific section in home page
public showGetStarted: boolean = true;
public contactForm: UntypedFormGroup;
public organizationTypes: string[] = [
@@ -107,7 +109,7 @@ export class AppComponent {
if (event instanceof NavigationEnd) {
if (event.url === '/contact-us') {
this.quickContactService.setDisplay(false);
- } else if (event.url !== '/contact-us' && !this.showQuickContact) {
+ } else if (event.url !== '/contact-us' && (!this.bottomNotIntersecting || !this.displayQuickContact)) {
this.quickContactService.setDisplay(true);
}
this.showGetStarted = event.url !== '/get-started';
@@ -135,7 +137,7 @@ export class AppComponent {
this.reset();
}));
this.subscriptions.push(this.quickContactService.isDisplayed.subscribe(display => {
- this.showQuickContact = display;
+ this.displayQuickContact = display;
}));
}
@@ -145,25 +147,23 @@ export class AppComponent {
rootMargin: '0px',
threshold: 0.1
};
- let intersectionObserver = new IntersectionObserver(entries => {
- entries.forEach(entry => {
- if (entry.isIntersecting && this.showQuickContact) {
- this.showQuickContact = false;
- this.quickContactService.setDisplay(this.showQuickContact);
- } else if (!entry.isIntersecting && !this.showQuickContact) {
- this.showQuickContact = true;
- this.quickContactService.setDisplay(this.showQuickContact);
- }
+
+ let intersectionObserver = new IntersectionObserver(entries => {
+ entries.forEach(entry => {
+ // if (entry.isIntersecting && this.showQuickContact) {
+ this.bottomNotIntersecting = !entry.isIntersecting;
});
- }, options);
- intersectionObserver.observe(this.bottom.nativeElement);
- this.subscriptions.push(intersectionObserver);
+ }, options);
+ intersectionObserver.observe(this.bottom.nativeElement);
+ this.subscriptions.push(intersectionObserver);
}
public ngOnDestroy() {
this.subscriptions.forEach(value => {
if (value instanceof Subscriber) {
value.unsubscribe();
+ } else if (value instanceof IntersectionObserver) {
+ value.disconnect();
}
});
this.userManagementService.clearSubscriptions();
diff --git a/src/app/openaireLibrary b/src/app/openaireLibrary
index bd87a47..d6ec928 160000
--- a/src/app/openaireLibrary
+++ b/src/app/openaireLibrary
@@ -1 +1 @@
-Subproject commit bd87a47795f8f9243e0a1129d715fcb96cf9b714
+Subproject commit d6ec928237238cf1d0bebbf2a83e915348b8e38a