Spaces:
Sleeping
Sleeping
| """Optional PostHog analytics. Loads only when POSTHOG_KEY is configured. | |
| POSTHOG_KEY is a public (client-side) project key, not a secret; set it as a | |
| Space *variable*. CTA clicks fire `hf_loreify_cta_clicked` with placement, | |
| generated_before_click, and device_type (wired in ctas.py). | |
| """ | |
| import json | |
| import os | |
| def analytics_head() -> str: | |
| key = os.environ.get("POSTHOG_KEY", "") | |
| if not key: | |
| return "" | |
| host = os.environ.get("POSTHOG_HOST", "https://us.i.posthog.com") | |
| return ( | |
| "<script>" | |
| "!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a)" | |
| "{function g(t,e){var o=e.split('.');2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function()" | |
| "{t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement('script'))" | |
| ".type='text/javascript',p.crossOrigin='anonymous',p.async=!0,p.src=s.api_host+'/static/array.js'," | |
| "(r=t.getElementsByTagName('script')[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?" | |
| "u=e[a]=[]:a='posthog',u.people=u.people||[],u.toString=function(t){var e='posthog';return" | |
| "'posthog'!==a&&(e+='.'+a),t||(e+=' (stub)'),e},u.people.toString=function(){return u.toString(1)" | |
| "+'.people (stub)'},o='init capture identify'.split(' '),n=0;n<o.length;n++)g(u,o[n]);" | |
| "e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);" | |
| f"posthog.init({json.dumps(key)},{{api_host:{json.dumps(host)},person_profiles:'never'}});" | |
| "</script>" | |
| ) | |