feat(frontend e back-end): termini e condizioni
All checks were successful
Build, Test and Deploy / test-backend (push) Successful in 38s
Build, Test and Deploy / build-and-push (push) Successful in 1m3s
Build, Test and Deploy / deploy (push) Successful in 11s

This commit is contained in:
2026-02-26 22:24:51 +01:00
parent 6f3e601f21
commit 80a41b0cc2
20 changed files with 504 additions and 31 deletions

View File

@@ -81,6 +81,21 @@
</div>
</div>
<div class="legal-consent">
<label>
<input type="checkbox" formControlName="acceptLegal">
<span>
{{ 'LEGAL.CONSENT.LABEL_PREFIX' | translate }}
<a href="/terms" target="_blank" rel="noopener">{{ 'LEGAL.CONSENT.TERMS_LINK' | translate }}</a>
{{ 'LEGAL.CONSENT.AND' | translate }}
<a href="/privacy" target="_blank" rel="noopener">{{ 'LEGAL.CONSENT.PRIVACY_LINK' | translate }}</a>.
</span>
</label>
<div class="consent-error" *ngIf="form.get('acceptLegal')?.invalid && form.get('acceptLegal')?.touched">
{{ 'LEGAL.CONSENT.REQUIRED_ERROR' | translate }}
</div>
</div>
<div class="actions">
<app-button
type="button"

View File

@@ -43,6 +43,34 @@
margin-top: 1.5rem;
}
.legal-consent {
margin-top: 1rem;
label {
display: flex;
align-items: flex-start;
gap: 0.6rem;
font-size: 0.95rem;
color: var(--color-text-main);
line-height: 1.4;
}
input[type='checkbox'] {
margin-top: 0.2rem;
}
a {
color: var(--color-brand);
text-decoration: underline;
}
}
.consent-error {
margin-top: 0.4rem;
color: var(--color-error);
font-size: 0.85rem;
}
// Summary Styles
.summary-content {
display: flex;

View File

@@ -30,7 +30,8 @@ export class UserDetailsComponent {
phone: ['', Validators.required],
address: ['', Validators.required],
zip: ['', Validators.required],
city: ['', Validators.required]
city: ['', Validators.required],
acceptLegal: [false, Validators.requiredTrue]
});
}