1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DD2Wax1k.js","./BbzuaxXb.js","./DCH-kk0_.js","./entry.Dhc1Mdfs.css","./AppLoader.Bd8g1Fpg.css","./CPPqxSe1.js","./8EyAu65e.js","./CDNAb3jY.js","./lQNc42SZ.js","./Bti-I0f8.js","./Bpe5rnk0.js","./CZ_Gsw3K.js","./E8nz7N-9.js","./C_g6PjNv.js","./CVh1vVFz.js","./CQqK7a2D.js","./EymbBqmh.js","./UpgradeGateWidget.DOdx22bB.css","./DgO4xpSJ.js","./useAdShareLink.zHZtVUzy.css","./ChJe1PaG.js","./DP2gcdg9.js","./useAdReachHistoryChart.DIZbichH.css","./DNnsPhZi.js","./ILnkWP9i.js","./B-Jr9WU5.js","./Dzv5nGGw.js","./D4RkItJw.js","./DrawerShell.D_kqBUtk.css","./DlUa9J12.js","./BTBozEz0.js","./WmD2re27.js","./BsC51BPG.js","./CqrxqX_b.js","./AdDetailDrawer.l66gXWFQ.css","./CawKEfZB.js","./nybtf5i8.js","./UrdJ3G7H.js","./1SVM7nR8.js","./D23l-Eit.js","./C2m24VNr.js","./ByVAGH2d.js","./CBN1Ss7c.js","./DsWgamXl.js","./Ci0E4rSa.js","./FilterDropdown.DJhzSyAq.css","./BlVLTMRC.js","./AdCard.CLRymk3u.css","./BYAncsRD.js","./9VxYx0Mn.js","./xt3Y5gTH.js","./HV3N4_4i.js","./CN2Srehd.js","./CpI8q_7c.js","./CxocDVx3.js","./Cv15j3Uz.js","./CNQUZG9E.js","./BxvrJBmS.js","./SpyDrawer.DVuysYHE.css","./D5WyEhcA.js","./Cho2a6s4.js","./bqYcJiDF.js","./BFey235K.js","./SC5wLRZs.js","./CMGc7LGc.js","./FavoriteStarButton.ChGBpchA.css","./AdOverlay.BIJQ0R7i.css"])))=>i.map(i=>d[i]); 2import{aS as nn,ba as Pt,bb as an,R as rn,bc as Lt,w as xe,aM as St,e as He,f as p,r as Re,Y as Xe,a as Bt,G as T,g as Ye,v as Ze,z as Je,o as a,c as s,j as f,i as w,_ as Pe,n as U,k as r,a1 as ln,m as e,aF as Vt,t as h,Z as fe,l as L,h as V,p as ae,am as at,a2 as je,$ as J,a0 as oe,S as De,T as ct,az as Ct,U as ut,ay as We,al as Ut,ar as $t,J as yt,a3 as qe,a4 as Nt,aL as on,y as It,ax as sn,aN as un,ac as rt,aZ as lt,F as ot,aP as zt,aQ as cn,ae as dn,u as pn,b as fn,a_ as mn,aD as st}from"./DCH-kk0_.js";import{_ as qt}from"./CBN1Ss7c.js";import{A as Qe}from"./Bpe5rnk0.js";import{_ as _t}from"./CPPqxSe1.js";import{_ as Qt}from"./BbzuaxXb.js";import{c as nt,f as Ke,e as vn,b as ft}from"./CQqK7a2D.js";import{s as hn}from"./CMGc7LGc.js";import{_ as xn}from"./CN2Srehd.js";import{_ as Yt}from"./P1of9iPb.js";import{_ as gn}from"./bqYcJiDF.js";import{A as Gt}from"./BlVLTMRC.js";import{u as yn}from"./AqtHATO2.js";import{_ as bt}from"./CDNAb3jY.js";import{u as _n,H as bn}from"./CzJyZv11.js";import{_ as wn}from"./CNDWo7oV.js";import{_ as kn}from"./Cdqw1TYq.js";import{n as Ot}from"./CNQUZG9E.js";import{u as An}from"./Dzv5nGGw.js";import{u as Sn}from"./D96_67Ka.js";import{u as Cn}from"./E8nz7N-9.js";import"./Bti-I0f8.js";import"./BFey235K.js";import"./SC5wLRZs.js";import"./C_g6PjNv.js";import"./ChJe1PaG.js";import"./DP2gcdg9.js";import"./CVh1vVFz.js";import"./ILnkWP9i.js";import"./CZ_Gsw3K.js";import"./EymbBqmh.js";import"./DNnsPhZi.js";import"./BTBozEz0.js";function $n(o,m,y={}){const v=o.get();let c=null,O=v,$;const d=typeof v=="string"?v.replace(/[\d.-]/g,""):void 0,g=()=>{c&&(c.stop(),c=null),o.animation=void 0},I=()=>{const _=Ft(o.get()),x=Ft(O);if(_===x){g();return}const k=c?c.getGeneratorVelocity():o.getVelocity();g(),c=new an({keyframes:[_,x],velocity:k,type:"spring",restDelta:.001,restSpeed:.01,...y,onUpdate:$})},z=()=>{I(),o.animation=c??void 0,o.events.animationStart?.notify(),c?.then(()=>{o.animation=void 0,o.events.animationComplete?.notify()})};if(o.attach((_,x)=>{O=_,$=k=>x(mt(k,d)),nn.postRender(z)},g),Pt(m)){let _=y.skipInitialAnimation===!0;const x=m.on("change",D=>{_?(_=!1,o.jump(mt(D,d),!1)):o.set(mt(D,d))}),k=o.on("destroy",x);return()=>{x(),k()}}return g}function mt(o,m){return m?o+m:o}function Ft(o){return typeof o=="number"?o:parseFloat(o)}function In(o,m,y){const v=o.on(m,y);return rn(()=>{v()}),v}function zn(o,m={}){const y=Lt(Pt(o)?o.get():o);return xe(()=>St(m),(v,c,O)=>{const $=$n(y,o,{type:"spring",...St(m)});O(()=>{$?.()})},{immediate:!0}),y}const gt="home.search.aiExamples";function On(o,m){return!!o&&o!==m&&!o.startsWith(`${gt}.`)}function Wt(){const{t:o,tm:m,locale:y}=He(),v=p(()=>{y.value;const O=d=>{const g=`${gt}.${d}`,I=o(g);return On(I,g)?I:""};try{const d=m(gt);if(Array.isArray(d)&&d.length>0)return d.map((g,I)=>typeof g=="string"?g:O(I)).filter(g=>!!g)}catch{}const $=[];for(let d=0;d<32;d++){const g=O(d);if(!g)break;$.push(g)}return $});function c(O){const $=[...v.value];if(!$.length)return[];const d=Math.min(O,$.length);for(let g=$.length-1;g>0;g--){const I=Math.floor(Math.random()*(g+1)),z=$[g];$[g]=$[I],$[I]=z}return $.slice(0,d)}return{examples:v,pickRandom:c}}const Fn={class:"relative flex-1 min-w-0"},Mn={key:0,class:"pointer-events-none absolute inset-0 flex items-center overflow-hidden","aria-hidden":"true"},Tn={class:"opacity-60"},Dn={key:0,class:"whitespace-nowrap text-[13px] font-semibold tracking-tight"},Rn={class:"flex size-7 shrink-0 items-center justify-center rounded-[8px] bg-primary-light text-primary"},En={class:"min-w-0"},Hn={class:"flex items-center gap-1.5 text-[12px] font-semibold leading-tight text-text-primary"},jn={class:"rounded-full bg-primary px-1.5 py-0.5 text-[10px] font-bold leading-none text-white"},Pn={class:"mt-0.5 block text-[10px] leading-tight text-text-muted"},Ln={key:0,class:"flex items-center justify-center gap-2.5 py-10"},Bn={class:"text-[13px] text-text-muted"},Vn={class:"grid grid-cols-3 divide-x divide-border-light"},Un={class:"flex items-center gap-2 px-4 pb-1.5 pt-3.5 text-[10px] font-semibold uppercase tracking-[0.08em] text-text-muted"},Nn={class:"flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-full border border-primary/25 bg-primary/10"},qn=["src","alt"],Qn={key:1,class:"text-[11px] font-bold text-primary"},Yn={class:"min-w-0 flex-1"},Gn={class:"block truncate text-[13px] font-medium leading-snug text-text-primary"},Wn={key:0,class:"mt-0.5 block truncate text-[11px] text-text-muted"},Kn={class:"flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-[7px] border border-border-control bg-surface"},Xn=["src","alt"],Zn={class:"min-w-0 flex-1"},Jn={class:"block truncate text-[13px] font-medium leading-snug text-text-primary"},ea={key:0,class:"mt-0.5 block truncate text-[11px] text-text-muted"},ta={class:"flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-[7px] border border-border-control bg-surface"},na=["src","alt"],aa={class:"min-w-0 flex-1"},ra={class:"block truncate text-[13px] font-medium leading-snug text-text-primary"},la={key:0,class:"mt-0.5 block truncate text-[11px] text-text-muted"},oa=1e3,sa=3,ia=Re({__name:"HomeSearch",props:{initialQuery:{default:""},variant:{default:"hero"}},emits:["select-creator","select-ad","select-search","select-ai","
2select-funnel","clear"],setup(o,{emit:m}){const y=o,v=m,{t:c}=He(),O=Xe(),$=Bt(),d=T(null),g=T(null);function I(n){const l=e(n);if(!l)return null;if(l instanceof HTMLInputElement)return l;const A=l.$el;return A instanceof HTMLInputElement?A:null}const z=T(y.initialQuery||""),_=T(!1),x=T(!1),k=T({creators:[],ads:[],funnels:[]}),D=T(-1),H=T([]),K=T(!1),Q={creators:[],ads:[],funnels:[]};function ve(n){const l=n.trim();return l.length>=2&&!l.includes(" ")&&(l.includes(".")||l.startsWith("http"))}const G=p(()=>ve(z.value)),re=p(()=>!G.value&&z.value.trim().length>=2),X=p(()=>re.value?"ph:sparkle-fill":"ph:magnifying-glass"),ce=p(()=>y.variant==="inline"),{reduced:de,press:C,pressTransition:Z,popoverInitial:R,popoverAnimate:M,popoverExit:Y,popoverTransition:pe}=Ye(),j=p(()=>!de.value),B=p(()=>de.value?{duration:0}:{type:"spring",visualDuration:.32,bounce:.06}),ee=p(()=>re.value),{examples:se}=Wt(),W=T(0),ie=p(()=>se.value[W.value]??"");let le=null;function _e(n){return D.value===n?"bg-surface-hover":"hover:bg-surface-hover"}function ge(n){return n?.domain?String(n.domain).replace(/^www\./,""):null}function Ce(n){const l=[];n?.advertiser&&n.advertiser!==n.headline&&l.push(n.advertiser);const A=Number(n?.totalReachNum)||0;return A>0&&l.push(c("home.search.meta.reach",{value:Ke(A)})),l.length?l.join(" · "):null}function Ee(n){const l=[],A=he(n);n?.creator&&n.creator!==A&&l.push(n.creator);const me=Number(n?.active_ads)||0;return me>0&&l.push(c("home.search.meta.funnelAds",{count:me})),l.length?l.join(" · "):null}function he(n){const l=n?.resolved_url||n?.domain||n?.creator||"";if(!l)return"";try{const A=new URL(String(l).startsWith("http")?l:`https://${l}`),me=A.hostname.replace(/^www\./,""),ke=A.pathname.replace(/\/+$/,"");return ke?`${me}${ke}`:me}catch{return String(l).split(/[?#]/)[0]?.replace(/\/+$/,"")||String(l)}}const be=p(()=>k.value.creators.length>0||k.value.ads.length>0||k.value.funnels.length>0),ye=p(()=>k.value.creators.length+k.value.ads.length+k.value.funnels.length),Ie=p(()=>re.value&&be.value&&!x.value&&!_.value&&!K.value),ze=p(()=>_.value&&(x.value||be.value)),i=p(()=>{let n=0;const l=ne=>ne.slice(0,sa).map(Le=>({...Le,__idx:n++})),A={creator:{type:"creator",icon:"ph:user-circle",iconClass:"text-primary",label:c("home.search.groups.creators"),items:[]},ad:{type:"ad",icon:"ph:megaphone-simple",iconClass:"text-primary",label:c("home.search.groups.ads"),items:[]},funnel:{type:"funnel",icon:"ph:funnel-simple",iconClass:"text-success",label:c("home.search.groups.funnels"),items:[]}},me=G.value?["funnel","creator","ad"]:["creator","ad","funnel"],ke={creator:k.value.creators,ad:k.value.ads,funnel:k.value.funnels};for(const ne of me)A[ne].items=l(ke[ne]);return me.map(ne=>A[ne]).filter(ne=>ne.items.length>0)}),F=p(()=>{const n=[];for(const l of i.value)for(const A of l.items)n.push({type:l.type,item:A});return n});function N(n,l){const A=n instanceof HTMLElement?n:n?.$el;A&&(H.value[l]=A)}let t=null,S=0,q=!1;xe(()=>y.initialQuery,n=>{const l=n||"";l!==z.value&&(q=!0,z.value=l,De(()=>{q=!1}))}),xe(z,n=>{if(t&&clearTimeout(t),S++,D.value=-1,H.value=[],K.value=!1,q||n.trim().length<2){k.value={...Q},x.value=!1,_.value=!1;return}_.value=!1,x.value=!1,k.value={...Q},t=setTimeout(Se,oa)});function Se(){if(z.value.trim().length<2)return;const l=S;_.value=G.value,x.value=!0,te(l)}function Me(){G.value&&be.value&&(_.value=!0)}function P(n){n.key==="ArrowDown"?(n.preventDefault(),we(1)):n.key==="ArrowUp"?(n.preventDefault(),we(-1)):n.key==="Enter"?(n.preventDefault(),et()):n.key==="Escape"&&(_.value=!1)}async function te(n){const l=z.value.trim();if(!(l.length<2))try{const A=await O("/api/global-search",{params:{q:l}});if(n!==S)return;k.value={creators:A?.creators??[],ads:A?.ads??[],funnels:A?.funnels??[]}}catch(A){if(n!==S)return;console.error("[home] global-search fetch failed",A),k.value={...Q}}finally{n===S&&(x.value=!1,_.value=G.value&&be.value)}}function Te(){be.value&&(_.value=!0,D.value=-1)}function we(n){const l=F.value.length;l&&(_.value||(_.value=!0),D.value===-1?D.value=n===1?0:l-1:D.value=(D.value+n+l)%l,De(()=>H.value[D.value]?.scrollIntoView({block:"nearest"})))}
2function et(){if(D.value===-1||!F.value.length){Oe();return}const n=F.value[D.value];if(!n){Oe();return}$e(n.type,n.item)}function Oe(){if(!(z.value.trim().length<2)){if(G.value){const l=k.value.funnels[0];if(l){$e("funnel",l);return}Ge();return}Be()}}function $e(n,l){n==="creator"?v("select-creator",l.page_id):n==="ad"?v("select-ad",l.id):v("select-funnel",l),_.value=!1}function Be(){const n=z.value.trim();n.length<2||(_.value=!1,K.value=!0,v("select-ai",n))}function Ve(){const n=z.value.trim();n.length<2||(_.value=!1,v("select-search",n))}function Ge(){const n=z.value.trim();n.length<2||(_.value=!1,$.push({path:"/funnel-tracker",query:{search:n}}))}function Ue(){z.value="",k.value={...Q},_.value=!1,K.value=!1,v("clear"),I(g)?.focus()}function u(n){d.value&&!d.value.contains(n.target)&&(_.value=!1)}return Ze(()=>{document.addEventListener("mousedown",u),le=hn(()=>{const n=se.value.length;n&&(W.value=(W.value+1)%n)},3200)}),Je(()=>{document.removeEventListener("mousedown",u),t&&clearTimeout(t),le&&clearInterval(le)}),(n,l)=>{const A=Pe,me=ln,ke=_t,ne=at,Le=Qt;return a(),s("div",{ref_key:"rootRef",ref:d,class:"relative w-full"},[f(e(ae).div,{layout:j.value,class:U(["flex items-center border transition-[box-shadow,border-color] duration-300 ease-out",ce.value?["h-[52px] gap-2.5 rounded-[12px] bg-card pl-4 pr-2 2xl:h-[56px]",_.value?"border-primary/35 ring-1 ring-primary/10":"border-border hover:border-border-control"]:["h-[62px] gap-2.5 rounded-[16px] bg-card pl-5 pr-2.5 2xl:h-[68px]",_.value?"border-primary/40 ring-2 ring-primary/12 shadow-[0_14px_40px_-18px_rgba(255,105,12,0.4)]":"border-border-control shadow-[0_18px_48px_-18px_rgba(255,105,12,0.35),0_1px_3px_rgba(0,0,0,0.04)] hover:border-primary/35"]]),transition:B.value},{default:w(()=>[f(A,{name:X.value,class:U(["size-5 shrink-0 transition-colors duration-300",re.value?"text-primary":"text-text-muted"]),"aria-hidden":"true"},null,8,["name","class"]),r("div",Fn,[f(me,{ref_key:"inputRef",ref:g,modelValue:z.value,"onUpdate:modelValue":l[0]||(l[0]=b=>z.value=b),type:"text","aria-label":e(c)("home.search.placeholder"),class:U(["w-full !h-auto !rounded-none !border-0 !bg-transparent !px-0 !shadow-none text-text-primary outline-none focus:!shadow-none",ce.value?"!text-[15px] 2xl:!text-[16px]":"!text-[16px] 2xl:!text-[17px]"]),autocomplete:"off",spellcheck:"false",onFocus:Me,onKeydown:P},null,8,["modelValue","aria-label","class"]),z.value?L("",!0):(a(),s("div",Mn,[f(Vt,{name:"home-ph-rotate",mode:"out-in"},{default:w(()=>[(a(),s("span",{key:W.value,class:U(["block truncate text-text-muted",ce.value?"text-[15px] 2xl:text-[16px]":"text-[16px] 2xl:text-[17px]"])},[r("span",Tn,h(e(c)("home.search.placeholderPrefix")),1),fe(h(ie.value),1)],2))]),_:1})]))]),z.value?(a(),V(ke,{key:0,size:"sm","aria-label":e(c)("home.search.clear"),class:"size-[26px] shrink-0 rounded-full border-transparent bg-transparent text-text-muted hover:bg-surface hover:text-text-muted",onClick:Ue},{default:w(()=>[f(A,{name:"ph:x",class:"size-3.5","aria-hidden":"true"})]),_:1},8,["aria-label"])):L("",!0),f(e(ae).div,{whileTap:e(C),transition:e(Z)},{default:w(()=>[f(ne,{class:U(["shrink-0 rounded-[10px] border-transparent disabled:opacity-40",ee.value?ce.value?"h-[38px] px-4 2xl:h-[40px]":"h-[46px] px-5 2xl:h-[50px]":ce.value?"size-[38px] px-0 2xl:size-[40px]":"size-[46px] px-0 2xl:size-[50px]"]),disabled:z.value.trim().length<2,"aria-label":re.value?e(c)("home.search.aiSubmit"):e(c)("home.search.submit"),onClick:Oe},{default:w(()=>[f(A,{name:re.value?"ph:sparkle-fill":"ph:arrow-right",class:"size-4","aria-hidden":"true"},null,8,["name"]),ee.value?(a(),s("span",Dn,h(e(c)("home.search.aiButton")),1)):L("",!0)]),_:1},8,["class","disabled","aria-label"])]),_:1},8,["whileTap","transition"])]),_:1},8,["layout","transition","class"]),f(e(Qe),null,{default:w(()=>[Ie.value?(a(),V(e(ae).div,{key:"direct-matches",class:"absolute right-0 top-[calc(100%+10px)] z-20 max-w-full",initial:e(R),animate:e(M),exit:e(Y),transition:e(pe)},{default:w(()=>[f(ne,{variant:"ghost",class:"flex h-auto w-full cursor-pointer items-center gap-2.5 rounded-[12px] border border-primary/30 bg-card px-3.5 py-2.5 text-left font-normal shadow-[0_10px_28px_-14px_rgba(255,105,12,0.45),0_2px_8px_-4px_rgba(15,23,42,0.16)] ring-1 ring-primary/10 transition-[border-color,background-color] duration-200 hover:border-primary/50 hover:bg-surface",onMousedown:l[1]||(l[1]=je(()=>{},["prevent"])),onClick:Te},{default:w(()=>[r("span",Rn,[f(A,{name:"ph:magnifying-glass-bold",class:"size-3.5","aria-hidden":"true"})]),r("span",En,[r("span",Hn,[fe(h(e(c)("home.search.directMatches"))+" ",1),r("span",jn,h(ye.value),1)]),r("span",Pn,h(e(c)("home.search.directMatchesHint")),1)]),f(A,{name:"ph:caret-down-bold",class:"size-3.5 shrink-0 text-primary","aria-hidden":"true"})]),_:1})]),_:1},8,["initial","animate","exit","transition"])):L("",!0)]),_:1}),f(e(Qe),null,{default:w(()=>[ze.value?(a(),V(e(ae).div,{key:"search-dropdown",class:"absolute inset-x-0 top-[calc(100%+10px)] z-30 overflow-hidden rounded-[14px] border border-border bg-card shadow-[0_24px_64px_-16px_rgba(15,23,42,0.35),0_10px_28px_-14px_rgba(15,23,42,0.25),0_0_0_1px_rgba(0,0,0,0.05)] dark:shadow-[0_24px_64px_-16px_rgba(0,0,0,0.8),0_10px_28px_-14px_rgba(0,0,0,0.6),0_0_0_1px_rgba(255,255,255,0.08)]",initial:e(R),animate:e(M),exit:e(Y),transition:e(pe)},{default:w(()=>[x.value?(a(),s("div",Ln,[f(Le,{size:"sm"}),r("span",Bn,h(e(c)("common.searching")),1)])):be.value?(a(),s(J,{key:1},[r("div",Vn,[(a(!0),s(J,null,oe(i.value,b=>(a(),s("div",{key:b.type,class:"min-w-0 py-1"}
2,[r("p",Un,[f(A,{name:b.icon,class:U(["size-3.5",b.iconClass]),"aria-hidden":"true"},null,8,["name","class"]),fe(" "+h(b.label),1)]),b.type==="creator"?(a(!0),s(J,{key:0},oe(b.items,E=>(a(),V(ne,{key:"c-"+E.page_id,ref_for:!0,ref:ue=>N(ue,E.__idx),variant:"ghost",class:U(["flex h-auto w-full items-center justify-start gap-3 rounded-none border-transparent px-4 py-2.5 text-left font-normal hover:bg-transparent",_e(E.__idx)]),onMousedown:l[2]||(l[2]=je(()=>{},["prevent"])),onMouseenter:ue=>D.value=E.__idx,onClick:ue=>$e("creator",E)},{default:w(()=>[r("span",Nn,[E.avatar?(a(),s("img",{key:0,src:E.avatar,alt:E.name,class:"size-full object-cover",loading:"lazy"},null,8,qn)):(a(),s("span",Qn,h(E.name?.charAt(0)?.toUpperCase()||"?"),1))]),r("span",Yn,[r("span",Gn,h(E.name),1),ge(E)?(a(),s("span",Wn,h(ge(E)),1)):L("",!0)]),f(A,{name:"ph:caret-right",class:"size-3.5 shrink-0 text-text-disabled","aria-hidden":"true"})]),_:2},1032,["class","onMouseenter","onClick"]))),128)):b.type==="ad"?(a(!0),s(J,{key:1},oe(b.items,E=>(a(),V(ne,{key:"a-"+E.id,ref_for:!0,ref:ue=>N(ue,E.__idx),variant:"ghost",class:U(["flex h-auto w-full items-center justify-start gap-3 rounded-none border-transparent px-4 py-2.5 text-left font-normal hover:bg-transparent",_e(E.__idx)]),onMousedown:l[3]||(l[3]=je(()=>{},["prevent"])),onMouseenter:ue=>D.value=E.__idx,onClick:ue=>$e("ad",E)},{default:w(()=>[r("span",Kn,[e(nt)(E)?(a(),s("img",{key:0,src:e(nt)(E),alt:E.headline,class:"size-full object-cover",loading:"lazy"},null,8,Xn)):(a(),V(A,{key:1,name:"ph:image",class:"size-3.5 text-text-disabled","aria-hidden":"true"}))]),r("span",Zn,[r("span",Jn,h(E.headline||E.advertiser),1),Ce(E)?(a(),s("span",ea,h(Ce(E)),1)):L("",!0)]),f(A,{name:"ph:caret-right",class:"size-3.5 shrink-0 text-text-disabled","aria-hidden":"true"})]),_:2},1032,["class","onMouseenter","onClick"]))),128)):(a(!0),s(J,{key:2},oe(b.items,E=>(a(),V(ne,{key:"f-"+E.funnel_id,ref_for:!0,ref:ue=>N(ue,E.__idx),variant:"ghost",class:U(["flex h-auto w-full items-center justify-start gap-3 rounded-none border-transparent px-4 py-2.5 text-left font-normal hover:bg-transparent",_e(E.__idx)]),onMousedown:l[4]||(l[4]=je(()=>{},["prevent"])),onMouseenter:ue=>D.value=E.__idx,onClick:ue=>$e("funnel",E)},{default:w(()=>[r("span",ta,[E.avatar?(a(),s("img",{key:0,src:E.avatar,alt:E.creator,class:"size-full object-cover",loading:"lazy"},null,8,na)):(a(),V(A,{key:1,name:"ph:globe-simple",class:"size-3.5 text-text-disabled","aria-hidden":"true"}))]),r("span",aa,[r("span",ra,h(he(E)),1),Ee(E)?(a(),s("span",la,h(Ee(E)),1)):L("",!0)]),f(A,{name:"ph:caret-right",class:"size-3.5 shrink-0 text-text-disabled","aria-hidden":"true"})]),_:2},1032,["class","onMouseenter","onClick"]))),128))]))),128))]),f(ne,{variant:"ghost",class:"flex h-auto w-full items-center justify-center gap-2 rounded-none border-x-0 border-b-0 border-t border-border-light px-4 py-3 text-[12px] font-medium text-text-secondary hover:bg-surface-hover hover:text-primary",onMousedown:l[5]||(l[5]=je(()=>{},["prevent"])),onClick:l[6]||(l[6]=b=>G.value?Ge():Ve())},{default:w(()=>[f(A,{name:G.value?"ph:funnel-simple":"ph:magnifying-glass",class:"size-3.5","aria-hidden":"true"},null,8,["name"]),fe(" "+h(G.value?e(c)("home.search.funnelTrackerFallback"):e(c)("home.search.classicSearch",{query:z.value})),1)]),_:1})],64)):L("",!0)]),_:1},8,["initial","animate","exit","transition"])):L("",!0)]),_:1})],512)}}}),ua=Object.assign(ct(ia,[["__scopeId","data-v-3fc791fa"]]),{__name:"HomeSearch"});function dt(){const{reduced:o,press:m,pressTransition:y}=Ye(),v=p(()=>o.value?!1:{opacity:0,y:16}),c={opacity:1,y:0};function O(z=0){return o.value?{duration:0}:{duration:.38,ease:[.22,1,.36,1],delay:z}}const $=p(()=>o.value?!1:{opacity:0,y:8,scale:.96}),d={opacity:1,y:0,scale:1};function g(z){return o.value?{duration:0}:{duration:.28,ease:[.22,1,.36,1],delay:.1+z*.05}}const I=p(()=>o.value?void 0:{y:-2,transition:{type:"spring",stiffness:460,damping:32}});return{reduced:o,press:m,pressTransition:y,sectionInitial:v,sectionInView:c,sectionTransition:O,chipInitial:$,chipAnimate:d,chipTransition:g,tileHover:I}}const ca={class:"flex size-11 shrink-0 items-center justify-center overflow-hidden rounded-full bg-primary/8 ring-1 ring-primary/15 transition-all duration-200 group-hover:ring-primary/35"},da=["src","alt"],pa={key:1,class:"text-[15px] font-bold text-primary"},fa={class:"min-w-0 flex-1"},ma={class:"block truncate text-[13px] font-semibold leading-snug text-text-primary"},va={key:0,class:"mt-0.5 block truncate text-[11px] text-text-muted"},ha={class:"shrink-0 text-right"},xa={class:"block text-[12px] font-semibold leading-none text-text-primary"},ga={class:"mt-1 block text-[10px] leading-none text-text-muted"},ya={class:"mt-1.5 block text-[11px] font-medium text-text-secondary"},_a=Re({__name:"HomeSearchCreatorTile",props:{creator:{}},emits:["open"],setup(o,{emit:m}){const y=o,v=m,{t:c}=He(),{tileHover:O}=dt(),$=T(!1),d=p(()=>y.creator.name?.charAt(0)?.toUpperCase()||"?"),g=p(()=>String(y.creator.domain||"").replace(/^www\./,"")||""),I=p(()=>{const _=Number(y.creator.activeAds)||0;return _>0?Ke(_):"â"}),z=p(()=>{const _=Number(y.creator.reach)||0;return _>0?c("aiSearch.tile.reach",{value:Ke(_)}
2):c("aiSearch.tile.reachEuNone")});return(_,x)=>{const k=at;return a(),V(e(ae).div,{whileHover:e(O)},{default:w(()=>[f(k,{variant:"ghost",class:"group !flex h-auto w-full cursor-pointer items-center gap-3 !rounded-[11px] !border-border !bg-background !p-3 !text-left !font-normal shadow-[0_1px_0_rgba(15,23,42,0.03)] outline-none transition-[border-color,box-shadow] duration-200 hover:!border-primary/25 hover:!bg-surface hover:!shadow-[0_8px_24px_-16px_rgba(255,105,12,0.18)] focusable","aria-label":e(c)("aiSearch.tile.openCreator"),onClick:x[1]||(x[1]=D=>v("open",o.creator.page_id))},{default:w(()=>[r("span",ca,[o.creator.avatar&&!$.value?(a(),s("img",{key:0,src:o.creator.avatar,alt:o.creator.name,class:"size-full object-cover",loading:"lazy",onError:x[0]||(x[0]=D=>$.value=!0)},null,40,da)):(a(),s("span",pa,h(d.value),1))]),r("span",fa,[r("span",ma,h(o.creator.name),1),g.value?(a(),s("span",va,h(g.value),1)):L("",!0)]),r("span",ha,[r("span",xa,h(I.value),1),r("span",ga,h(e(c)("home.topCreators.preview.activeAds")),1),r("span",ya,h(z.value),1)])]),_:1},8,["aria-label"])]),_:1},8,["whileHover"])}}}),ba=Object.assign(_a,{__name:"HomeSearchCreatorTile"}),wa={class:"relative aspect-[16/9] overflow-hidden"},ka=["src","alt"],Aa={key:1,class:"flex size-full items-center justify-center bg-surface text-text-disabled"},Sa={key:2,class:"absolute left-2 top-2 z-[1] rounded-full border border-white/20 bg-black/55 px-2 py-0.5 text-[10px] font-semibold tracking-wide text-white backdrop-blur-sm"},Ca={class:"block truncate text-[13px] font-semibold leading-snug text-text-primary hover:text-primary"},$a={key:0,class:"mt-0.5 block truncate text-[11px] text-text-muted"},Ia={key:1,class:"min-w-0"},za={class:"truncate text-[13px] font-semibold leading-snug text-text-primary"},Oa={key:0,class:"mt-0.5 truncate text-[11px] text-text-muted"},Fa={class:"shrink-0 text-right"},Ma={class:"text-[12px] font-semibold leading-none text-text-primary"},Ta={class:"mt-1 text-[10px] leading-none text-text-muted"},Da={class:"mt-1.5 text-[11px] font-medium text-text-secondary"},Ra=Re({__name:"HomeSearchFunnelTile",props:{funnel:{},compact:{type:Boolean,default:!1}},emits:["open","open-creator"],setup(o,{emit:m}){const y=o,v=m,{t:c}=He(),{funnelTypeLabel:O}=yn(),{tileHover:$}
2=dt(),d=T(!1),g=p(()=>O(y.funnel.funnel_type)),I=p(()=>{const _=Number(y.funnel.total_ads)||0;return _>0?Ke(_):"â"}),z=p(()=>{const _=Number(y.funnel.total_reach)||0;return _>0?c("aiSearch.tile.reach",{value:Ke(_)}):"â"});return(_,x)=>{const k=Pe,D=at;return a(),V(e(ae).article,{class:"group/tile flex h-full cursor-pointer flex-col overflow-hidden rounded-[11px] border border-border bg-background shadow-[0_1px_0_rgba(15,23,42,0.03)] transition-[border-color,box-shadow] duration-200 hover:border-primary/25 hover:shadow-[0_8px_24px_-16px_rgba(255,105,12,0.22)]",role:"button",tabindex:"0","aria-label":e(c)("aiSearch.tile.openFunnel"),whileHover:e($),onClick:x[2]||(x[2]=H=>v("open",o.funnel)),onKeydown:[x[3]||(x[3]=Ct(je(H=>v("open",o.funnel),["prevent"]),["enter"])),x[4]||(x[4]=Ct(je(H=>v("open",o.funnel),["prevent"]),["space"]))]},{default:w(()=>[r("div",wa,[o.funnel.screenshot&&!d.value?(a(),s("img",{key:0,src:o.funnel.screenshot,alt:o.funnel.creator||o.funnel.domain||"",class:"size-full object-cover object-top transition-transform duration-300 group-hover/tile:scale-[1.03]",loading:"lazy",decoding:"async",draggable:"false",onError:x[0]||(x[0]=H=>d.value=!0)},null,40,ka)):(a(),s("span",Aa,[f(k,{name:"ph:browser",class:"size-7","aria-hidden":"true"})])),g.value?(a(),s("span",Sa,h(g.value),1)):L("",!0)]),r("div",{class:U(["flex items-start justify-between gap-2",o.compact?"px-2.5 py-2.5":"px-3 py-3"])},[o.funnel.page_id?(a(),V(D,{key:0,variant:"ghost",class:"min-w-0 !h-auto !flex-1 !justify-start !rounded-none !border-0 !bg-transparent !p-0 !text-left !font-normal hover:!bg-transparent",onClick:x[1]||(x[1]=je(H=>v("open-creator",o.funnel.page_id),["stop"]))},{default:w(()=>[r("span",Ca,h(o.funnel.creator),1),o.funnel.domain?(a(),s("span",$a,h(o.funnel.domain),1)):L("",!0)]),_:1})):(a(),s("div",Ia,[r("p",za,h(o.funnel.creator),1),o.funnel.domain?(a(),s("p",Oa,h(o.funnel.domain),1)):L("",!0)])),r("div",Fa,[r("p",Ma,h(I.value),1),r("p",Ta,h(e(c)("workspaceFolder.stat_ads")),1),r("p",Da,h(z.value),1)])],2)]),_:1},8,["aria-label","whileHover"])}}}),Ea=Object.assign(Ra,{__name:"HomeSearchFunnelTile"});function Mt(){return{searchBarQuery:"",query:"",fetchedQuery:"",sections:[],answer:"",layout:"focused",dominant:"ads",ignoredCriteria:[],hasSearched:!1,error:!1,errorKind:"generic",retryAfterSeconds:null,loadAnimFrom:{ads:0,creators:0,funnels:0},staggerEnabled:!0}}function Kt(){const o=ut("home-ai-search-session",Mt);function m(){o.value=Mt()}function y(c){const O=c.trim();o.value.searchBarQuery=O,o.value.query!==O&&(o.value.fetchedQuery=""),o.value.query=O}function v(c){const O=c.trim();return O.length>=2&&o.value.fetchedQuery===O&&o.value.hasSearched&&!o.value.error}return{session:o,clearSession:m,setActiveQuery:y,hasCachedResultsFor:v}}function wt(o){const m=o?.max??10,y=o?.delayStep??.04,v=o?.y??6,c=o?.enabled??T(!0),{reduced:O}=Ye(),$={opacity:1,transform:"translateY(0px)"};let d=null;function g(z,_){const x=_!=null?{key:_}:{};if(O.value)return{...x,initial:!1,animate:$};if(!c.value)return{...x,initial:!1,animate:$};const k=Math.min(z,m-1);return{...x,initial:{opacity:0,transform:`translateY(${v}px)`},animate:$,transition:{type:"spring",visualDuration:.32,bounce:0,delay:k*y}}}function I(){if(!c.value||d)return;const z=Math.ceil(((m-1)*y+.45)*1e3);d=setTimeout(()=>{d=null,c.value=!1},z)}return Je(()=>{d&&(clearTimeout(d),d=null)}),{staggerProps:g,finishStagger:I,reduced:O}}const Ha={key:0,class:"flex flex-1 items-center justify-center py-[min(28vh,240px)]"},ja={key:1,class:"flex flex-1 flex-col items-center justify-center gap-3 px-6 py-16 text-center"},Pa={class:"text-[14px] font-medium text-text-primary"},La={class:"max-w-[420px] text-[12px] text-text-muted"},Ba={key:0,class:"mb-4 flex shrink-0 items-start gap-2.5 rounded-[12px] border border-amber-500/20 bg-amber-500/[0.06] px-3.5 py-3"},Va={class:"min-w-0"},Ua={class:"text-[13px] font-medium text-text-primary"},Na={class:"mt-1.5 flex flex-wrap gap-1.5"},qa={class:"font-normal opacity-80"},Qa={class:"flex shrink-0 items-center justify-between gap-3"},Ya={class:"flex min-w-0 items-center gap-2 text-[14px] font-semibold text-text-primary 2xl:text-[15px]"},Ga={class:"text-[12px] font-normal text-text-muted"},Wa={key:0,class:"shrink-0 text-[11px] leading-snug text-text-muted"},Ka={key:2,class:"flex flex-1 flex-col items-center justify-center gap-1.5 px-6 py-16 text-center"},Xa={class:"text-[15px] font-medium text-text-primary"},Za={key:0,class:"text-[12px] text-text-muted"},Tt=12,Dt=200,Ja=Re({__name:"HomeAiResults",props:{query:{}},emits:["open-ad","open-creator","open-funnel"],setup(o,{emit:m}){const y=o,v=m,{t:c,locale:O}=He(),$=Xe(),{session:d,hasCachedResultsFor:g}=Kt(),I=T(!1),z=T(null),_=T(new Set);let x=0;const k=p({get:()=>d.value.staggerEnabled,set:i=>{d.value.staggerEnabled=i}}),{staggerProps:D,finishStagger:H,reduced:K}=wt({max:12,delayStep:.03,enabled:k}),Q=p(()=>d.value.sections),ve=p(()=>d.value.answer),G=p(()=>d.value.layout),re=p(()=>d.value.dominant),X=p(()=>d.value.ignoredCriteria),ce=p(()=>d.value.hasSearched),de=p(()=>d.value.error),C=p(()=>d.value.errorKind),Z=p(()=>d.value.retryAfterSeconds),R=p(()=>d.value.loadAnimFrom),M=p(()=>G.value==="mixed"&&Q.value.length>=2);function Y(i){return pe(i)||i.type==="ads"&&!!i.deepLink&&!M.value}function pe(i){return i.hasMore&&i.items.length<i.total}const j={ads:{icon:"ph:megaphone-simple-bold",labelKey:"aiSearch.sections.ads"},creators:{icon:"ph:user-circle-bold",labelKey:"aiSearch.sections.creators"},funnels:{icon:"ph:funnel-simple-bold",labelKey:"aiSearch.sections.funnels"}};function B(i){return!i||i<60?`${i||5}s`:`${Math.ceil(i/60)} min`}function ee(i){return new Intl.NumberFormat(O.value).format(Number(i)||0)}function se(i){return i==null?"â":Array.isArray(i)?i.map(String).join(", "):String(i)}function W(i){return String(i?.id||i?.ad_id||"").trim()}function ie(i){_.value=new Set([..._.value,i])}function le(i){_.value=new Set([..._.value].filter(F=>F!==i))}function _e(i,F){const N=W(F);
2N&&v("open-ad",{adId:N,adIds:i.items.map(W).filter(Boolean)})}function ge(i){!i?.funnel_id&&!i?.funnelId&&!i?.page_id||v("open-funnel",i)}function Ce(i,F,N){const t=R.value[i.type];if(F>=t){const S=F-t;return K.value?{key:N,initial:!1,animate:{opacity:1,transform:"translateY(0px)"}}:{key:N,initial:{opacity:0,transform:"translateY(6px)"},animate:{opacity:1,transform:"translateY(0px)"},transition:{type:"spring",visualDuration:.32,bounce:0,delay:Math.min(S,11)*.03}}}return D(F,N)}function Ee(i){const F=i?.type;if(!["ads","creators","funnels"].includes(F))return null;const N=i?.handoff&&Array.isArray(i.handoff.ids)?{ids:i.handoff.ids.map(q=>String(q)).filter(Boolean),id_field:typeof i.handoff.id_field=="string"?i.handoff.id_field:"",params:i.handoff.params&&typeof i.handoff.params=="object"?i.handoff.params:{}}:null,t=Array.isArray(i.items)?i.items:[],S=Math.min(N?.ids.length??t.length,Tt);return{type:F,items:t,total:Number(i.total)||0,deepLink:i.deepLink||null,unsupported:Array.isArray(i.unsupported)?i.unsupported:[],handoff:N,nextOffset:S,hasMore:!!(N?.ids.length&&S<N.ids.length)}}async function he(i){if(!(!i.handoff?.ids.length||z.value)){z.value=i.type,d.value.loadAnimFrom[i.type]=i.items.length;try{const F=await $("/api/ai-search-more",{method:"POST",body:{type:i.type,offset:i.nextOffset,limit:Tt,handoff:i.handoff}}),N=Array.isArray(F?.items)?F.items:[],t=d.value.sections.find(q=>q.type===i.type);if(!t||!N.length){t&&(t.hasMore=!!F?.hasMore);return}const S=new Set(t.items.map(q=>i.type==="ads"?String(q.id||""):i.type==="creators"?String(q.page_id||""):String(q.funnel_id||"")).filter(Boolean));for(const q of N){const Se=i.type==="ads"?String(q.id||""):i.type==="creators"?String(q.page_id||""):String(q.funnel_id||"");!Se||S.has(Se)||(S.add(Se),t.items.push(q))}t.nextOffset=Number(F?.nextOffset)||t.nextOffset,t.hasMore=!!F?.hasMore}catch(F){console.error("[home-ai] load more failed",F)}finally{z.value=null}}}function be(i){return i.unsupported.length?c("aiSearch.unsupportedTooltip",{criteria:i.unsupported.join(", ")}):c("aiSearch.seeMoreTooltip")}const ye=p(()=>C.value==="rate_limit"?c("aiSearch.error.rate_limited",{time:B(Z.value)}):c("aiSearch.error.description"));function Ie(){d.value.sections=[],d.value.answer="",d.value.ignoredCriteria=[],d.value.layout="focused",d.value.dominant="ads",d.value.loadAnimFrom={ads:0,creators:0,funnels:0}}async function ze(i){const F=i.trim().slice(0,Dt);if(F.length<2)return;const N=++x;I.value=!0,d.value.error=!1,d.value.errorKind="generic",d.value.retryAfterSeconds=null,d.value.hasSearched=!0,d.value.staggerEnabled=!0,d.value.loadAnimFrom={ads:0,creators:0,funnels:0},d.value.query=F;try{const t=await $("/api/ai-search",{method:"POST",body:{query:F}});if(N!==x)return;d.value.sections=Array.isArray(t?.sections)?t.sections.map(Ee).filter(Boolean):[],d.value.answer=typeof t?.answer=="string"?t.answer:"",d.value.ignoredCriteria=Array.isArray(t?.ignored_criteria)?t.ignored_criteria:[],d.value.layout=t?.layout==="mixed"?"mixed":"focused",d.value.dominant=["ads","creators","funnels"].includes(t?.dominant)?t.dominant:"ads",d.value.fetchedQuery=F,De(()=>H())}catch(t){if(N!==x)return;if(console.error("[home-ai] request failed",t),d.value.error=!0,d.value.fetchedQuery="",Ie(),(t?.statusCode??t?.response?.status)===429){d.value.errorKind="rate_limit";const q=Number(t?.data?.retryAfterSeconds??t?.data?.data?.retryAfterSeconds);d.value.retryAfterSeconds=Number.isFinite(q)&&q>0?q:5}}finally{N===x&&(I.value=!1)}}return Ze(async()=>{try{const i=await $("/api/favorites/ids",{params:{type:"ad"}});_.value=new Set(i?.ad||[])}catch{_.value=new Set}}),xe(()=>y.query,i=>{const F=i?.trim().slice(0,Dt)||"";if(!(F.length<2)){if(g(F)){d.value.staggerEnabled=!1;return}ze(F)}},{immediate:!0}),(i,F)=>{const N=Qt,t=Pe,S=at,q=xn,Se=Yt,Me=gn;return a(),s("div",{class:U(["flex flex-col",M.value?"min-h-0 lg:flex-1 lg:overflow-hidden":""])},[I.value?(a(),s("div",Ha,[f(N,{size:"md"})])):de.value?(a(),s("div",ja,[r("p",Pa,h(e(c)("aiSearch.error.title")),1),r("p",La,h(ye.value),1),f(S,{class:"mt-1 rounded-[10px] px-3.5 font-semibold",onClick:F[0]||(F[0]=()=>ze(y.query))},{iconLeft:w(()=>[f(t,{name:"ph:arrow-clockwise-bold",class:"size-3.5","aria-hidden":"true"})]),default:w(()=>[fe(" "+h(e(c)("aiSearch.error.retry")),1)]),_:1})])):ce.value?(a(),s("div",{key:2,class:U(["flex flex-col",M.value?"min-h-0 lg:flex-1 lg:overflow-hidden":""])},[X.value.length?(a(),s("div",Ba,[f(t,{name:"ph:warning-circle",class:"mt-0.5 size-4 shrink-0 text-text-muted","aria-hidden":"true"}),r("div",Va,[r("p",Ua,h(e(c)("aiSearch.ignored.title")),1),r("ul",Na,[(a(!0),s(J,null,oe(X.value,P=>(a(),s("li",{key:P.field+String(P.value)},[f(q,{variant:"status",tone:"warning"},{default:w(()=>[fe(h(P.field)+" ",1),r("span",qa,h(se(P.value)),1)]),_:2},1024)]))),128))])])])):L("",!0),Q.value.length?(a(),s("div",{key:1,class:U(M.value?"grid min-h-0 grid-cols-1 gap-5 lg:min-h-0 lg:flex-1 lg:grid-cols-3 lg:items-stretch":"flex flex-col gap-4")},[(a(!0),s(J,null,oe(Q.value,P=>(a(),s("section",{key:P.type,class:U(["flex min-w-0 flex-col gap-3",M.value?"min-h-0 lg:h-full lg:overflow-hidden":""])},[r("header",Qa,[r("h2",Ya,[r("span",{class:U(["flex size-7 shrink-0 items-center justify-center rounded-[9px] ring-1",P.type===re.value?"bg-primary/10 text-primary ring-primary/15":"bg-surface text-text-muted ring-border/80"])},[f(t,{name:j[P.type].icon,class:"size-3.5","aria-hidden":"true"},null,8,["name"])],2),fe(" "+h(e(c)(j[P.type].labelKey))+" ",1),r("span",Ga,h(ee(P.total)),1)]),P.type==="ads"&&P.deepLink&&M.value?(a(),V(Se,{key:0,to:P.deepLink,title:be(P),class:"inline-flex h-9 shrink-0 items-center justify-center gap-1.5 rounded-[9px] border border-border bg-surface px-3 text-[12px] font-semibold text-text-primary transition-colors hover:border-border-control hover:bg-surface-hover focusable outline-none"},{default:w(()=>[fe(h(e(c)("aiSearch.seeAds",{count:ee(P.total)}))+" ",1),f(t,{name:"ph:arrow-right-bold",class:"size-3.5","aria-hidden":"true"})]),_:2},1032,["to","title"])):L("",!0)]),P.type==="ads"&&P.unsupported.length?(a(),s("p",Wa,h(e(c)("aiSearch.unsupportedBanner",{criteria:P.unsupported.join(", ")})),1)):L("",!0),r("div",{class:U(["flex min-h-0 flex-col",M.value?"lg:flex-1 lg:overflow-hidden lg:rounded-[12px] lg:border lg:border-border/80 lg:bg-surface/30":""])},[r("div",{class:U(["custom-scrollbar-thin",M.value?"lg:min-h-0 lg:flex-1 lg:overflow-y-auto lg:px-2.5 lg:pb-2 lg:pt-2.5":""])},[P.type==="ads"?(a(),s("div",{key:0,class:U(["grid",M.value?"grid-cols-2 gap-3":"grid-cols-2 gap-4 sm:grid-cols-3 md:grid-cols-4 xl:grid-cols-5 2xl:gr
2id-cols-6 2xl:gap-5"])},[(a(!0),s(J,null,oe(P.items,(te,Te)=>(a(),V(e(ae).div,We({key:te.id,class:"min-w-0"},{ref_for:!0},Ce(P,Te,te.id)),{default:w(()=>[f(Gt,{ad:te,onOpen:we=>_e(P,te),onOpenCreator:F[1]||(F[1]=we=>v("open-creator",we)),onOpenFunnel:ge},{"header-trailing":w(()=>[f(Me,{"item-id":te.id,type:"ad",starred:_.value.has(te.id),"button-class":"shrink-0 p-0.5","icon-class":"size-[17px]",lite:"",onStarred:we=>ie(te.id),onUnstarred:we=>le(te.id)},null,8,["item-id","starred","onStarred","onUnstarred"])]),_:2},1032,["ad","onOpen"])]),_:2},1040))),128))],2)):P.type==="creators"?(a(),s("div",{key:1,class:U(["grid gap-2",M.value?"grid-cols-1":"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"])},[(a(!0),s(J,null,oe(P.items,(te,Te)=>(a(),V(e(ae).div,We({key:te.page_id},{ref_for:!0},Ce(P,Te,te.page_id)),{default:w(()=>[f(ba,{creator:te,onOpen:F[2]||(F[2]=we=>v("open-creator",we))},null,8,["creator"])]),_:2},1040))),128))],2)):(a(),s("div",{key:2,class:U(["grid gap-2.5",M.value?"grid-cols-1":"grid-cols-1 md:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4"])},[(a(!0),s(J,null,oe(P.items,(te,Te)=>(a(),V(e(ae).div,We({key:te.funnel_id},{ref_for:!0},Ce(P,Te,te.funnel_id)),{default:w(()=>[f(Ea,{funnel:te,compact:M.value,onOpen:ge,onOpenCreator:F[3]||(F[3]=we=>v("open-creator",we))},null,8,["funnel","compact"])]),_:2},1040))),128))],2))],2),Y(P)?(a(),s("div",{key:0,class:U(["shrink-0",M.value?"lg:z-[1] lg:border-t lg:border-border/60 lg:bg-background/95 lg:px-2.5 lg:py-2.5 lg:backdrop-blur-sm":"flex flex-col items-center gap-2 pt-1"])},[P.type==="ads"&&P.deepLink&&!M.value?(a(),V(Se,{key:0,to:P.deepLink,title:be(P),class:"inline-flex h-10 w-full cursor-pointer items-center justify-center gap-2 rounded-[10px] bg-primary px-4 text-[13px] font-semibold text-white transition-colors hover:bg-[#e85e00] focusable outline-none"},{default:w(()=>[fe(h(e(c)("aiSearch.seeAds",{count:ee(P.total)}))+" ",1),f(t,{name:"ph:arrow-right-bold",class:"size-4","aria-hidden":"true"})]),_:2},1032,["to","title"])):L("",!0),pe(P)?(a(),V(S,{key:1,variant:"secondary",class:U(["h-10 rounded-[10px] px-4 text-[13px] font-semibold",M.value?"lg:w-full":""]),disabled:z.value===P.type,onClick:()=>he(P)},Ut({default:w(()=>[fe(" "+h(z.value===P.type?e(c)("aiSearch.loadMoreLoading"):e(c)("aiSearch.loadMore")),1)]),_:2},[z.value===P.type?{name:"iconLeft",fn:w(()=>[f(t,{name:"ph:circle-notch-bold",class:"size-4 animate-spin","aria-hidden":"true"})]),key:"0"}:void 0]),1032,["class","disabled","onClick"])):L("",!0)],2)):L("",!0)],2)],2))),128))],2)):L("",!0),Q.value.length?L("",!0):(a(),s("div",Ka,[r("p",Xa,h(ve.value||e(c)("aiSearch.empty.title")),1),ve.value?L("",!0):(a(),s("p",Za,h(e(c)("aiSearch.empty.description")),1))]))],2)):L("",!0)],2)}}}),er=Object.assign(Ja,{__name:"HomeAiResults"}),tr={class:"flex items-center justify-between gap-3"},nr={class:"flex min-w-0 items-center gap-2.5"},ar={class:"flex size-8 shrink-0 items-center justify-center rounded-[10px] bg-primary/10 text-primary ring-1 ring-primary/10"},rr={class:"truncate text-[14px] font-semibold tracking-tight text-text-primary 2xl:text-[15px]"},lr={key:0,class:"flex shrink-0 items-center gap-2.5"},or=Re({__name:"HomeSectionHeader",props:{icon:{},title:{}},setup(o){return(m,y)=>{const v=Pe;return a(),s("header",tr,[r("h2",nr,[r("span",ar,[f(v,{name:o.icon,class:"size-4","aria-hidden":"true"},null,8,["name"])]),r("span",rr,[$t(m.$slots,"default",{},()=>[fe(h(o.title),1)])])]),m.$slots.actions?(a(),s("div",lr,[$t(m.$slots,"actions")])):L("",!0)])}}}),kt=Object.assign(or,{__name:"HomeSectionHeader"}),sr=Re({inheritAttrs:!1,__name:"AnimateNumber",props:{value:{default:0},format:{type:Function,default:o=>String(Math.round(o))},fallback:{default:"â"}},setup(o){const m=o,{reduced:y}=Ye(),v=p(()=>{const g=Number(m.value);return Number.isFinite(g)?g:null}),c=T(v.value!=null?m.format(v.value):m.fallback),O=Lt(v.value??0),$=zn(O,{stiffness:380,damping:42,mass:.55});In($,"change",g=>{y.value||(c.value=m.format(g))});function d(g){O.jump(g),c.value=m.format(g)}return xe(v,g=>{if(g==null){c.value=m.fallback;return}
2y.value?d(g):O.set(g)},{immediate:!0}),xe(y,g=>{const I=v.value;I==null||!g||d(I)}),(g,I)=>(a(),s("span",{class:U(["tabular-nums",g.$attrs.class])},h(c.value),3))}}),ir=Object.assign(sr,{__name:"UiAnimateNumber"});let tt=null;function pt(){const o=ut("home-feed",()=>null),m=ut("home-feed-pending",()=>!1),y=ut("home-feed-failed",()=>!1),v=Xe();async function c(){return o.value?o.value:tt||(m.value=!0,y.value=!1,tt=(async()=>{try{const $=await v("/api/me/home-feed");return o.value=$,$}catch($){return console.error("[home] home-feed fetch failed",$),y.value=!0,null}finally{m.value=!1,tt=null}})(),tt)}function O(){o.value=null,y.value=!1}return{feed:o,pending:m,failed:y,ensureHomeFeed:c,clearHomeFeed:O}}const ur=["src","alt","onError"],cr={key:1,class:"text-[17px] font-bold text-primary"},dr={class:"w-full truncate text-center text-[11px] font-medium leading-tight text-text-secondary group-hover:text-text-primary"},pr={class:"flex shrink-0 flex-col gap-1"},fr={class:"flex items-center gap-1 whitespace-nowrap text-[10px] font-medium uppercase leading-none tracking-wide text-primary"},mr={class:"flex flex-nowrap gap-1.5"},vr={class:"relative size-[50px] shrink-0"},hr={class:"absolute -bottom-0.5 -right-0.5 flex size-[18px] items-center justify-center rounded-full bg-primary/60 text-white ring-2 ring-card"},xr={class:"relative size-[50px] shrink-0"},gr=["src","alt","onError"],yr={key:1,class:"text-[17px] font-bold text-primary"},_r=["title"],br={class:"w-full truncate text-center text-[11px] font-medium leading-tight text-text-secondary group-hover:text-text-primary"},wr={class:"flex items-center gap-2.5 px-3.5 pt-3.5 pb-2.5"},kr={class:"flex size-[34px] shrink-0 items-center justify-center overflow-hidden rounded-full border border-primary/30 bg-primary/12"},Ar=["src","alt"],Sr={key:1,class:"text-[13px] font-bold text-primary"},Cr={class:"min-w-0 flex-1"},$r={class:"block truncate text-[13px] font-semibold leading-tight text-text-primary"},Ir={key:0,class:"block truncate text-[11px] leading-tight text-text-secondary"},zr={class:"grid grid-cols-3 gap-px border-y border-border-light bg-border-light text-center"},Or={class:"bg-card px-2 py-2"},Fr={class:"block text-[10px] text-text-secondary"},Mr={class:"bg-card px-2 py-2"},Tr={class:"block text-[10px] text-text-secondary"},Dr={class:"bg-card px-2 py-2"},Rr={key:1,class:"block text-[13px] font-semibold text-text-primary"},Er={class:"block text-[10px] text-text-secondary"},Hr={class:"px-3.5 pt-2.5 pb-3.5"},jr={class:"mb-1.5 text-[10px] font-semibold uppercase tracking-wide text-text-secondary"},Pr={key:0,class:"grid grid-cols-3 gap-1.5"},Lr={key:1,class:"grid grid-cols-3 gap-1.5"},Br=["src","poster"],Vr=["src","alt"],Ur={key:3,class:"absolute bottom-1 right-1 flex size-4 items-center justify-center rounded-full bg-black/55 text-white"},Nr={key:2,class:"text-[11px] text-text-secondary"},qr=74,vt=6,Qr=9,Rt=6,ht=4,Yr=300,Gr=290,xt=10,Et=12,Wr=3,Ht=118,Kr=12,Xr=6,Zr=Re({__name:"HomeTopCreators",emits:["select-creator","select-ad","loaded"],setup(o,{emit:m}){const y=m,{t:v}=He(),c=Xe(),{ensureHomeFeed:O}=pt(),{reduced:$}=Ye(),{scheduleOpen:d,scheduleClose:g,cancelClose:I,forceClose:z,keepWarm:_}=_n({openDelayMs:700,closeDelayMs:160,skipDelayMs:500}),x=T(!0),{staggerProps:k,finishStagger:D}=wt({max:10,enabled:x}),H=T([]),K=T([]),Q=T(!0),ve=T("preferences"),G=T(!0),re=on({}),X=T(null),ce=T(null),de=T(12),C=T(null),Z=T(!1),R=p(()=>Z.value&&C.value?.creator?.page_id?C.value.creator.page_id:null),M=T([]),Y=T(!1),pe=new Map;function j(u){return C.value?.creator?.page_id===u||R.value===u}const B=p(()=>{if(!C.value)return 0;const u=C.value.anchorX-C.value.x;return Math.max(-Ht,Math.min(Ht,u))}),ee=p(()=>({left:`calc(50% + ${B.value}px)`,transform:"translateX(-50%) rotate(45deg)"})),se={x:0,y:0,placement:"top"};function W(){return C.value&&(se.x=C.value.x,se.y=C.value.y,se.placement=C.value.placement),se}function ie(u,n,l=1){return`translate3d(${u}px, ${n}px, 0) scale(${l})`}const le=p(()=>({transform:(C.value?.placement??se.placement)==="top"?"translate(-50%, -100%)":"translate(-50%, 0)"})),_e=p(()=>{const{x:u,y:n}=W();return{transform:ie(u,n,1),opacity:1}}),ge=p(()=>
2{if($.value)return!1;const{x:u,y:n}=W();return{transform:ie(u,n+Kr,.97),opacity:0}}),Ce=p(()=>{if($.value)return{opacity:0};const{x:u,y:n}=W();return{transform:ie(u,n+Xr,.98),opacity:0,transition:{duration:.12,ease:[.4,0,1,1]}}}),Ee=p(()=>$.value?{duration:0}:{transform:{type:"spring",stiffness:420,damping:34,mass:.8},opacity:{duration:.14,ease:[.22,1,.36,1]}}),he=p(()=>H.value.length>0&&(K.value.length>0||Q.value)),be=p(()=>Math.min(de.value,Rt+ht)),ye=p(()=>H.value.slice(0,Rt)),Ie=p(()=>{if(!he.value||Q.value)return[];const u=de.value-ye.value.length;return K.value.slice(0,Math.max(0,Math.min(ht,u)))}),ze=p(()=>{if(!he.value||!Q.value)return 0;const u=de.value-ye.value.length;return Math.max(0,Math.min(ht,u))}),i=p(()=>{let u=ye.value.length;return he.value&&(u+=Q.value?ze.value:Ie.value.length),Math.max(0,de.value-u)}),F=p(()=>[...ye.value,...Ie.value]);let N=null;function t(){const u=X.value??ce.value;if(!u)return;const n=u.clientWidth,l=he.value?Qr+vt:0,A=Math.max(0,n-l);de.value=Math.max(1,Math.floor((A+vt)/(qr+vt)))}xe([he,K,Q,G],()=>{De(()=>t())});function S(u){return String(u?.type||"").toUpperCase()==="VIDEO"||!!ft(u)}function q(u){const n=u.getBoundingClientRect(),l=window.innerWidth,A=n.top>=Gr+xt?"top":"bottom",me=A==="top"?n.top-Et:n.bottom+Et,ke=Yr/2,ne=n.left+n.width/2;return{x:Math.min(Math.max(ne,ke+xt),l-ke-xt),y:me,anchorX:ne,placement:A}}function Se(u,n){const l=q(n);C.value={creator:u,...l},Be(u.page_id)}function Me(u,n){if(Z.value&&C.value?.creator?.page_id===u.page_id){I();return}const l=n.currentTarget;if(Be(u.page_id,{quiet:!0}),C.value){I(),_(),Se(u,l);return}d(()=>Se(u,l))}function P(){I(),_()}function te(){Z.value||g(()=>{C.value=null,M.value=[],Y.value=!1})}function Te(){Z.value=!Z.value,Z.value&&_()}function we(){Z.value=!1,z(()=>{C.value=null,M.value=[],Y.value=!1})}function et(u){u?.ad_id&&(y("select-ad",u.ad_id),we())}function Oe(u){const n=X.value;if(!n)return null;const l=n.querySelectorAll("button[data-creator-id]");for(const A of l)if(A.dataset.creatorId===String(u))return A;return null}function $e(u){const n=F.value;if(!C.value||n.length===0)return;const l=n.findIndex(ke=>ke.page_id===C.value.creator.page_id);if(l<0)return;const A=n[(l+u+n.length)%n.length],me=Oe(A.page_id);me&&(_(),Se(A,me))}async function Be(u,n){if(pe.has(u)){(C.value?.creator.page_id===u||!n?.quiet)&&(M.value=pe.get(u).slice(0,3),Y.value=!1);return}!n?.quiet&&C.value?.creator.page_id===u&&(Y.value=!0,M.value=[]);try{const A=((await c(`/api/advertiser/${u}/ads`,{params:{mode:"top",page:1,sortBy:"winners",topAds:1}}))?.ads??[]).slice(0,3);pe.set(u,A),C.value?.creator.page_id===u&&(M.value=A)}catch(l){console.error("[home] creator preview ads fetch failed",l),C.value?.creator.page_id===u&&(M.value=[])}finally{C.value?.creator.page_id===u&&(Y.value=!1)}}async function Ve(){const u=F.value.map(A=>String(A.page_id)).filter(A=>!pe.has(A));if(!u.length)return;let n=0;const l=async()=>{for(;n<u.length;){const A=u[n++];
2await Be(A,{quiet:!0})}};await Promise.all(Array.from({length:Math.min(Wr,u.length)},()=>l()))}async function Ge(){Q.value=!0;try{const u=await c("/api/me/suggested-creators",{params:{limit:12}}),n=new Set(H.value.map(l=>l.page_id));K.value=(u?.creators??[]).filter(l=>!n.has(l.page_id))}catch(u){console.error("[home] suggested-creators fetch failed",u),K.value=[]}finally{Q.value=!1}}function Ue(u){if(C.value){if(u.key==="Escape"){u.preventDefault(),we();return}u.key==="ArrowLeft"?(u.preventDefault(),$e(-1)):u.key==="ArrowRight"&&(u.preventDefault(),$e(1))}}return xe(F,()=>{if(G.value)return;(n=>{typeof It<"u"?It(()=>n(),{timeout:2500}):setTimeout(n,400)})(()=>{Ve()})}),Ze(async()=>{window.addEventListener("keydown",Ue),typeof ResizeObserver<"u"&&(N=new ResizeObserver(()=>t()),De(()=>{ce.value&&N.observe(ce.value),t()})),Ge();try{const u=await O();if(H.value=u?.topCreators?.creators??[],ve.value=u?.topCreators?.source??"preferences",K.value.length){const n=new Set(H.value.map(l=>l.page_id));K.value=K.value.filter(l=>!n.has(l.page_id))}}catch(u){console.error("[home] top-creators feed failed",u),H.value=[]}finally{G.value=!1,y("loaded",ye.value.map(u=>String(u.page_id))),De(()=>t())}}),xe(G,(u,n)=>{n&&!u&&De(()=>D())}),Je(()=>{window.removeEventListener("keydown",Ue),N?.disconnect(),N=null}),(u,n)=>{const l=Pe,A=bt,me=kt,ke=_t,ne=ir,Le=at;return G.value||H.value.length||K.value.length||Q.value?(a(),s("section",{key:0,ref_key:"sectionRef",ref:ce,class:"flex flex-col gap-3.5"},[f(me,{icon:"ph:users-three-bold",title:ve.value==="discovery"?e(v)("home.topCreators.discoveryTitle"):e(v)("home.topCreators.title")},{actions:w(()=>[f(A,{class:"text-[12px] font-medium text-text-secondary hover:!text-primary",onClick:n[0]||(n[0]=b=>("navigateTo"in u?u.navigateTo:e(yt))("/leaderboard"))},{default:w(()=>[fe(h(e(v)("home.topCreators.seeAll"))+" ",1),f(l,{name:"ph:arrow-right",class:"size-3.5","aria-hidden":"true"})]),_:1})]),_:1},8,["title"]),G.value?(a(),s("div",{key:0,ref_key:"rowRef",ref:X,class:"flex flex-nowrap items-start gap-1.5 overflow-hidden"},[(a(!0),s(J,null,oe(be.value,b=>(a(),s("div",{key:b,class:"flex w-[74px] shrink-0 flex-col items-center gap-2 py-1 skeleton-item",style:qe({animationDelay:`${(b-1)*35}ms`})},[...n[1]||(n[1]=[r("div",{class:"skeleton-shimmer size-[50px] rounded-full ring-1 ring-border/40"},null,-1),r("div",{class:"skeleton-shimmer h-3 w-12 rounded"},null,-1),r("div",{class:"skeleton-shimmer h-2 w-9 rounded opacity-60"},null,-1)])],4))),128))],512)):(a(),s("div",{key:1,ref_key:"rowRef",ref:X,class:"flex flex-nowrap items-start gap-1.5 overflow-hidden"},[r("div",{class:U(["flex flex-nowrap gap-1.5",he.value?"pt-4":""])},[(a(!0),s(J,null,oe(ye.value,(b,E)=>(a(),V(e(ae).button,We({key:b.page_id,type:"button",class:"group flex w-[74px] shrink-0 flex-col items-center gap-1.5 rounded-xl px-1 py-1.5 transition-colors hover:bg-primary/[0.04] focusable outline-none","data-creator-id":b.page_id,title:b.name},{ref_for:!0},e(k)(E,b.page_id),{onClick:ue=>u.$emit("select-creator",b.page_id),onMouseenter:ue=>Me(b,ue),onMouseleave:te}),{default:w(()=>[r("div",{class:U(["size-[50px] shrink-0 overflow-hidden rounded-full bg-primary-light flex items-center justify-center ring-1 transition-all duration-200 group-hover:ring-2 group-hover:ring-primary focus-visible:ring-2 focus-visible:ring-primary",j(b.page_id)?"ring-2 ring-primary":"ring-border"])},[b.avatar&&!re[b.page_id]?(a(),s("img",{key:0,src:b.avatar,alt:b.name,class:"size-full object-cover",loading:"lazy",onError:ue=>re[b.page_id]=!0},null,40,ur)):(a(),s("span",cr,h(b.name?.charAt(0)?.toUpperCase()||"?"),1))],2),r("span",dr,h(b.name),1)]),_:2},1040,["data-creator-id","title","onClick","onMouseenter"]))),128))],2),he.value?(a(),s(J,{key:0},[n[4]||(n[4]=r("span",{class:"mx-0.5 mt-4 w-px shrink-0 self-stretch bg-border/80","aria-hidden":"true"},null,-1)),r("div",pr,[r("span",fr,[f(l,{name:"ph:sparkle-fill",class:U(["size-2.5",Q.value?"animate-pulse":""]),"aria-hidden":"true"},null,8,["class"]),fe(" "+h(Q.value?e(v)("home.topCreators.suggestionsSearching"):e(v)("home.topCreators.suggestionsLabel")),1)]),r("div",mr,[Q.value?(a(!0),s(J,{key:0},oe(ze.value,b=>(a(),s("div",{key:`sugg-ghost-${b}`,class:"flex w-[74px] shrink-0 flex-col items-center gap-1.5 px-1 py-1.5","aria-hidden":"true"},[r("div",vr,[n[2]||(n[2]=r("div",{class:"skeleton-shimmer size-full rounded-full"},null,-1)),r("span",hr,[f(l,{name:"ph:sparkle-fill",class:"size-2.5 animate-pulse","aria-hidden":"true"})])]),n[3]||(n[3]=r("div",{class:"skeleton-shimmer h-3 w-12 rounded"},null,-1))]))),128)):L("",!0),(a(!0),s(J,null,oe(Ie.value,(b,E)=>(a(),V(e(ae).button,We({key:`sugg-${b.page_id}`,type:"button",class:"group flex w-[74px] shrink-0 flex-col items-center gap-1.5 rounded-xl px-1 py-1.5 transition-colors hover:bg-primary/[0.04] focusable outline-none","data-creator-id":b.page_id,title:b.name},{ref_for:!0},e(k)(ye.value.length+E,`sugg-${b.page_id}`),{onClick:ue=>u.$emit("select-creator",b.page_id),onMouseenter:ue=>Me(b,ue),onMouseleave:te}),{default:w(()=>[r("div",xr,[r("div",{class:U(["size-full overflow-hidden rounded-full bg-primary-light flex items-center justify-center ring-1 transition-all duration-200 group-hover:ring-2 group-hover:ring-primary focus-visible:ring-2 focus-visible:ring-primary",j(b.page_id)?"ring-2 ring-primary":"ring-border"])},[b.avatar&&!re[b.page_id]?(a(),s("img",{key:0,src:b.avatar,alt:b.name,class:"size-full object-cover",loading:"lazy",onError:ue=>re[b.page_id]=!0},null,40,gr)):(a(),s("span",yr,h(b.name?.charAt(0)?.toUpperCase()||"?"),1))],2),r("span",{class:"absolute -bottom-0.5 -right-0.5 flex size-[18px] items-center justify-center rounded-full bg-primary text-white ring-2 ring-card",title:e(v)("home.topCreators.suggestionsLabel")},[f(l,{name:"ph:sparkle-fill",class:"size-2.5","aria-hidden":"true"})],8,_r)]),r("span",br,h(b.name),1)]),_:2},1040,["data-creator-id","title","onClick","onMouseenter"]))),128))])])],64)):L("",!0),r("div",{class:U(["flex flex-nowrap gap-1.5",he.value?"pt-4":""])},[(a(!0),s(J,null,oe(i.value,b=>(a(),s("div",{key:`slot-ph-${b}`,class:"flex w-[74px] shrink-0 flex-col items-center px-1 py-1.5","aria-hidden":"true"},[...n[5]||(n[5]=[r("div",{class:"size-[50px] rounded-full bg-border/25 dark:bg-border/1
25"},null,-1)])]))),128))],2)],512)),(a(),V(Nt,{to:"body"},[f(e(Qe),null,{default:w(()=>[C.value?(a(),V(e(ae).div,{key:"creator-preview",class:"pointer-events-none fixed left-0 top-0 z-[60] will-change-transform",role:"dialog","aria-label":C.value.creator.name,initial:ge.value,animate:_e.value,exit:Ce.value,transition:Ee.value},{default:w(()=>[r("div",{class:"pointer-events-auto relative w-[300px]",style:qe(le.value),onMouseenter:P,onMouseleave:te},[r("span",{class:U(["pointer-events-none absolute z-10 size-2.5 border-border-control bg-card shadow-[0_1px_0_rgba(0,0,0,0.04)]",C.value.placement==="top"?"-bottom-[5px] border-r border-b":"-top-[5px] border-l border-t"]),style:qe(ee.value),"aria-hidden":"true"},null,6),r("div",{class:U(["overflow-hidden rounded-xl border border-border-control bg-card shadow-[0_20px_60px_-12px_rgba(15,23,42,0.28),0_0_0_1px_rgba(0,0,0,0.04)] dark:shadow-[0_20px_60px_-12px_rgba(0,0,0,0.65),0_0_0_1px_rgba(255,255,255,0.05)]",Z.value?"ring-2 ring-primary/35":""])},[r("div",wr,[r("span",kr,[C.value.creator.avatar?(a(),s("img",{key:0,src:C.value.creator.avatar,alt:C.value.creator.name,class:"size-full object-cover"},null,8,Ar)):(a(),s("span",Sr,h(C.value.creator.name?.charAt(0)?.toUpperCase()||"?"),1))]),r("span",Cr,[r("span",$r,h(C.value.creator.name),1),C.value.creator.domain?(a(),s("span",Ir,h(C.value.creator.domain),1)):L("",!0)]),f(ke,{size:"sm",class:"!size-6 !border-0 !bg-transparent text-text-muted hover:!border-0 hover:!bg-surface hover:!text-text-primary","aria-pressed":Z.value,"aria-label":Z.value?e(v)("common.close"):e(v)("home.topCreators.preview.pin"),onClick:je(Te,["stop"])},{default:w(()=>[f(l,{name:Z.value?"ph:push-pin-fill":"ph:push-pin",class:"size-3.5","aria-hidden":"true"},null,8,["name"])]),_:1},8,["aria-pressed","aria-label"])]),r("div",zr,[r("div",Or,[f(ne,{class:"block text-[13px] font-semibold text-text-primary",value:C.value.creator.activeAds??0},null,8,["value"]),r("span",Fr,h(e(v)("home.topCreators.preview.activeAds")),1)]),r("div",Mr,[f(ne,{class:"block text-[13px] font-semibold text-text-primary",value:C.value.creator.reach,format:e(Ke)},null,8,["value","format"]),r("span",Tr,h(e(v)("home.topCreators.preview.reach")),1)]),r("div",Dr,[C.value.creator.spend!=null?(a(),V(ne,{key:0,class:"block text-[13px] font-semibold text-text-primary",value:C.value.creator.spend,format:e(vn)},null,8,["value","format"])):(a(),s("span",Rr,"â")),r("span",Er,h(e(v)("home.topCreators.preview.spend")),1)])]),r("div",Hr,[r("p",jr,h(e(v)("home.topCreators.preview.topAds")),1),Y.value?(a(),s("div",Pr,[(a(),s(J,null,oe(3,b=>r("div",{key:b,class:"flex flex-col overflow-hidden rounded-md border border-border bg-surface"},[...n[6]||(n[6]=[r("div",{class:"aspect-[4/5] skeleton-shimmer"},null,-1),r("div",{class:"space-y-1 border-t border-border px-1.5 py-1.5"},[r("div",{class:"skeleton-shimmer h-2 w-[78%] rounded"}),r("div",{class:"skeleton-shimmer h-2 w-[52%] rounded opacity-70"})],-1)])])),64))])):M.value.length?(a(),s("div",Lr,[(a(!0),s(J,null,oe(M.value,(b,E)=>(a(),V(Le,{key:b.ad_id,variant:"ghost",class:"group/ad relative aspect-[4/5] !h-auto !w-auto overflow-hidden !rounded-md !border-border-control !bg-surface !p-0 transition-colors hover:!border-primary hover:!bg-surface",style:qe(e($)?void 0:{animation:"creator-ad-in 160ms ease both",animationDelay:`${E*40}ms`}),title:b.title||"",onClick:ue=>et(b)},{default:w(()=>[E===0&&S(b)&&e(ft)(b)?(a(),s("video",{key:0,src:e(ft)(b),poster:e(nt)(b)||void 0,class:"size-full object-cover",muted:"",loop:"",playsinline:"",preload:"metadata",autoplay:""},null,8,Br)):e(nt)(b)?(a(),s("img",{key:1,src:e(nt)(b),alt:b.title||"",class:"size-full object-cover transition-transform duration-200 group-hover/ad:scale-[1.04]",loading:"lazy"},null,8,Vr)):(a(),V(l,{key:2,name:"ph:image",class:"absolute inset-0 m-auto size-5 text-text-disabled","aria-hidden":"true"})),S(b)?(a(),s("span",Ur,[f(l,{name:"ph:play-fill",class:"size-2.5","aria-hidden":"true"})])):L("",!0)]),_:2},1032,["style","title","onClick"]))),128))])):(a(),s("p",Nr,h(e(v)("home.topCreators.preview.noAds")),1
2))])],2)],36)]),_:1},8,["aria-label","initial","animate","exit","transition"])):L("",!0)]),_:1})]))],512)):L("",!0)}}}),Jr=Object.assign(ct(Zr,[["__scopeId","data-v-7950c765"]]),{__name:"HomeTopCreators"}),el={key:0,class:"flex flex-col gap-3.5"},tl={class:"flex flex-col gap-3 p-4"},nl={class:"flex gap-1.5"},it=6,al=2,rl=360,jt=12,ll=Re({__name:"HomeForYouFunnels",props:{creatorPageIds:{}},emits:["select-ad","select-creator","spy-funnel"],setup(o){const{sectionInitial:m,sectionInView:y,sectionTransition:v,tileHover:c}=dt(),O=m,$=y;function d(j){return v(.04*j)}const g=o,{t:I}=He(),z=Xe(),{ensureHomeFeed:_,feed:x}=pt(),k=T([]),D=T([]),H=T(!0),K=T(null),Q=T(3),ve=p(()=>{const j=new Set(k.value.map(ee=>ee.funnel_id)),B=D.value.filter(ee=>!j.has(ee.funnel_id));return[...k.value,...B]}),G=p(()=>Math.min(it,Q.value*al)),re=p(()=>ve.value.slice(0,G.value)),X=p(()=>G.value),ce=p(()=>({gridTemplateColumns:"repeat(auto-fill, minmax(min(100%, 360px), 1fr))"}));function de(){const j=K.value;if(!j)return;const B=getComputedStyle(j).gridTemplateColumns.split(" ").filter(se=>se.trim()).length;if(B>0){Q.value=B;return}const ee=j.clientWidth;Q.value=Math.max(1,Math.floor((ee+jt)/(rl+jt)))}let C=null,Z=null;function R(){return Z||(Z=(async()=>{try{const j=await z("/api/me/suggested-funnels",{params:{limit:it}});D.value=j?.funnels??[]}catch(j){console.error("[home] suggested-funnels fetch failed",j),D.value=[]}})(),Z)}function M(){const j=Math.max(0,it-k.value.length);if(j===0){D.value=[];return}D.value.length>j&&(D.value=D.value.slice(0,j))}async function Y(){H.value=!0,R().then(()=>{H.value||M()});try{const j=await _();k.value=j?.forYouFunnels?.funnels??[],M()}catch(j){console.error("[home] for-you feed failed",j),k.value=[],M()}finally{H.value=!1}}async function pe(){const j=(g.creatorPageIds??x.value?.lovedPageIds??[]).filter(Boolean);if(j.length===0){k.value=[],M();return}H.value=!0;try{const B=await z("/api/me/for-you-funnels",{params:{limit:it,pageIds:j.join(",")}});k.value=B?.funnels??[],M()}catch(B){console.error("[home] for-you-funnels shuffle failed",B)}finally{H.value=!1}}return xe(H,j=>{j||De(()=>de())}),Ze(()=>{typeof ResizeObserver<"u"&&(C=new ResizeObserver(()=>de()),De(()=>{K.value&&C.observe(K.value),de()})),R(),Y()}),Je(()=>{C?.disconnect(),C=null}),(j,B)=>{const ee=Pe,se=qt,W=bt,ie=kt;return H.value||ve.value.length?(a(),s("section",el,[f(ie,{icon:"ph:rocket-launch-bold",title:e(I)("home.forYouFunnels.title")},{actions:w(()=>[!H.value&&k.value.length?(a(),V(se,{key:0,class:"!h-auto !rounded-[9px] !border-border-control !py-1.5 !text-[12px] 2xl:!h-auto 2xl:!text-[12px] outline-none focusable hover:!border-primary hover:!bg-card hover:!text-primary focus-visible:!ring-0","aria-label":e(I)("home.forYouFunnels.shuffle"),onClick:pe},{default:w(()=>[f(ee,{name:"ph:shuffle-bold",class:"size-3.5","aria-hidden":"true"}),fe(" "+h(e(I)("home.forYouFunnels.shuffle")),1)]),_:1},8,["aria-label"])):L("",!0),f(W,{class:"text-[12px] font-medium text-text-secondary hover:!text-primary outline-none focusable focus-visible:!ring-0",onClick:B[0]||(B[0]=le=>("navigateTo"in j?j.navigateTo:e(yt))("/funnel-tracker"))},{default:w(()=>[fe(h(e(I)("home.forYouFunnels.seeAll"))+" ",1),f(ee,{name:"ph:arrow-right",class:"size-3.5","aria-hidden":"true"})]),_:1})]),_:1},8,["title"]),r("div",{ref_key:"gridRef",ref:K,class:"grid gap-3",style:qe(ce.value)},[H.value?(a(!0),s(J,{key:0},oe(X.value,le=>(a(),s("div",{key:le,class:"overflow-hidden rounded-xl border border-border bg-card"},[B[5]||(B[5]=sn('<div class="relative aspect-[16/9] bg-surface"><div class="skeleton-shimmer size-full"></div><div class="absolute inset-x-0 bottom-0 flex items-center gap-2.5 px-3 pb-2.5"><div class="skeleton-shimmer size-8 rounded-full ring-2 ring-white/10"></div><div class="flex flex-1 flex-col gap-1.5"><div class="skeleton-shimmer h-3 w-2/3 rounded bg-white/20"></div><div class="skeleton-shimmer h-2.5 w-1/3 rounded bg-white/15"></div></div></div></div>',1)),r("div",tl,[B[4]||(B[4]=r("div",{class:"skeleton-shimmer h-9 rounded"},null,-1)),r("div",nl,[(a(),s(J,null,oe(4,_e=>r("div",{key:_e,class:"skeleton-shimmer size-9 rounded-md"})),64))])])]))),128)):(a(!0),s(J,{key:1},oe(re.value,(le,_e)=>(a(),V(e(ae).div,{key:le.funnel_id,initial:e(O),whileInView:e($),whileHover:e(c),viewport:{once:!0,margin:"-24px"},transition:d(_e)},{default:w(()=>
2[f(bn,{funnel:le,onSelectAd:B[1]||(B[1]=ge=>j.$emit("select-ad",ge)),onSelectCreator:B[2]||(B[2]=ge=>j.$emit("select-creator",ge)),onSpyFunnel:B[3]||(B[3]=ge=>j.$emit("spy-funnel",ge))},null,8,["funnel"])]),_:2},1032,["initial","whileInView","whileHover","transition"]))),128))],4)])):L("",!0)}}}),ol=Object.assign(ll,{__name:"HomeForYouFunnels"}),sl={key:0,class:"flex items-center gap-1.5"},il={class:"overflow-hidden py-1"},ul=["title"],cl={key:0,class:"flex items-center justify-center gap-1.5 pt-1"},dl=8,pl=Re({__name:"HomeRecentAds",emits:["select-ad","select-creator","select-funnel"],setup(o){const{t:m}=He(),y=Xe(),{ensureHomeFeed:v}=pt(),c=T([]),O=T([]),$=T(!0),d=T(null),g=T(5),I=T(0),z=T(!0),{staggerProps:_,finishStagger:x}=wt({max:10,enabled:z}),{reduced:k}=Ye(),D=p(()=>k.value?!1:{opacity:0,x:14}),H={opacity:1,x:0},K=p(()=>k.value?{opacity:0}:{opacity:0,x:-14}),Q=p(()=>k.value?{duration:0}:{duration:.28,ease:[.22,1,.36,1]}),ve=p(()=>{const R=new Set(c.value.map(Y=>Y.id)),M=O.value.filter(Y=>!R.has(Y.id));return[...c.value,...M]});function G(R){return R>=1280?6:R>=1024?5:R>=768?4:R>=520?3:2}const re=p(()=>({gridTemplateColumns:`repeat(${g.value}, minmax(0, 1fr))`})),X=p(()=>{const R=ve.value.slice(0,g.value*dl),M=[];for(let Y=0;Y<R.length;Y+=g.value)M.push(R.slice(Y,Y+g.value));return M});xe(X,R=>{I.value>R.length-1&&(I.value=Math.max(0,R.length-1))}),xe(I,()=>{z.value=!0,De(()=>x())});function ce(){I.value>0&&I.value--}function de(){I.value<X.value.length-1&&I.value++}let C=null;Ze(async()=>{g.value=G(window.innerWidth),d.value&&typeof ResizeObserver<"u"&&(C=new ResizeObserver(R=>{const M=R[0]?.contentRect.width??0;M>
20&&(g.value=G(M))}),C.observe(d.value)),Z();try{const R=await v();c.value=R?.recentAds?.ads??[]}catch(R){console.error("[home] recent-ads feed failed",R),c.value=[]}finally{$.value=!1,De(()=>x())}});async function Z(){try{const R=await y("/api/me/suggested-ads",{params:{limit:12}});O.value=R?.ads??[]}catch(R){console.error("[home] suggested-ads fetch failed",R),O.value=[]}}return Je(()=>{C?.disconnect(),C=null}),(R,M)=>{const Y=Pe,pe=_t,j=bt,B=kt,ee=wn,se=kn;return a(),s("section",{ref_key:"sectionRef",ref:d,class:"flex flex-col gap-3.5"},[f(B,{icon:"ph:sparkle",title:e(m)("home.recentAds.title")},{actions:w(()=>[!$.value&&X.value.length>1?(a(),s("div",sl,[f(pe,{class:"!size-[30px] !rounded-[10px] !border-border-control text-text-secondary hover:!border-primary hover:!bg-card hover:!text-primary",disabled:I.value===0,"aria-label":e(m)("home.recentAds.prev"),onClick:ce},{default:w(()=>[f(Y,{name:"ph:caret-left-bold",class:"size-4","aria-hidden":"true"})]),_:1},8,["disabled","aria-label"]),f(pe,{class:"!size-[30px] !rounded-[10px] !border-border-control text-text-secondary hover:!border-primary hover:!bg-card hover:!text-primary",disabled:I.value>=X.value.length-1,"aria-label":e(m)("home.recentAds.next"),onClick:de},{default:w(()=>[f(Y,{name:"ph:caret-right-bold",class:"size-4","aria-hidden":"true"})]),_:1},8,["disabled","aria-label"])])):L("",!0),f(j,{class:"text-[12px] font-medium text-text-secondary hover:!text-primary",onClick:M[0]||(M[0]=W=>("navigateTo"in R?R.navigateTo:e(yt))("/ads-library"))},{default:w(()=>[fe(h(e(m)("home.recentAds.seeAll"))+" ",1),f(Y,{name:"ph:arrow-right",class:"size-3.5","aria-hidden":"true"})]),_:1})]),_:1},8,["title"]),$.value?(a(),s("div",{key:0,class:"grid gap-3",style:qe(re.value)},[(a(!0),s(J,null,oe(g.value,W=>(a(),V(ee,{key:W,delay:(W-1)*40,seed:W},null,8,["delay","seed"]))),128))],4)):ve.value.length?(a(),s(J,{key:2},[r("div",il,[f(e(Qe),{mode:"wait"},{default:w(()=>[(a(),V(e(ae).div,{key:I.value,class:"grid w-full gap-3",style:qe(re.value),initial:D.value,animate:H,exit:K.value,transition:Q.value},{default:w(()=>[(a(!0),s(J,null,oe(X.value[I.value]??[],(W,ie)=>(a(),V(e(ae).div,We({key:W.id,class:"min-w-0"},{ref_for:!0},e(_)(ie,W.id)),{default:w(()=>[f(Gt,{ad:W,onOpen:le=>R.$emit("select-ad",W.id),onOpenCreator:M[1]||(M[1]=le=>R.$emit("select-creator",le)),onOpenFunnel:M[2]||(M[2]=le=>R.$emit("select-funnel",le))},Ut({_:2},[W.isSuggestion?{name:"header-trailing",fn:w(()=>[r("span",{class:"flex items-center gap-1 rounded-full border border-primary/15 bg-primary/10 px-2 py-0.5 text-[10px] font-semibold text-primary",title:e(m)("home.recentAds.suggestion")},[f(Y,{name:"ph:sparkle-fill",class:"size-2.5","aria-hidden":"true"}),fe(" "+h(e(m)("home.recentAds.suggestion")),1)],8,ul)]),key:"0"}:void 0]),1032,["ad","onOpen"])]),_:2},1040))),128))]),_:1},8,["style","initial","exit","transition"]))]),_:1})]),X.value.length>1?(a(),s("div",cl,[(a(!0),s(J,null,oe(X.value,(W,ie)=>(a(),V(pe,{key:ie,class:U(["!min-h-0 !min-w-0 !rounded-full !border-0 p-0 hover:!border-0 hover:!bg-transparent",ie===I.value?"!h-1.5 !w-5 !bg-primary hover:!bg-primary":"!size-1.5 !bg-border-control hover:!bg-text-disabled"]),"aria-label":e(m)("home.recentAds.goToPage",{n:ie+1}),onClick:le=>I.value=ie},null,8,["class","aria-label","onClick"]))),128))])):L("",!0)],64)):(a(),V(se,{key:1,icon:"chart",title:e(m)("home.recentAds.empty.title"),description:e(m)("home.recentAds.empty.description"),"cta-label":e(m)("home.recentAds.empty.cta"),"cta-to":"/ads-library"},null,8,["title","description","cta-label"]))],512)}}}),fl=Object.assign(pl,{__name:"HomeRecentAds"}),ml={class:"home-affiliate-banner overflow-hidden rounded-[14px] border border-[#4a2e1a]/60 px-5 py-5 2xl:px-7 2xl:py-6"},vl={class:"flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between"},hl={class:"min-w-0 flex-1"},xl={class:"inline-flex items-center rounded-full border border-primary/50 bg-[#2a1810]/80 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary"},gl={class:"mt-2.5 text-[17px] font-bold leading-snug text-[#f5e6d3] 2xl:text-[19px]"},yl={class:"mt-1 max-w-[480px] text-[12px] leading-relaxed text-[#f5e6d3]/70 2xl:text-[13px]"},_l={class:"flex shrink-0 flex-wrap items-center gap-5 sm:gap-6 lg:gap-8"},bl={class:"text-center"},wl={class:"block text-[22px] font-bold leading-none text-[#f5e6d3] 2xl:text-[24px]"},kl={class:"mt-1 block text-[9px] font-semibold uppercase tracking-wider text-[#f5e6d3]/55"},Al={class:"text-center"},Sl={class:"block text-[22px] font-bold leading-none text-[#f5e6d3] 2xl:text-[24px]"},Cl={class:"mt-1 block text-[9px] font-semibold uppercase tracking-wider text-[#f5e6d3]/55"},$l=Re({__name:"HomeAffiliateBanner",setup(o){const{t:m}=He();return(y,v)=>{const c=Pe,O=Yt;return a(),s("section",ml,[r("div",vl,[r("div",hl,[r("span",xl,h(e(m)("home.affiliate.eyebrow")),1
2),r("h2",gl,h(e(m)("home.affiliate.title")),1),r("p",yl,h(e(m)("home.affiliate.description")),1)]),r("div",_l,[r("div",bl,[r("span",wl,h(e(m)("home.affiliate.kpi.percent")),1),r("span",kl,h(e(m)("home.affiliate.kpi.commission")),1)]),r("div",Al,[r("span",Sl,h(e(m)("home.affiliate.kpi.mrr")),1),r("span",Cl,h(e(m)("home.affiliate.kpi.recurring")),1)]),f(O,{to:"/affiliation",class:"inline-flex items-center gap-1.5 rounded-[10px] bg-primary px-4 py-2.5 text-[12px] font-semibold text-white transition-colors hover:bg-primary-hover focusable outline-none 2xl:text-[13px]"},{default:w(()=>[fe(h(e(m)("home.affiliate.cta"))+" ",1),f(c,{name:"ph:caret-right-bold",class:"size-3.5","aria-hidden":"true"})]),_:1})])])])}}}),Il=Object.assign(ct($l,[["__scopeId","data-v-4d428104"]]),{__name:"HomeAffiliateBanner"});function zl(){const{drawerRouteState:o,replaceDrawerRoute:m,pushDrawerRoute:y,backDrawerRoute:v,closeDrawerRoute:c}=un(),O=ot(null),$=ot(null),d=ot(null),g=ot(null),I=rt(()=>import("./DD2Wax1k.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]),import.meta.url).then(t=>{O.value=lt(t.default)}),z=rt(()=>import("./CawKEfZB.js"),__vite__mapDeps([35,2,3,36,5,37,9,38,10,39,24,11,21,40,41,42,43,44,7,45,20,22,1,4,16,17,46,14,23,30,12,13,47,48,49,50,33,51,52,53,29,25,26,27,28,54,18,55,56,32,31,57,58]),import.meta.url).then(t=>{$.value=lt(t.default)}),_=rt(()=>import("./D5WyEhcA.js"),__vite__mapDeps([59,2,3,5,37,36,9,38,10,39,24,11,21,40,41,42,43,44,7,45,20,22,1,4,16,17,46,14,23,30,12,13,47,48,49,50,33,51,25,26,27,28,32]),import.meta.url).then(t=>{d.value=lt(t.default)});rt(()=>import("./Cho2a6s4.js"),__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,61,62,63,64,65,23,24,25,26,27,28,29,30,31,66]),import.meta.url).then(t=>{g.value=lt(t.default)});const x=T(null),k=T(null),D=T(!1),H=T(null),K=T(!1),Q=T(!1),ve=T(!1),G=T(!1);xe(()=>!!x.value,t=>{t&&(K.value=!0)},{immediate:!0}),xe(()=>!!k.value,t=>{t&&(Q.value=!0)},{immediate:!0}),xe(D,t=>{t&&(ve.value=!0)},{immediate:!0}),xe(H,t=>{t&&(G.value=!0)},{immediate:!0});const re=p(()=>!!H.value),X=p(()=>D.value),ce=p(()=>"right-[500px]"),de=p(()=>k.value?"right-[500px]":"right-0");function C(){return{creatorId:null,funnelPageId:null,funnelId:null,funnelUrl:null,funnelCreator:null,funnelAvatar:null,funnelDomain:null,funnelBuilder:null,funnelAdsOpen:!1,adId:null}}function Z(t){if(!t)return null;const S=x.value;if(S?.adId===t)return S;const q=Array.isArray(S?.adIds)&&S.adIds.length>0?S.adIds:[t];return{adId:t,adIds:q}}function R(t){return{page_id:t.page_id,funnel_id:t.funnel_id,domain:t.domain||"â",creator:t.creator||"Unknown",avatar:t.avatar||null,resolved_url:t.resolved_url||t.landing_url||null,niche:t.niche||null,subcategory:t.subcategory||null,scaling:t.velocity||t.scaling||"Stable",active_ads:Number(t.active_ads)||0,total_ads:Number(t.total_ads??t.active_ads)||0,first_detection_days:t.first_detection_days??null,is_active:t.is_active!==!1,builder:t.builder||null}}function M(t){const S=R(t);return{...zt(S),funnelUrl:S.resolved_url,funnelCreator:S.creator,funnelAvatar:S.avatar,funnelDomain:S.domain!=="â"?S.domain:null,funnelBuilder:S.builder}}xe(o,t=>{const S=!!(t.funnelPageId||t.funnelId||t.funnelUrl);S?k.value=cn(t):k.value=null,D.value=S&&t.funnelAdsOpen,t.adId?(x.value=Z(t.adId),H.value=null):(x.value=null,H.value=null)},{immediate:!0});function Y(t){if(t)return Ot(t)}function pe(t){if(typeof t=="string")return t.trim();if(!t||typeof t!="object")return"";const S=t;return String(S.adId||S.ad_id||S.id||"").trim()}async function j(t,S){const q=pe(t);if(!q)return;const Me=(Array.isArray(S)?S:typeof t=="object"&&Array.isArray(t?.adIds)?t.adIds:[]).map(String).filter(Boolean);await I.catch(()=>{}),k.value=null,D.value=!1,H.value=null,x.value={adId:q,adIds:Me.length?Me:[q]},await y({...C(),adId:q})}function B(t){const S=t?.page_id;if(!(!S&&!t?.funnel_id))return S?Ot(S,{query:{funnelPageId:t.page_id||null,funnelId:t.funnel_id||null,funnelUrl:t.resolved_url||t.landing_url||null,funnelCreator:t.creator||null,funnelAvatar:t.avatar||null,funnelDomain:t.domain||null,funnelBuilder:t.builder||null}}):ee(t)}async function ee(t){const S={...t,funnel_id:t?.funnel_id||t?.funnelId||null,page_id:t?.page_id||t?.pageId||null};!S.funnel_id&&!S.page_id||(await z.catch(()=>{}),await _.catch(()=>{}),x.value=null,H.value=null,k.value=R(S),D.value=!0,await y({...C(),...M(S),funnelAdsOpen:!0}))}async function se(t){await z.catch(()=>{}),k.value=t,x.value=null,await y({...C(),...zt(t),funnelAdsOpen:!1,adId:null})}async function W(t){await I.catch(()=>{}),x.value={adId:t.adId,adIds:t.adIds??[t.adId]},await y({funnelAdsOpen:!1,adId:t?.adId||null})}async function ie(){if(!k.value)return;await _.catch(()=>{}),x.value=null,!D.value?(D.value=!0,await y({funnelAdsOpen:!0,adId:null})):(D.value=!1,await v({funnelAdsOpen:!1,adId:null}))}async function le(){D.value=!1,x.value=null,await v({funnelAdsOpen:!1,adId:null})}async function _e(t){await I.catch(()=>{}),D.value=!0,x.value={adId:t.adId,adIds:t.adIds??[t.adId]},await y({funnelAdsOpen:!0,adId:t?.adId||null})}async function ge(){x.value=null,await v({funnelAdsOpen:!0,adId:null})}async function Ce(){x.value=null,k.value?await v({funnelAdsOpen:!0,adId:null}):await v({adId:null})}async function Ee(t){x.value&&(x.value={...x.value,adId:t},k.value?await m({adId:t,funnelAdsOpen:!0}):await m({adId:t}))}async function he(){k.value=null,D.value=!1,x.value=null,await v({funnelPageId:null,funnelId:null,funnelUrl:null,funnelCreator:null,funnelAvatar:null,funnelDomain:null,funnelBuilder:null,funnelAdsOpen:!1,adId:null})}async function be({pageId:t,funnelId:S}){await z.catch(()=>{}),x.value=null,H.value=null,k.value={page_id:t||null,funnel_id:S||null,domain:"",creator:"Unknown",avatar:null,resolved_url:null,niche:null,scaling:"Stable",active_ads:0,total_ads:0,first_detection_days:null,is_active:!0,builder:null},await y({...C(),funnelPageId:t||null,funnelId:S||null})}async function ye(){H.value=null,await v({adId:null})}async function Ie(t){t&&(H.value=t,await m({adId:t}))}function ze(t){const S=typeof t=="string"?t:t?.pageId??t?.page_id;S&&Y(S)}async function i(){k.value||D.value||x.value?await he():H.value?await ye():await c()}const F=An(),N=p(()=>F.value&&(!!k.value||!!x.value||!!H.value||D.value));return{AdDetailDrawer:O,SpyDrawer:$,AdsDrawer:d,AdOverlay:g,selectedAdDetail:x,spyFunnel:k,adsDrawerOpen:D,standaloneAdId:H,adOverlayOpen:re,hasMountedAdDetailDrawer:K,hasMountedSpyDrawer:Q,hasMountedAdsDrawer:ve,hasMountedAdOverlay:G,
2spyDrawerAdsOpen:X,adsDrawerRightClass:ce,adDetailRightClass:de,anyDrawerOpen:N,openCreator:Y,openAd:j,openFunnel:B,openFunnelSpy:ee,handleOpenSpy:se,handleOpenAd:W,handleToggleSpyAdsDrawer:ie,handleCloseSpyAdsDrawer:le,handleOpenFunnelAdDetail:_e,handleBackFromFunnelAdDetail:ge,handleCloseAdDetail:Ce,handleChangeAd:Ee,handleCloseSpy:he,handleAnalyseFunnelFromAd:be,handleCloseAdOverlay:ye,handleChangeAdOverlay:Ie,handleOpenCreatorFromOverlay:ze,onBackdropClick:i}}const Ol={class:"w-full h-full overflow-hidden"},Fl={class:"page-shell h-full min-h-0"},Ml={class:"flex flex-col items-center gap-3 pt-[4vh] 2xl:pt-[5vh]"},Tl={class:"welcome-shine text-center text-[36px] font-bold tracking-tight 2xl:text-[44px]"},Dl={class:"page-hero-subtitle max-w-[540px] text-center leading-relaxed"},Rl={key:0,class:"mx-auto flex w-full max-w-[1280px] flex-wrap items-center justify-center gap-x-2.5 gap-y-2 page-content-x"},El={class:"inline-flex items-center gap-1.5 text-[11px] font-medium tracking-wide text-text-muted"},Hl={class:"mx-auto flex w-full max-w-[1280px] flex-col gap-6 page-content-x pb-3"},jl=Re({__name:"index",setup(o){const{t:m}=He();dn({title:p(()=>m("home.pageTitle"))});const{reduced:y}=Ye(),{sectionInitial:v,sectionInView:c,sectionTransition:O,chipInitial:$,chipAnimate:d,chipTransition:g}=dt(),I=p(()=>!y.value),z=p(()=>y.value?{duration:0}:{type:"spring",visualDuration:.42,bounce:.08}),_=p(()=>y.value?!1:{opacity:0,y:10}),x={opacity:1,y:0},k=p(()=>y.value?{opacity:0}:{opacity:0,y:-16,filter:"blur(4px)"}),D=p(()=>y.value?{opacity:0}:{opacity:0,y:28}),H=p(()=>y.value?{duration:0}:{duration:.28,ease:[.22,1,.36,1]}),K=p(()=>y.value?!1:{opacity:0,y:18}),Q={opacity:1,y:0},ve=p(()=>y.value?{opacity:0}:{opacity:0,y:12}),G=p(()=>y.value?{duration:0}:{duration:.32,ease:[.22,1,.36,1],delay:.06}),re=Bt(),X=pn(),{firstName:ce}=fn(),{isReady:de,canUseAiSearch:C,openUpgradeCta:Z}=Cn(),{session:R,clearSession:M,setActiveQuery:Y}=Kt(),pe=p({get:()=>R.value.searchBarQuery,set:Ne=>{R.value.searchBarQuery=Ne}}),j=p(()=>R.value.query),B=p(()=>j.value.trim().length>=2),ee=p(()=>B.value&&de.value&&C.value),se=p(()=>ee.value&&R.value.layout==="mixed"&&R.value.sections.length>=2),W=p(()=>ce.value?m("home.welcome",{name:ce.value}):m("home.welcomeNoName")),ie=T(null),{clearHomeFeed:le}=pt(),{examples:_e,pickRandom:ge}=Wt(),Ce=T([]);function Ee(){_e.value.length&&(Ce.value=ge(3))}xe(_e,()=>{Ee()},{immediate:!0});function he(){if(typeof X.query.q!="string"||!X.query.q.trim())return;const{q:Ne,...Ae}=X.query;re.replace({path:X.path,query:Ae})}Ze(()=>{he()}),Je(()=>{le(),ie.value=null}),Sn();const{AdDetailDrawer:be,SpyDrawer:ye,AdsDrawer:Ie,AdOverlay:ze,selectedAdDetail:i,spyFunnel:F,adsDrawerOpen:N,standaloneAdId:t,adOverlayOpen:S,hasMountedAdDetailDrawer:q,hasMountedSpyDrawer:Se,hasMountedAdsDrawer:Me,hasMountedAdOverlay:P,spyDrawerAdsOpen:te,adsDrawerRightClass:Te,adDetailRightClass:we,anyDrawerOpen:et,openCreator:Oe,openAd:$e,openFunnel:Be,openFunnelSpy:Ve,handleToggleSpyAdsDrawer:Ge,handleCloseSpyAdsDrawer:Ue,handleOpenFunnelAdDetail:u,handleBackFromFunnelAdDetail:n,handleCloseAdDetail:l,handleChangeAd:A,handleCloseSpy:me,handleAnalyseFunnelFromAd:ke,handleCloseAdOverlay:ne,handleChangeAdOverlay:Le,handleOpenCreatorFromOverlay:b,onBackdropClick:E}=zl();function ue(Ne){re.push({path:"/ads-library",query:{search:Ne}})}function At(Ne){const Ae=Ne.trim();if(!(Ae.length<2)&&(R.value.searchBarQuery=Ae,!!de.value)){if(!C.value){Z();return}Y(Ae)}}function Xt(){M()}return(Ne,Ae)=>{const Zt=Pe,Jt=qt,en=mn;return a(),V(en,null,{fallback:w(()=>[...Ae[4]||(Ae[4]=[r("div",{class:"flex h-full w-full items-center justify-center bg-background"},[r("div",{class:"h-8 w-8 animate-pulse rounded-full bg-primary/25"})],-1)])]),default:w(()=>[r("div",Ol,[r("div",Fl,[r("div",{class:U(["home-bg relative h-full min-h-0 custom-scrollbar bg-background",B.value?"flex flex-col overflow-hidden":"overflow-y-auto pb-16"])},[r("div",{class:U(["relative z-[1] w-full flex flex-col",B.value?"min-h-0 flex-1":"gap-5"])},[f(e(Qe),null,{default:w(()=>[B.value?L("",!0):(a(),V(e(ae).div,{key:"home-welcome",class:"mx-auto w-full max-w-[1280px] page-content-x",initial:_.value,animate:x,exit:k.value,transition:H.value},{default:w(()=>[r("div",Ml,[r("h1",Tl,h(W.value),1),r("p",Dl,h(e(m)("home.subtitle")),1)])]),_:1},8,["initial","exit","transition"]))]),_:1}),f(e(ae).div,{layout:I.value,class:U(["relative z-[2] w-full shrink-0",B.value?"sticky top-0 border-b border-border-light bg-background/90 shadow-[0_1px_0_color-mix(in_srgb,var(--color-primary)_8%,transparent)] backdrop-blur-md":""]),transition:z.value},{default:w(()=>[r("div",{class:U(["mx-auto w-full page-content-x",B.value?"max-w-[1280px] py-3":"max-w-[960px] py-2"])},[f(ua,{class:"w-full",variant:B.value?"inline":"hero","initial-query":pe.value,onSelectCreator:e(Oe),onSelectAd:e($e),onSelectFunnel:e(Ve),onSelectAi:At,onSelectSearch:ue,onClear:Xt},null,8,["variant","initial-query","onSelectCreator","onSelectAd","onSelectFunnel"])],2)]),_:1},8,["layout","class","transition"]),f(e(Qe),null,{default:w(()=>[B.value?L("",!0):(a(),V(e(ae).div,{key:"home-discovery",class:"flex flex-col gap-6",initial:_.value,animate:x,exit:D.value,transition:H.value},{default:w(()=>[Ce.value.length?(a(),s("div",Rl,[r("span",El,[f(Zt,{name:"ph:sparkle-fill",class:"size-3 text-primary","aria-hidden":"true"}),fe(" "+h(e(m)("home.search.tryLabel")),1)]),(a(!0),s(J,null,oe(Ce.value,(Fe,tn)=>(a(),V(e(ae).div,{key:Fe,initial:e($),animate:e(d),transition:e(g)(tn)},{default:w(()=>[f(Jt,{class:"!h-auto 2xl:!h-auto !rounded-full !border-primary/20 !bg-primary/[0.05] !px-3 py-1.5 text-center !text-[11px] 2xl:!text-[11px] font-normal leading-snug !text-text-secondary transition-colors hover:!border-primary/45 hover:!bg-primary/[0.1] hover:!text-primary",onClick:Pl=>At(Fe)},{default:w(()=>[fe(h(Fe),1)]),_:2},1032,["onClick"])]),_:2},1032,["initial","animate","transition"]))),128))])):L("",!0),r("div",Hl,[f(e(ae).div,{initial:e(v),whileInView:e(c),viewport:{once:!0,margin:"-40px"},transition:e(O)(0)},{default:w(()=>[f(Jr,{onSelectCreator:e(Oe),onSelectAd:e($e),onLoaded:Ae[0]||(Ae[0]=Fe=>ie.value=Fe)},null,8,["onSelectCreator","onSelectAd"])]),_:1},8,["initial","whileInView","transition"]),f(e(ae).div,{initial:e(v),whileInView:e(c),viewport:{once:!0,margin:"-40px"},transition:e(O)(.06)},{default:w(()=>[f(ol,{"creator-page-ids":ie.value,onSelectCreator:e(Oe),onSelectAd:e($e),onSpyFunnel:e(Ve)},null,8,["creator-page-ids","onSelectCreator","onSelectAd","onSpyFunnel"])]),_:1},8,["initial","whileInView","transition"]),f(e(ae).div,{initial:e(v),whileInView:e(c),viewport:{once:!0,margin:"-40px"},transition:e(O)(.12)},{default:w(()=>[f(fl,{onSelectAd:e($e),onSelectCreator:e(Oe),onSelectFunnel:Ae[1]||(Ae[1]=Fe=>e(Be)({page_id:Fe.page_id,funnel_id:Fe.funnelId}))},null,8,["onSelectAd","onSelectCreator"])]),_:1},8,["initial","whileInView","transition"]),f(e(ae).div,{initial:e(v),whileInView:e(c),viewport:{once:!0,margin:"-40px"},transition:e(O)(.18)},{default:w(()=>[f(Il)]),_:1},8,["initial","whileInView","transition"])])]),_:1},8,["initial","exit","transition"]))]),_:1}),f(e(Qe),null,{default:w(()=>[B.value&&ee.value?(a(),V(e(ae).div,{key:"home-ai-results",class:U(["min-h-0 flex-1 custom-scrollbar-thin",se.value?"overflow-y-auto lg:flex lg:flex-col lg:overflow-hidden":"overflow-y-auto"]),initial:K.value,animate:Q,exit:ve.value,transition:G.value},{default:w(()=>[r("div",{class:U(["mx-auto w-full max-w-[1280px] page-content-x pb-6 pt-3",se.value?"flex min-h-0 flex-1 flex-col lg:overflow-hidden":""])},[f(er,{class:U(se.value?"min-h-0 flex-1 lg:flex lg:flex-col lg:overflow-hidden":""),query:j.value,onOpenAd:e($e),onOpenCreator:e(Oe),onOpenFunnel:e(Ve)},null,8,["class","query","onOpenAd","onOpenCreator","onOpenFunnel"])],2)]),_:1},8,["class","initial","exit","transition"])):L("",!0)]),_:1}
2)],2)],2)]),(a(),V(Nt,{to:"body"},[f(Vt,{name:"home-backdrop"},{default:w(()=>[e(et)?(a(),s("div",{key:0,class:"fixed inset-0 z-40 cursor-pointer bg-black/20",onClick:Ae[2]||(Ae[2]=(...Fe)=>e(E)&&e(E)(...Fe))})):L("",!0)]),_:1}),e(Ie)&&e(Me)?(a(),V(st(e(Ie)),{key:0,show:e(N)&&!e(i),"page-id":e(F)?.page_id??null,"funnel-id":e(F)?.funnel_id??null,"active-ad-id":e(i)?.adId??null,"right-class":e(Te),"z-class":"z-[48]",onClose:e(Ue),onOpenAd:e(u)},null,40,["show","page-id","funnel-id","active-ad-id","right-class","onClose","onOpenAd"])):L("",!0),e(be)&&e(q)?(a(),V(st(e(be)),{key:1,show:!!e(i),"ad-id":e(i)?.adId??null,"ad-ids":e(i)?.adIds??[],"right-class":e(we),"show-back":!!(e(F)&&e(i)),"z-class":"z-[48]",onClose:e(l),onBack:e(n),onChangeAd:e(A),onAnalyseFunnel:e(ke)},null,40,["show","ad-id","ad-ids","right-class","show-back","onClose","onBack","onChangeAd","onAnalyseFunnel"])):L("",!0),e(ye)&&e(Se)?(a(),V(st(e(ye)),{key:2,show:!!e(F),funnel:e(F),"ads-open":e(te),"active-ad-id":e(i)?.adId??null,"ad-detail":e(i),"z-class":"z-[50]",onClose:e(me),onOpenAds:e(Ge),onCloseAds:e(Ue),onOpenAd:e(u),onCloseAdDetail:e(l),onBackAdDetail:e(n),onChangeAd:e(A),onOpenCreator:Ae[3]||(Ae[3]=({pageId:Fe})=>e(Oe)(Fe))},null,40,["show","funnel","ads-open","active-ad-id","ad-detail","onClose","onOpenAds","onCloseAds","onOpenAd","onCloseAdDetail","onBackAdDetail","onChangeAd"])):L("",!0),e(ze)&&e(P)?(a(),V(st(e(ze)),{key:3,show:e(S),"ad-id":e(t),onClose:e(ne),onChangeAd:e(Le),onOpenCreator:e(b),onAnalyseFunnel:e(ke)},null,40,["show","ad-id","onClose","onChangeAd","onOpenCreator","onAnalyseFunnel"])):L("",!0)]))])]),_:1})}}}),yo=ct(jl,[["__scopeId","data-v-1b132da3"]]);export{yo 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.