diff --git a/frontend/src/app/features/calculator/components/upload-form/upload-form.component.html b/frontend/src/app/features/calculator/components/upload-form/upload-form.component.html index 4956e93..e6a9ff3 100644 --- a/frontend/src/app/features/calculator/components/upload-form/upload-form.component.html +++ b/frontend/src/app/features/calculator/components/upload-form/upload-form.component.html @@ -81,6 +81,11 @@ @if (items().length === 0 && form.get('itemsTouched')?.value) {
{{ 'CALC.ERR_FILE_REQUIRED' | translate }}
} + +

+ {{ 'LEGAL.CONSENT.UPLOAD_NOTICE_PREFIX' | translate }} + {{ 'LEGAL.CONSENT.UPLOAD_NOTICE_LINK' | translate }}. +

diff --git a/frontend/src/app/features/calculator/components/upload-form/upload-form.component.scss b/frontend/src/app/features/calculator/components/upload-form/upload-form.component.scss index b7a5d77..94fb022 100644 --- a/frontend/src/app/features/calculator/components/upload-form/upload-form.component.scss +++ b/frontend/src/app/features/calculator/components/upload-form/upload-form.component.scss @@ -1,4 +1,11 @@ .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 { display: grid; grid-template-columns: 1fr; diff --git a/frontend/src/app/features/checkout/checkout.component.scss b/frontend/src/app/features/checkout/checkout.component.scss index 5d61af1..2926f15 100644 --- a/frontend/src/app/features/checkout/checkout.component.scss +++ b/frontend/src/app/features/checkout/checkout.component.scss @@ -82,6 +82,17 @@ 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 */ .checkbox-container { 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 { position: relative; } diff --git a/frontend/src/app/features/contact/components/contact-form/contact-form.component.html b/frontend/src/app/features/contact/components/contact-form/contact-form.component.html index dd5e681..bc526d4 100644 --- a/frontend/src/app/features/contact/components/contact-form/contact-form.component.html +++ b/frontend/src/app/features/contact/components/contact-form/contact-form.component.html @@ -47,7 +47,10 @@

{{ 'CONTACT.UPLOAD_HINT' | translate }}

-

{{ 'LEGAL.CONSENT.UPLOAD_PRIVACY_NOTICE' | translate }}

+

+ {{ 'LEGAL.CONSENT.UPLOAD_NOTICE_PREFIX' | translate }} + {{ 'LEGAL.CONSENT.UPLOAD_NOTICE_LINK' | translate }}. +

diff --git a/frontend/src/app/features/contact/components/contact-form/contact-form.component.scss b/frontend/src/app/features/contact/components/contact-form/contact-form.component.scss index 6c82eed..a20e050 100644 --- a/frontend/src/app/features/contact/components/contact-form/contact-form.component.scss +++ b/frontend/src/app/features/contact/components/contact-form/contact-form.component.scss @@ -1,6 +1,7 @@ .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); } .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 { padding: 0.5rem 0.75rem; @@ -152,7 +153,7 @@ app-input.col { width: 100%; } position: relative; padding-left: 36px; cursor: pointer; - font-size: 1rem; + font-size: 0.95rem; font-weight: 500; user-select: none; color: var(--color-text); @@ -214,8 +215,8 @@ app-input.col { width: 100%; } .consent-error { margin-top: var(--space-2); margin-left: 36px; - color: var(--color-error); - font-size: 0.85rem; + color: var(--color-danger-500, #ef4444); + font-size: 0.9rem; } /* Success State styles moved to shared component */ diff --git a/frontend/src/assets/i18n/en.json b/frontend/src/assets/i18n/en.json index 0cad9a2..f71eb0b 100644 --- a/frontend/src/assets/i18n/en.json +++ b/frontend/src/assets/i18n/en.json @@ -130,6 +130,10 @@ "PRIVACY_TITLE": "Privacy Policy", "TERMS_TITLE": "Terms and Conditions", "LAST_UPDATE": "Last update", + "CONSENT": { + "UPLOAD_NOTICE_PREFIX": "By uploading a file, you accept our", + "UPLOAD_NOTICE_LINK": "Privacy Policy" + }, "PRIVACY": { "SECTION_1": "1. Data Collection", "SECTION_2": "2. Purpose of Processing", diff --git a/frontend/src/assets/i18n/it.json b/frontend/src/assets/i18n/it.json index eb97c0a..16c5740 100644 --- a/frontend/src/assets/i18n/it.json +++ b/frontend/src/assets/i18n/it.json @@ -194,7 +194,9 @@ "TERMS_LINK": "Termini e Condizioni", "AND": "e l'", "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": { "META": {