diff --git a/frontend/src/app/feature/landing/landing.component.ts b/frontend/src/app/feature/landing/landing.component.ts index d2e28c0..417ac38 100644 --- a/frontend/src/app/feature/landing/landing.component.ts +++ b/frontend/src/app/feature/landing/landing.component.ts @@ -19,3 +19,4 @@ export class LandingComponent { this.keycloakService.login({ redirectUri: `${baseUrl}/home` }); } } +export class LandingPageComponent {} diff --git a/frontend/src/app/landing-page/landing-page.component.html b/frontend/src/app/landing-page/landing-page.component.html new file mode 100644 index 0000000..aa8bbd8 --- /dev/null +++ b/frontend/src/app/landing-page/landing-page.component.html @@ -0,0 +1 @@ + diff --git a/frontend/src/app/shared/components/footer/footer.component.ts b/frontend/src/app/shared/components/footer/footer.component.ts index 006a23b..1c3b309 100644 --- a/frontend/src/app/shared/components/footer/footer.component.ts +++ b/frontend/src/app/shared/components/footer/footer.component.ts @@ -1,5 +1,4 @@ -import { Component } from '@angular/core'; -import { RouterLink } from '@angular/router'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { faMoneyBillTransfer, faCreditCard, faWallet } from '@fortawesome/free-solid-svg-icons'; import { faPaypal, faGooglePay, faApplePay } from '@fortawesome/free-brands-svg-icons'; @@ -9,11 +8,11 @@ import { faPaypal, faGooglePay, faApplePay } from '@fortawesome/free-brands-svg- standalone: true, templateUrl: './footer.component.html', imports: [FontAwesomeModule], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class FooterComponent { currentYear: number = new Date().getFullYear(); - // Payment method icons faPaypal = faPaypal; faCreditCard = faCreditCard; faMoneyBillTransfer = faMoneyBillTransfer; diff --git a/frontend/src/app/shared/components/navbar/navbar.component.html b/frontend/src/app/shared/components/navbar/navbar.component.html index fa990e6..b0abbbb 100644 --- a/frontend/src/app/shared/components/navbar/navbar.component.html +++ b/frontend/src/app/shared/components/navbar/navbar.component.html @@ -15,11 +15,22 @@
@@ -67,11 +78,22 @@ >Games
- + @if (!isLoggedIn) { + + } + @if (isLoggedIn) { + + }
diff --git a/frontend/src/app/shared/components/navbar/navbar.component.ts b/frontend/src/app/shared/components/navbar/navbar.component.ts index 43053a3..eb88f52 100644 --- a/frontend/src/app/shared/components/navbar/navbar.component.ts +++ b/frontend/src/app/shared/components/navbar/navbar.component.ts @@ -1,15 +1,33 @@ -import { Component } from '@angular/core'; +import { AsyncPipe } from '@angular/common'; +import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { CommonModule } from '@angular/common'; +import { KeycloakService } from 'keycloak-angular'; @Component({ selector: 'app-navbar', templateUrl: './navbar.component.html', standalone: true, - imports: [CommonModule, RouterModule], + imports: [RouterModule, AsyncPipe], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class NavbarComponent { isMenuOpen = false; + private keycloakService: KeycloakService = inject(KeycloakService); + + isLoggedIn = this.keycloakService.isLoggedIn(); + + login() { + try { + const baseUrl = window.location.origin; + this.keycloakService.login({ redirectUri: `${baseUrl}/home` }); + } catch (error) { + console.error('Login failed:', error); + } + } + + logout() { + this.keycloakService.logout(); + } toggleMenu() { this.isMenuOpen = !this.isMenuOpen;