UNPKG

@mojito-inc/secondary-market

Version:

Mojito secondary market is the platform to purchase NFT.

2 lines (1 loc) 10.6 kB
import{jsxs as i,jsx as e,Fragment as t}from"react/jsx-runtime";import*as o from"react";import{useState as l,useMemo as r,useEffect as n,useCallback as a}from"react";import m from"@mui/material/Box";import{useAuth as d}from"@mojito-inc/core-service";import"@mui/material/Typography";import"@mui/material/styles";import"html-react-parser";import"../component/VideoWithImageCard.js";import"@mui/material/Divider";import"@mui/material/Tooltip";import"@mui/icons-material/InfoOutlined";import"@mui/material/Grid";import"@mui/icons-material/KeyboardArrowDown";import"@mui/material/Select";import"@mui/material/TextField";import"@mui/material/MenuItem";import"@mui/material/Stack";import"@mui/icons-material/ImportExport";import"../interface/index.js";import"@mui/icons-material/Warning";import"@mui/icons-material/CheckCircleOutline";import"@mui/icons-material/ErrorOutline";import"@mui/material/Checkbox";import"@mui/material/Button";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/KeyboardArrowUp";import"@mui/icons-material/HelpOutline";import"@mui/material/IconButton";import"@mui/icons-material/FavoriteBorder";import"@mui/icons-material/Favorite";import"@mui/icons-material/FileCopyOutlined";import"moment";import s from"../component/Pagination.js";import"@mui/material/Table";import"@mui/material/TableCell";import"@mui/material/TableHead";import"@mui/material/TableBody";import"@mui/material/TableRow";import"@mui/material/TableContainer";import"@mui/icons-material/OpenInNew";import"@mui/material/Skeleton";import"@mui/material/CardActions";import"@mui/material/Card";import"@mui/material/CardContent";import"@mui/icons-material/RemoveCircleOutline";import"@mui/icons-material/SellOutlined";import"@mui/icons-material/AttachMoneyOutlined";import"@mui/icons-material/Send";import"@mui/icons-material/NewReleases";import"@mui/icons-material/CancelScheduleSend";import"@mui/icons-material/HourglassDisabledOutlined";import"@mui/icons-material/CallMissedOutlined";import"@mui/icons-material/MoveToInboxOutlined";import"@mui/icons-material/CheckCircleOutlineOutlined";import"@mui/icons-material/BorderColorOutlined";import u from"../component/Banner.js";import"@mui/icons-material/Twitter";import"@mui/icons-material/MoreVert";import"../constant/index.js";import"@mui/material/useMediaQuery";import"@mui/material/CircularProgress";import"react-player";import"@mui/icons-material/Pause";import"@mui/icons-material/PlayArrow";import"../_virtual/_tslib.js";import"@mui/material/Tab";import"@mui/material/Tabs";import"@mui/material/Menu";import"@mui/material/Modal";import"@mui/material/ListItem";import"@mui/material/List";import"@mui/icons-material/Close";import"@mui/material/ListItemText";import"@mui/icons-material/CheckRounded";import"@mui/icons-material/FiberManualRecord";import"@mui/icons-material/Refresh";import"../component/RenderIf.js";import"@mui/icons-material/AccountBalanceWallet";import"@mui/material/Breadcrumbs";import"@mui/icons-material/ArrowForward";import{getTotalPage as c}from"../utils/pagination.utils.js";import"@mui/material";import p from"./TokensListLayout.js";import"@mui/icons-material/FilterList";import"@mui/icons-material/Search";import"@mui/material/InputAdornment";import"@mui/icons-material/ExitToAppOutlined";import v from"../public/ListItemContainer.js";import C from"../public/MakeOfferContainer.js";import f from"../public/BuyNow.js";import{useFilterData as k,tokensFilterOptions as w}from"../provider/CollectionFilterProvider.js";const h=({walletDetails:h,Image:g,config:I,primaryBannerDetails:b,secondaryBannerDetails:x,priceInputRange:T,showAttributeFilters:A,cardLoaderBg:L,cardSkeletonBg:R,currencyValue:y,searchPlaceholderText:B,collectionFilterProp:D,termsURL:O,conditionOfBusinessURL:S,customRPCUrl:j,videoAttributes:F,onConnectWallet:M,onRefetchBalance:P,onClickDisconnectWallet:U,onClickCard:N,onViewItem:H,onClickCustomRedirection:E,backToMarketPlace:W,onHandleApiSessionExpired:V})=>{var $,K,_,G,Q,q,z,J,X,Y;const[Z]=l(new URLSearchParams(null===($=null===window||void 0===window?void 0:window.location)||void 0===$?void 0:$.search)),{sessionStatus:ii}=d(),ei=r((()=>20),[]),{searchText:ti,offset:oi,totalCollections:li,filteredCollectionData:ri,filteredCollectionsLoading:ni,traitsData:ai,filter:mi,walletType:di,selectedCollection:si,currencyType:ui,setFilter:ci,fetchCollection:pi,setSearchText:vi,setOffset:Ci,setSelectedCollection:fi,fetchCollectionsList:ki,setCurrencyType:wi,collectionsOptions:hi}=k(),gi=o.useRef(null),Ii=r((()=>"solana"===di),[di]),[bi,xi]=l(!0),[Ti,Ai]=l(!1),[Li,Ri]=l(!1),[yi,Bi]=l(!1),[Di,Oi]=l(!1),[Si,ji]=l(!1),[Fi,Mi]=l(),[Pi,Ui]=l(!1);n((()=>{pi(),ki()}),[pi,ki]),n((()=>{bi&&setTimeout((()=>{xi(!1)}),500)}),[bi]),n((()=>{y&&wi(y)}),[y,wi]),n((()=>{"Expired"===ii&&(Ai(!1),Ri(!1),Bi(!1),Mi(void 0),null==V||V())}),[V,ii]),n((()=>{if(ti||oi||mi||(null==h?void 0:h.walletAddress)||si){const i=setTimeout((async()=>{pi()}),200);return()=>clearTimeout(i)}return()=>{}}),[ti,mi,oi,null==h?void 0:h.walletAddress,pi,si,ui,y]);const Ni=a((i=>{gi.current&&clearTimeout(gi.current),vi(i.target.value),Ci(0),gi.current=setTimeout((()=>{xi(!1)}),500)}),[Ci,vi]),Hi=a((i=>{xi(!1),ci(i.target.value),Ci(0)}),[ci,Ci]);n((()=>{if(D){const i=hi.find((i=>{var e;return(null===(e=i.label)||void 0===e?void 0:e.toLowerCase())===(null==D?void 0:D.toLowerCase())}));if(i){fi(null==i?void 0:i.value),null==Z||Z.set("collection",D);const e=`${window.location.pathname}?${null==Z?void 0:Z.toString()}`;window.history.replaceState(null,"",e)}}}),[D,hi,Z,fi]);const Ei=a((i=>{var e;xi(!1),fi(i);const t=hi.find((e=>{var t;return(null===(t=e.value)||void 0===t?void 0:t.toLowerCase())===(null==i?void 0:i.toLowerCase())}));if(t){null==Z||Z.set("collection",null!==(e=null==t?void 0:t.label)&&void 0!==e?e:"");const i=`${window.location.pathname}?${null==Z?void 0:Z.toString()}`;window.history.replaceState(null,"",i)}}),[fi,hi,Z]),Wi=r((()=>c(li,ei)),[li,ei]),Vi=a((i=>{void 0!==typeof document&&(document.documentElement.scrollTop=0),xi(!1),Ci(i-1)}),[Ci]),$i=a((async()=>{(null==h?void 0:h.walletAddress)?(ji(!0),Ri(!0)):M()}),[h,M]),Ki=a((i=>{var e,t,o,l,r,n,a,m;if("Buy Now"===(null===(e=null==i?void 0:i.cardDetail)||void 0===e?void 0:e.buttonName))Bi(!0);else if("List Item"===(null===(t=null==i?void 0:i.cardDetail)||void 0===t?void 0:t.buttonName)||"Edit Listing"===(null===(o=null==i?void 0:i.cardDetail)||void 0===o?void 0:o.buttonName)){if(!(null==h?void 0:h.walletAddress))return void M();Oi(!1),Ai(!0)}else if("Make Offer"===(null===(l=null==i?void 0:i.cardDetail)||void 0===l?void 0:l.buttonName)){if(!(null==h?void 0:h.walletAddress))return void M();ji(!1),Ri(!0)}else if("Remove Listing"===(null===(r=null==i?void 0:i.cardDetail)||void 0===r?void 0:r.buttonName)){if(!(null==h?void 0:h.walletAddress))return void M();Oi(!0),Ai(!0)}else"Cancel Offer"===(null===(n=null==i?void 0:i.cardDetail)||void 0===n?void 0:n.buttonName)?$i():"View Details"===(null===(a=null==i?void 0:i.cardDetail)||void 0===a?void 0:a.buttonName)&&H&&H({id:null==i?void 0:i.id,tokenId:Ii?null==i?void 0:i.tokenId:parseInt(null!==(m=null==i?void 0:i.tokenId)&&void 0!==m?m:"0",10),contractAddress:null==i?void 0:i.contractAddress})}),[h,M,$i,Ii,H]),_i=a((i=>{var e;Mi(void 0),E?E({id:null==i?void 0:i.id,tokenId:Ii?i.tokenId:parseInt(null!==(e=null==i?void 0:i.tokenId)&&void 0!==e?e:"0",10),contractAddress:null==i?void 0:i.contractAddress}):(Mi(i),Ki(i))}),[Ii,E,Ki]),Gi=a((()=>{Ai(!1),Mi(void 0)}),[]),Qi=a((()=>{Ri(!1)}),[]),qi=a((()=>{Bi(!1)}),[]),zi=a((()=>{var i;Qi(),Gi(),qi(),pi(),H&&H({id:null==Fi?void 0:Fi.id,tokenId:Ii?null==Fi?void 0:Fi.tokenId:parseInt(null!==(i=null==Fi?void 0:Fi.tokenId)&&void 0!==i?i:"0",10),contractAddress:null==Fi?void 0:Fi.contractAddress})}),[Fi,Ii,Qi,Gi,qi,H,pi]),Ji=a((()=>{var i;Qi(),Gi(),qi(),pi(),W&&W({id:null==Fi?void 0:Fi.id,tokenId:Ii?null==Fi?void 0:Fi.tokenId:parseInt(null!==(i=null==Fi?void 0:Fi.tokenId)&&void 0!==i?i:"0",10),contractAddress:null==Fi?void 0:Fi.contractAddress})}),[Ii,Fi,Qi,Gi,qi,W,pi]);return i(m,{sx:{width:"100%",maxWidth:"1440px",margin:"auto"},children:[e(m,{sx:{paddingLeft:{sm:"16px",xs:"16px",lg:"40px",xl:"96px"}},children:b&&e(u,{mediaURL:b.mediaURL,title:b.title,subtitle:b.subtitle})}),i(m,{sx:{minHeight:"calc(100vh - 200px)",padding:{sm:"16px",xs:"16px",lg:"43px"}},children:[e(p,{collectionsLoading:ni,tokensFilterOptions:w,tokensFilterValue:null!=mi?mi:"",tokensData:ri,search:null!=ti?ti:"",showFilter:Pi,traitsData:null!=ai?ai:[],showAttributeFilters:A,videoAttributes:F,setShowFilter:Ui,onClickTokenButton:_i,onChangeFilter:Hi,onChangeCollectionFilter:Ei,onChangeSearch:Ni,onClickCard:N,placeHolderImage:g.placeHolderImage,cardLoaderBg:L,cardSkeletonBg:R,showFilterLoader:bi,searchPlaceholderText:B}),Wi>1&&!ni&&e(m,{sx:{marginTop:"48px",marginBottom:"110px"},children:e(s,{offset:oi+1,total:Wi,onHandlePagination:Vi})}),x&&e(m,{sx:{marginTop:"32px"},children:e(u,{mediaURL:x.mediaURL,title:x.title,buttonName:x.buttonName,subtitle:x.subtitle,onClickButton:()=>{var i;return null===(i=null==x?void 0:x.onClickButton)||void 0===i?void 0:i.call(x)}})})]}),Fi&&i(t,{children:[e(v,{open:Ti,image:g,customRPCUrl:j,config:Object.assign(Object.assign({},I),{currency:ui}),tokenDetails:{itemId:null!==(K=null==Fi?void 0:Fi.id)&&void 0!==K?K:"",contractAddress:null!==(_=null==Fi?void 0:Fi.contractAddress)&&void 0!==_?_:"",onChainTokenID:null!==(G=null==Fi?void 0:Fi.tokenId)&&void 0!==G?G:""},isRemoveListing:Di,walletDetails:h,priceInputRange:T,onClickViewItem:zi,onClickBackToMarketPlace:Ji,onCloseModal:Gi,onConnectWallet:M,onHandleApiSessionExpired:V,onRefetchBalance:P}),e(C,{open:Li,config:I,image:g,customRPCUrl:j,tokenDetails:{itemId:null!==(Q=null==Fi?void 0:Fi.id)&&void 0!==Q?Q:"",contractAddress:null!==(q=null==Fi?void 0:Fi.contractAddress)&&void 0!==q?q:"",onChainTokenID:null!==(z=null==Fi?void 0:Fi.tokenId)&&void 0!==z?z:""},isCancelOffer:Si,walletDetails:h,priceInputRange:T,onClickViewItem:zi,onClickBackToMarketPlace:Ji,onRefetchBalance:P,onConnectWallet:M,onCloseModal:Qi,onHandleApiSessionExpired:V,termsURL:O,conditionOfBusinessURL:S}),e(f,{open:yi,config:Object.assign(Object.assign({},I),{currency:ui,customRPCUrl:j}),image:g,tokenDetails:{itemId:null!==(J=null==Fi?void 0:Fi.id)&&void 0!==J?J:"",contractAddress:null!==(X=null==Fi?void 0:Fi.contractAddress)&&void 0!==X?X:"",onChainTokenID:null!==(Y=null==Fi?void 0:Fi.tokenId)&&void 0!==Y?Y:""},walletDetails:h,onClickViewItem:zi,onClickBackToMarketPlace:Ji,onClickConnectWallet:M,onClickDisconnectWallet:U,onCloseModal:qi,onHandleApiSessionExpired:V,onRefetchBalance:P})]})]})};export{h as default};