Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 19 additions & 112 deletions src/app/pages/legal-notice/legal-notice.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,151 +2,58 @@
display: block;
}

.legal-notice {
min-height: 100svh;
background-color: var(--color-foreground);
color: var(--color-canvas);
app-legal-page-layout {
--legal-content-min-height: 430px;
--legal-content-line-height: 1.2;
}

.legal-notice__hero {
height: 271px;
background-color: var(--color-foreground);
background-image: url('/assets/legal-notice/legal-notice-header-bg.png');
background-repeat: no-repeat;
background-position: center bottom;
background-size: 100% 100%;
color: var(--color-foreground);
}

.legal-notice__hero-inner {
display: flex;
width: min(1440px, 100%);
height: 100%;
margin-inline: auto;
padding: 0 20px 95px;
align-items: flex-end;
}

.legal-notice h1,
.legal-notice h2,
.legal-notice p {
h2,
p {
margin: 0;
}

.legal-notice h1 {
font-size: clamp(40px, 12.8vw, 48px);
font-weight: 700;
line-height: 1.2;
}

.legal-notice__page {
width: min(1440px, 100%);
margin-inline: auto;
}

.legal-notice__back {
display: inline-flex;
margin: 16px 20px 0;
align-items: center;
gap: 8px;
color: var(--color-canvas);
font-size: 18px;
font-weight: 700;
line-height: 1.2;
text-decoration: none;
}

.legal-notice__back img {
width: 24px;
height: 24px;
}

.legal-notice__back:is(:hover, :focus-visible, :active) {
color: var(--color-tertiary);
}

.legal-notice__back:focus-visible,
.legal-notice__content a:focus-visible {
border-radius: 2px;
outline: 2px solid var(--color-primary);
outline-offset: 4px;
}

.legal-notice__content {
display: flex;
width: min(1200px, calc(100% - 40px));
min-height: 430px;
margin: 20px auto 0;
flex-direction: column;
gap: 32px;
font-size: 16px;
line-height: 1.2;
}

.legal-notice__content section {
section {
display: flex;
flex-direction: column;
gap: 16px;
}

.legal-notice__content h2 {
h2 {
color: var(--color-primary);
font-size: 23px;
font-weight: 700;
line-height: 1.2;
}

.legal-notice__content address {
address {
display: flex;
flex-direction: column;
gap: 16px;
font-style: normal;
}

.legal-notice__content a {
a {
color: var(--color-primary);
overflow-wrap: anywhere;
text-underline-offset: 3px;
}

.legal-notice__updated {
margin-top: auto;
a:focus-visible {
border-radius: 2px;
outline: 2px solid var(--color-primary);
outline-offset: 4px;
}

.legal-notice app-footer {
display: block;
margin-top: 64px;
.legal-notice__updated {
margin-top: auto;
}

@media (min-width: 64rem) {
.legal-notice__hero {
height: 439px;
}

.legal-notice__hero-inner {
padding: 0 clamp(32px, 8.333vw, 120px) 176px;
app-legal-page-layout {
--legal-content-min-height: 475px;
}

.legal-notice h1 {
font-size: 64px;
line-height: 1;
}

.legal-notice__back {
display: none;
}

.legal-notice__content {
width: min(1200px, calc(100% - 64px));
min-height: 475px;
margin-top: 80px;
gap: 40px;
}

.legal-notice__content h2 {
h2 {
font-size: 24px;
}

.legal-notice app-footer {
margin-top: 80px;
}
}
76 changes: 27 additions & 49 deletions src/app/pages/legal-notice/legal-notice.html
Original file line number Diff line number Diff line change
@@ -1,53 +1,31 @@
<main class="legal-notice">
<header class="legal-notice__hero">
<div class="legal-notice__hero-inner">
<h1>Legal Notice</h1>
</div>
</header>
<app-legal-page-layout title="Legal Notice">
<section>
<h2 id="legal-information-heading">Information pursuant to § 5 DDG</h2>

<div class="legal-notice__page">
<a class="legal-notice__back" routerLink="/">
<img
src="/assets/project-detail/back-arrow.svg"
alt=""
aria-hidden="true"
draggable="false"
/>
<span>Back</span>
</a>

<article class="legal-notice__content" aria-labelledby="legal-information-heading">
<section>
<h2 id="legal-information-heading">Information pursuant to § 5 DDG</h2>

<address>
<p>
Kamyar Zamanfar<br />
KamyCoding
</p>

<p>
Alte Poststraße 14<br />
53840 Troisdorf<br />
Germany
</p>
</address>
</section>

<section>
<h2>Contact</h2>
<p>
Email:
<a href="mailto:contact@kamycoding.com">contact&#64;kamycoding.com</a>
</p>
</section>
<address>
<p>
Kamyar Zamanfar<br />
KamyCoding
</p>

<p class="legal-notice__updated">
Last updated:
<time datetime="2026-08-09">August 9, 2026</time>
<p>
Alte Poststraße 14<br />
53840 Troisdorf<br />
Germany
</p>
</article>
</address>
</section>

<section>
<h2>Contact</h2>
<p>
Email:
<a href="mailto:contact@kamycoding.com">contact&#64;kamycoding.com</a>
</p>
</section>

<app-footer theme="light" />
</div>
</main>
<p class="legal-notice__updated">
Last updated:
<time datetime="2026-08-09">August 9, 2026</time>
</p>
</app-legal-page-layout>
2 changes: 1 addition & 1 deletion src/app/pages/legal-notice/legal-notice.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ describe('LegalNotice', () => {
it('reuses the shared light footer and provides a route back home', () => {
const footer = fixture.nativeElement.querySelector('app-footer') as HTMLElement | null;
const backLink = fixture.nativeElement.querySelector(
'.legal-notice__back',
'.legal-page__back',
) as HTMLAnchorElement | null;

expect(footer?.querySelector('.site-footer--light')).not.toBeNull();
Expand Down
5 changes: 2 additions & 3 deletions src/app/pages/legal-notice/legal-notice.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { RouterLink } from '@angular/router';

import { Footer } from '../../layout/footer/footer';
import { LegalPageLayout } from '../../shared/legal-page-layout/legal-page-layout';

@Component({
selector: 'app-legal-notice',
imports: [RouterLink, Footer],
imports: [LegalPageLayout],
templateUrl: './legal-notice.html',
styleUrl: './legal-notice.css',
changeDetection: ChangeDetectionStrategy.OnPush,
Expand Down
Loading