update
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { Component } from '@angular/core';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { NavigationEnd, Router, RouterModule } from '@angular/router';
|
||||
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
||||
import { initFlowbite } from 'flowbite';
|
||||
|
||||
@Component({
|
||||
selector: 'app-footer',
|
||||
@@ -12,17 +11,62 @@ import { initFlowbite } from 'flowbite';
|
||||
templateUrl: './footer.component.html',
|
||||
styleUrl: './footer.component.scss',
|
||||
})
|
||||
export class FooterComponent {
|
||||
export class FooterComponent implements OnInit {
|
||||
privacyVisible = false;
|
||||
termsVisible = false;
|
||||
currentYear: number = new Date().getFullYear();
|
||||
isHomeRoute = false;
|
||||
|
||||
constructor(private router: Router) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.router.events.subscribe(event => {
|
||||
if (event instanceof NavigationEnd) {
|
||||
initFlowbite();
|
||||
this.isHomeRoute = event.url === '/home';
|
||||
}
|
||||
});
|
||||
|
||||
// Listen for escape key to close drawers
|
||||
document.addEventListener('keydown', event => {
|
||||
if (event.key === 'Escape') {
|
||||
this.closeDrawers();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Toggle privacy drawer
|
||||
togglePrivacy() {
|
||||
this.termsVisible = false; // Close other drawer if open
|
||||
this.privacyVisible = !this.privacyVisible;
|
||||
this.toggleBodyScroll();
|
||||
}
|
||||
|
||||
// Toggle terms drawer
|
||||
toggleTerms() {
|
||||
this.privacyVisible = false; // Close other drawer if open
|
||||
this.termsVisible = !this.termsVisible;
|
||||
this.toggleBodyScroll();
|
||||
}
|
||||
|
||||
// Close all drawers
|
||||
closeDrawers() {
|
||||
this.privacyVisible = false;
|
||||
this.termsVisible = false;
|
||||
this.toggleBodyScroll();
|
||||
}
|
||||
|
||||
// Prevent body scroll when drawer is open
|
||||
private toggleBodyScroll() {
|
||||
if (this.privacyVisible || this.termsVisible) {
|
||||
document.body.style.overflow = 'hidden';
|
||||
} else {
|
||||
document.body.style.overflow = '';
|
||||
}
|
||||
}
|
||||
|
||||
// Clean up event listener on component destroy
|
||||
ngOnDestroy() {
|
||||
document.removeEventListener('keydown', () => {});
|
||||
document.body.style.overflow = ''; // Ensure body scroll is restored
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user