{"version":3,"file":"SafeArea.BCd02ali.mjs","names":["useState","_Fragment","_Fragment","__esmMin","init_npm_react_18_3_1","init_ssg_sandbox_shims","navigator","init_npm_react_dom_18_3_1","l","_e","Ha","p","c","J","init_jsx_runtime","ce","window","init_framer_CaDWdxiz","addPropertyControls","ControlType","RenderTarget","saveLog","keep","entries","LOG_KEY","scheduleSave","saveTimer","restoreLog","prev","clearLog","detect","q","toText","v","seen","x","el","pretty","push","msg","parts","MAX_LEN","now","MAX_ENTRIES","n","dbg","DEBUG","src","registerSnapshot","snapshots","envSnapshot","W","APS","maxVersion","ua","cookies","i","k","lsKeys","navType","safeCall","s","macroValue","props","langs","candidates","perLang","macro","lang","value","apphudSnapshot","a","out","put","f","pw","b","priceMacro","placementId","domSnapshot","id","desc","cs","r","appleId","formId","guessCurrency","price","code","runApplePayProbe","prov","S","currency","amount","index","mv","variants","pr","t","res","e","hookPaymentRequest","cmp","show","hookStripeInstance","inst","o","wrapStripe","orig","wrapped","key","opts","install","buildReport","lvl","of","url","input","method","init","interesting","ms","body","XP","open","send","u","d","current","sections","dropped","copyReport","text","ta","ok","PaywallDebugBar","on","setOn","setMsg","manual","setManual","SHOW_DEBUG_BAR","copy","share","canShare","barStyle","info","btnStyle","overlayStyle","probeRunning","init_debugLog","_define_property","obj","enrich","utm","UTM","fetchMe","attempt","API","getToken","HttpError","item","mpIdentify","isAuthError","retries","goHome","track","extra","reason","withQuery","path","params","OAUTH_PARAMS","saveReturnParams","RETURN_PARAMS_KEY","takeReturnParams","login","state","PROVIDERS","provider","qs","setRouter","clientNavigate","router","CLIENT_PATHS","routes","installAppFeel","APP_FEEL_CSS","prevent","mpTrack","mp","event","mpPage","mpIdentified","mpReset","w","page","identify","ttq","setToken","logout","init_statsfm","name","traits","message","status","PageView","mixpanelPage","style","init_PageView","withSafeAreaBottom","rest","Component","withVisibleViewportHeight","PageMinHeightFix","withVisibleViewportMinHeight","PAGE_MIN_HEIGHT_FIX","init_SafeArea"],"sources":["https:/framerusercontent.com/modules/d3qIkUZWo6pyA9acAdeB/kLu2qDpqq1DQXAgqEe0m/debugLog.js","https:/framerusercontent.com/modules/Qgs6YZ5cyVp8RJs4xU5C/Vp7WoSskq8Kjgudtnod1/statsfm.js","https:/framerusercontent.com/modules/Rm1mMUZHjIVduhmKlrQF/FOJDFCqWarkOIqCfNp7g/PageView.js","https:/framerusercontent.com/modules/q5sVBEs2qaMbe2skWsLC/tKVLhnA09C3POhsIR0mL/SafeArea.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{createPortal}from\"react-dom\";// Paywall debug logger. On only when the URL has ?debug=true (or ?apphud_debug / ?paywall_debug).\n// Collects console output, JS errors, network calls, Stripe.js calls (Stripe(), paymentRequest, canMakePayment),\n// Apphud events, Apple Pay environment checks and snapshots. \"Copy logs\" copies one text report.\n// When DEBUG is false every export is a no-op and nothing is patched.\nconst MAX_ENTRIES=5e3;const MAX_LEN=8e3;const entries=[];let dropped=0;const snapshots=[];// Entries survive reloads and page changes within the tab (sessionStorage), so a redirect does not lose them\nconst LOG_KEY=\"paywall_debug_log\";let saveTimer;function saveLog(){try{const keep=entries.slice(-1500).map(e=>e.msg.length>2e3?{...e,msg:e.msg.slice(0,2e3)+\" …\"}:e);sessionStorage.setItem(LOG_KEY,JSON.stringify(keep));}catch{}}function scheduleSave(){if(saveTimer)return;saveTimer=setTimeout(()=>{saveTimer=undefined;saveLog();},800);}function restoreLog(){try{const prev=JSON.parse(sessionStorage.getItem(LOG_KEY)||\"[]\");if(Array.isArray(prev))entries.push(...prev);}catch{}}export function clearLog(){entries.length=0;try{sessionStorage.removeItem(LOG_KEY);}catch{}}const now=()=>typeof performance!==\"undefined\"&&performance.now?performance.now():Date.now();function detect(){if(typeof window===\"undefined\")return false;try{const q=new URLSearchParams(window.location.search);if(q.get(\"debug\")===\"true\"||q.has(\"apphud_debug\")||q.has(\"paywall_debug\"))return true;// OAuth callbacks come back without our query; the login page saved it in sessionStorage\nconst saved=new URLSearchParams(sessionStorage.getItem(\"return_params\")||\"\");return saved.get(\"debug\")===\"true\";}catch{return false;}}export const DEBUG=detect();// The floating \"Copy logs\" bar. Hidden for now; logs are still collected with ?debug=true\n// and can be read in the console: copy(__paywallDebug.report())\nconst SHOW_DEBUG_BAR=false;export function toText(v,pretty=false){if(typeof v===\"string\")return v;if(v===undefined)return\"undefined\";if(typeof v===\"function\")return\"[fn \"+(v.name||\"anonymous\")+\"]\";if(v instanceof Error)return v.name+\": \"+v.message+(v.stack?\"\\n\"+v.stack:\"\");const seen=new WeakSet;try{return JSON.stringify(v,(_k,x)=>{if(x instanceof Error)return{name:x.name,message:x.message,stack:x.stack,...x};if(typeof x===\"function\")return\"[fn \"+(x.name||\"anonymous\")+\"]\";if(typeof x===\"bigint\")return x.toString();if(typeof Node!==\"undefined\"&&x instanceof Node){const el=x;return\"[\"+el.nodeName+(el.id?\"#\"+el.id:\"\")+\"]\";}if(typeof Event!==\"undefined\"&&x instanceof Event)return{type:x.type,target:String(x.target)};if(x instanceof Map)return{\"[Map]\":Array.from(x.entries())};if(x instanceof Set)return{\"[Set]\":Array.from(x)};if(x&&typeof x===\"object\"){if(seen.has(x))return\"[seen]\";seen.add(x);}return x;},pretty?2:undefined);}catch{try{return String(v);}catch{return\"[unprintable]\";}}}function push(src,parts){let msg=\"\";try{msg=parts.map(p=>toText(p)).join(\" \");}catch(e){msg=\"[format failed]\";}if(msg.length>MAX_LEN)msg=msg.slice(0,MAX_LEN)+\" …(+\"+(msg.length-MAX_LEN)+\" chars)\";entries.push({t:now(),ts:Date.now(),src,msg});scheduleSave();if(entries.length>MAX_ENTRIES){const n=entries.length-MAX_ENTRIES;entries.splice(0,n);dropped+=n;}}export function dbg(src,...parts){if(!DEBUG)return;try{push(src,parts);}catch{}}export function registerSnapshot(name,fn){if(!DEBUG)return;snapshots.push({name,fn});}const safeCall=f=>{try{return f();}catch(e){return\"threw: \"+toText(e);}};// ---------- Environment ----------\nexport function envSnapshot(){const W=window;const APS=W.ApplePaySession;let maxVersion=\"n/a\";if(APS&&typeof APS.supportsVersion===\"function\"){for(let v=20;v>=1;v--){try{if(APS.supportsVersion(v)){maxVersion=v;break;}}catch{}}}const ua=navigator.userAgent;const cookies={};try{document.cookie.split(\";\").forEach(c=>{const i=c.indexOf(\"=\");const k=c.slice(0,i).trim();if(!k)return;cookies[k]=k.indexOf(\"aph\")===0?decodeURIComponent(c.slice(i+1)):\"(set)\";});}catch{}let lsKeys=[];try{lsKeys=Object.keys(localStorage);}catch{}let navType=null;try{navType=performance.getEntriesByType(\"navigation\")[0]?.type;}catch{}return{url:location.href,referrer:document.referrer,readyState:document.readyState,navigationType:navType,userAgent:ua,language:navigator.language,languages:navigator.languages,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints,viewport:innerWidth+\"x\"+innerHeight+\" @\"+devicePixelRatio,standalone:navigator.standalone,inIframe:safeCall(()=>W.top!==W),isSecureContext:W.isSecureContext,inAppBrowserGuess:/Instagram|FBAN|FBAV|FB_IAB|TikTok|musical_ly|Bytedance|Snapchat|Line\\/|Twitter|GSA\\//i.test(ua)||null,ApplePaySession:!!APS,\"ApplePaySession.canMakePayments()\":APS?safeCall(()=>APS.canMakePayments()):\"n/a\",\"ApplePaySession max supported version\":maxVersion,PaymentRequestAPI:!!W.PaymentRequest,\"window.Stripe\":!!W.Stripe,\"Stripe.version\":safeCall(()=>W.Stripe?.version),\"window.apphud\":!!W.apphud,cookiesEnabled:navigator.cookieEnabled,cookies,localStorageKeys:lsKeys,scripts:Array.from(document.scripts).map(s=>s.src).filter(Boolean)};}// ---------- Apphud ----------\n// Mirrors the SDK getValueByPath(): properties[config.language] -> properties.en -> first language.\nexport function macroValue(props,macro){if(!props)return{found:false,reason:\"bundle has no properties\"};const langs=Object.keys(props);const candidates=[navigator.language,(navigator.language||\"\").slice(0,2),\"en\",langs[0]].filter(Boolean);const perLang={};for(const l of langs){const v=props[l];if(v&&typeof v===\"object\"&&macro in v)perLang[l]=v[macro];}let lang=\"\";let value=null;for(const l of candidates){if(props[l]&&typeof props[l]===\"object\"){lang=l;value=props[l][macro]??null;break;}}const n=typeof value===\"string\"?parseFloat(value.replace(/[^0-9.]/g,\"\")):NaN;return{macro,langs,usedLang:lang,value,parsedCents:isNaN(n)?null:Math.round(n*100),perLang};}export function apphudSnapshot(a,placementId,priceMacro){if(!a)return{present:false};const out={present:true};const put=(k,f)=>{out[k]=safeCall(f);};put(\"isInitialized\",()=>a.isInitialized);put(\"isReady\",()=>a.isReady);put(\"userID\",()=>a.getUserID?.());put(\"getApplePayStatus()\",()=>a.getApplePayStatus?.());put(\"currentPaymentProviders\",()=>Array.from(a.currentPaymentProviders?.entries?.()??[]));put(\"user.payment_providers\",()=>a.user?.payment_providers);put(\"user keys\",()=>a.user?Object.keys(a.user):null);put(\"sdk keys\",()=>Object.keys(a));put(\"placements\",()=>(a.placements||[]).map(p=>({id:p.id,identifier:p.identifier,paywalls:(p.paywalls||[]).map(pw=>({id:pw.id,identifier:pw.identifier,items:(pw.items_v2||[]).map((b,i)=>({index:i,id:b.id,name:b.name,price:priceMacro?macroValue(b.properties,priceMacro):undefined,introductory_offer:b.properties?.introductory_offer,products:b.products}))}))})));put(\"target placement (raw)\",()=>(a.placements||[]).find(p=>p.identifier===placementId));return out;}// ---------- DOM ----------\nexport function domSnapshot(formId){const q=id=>document.getElementById(id);const desc=el=>{if(!el)return null;const cs=getComputedStyle(el);const r=el.getBoundingClientRect();const p=el.parentElement;return{inlineDisplay:el.style.display,display:cs.display,visibility:cs.visibility,opacity:cs.opacity,rect:[r.x,r.y,r.width,r.height].map(Math.round),parentDisplay:p?getComputedStyle(p).display:null,childCount:el.childElementCount};};const appleId=formId+\"-apphud-apple-pay-button\";return{form:desc(q(formId+\"-apphud-stripe-payment-form\")),applePayButton:desc(q(appleId)),applePayButtonCount:document.querySelectorAll(\"#\"+appleId).length,paymentElement:desc(q(formId+\"-stripe-payment-element\")),stripeErrorText:q(formId+\"-stripe-error-message\")?.textContent??null,kitErrorText:q(formId+\"-error-message\")?.textContent??null,iframes:Array.from(document.querySelectorAll(\"iframe\")).map(f=>(f.src||\"\").split(\"?\")[0])};}// ---------- Independent Apple Pay probe ----------\nfunction guessCurrency(price){const s=price.toUpperCase();const code=s.match(/\\b[A-Z]{3}\\b/);if(code)return code[0].toLowerCase();if(s.indexOf(\"R$\")>=0)return\"brl\";if(s.indexOf(\"CA$\")>=0||s.indexOf(\"C$\")>=0)return\"cad\";if(s.indexOf(\"A$\")>=0)return\"aud\";if(s.indexOf(\"€\")>=0)return\"eur\";if(s.indexOf(\"\\xa3\")>=0)return\"gbp\";if(s.indexOf(\"₹\")>=0)return\"inr\";if(s.indexOf(\"\\xa5\")>=0)return\"jpy\";if(s.indexOf(\"ZŁ\")>=0)return\"pln\";return\"usd\";}let probeRunning=false;export async function runApplePayProbe(a,placementId,index,priceMacro){if(!DEBUG||probeRunning)return;probeRunning=true;try{const W=window;const APS=W.ApplePaySession;push(\"probe\",[\"ApplePaySession:\",!!APS,\"canMakePayments():\",APS?safeCall(()=>APS.canMakePayments()):\"n/a\"]);const prov=safeCall(()=>a?.currentPaymentProviders?.get?.(\"stripe\"))||safeCall(()=>(a?.user?.payment_providers||[]).find(p=>p.kind===\"stripe\"));push(\"probe\",[\"stripe provider:\",prov&&typeof prov===\"object\"?{id:prov.id,kind:prov.kind,name:prov.name,mode:prov.mode,identifier:prov.identifier,token:prov.token}:prov]);const S=W.Stripe;if(!S)return push(\"probe\",[\"window.Stripe is missing, probe skipped\"]);if(!prov?.token)return push(\"probe\",[\"provider has no token, probe skipped\"]);let currency=\"usd\";let amount=100;try{const b=(a.placements||[]).find(p=>p.identifier===placementId)?.paywalls?.[0]?.items_v2?.[index??0];const mv=macroValue(b?.properties,priceMacro||\"new-price\");if(mv.value){amount=mv.parsedCents||100;currency=guessCurrency(String(mv.value));}push(\"probe\",[\"price macro:\",mv,\"-> currency\",currency,\"amount\",amount]);}catch(e){push(\"probe\",[\"price lookup failed\",e]);}const variants=[{name:\"connected account (same as SDK)\",opts:{stripeAccount:prov.identifier}},{name:\"platform key without stripeAccount\",opts:{}}];for(const v of variants){try{const s=S(prov.token,v.opts);const pr=s.paymentRequest({country:\"US\",currency,total:{label:\"Debug probe\",amount}});const t=now();const r=await Promise.race([pr.canMakePayment(),new Promise(res=>setTimeout(()=>res(\"timeout after 8s\"),8e3))]);push(\"probe\",[v.name,\"-> canMakePayment() =\",r,Math.round(now()-t)+\"ms\"]);}catch(e){push(\"probe\",[v.name,\"-> threw\",e]);}}}finally{probeRunning=false;}}// ---------- Hooks (installed once, only in debug) ----------\nfunction hookPaymentRequest(r){if(!r||r.__dbg)return;r.__dbg=true;const cmp=r.canMakePayment;if(typeof cmp===\"function\"){r.canMakePayment=function(){push(\"stripe\",[\"paymentRequest.canMakePayment() called\"]);const t=now();return cmp.apply(this,arguments).then(x=>{push(\"stripe\",[\"paymentRequest.canMakePayment() =>\",x,Math.round(now()-t)+\"ms\"]);return x;},e=>{push(\"stripe\",[\"paymentRequest.canMakePayment() rejected\",e]);throw e;});};}const show=r.show;if(typeof show===\"function\"){r.show=function(){push(\"stripe\",[\"paymentRequest.show()\"]);try{return show.apply(this,arguments);}catch(e){push(\"stripe\",[\"paymentRequest.show() threw\",e]);throw e;}};}try{r.on(\"cancel\",()=>push(\"stripe\",[\"paymentRequest event: cancel\"]));}catch{}}function hookStripeInstance(inst){if(!inst||inst.__dbg)return;inst.__dbg=true;const pr=inst.paymentRequest;if(typeof pr===\"function\"){try{inst.paymentRequest=function(o){push(\"stripe\",[\"stripe.paymentRequest()\",o]);try{const r=pr.apply(this,arguments);hookPaymentRequest(r);return r;}catch(e){push(\"stripe\",[\"stripe.paymentRequest() threw\",e]);throw e;}};}catch{}}const el=inst.elements;if(typeof el===\"function\"){try{inst.elements=function(o){push(\"stripe\",[\"stripe.elements()\",o]);return el.apply(this,arguments);};}catch{}}}function wrapStripe(orig){if(typeof orig!==\"function\"||orig.__dbgWrapped)return orig;const wrapped=function(key,opts){push(\"stripe\",[\"Stripe() key:\",key,\"options:\",opts]);const inst=orig.apply(this,arguments);try{hookStripeInstance(inst);}catch(e){push(\"stripe\",[\"hook failed\",e]);}return inst;};Object.keys(orig).forEach(k=>{try{wrapped[k]=orig[k];}catch{}});try{wrapped.version=orig.version;}catch{}wrapped.__dbgWrapped=true;return wrapped;}function install(){const W=window;if(W.__paywallDebug)return;W.__paywallDebug={entries,report:()=>buildReport(),clear:clearLog};restoreLog();push(\"page\",[\"=== page load:\",location.href]);W.addEventListener(\"pagehide\",()=>saveLog());for(const lvl of[\"log\",\"info\",\"warn\",\"error\",\"debug\"]){const c=console;const orig=c[lvl];if(typeof orig!==\"function\")continue;c[lvl]=function(){try{push(\"console.\"+lvl,Array.prototype.slice.call(arguments));}catch{}return orig.apply(console,arguments);};}W.addEventListener(\"error\",e=>{if(e&&e.target&&e.target!==W){const t=e.target;push(\"resource.error\",[t.tagName,t.src||t.href||\"\"]);}else{push(\"window.error\",[e?.message,(e?.filename||\"\")+\":\"+e?.lineno+\":\"+e?.colno,e?.error]);}},true);W.addEventListener(\"unhandledrejection\",e=>push(\"unhandledrejection\",[e?.reason]));W.addEventListener(\"securitypolicyviolation\",e=>push(\"csp\",[e.violatedDirective,e.blockedURI]));document.addEventListener(\"visibilitychange\",()=>push(\"page\",[\"visibility:\",document.visibilityState]));W.addEventListener(\"pageshow\",e=>push(\"page\",[\"pageshow persisted:\",e?.persisted]));W.addEventListener(\"pagehide\",()=>push(\"page\",[\"pagehide\"]));document.addEventListener(\"DOMContentLoaded\",()=>push(\"page\",[\"DOMContentLoaded\"]));W.addEventListener(\"load\",()=>push(\"page\",[\"load\"]));// fetch\nconst of=W.fetch;if(typeof of===\"function\"){W.fetch=async function(input,init){const url=typeof input===\"string\"?input:input?.url??String(input);const method=(init?.method||input?.method||\"GET\").toUpperCase();const interesting=/apphud|stripe/i.test(url);const t=now();if(interesting)push(\"fetch\",[\"->\",method,url,typeof init?.body===\"string\"?init.body.slice(0,3e3):\"\"]);try{const res=await of.apply(this,arguments);const ms=Math.round(now()-t)+\"ms\";if(interesting){let body=\"\";try{body=(await res.clone().text()).slice(0,4e3);}catch{}push(\"fetch\",[\"<-\",res.status,method,url,ms,body]);}else{push(\"fetch\",[res.status,method,url,ms]);}return res;}catch(e){push(\"fetch\",[\"FAILED\",method,url,e]);throw e;}};}// XHR\nconst XP=W.XMLHttpRequest?.prototype;if(XP){const open=XP.open;const send=XP.send;XP.open=function(m,u){this.__dbg={m,u:String(u)};return open.apply(this,arguments);};XP.send=function(b){const d=this.__dbg;const t=now();if(d){const interesting=/apphud|stripe/i.test(d.u);if(interesting)push(\"xhr\",[\"->\",d.m,d.u,typeof b===\"string\"?b.slice(0,3e3):\"\"]);this.addEventListener(\"loadend\",()=>{let body=\"\";if(interesting){try{body=String(this.responseText||\"\").slice(0,4e3);}catch{}}push(\"xhr\",[interesting?\"<-\":\"\",this.status,d.m,d.u,Math.round(now()-t)+\"ms\",body]);});}return send.apply(this,arguments);};}// Stripe.js: wrap the global so Stripe(), paymentRequest() and canMakePayment() are logged\ntry{let current=W.Stripe?wrapStripe(W.Stripe):undefined;push(\"stripe\",[\"window.Stripe present at install:\",!!W.Stripe]);Object.defineProperty(W,\"Stripe\",{configurable:true,enumerable:true,get:()=>current,set:v=>{push(\"stripe\",[\"window.Stripe assigned, version:\",v?.version]);current=wrapStripe(v);}});}catch(e){push(\"stripe\",[\"could not hook window.Stripe\",e]);}push(\"debug\",[\"logger installed\",{apphudOnWindow:!!W.apphud,apphudInitialized:safeCall(()=>W.apphud?.isInitialized)}]);push(\"env\",[envSnapshot()]);}if(DEBUG){try{install();}catch(e){try{console.error(\"[paywall-debug] install failed\",e);}catch{}}}// ---------- Report ----------\nexport function buildReport(){const out=[];out.push(\"=== Paywall debug report ===\");out.push(\"generated: \"+new Date().toISOString()+\"   uptime: \"+Math.round(now())+\"ms\");const sections=[{name:\"environment (now)\",fn:envSnapshot},...snapshots];for(const s of sections){let v=\"\";try{v=toText(s.fn(),true);}catch(e){v=\"snapshot failed: \"+toText(e);}out.push(\"\",\"=== \"+s.name+\" ===\",v);}out.push(\"\",\"=== log (\"+entries.length+\" entries\"+(dropped?\", \"+dropped+\" oldest dropped\":\"\")+\") ===\");for(const e of entries)out.push(new Date(e.ts||Date.now()).toISOString().slice(11,23)+\" [\"+e.src+\"] \"+e.msg);return out.join(\"\\n\");}export async function copyReport(){push(\"debug\",[\"copy requested\"]);const text=buildReport();try{await navigator.clipboard.writeText(text);return{ok:true,text};}catch(e){push(\"debug\",[\"clipboard.writeText failed\",e]);}try{const ta=document.createElement(\"textarea\");ta.value=text;ta.setAttribute(\"readonly\",\"\");ta.style.cssText=\"position:fixed;top:0;left:0;opacity:0;font-size:16px;\";document.body.appendChild(ta);ta.select();ta.setSelectionRange(0,text.length);const ok=document.execCommand(\"copy\");ta.remove();if(ok)return{ok:true,text};}catch{}return{ok:false,text};}// ---------- Floating debug bar ----------\nconst barStyle={position:\"fixed\",top:\"calc(env(safe-area-inset-top, 0px) + 8px)\",left:8,zIndex:2147483647,maxWidth:\"calc(100vw - 16px)\",background:\"rgba(0,0,0,0.88)\",color:\"#7CFC7C\",border:\"1px solid #7CFC7C\",borderRadius:8,padding:8,display:\"flex\",flexDirection:\"column\",gap:6,fontFamily:\"ui-monospace, Menlo, monospace\",fontSize:11};const btnStyle={background:\"#7CFC7C\",color:\"#000\",border:\"none\",borderRadius:6,padding:\"6px 10px\",fontSize:13,fontWeight:700,cursor:\"pointer\"};const overlayStyle={position:\"fixed\",inset:0,zIndex:2147483647,background:\"rgba(0,0,0,0.92)\",padding:\"calc(env(safe-area-inset-top, 0px) + 12px) 12px 12px\",display:\"flex\",flexDirection:\"column\",gap:8};export function PaywallDebugBar({info}){const[on,setOn]=useState(false);const[msg,setMsg]=useState(\"\");const[manual,setManual]=useState(null);useEffect(()=>setOn(DEBUG&&SHOW_DEBUG_BAR),[]);if(!on||typeof document===\"undefined\")return null;const copy=async()=>{const r=await copyReport();if(r.ok)setMsg(\"Copied \"+r.text.length+\" chars\");else{setMsg(\"Copy failed: select the text manually\");setManual(r.text);}};const share=async()=>{const text=buildReport();try{await navigator.share({title:\"Paywall debug log\",text});setMsg(\"Shared\");}catch(e){push(\"debug\",[\"share failed\",e]);}};const canShare=typeof navigator!==\"undefined\"&&typeof navigator.share===\"function\";return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{style:barStyle,children:[/*#__PURE__*/_jsx(\"div\",{style:{wordBreak:\"break-all\"},children:Object.keys(info).map(k=>k+\": \"+info[k]).join(\" \\xb7 \")}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:6,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:btnStyle,onClick:copy,children:\"Copy logs\"}),canShare&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:btnStyle,onClick:share,children:\"Share\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:btnStyle,onClick:()=>setManual(buildReport()),children:\"Show\"})]}),msg&&/*#__PURE__*/_jsx(\"div\",{children:msg})]}),manual!==null&&/*#__PURE__*/_jsxs(\"div\",{style:overlayStyle,children:[/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,value:manual,onFocus:e=>e.currentTarget.select(),style:{flex:1,width:\"100%\",fontSize:11,fontFamily:\"ui-monospace, Menlo, monospace\",background:\"#111\",color:\"#ddd\",border:\"1px solid #444\",borderRadius:6,padding:8}}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:btnStyle,onClick:()=>setManual(null),children:\"Close\"})]})]}),document.body);}\nexport const __FramerMetadata__ = {\"exports\":{\"envSnapshot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"apphudSnapshot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"dbg\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaywallDebugBar\":{\"type\":\"reactComponent\",\"name\":\"PaywallDebugBar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"registerSnapshot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearLog\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"macroValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"runApplePayProbe\":{\"type\":\"function\",\"isAsync\":true,\"annotations\":{\"framerContractVersion\":\"1\"}},\"domSnapshot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"copyReport\":{\"type\":\"function\",\"isAsync\":true,\"annotations\":{\"framerContractVersion\":\"1\"}},\"toText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEBUG\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildReport\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./debugLog.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{dbg}from\"https://framerusercontent.com/modules/d3qIkUZWo6pyA9acAdeB/kLu2qDpqq1DQXAgqEe0m/debugLog.js\";export const API=\"https://api.stats.fm/api/v1\";const UTM=[\"utm_source\",\"utm_medium\",\"utm_id\",\"utm_campaign\",\"ttclid\"];const w=()=>typeof window!==\"undefined\"?window:undefined;function enrich(props){let utm={};try{utm=JSON.parse(localStorage.getItem(\"tracking_params\")||\"{}\");}catch{}return{...props,...utm,probably_organic:!UTM.some(k=>utm[k]),funnel:\"framer_mvp\"};}export const track=(name,props={})=>w()?.rudderanalytics?.track(name,enrich(props));export const page=(name,props={})=>w()?.rudderanalytics?.page(name,enrich(props));export const identify=(id,traits={})=>w()?.rudderanalytics?.identify(id,traits);export const ttq=(event,props={})=>w()?.ttq?.track(event,props);export const getToken=()=>localStorage.getItem(\"jwt_token\");export const setToken=t=>localStorage.setItem(\"jwt_token\",t);export const logout=()=>localStorage.removeItem(\"jwt_token\");export class HttpError extends Error{constructor(status,message){super(message);_define_property(this,\"status\",void 0);this.status=status;}}// Only 401/403 mean the token is bad. Network errors, requests aborted by Safari when the page\n// navigates away, and 5xx must not log the user out.\nexport const isAuthError=e=>e?.status===401||e?.status===403;export async function fetchMe(retries=2){for(let attempt=0;;attempt++){try{const r=await fetch(`${API}/me`,{headers:{Authorization:`Bearer ${getToken()}`}});if(!r.ok)throw new HttpError(r.status,`/me ${r.status}`);const item=(await r.json()).item// { id, email, displayName, customId, isPlus, spotifyAuth, appleMusicAuth }\n;if(item?.id)mpIdentify(item.id);return item;}catch(e){dbg(\"auth\",\"/me failed\",{attempt,status:e?.status??null,message:String(e?.message||e)});if(isAuthError(e)||attempt>=retries)throw e;await new Promise(res=>setTimeout(res,700*(attempt+1)));}}}/** Sends the user back to the start (login screen) and records why. */export function goHome(reason,extra={}){track(\"Auth Redirect\",{reason,from:location.pathname,...extra});dbg(\"redirect\",\"to / because:\",reason,extra);location.replace(withQuery(\"/\"));}// ---------- сохранение query-параметров (debug, utm и т.п.) ----------\nconst RETURN_PARAMS_KEY=\"return_params\";const OAUTH_PARAMS=[\"code\",\"state\",\"error\",\"error_description\"];/** Добавляет к внутреннему пути query-параметры (по умолчанию — текущие), не перезаписывая уже заданные в пути. */export function withQuery(path,params){if(typeof window===\"undefined\")return path;try{const url=new URL(path,location.origin);if(url.origin!==location.origin)return path;new URLSearchParams(params??location.search).forEach((v,k)=>{if(!OAUTH_PARAMS.includes(k)&&!url.searchParams.has(k))url.searchParams.set(k,v);});return url.pathname+url.search+url.hash;}catch{return path;}}export function saveReturnParams(){try{sessionStorage.setItem(RETURN_PARAMS_KEY,location.search);}catch{}}export function takeReturnParams(){try{const v=sessionStorage.getItem(RETURN_PARAMS_KEY)||\"\";sessionStorage.removeItem(RETURN_PARAMS_KEY);return v;}catch{return\"\";}}const PROVIDERS={spotify:{path:\"/auth/redirect/spotify\",callback:\"/spotify_callback\"},apple_music:{path:\"/auth/APPLEMUSIC/redirect\",callback:\"/apple_callback\"}};export function login(provider){track(\"Login Started\",{provider});const state=crypto.randomUUID();sessionStorage.setItem(\"oauth_state\",state);sessionStorage.setItem(\"login_started_at\",String(Date.now()));saveReturnParams();const p=PROVIDERS[provider];const qs=new URLSearchParams({redirect_uri:location.origin+p.callback,state});location.href=`${API}${p.path}?${qs}`;}// ---------- client-side navigation (Framer router) ----------\n// Components on these pages hand in Framer's router (QuizStep, AuthCallback). The site preserves\n// query params (debug, utm) on client navigation. Other pages still open with a full page load.\nlet router=null;export function setRouter(r){if(r&&typeof r.navigate===\"function\")router=r;}const CLIENT_PATHS=[\"/quiz\",\"/quiz/reveal\",\"/quiz/track\",\"/quiz/results\",\"/paywall\"];/** Opens an internal page without a reload. Returns false when that is not possible: the caller then loads the page. */export function clientNavigate(path){if(!router||!CLIENT_PATHS.includes(path))return false;const routes=router.routes||{};const id=Object.keys(routes).find(k=>routes[k]?.path===path);if(!id)return false;try{router.navigate(id,\"\");dbg(\"nav\",\"client navigation\",path);return true;}catch(e){dbg(\"nav\",\"client navigation failed\",path,e);return false;}}// ---------- native-app feel: no pinch zoom, no double-tap zoom, no long-press text selection ----------\n// Called from PageView (on every page) and below. Framer's bundler runs this module lazily, only when one of\n// its functions is first used, so a module-level call alone is not enough on pages like the login screen.\n// Not applied inside the Framer editor. Form fields stay selectable; Stripe fields are iframes and are not affected.\nconst APP_FEEL_CSS=\"html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}\"+\"body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}\"+\"img{-webkit-user-drag:none}\"+\"input,textarea,select,[contenteditable],[contenteditable] *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}\";export function installAppFeel(){if(typeof window===\"undefined\")return;const W=window;if(W.__statsfmAppFeel||/framercanvas|framer\\.com$/.test(location.hostname))return;W.__statsfmAppFeel=true;try{const s=document.createElement(\"style\");s.setAttribute(\"data-app-feel\",\"\");s.textContent=APP_FEEL_CSS;document.head.appendChild(s);// iOS Safari ignores user-scalable=no, so block the pinch gesture itself\nconst prevent=e=>e.preventDefault();document.addEventListener(\"gesturestart\",prevent,{passive:false});document.addEventListener(\"gesturechange\",prevent,{passive:false});document.addEventListener(\"touchmove\",e=>{if(e.touches.length>1)e.preventDefault();},{passive:false});dbg(\"app-feel\",\"installed\");}catch{}}installAppFeel();// ---------- Mixpanel ----------\n// Loaded and initialised in Custom Code (track_pageview: false). Only these named events are sent.\nconst mp=()=>w()?.mixpanel;export function mpTrack(event,props={}){try{mp()?.track?.(event,props);}catch{}dbg(\"mixpanel\",event,props);}/** Page View for the main screens: Onboarding, Login, Quiz, Paywall, Download */export function mpPage(page){mpTrack(\"Page View\",{page,path:typeof location!==\"undefined\"?location.pathname:\"\"});}let mpIdentified=\"\";export function mpIdentify(id){const s=String(id);if(!s||s===mpIdentified)return;mpIdentified=s;try{mp()?.identify?.(s);}catch{}}/** New Mixpanel identity, used when another stats.fm account logs in on this browser */export function mpReset(){mpIdentified=\"\";try{mp()?.reset?.();}catch{}}\nexport const __FramerMetadata__ = {\"exports\":{\"page\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Provider\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"installAppFeel\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mpPage\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ttq\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"saveReturnParams\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchMe\":{\"type\":\"function\",\"isAsync\":true,\"annotations\":{\"framerContractVersion\":\"1\"}},\"login\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"takeReturnParams\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"logout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mpTrack\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"track\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mpReset\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withQuery\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"goHome\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setRouter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isAuthError\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clientNavigate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HttpError\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mpIdentify\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"API\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"identify\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./statsfm.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{page,installAppFeel,mpPage}from\"https://framerusercontent.com/modules/Qgs6YZ5cyVp8RJs4xU5C/Vp7WoSskq8Kjgudtnod1/statsfm.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function PageView({name=\"login\",mixpanelPage=\"\",style}){useEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;installAppFeel();page(name,{path:location.pathname,url:location.href});if(mixpanelPage)mpPage(mixpanelPage);window.ttq?.page();},[]);return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{...style,pointerEvents:\"none\"}});}addPropertyControls(PageView,{name:{type:ControlType.String,title:\"Name\",defaultValue:\"login\"},// Mixpanel \"Page View\" page name; empty = not sent to Mixpanel\nmixpanelPage:{type:ControlType.String,title:\"Mixpanel Page\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PageView\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageView.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{forwardRef}from\"react\";// Framer gives the page root min-height: 100vh. On iOS Safari 100vh is the height without the browser bars,\n// so a page sized to 100dvh still scrolls by the difference (~35px). Rendered next to the viewport-sized layers,\n// so it only applies on pages that use them and is present in the server-rendered HTML.\n// #overlay is also a div inside #main; it must keep its own size\nconst PAGE_MIN_HEIGHT_FIX=\"#main > div:not(#overlay) { min-height: 100dvh !important; }\";// dangerouslySetInnerHTML: SSR escapes \">\" in text children, which breaks the selector\nconst PageMinHeightFix=()=>/*#__PURE__*/_jsx(\"style\",{\"data-page-min-height-fix\":\"\",dangerouslySetInnerHTML:{__html:PAGE_MIN_HEIGHT_FIX}});// Нижний отступ Sticky Bar: 20px + safe-area (home indicator на iOS)\nexport function withSafeAreaBottom(Component){return /*#__PURE__*/forwardRef(function SafeAreaBottom(props,ref){const{style,...rest}=props;return /*#__PURE__*/_jsx(Component,{...rest,ref:ref,style:{...style,paddingBottom:\"calc(20px + env(safe-area-inset-bottom, 0px))\"}});});}// Высота = реально видимая область браузера (на iOS Safari учитывает панели браузера)\nexport function withVisibleViewportHeight(Component){return /*#__PURE__*/forwardRef(function VisibleViewportHeight(props,ref){const{style,...rest}=props;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(PageMinHeightFix,{}),/*#__PURE__*/_jsx(Component,{...rest,ref:ref,style:{...style,height:\"100dvh\"}})]});});}// Минимальная высота = реально видимая область браузера (длинный контент по-прежнему скроллится)\nexport function withVisibleViewportMinHeight(Component){return /*#__PURE__*/forwardRef(function VisibleViewportMinHeight(props,ref){const{style,...rest}=props;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(PageMinHeightFix,{}),/*#__PURE__*/_jsx(Component,{...rest,ref:ref,style:{...style,minHeight:\"100dvh\"}})]});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withVisibleViewportHeight\":{\"type\":\"reactHoc\",\"name\":\"withVisibleViewportHeight\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSafeAreaBottom\":{\"type\":\"reactHoc\",\"name\":\"withSafeAreaBottom\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withVisibleViewportMinHeight\":{\"type\":\"reactHoc\",\"name\":\"withVisibleViewportMinHeight\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SafeArea.map"],"mappings":"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"}