@mojito-inc/secondary-market
Version:
Mojito secondary market is the platform to purchase NFT.
2 lines (1 loc) • 3.14 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),l=require("../hooks/useCollections.js"),s=require("../constant/index.js"),i=require("../utils/sessionStorage.utils.js"),o=require("../interface/index.js"),a=require("../hooks/useCollectionsList.js");const r=[{label:"Price: Low to High",value:"price_low_to_high"},{label:"Price: High to Low",value:"price_high_to_low"},{label:"Recently Listed",value:"recently_listed"},{label:"Newest",value:"recently_minted"},{label:"Oldest",value:"initially_minted"}],c=t.createContext({});exports.default=({isShowFilters:n,walletType:u,children:d,filterConfig:f,walletDetails:v})=>{var C;const h=t.useMemo((()=>20),[]),[p,D]=t.useState([]),[S,b]=t.useState(""),[g,m]=t.useState(0),[y,w]=t.useState([]),[F,x]=t.useState(!1),[L,T]=t.useState("All"),[_,j]=t.useState(o.Currency.USD),[k,I]=t.useState(null!==(C=i.session(s.SessionVariable.CollectionFilter,!0))&&void 0!==C?C:r[0].label),O=t.useCallback((()=>{var e,t;const l=r.filter((e=>e.label===k));return i.session(s.SessionVariable.CollectionFilter,!1,null===(e=null==l?void 0:l[0])||void 0===e?void 0:e.label),null===(t=null==l?void 0:l[0])||void 0===t?void 0:t.value}),[k]),q=t.useMemo((()=>({orgID:f.orgID,marketplaceID:null==f?void 0:f.marketplaceID,limit:h,offset:g*h,walletAddress:v.walletAddress,search:S,filters:O(),walletType:u,selectedCollection:"all"===(null==L?void 0:L.toLowerCase())?void 0:L,currencyType:_})),[f.orgID,null==f?void 0:f.marketplaceID,h,g,v.walletAddress,S,u,O,_,L]),M=t.useMemo((()=>{if((null==y?void 0:y.length)>0)return null==y?void 0:y.map((e=>({traitType:e.field,traitValue:e.value})))}),[y]),{collectionsData:A,collectionsLoading:V,totalCollections:E,traitsData:P,traitsLoading:H,fetchCollection:R,fetchMetaDataDetails:N}=l.useCollections(Object.assign(Object.assign({},q),{metaDataFilters:M})),{collectionsOptions:U,fetchCollectionsList:z,collectionsListLoading:B}=a.default({orgID:q.orgID,marketplaceID:q.marketplaceID}),G=t.useCallback((()=>{w([]),x(!0)}),[]),J=t.useMemo((()=>V||H||B),[V,H,B]);t.useEffect((()=>{const e=i.session(s.SessionVariable.CollectionFilter,!0);e?I(e):i.session(s.SessionVariable.CollectionFilter,!1,r[2].label)}),[]),t.useEffect((()=>{if(S||g||k||(null==v?void 0:v.walletAddress)){const e=setTimeout((async()=>{R()}),200);return()=>clearTimeout(e)}return()=>{}}),[S,k,g,null==v?void 0:v.walletAddress,R]),t.useEffect((()=>{F&&(x(!1),R())}),[R,F]),t.useEffect((()=>{n&&N()}),[n,N,q.selectedCollection]);const K=t.useMemo((()=>({search:p,selectedFilter:y,refetchFilter:F,filteredCollectionData:A,filteredCollectionsLoading:J,searchText:S,offset:g,totalCollections:E,traitsData:P,filter:k,walletType:u,selectedCollection:L,collectionsOptions:U,setSelectedFilter:w,setSearch:D,setRefetchFilter:x,setSearchText:b,setOffset:m,fetchCollection:R,setFilter:I,setSelectedCollection:T,fetchCollectionsList:z,clearTraitsFilter:G,currencyType:_,setCurrencyType:j})),[p,y,F,A,J,S,g,E,P,k,u,L,U,R,T,z,G,_,j]);return e.jsx(c.Provider,{value:K,children:d})},exports.tokensFilterOptions=r,exports.useFilterData=()=>t.useContext(c);