Footer and Cards

This commit is contained in:
marcus@weifer.de 2022-12-06 10:51:05 +01:00
parent e8600ffb9a
commit c9a3f23bdf
35 changed files with 353 additions and 51 deletions

View File

@ -3,9 +3,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="container" style="height: 100px;"></div> <div class="container" style="height: 100px;"></div>
</div> </div>
<app-cards></app-cards> <app-cards></app-cards>
</div> </div>
<div class="row">
<div class="container" style="height: 100px;"></div>
</div>
</div> </div>
<app-footer></app-footer>

View File

@ -11,6 +11,8 @@ import { CsharpComponent } from './cards/csharp/csharp.component';
import { PythonComponent } from './cards/python/python.component'; import { PythonComponent } from './cards/python/python.component';
import { AngularComponent } from './cards/angular/angular.component'; import { AngularComponent } from './cards/angular/angular.component';
import { JavaComponent } from './cards/java/java.component'; import { JavaComponent } from './cards/java/java.component';
import { AndroidComponent } from './sites/android/android.component';
import { FooterComponent } from './footer/footer.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
@ -22,7 +24,9 @@ import { JavaComponent } from './cards/java/java.component';
CsharpComponent, CsharpComponent,
PythonComponent, PythonComponent,
AngularComponent, AngularComponent,
JavaComponent JavaComponent,
AndroidComponent,
FooterComponent
], ],
imports: [ imports: [
BrowserModule, BrowserModule,

View File

@ -1,18 +1,19 @@
<div class="card p-2 my-1" style="width: auto;"> <div class="card p-2 my-1" style="width: auto;">
<div class="row"> <div class="row">
<div class="col-sm-10"> <div class="col-2 mb-2">
<h2 class="card-title">Android Apps</h2> <a href="https://marcusferl.de">
</div>
<div class="col-sm-1">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor" <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor"
class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"> class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16">
<path <path
d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" /> d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" />
</svg> </svg>
</a>
</div>
<div class="col-10 d-flex justify-content-end">
<h1>Android Apps</h1>
</div> </div>
<hr> <hr>
</div> </div>
<img src="https://marcusferl.de/wp-content/uploads/2022/12/android.png" alt="" class="card-img-bottom" <img src="https://marcusferl.de/wp-content/uploads/2022/12/android.png" alt="" class="card-img-bottom"
style="max-height: 720px;"> style="max-height: 720px;">
</div> </div>

View File

@ -1,18 +1,19 @@
<div class="card p-2 my-1" style="width: auto;"> <div class="card p-2 my-1" style="width: auto;">
<div class="row"> <div class="row">
<div class="col-sm-10"> <div class="col-2 mb-2">
<h2 class="card-title">Android Apps</h2> <a href="https://marcusferl.de">
</div>
<div class="col-sm-1">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor" <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor"
class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"> class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16">
<path <path
d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" /> d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" />
</svg> </svg>
</a>
</div> </div>
<hr> <div class="col-10 d-flex justify-content-end">
<h1>Angular</h1>
</div> </div>
<img src="https://marcusferl.de/wp-content/uploads/2022/12/angular.png" alt="" class="card-img-bottom" <hr>
</div><img src="https://marcusferl.de/wp-content/uploads/2022/12/angular.png" alt="" class="card-img-bottom"
style="max-height: 720px;"> style="max-height: 720px;">
</div> </div>

View File

@ -1,16 +1,20 @@
<div class="card p-2 my-1 bg-danger" style="width: auto;"> <div class="card p-2 my-1" style="width: auto;">
<div class="row"> <div class="row">
<div class="col-sm-10"> <div class="col-2 mb-2">
<h2 class="card-title">C#</h2> <a href="https://marcusferl.de">
</div>
<div class="col-sm-1">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor" <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor"
class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"> class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16">
<path <path
d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" /> d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" />
</svg> </svg>
</a>
</div> </div>
<div class="col-10 d-flex justify-content-end">
<h1>C#</h1>
</div>
<hr> <hr>
</div> </div>
<img src="https://marcusferl.de/wp-content/uploads/2022/12/pngegg.png" alt="" class="card-img-bottom"> <img src="https://marcusferl.de/wp-content/uploads/2022/12/pngegg.png" alt="" class="card-img-bottom">
</div> </div>

View File

@ -1,18 +1,19 @@
<div class="card p-2 my-1" style="width: auto;"> <div class="card p-2 my-1" style="width: auto;">
<div class="row"> <div class="row">
<div class="col-sm-10"> <div class="col-2 mb-2">
<h2 class="card-title">Android Apps</h2> <a href="https://marcusferl.de">
</div>
<div class="col-sm-1">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor" <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor"
class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"> class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16">
<path <path
d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" /> d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" />
</svg> </svg>
</a>
</div>
<div class="col-10 d-flex justify-content-end">
<h1>Java</h1>
</div> </div>
<hr> <hr>
</div> </div>
<img src="https://marcusferl.de/wp-content/uploads/2022/12/java.png" alt="" class="card-img-bottom" <img src="https://marcusferl.de/wp-content/uploads/2022/12/java.png" alt="" class="card-img-bottom"
style="max-height: 720px;"> style="max-height: 720px;">
</div> </div>

View File

@ -1,15 +1,18 @@
<div class="card p-2 my-1 bg-danger" style="width: auto;"> <div class="card p-2 my-1" style="width: auto;">
<div class="row"> <div class="row">
<div class="col-sm-10"> <div class="col-2 mb-2">
<h2 class="card-title">Python</h2> <a href="https://marcusferl.de">
</div>
<div class="col-sm-1">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor" <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" fill="currentColor"
class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"> class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16">
<path <path
d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" /> d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" />
</svg> </svg>
</a>
</div> </div>
<div class="col-10 d-flex justify-content-end">
<h1>Python</h1>
</div>
<hr> <hr>
</div> </div>
<img src="https://marcusferl.de/wp-content/uploads/2022/12/python.png" alt="" class="card-img-bottom"> <img src="https://marcusferl.de/wp-content/uploads/2022/12/python.png" alt="" class="card-img-bottom">

View File

@ -0,0 +1,6 @@
.footer-custom {
border-top: 5px solid rgb(225, 213, 213);
height: 78px;
padding: auto;
}

View File

@ -0,0 +1,8 @@
<footer class="bg-dark fixed-bottom text-center text-lg-start text-light footer-custom">
<!-- Copyright -->
<div class="text-center p-3" style="background-color: rgba(0, 0, 0, 0.2);">
© 2022 Copyright:
<a class="text-light" href="https://marcusferl.de/">Marcus Ferl</a>
</div>
<!-- Copyright -->
</footer>

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({
declarations: [ FooterComponent ]
})
.compileComponents();
fixture = TestBed.createComponent(FooterComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-footer',
templateUrl: './footer.component.html',
styleUrls: ['./footer.component.css']
})
export class FooterComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

View File

@ -0,0 +1 @@
<p>about-me works!</p>

View File

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

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-about-me',
templateUrl: './about-me.component.html',
styleUrls: ['./about-me.component.css']
})
export class AboutMeComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

View File

@ -0,0 +1 @@
<p>android works!</p>

View File

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

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-android',
templateUrl: './android.component.html',
styleUrls: ['./android.component.css']
})
export class AndroidComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

View File

@ -0,0 +1 @@
<p>angular works!</p>

View File

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

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-angular',
templateUrl: './angular.component.html',
styleUrls: ['./angular.component.css']
})
export class AngularComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

View File

@ -0,0 +1 @@
<p>csharp works!</p>

View File

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

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-csharp',
templateUrl: './csharp.component.html',
styleUrls: ['./csharp.component.css']
})
export class CsharpComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

View File

View File

@ -0,0 +1 @@
<p>java works!</p>

View File

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

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-java',
templateUrl: './java.component.html',
styleUrls: ['./java.component.css']
})
export class JavaComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

View File

@ -0,0 +1 @@
<p>python works!</p>

View File

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

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-python',
templateUrl: './python.component.html',
styleUrls: ['./python.component.css']
})
export class PythonComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}