PageSourceSearch

https://flamy.co/_nuxt/COM_DO3c.js

js flamy.co collected 2026-09-24 12:23:16 UTC 5,436 bytes, 1 lines download raw bytes

1import{d as L,E as r,ab as s,H as i,ag as G,N as Q,a as T,aN as W,aD as Y,al as Z,o as R,q as a,a2 as t,ah as A,ae as U,v as S,as as z}from"#entry";import{_ as J,a as K}from"./7vs9RFEH.js";import{d as X}from"./D80cUg7i.js";import{b as ee}from"./D7AbGTYr.js";import{u as te}from"./BbvL-YWJ.js";import"./B7nvAQt6.js";const ne={class:"w-14 h-14 relative inline-flex items-center justify-center bg-gray-300 rounded-full avatar"},se={key:0},ae=["src"],oe=L({__name:"Avatar",props:{username:{},url:{}},setup(_){return(d,y)=>(i(),r("div",ne,[_.url?(i(),r("img",{key:1,src:_.url,alt:"avatar",class:"w-14 h-14 rounded-full"},null,8,ae)):(i(),r("p",se,s(_.username.charAt(0).toUpperCase()),1))]))}}),re=Object.assign(oe,{__name:"Avatar"}),ie={class:"w-full md:max-w-screen-md mx-auto text-black pt-6 px-6 md:px-0"},le={key:0},ce={class:"text-4xl md:text-6xl pt-6 md:pr-10"},ue={key:1,class:"px-2 py-6"},pe={class:"bg-gray-100 rounded-2xl p-2 max-w-sm flex align-top mb-6"},de={class:"relative"},me={class:"text-3xl pl-3"},_e={class:"pb-6"},fe={class:"bg-gray-100 text-black text-sm font-medium me-2 px-2.5 py-0.5 rounded ms-3"},he={class:"relative ml-8"},ge={class:"mb-10 ms-8"},ve={class:"flex items-center mb-1 text-lg font-semibold"},ye={class:"mb-4 text-base font-normal text-gray-500 dark:text-gray-400"},be={class:"mb-10 ms-8"},xe={class:"flex items-center mb-1 text-lg font-semibold"},ke={class:"mb-4 text-base font-normal text-gray-500 dark:text-gray-400"},we=["href"],$e={class:"ms-8"},Ce={class:"flex items-center mb-1 text-lg font-semibold"},Ae={class:"mb-4 text-base font-normal text-gray-500 dark:text-gray-400"},Ne=L({__name:"[id]",async setup(_){let d,y;const{copy:N,isSupported:P}=X({copiedDuring:3e3});G(ee({key:"challenge-invite",forceMeta:!0,follow:!1}));const V=Q("challenge-invite"),I=T(),{isAndroid:f,isIos:b,isApple:x}=W(),k=Y(),j=I.currentRoute.value.path.split("/"),o=j[j.length-1],m=I.currentRoute.value.query;function c(e){if(Array.isArray(e))return c(e[0]);if(typeof e!="string")return;const n=e.trim().replace(/;\/\/.*$/,"").replace(/;+$/,"");return n.length>0&&n!=="null"&&n!=="undefined"?n:void 0}const l=c(m.uid),u={utm_source:c(m.utm_source)??"flamy_app",utm_medium:c(m.utm_medium)??"referral",utm_campaign:c(m.utm_campaign)??"challenge_invite",utm_content:c(m.utm_content)??"challenge_landing"};function w(e,n){const g=new URL(e);return Object.entries(n).forEach(([C,v])=>{v&&g.searchParams.set(C,v)}),g.toString()}const h=w(`https://flamy.co/challenge-invite/${o}`,{uid:l,...u}),B=w(`https://us-central1-flamy-firebase.cloudfunctions.net/api/challenge-invite/${o}`,{storeFingerprint:"1",uid:l,...u});(b||x)&&console.log(`https://appclip.apple.com/id?p=net.offlinefirst.flamy.ChallengeAppClip&inviteId${o}`);const{data:M}=([d,y]=Z(()=>z(`https://us-central1-flamy-firebase.cloudfunctions.net/api/challenge-invite/${o}`,"$peyoYZMAo6")),d=await d,y(),d),p=S(()=>M.value??{}),O=S(()=>f?"play_store":"app_store"),q=S(()=>f?"android":b||x?"ios":"desktop");function $(){return{invite_id:String(o),has_uid:!!l,invite_status:p.value.error?"error":"valid",store:O.value,device_platform:q.value,...u}}function E(){if(f){const e=new URLSearchParams({challenge_id:String(o),deep_link:h,...u});return l&&e.set("uid",l),`https://play.google.com/store/apps/details?id=net.offlinefirst.flamy&referrer=${encodeURIComponent(e.toString())}`}else return w("https://apps.apple.com/app/flamy/id1462887052",{challenge_invite:String(o),uid:l,ct:"challenge_invite",...u})}const D=async()=>{P.value&&await N(h),k.track("Invite Store Click",$()),window.open(E(),"_blank","noopener")};function F(){k.track("Invite Challenge Opened",$())}V.value=h,R(()=>{k.track("Invite Viewed",$()),$fetch(B).catch(e=>{console.warn("challenge invite fingerprint failed",e)})});{const{gtag:e}=te();R(()=>{try{e("event","screen_view",{app_name:"Flamy Web",screen_name:"Challenge Invite",id:o,uid:l,...u})}catch(n){console.warn("Challenge invite screen tracking failed",n)}})}return(e,n)=>{const g=re,C=J,v=K;return i(),r("div",ie,[a(p).error?(i(),r("div",le,[t("h1",ce,s(a(p).error),1)])):(i(),r("div",ue,[t("div",pe,[t("div",de,[A(g,{class:"h-14",username:a(p).username??"",url:a(p).avatar},null,8,["username","url"])]),t("h1",me,s(e.$t("challenge-invite.title",{username:a(p).username??""})),1)]),t("div",_e,[t("span",fe,s(e.$t("challenge-invite.how_it_works")),1)]),t("ol",he,[t("li",ge,[n[2]||(n[2]=t("span",{class:"absolute flex items-center justify-center w-8 h-8 bg-black text-white rounded-full -start-5"},"1",-1)),t("h3",ve,s(e.$t("challenge-invite.step_1")),1),t("p",ye,s(e.$t("challenge-invite.info_1")),1),a(f)?(i(),r("div",{key:0,onClick:n[0]||(n[0]=H=>D())},[A(C)])):U("",!0),a(b)||a(x)?(i(),r("a",{key:1,onClick:n[1]||(n[1]=H=>D())},[A(v)])):U("",!0)]),t("li",be,[n[3]||(n[3]=t("span",{class:"absolute flex items-center justify-center w-8 h-8 bg-black text-white rounded-full -start-5"},"2",-1)),t("h3",xe,s(e.$t("challenge-invite.step_2")),1),t("p",ke,s(e.$t("challenge-invite.info_2")),1),t("a",{href:a(h),class:"bg-amber-200 hover:bg-amber-300 rounded-lg px-4 py-2",target:"_blank",rel:"noopener",onClick:F},s(e.$t("challenge-invite.action_open_challenge")),9,we)]),t("li",$e,[n[4]||(n[4]=t("span",{class:"absolute flex items-center justify-center w-8 h-8 bg-black text-white rounded-full -start-5"},"3",-1)),t("h3",Ce,s(e.$t("challenge-invite.step_3")),1),t("p",Ae,s(e.$t("challenge-invite.info_3")),1)])])]))])}}});
1export{Ne as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.