feat: enhance notification page and start components with new layout and styling
This commit is contained in:
parent
5e2aca14a9
commit
515e7b3dd8
@ -3,6 +3,7 @@ button {
|
|||||||
color: var(--primary-text-color);
|
color: var(--primary-text-color);
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
padding: 1rem 3rem;
|
padding: 1rem 3rem;
|
||||||
border: none;
|
border: none;
|
||||||
border-color: var(--primary-background-color);
|
border-color: var(--primary-background-color);
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
a, div {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--primary-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover, div:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
color: var(--primary-background-color-hover);
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<a *ngIf="href" [href]="href">{{ text }}</a>
|
||||||
|
<div *ngIf="!href">{{ text }}</div>
|
@ -0,0 +1,23 @@
|
|||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { TextLinkComponent } from './text-link.component';
|
||||||
|
|
||||||
|
describe('TextLinkComponent', () => {
|
||||||
|
let component: TextLinkComponent;
|
||||||
|
let fixture: ComponentFixture<TextLinkComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
imports: [TextLinkComponent]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(TextLinkComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
15
frontend/src/app/atomic/text-link/text-link.component.ts
Normal file
15
frontend/src/app/atomic/text-link/text-link.component.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import {Component, Input} from '@angular/core';
|
||||||
|
import {NgIf} from "@angular/common";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'atomic-text-link',
|
||||||
|
imports: [
|
||||||
|
NgIf
|
||||||
|
],
|
||||||
|
templateUrl: './text-link.component.html',
|
||||||
|
styleUrl: './text-link.component.css'
|
||||||
|
})
|
||||||
|
export class TextLinkComponent {
|
||||||
|
@Input({required: true}) text!: string;
|
||||||
|
@Input() href: string = '';
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
img {
|
img {
|
||||||
max-width: 25rem;
|
max-width: 25rem;
|
||||||
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
@ -8,6 +9,27 @@ img {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
height: 100%;
|
justify-items: center;
|
||||||
|
height: 85vh;
|
||||||
padding: 0 1.5rem;
|
padding: 0 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
row-gap: 1.3rem;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-container > atomic-text-link {
|
||||||
|
font-size: 1.3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.back-button-container {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
@ -1,11 +1,15 @@
|
|||||||
|
<div class="back-button-container">
|
||||||
|
<atomic-text-link id="back-button" [text]="'< Zurück'" [routerLink]="''"></atomic-text-link>
|
||||||
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<button [routerLink]="''">< Back</button>
|
|
||||||
<img src="public/assets/chat_bubbles.png" alt="Chat Bubbles"/>
|
<img src="public/assets/chat_bubbles.png" alt="Chat Bubbles"/>
|
||||||
<h1>Erhalte Mitteilungen</h1>
|
<h1>Erhalte Mitteilungen</h1>
|
||||||
<p>Du erhältst z. B. eine Mitteilung sobald wir eine Digitale Spur gefunden haben.</p>
|
<p>Du erhältst z. B. eine Mitteilung sobald wir eine Digitale Spur gefunden haben.</p>
|
||||||
<p>Die Mitteilungen kannst du jederzeit wieder deaktivieren.</p>
|
<p>Die Mitteilungen kannst du jederzeit wieder deaktivieren.</p>
|
||||||
|
<div class="button-container">
|
||||||
<atomic-text-button [text]="'Mitteilungen erhalten'" [routerLink]="'/onboarding/registration'"></atomic-text-button>
|
<atomic-text-button [text]="'Mitteilungen erhalten'"
|
||||||
<button [routerLink]="''">Später</button>
|
[routerLink]="'/onboarding/registration'"></atomic-text-button>
|
||||||
|
<atomic-text-link [text]="'Später'" [routerLink]="'/onboarding/registration'"></atomic-text-link>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
@ -1,12 +1,14 @@
|
|||||||
import {Component} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {RouterLink} from "@angular/router";
|
import {RouterLink} from "@angular/router";
|
||||||
import {TextButtonComponent} from "../../../atomic/text-button/text-button.component";
|
import {TextButtonComponent} from "../../../atomic/text-button/text-button.component";
|
||||||
|
import {TextLinkComponent} from "../../../atomic/text-link/text-link.component";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-notification',
|
selector: 'app-notification',
|
||||||
imports: [
|
imports: [
|
||||||
RouterLink,
|
RouterLink,
|
||||||
TextButtonComponent
|
TextButtonComponent,
|
||||||
|
TextLinkComponent
|
||||||
],
|
],
|
||||||
templateUrl: './notification.component.html',
|
templateUrl: './notification.component.html',
|
||||||
styleUrl: './notification.component.css'
|
styleUrl: './notification.component.css'
|
||||||
|
@ -6,8 +6,11 @@ p {
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
atomic-text-button {
|
.button-container {
|
||||||
margin-top: 4rem;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
row-gap: 1.3rem;
|
||||||
|
margin-top: 3rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 25rem;
|
max-width: 25rem;
|
||||||
}
|
}
|
||||||
@ -18,16 +21,24 @@ ul {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
column-gap: 1rem;
|
column-gap: 1rem;
|
||||||
margin-top: 01rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
li > a {
|
.login-container {
|
||||||
text-decoration: none;
|
display: flex;
|
||||||
color: var(--primary-background-color);
|
flex-direction: row;
|
||||||
|
column-gap: 1rem;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
justify-items: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
li > a:hover {
|
.login-container > p {
|
||||||
color: var(--primary-background-color-hover);
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login-button {
|
||||||
|
font-size: 1.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
@ -36,6 +47,14 @@ li > a:hover {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
height: 100%;
|
height: 100vh;
|
||||||
padding: 0 1.5rem;
|
padding: 0 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.terms-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
color: var(--primary-text-color);
|
||||||
|
}
|
@ -2,16 +2,25 @@
|
|||||||
|
|
||||||
<img src="public/assets/digitaler-frieden_logo.svg" alt="Logo Digitaler Frieden"/>
|
<img src="public/assets/digitaler-frieden_logo.svg" alt="Logo Digitaler Frieden"/>
|
||||||
|
|
||||||
<h1>Hallo. Digitale Spuren entfernen per Knopfdruck.</h1>
|
<h1>Hallo. Digitale Spuren entfernen per Knopfdruck.</h1>
|
||||||
<p>Mit uns finden Sie Ihre Digitalen Spuren und können diese entfernen.</p>
|
<p>Mit uns finden Sie Ihre Digitalen Spuren und können diese entfernen.</p>
|
||||||
|
|
||||||
<atomic-text-button [text]="'Weiter'" [routerLink]="'/onboarding/notification'"></atomic-text-button>
|
<div class="button-container">
|
||||||
<button [routerLink]="'login'">Login</button>
|
<atomic-text-button [text]="'Weiter'" [routerLink]="'/onboarding/notification'"></atomic-text-button>
|
||||||
<p>Mit der weiteren Nutzung stimmst du folgenden Bedingungen zu:</p>
|
<div class="login-container">
|
||||||
<ul>
|
<p>Du hast bereits ein Konto?</p>
|
||||||
<li>
|
<atomic-text-link id="login-button" [text]="'Login'" [routerLink]="'login'"></atomic-text-link>
|
||||||
<a href="#">AGB</a>
|
</div>
|
||||||
</li>
|
</div>
|
||||||
<li><a href="#">Datenschutzerklärung</a></li>
|
<div class="terms-container">
|
||||||
</ul>
|
<p>Mit der weiteren Nutzung stimmst du folgenden Bedingungen zu:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<atomic-text-link [text]="'AGB'" [routerLink]="'agb'"></atomic-text-link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<atomic-text-link [text]="'Datenschutzerklärung'" [routerLink]="'datenschutz'"></atomic-text-link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
import {Component} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {TextButtonComponent} from "../../../atomic/text-button/text-button.component";
|
import {TextButtonComponent} from "../../../atomic/text-button/text-button.component";
|
||||||
import {RouterLink} from "@angular/router";
|
import {RouterLink} from "@angular/router";
|
||||||
|
import {TextLinkComponent} from "../../../atomic/text-link/text-link.component";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-start',
|
selector: 'app-start',
|
||||||
imports: [
|
imports: [
|
||||||
TextButtonComponent,
|
TextButtonComponent,
|
||||||
RouterLink
|
RouterLink,
|
||||||
|
TextLinkComponent
|
||||||
],
|
],
|
||||||
templateUrl: './start.component.html',
|
templateUrl: './start.component.html',
|
||||||
styleUrl: './start.component.css'
|
styleUrl: './start.component.css'
|
||||||
|
@ -5,3 +5,12 @@
|
|||||||
--primary-background-color-hover: rgba(33, 140, 116, 1.0);
|
--primary-background-color-hover: rgba(33, 140, 116, 1.0);
|
||||||
--primary-text-color: rgba(255, 255, 255, 1.0);
|
--primary-text-color: rgba(255, 255, 255, 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
max-width: clamp(320px, 90%, 1000px);
|
||||||
|
/* additional recommendation */
|
||||||
|
margin: auto;
|
||||||
|
padding-top: 1rem;
|
||||||
|
/*font-size: 1.25rem;*/
|
||||||
|
line-height: 1.25;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user