{"version":3,"file":"cookie_banner_controller-DgF0z4-X.js","names":[],"sources":["../../../app/javascript/entrypoints/controllers/cookie_banner_controller.js"],"sourcesContent":["// app/javascript/controllers/cookie_banner_controller.js\nimport { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"banner\"]\n\n connect() {\n if (!this.hasAcceptedCookies()) {\n this.showBanner()\n } else if (this.getCookieConsent()) {\n this.initializeTracking()\n }\n }\n\n accept() {\n this.setCookieConsent(true)\n this.hideBanner() // Déplacer avant l'initialisation\n this.setAnalyticsCookie()\n this.setFunctionalCookies()\n\n // Ajouter un délai pour l'initialisation du tracking\n setTimeout(() => {\n this.initializeTracking()\n }, 100)\n }\n\n reject() {\n this.setCookieConsent(false)\n this.removeAllCookies()\n this.hideBanner()\n }\n\n // Gestion des cookies\n setAnalyticsCookie() {\n document.cookie = '_ga_consent=true; max-age=31536000; path=/'\n document.cookie = '_gtag_consent=true; max-age=31536000; path=/'\n }\n\n setFunctionalCookies() {\n document.cookie = `user_preferences=true; max-age=31536000; path=/`\n document.cookie = `session_consent=true; max-age=31536000; path=/`\n }\n\n removeAllCookies() {\n const cookies = document.cookie.split(';')\n\n for (let cookie of cookies) {\n const cookieName = cookie.split('=')[0].trim()\n // Preserve essential cookies\n if (!['_session_id', 'csrf_token'].includes(cookieName)) {\n document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`\n }\n }\n }\n\n // Initialisation du tracking\n initializeTracking() {\n try {\n if (typeof gtag === 'function') {\n gtag('consent', 'update', {\n 'analytics_storage': 'granted',\n 'ad_storage': 'granted'\n });\n }\n this.initializeCustomTracking();\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation du tracking:', error);\n }\n }\n\n initializeCustomTracking() {\n const event = new CustomEvent('tracking:initialized', {\n detail: { consent: true }\n })\n window.dispatchEvent(event)\n }\n\n // Helpers\n showBanner() {\n this.bannerTarget.classList.remove('hidden')\n }\n\n hideBanner() {\n this.bannerTarget.classList.add('hidden')\n }\n\n hasAcceptedCookies() {\n return localStorage.getItem('cookieConsent') !== null\n }\n\n getCookieConsent() {\n return localStorage.getItem('cookieConsent') === 'true'\n }\n\n setCookieConsent(accepted) {\n localStorage.setItem('cookieConsent', accepted)\n }\n}"],"mappings":"4GAGA,EAAA,cAA6B,CAAW,CACpC,OAAO,QAAU,CAAC,SAAS,CAE3B,SAAU,CACD,KAAK,oBAAoB,CAEnB,KAAK,kBAAkB,EAC9B,KAAK,oBAAoB,CAFzB,KAAK,YAAY,CAMzB,QAAS,CACL,KAAK,iBAAiB,GAAK,CAC3B,KAAK,YAAY,CACjB,KAAK,oBAAoB,CACzB,KAAK,sBAAsB,CAG3B,eAAiB,CACb,KAAK,oBAAoB,EAC1B,IAAI,CAGX,QAAS,CACL,KAAK,iBAAiB,GAAM,CAC5B,KAAK,kBAAkB,CACvB,KAAK,YAAY,CAIrB,oBAAqB,CACjB,SAAS,OAAS,6CAClB,SAAS,OAAS,+CAGtB,sBAAuB,CACnB,SAAS,OAAS,kDAClB,SAAS,OAAS,iDAGtB,kBAAmB,CACf,IAAM,EAAU,SAAS,OAAO,MAAM,IAAI,CAE1C,IAAK,IAAI,KAAU,EAAS,CACxB,IAAM,EAAa,EAAO,MAAM,IAAI,CAAC,GAAG,MAAM,CAEzC,CAAC,cAAe,aAAa,CAAC,SAAS,EAAW,GACnD,SAAS,OAAS,GAAG,EAAW,oDAM5C,oBAAqB,CACjB,GAAI,CACI,OAAO,MAAS,YAChB,KAAK,UAAW,SAAU,CACtB,kBAAqB,UACrB,WAAc,UACjB,CAAC,CAEN,KAAK,0BAA0B,OAC1B,EAAO,CACZ,QAAQ,MAAM,+CAAiD,EAAM,EAI7E,0BAA2B,CACvB,IAAM,EAAQ,IAAI,YAAY,uBAAwB,CAClD,OAAQ,CAAE,QAAS,GAAM,CAC5B,CAAC,CACF,OAAO,cAAc,EAAM,CAI/B,YAAa,CACT,KAAK,aAAa,UAAU,OAAO,SAAS,CAGhD,YAAa,CACT,KAAK,aAAa,UAAU,IAAI,SAAS,CAG7C,oBAAqB,CACjB,OAAO,aAAa,QAAQ,gBAAgB,GAAK,KAGrD,kBAAmB,CACf,OAAO,aAAa,QAAQ,gBAAgB,GAAK,OAGrD,iBAAiB,EAAU,CACvB,aAAa,QAAQ,gBAAiB,EAAS"}