diff --git a/frontend/src/app/landing-page/landing-page.component.html b/frontend/src/app/landing-page/landing-page.component.html index aa8bbd8..e69de29 100644 --- a/frontend/src/app/landing-page/landing-page.component.html +++ b/frontend/src/app/landing-page/landing-page.component.html @@ -1 +0,0 @@ - diff --git a/frontend/src/app/landing-page/landing-page.component.ts b/frontend/src/app/landing-page/landing-page.component.ts index f7509cf..6ba886f 100644 --- a/frontend/src/app/landing-page/landing-page.component.ts +++ b/frontend/src/app/landing-page/landing-page.component.ts @@ -7,12 +7,4 @@ import { KeycloakService } from 'keycloak-angular'; imports: [], templateUrl: './landing-page.component.html', }) -export class LandingPageComponent { - private keycloakService: KeycloakService = inject(KeycloakService); - - login() { - const baseUrl = window.location.origin; - - this.keycloakService.login({ redirectUri: `${baseUrl}/home` }); - } -} +export class LandingPageComponent {} 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;