fix(front-end): red write and last commit for today
All checks were successful
Build, Test and Deploy / test-backend (push) Successful in 35s
Build, Test and Deploy / build-and-push (push) Successful in 22s
Build, Test and Deploy / deploy (push) Successful in 8s

This commit is contained in:
2026-02-26 22:30:34 +01:00
parent 80a41b0cc2
commit f7ddab0e93
7 changed files with 45 additions and 5 deletions

View File

@@ -81,6 +81,11 @@
@if (items().length === 0 && form.get('itemsTouched')?.value) { @if (items().length === 0 && form.get('itemsTouched')?.value) {
<div class="error-msg">{{ 'CALC.ERR_FILE_REQUIRED' | translate }}</div> <div class="error-msg">{{ 'CALC.ERR_FILE_REQUIRED' | translate }}</div>
} }
<p class="upload-privacy-note">
{{ 'LEGAL.CONSENT.UPLOAD_NOTICE_PREFIX' | translate }}
<a href="/privacy" target="_blank" rel="noopener">{{ 'LEGAL.CONSENT.UPLOAD_NOTICE_LINK' | translate }}</a>.
</p>
</div> </div>
<div class="grid"> <div class="grid">

View File

@@ -1,4 +1,11 @@
.section { margin-bottom: var(--space-6); } .section { margin-bottom: var(--space-6); }
.upload-privacy-note {
margin-top: var(--space-3);
margin-bottom: 0;
font-size: 0.78rem;
color: var(--color-text-muted);
text-align: left;
}
.grid { .grid {
display: grid; display: grid;
grid-template-columns: 1fr; grid-template-columns: 1fr;

View File

@@ -82,6 +82,17 @@
border-radius: var(--radius-md); border-radius: var(--radius-md);
} }
.legal-consent {
margin: var(--space-4) 0 var(--space-4);
.checkbox-container {
font-size: 0.95rem;
line-height: 1.4;
align-items: flex-start;
min-height: 24px;
}
}
/* Custom Checkbox */ /* Custom Checkbox */
.checkbox-container { .checkbox-container {
display: flex; display: flex;
@@ -142,6 +153,13 @@
} }
} }
.consent-error {
margin-top: var(--space-2);
margin-left: 36px;
color: var(--color-danger-500, #ef4444);
font-size: 0.9rem;
}
.checkout-summary-section { .checkout-summary-section {
position: relative; position: relative;
} }

View File

@@ -47,7 +47,10 @@
<div class="form-group"> <div class="form-group">
<label>{{ 'CONTACT.UPLOAD_LABEL' | translate }}</label> <label>{{ 'CONTACT.UPLOAD_LABEL' | translate }}</label>
<p class="hint">{{ 'CONTACT.UPLOAD_HINT' | translate }}</p> <p class="hint">{{ 'CONTACT.UPLOAD_HINT' | translate }}</p>
<p class="hint upload-privacy-note">{{ 'LEGAL.CONSENT.UPLOAD_PRIVACY_NOTICE' | translate }}</p> <p class="hint upload-privacy-note">
{{ 'LEGAL.CONSENT.UPLOAD_NOTICE_PREFIX' | translate }}
<a href="/privacy" target="_blank" rel="noopener">{{ 'LEGAL.CONSENT.UPLOAD_NOTICE_LINK' | translate }}</a>.
</p>
<div class="drop-zone" (click)="fileInput.click()" <div class="drop-zone" (click)="fileInput.click()"
(dragover)="onDragOver($event)" (drop)="onDrop($event)"> (dragover)="onDragOver($event)" (drop)="onDrop($event)">

View File

@@ -1,6 +1,7 @@
.form-group { display: flex; flex-direction: column; margin-bottom: var(--space-4); } .form-group { display: flex; flex-direction: column; margin-bottom: var(--space-4); }
label { font-size: 0.875rem; font-weight: 500; margin-bottom: var(--space-2); color: var(--color-text); } label { font-size: 0.875rem; font-weight: 500; margin-bottom: var(--space-2); color: var(--color-text); }
.hint { font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: var(--space-2); } .hint { font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: var(--space-2); }
.upload-privacy-note { margin-top: calc(var(--space-2) * -1); font-size: 0.78rem; }
.form-control { .form-control {
padding: 0.5rem 0.75rem; padding: 0.5rem 0.75rem;
@@ -152,7 +153,7 @@ app-input.col { width: 100%; }
position: relative; position: relative;
padding-left: 36px; padding-left: 36px;
cursor: pointer; cursor: pointer;
font-size: 1rem; font-size: 0.95rem;
font-weight: 500; font-weight: 500;
user-select: none; user-select: none;
color: var(--color-text); color: var(--color-text);
@@ -214,8 +215,8 @@ app-input.col { width: 100%; }
.consent-error { .consent-error {
margin-top: var(--space-2); margin-top: var(--space-2);
margin-left: 36px; margin-left: 36px;
color: var(--color-error); color: var(--color-danger-500, #ef4444);
font-size: 0.85rem; font-size: 0.9rem;
} }
/* Success State styles moved to shared component */ /* Success State styles moved to shared component */

View File

@@ -130,6 +130,10 @@
"PRIVACY_TITLE": "Privacy Policy", "PRIVACY_TITLE": "Privacy Policy",
"TERMS_TITLE": "Terms and Conditions", "TERMS_TITLE": "Terms and Conditions",
"LAST_UPDATE": "Last update", "LAST_UPDATE": "Last update",
"CONSENT": {
"UPLOAD_NOTICE_PREFIX": "By uploading a file, you accept our",
"UPLOAD_NOTICE_LINK": "Privacy Policy"
},
"PRIVACY": { "PRIVACY": {
"SECTION_1": "1. Data Collection", "SECTION_1": "1. Data Collection",
"SECTION_2": "2. Purpose of Processing", "SECTION_2": "2. Purpose of Processing",

View File

@@ -194,7 +194,9 @@
"TERMS_LINK": "Termini e Condizioni", "TERMS_LINK": "Termini e Condizioni",
"AND": "e l'", "AND": "e l'",
"PRIVACY_LINK": "Informativa Privacy", "PRIVACY_LINK": "Informativa Privacy",
"REQUIRED_ERROR": "Per continuare devi accettare Termini e Privacy." "REQUIRED_ERROR": "Per continuare devi accettare Termini e Privacy.",
"UPLOAD_NOTICE_PREFIX": "Caricando un file accetti la nostra",
"UPLOAD_NOTICE_LINK": "Informativa Privacy"
}, },
"PRIVACY": { "PRIVACY": {
"META": { "META": {