AltitudeWeb/frontend/src/app/home/home.component.ts
Teriuihi 42dd1a184c Refactor header structure
Reorganized header component to use content projection for titles and simplified input properties.
2025-04-05 20:02:51 +02:00

59 lines
1.5 KiB
TypeScript

import {Component, OnInit} from '@angular/core';
import {Title} from '@angular/platform-browser';
import {ALTITUDE_VERSION} from '../constant';
@Component({
standalone: false,
selector: 'app-home',
templateUrl: './home.component.html',
styleUrl: './home.component.scss'
})
export class HomeComponent implements OnInit {
constructor(private titleService: Title) {
}
ngOnInit(): void {
this.titleService.setTitle('Survival Minecraft Server on ' + ALTITUDE_VERSION + ' | Altitude Community');
}
private slides: string[] = ["/public/img/backgrounds/caruselimage2.png",
"/public/img/backgrounds/caruselimage4.png",
"/public/img/backgrounds/caruselimage1.png",
"/public/img/backgrounds/caruselimage5.png",
"/public/img/backgrounds/caruselimage3.png"
];
private slideIndex = 0;
get slide(): string {
return this.slides[this.slideIndex];
}
public previousSlide() {
if (this.slideIndex > 0) {
this.slideIndex--;
} else {
this.slideIndex = this.slides.length - 1;
}
}
public nextSlide() {
this.slideIndex = (this.slideIndex + 1) % this.slides.length;
}
public copyToClipboard(text: string) {
navigator.clipboard.writeText(text);
}
scrollToSection(): void {
const element = document.getElementById('scrollingpoint');
if (element) {
element.scrollIntoView({behavior: 'smooth', block: 'start'});
} else {
console.error('Element with id "scrollingpoint" not found.');
}
}
protected readonly ALTITUDE_VERSION = ALTITUDE_VERSION;
}