Build 543408stable
Module 23161
3,683 characters · in a365a8e208c8ec5a.jsDependencies
Source Raw
function(e,t,r){r.d(t,{S:()=>A,v:()=>g});var l=r(64700),s=r(353640),n=r(499867),a=r(401864),o=r(124987),i=r(636537),c=r(319400),u=r(18572),d=r(652215);let b=async e=>{try{return(await i.Bo.get({url:d.Rsh.COLLECTIBLES_SEARCH,query:e,rejectWithError:!0})).body}catch(t){let e=new c.LG(t);throw(0,u.o)(e),e}};var p=r(856686);function S(e,t){let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r}let m={sortType:o.$.RECENCY,sortDirection:a.A.DESC},E={sortType:o.$.POPULARITY,sortDirection:a.A.DESC},h={sortType:o.$.RELEVANCE,sortDirection:a.A.DESC},f={itemTypeFilters:new Set,colorFilters:new Set,themeFilters:new Set,orbEligible:!1,sort:m,searchQuery:"",queryPageSize:0,queryPageOffset:0,isFetchingResults:!1,userHasSelectedSort:!1,currentTab:null},C=e=>{let{colorFilters:t,themeFilters:r,searchQuery:l,itemTypeFilters:s}=e;return t.size>0||r.size>0||""!==l.trim()?h:s.size>0?E:m},g=(0,s.v)((0,n.eh)((e,t)=>({...f,hasDefaultFilters:()=>!t().hasFilters()&&t().sort.sortType===m.sortType&&t().sort.sortDirection===m.sortDirection,hasFilters:()=>{let{itemTypeFilters:e,colorFilters:r,themeFilters:l,orbEligible:s,searchQuery:n}=t();return[e,r,l].some(e=>e.size>0)||s||""!==n},hasRelevanceFilters:()=>{let{colorFilters:e,themeFilters:r,searchQuery:l}=t();return e.size>0||r.size>0||""!==l.trim()},onToggleItemType:t=>{e(e=>{let r=S(e.itemTypeFilters,t),l={...e,itemTypeFilters:r,queryPageOffset:0};return e.userHasSelectedSort||(l.sort=C(l)),l})},onToggleColor:t=>{e(e=>{let r=S(e.colorFilters,t),l={...e,colorFilters:r,queryPageOffset:0};return e.userHasSelectedSort||(l.sort=C(l)),l})},onToggleTheme:t=>{e(e=>{let r=S(e.themeFilters,t),l={...e,themeFilters:r,queryPageOffset:0};return e.userHasSelectedSort||(l.sort=C(l)),l})},onToggleOrbEligible:()=>{e(e=>{let t={...e,orbEligible:!e.orbEligible,queryPageOffset:0};return e.userHasSelectedSort||(t.sort=C(t)),t})},onSetSort:t=>{e({sort:t,queryPageOffset:0,userHasSelectedSort:!0})},onSetResponse:t=>{e(e=>({...e,...t}))},onSetSearchQuery:t=>{e(e=>{let r={...e,searchQuery:t,queryPageOffset:0};return""!==t.trim()?(r.sort=h,r.userHasSelectedSort=!1):e.userHasSelectedSort||(r.sort=C(r)),r})},setQueryPageSize:t=>{e({queryPageSize:t})},setQueryPageOffset:t=>{e({queryPageOffset:t})},setItemTypeFilter:t=>{e(e=>{let r=new Set([t]),l={...e,colorFilters:new Set,themeFilters:new Set,orbEligible:!1,itemTypeFilters:r,queryPageOffset:0};return e.userHasSelectedSort||(l.sort=C(l)),l})},clearFilters:()=>{e({colorFilters:new Set,themeFilters:new Set,itemTypeFilters:new Set,orbEligible:!1})},reset:()=>{let{queryPageSize:r,queryPageOffset:l}=t();e({...f,queryPageSize:r,queryPageOffset:l})},setCurrentTab:t=>{e({currentTab:t})}}))),A=e=>{let{onSetResponse:t,setSearchError:r,setIsFetchingResults:s}=(0,p.S)();l.useEffect(()=>{let l=e=>{let l=async()=>{s(!0);try{let r,l,s,n,a=await b(e);t((r=a.skus,l=a.pagination.total,s=a.pagination.has_more,n=a.pagination.offset,{skus:r,totalCount:l,hasMorePages:s,pageOffset:n,pageLimit:a.pagination.limit}))}catch(e){r(e?.message??"Unknown error")}finally{s(!1)}};0!==e.limit&&l()},n=t=>((e,t)=>{let{itemTypeFilters:r,colorFilters:l,themeFilters:s,orbEligible:n,sort:a,searchQuery:o,queryPageSize:i,queryPageOffset:c}=e;return{item_types:Array.from(r),colors:Array.from(l),themes:Array.from(s),orbs_eligible:!!n||void 0,offset:c,limit:i,sort_type:a.sortType,sort_direction:a.sortDirection,search:""!==o?o:void 0,include_unpublished:!!t||void 0}})(t,e);l(n(g.getState()));let a=g.subscribe(n,l,{equalityFn:(e,t)=>JSON.stringify(e)===JSON.stringify(t)}),o=g.subscribe(e=>e.hasFilters(),(e,t)=>{if(!e&&t){let e=g.getState();e.userHasSelectedSort||g.setState({sort:C(e)})}});return()=>{a(),o()}},[t,r,s,e])}}