🔐 Added admin footer to redirect to administration panel
continuous-integration/drone/push Build is passing Details

timeline
Alix JEUDI--LEMOINE 1 week ago
parent 7fedd381c8
commit 6f2d0de9c2

@ -2,3 +2,5 @@
<app-home-navbar *ngIf="!localStorageService.getToken()"></app-home-navbar> <app-home-navbar *ngIf="!localStorageService.getToken()"></app-home-navbar>
<router-outlet /> <router-outlet />
<app-admin-footer *ngIf="localStorageService.getIsAdmin() === 'true'"></app-admin-footer>

@ -4,10 +4,11 @@ import { RouterOutlet } from '@angular/router';
import { HomeNavbarComponent } from './components/home-navbar/home-navbar.component'; import { HomeNavbarComponent } from './components/home-navbar/home-navbar.component';
import { NavbarComponent } from './components/navbar/navbar.component'; import { NavbarComponent } from './components/navbar/navbar.component';
import { LocalStorageService } from './services/local-storage/local-storage.service'; import { LocalStorageService } from './services/local-storage/local-storage.service';
import { AdminFooterComponent } from './components/admin-footer/admin-footer.component';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
imports: [RouterOutlet, NavbarComponent, HomeNavbarComponent, CommonModule], imports: [RouterOutlet, NavbarComponent, HomeNavbarComponent, CommonModule, AdminFooterComponent],
templateUrl: './app.component.html', templateUrl: './app.component.html',
}) })
export class AppComponent { export class AppComponent {

@ -0,0 +1,9 @@
<div class="fixed bottom-0 left-0 w-full bg-gray-900 dark:bg-gray-900 border-t border-gray-700 dark:border-gray-700">
<div class="container mx-auto px-4 py-2">
<div class="flex justify-center items-center">
<a href="https://administration.memorymap.fr" class="text-m text-gray-300 dark:text-gray-300 hover:text-white dark:hover:text-white transition-colors duration-200">
Accès panneau d'administration
</a>
</div>
</div>
</div>

@ -0,0 +1,11 @@
import { Component } from '@angular/core';
import { RouterLink } from '@angular/router';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-admin-footer',
imports: [CommonModule, RouterLink],
templateUrl: './admin-footer.component.html',
styleUrl: './admin-footer.component.css'
})
export class AdminFooterComponent { }

@ -69,6 +69,7 @@ export class LoginPageComponent {
next: (response) => { next: (response) => {
this.localStorageService.setToken(response.access_token); this.localStorageService.setToken(response.access_token);
this.localStorageService.setUsername(this.user.login); this.localStorageService.setUsername(this.user.login);
this.localStorageService.setIsAdmin(response.is_admin);
this.closeLoginModal(); this.closeLoginModal();
setTimeout(() => { setTimeout(() => {
this.router.navigate(['/map']); this.router.navigate(['/map']);

@ -151,6 +151,7 @@ export class NavbarComponent implements OnInit {
public logout() { public logout() {
this.localStorageService.removeToken(); this.localStorageService.removeToken();
this.localStorageService.removeUsername(); this.localStorageService.removeUsername();
this.localStorageService.removeIsAdmin();
this.router.navigate(['/']); this.router.navigate(['/']);
} }
} }

@ -8,6 +8,7 @@ import { ModalService } from '../modal/modal.service';
export class LocalStorageService { export class LocalStorageService {
private readonly AUTH_TOKEN_KEY = 'auth_token'; private readonly AUTH_TOKEN_KEY = 'auth_token';
private readonly USERNAME_KEY = 'username'; private readonly USERNAME_KEY = 'username';
private readonly IS_ADMIN_KEY = 'isAdmin';
constructor(private router: Router, private modalService: ModalService) {} constructor(private router: Router, private modalService: ModalService) {}
@ -47,4 +48,16 @@ export class LocalStorageService {
removeToken(): void { removeToken(): void {
localStorage.removeItem(this.AUTH_TOKEN_KEY); localStorage.removeItem(this.AUTH_TOKEN_KEY);
} }
setIsAdmin(isAdmin: boolean): void {
localStorage.setItem(this.IS_ADMIN_KEY, isAdmin.toString());
}
getIsAdmin(): string | null {
return localStorage.getItem(this.IS_ADMIN_KEY);
}
removeIsAdmin(): void {
localStorage.removeItem(this.IS_ADMIN_KEY);
}
} }

Loading…
Cancel
Save