Add Profile Button

This commit is contained in:
toni
2025-12-24 14:59:11 +01:00
parent 135c7bf4ba
commit e15be9c7e3
5 changed files with 27 additions and 10 deletions
+2 -7
View File
@@ -37,6 +37,7 @@ import { provideServiceWorker } from '@angular/service-worker';
import { de } from 'date-fns/locale'; import { de } from 'date-fns/locale';
import { routes } from './app.routes'; import { routes } from './app.routes';
import { initializeApi } from './util/api'; import { initializeApi } from './util/api';
import { keycloakConfig } from './util/keycloak-config';
export const appConfig: ApplicationConfig = { export const appConfig: ApplicationConfig = {
providers: [ providers: [
@@ -49,13 +50,7 @@ export const appConfig: ApplicationConfig = {
provideBrowserGlobalErrorListeners(), provideBrowserGlobalErrorListeners(),
provideZoneChangeDetection({ eventCoalescing: true }), provideZoneChangeDetection({ eventCoalescing: true }),
provideKeycloak({ provideKeycloak({
config: { config: keycloakConfig,
url: isDevMode()
? 'http://localhost:8080/'
: 'https://keycloak.toni714.de:8443/',
realm: 'taekwondo',
clientId: 'angular-frontend',
},
initOptions: { initOptions: {
onLoad: 'check-sso', onLoad: 'check-sso',
silentCheckSsoRedirectUri: silentCheckSsoRedirectUri:
+9 -2
View File
@@ -1,7 +1,14 @@
@if(this.auth.loggedIn()){ @if(this.auth.loggedIn()){
<div class="no-print"> <div class="no-print">
<button mat-flat-button color="accent" (click)="this.auth.logout()">LogOut</button> <button mat-flat-button color="accent" (click)="this.auth.logout()">
<button mat-stroked-button color="primary" [routerLink]="['/home']">Home</button> Abmelden
</button>
<button mat-stroked-button color="primary" [routerLink]="['/home']">
Home
</button>
<button mat-stroked-button color="primary" [routerLink]="['/profile']">
Profil
</button>
</div> </div>
} }
<router-outlet></router-outlet> <router-outlet></router-outlet>
+5
View File
@@ -11,6 +11,7 @@ import { AuthGuardData, createAuthGuard } from 'keycloak-angular';
import { Login } from './components/login/login'; import { Login } from './components/login/login';
import { MissingPage } from './components/missing-page/missing-page'; import { MissingPage } from './components/missing-page/missing-page';
import { Claim } from './generated-api/api'; import { Claim } from './generated-api/api';
import { keycloakConfig } from './util/keycloak-config';
export const roles = { export const roles = {
UserAdmin: 'useradmin', UserAdmin: 'useradmin',
@@ -70,5 +71,9 @@ export const routes: Routes = [
), ),
canActivate: [requireRoles([Claim.Memberadmin])], canActivate: [requireRoles([Claim.Memberadmin])],
}, },
{
path: 'profile',
redirectTo: `${keycloakConfig.url}/realms/${keycloakConfig.realm}/account`,
},
{ path: '**', component: MissingPage }, { path: '**', component: MissingPage },
]; ];
@@ -47,7 +47,7 @@
</div> </div>
</div> </div>
<!--TODO Sorting doesnt work anymore--> <!--TODO implement row count, selecting and alternating colors-->
<table mat-table matSort [dataSource]="dataSource" class="mat-elevation-z8"> <table mat-table matSort [dataSource]="dataSource" class="mat-elevation-z8">
<ng-container matColumnDef="edit"> <ng-container matColumnDef="edit">
<th mat-header-cell *matHeaderCellDef>Bearb.</th> <th mat-header-cell *matHeaderCellDef>Bearb.</th>
@@ -0,0 +1,10 @@
import { isDevMode } from '@angular/core';
import { KeycloakServerConfig } from 'keycloak-js';
export const keycloakConfig: KeycloakServerConfig = {
url: isDevMode()
? 'http://localhost:8080'
: 'https://keycloak.toni714.de:8443',
realm: 'taekwondo',
clientId: 'angular-frontend',
};