1import{_ as ce}from"./BcCYpabf.js";import{d as de,u as ue,l as _e,m as he,c as g,w as pe,p as H,q as W,s as fe,a as me,b as r,e as o,t as a,g as e,v as be,x as ve,y as ke,z as v,F as b,r as y,f as m,h as p,o as c,i as ge,k as ye,_ as xe}from"./DN-dukuT.js";import{a as z,E as Ce,i as we}from"./BrPXliO_.js";import{f as D,a as C,b as $e,c as q,d as Se}from"./D2JMKSqE.js";import{u as Ee}from"./6PIISXLW.js";const K=["missing","left","left12m","tested"],Te={missing:"unavail",left:"left",left12m:"left12m",tested:"tested"},Q=["missing","gone","everywhere","removed"],Ae={missing:"st:missingSomewhere",gone:"st:goneEverywhere",everywhere:"st:availableEverywhere",removed:"st:removedSomewhere"},Z=["free","paid","mixed","unknown"],J=["universal","wide","mid","regional"],X=["1k","10k","100k"],Y=["ratings","missing","left","name"],j=50,O={status:"missing",stores:[],mode:"missing",cats:[],prices:[],aud:"10k",breadth:[],basket:!1,live:!0,q:"",sort:"ratings",desc:!0,page:1},F=t=>String(t??"").split(",").map(u=>u.trim()).filter(Boolean),N=(t,u,f)=>{const n=String(t??"");return u.includes(n)?n:f};function De(t){const f=t.reset==="1"?{...O,status:"",aud:"",live:!1}:O;return{status:"status"in t?N(t.status,Q,""):f.status,stores:F(t.store).map(n=>n.toUpperCase().slice(0,2)),mode:N(t.mode,K,"missing")||"missing",cats:F(t.cat),prices:F(t.price).filter(n=>Z.includes(n)),aud:"aud"in t?N(t.aud,X,""):f.aud,breadth:F(t.breadth).filter(n=>J.includes(n)),basket:"basket"in t?t.basket==="1":f.basket,live:"live"in t?t.live==="1":f.live,q:String(t.q??"").slice(0,80),sort:N(t.sort,Y,"ratings")||"ratings",desc:t.desc!==void 0?t.desc!=="0":!0,page:Math.max(1,Math.min(200,Number(t.page)||1))}}function V(t){const u={},f=!t.status&&!t.aud&&!t.live;return f&&(u.reset="1"),t.status!==(f?"":O.status)&&(u.status=t.status),t.aud!==(f?"":O.aud)&&(u.aud=t.aud),t.live!==(f?!1:O.live)&&(u.live=t.live?"1":"0"),t.stores.length&&(u.store=t.stores.join(",")),t.stores.length&&t.mode!=="missing"&&(u.mode=t.mode),t.cats.length&&(u.cat=t.cats.join(",")),t.prices.length&&(u.price=t.prices.join(",")),t.breadth.length&&(u.breadth=t.breadth.join(",")),t.basket&&(u.basket="1"),t.q&&(u.q=t.q),t.sort!==O.sort&&(u.sort=t.sort),t.desc||(u.desc="0"),t.page>1&&(u.page=String(t.page)),u}const w={status:t=>Ae[t],store:(t,u)=>`sf:${t}:${Te[u]}`,cat:t=>`cat:${t}`,price:t=>`price:${t}`,breadth:t=>`br:${t}`,aud:t=>`aud:r${t}`,basket:()=>"st:comparable"},Oe={class:"wrap"},Re={class:"lede"},je={class:"filters"},Fe={class:"frow search"},Ne={class:"flab"},Ie={class:"fbody"},Me=["placeholder"],Le={class:"frow",role:"group","aria-labelledby":"fl-status"},Ue={id:"fl-status",class:"flab"},Be={class:"fbody"},ze={class:"chips"},Ve=["onClick"],Pe={key:0},Ge={class:"chips"},He={key:0,class:"muted small hint"},We={class:"frow",role:"group","aria-labelledby":"fl-store"},qe={id:"fl-store",class:"flab"},Ke={class:"fbody"},Qe={key:0,class:"chips"},Ze=["onClick"],Je={"aria-hidden":"true"},Xe={value:"",disabled:"",selected:""},Ye=["value","disabled"],es={key:1,class:"chips modes"},ss=["onClick"],ts={key:2,class:"muted small hint"},os={class:"frow",role:"group","aria-labelledby":"fl-cat"},as={id:"fl-cat",class:"flab"},ns={class:"fbody"},ls={class:"chips"},is=["onClick"],rs={key:0,class:"chips"},cs=["onClick"],ds={class:"frow",role:"group","aria-labelledby":"fl-aud"},us={id:"fl-aud",class:"flab"},_s={class:"fbody"},hs={class:"chips"},ps=["onClick"],fs={class:"frow",role:"group","aria-labelledby":"fl-price"},ms={id:"fl-price",class:"flab"},bs={class:"fbody"},vs={class:"chips"},ks=["onClick"],gs={class:"frow",role:"group","aria-labelledby":"fl-breadth"},ys={id:"fl-breadth",class:"flab"},xs={class:"fbody"},Cs={class:"chips"},ws=["onClick"],$s={class:"tally"},Ss={class:"big"},Es={class:"lbl"},Ts={key:0,class:"muted small"},As={class:"sorts"},Ds={class:"muted small"},Os=["onClick"],Rs={key:0,"aria-hidden":"true"},js={key:0,class:"rows"},Fs=["src"],Ns={key:1,class:"ico ph","aria-hidden":"true"},Is={class:"muted small meta"},Ms={key:2,class:"muted small when"},Ls={key:1,class:"muted empty"},Us={key:2,class:"pager"},Bs=["disabled"],zs={class:"muted small"},Vs=["disabled"],Ps={class:"muted small foot"},Gs=de({__name:"explore",async setup(t){let u,f;const{t:n,locale:_,lp:ee}=ue(),I=_e(),M=he(),l=g(()=>
1De(I.query)),{data:S,pending:P}=([u,f]=pe(()=>Ee("explore",()=>$fetch("/api/explore",{query:V(l.value)}),{watch:[()=>I.fullPath]})),u=await u,f(),u),G=g(()=>S.value?.rows??[]),E=g(()=>S.value?.total??0),L=g(()=>S.value?.counts??{}),k=d=>L.value[d]??0,se=g(()=>{const d=new Set;for(const i of Object.keys(L.value))i.startsWith("sf:")&&d.add(i.slice(3,5));return[...d].map(i=>({cc:i,name:q(i,_.value)})).sort((i,$)=>i.name.localeCompare($.name,_.value==="zh"?"zh-Hans":"en"))}),U=g(()=>{const d=Object.keys(L.value).filter(s=>s.startsWith("cat:")).map(s=>s.slice(4)),i=Ce.filter(s=>d.includes(s)),$=d.filter(s=>!we(s)).sort((s,x)=>k(`cat:${x}`)-k(`cat:${s}`));return{ed:i,genres:$}}),R=H(!1);function h(d){const i={...l.value,...d};d.status==="gone"&&(i.live=!1),d.live&&i.status==="gone"&&(i.status=""),"page"in d||(i.page=1),M.replace({query:V(i)})}const T=(d,i)=>d.includes(i)?d.filter($=>$!==i):[...d,i],te=()=>M.replace({query:{reset:"1"}}),oe=()=>M.replace({query:{}}),ae=g(()=>Object.keys(V(l.value)).length===0),ne=g(()=>{const d=l.value;return!d.status&&!d.aud&&!d.live&&!d.basket&&!d.stores.length&&!d.cats.length&&!d.prices.length&&!d.breadth.length&&!d.q}),A=H(l.value.q);W(()=>l.value.q,d=>{d!==A.value&&(A.value=d)});let B;W(A,d=>{clearTimeout(B),B=setTimeout(()=>{d!==l.value.q&&h({q:d})},300)}),fe(()=>clearTimeout(B));const le=g(()=>Math.max(1,Math.ceil(E.value/j))),ie=g(()=>E.value?(l.value.page-1)*j+1:0),re=g(()=>Math.min(E.value,l.value.page*j));return me({title:()=>n("ex_title"),description:()=>n("ex_desc"),canonical:"/explore",robots:()=>Object.keys(I.query).length?"noindex, follow":void 0}),(d,i)=>{const $=ce;return c(),r("div",Oe,[o("h1",null,a(e(n)("ex_title")),1),o("p",Re,a(e(n)("ex_lede",{apps:e(D)(e(S)?.universe??0,e(_))})),1),o("div",je,[o("label",Fe,[o("span",Ne,a(e(n)("ex_f_search")),1),o("span",Ie,[be(o("input",{"onUpdate:modelValue":i[0]||(i[0]=s=>ke(A)?A.value=s:null),type:"search",placeholder:e(n)("ex_search_ph"),maxlength:"80"},null,8,Me),[[ve,e(A)]])])]),o("div",Le,[o("span",Ue,a(e(n)("ex_f_status")),1),o("div",Be,[o("div",ze,[o("button",{class:v(["chip",{on:!e(l).status}]),onClick:i[1]||(i[1]=s=>h({status:""}))},a(e(n)("ex_st_any")),3),(c(!0),r(b,null,y(e(Q),s=>(c(),r("button",{key:s,class:v(["chip",{on:e(l).status===s}]),onClick:x=>h({status:e(l).status===s?"":s})},[m(a(e(n)(`ex_st_${s}`))+" ",1),s==="gone"&&e(l).live?p("",!0):(c(),r("b",Pe,a(e(C)(k(e(w).status(s)),e(_))),1))],10,Ve))),128))]),o("div",Ge,[o("button",{class:v(["chip",{on:e(l).live}]),onClick:i[2]||(i[2]=s=>h({live:!e(l).live}))},a(e(n)("ex_live")),3),o("button",{class:v(["chip",{on:e(l).basket}]),onClick:i[3]||(i[3]=s=>h({basket:!e(l).basket}))},[m(a(e(n)("ex_basket")),1),o("b",null,a(e(C)(k(e(w).basket()),e(_))),1)],2)]),e(l).basket?(c(),r("p",He,a(e(n)("ex_basket_x")),1)):p("",!0)])]),o("div",We,[o("span",qe,a(e(n)("ex_f_store")),1),o("div",Ke,[e(l).stores.length?(c(),r("div",Qe,[(c(!0),r(b,null,y(e(l).stores,s=>(c(),r("button",{key:s,class:"chip on",onClick:x=>h({stores:T(e(l).stores,s)})},[o("span",Je,a(e($e)(s)),1),m(" "+a(e(q)(s,e(_)))+" ",1),o("b",null,a(e(C)(k(e(w).store(s,e(l).mode)),e(_))),1),i[9]||(i[9]=o("span",{class:"x","aria-hidden":"true"},"Ã",-1))],8,Ze))),128))])):p("",!0),o("select",{class:"pick",onChange:i[4]||(i[4]=s=>
1h({stores:T(e(l).stores,s.target.value)}))},[o("option",Xe,a(e(n)("ex_store_add")),1),(c(!0),r(b,null,y(e(se),s=>(c(),r("option",{key:s.cc,value:s.cc,disabled:e(l).stores.includes(s.cc)},a(s.name)+" â "+a(e(D)(k(e(w).store(s.cc,e(l).mode)),e(_))),9,Ye))),128))],32),e(l).stores.length?(c(),r("div",es,[(c(!0),r(b,null,y(e(K),s=>(c(),r("button",{key:s,class:v(["chip sm",{on:e(l).mode===s}]),onClick:x=>h({mode:s})},a(e(n)(`ex_mode_${s}`)),11,ss))),128))])):p("",!0),e(l).stores.length>1?(c(),r("p",ts,a(e(n)("ex_store_or")),1)):p("",!0)])]),o("div",os,[o("span",as,a(e(n)("ex_f_cat")),1),o("div",ns,[o("div",ls,[(c(!0),r(b,null,y(e(U).ed,s=>(c(),r("button",{key:s,class:v(["chip",{on:e(l).cats.includes(s)}]),onClick:x=>h({cats:T(e(l).cats,s)})},[m(a(e(n)(e(z)(s))),1),o("b",null,a(e(C)(k(e(w).cat(s)),e(_))),1)],10,is))),128)),o("button",{class:"chip sm more",onClick:i[5]||(i[5]=s=>R.value=!e(R))},a(e(R)?e(n)("ex_cat_less"):e(n)("ex_cat_more",{n:e(U).genres.length})),1)]),e(R)?(c(),r("div",rs,[(c(!0),r(b,null,y(e(U).genres,s=>(c(),r("button",{key:s,class:v(["chip sm",{on:e(l).cats.includes(s)}]),onClick:x=>h({cats:T(e(l).cats,s)})},[m(a(e(n)(e(z)(s))),1),o("b",null,a(e(C)(k(e(w).cat(s)),e(_))),1)],10,cs))),128))])):p("",!0)])]),o("div",ds,[o("span",us,a(e(n)("ex_f_aud")),1),o("div",_s,[o("div",hs,[o("button",{class:v(["chip",{on:!e(l).aud}]),onClick:i[6]||(i[6]=s=>h({aud:""}))},a(e(n)("ex_aud_any")),3),(c(!0),r(b,null,y(e(X),s=>(c(),r("button",{key:s,class:v(["chip",{on:e(l).aud===s}]),onClick:x=>h({aud:e(l).aud===s?"":s})},[m(a(e(n)(`ex_aud_${s}`)),1),o("b",null,a(e(C)(k(e(w).aud(s)),e(_))),1)],10,ps))),128))])])]),o("div",fs,[o("span",ms,a(e(n)("ex_f_price")),1),o("div",bs,[o("div",vs,[(c(!0),r(b,null,y(e(Z),s=>(c(),r("button",{key:s,class:v(["chip",{on:e(l).prices.includes(s)}]),onClick:x=>h({prices:T(e(l).prices,s)})},[m(a(e(n)(`ex_price_${s}`)),1),o("b",null,a(e(C)(k(e(w).price(s)),e(_))),1)],10,ks))),128))])])]),o("div",gs,[o("span",ys,a(e(n)("ex_f_breadth")),1),o("div",xs,[o("div",Cs,[(c(!0),r(b,null,y(e(J),s=>(c(),r("button",{key:s,class:v(["chip sm",{on:e(l).breadth.includes(s)}]),onClick:x=>h({breadth:T(e(l).breadth,s)})},[m(a(e(n)(`ex_br_${s}`,e(S)?.bands??{})),1),o("b",null,a(e(C)(k(e(w).breadth(s)),e(_))),1)],10,ws))),128))])])])]),o("div",$s,[o("h2",null,[o("b",Ss,a(e(D)(e(E),e(_))),1),i[10]||(i[10]=m()),o("span",Es,a(e(n)("ex_matching")),1)]),e(P)?(c(),r("span",Ts,a(e(n)("ex_working")),1)):p("",!0),e(ne)?p("",!0):(c(),r("button",{key:1,class:"link",onClick:te},a(e(n)("ex_clear")),1)),e(ae)?p("",!0):(c(),r("button",{key:2,class:"link",onClick:oe},a(e(n)("ex_defaults")),1))]),o("div",As,[o("span",Ds,a(e(n)("ex_sort")),1),(c(!0),r(b,null,y(e(Y),s=>(c(),r("button",{key:s,class:v(["chip sm",{on:e(l).sort===s}]),onClick:x=>h({sort:s,desc:e(l).sort===s?!e(l).desc:s!=="name"})},[m(a(e(n)(`ex_sort_${s}`)),1),e(l).sort===s?(c(),r("span",Rs,a(e(l).desc?" â":" â"),1)):p("",!0)],10,Os))),128))]),e(G).length?(c(),r("ol",js,[(c(!0),r(b,null,y(e(G),s=>(c(),r("li",{key:s.id},[s.artwork?(c(),r("img",{key:0,class:"ico",src:s.artwork,alt:"",width:"32",height:"32",loading:"lazy"},null,8,Fs)):(c(),r("span",Ns)),ge($,{to:e(ee)(`/app-store-monitor/app/${s.id}`),class:"u nm"},{default:ye(()=>[m(a(s.name??`#${s.id}`),1)]),_:2},1032,["to"]),o("span",Is,[s.category?(c(),r(b,{key:0},[m(a(e(n)(e(z)(s.category)))+" · ",1)],64)):p("",!0),s.price?(c(),r(b,{key:1},[m(a(e(n)(`ex_price_${s.price}`))+" · ",1)],64)):p("",!0),m(" "+a(e(n)("ex_row_ratings",{n:e(C)(s.ratings,e(_))}))+" · "+a(e(n)("ex_row_where",{n:s.availableIn,tested:s.testedIn})),1)]),s.lastLeft?(c(),r("span",Ms,a(e(Se)(s.lastLeft,e(_))),1)):p("",!0)]))),128))])):e(P)?p("",!0):(c(),r("p",Ls,a(e(n)("ex_none")),1)),e(E)>e(j)?(c(),r("div",Us,[o("button",{class:"btn",disabled:e(l).page<=1,onClick:i[7]||(i[7]=s=>h({page:e(l).page-1}))},a(e(n)("ex_prev")),9,Bs),o("span",zs,a(e(n)("ex_range",{from:e(D)(e(ie),e(_)),to:e(D)(e(re),e(_)),total:e(D)(e(E),e(_))})),1),o("button",{class:"btn",disabled:e(l).page>=e(le),onClick:i[8]||(i[8]=s=>h({page:e(l).page+1}))},a(e(n)("ex_next")),9,Vs)])):p("",!0),o("p",Ps,a(e(n)("ex_built",{date:e(S)?.built??""})),1)])}}}),Zs=xe(Gs,[["__scopeId","data-v-27f9b412"]]);export{Zs 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.