From bbbf0a94733c9e613e54c6939a9d1df5a2a3c5a9 Mon Sep 17 00:00:00 2001 From: Lea Date: Wed, 12 Feb 2025 08:50:46 +0100 Subject: [PATCH 01/18] homepage skeleton --- backend/SampleRequests.http | 0 frontend/src/app/app.routes.ts | 7 ++++ .../homepage/homepage/homepage.component.css | 0 .../homepage/homepage/homepage.component.html | 35 +++++++++++++++++++ .../homepage/homepage.component.spec.ts | 23 ++++++++++++ .../homepage/homepage/homepage.component.ts | 20 +++++++++++ 6 files changed, 85 insertions(+) create mode 100644 backend/SampleRequests.http create mode 100644 frontend/src/app/homepage/homepage/homepage.component.css create mode 100644 frontend/src/app/homepage/homepage/homepage.component.html create mode 100644 frontend/src/app/homepage/homepage/homepage.component.spec.ts create mode 100644 frontend/src/app/homepage/homepage/homepage.component.ts diff --git a/backend/SampleRequests.http b/backend/SampleRequests.http new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index 3a96b8f..ce6d45a 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -1,6 +1,13 @@ import { Routes } from '@angular/router'; import {LandingPageComponent} from "./landing-page/landing-page.component"; +import {HomepageComponent} from "./homepage/homepage/homepage.component"; export const routes: Routes = [ + { + path: 'home', + component: HomepageComponent + }, + { path: '', component: LandingPageComponent } ]; + diff --git a/frontend/src/app/homepage/homepage/homepage.component.css b/frontend/src/app/homepage/homepage/homepage.component.css new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/app/homepage/homepage/homepage.component.html b/frontend/src/app/homepage/homepage/homepage.component.html new file mode 100644 index 0000000..c0b2cc7 --- /dev/null +++ b/frontend/src/app/homepage/homepage/homepage.component.html @@ -0,0 +1,35 @@ + + + +
+
+

Spiel Vorschau

+

Spiel Name

+ +
+
+

Spiel Vorschau

+

Spiel Name

+ +
+
+

Spiel Vorschau

+

Spiel Name

+ +
+
diff --git a/frontend/src/app/homepage/homepage/homepage.component.spec.ts b/frontend/src/app/homepage/homepage/homepage.component.spec.ts new file mode 100644 index 0000000..8d5e4db --- /dev/null +++ b/frontend/src/app/homepage/homepage/homepage.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomepageComponent } from './homepage.component'; + +describe('HomepageComponent', () => { + let component: HomepageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [HomepageComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(HomepageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/homepage/homepage/homepage.component.ts b/frontend/src/app/homepage/homepage/homepage.component.ts new file mode 100644 index 0000000..0b720e5 --- /dev/null +++ b/frontend/src/app/homepage/homepage/homepage.component.ts @@ -0,0 +1,20 @@ +import {ChangeDetectionStrategy, Component} from '@angular/core'; + +@Component({ + selector: 'app-homepage', + standalone: true, + imports: [], + templateUrl: './homepage.component.html', + styleUrl: './homepage.component.css', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class HomepageComponent { + + onLogout() { + //TODO implement + } + + openUserInfo() { + //TODO implement + } +} From f5ae0e358cd1f83f6276c7f45a46ebf83bfabce7 Mon Sep 17 00:00:00 2001 From: Lea Date: Wed, 12 Feb 2025 10:21:41 +0100 Subject: [PATCH 02/18] finished homepage skeleton --- .../homepage/homepage/homepage.component.css | 1 + .../homepage/homepage/homepage.component.html | 21 +++++++++---------- frontend/src/styles.css | 9 ++++++++ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/frontend/src/app/homepage/homepage/homepage.component.css b/frontend/src/app/homepage/homepage/homepage.component.css index e69de29..8b13789 100644 --- a/frontend/src/app/homepage/homepage/homepage.component.css +++ b/frontend/src/app/homepage/homepage/homepage.component.css @@ -0,0 +1 @@ + diff --git a/frontend/src/app/homepage/homepage/homepage.component.html b/frontend/src/app/homepage/homepage/homepage.component.html index c0b2cc7..301581a 100644 --- a/frontend/src/app/homepage/homepage/homepage.component.html +++ b/frontend/src/app/homepage/homepage/homepage.component.html @@ -3,33 +3,32 @@
-
-
- - -
-
+ +
+

Spiel Vorschau

Spiel Name

- +
-
+

Spiel Vorschau

Spiel Name

- +
-
+

Spiel Vorschau

Spiel Name

- +
diff --git a/frontend/src/styles.css b/frontend/src/styles.css index f1d8c73..ecb1a02 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -1 +1,10 @@ @import "tailwindcss"; + + +.btn-primary { + @apply px-4 py-2 cursor-pointer relative font-bold rounded-lg transition-all duration-300 ease-out transform-gpu hover:scale-105 will-change-transform bg-gradient-to-r from-emerald-500 to-emerald-400 text-black hover:shadow-xl hover:shadow-emerald-500/20 +} +.btn-secondary { + @apply px-4 py-2 cursor-pointer relative font-bold rounded-lg transition-all duration-300 ease-out transform-gpu hover:scale-105 will-change-transform bg-white/10 text-white hover:bg-white/20 +} + From b010d49752cfc680fddee6025f7b73e0a8d9de1c Mon Sep 17 00:00:00 2001 From: Lea Date: Wed, 12 Feb 2025 10:26:28 +0100 Subject: [PATCH 03/18] deleted sample request file --- backend/SampleRequests.http | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 backend/SampleRequests.http diff --git a/backend/SampleRequests.http b/backend/SampleRequests.http deleted file mode 100644 index e69de29..0000000 From 7d4cfe179415590485246c03f309b8b4143baea5 Mon Sep 17 00:00:00 2001 From: Lea Date: Wed, 12 Feb 2025 10:31:12 +0100 Subject: [PATCH 04/18] removed not used stuff --- .../homepage/homepage/homepage.component.css | 1 - .../homepage/homepage/homepage.component.html | 4 ++-- .../homepage/homepage.component.spec.ts | 23 ------------------- .../homepage/homepage/homepage.component.ts | 8 ------- 4 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 frontend/src/app/homepage/homepage/homepage.component.css delete mode 100644 frontend/src/app/homepage/homepage/homepage.component.spec.ts diff --git a/frontend/src/app/homepage/homepage/homepage.component.css b/frontend/src/app/homepage/homepage/homepage.component.css deleted file mode 100644 index 8b13789..0000000 --- a/frontend/src/app/homepage/homepage/homepage.component.css +++ /dev/null @@ -1 +0,0 @@ - diff --git a/frontend/src/app/homepage/homepage/homepage.component.html b/frontend/src/app/homepage/homepage/homepage.component.html index 301581a..6377831 100644 --- a/frontend/src/app/homepage/homepage/homepage.component.html +++ b/frontend/src/app/homepage/homepage/homepage.component.html @@ -3,12 +3,12 @@
-
-
diff --git a/frontend/src/app/homepage/homepage/homepage.component.spec.ts b/frontend/src/app/homepage/homepage/homepage.component.spec.ts deleted file mode 100644 index 8d5e4db..0000000 --- a/frontend/src/app/homepage/homepage/homepage.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HomepageComponent } from './homepage.component'; - -describe('HomepageComponent', () => { - let component: HomepageComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [HomepageComponent] - }) - .compileComponents(); - - fixture = TestBed.createComponent(HomepageComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/homepage/homepage/homepage.component.ts b/frontend/src/app/homepage/homepage/homepage.component.ts index 0b720e5..e0a1147 100644 --- a/frontend/src/app/homepage/homepage/homepage.component.ts +++ b/frontend/src/app/homepage/homepage/homepage.component.ts @@ -5,16 +5,8 @@ import {ChangeDetectionStrategy, Component} from '@angular/core'; standalone: true, imports: [], templateUrl: './homepage.component.html', - styleUrl: './homepage.component.css', changeDetection: ChangeDetectionStrategy.OnPush }) export class HomepageComponent { - onLogout() { - //TODO implement - } - - openUserInfo() { - //TODO implement - } } From f31a959ec540e25676120f2c245bf75672ba5eac Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Feb 2025 10:45:42 +0100 Subject: [PATCH 05/18] build: add Gitea release workflow configuration --- .gitea/workflows/release.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .gitea/workflows/release.yml diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..1e33a46 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,25 @@ +name: Release +on: + push: + +env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + +permissions: + contents: read # for checkout + +jobs: + release: + name: Release + runs-on: ubuntu-latest + permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance + steps: + - name: Create Release + uses: https://git.kjan.de/actions/semantic-release@main + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} From ab9598950a4cb975b1625e46044c5b8604902a62 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Feb 2025 10:47:23 +0100 Subject: [PATCH 06/18] build: add release configuration for semantic release --- .gitea/workflows/release.yml | 2 +- release.config.cjs | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 release.config.cjs diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 1e33a46..7246d23 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -22,4 +22,4 @@ jobs: uses: https://git.kjan.de/actions/semantic-release@main with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} \ No newline at end of file diff --git a/release.config.cjs b/release.config.cjs new file mode 100644 index 0000000..e09738f --- /dev/null +++ b/release.config.cjs @@ -0,0 +1,15 @@ +module.exports = { + + branches: ['main'], + plugins: [ + '@semantic-release/commit-analyzer', + '@semantic-release/release-notes-generator', + '@semantic-release/changelog', + ["@saithodev/semantic-release-gitea", { + "giteaUrl": "https://git.simonis.lol" + }], + ], + }; + + + \ No newline at end of file From 25ff804b76c09ebbab1e0b25c59770b06660dcb6 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Feb 2025 10:49:45 +0100 Subject: [PATCH 07/18] ci: add master branch trigger for release workflow --- .gitea/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 7246d23..1a4732d 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -1,6 +1,8 @@ name: Release on: push: + branches: + - "master" env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} From 774e55c6a6cc34eb55919e7456b5124d76123970 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Feb 2025 10:50:51 +0100 Subject: [PATCH 08/18] ci: change runner to remote in release workflow --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 1a4732d..9d7d6a2 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -13,7 +13,7 @@ permissions: jobs: release: name: Release - runs-on: ubuntu-latest + runs-on: remote permissions: contents: write # to be able to publish a GitHub release issues: write # to be able to comment on released issues From f4541c5d865c8b778441b11ffb85b33041c0f1a3 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Feb 2025 10:51:57 +0100 Subject: [PATCH 09/18] ci: update branch name in release workflow config --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 9d7d6a2..d449485 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -2,7 +2,7 @@ name: Release on: push: branches: - - "master" + - "main" env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} From 94ac9bd491268d8485243c984cdebd685365cfda Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Feb 2025 10:52:49 +0100 Subject: [PATCH 10/18] style(release.yml): format permissions section in YAML --- .gitea/workflows/release.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index d449485..51e555c 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -8,17 +8,17 @@ env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} permissions: - contents: read # for checkout + contents: read jobs: release: name: Release runs-on: remote permissions: - contents: write # to be able to publish a GitHub release - issues: write # to be able to comment on released issues - pull-requests: write # to be able to comment on released pull requests - id-token: write # to enable use of OIDC for npm provenance + contents: write + issues: write + pull-requests: write + id-token: write steps: - name: Create Release uses: https://git.kjan.de/actions/semantic-release@main From fa30fc330507e8342026b4c34334b915a4002012 Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 09:00:18 +0100 Subject: [PATCH 11/18] Protect homepage with keycloak --- frontend/src/app/app.routes.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index ce6d45a..2dcf135 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -1,13 +1,17 @@ -import { Routes } from '@angular/router'; +import {Routes} from '@angular/router'; import {LandingPageComponent} from "./landing-page/landing-page.component"; import {HomepageComponent} from "./homepage/homepage/homepage.component"; +import {authGuard} from "./auth.guard"; export const routes: Routes = [ { - path: 'home', - component: HomepageComponent + path: '', + component: LandingPageComponent, + }, + { + path: 'home', + component: HomepageComponent, + canActivate: [authGuard], }, - - { path: '', component: LandingPageComponent } ]; From f10de66c12ba017cd79e71c6377f613b4a1b77fc Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 09:22:20 +0100 Subject: [PATCH 12/18] Refactor auth guard --- frontend/src/app/auth.guard.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/auth.guard.ts b/frontend/src/app/auth.guard.ts index dd78a48..0cd16be 100644 --- a/frontend/src/app/auth.guard.ts +++ b/frontend/src/app/auth.guard.ts @@ -1,16 +1,15 @@ -import { CanActivateFn } from '@angular/router'; -import { inject } from '@angular/core'; -import { KeycloakService } from 'keycloak-angular'; +import {CanActivateFn} from '@angular/router'; +import {inject} from '@angular/core'; +import {KeycloakService} from 'keycloak-angular'; -export const authGuard: CanActivateFn = async (route, state) => { +export const authGuard: CanActivateFn = async () => { const keycloakService = inject(KeycloakService); - const isLoggedIn = keycloakService.isLoggedIn(); if (isLoggedIn) { return true; - } else { - keycloakService.login(); - return false; } + + keycloakService.login(); + return false; }; From 53f21a220f6bc75ab15535ecb7a05ff6b2fc8759 Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 09:27:41 +0100 Subject: [PATCH 13/18] Add logout and login functionality --- frontend/src/app/landing-page/landing-page.component.html | 1 + frontend/src/app/landing-page/landing-page.component.ts | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/landing-page/landing-page.component.html b/frontend/src/app/landing-page/landing-page.component.html index e69de29..06f5418 100644 --- a/frontend/src/app/landing-page/landing-page.component.html +++ b/frontend/src/app/landing-page/landing-page.component.html @@ -0,0 +1 @@ + diff --git a/frontend/src/app/landing-page/landing-page.component.ts b/frontend/src/app/landing-page/landing-page.component.ts index ed8aba1..7ea8521 100644 --- a/frontend/src/app/landing-page/landing-page.component.ts +++ b/frontend/src/app/landing-page/landing-page.component.ts @@ -1,4 +1,5 @@ -import { Component } from '@angular/core'; +import {Component, inject} from '@angular/core'; +import {KeycloakService} from "keycloak-angular"; @Component({ selector: 'app-landing-page', @@ -7,5 +8,9 @@ import { Component } from '@angular/core'; templateUrl: './landing-page.component.html', }) export class LandingPageComponent { + private keycloakService: KeycloakService = inject(KeycloakService); + login() { + this.keycloakService.login(); + } } From dc993b287954a6e35e918b99eacf49eec9d1e00b Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 09:38:31 +0100 Subject: [PATCH 14/18] Add alerts --- frontend/src/app/landing-page/landing-page.component.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/landing-page/landing-page.component.ts b/frontend/src/app/landing-page/landing-page.component.ts index 7ea8521..56b9183 100644 --- a/frontend/src/app/landing-page/landing-page.component.ts +++ b/frontend/src/app/landing-page/landing-page.component.ts @@ -11,6 +11,10 @@ export class LandingPageComponent { private keycloakService: KeycloakService = inject(KeycloakService); login() { - this.keycloakService.login(); + this.keycloakService.login() + .catch(error => { + alert("Error: Unable to redirect to login page. Please try again later."); + console.error('Error redirecting to login:', error); + }); } } From c3f9ba7bcada69d2bb072ddfa16cb11529333ce9 Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 09:41:05 +0100 Subject: [PATCH 15/18] Add nested route config for authentication --- frontend/src/app/app.routes.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index 2dcf135..97623db 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -9,9 +9,14 @@ export const routes: Routes = [ component: LandingPageComponent, }, { - path: 'home', - component: HomepageComponent, + path: '**', canActivate: [authGuard], - }, + children: [ + { + path: 'home', + component: HomepageComponent, + }, + ] + } ]; From f6bcc1be11bc4b1de34d9a6e722a98c00d8e6b9b Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 10:46:48 +0100 Subject: [PATCH 16/18] Prettier and rebase --- frontend/src/app/app.config.ts | 6 +++++- frontend/src/app/app.routes.ts | 13 ++++++------- frontend/src/app/auth.guard.ts | 6 +++--- .../app/homepage/homepage/homepage.component.html | 9 ++------- .../src/app/homepage/homepage/homepage.component.ts | 9 +++++++-- .../app/landing-page/landing-page.component.html | 2 +- .../src/app/landing-page/landing-page.component.ts | 10 +++------- frontend/src/styles.css | 8 +++----- 8 files changed, 30 insertions(+), 33 deletions(-) diff --git a/frontend/src/app/app.config.ts b/frontend/src/app/app.config.ts index 6fd038e..e7761ba 100644 --- a/frontend/src/app/app.config.ts +++ b/frontend/src/app/app.config.ts @@ -1,4 +1,8 @@ -import { APP_INITIALIZER, ApplicationConfig, provideExperimentalZonelessChangeDetection } from '@angular/core'; +import { + APP_INITIALIZER, + ApplicationConfig, + provideExperimentalZonelessChangeDetection, +} from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index 97623db..132b0da 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -1,7 +1,7 @@ -import {Routes} from '@angular/router'; -import {LandingPageComponent} from "./landing-page/landing-page.component"; -import {HomepageComponent} from "./homepage/homepage/homepage.component"; -import {authGuard} from "./auth.guard"; +import { Routes } from '@angular/router'; +import { LandingPageComponent } from './landing-page/landing-page.component'; +import { HomepageComponent } from './homepage/homepage/homepage.component'; +import { authGuard } from './auth.guard'; export const routes: Routes = [ { @@ -16,7 +16,6 @@ export const routes: Routes = [ path: 'home', component: HomepageComponent, }, - ] - } + ], + }, ]; - diff --git a/frontend/src/app/auth.guard.ts b/frontend/src/app/auth.guard.ts index 0cd16be..cb2cbe9 100644 --- a/frontend/src/app/auth.guard.ts +++ b/frontend/src/app/auth.guard.ts @@ -1,6 +1,6 @@ -import {CanActivateFn} from '@angular/router'; -import {inject} from '@angular/core'; -import {KeycloakService} from 'keycloak-angular'; +import { CanActivateFn } from '@angular/router'; +import { inject } from '@angular/core'; +import { KeycloakService } from 'keycloak-angular'; export const authGuard: CanActivateFn = async () => { const keycloakService = inject(KeycloakService); diff --git a/frontend/src/app/homepage/homepage/homepage.component.html b/frontend/src/app/homepage/homepage/homepage.component.html index 6377831..6a710c5 100644 --- a/frontend/src/app/homepage/homepage/homepage.component.html +++ b/frontend/src/app/homepage/homepage/homepage.component.html @@ -1,16 +1,11 @@ - diff --git a/frontend/src/app/homepage/homepage/homepage.component.ts b/frontend/src/app/homepage/homepage/homepage.component.ts index e0a1147..1f01382 100644 --- a/frontend/src/app/homepage/homepage/homepage.component.ts +++ b/frontend/src/app/homepage/homepage/homepage.component.ts @@ -1,12 +1,17 @@ -import {ChangeDetectionStrategy, Component} from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; +import { KeycloakService } from 'keycloak-angular'; @Component({ selector: 'app-homepage', standalone: true, imports: [], templateUrl: './homepage.component.html', - changeDetection: ChangeDetectionStrategy.OnPush + changeDetection: ChangeDetectionStrategy.OnPush, }) export class HomepageComponent { + private keycloakService: KeycloakService = inject(KeycloakService); + logout() { + this.keycloakService.logout(); + } } diff --git a/frontend/src/app/landing-page/landing-page.component.html b/frontend/src/app/landing-page/landing-page.component.html index 06f5418..f1cfa47 100644 --- a/frontend/src/app/landing-page/landing-page.component.html +++ b/frontend/src/app/landing-page/landing-page.component.html @@ -1 +1 @@ - + diff --git a/frontend/src/app/landing-page/landing-page.component.ts b/frontend/src/app/landing-page/landing-page.component.ts index 56b9183..ff25911 100644 --- a/frontend/src/app/landing-page/landing-page.component.ts +++ b/frontend/src/app/landing-page/landing-page.component.ts @@ -1,5 +1,5 @@ -import {Component, inject} from '@angular/core'; -import {KeycloakService} from "keycloak-angular"; +import { Component, inject } from '@angular/core'; +import { KeycloakService } from 'keycloak-angular'; @Component({ selector: 'app-landing-page', @@ -11,10 +11,6 @@ export class LandingPageComponent { private keycloakService: KeycloakService = inject(KeycloakService); login() { - this.keycloakService.login() - .catch(error => { - alert("Error: Unable to redirect to login page. Please try again later."); - console.error('Error redirecting to login:', error); - }); + this.keycloakService.login(); } } diff --git a/frontend/src/styles.css b/frontend/src/styles.css index ecb1a02..22329e3 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -1,10 +1,8 @@ -@import "tailwindcss"; - +@import 'tailwindcss'; .btn-primary { - @apply px-4 py-2 cursor-pointer relative font-bold rounded-lg transition-all duration-300 ease-out transform-gpu hover:scale-105 will-change-transform bg-gradient-to-r from-emerald-500 to-emerald-400 text-black hover:shadow-xl hover:shadow-emerald-500/20 + @apply px-4 py-2 cursor-pointer relative font-bold rounded-lg transition-all duration-300 ease-out transform-gpu hover:scale-105 will-change-transform bg-gradient-to-r from-emerald-500 to-emerald-400 text-black hover:shadow-xl hover:shadow-emerald-500/20; } .btn-secondary { - @apply px-4 py-2 cursor-pointer relative font-bold rounded-lg transition-all duration-300 ease-out transform-gpu hover:scale-105 will-change-transform bg-white/10 text-white hover:bg-white/20 + @apply px-4 py-2 cursor-pointer relative font-bold rounded-lg transition-all duration-300 ease-out transform-gpu hover:scale-105 will-change-transform bg-white/10 text-white hover:bg-white/20; } - From 4b9574ac965b6e428c1575359562e9d68d7f190b Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 10:54:47 +0100 Subject: [PATCH 17/18] fix: fix routing --- frontend/src/app/app.routes.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index 132b0da..2d53d28 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -9,13 +9,8 @@ export const routes: Routes = [ component: LandingPageComponent, }, { - path: '**', + path: 'home', + component: HomepageComponent, canActivate: [authGuard], - children: [ - { - path: 'home', - component: HomepageComponent, - }, - ], - }, + } ]; From 13769e0df5f536a45381789ae54c403fda964462 Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Wed, 12 Feb 2025 10:56:21 +0100 Subject: [PATCH 18/18] fix: Translate login to german --- frontend/src/app/landing-page/landing-page.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/landing-page/landing-page.component.html b/frontend/src/app/landing-page/landing-page.component.html index f1cfa47..aa8bbd8 100644 --- a/frontend/src/app/landing-page/landing-page.component.html +++ b/frontend/src/app/landing-page/landing-page.component.html @@ -1 +1 @@ - +