feat(web): multiple feature
Some checks failed
Build, Test and Deploy / build-and-push (push) Has been cancelled
Build, Test and Deploy / test-backend (push) Successful in 23s
Build, Test and Deploy / deploy (push) Has been cancelled

This commit is contained in:
2026-02-09 18:54:06 +01:00
parent 05e1c224f0
commit f0e0f57e7c
20 changed files with 293 additions and 23 deletions

View File

@@ -0,0 +1,12 @@
import { Routes } from '@angular/router';
export const LEGAL_ROUTES: Routes = [
{
path: 'privacy',
loadComponent: () => import('./privacy/privacy.component').then(m => m.PrivacyComponent)
},
{
path: 'terms',
loadComponent: () => import('./terms/terms.component').then(m => m.TermsComponent)
}
];

View File

@@ -0,0 +1,17 @@
<section class="legal-page">
<div class="container narrow">
<h1>{{ 'LEGAL.PRIVACY_TITLE' | translate }}</h1>
<div class="content">
<p class="intro">{{ 'LEGAL.LAST_UPDATE' | translate }}: February 2026</p>
<h2>{{ 'LEGAL.PRIVACY.SECTION_1' | translate }}</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h2>{{ 'LEGAL.PRIVACY.SECTION_2' | translate }}</h2>
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h2>{{ 'LEGAL.PRIVACY.SECTION_3' | translate }}</h2>
<p>Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris.</p>
</div>
</div>
</section>

View File

@@ -0,0 +1,37 @@
.legal-page {
padding: 6rem 0;
min-height: 70vh;
.narrow {
max-width: 800px;
margin: 0 auto;
}
h1 {
font-size: 3rem;
margin-bottom: 3rem;
color: var(--color-text-main);
}
h2 {
font-size: 1.5rem;
margin-top: 2.5rem;
margin-bottom: 1rem;
color: var(--color-text-main);
}
.intro {
color: var(--color-text-muted);
font-size: 0.9rem;
margin-bottom: 2rem;
}
.content {
line-height: 1.8;
color: var(--color-text-main);
p {
margin-bottom: 1.5rem;
}
}
}

View File

@@ -0,0 +1,11 @@
import { Component } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core';
@Component({
selector: 'app-privacy',
standalone: true,
imports: [TranslateModule],
templateUrl: './privacy.component.html',
styleUrl: './privacy.component.scss'
})
export class PrivacyComponent {}

View File

@@ -0,0 +1,18 @@
<section class="legal-page">
<div class="container narrow">
<h1>{{ 'LEGAL.TERMS_TITLE' | translate }}</h1>
<div class="content">
<p class="intro">{{ 'LEGAL.LAST_UPDATE' | translate }}: February 2026</p>
<h2>{{ 'LEGAL.TERMS.SECTION_1' | translate }}</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h2>{{ 'LEGAL.TERMS.SECTION_2' | translate }}</h2>
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<h2>{{ 'LEGAL.TERMS.SECTION_3' | translate }}</h2>
<p>I prodotti personalizzati e realizzati su misura tramite stampa 3D non sono soggetti al diritto di recesso, a meno di difetti di fabbricazione evidenti o errori rispetto al file fornito.</p>
<p>In caso di problemi, vi preghiamo di contattarci entro 14 giorni dalla ricezione per valutare una sostituzione o un rimborso parziale.</p>
</div>
</div>
</section>

View File

@@ -0,0 +1,37 @@
.legal-page {
padding: 6rem 0;
min-height: 70vh;
.narrow {
max-width: 800px;
margin: 0 auto;
}
h1 {
font-size: 3rem;
margin-bottom: 3rem;
color: var(--color-text-main);
}
h2 {
font-size: 1.5rem;
margin-top: 2.5rem;
margin-bottom: 1rem;
color: var(--color-text-main);
}
.intro {
color: var(--color-text-muted);
font-size: 0.9rem;
margin-bottom: 2rem;
}
.content {
line-height: 1.8;
color: var(--color-text-main);
p {
margin-bottom: 1.5rem;
}
}
}

View File

@@ -0,0 +1,11 @@
import { Component } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core';
@Component({
selector: 'app-terms',
standalone: true,
imports: [TranslateModule],
templateUrl: './terms.component.html',
styleUrl: './terms.component.scss'
})
export class TermsComponent {}