Fix footer at page bottom.

This commit is contained in:
Florian THIERRY
2024-06-12 12:38:42 +02:00
parent 1e18e3bc52
commit 78325c8729
8 changed files with 92 additions and 2 deletions

View File

@@ -2,3 +2,4 @@
<main> <main>
<router-outlet></router-outlet> <router-outlet></router-outlet>
</main> </main>
<app-footer></app-footer>

View File

@@ -1,9 +1,14 @@
:host { :host {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex: 1;
app-header { app-header {
width: 100%; width: 100%;
margin-bottom: 1em; }
main {
flex: 1;
padding: 1em 0;
} }
} }

View File

@@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router'; import { RouterOutlet } from '@angular/router';
import { HeaderComponent } from './components/header/header.component'; import { HeaderComponent } from './components/header/header.component';
import { FooterComponent } from './components/footer/footer.component';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
@@ -9,7 +10,8 @@ import { HeaderComponent } from './components/header/header.component';
imports: [ imports: [
CommonModule, CommonModule,
RouterOutlet, RouterOutlet,
HeaderComponent HeaderComponent,
FooterComponent
], ],
templateUrl: './app.component.html', templateUrl: './app.component.html',
styleUrl: './app.component.scss' styleUrl: './app.component.scss'

View File

@@ -0,0 +1,15 @@
<div>
<span class="copy-left">
&copy;
</span>
2027 - 2024 Tous droits réservés
&lt;version&gt;
<a [routerLink]="['healthCheck']">
<mat-icon>favorite</mat-icon>
</a>
</div>
<div>
<mat-icon>menu_book</mat-icon>
-
Développements réalisés par Florian THIERRY
</div>

View File

@@ -0,0 +1,28 @@
:host {
background-color: #3f51b5;
color: rgba(255,255,255,.6);
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
padding: .5em;
font-size: 1.1em;
div {
display: flex;
flex-direction: row;
align-items: center;
a {
text-decoration: none;
color: rgba(255,255,255,.6);
}
mat-icon {
font-size: 1em;
display: flex;
justify-content: center;
align-items: center;
}
}
}

View File

@@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FooterComponent } from './footer.component';
describe('FooterComponent', () => {
let component: FooterComponent;
let fixture: ComponentFixture<FooterComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [FooterComponent]
})
.compileComponents();
fixture = TestBed.createComponent(FooterComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@@ -0,0 +1,14 @@
import { Component } from '@angular/core';
import { MatIconModule } from '@angular/material/icon';
import { RouterModule } from '@angular/router';
@Component({
selector: 'app-footer',
standalone: true,
imports: [MatIconModule, RouterModule],
templateUrl: './footer.component.html',
styleUrl: './footer.component.scss'
})
export class FooterComponent {
}

View File

@@ -5,4 +5,6 @@ body {
margin: 0; margin: 0;
font-family: Roboto, "Helvetica Neue", sans-serif; font-family: Roboto, "Helvetica Neue", sans-serif;
background-color: #fafafa; background-color: #fafafa;
display: flex;
flex-direction: column;
} }