{"version":3,"names":[],"sources":["theme-11-inline-common-head_tag-2.js"],"sourcesContent":["\n  (function() {\n    var STORAGE_KEY = 'offon_cookie_consent';\n    var BANNER_ID = 'cookie-banner-offon';\n    var GA_ID = 'G-YEYE9DFHWE';\n    var gtagLoaded = false;\n    var clickTrackingActive = false;\n\n    function isExcludedPath() {\n      var path = window.location.pathname;\n      return path.startsWith('/admin') ||\n             path.startsWith('/logs') ||\n             path.startsWith('/wizard');\n    }\n\n    // Early exit — don't run any of this on excluded paths\n    if (isExcludedPath()) return;\n\n    function getIsAdmin() {\n      try {\n        var cu = window.Discourse?.__container__?.lookup('service:current-user');\n        return !!(cu && cu.admin);\n      } catch (e) {\n        return false;\n      }\n    }\n\n    function getConsent() {\n      try {\n        var stored = localStorage.getItem(STORAGE_KEY);\n        return stored ? JSON.parse(stored) : null;\n      } catch (e) {\n        return null;\n      }\n    }\n\n    function setConsent(analytics) {\n      try {\n        localStorage.setItem(STORAGE_KEY, JSON.stringify({\n          analytics: analytics,\n          timestamp: Date.now()\n        }));\n      } catch (e) {}\n    }\n\n    function loadGtag(isAdmin) {\n      if (gtagLoaded) return;\n      gtagLoaded = true;\n\n      // Push in correct queue order: consent update → js → config → script tag\n      gtag('consent', 'update', {\n        'analytics_storage': 'granted',\n        'ad_storage': 'denied',\n        'ad_user_data': 'denied',\n        'ad_personalization': 'denied',\n        ...(isAdmin && { 'traffic_type': 'internal' })\n      });\n      gtag('js', new Date());\n      gtag('config', GA_ID, {\n        'cookie_flags': 'SameSite=None;Secure',\n        'send_page_view': true,\n        ...(isAdmin && { 'traffic_type': 'internal' })\n      });\n\n      var script = document.createElement('script');\n      script.async = true;\n      script.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA_ID;\n      document.head.appendChild(script);\n    }\n\n    function revokeConsent() {\n      gtag('consent', 'update', {\n        'analytics_storage': 'denied',\n        'ad_storage': 'denied',\n        'ad_user_data': 'denied',\n        'ad_personalization': 'denied'\n      });\n      // Clear any GA cookies left from a prior granted session\n      var expired = 'expires=Thu, 01 Jan 1970 00:00:00 GMT';\n      document.cookie.split(';').forEach(function(entry) {\n        var name = entry.split('=')[0].trim();\n        if (name.startsWith('_ga')) {\n          document.cookie = name + '=; path=/; ' + expired;\n        }\n      });\n    }\n\n    function showBanner() {\n      var banner = document.getElementById(BANNER_ID);\n      if (banner) banner.classList.add('show');\n    }\n\n    function hideBanner() {\n      var banner = document.getElementById(BANNER_ID);\n      if (banner) banner.classList.remove('show');\n    }\n\n    function setupClickTracking() {\n      if (clickTrackingActive) return;\n      clickTrackingActive = true;\n\n      document.addEventListener('click', function(e) {\n        if (typeof window.gtag !== 'function') return;\n\n        var target = e.target.closest('a, button');\n        if (!target) return;\n        if (target.closest('#' + BANNER_ID) || target.id === 'cookie-settings-btn') return;\n\n        var clickText = (target.textContent || target.innerText || 'unknown').trim().substring(0, 100);\n        var clickUrl = target.href || target.getAttribute('data-url') || 'no-url';\n        var clickElement = target.tagName.toLowerCase();\n        var clickPage = window.location.pathname;\n\n        var isExternalSameTab = target.tagName === 'A' &&\n          target.href &&\n          target.href.indexOf(window.location.origin) !== 0 &&\n          target.href.indexOf('javascript:') !== 0 &&\n          target.href.indexOf('mailto:') !== 0 &&\n          target.href.indexOf('tel:') !== 0 &&\n          (!target.target || target.target === '_self') &&\n          !e.ctrlKey && !e.metaKey && !e.shiftKey;\n\n        if (isExternalSameTab && navigator.sendBeacon) {\n          var clientId = (document.cookie.match(/_ga=GA\\d+\\.\\d+\\.(\\d+\\.\\d+)/) || [])[1] || 'unknown';\n          var params = new URLSearchParams({\n            v: '2',\n            tid: GA_ID,\n            cid: clientId,\n            en: 'click_event',\n            'ep.click_text': clickText,\n            'ep.click_url': clickUrl,\n            'ep.click_element': clickElement,\n            'ep.click_page': clickPage\n          });\n          navigator.sendBeacon('https://www.google-analytics.com/g/collect?' + params.toString());\n          return;\n        }\n\n        window.gtag('event', 'click_event', {\n          'click_text': clickText,\n          'click_url': clickUrl,\n          'click_element': clickElement,\n          'click_page': clickPage\n        });\n\n      }, true);\n    }\n\n    function init() {\n      var consent = getConsent();\n      var isAdmin = getIsAdmin();\n\n      if (consent === null) {\n        showBanner();\n      } else if (consent.analytics) {\n        loadGtag(isAdmin);\n        setupClickTracking();\n      } else {\n        revokeConsent();\n      }\n\n      var acceptBtn = document.getElementById('cookie-accept-btn');\n      var rejectBtn = document.getElementById('cookie-reject-btn');\n      var settingsBtn = document.getElementById('cookie-settings-btn');\n\n      if (acceptBtn) {\n        acceptBtn.addEventListener('click', function() {\n          setConsent(true);\n          loadGtag(getIsAdmin());\n          setupClickTracking();\n          hideBanner();\n        });\n      }\n\n      if (rejectBtn) {\n        rejectBtn.addEventListener('click', function() {\n          setConsent(false);\n          revokeConsent();\n          hideBanner();\n        });\n      }\n\n      if (settingsBtn) {\n        settingsBtn.addEventListener('click', function() {\n          showBanner();\n        });\n      }\n    }\n\n   function waitForDiscourseUser(callback) {\n  var attempts = 0;\n  var max = 20;\n  function check() {\n    try {\n      var cu = window.Discourse?.__container__?.lookup('service:current-user');\n      if (cu !== undefined || attempts >= max) {\n        callback();\n        return;\n      }\n    } catch (e) {\n      callback();\n      return;\n    }\n    attempts++;\n    setTimeout(check, 100);\n  }\n  check();\n}\n\nif (document.readyState === 'loading') {\n  document.addEventListener('DOMContentLoaded', function() {\n    waitForDiscourseUser(init);\n  });\n} else {\n  waitForDiscourseUser(init);\n}\n  })();\n"],"mappings":"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","ignoreList":[]}