(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8417],{36192:function(e,t,a){"use strict";a.r(t),a.d(t,{__N_SSP:function(){return p}});var r=a(94922),s=a(46420),l=a(36796),i=a(64897),n=a(50530),o=a(58139),c=a(75668),u=(a(66998),a(92072)),d=a(52322);var p=!0;t.default=function(e){let{page:t,preview:a}=e;const p=(0,i.Z)(),h=t.content.pageHeader.heading,m=t.content?.productsCategoryUid,g=[{href:"/",title:"Home"},{href:"/store",title:"My Nintendo Store"},{href:"/store/games",title:"Games"},{href:"/store/games/[slug]",title:h}],f=r.e.GAMES,b=(0,u.XD)({category:f,productsCategoryUid:m,merchandisedGrid:t?.content?.merchandisedGrid,router:p});return m?(0,d.jsx)(s.X$,{router:p,categoryConfig:b,defaultCategory:f,searchParamWhitelist:n.uy,preserveQueryParamKeys:n.aq,children:(0,d.jsx)(o.Z,{preview:a,breadcrumbLinks:g,page:t.content,pageIcon:"d-pad",cachePrefix:`${(0,l.GL)(h)}`,filterSections:r.G,analytics:{eventPrefix:`Games:${h}`,pageName:`Games PLP - ${h}`}})}):(0,d.jsx)(c.Z,{preview:a,breadcrumbLinks:g,page:t.content,showRating:t.showRating,filterSections:r.G,analytics:{pageName:`Games PLP - ${h}`}})}},75668:function(e,t,a){"use strict";var r=a(82269),s=a(95235),l=a(2784),i=a(5632),n=a.n(i),o=a(82091),c=a(97224),u=a(94922),d=a(46420),p=a(51505),h=a(82732),m=a(97895),g=a(24574),f=a(1505),b=a(25698),y=a(85288),j=a(38280),v=a(9873),x=a(33721),P=a(36796),w=a(13852),S=a(80963),k=a(57912),O=a(5297),F=(a(71105),a(50530)),M=a(72354),C=a(32075),L=a(11034),N=a(29019),H=a(42924),_=a(47975),B=a(62898),E=a(52322);const D=["title","attribute"];function z(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function T(e){for(var t=1;t{let{preview:t,breadcrumbLinks:a,filterSections:s,lightScrim:F,page:z,pageIcon:G,sortByOptions:I,showRating:R,analytics:$,enableStickyCollectionNav:A,fullBleedHero:q,cmsProductPageSize:V,hiddenFilters:U,disableDefaultMarketingPageHeading:X}=e;const{pageHeader:K,ctaCollection:Q,merchandisedGrid:Y,legalText:J,marketingPage:W}=z||{},ee=W?H[W?.templateName??"plmpStandard"]:null,te=X?l.Fragment:m.H.NewLevel,ae=(0,w.O_)(),{text:re}=(0,o.useLocalizer)(),{trackLoadMoreProducts:se}=(0,u.u)(),le=(0,i.useRouter)(),{asPath:ie,pathname:ne,query:oe}=le,ce=(0,w.D9)(oe?.slug),ue=(0,o.useFeature)("wdev-1631-horizontal-tiles"),de=ue?.variant?.payload?.value,pe=(0,S.Z)(S.o.TABLET_SMALL),he="horizontal"===de&&!pe,me=(0,o.deserializeHash)(ie),ge=(0,l.useRef)(),{0:fe,1:be}=(0,l.useState)((()=>I.find((e=>{let{param:t}=e;return t===me.sort}))?.value||I[0].value)),{0:ye,1:je}=(0,l.useState)((()=>parseInt(me.p)||0)),{isFilterModalOpen:ve,selectedSortByOption:xe,toggleModalFiltersMenu:Pe,handleSortByChange:we}=(0,d.sI)({sortBy:fe,sortByOptions:I,analytics:$,applySortBy:e=>{be((()=>e))}}),Se=(0,l.useMemo)((()=>I.map((e=>{let{value:t,label:a}=e;return{value:t,label:re(a)}}))),[I,re]),ke=(0,l.useMemo)((()=>({value:xe.value,label:re(xe.label)})),[xe,re]),Oe=(0,l.useMemo)((()=>s.map((e=>{let{attribute:t}=e;return t}))),[s]),Fe=(Y||[]).flat(),Me=(Y||[]).flat().filter((e=>{let{sku:t}=e;return Boolean(t)})),{appliedFilters:Ce,appliedFiltersQuery:Le,filteredProducts:Ne,filteredState:He,refine:_e,refineByQuery:Be,clearFilters:Ee}=(0,w.x3)(Me,Oe,{operator:w.fP.AND,queryToInitializeFilters:me,hidden:U}),De=0===Ce?.length&&xe.value===I[0].value,ze=(0,S.Z)(S.o.DESKTOP),Te=(0,l.useRef)();Te.current=ze;const Ze=De?Fe:Ne,Ge=(0,l.useMemo)((()=>Ze.slice(0,(V||Ze.length)*(ye+1))),[ye,Ze,V]),Ie=Ge.lengthfe?[...Ge].sort(fe):Ge),[Ge,fe]),$e=(0,l.useCallback)((()=>{const e=(0,o.deserializeHash)(ie),t=I.find((t=>{let{param:a}=t;return a===e.sort}))?.value||I[0].value;Be(e),be((()=>t)),je(parseInt(e.p)||0)}),[I,ie,Be]),Ae=(0,l.useCallback)((e=>{const t=I.find((e=>{let{value:t}=e;return t===fe}))?.param||I[0].value;return`#${new URLSearchParams(T(T({},e),{},{sort:t,p:ye})).toString()}`}),[I,fe,ye]),qe=(0,l.useCallback)((e=>(je((()=>0)),e)),[]),Ve=(0,l.useCallback)((function(){qe(_e)(...arguments)}),[_e,qe]),Ue=(0,l.useCallback)((function(){qe(Ee)(...arguments)}),[Ee,qe]),Xe=(0,l.useCallback)((function(){qe(we)(...arguments)}),[we,qe]),Ke=(0,l.useCallback)((()=>{const{pageName:e}=$;se(e);const t=(0,o.deserializeHash)(),a=ye+1;t.p=a,je((()=>a))}),[ye,$,se]),Qe=(0,l.useMemo)((()=>Ae(Le)),[Le,Ae]),Ye=(0,l.useMemo)((()=>Ce.map((e=>({attribute:e.split(w.HA)[0],label:e.split(w.HA)[1],value:e})))),[Ce]),Je=(0,l.useMemo)((()=>$?.featureFlag?{featureFlag:$.featureFlag}:{featureFlag:ue?.id,featureFlagVariant:de}),[$,ue,de]),We=(0,l.useMemo)((()=>s.filter((e=>{let{attribute:t}=e;return He[t]?.items?.length>0})).map(((e,t)=>{let{title:a,attribute:s}=e,l=(0,r.Z)(e,D);return(0,E.jsx)(O.vT,T({attribute:s,title:a&&re(a),startCollapsed:0!==t,refine:Ve,items:He[s]?.items||[],showMoreLabel:re("Show more"),showLessLabel:re("Show less"),collapsible:!0,limit:5,showMore:!0,analytics:{pageName:$?.pageName}},l),s)}))),[s,He,Ve,re,$]),et=(0,l.useMemo)((()=>(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(O.en,{$singleColumnMobile:he,children:Re.map(((e,t)=>e.sku?(0,l.createElement)(x.I8,T(T(T({},Je),{},{key:e.sku+t},e),{},{constrain:!1,showRating:R||Boolean(le.query[M.Tx.UTM_CODE])||!1,mobileHorizontal:he,analytics:{listDetails:{id:`clp-${(0,P.GL)($.pageName)}`,name:$.pageName}}})):(0,E.jsx)(L.Z,{asset:e.asset.primary.assetPath,cta:e.cta,heading:e.heading},e.heading+t)))}),Ie&&(0,E.jsx)(B.VR,{children:(0,E.jsx)(g.B,{variant:"tertiary",icon:f.Z,onClick:Ke,children:re("Load more")})})]})),[le.query,$,Je,R,Ie,Re,he,Ke,re]);(0,k.Z)({isDesktop:ze,scrollToRef:ge,scrollToElementID:Z,enableStickyCollectionNav:A,pillFarm:Q.list}),(0,l.useEffect)((()=>{n().push({pathname:n().pathname,query:n().query,hash:Qe},null,{shallow:!0}).catch((e=>{if(!e.cancelled)throw e}))}),[Qe]),(0,P.nw)((()=>{$e()})),(0,l.useEffect)((()=>{!0===Te.current&&ge.current&&(0,P.n5)(ge.current,{offsetY:A&&_.d})}),[Ce.length,A]),(0,l.useEffect)((()=>{A&&ge.current&&oe?.slug!==ce&&(0,P.n5)(ge.current,{offsetY:_.d,behavior:"smooth",onlyScrollIfAbove:!0})}),[A,oe?.slug,ce]),(0,l.useEffect)((()=>{const e=oe?.slug;Boolean(ce)&&Boolean(e)&&e!==ce&&$e()}),[$e,ce,oe?.slug]);const tt=(0,l.useMemo)((()=>a?(0,E.jsx)(b.B,{currentPage:ne,children:a.map(((e,t)=>(0,E.jsx)(c.Z,{href:e.href,children:(0,E.jsx)("a",{children:re(e.title)})},e.title+t)))}):null),[a,re,ne]),at=(0,l.useMemo)((()=>K?.asset?.primary?.assetPath?q?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(y.F,{heading:K.heading,subtitle:K.description,image:{desktop:{assetPath:K.asset?.primary?.assetPath},mobile:{assetPath:K.asset?.secondary?.assetPath}},pillFarm:Q.list,icon:G}),(0,E.jsx)(O.Hr,{})]}):(0,E.jsx)(O.tm,{iconName:G,content:{assetPath:K.asset?.primary?.assetPath,assetPathAlt:K.asset?.alt,background:K.background,cta:K.cta,description:K.description,heading:K.heading,modifiers:K.modifiers},lightScrim:F}):null),[K,q,G,F,Q]);return(0,E.jsxs)(N.Kq,{preview:t,children:[W&&(0,E.jsx)(te,{children:(0,E.jsx)(ee,{marketingPage:W})}),a&&(0,E.jsx)(O.JL,{children:tt}),at,(0,E.jsxs)(m.H.NewLevel,{children:[!q&&Q?.list.length>0&&(0,E.jsx)(O.$0,{constrained:!0,small:!0,divider:["bottom"],children:(0,E.jsx)(O.l6,{center:!0,items:Q.list})}),(0,E.jsx)("span",{ref:ge,id:"products","data-drawer-id":Z}),(0,E.jsx)(j.S,{size:36,axis:"vertical"}),(0,E.jsxs)(O.He,{children:[(0,E.jsxs)(B.zB,{$breadcrumbs:!!a,children:[(0,E.jsx)(p.D,{children:tt}),(0,E.jsx)(h.S,{label:re("Sort by"),onSelect:Xe,options:Se,dropdownValue:ae?ke:null}),(0,E.jsx)(p.M,{children:(0,E.jsx)(O.Lb,{icon:v.Z,variant:"tertiary",onClick:Pe,children:re("Filter")})})]}),(0,E.jsx)(j.S,{size:32,axis:"vertical"}),(0,E.jsx)(O.dA,{enableStickyFilterPanel:!0,isFilterModalOpen:ve,toggleModalFiltersMenu:Pe,attributeFilterSets:We,isDesktop:ze,stickyOffset:A&&parseInt(C.TH)+16,customizeFilters:{clearFilters:Ue,removeFilter:Ve,activeFilters:Ye,totalHits:Ne.length},children:et}),J&&(0,E.jsx)(B.VH,{children:(0,E.jsx)(O.Ho,{data:J,textVariant:"legal"})})]}),(0,E.jsx)(O.y4,{})]})]})};G.defaultProps={sortByOptions:F.Op},t.Z=G},86236:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/store/games/[slug]",function(){return a(36192)}])}},function(e){e.O(0,[5208,8286,4511,2072,5297,9019,7106,8139,9774,2888,179],(function(){return t=86236,e(e.s=t);var t}));var t=e.O();_N_E=t}]);