feat: complete cookie consent with categories & technical processing

- Full 4-category consent modal: Necesare (locked) / Funcționale /
  Analitice / Marketing with toggle switches per category
- Banner shows simple view first; "Personalizează" opens detailed panel
- Consent stored as JSON in localStorage (cookie_consent_v2)
- window.cookieConsent object set on load; dispatches
  cookie-consent-updated / cookie-analytics-granted / cookie-marketing-granted
  CustomEvents for deferred script loading
- Floating 🍪 FAB button lets users re-open settings at any time
- Policy page: "Personalizează" button resets consent, reopens modal
- Full RO/RU translation for all categories and UI strings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 20:39:13 +00:00
parent 68f58cbcdc
commit c3e4b99d4b
5 changed files with 284 additions and 100 deletions
+27 -7
View File
@@ -155,12 +155,32 @@ return [
],
'cookie' => [
'policy_title' => 'Politica de utilizare a fișierelor cookie',
'back' => 'Înapoi',
'banner_title' => 'Utilizăm fișiere cookie',
'banner_body' => 'Folosim module cookie pentru funcționarea site-ului și îmbunătățirea experienței. Cookies strict necesare sunt utilizate fără consimțământ (Legea nr. 195/2024).',
'read_policy' => 'Politica cookie',
'accept' => 'Acceptă toate',
'reject' => 'Doar esențiale',
'policy_title' => 'Politica de utilizare a fișierelor cookie',
'back' => 'Înapoi',
'manage_title' => 'Gestionează setările cookie',
// Banner (simple view)
'banner_title' => 'Utilizăm fișiere cookie',
'banner_body' => 'Utilizăm cookie-uri pentru funcționarea site-ului și îmbunătățirea experienței dvs. Cookie-urile strict necesare nu necesită consimțământ (Legea nr. 195/2024).',
'read_policy' => 'Politica cookie',
'accept' => 'Acceptă toate',
'reject' => 'Respinge opționale',
'customize' => 'Personalizează',
// Settings modal
'settings_title' => 'Setări cookie',
'settings_body' => 'Alegeți ce categorii de cookie-uri acceptați. Puteți modifica preferințele oricând.',
'save_settings' => 'Salvează preferințele',
'always_on' => 'Întotdeauna activ',
// Categories
'cat_necessary' => 'Cookie-uri strict necesare',
'cat_necessary_desc' => 'Indispensabile pentru funcționarea corectă a site-ului: autentificare, sesiune, securitate, preferințe limbă. Nu pot fi dezactivate.',
'cat_functional' => 'Cookie-uri funcționale',
'cat_functional_desc'=> 'Permit site-ului să rețină alegerile dvs. (limbă, preferințe de afișare) pentru o experiență mai bună.',
'cat_analytics' => 'Cookie-uri analitice',
'cat_analytics_desc' => 'Ne ajută să înțelegem cum utilizați site-ul (pagini vizitate, surse de trafic) pentru a îmbunătăți serviciile. Date anonimizate.',
'cat_marketing' => 'Cookie-uri de marketing',
'cat_marketing_desc' => 'Utilizate pentru publicitate relevantă și evaluarea eficienței campaniilor. Pot fi setate de terți (Google Ads etc.).',
],
];