import { ChangeDetectionStrategy, Component, OnInit, OnDestroy } from '@angular/core'; import { NavbarComponent } from '../../shared/components/navbar/navbar.component'; import { NgFor } from '@angular/common'; @Component({ selector: 'app-landing-page', standalone: true, imports: [NavbarComponent, NgFor], templateUrl: './landing.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) export class LandingComponent implements OnInit, OnDestroy { currentSlide = 0; private autoplayInterval: ReturnType | undefined; ngOnInit() { this.startAutoplay(); } ngOnDestroy() { this.stopAutoplay(); } prevSlide() { this.currentSlide = this.currentSlide === 0 ? 1 : 0; this.resetAutoplay(); } nextSlide() { this.currentSlide = this.currentSlide === 1 ? 0 : 1; this.resetAutoplay(); } goToSlide(index: number) { this.currentSlide = index; this.resetAutoplay(); } private startAutoplay() { this.autoplayInterval = setInterval(() => { this.nextSlide(); }, 5000); } private stopAutoplay() { if (this.autoplayInterval) { clearInterval(this.autoplayInterval); } } private resetAutoplay() { this.stopAutoplay(); this.startAutoplay(); } }