feat(frontend e back-end): termini e condizioni
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user