diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..51e555c --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,27 @@ +name: Release +on: + push: + branches: + - "main" + +env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + +permissions: + contents: read + +jobs: + release: + name: Release + runs-on: remote + permissions: + contents: write + issues: write + pull-requests: write + id-token: write + steps: + - name: Create Release + uses: https://git.kjan.de/actions/semantic-release@main + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} \ No newline at end of file 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 3a96b8f..2d53d28 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -1,6 +1,16 @@ import { Routes } from '@angular/router'; -import {LandingPageComponent} from "./landing-page/landing-page.component"; +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: '', component: LandingPageComponent } + { + path: '', + component: LandingPageComponent, + }, + { + path: 'home', + component: HomepageComponent, + canActivate: [authGuard], + } ]; diff --git a/frontend/src/app/auth.guard.ts b/frontend/src/app/auth.guard.ts index dd78a48..cb2cbe9 100644 --- a/frontend/src/app/auth.guard.ts +++ b/frontend/src/app/auth.guard.ts @@ -2,15 +2,14 @@ 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; }; 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..6a710c5 --- /dev/null +++ b/frontend/src/app/homepage/homepage/homepage.component.html @@ -0,0 +1,29 @@ + + +
+
+

Spiel Vorschau

+

Spiel Name

+ +
+
+

Spiel Vorschau

+

Spiel Name

+ +
+
+

Spiel Vorschau

+

Spiel Name

+ +
+
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..1f01382 --- /dev/null +++ b/frontend/src/app/homepage/homepage/homepage.component.ts @@ -0,0 +1,17 @@ +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, +}) +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 e69de29..aa8bbd8 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..ff25911 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(); + } } diff --git a/frontend/src/styles.css b/frontend/src/styles.css index f1d8c73..22329e3 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -1 +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; +} +.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; +} 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