(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(49074),s=a(46420),l=a(18301),i=a(64897),n=a(19193),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.I,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.I,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(49074),d=a(46420),p=a(51505),h=a(82732),m=a(11775),g=a(1505),f=a(47610),b=a(49011),y=a(8068),j=a(13470),v=a(9873),x=a(64789),P=a(18301),w=a(13852),S=a(80963),k=a(57912),O=a(68378),M=(a(71105),a(19193)),F=a(72354),N=a(32075),C=a(11034),L=a(23682),_=a(42924),H=a(47975),E=a(62898),B=a(52322);const z=["title","attribute"];function D(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:D,page:I,pageIcon:R,sortByOptions:G,showRating:$,analytics:A,enableStickyCollectionNav:q,fullBleedHero:V,cmsProductPageSize:U,hiddenFilters:X}=e;const{pageHeader:K,ctaCollection:Q,merchandisedGrid:Y,legalText:J,marketingPage:W}=I||{},ee=W?_[W?.templateName??"plmpStandard"]:null,te=(0,w.O_)(),{text:ae}=(0,o.useLocalizer)(),{trackLoadMoreProducts:re}=(0,u.u)(),se=(0,i.useRouter)(),{asPath:le,pathname:ie,locale:ne,query:oe}=se,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)(le),ge=(0,l.useRef)(),{0:fe,1:be}=(0,l.useState)((()=>G.find((e=>{let{param:t}=e;return t===me.sort}))?.value||G[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:G,analytics:A,applySortBy:e=>{be((()=>e))}}),Se=(0,l.useMemo)((()=>G.map((e=>{let{value:t,label:a}=e;return{value:t,label:ae(a)}}))),[G,ae]),ke=(0,l.useMemo)((()=>({value:xe.value,label:ae(xe.label)})),[xe,ae]),Oe=(0,l.useMemo)((()=>s.map((e=>e.attribute===u.z.ESRB_RATING&&M.bh[ne]||e))),[ne,s]),Me=(0,l.useMemo)((()=>Oe.map((e=>{let{attribute:t}=e;return t}))),[Oe]),Fe=(Y||[]).flat(),Ne=(Y||[]).flat().filter((e=>{let{sku:t}=e;return Boolean(t)})),{appliedFilters:Ce,appliedFiltersQuery:Le,filteredProducts:_e,filteredState:He,refine:Ee,refineByQuery:Be,clearFilters:ze}=(0,w.x3)(Ne,Me,{operator:w.fP.AND,queryToInitializeFilters:me,hidden:X}),De=0===Ce?.length&&xe.value===G[0].value,Te=(0,S.Z)(S.o.DESKTOP),Ze=(0,l.useRef)();Ze.current=Te;const Ie=De?Fe:_e,Re=(0,l.useMemo)((()=>Ie.slice(0,(U||Ie.length)*(ye+1))),[ye,Ie,U]),Ge=Re.lengthfe?[...Re].sort(fe):Re),[Re,fe]),Ae=(0,l.useCallback)((e=>{const t=G.find((e=>{let{value:t}=e;return t===fe}))?.param||G[0].value;return`#${new URLSearchParams(T(T({},e),{},{sort:t,p:ye})).toString()}`}),[G,fe,ye]),qe=(0,l.useCallback)((e=>(je((()=>0)),e)),[]),Ve=(0,l.useCallback)((function(){qe(Ee)(...arguments)}),[Ee,qe]),Ue=(0,l.useCallback)((function(){qe(ze)(...arguments)}),[ze,qe]),Xe=(0,l.useCallback)((function(){qe(we)(...arguments)}),[we,qe]),Ke=(0,l.useCallback)((()=>{const{pageName:e}=A;re(e);const t=(0,o.deserializeHash)(),a=ye+1;t.p=a,je((()=>a))}),[ye,A,re]),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)((()=>A?.featureFlag?{featureFlag:A.featureFlag}:{featureFlag:ue?.id,featureFlagVariant:de}),[A,ue,de]),We=(0,l.useMemo)((()=>Oe.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,z);return(0,B.jsx)(O.vT,T({attribute:s,title:a&&ae(a),startCollapsed:0!==t,refine:Ve,items:He[s]?.items||[],showMoreLabel:ae("Show more"),showLessLabel:ae("Show less"),collapsible:!0,limit:5,showMore:!0,analytics:{pageName:A?.pageName}},l),s)}))),[Oe,He,Ve,ae,A]),et=(0,l.useMemo)((()=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(O.en,{$singleColumnMobile:he,children:$e.map(((e,t)=>e.sku?(0,l.createElement)(x.I8,T(T(T({},Je),{},{key:e.sku+t},e),{},{constrain:!1,showRating:$||Boolean(se.query[F.Tx.UTM_CODE])||!1,mobileHorizontal:he,analytics:{listDetails:{id:`clp-${(0,P.GL)(A.pageName)}`,name:A.pageName}}})):(0,B.jsx)(C.Z,{asset:e.asset.primary.assetPath,cta:e.cta,heading:e.heading},e.heading+t)))}),Ge&&(0,B.jsx)(E.VR,{children:(0,B.jsx)(m.B,{variant:"tertiary",icon:g.Z,onClick:Ke,children:ae("Load more")})})]})),[se.query,A,Je,$,Ge,$e,he,Ke,ae]);(0,k.Z)({isDesktop:Te,scrollToRef:ge,scrollToElementID:Z,enableStickyCollectionNav:q,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)((()=>{const e=(0,o.deserializeHash)(le),t=G.find((t=>{let{param:a}=t;return a===e.sort}))?.value||G[0].value;Be(e),be((()=>t)),je(parseInt(e.p)||0)})),(0,l.useEffect)((()=>{!0===Ze.current&&ge.current&&(0,P.n5)(ge.current,{offsetY:q&&H.d})}),[Ce.length,q]),(0,l.useEffect)((()=>{q&&ge.current&&oe?.slug!==ce&&(0,P.n5)(ge.current,{offsetY:H.d,behavior:"smooth"})}),[q,oe?.slug,ce]);const tt=(0,l.useMemo)((()=>a?(0,B.jsx)(f.B,{currentPage:ie,children:a.map(((e,t)=>(0,B.jsx)(c.Z,{href:e.href,children:(0,B.jsx)("a",{children:ae(e.title)})},e.title+t)))}):null),[a,ae,ie]),at=(0,l.useMemo)((()=>K?.asset?.primary?.assetPath?V?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(b.F,{heading:K.heading,subtitle:K.description,image:{desktop:{assetPath:K.asset?.primary?.assetPath},mobile:{assetPath:K.asset?.secondary?.assetPath}},pillFarm:Q.list,icon:R}),(0,B.jsx)(O.Hr,{})]}):(0,B.jsx)(O.tm,{iconName:R,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:D}):null),[K,V,R,D,Q]);return(0,B.jsxs)(L.Kq,{preview:t,children:[W&&(0,B.jsx)(y.H.NewLevel,{children:(0,B.jsx)(ee,{marketingPage:W})}),a&&(0,B.jsx)(O.JL,{children:tt}),at,(0,B.jsxs)(y.H.NewLevel,{children:[!V&&Q?.list.length>0&&(0,B.jsx)(O.$0,{constrained:!0,small:!0,divider:["bottom"],children:(0,B.jsx)(O.l6,{center:!0,items:Q.list})}),(0,B.jsx)("span",{ref:ge,id:"products","data-drawer-id":Z}),(0,B.jsx)(j.S,{size:48,axis:"vertical"}),(0,B.jsxs)(O.He,{children:[(0,B.jsxs)(E.zB,{$breadcrumbs:!!a,children:[(0,B.jsx)(p.D,{children:tt}),(0,B.jsx)(h.S,{label:ae("Sort by"),onSelect:Xe,options:Se,dropdownValue:te?ke:null}),(0,B.jsx)(p.M,{children:(0,B.jsx)(O.Lb,{icon:v.Z,variant:"tertiary",onClick:Pe,children:ae("Filter")})})]}),(0,B.jsx)(j.S,{size:32,axis:"vertical"}),(0,B.jsx)(O.dA,{enableStickyFilterPanel:!0,isFilterModalOpen:ve,toggleModalFiltersMenu:Pe,attributeFilterSets:We,isDesktop:Te,stickyOffset:q&&parseInt(N.TH)+16,customizeFilters:{clearFilters:Ue,removeFilter:Ve,activeFilters:Ye,totalHits:_e.length},children:et}),J&&(0,B.jsx)(E.VH,{children:(0,B.jsx)(O.Ho,{data:J,textVariant:"legal"})})]}),(0,B.jsx)(O.y4,{})]})]})};I.defaultProps={sortByOptions:M.Op},t.Z=I},86236:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/store/games/[slug]",function(){return a(36192)}])}},function(e){e.O(0,[5106,8286,4511,5820,2548,8378,3682,4210,8139,9774,2888,179],(function(){return t=86236,e(e.s=t);var t}));var t=e.O();_N_E=t}]);