1import{dU as R,ah as A,dm as I,dn as O,r as $,H as z,j as N,X,dV as U,o as V,bW as Z,z as W,dW as j,dG as Q,v as L,d as T,aN as G,df as K,dX as Y,al as J,a as o,b as l,S as k,p as g,F as b,L as H,f as e,e as y,af as ee,m as q,t as S,c as v,D as te,dY as ae,U as se,ab as B,w as F,l as oe,aR as ne,aS as re,bk as D,dC as ce,cb as ie,dZ as le,Z as de,s as x,b6 as ue,aZ as _e,d_ as me}from"./index-DcSVvNrM.js";import{c as pe}from"./marketplace-B6Bs0ObQ.js";import{_ as fe,a as ge,u as ye}from"./ProductSearchInput.vue_vue_type_script_setup_true_lang-E5VqCiF9.js";import{P as M,_ as he,a as E}from"./ProductFields.vue_vue_type_style_index_0_lang-Dmwu7yrR.js";import"./FilterField.vue_vue_type_script_setup_true_lang-By_stLER.js";async function ve(){const u=R(),{setPageProperties:d}=A(),{catchError:r}=I(),t=$(null),n=$([]);async function i(){await r(async()=>{t.value=await u.getHomeConfig(),t.value.categories.length>0&&(n.value=await u.getProducts(t.value.categories)),d({title:t.value.metaTitle,meta:{description:t.value.metaDescription},schema:t.value.faq.length>0?pe(t.value.faq):void 0})})}return await O({onServer:i,onHydration:i,onAfterClientRender:async()=>{n.value.length===0&&await i()}}),{homeConfig:t,productCategories:n}}function we(){const u=z(),d=N(),{open:r,close:t,onModalClose:n,offModalClose:i}=X(),h=R(),{t:_}=U();async function m(){i(m);const p={...u.query};delete p.orderId,await d.replace({query:p})}async function f(){const{orderId:p}=u.query;if(typeof p!="string"||!W(p))return;let s=null;try{s=(await h.getTopUpOrder(p)).promocode}catch(a){j(a instanceof Error?a:String(a)),await m();return}n(m),r(Q,{title:_("marketplace.steam.payment.success.title"),text:W(s)?_("marketplace.steam.payment.success.promocodeText"):_("marketplace.steam.payment.success.text"),icon:"success",confirmText:_("common.great"),...W(s)?{copyText:s}:{},confirmHandler:()=>{t()}})}V(()=>{f()}),Z(()=>{i(m)})}function ke(){const u=R(),{t:d}=U(),r={steam:{title:"Steam",loadable:!1},playstation:{title:"PS Store",loadable:!0},appstore:{title:"App Store",loadable:!0}},t=Object.keys(r).map(s=>({label:r[s].title,id:s})),n=$("steam"),i=L(()=>d("marketplace.replenish",{service:r[n.value].title})),h=$({}),_=L(()=>{const s=n.value;if(m(s))return h.value[s]});function m(s){return r[s].loadable}function f(s){return s===M.Text?0:s===M.Dropdown?1:2}async function p(s){const a=await u.getProduct(s),P=a.data.fields.map(c=>c.name==="region"&&c.type===M.Select?{...c,type:M.Dropdown}:c);P.sort((c,w)=>f(c.type)-f(w.type)),h.value[s]={...a.data,fields:P}}return V(()=>{Object.keys(r).filter(m).forEach(s=>void p(s))}),{tabs:t,activeTab:n,title:i,currentProduct:_}}const be=["onClick"],$e=T({__name:"Widget",setup(u){G(a=>({v267376f3:p.value,v7a3ec6aa:m.value}));const{tabs:d,activeTab:r,title:t,currentProduct:n}=ke(),i=K("widget"),{width:h}=Y(i),_=$({}),m=$("0"),f=$(0),p=L(()=>`${f.value}px`);function s(){const a=_.value[r.value];m.value=`${(a==null?void 0:a.offsetLeft)??0}px`,f.value=(a==null?void 0:a.offsetWidth)??0}return J([r,h],s,{debounce:100,immediate:!0}),(a,P)=>(o(),l("div",{ref_key:"widget",ref:i,class:k(a.$style.widget)},[g("div",{class:k(a.$style.widget__header)},[g("div",{class:k(a.$style.widget__tabs)},[(o(!0),l(b,null,H(e(d),c=>(o(),l("div",{key:c.id,ref_for:!0,ref:w=>{w!==null&&(_.value[c.id]=w)},class:k([a.$style.widget__tab,e(r)===c.id&&a.$style["widget__tab--active"]]),onClick:w=>r.value=c.id},[y(e(ee),{name:c.id,width:16,height:16,isStatic:!0},null,8,["name"]),q(" "+S(c.label),1)],10,be))),128)),g("div",{class:k(a.$style["widget__tab-underline"])},null,2)],2)],2),g("div",{class:k(a.$style.widget__body)},[g("div",{class:k(a.$style.widget__title)},S(e(t)),3),e(r)==="steam"?(o(),v(ae,{key:0})):e(n)?(o(),v(he,{key:1,product:e(n),mode:"widget"},null,8,["product"])):(o(),l("div",{key:2,class:k(a.$style.widget__loader)},[y(e(te))],2))],2)],2))}}),Pe="k-RAKujT",Se="_8XdgxaZL",Ce="eNsPn0MO",xe="EXWaPRHg",Me="eAx1eeuO",Le="ZrxCbodF",Te="p6zcAoY3",He={widget:Pe,widget__header:Se,widget__tabs:Ce,widget__tab:xe,"widget__tab--active":"cd52LjRE","widget__tab-underline":"_2aHpwXBL",widget__body:Me,widget__title:Le,widget__loader:Te,"underlay-in":"_9SK1Qd3Z","modal-enter"
1:"JlmL3LcM","modal-enter-slide":"urazQiEc"},We={$style:He},Fe=se($e,[["__cssModules",We]]),Re={class:"feature-banners"},Ue={class:"feature-banners__title"},Ve={class:"feature-banners__description"},Be=T({__name:"FeatureBanners",props:{banners:{}},setup(u){return(d,r)=>(o(),l("div",Re,[(o(!0),l(b,null,H(u.banners,t=>(o(),l("div",{key:t.id,class:"feature-banners__item"},[y(e(B),{class:"feature-banners__link",to:t.url},null,8,["to"]),g("h3",Ue,S(t.title),1),g("p",Ve,S(t.description),1),y(e(B),{class:"feature-banners__button",to:t.url},{default:F(()=>[y(e(oe),{size:"m",rounded:""},{default:F(()=>[q(S(t.buttonText),1)]),_:2},1024)]),_:2},1032,["to"]),y(e(ne),{class:"feature-banners__image",data:e(re)({uuid:t.imageUuid,width:400,height:400}).data,disablePreview:!0},null,8,["data"])]))),128))]))}}),De={class:"product-grid-skeleton"},Ee=T({__name:"ProductGridSkeleton",setup(u){return(d,r)=>(o(),l("div",De,[(o(),l(b,null,H(12,t=>g("div",{key:t,class:"product-grid-skeleton__item"},[y(e(D),{class:"product-grid-skeleton__image",width:"100%",height:"100%"}),y(e(D),{width:"80%",height:"16px"})])),64))]))}}),qe={class:"marketplace__title"},Ae={key:0,class:"marketplace__description"},Ie=["innerHTML"],Oe={class:"marketplace__products"},Qe=T({__name:"Marketplace",async setup(u){let d,r;const{t}=U();we();const{homeConfig:n,productCategories:i}=([d,r]=ce(()=>ve()),d=await d,r(),d),{isHidden:h}=ie(),{isHidden:_}=le(),m=L(()=>i.value.flatMap(P=>P.products??[])),{searchQuery:f,isSearching:p,isEmpty:s,filteredProducts:a}=ye(m,["name"]);return V(()=>{h.value=!0,_.value=!0}),de(()=>{h.value=!1,_.value=!1}),(P,c)=>{var w;return o(),l(b,null,[y(e(me),{class:"marketplace"},{default:F(()=>[e(n)?(o(),l(b,{key:0},[g("h1",qe,S(e(n).title),1),e(n).description?(o(),l("p",Ae,[g("template",{innerHTML:e(n).description},null,8,Ie)])):x("",!0),e(n).isPayWidgetEnabled?(o(),v(Fe,{key:1,class:"marketplace__widget"})):x("",!0),e(n).banners.length>0?(o(),v(Be,{key:2,class:"marketplace__banners",banners:e(n).banners},null,8,["banners"])):x("",!0),y(fe,{modelValue:e(f),"onUpdate:modelValue":c[0]||(c[0]=C=>ue(f)?f.value=C:null),class:"marketplace__search",placeholder:e(t)("marketplace.home.searchPlaceholder")},null,8,["modelValue","placeholder"]),g("div",Oe,[e(i).length>0?(o(),l(b,{key:0},[e(p)?(o(),l(b,{key:0},[e(s)?(o(),v(e(_e),{key:0,text:e(t)("common.nothingFound")},null,8,["text"])):(o(),v(E,{key:1,products:e(a)},null,8,["products"]))],64)):(o(!0),l(b,{key:1},H(e(i),C=>(o(),v(E,{key:C.id,title:C.title,products:C.products??[]},null,8,["title","products"]))),128))],64)):(o(),v(Ee,{key:1}))])],64)):x("",!0)]),_:1}),(w=e(n))!=null&&w.faq?(o(),v(ge,{key:0,data:e(n).faq},null,8,["data"])):x("",!0)],64)}}});export{Qe 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.