UNPKG

@mojito-inc/secondary-market

Version:

Mojito secondary market is the platform to purchase NFT.

2 lines (1 loc) 9.51 kB
import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{useMemo as o}from"react";import r from"@mui/material/Stack";import a from"@mui/material/Modal";import n from"@mui/material/Divider";import l from"@mui/material/Grid";import m from"@mui/material/Button";import s from"@mui/material/Typography";import c from"@mui/material/Box";import{useTheme as d}from"@mui/material/styles";import p from"@mui/icons-material/ErrorOutline";import u from"../component/MediaContentContainer.js";import"@mui/material/Tooltip";import"@mui/icons-material/InfoOutlined";import C from"../component/FeeContainer.js";import g from"../component/InputDropdownContainer.js";import"@mui/material/Select";import"@mui/material/MenuItem";import"@mui/icons-material/ImportExport";import"@mui/icons-material/KeyboardArrowDown";import{ToastTypeProps as h}from"../interface/index.js";import x from"../component/ToastContainer.js";import y from"../component/TermsAndConditionContainer.js";import f from"../component/WalletStatusContainer.js";import v from"../component/PaymentDetailsContainer.js";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"@mui/material/Pagination";import"@mui/material/PaginationItem";import"@mui/material";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 b from"../loader/BuyNowLoader.js";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"../component/VideoWithImageCard.js";import"html-react-parser";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/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 k from"../component/BreadCrumbsComponent.js";const w=({open:w,image:I,tokenDetails:T,breadCrumbs:P,selectedBreadCrumbs:S,currencyData:R,price:B,usdPrice:A,selectCurrency:O,error:j,progress:W,walletAddress:N,balance:D,validateBuyNow:M,copied:E,termsCheck:L,validateTerms:F,orderDetails:H,currencyList:V,detailsLoading:$,symbol:z,isValidBuyNow:U,termsURL:Y,conditionOfBusinessURL:X,walletType:_="ethereum",contractProgressMessage:G,mediaCardAttributes:K,onClickViewOnEtherScan:Q,onChangeTermsAndCondition:q,onChangeCurrency:J,onClickCopyReference:Z,onClickCopyHash:ee,onClickCopyWalletAddress:ie,onClickDisconnectWallet:te,onClickConnectWallet:oe,onClickSwap:re,onClickSwitchNetwork:ae,onClickBuyNow:ne,onCloseModal:le})=>{var me,se,ce,de,pe,ue,Ce,ge,he,xe,ye,fe,ve,be,ke;const we=d(),Ie=o((()=>"ethereum"===_),[_]),Te=o((()=>"solana"===_),[_]),Pe=o((()=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:{xs:"90%",md:"700px"},bgcolor:we.palette.grey[900],borderRadius:"8px",boxShadow:24,maxHeight:{xs:"93%",lg:"calc(100% - 100px)"},overflowY:"auto",padding:"16px 16px 30px 16px"})),[we]),Se=o((()=>W.loading?"Processing":j?"Retry":W.success?"View Item":"Buy Now"),[j,W]),Re=o((()=>W.loading?{message:G||"Follow wallet instruction to approve. Please do not close or reload the page...",status:h.WARNING}:W.success?{message:"Payment processed. Your purchased item will be delivered to your connected wallet.",status:h.SUCCESS}:{message:j,status:h.ERROR}),[j,W,G]),Be=o((()=>{if(Ie){if("MATIC"===z||"WMATIC"===z)return I.maticIcon;if("WETH"===z)return I.nonNativeCurrencyIcon}return Te?I.nonNativeCurrencyIcon:I.nativeCurrencyIcon}),[z,I,Ie,Te]);return e(a,{open:w,children:e(c,{sx:Pe,children:$?e(b,{}):i(t,{children:[e(c,{sx:{display:"flex",justifyContent:"center",alignItems:"center",marginBottom:"16px",marginX:{xs:"16px",lg:0}},children:e("img",{src:I.logo,style:{width:"100%",height:"50px",objectFit:"contain"},alt:"logo"})}),e(c,{sx:{marginBottom:"16px",marginX:{xs:"16px",lg:0}},children:e(k,{"data-testid":"onClick_bread_crumbs",list:P||[],selectedValue:S||"",itemHighlightedStyle:{fontSize:"12px",fontWeight:"500",color:we.palette.background.default},itemStyle:{fontSize:"12px",fontWeight:"500",color:we.palette.grey[500]}})}),e(c,{sx:{marginBottom:"30px",marginX:{xs:"16px",lg:0}},children:i(l,{container:!0,spacing:2,children:[e(l,{item:!0,xs:12,sm:12,md:6,lg:6,xl:6,children:e(u,{title:T.tokenName,url:"thumbnail-only"!==(null==K?void 0:K.thumbnailFrame)&&"custom"!==(null==K?void 0:K.thumbnailFrame)&&(null==T?void 0:T.thumbnail)||(null==T?void 0:T.tokenImage),subTitle:T.tokenArtistName,placeholderImage:I.placeHolderImage,videoAttributes:K,height:"350px"})}),i(l,{item:!0,xs:12,sm:12,md:6,lg:6,xl:6,children:["Confirmation"===S?e(t,{children:W.success?e(v,{totalPrice:H.price,walletAddress:N,transactionHash:H.transactionHash,referenceNumber:H.referenceNumber,copied:E,ethIcon:Be,onClickCopyHash:ee,onClickCopyReference:Z,onClickCopyWalletAddress:ie,onClickViewOnEtherScan:Q,walletType:_}):i(t,{children:[e(C,{title:"Price",usdPrice:A,cryptoPrice:`${B} ${z}`,ethIcon:Be,totalPriceFontSize:14,isTotalPrice:!0}),e(n,{sx:{marginY:"16px",borderColor:null===(ce=null===(se=null===(me=we.palette)||void 0===me?void 0:me.appDefaultColor)||void 0===se?void 0:se.secondary)||void 0===ce?void 0:ce.light}}),e(C,{title:"Total Price",usdPrice:A,cryptoPrice:`${B} ${z}`,ethIcon:Be,isTotalPrice:!0})]})}):i(t,{children:[e(g,{ethIcon:Be,isDropdown:V.length>1,title:"PRICE",currencyData:R,price:B,disabled:!0,currencyList:V,selectCurrency:O,onChangeCurrency:J}),e(n,{sx:{marginY:"16px",borderColor:null===(ue=null===(pe=null===(de=we.palette)||void 0===de?void 0:de.appDefaultColor)||void 0===pe?void 0:pe.secondary)||void 0===ue?void 0:ue.light}}),e(c,{sx:{marginBottom:"16px"},children:e(C,{title:"Total Price",usdPrice:A,cryptoPrice:`${null!=B?B:"0"} ${z}`,ethIcon:Be,isTotalPrice:!0})}),!M.networkCheck&&!W.loading&&i(t,{children:[e(c,{sx:{marginBottom:"16px"},children:e(f,{balance:D,walletAddress:N,copied:E===N,isSwap:M.isSwap&&!Te,ethIcon:Be,symbol:O,onClickCopy:ie,onClickConnectWallet:oe,onClickDisconnectWallet:te,onClickSwap:()=>re(M.message)})}),e(c,{sx:{marginBottom:"16px"},children:e(y,{checked:L,termURL:Y,conditionOfBusinessURL:X,error:F,handleTermsAndCondition:q})})]}),!M.networkCheck||W.loading||W.success||0!==(null==j?void 0:j.length)?M.balanceCheck&&!W.loading&&!W.success||!M.isWalletConnected||U?e(x,{message:U||M.message,status:h.ERROR}):null:i(c,{sx:{display:"flex",alignItems:"center",padding:"8px 16px",borderRadius:"4px",gap:1,background:null===(ge=null===(Ce=we.palette)||void 0===Ce?void 0:Ce.toastError)||void 0===ge?void 0:ge[50],border:`1px solid ${null===(xe=null===(he=we.palette)||void 0===he?void 0:he.toastError)||void 0===xe?void 0:xe[100]}`},children:[e(p,{sx:{color:null===(fe=null===(ye=we.palette)||void 0===ye?void 0:ye.toastError)||void 0===fe?void 0:fe[500],fontSize:"16px"}}),i(s,{sx:{fontSize:"12px",fontWeight:"400"},children:["Please switch to"," ",e(s,{onClick:()=>ae(),sx:{fontSize:"12px",fontWeight:"400",textDecorationLine:"underline",display:"inline",cursor:"pointer"},children:M.message})," ","Network in order to complete checkout"]})]})]}),e(c,{sx:{marginY:"16px"},children:(W.loading||W.success||j)&&e(x,{message:Re.message,status:Re.status})})]})]})}),i(r,{direction:"column",sx:{justifyContent:"center",alignItems:"center",marginX:{xs:"16px",lg:0}},children:[e(m,{startIcon:W.loading&&e("img",{src:I.loader,style:{width:"20px",height:"20px",objectFit:"contain",animation:"rotate 2s linear infinite"},alt:"loader"}),disabled:W.loading||M.balanceCheck||M.networkCheck&&0===(null==j?void 0:j.length)||!M.isWalletConnected||(null==U?void 0:U.length)>0&&!W.success,onClick:()=>ne(Se),sx:{width:{xs:"100%",lg:"70%"},marginBottom:"25px",height:"50px",borderRadius:"0px","&.Mui-disabled":{backgroundColor:we.palette.primary.main,color:null===(ke=null===(be=null===(ve=null==we?void 0:we.palette)||void 0===ve?void 0:ve.appDefaultColor)||void 0===be?void 0:be.secondary)||void 0===ke?void 0:ke.dark,cursor:"not-allowed",pointerEvents:"all"}},children:Se}),e(s,{onClick:le,sx:{cursor:W.loading?"not-allowed":"pointer",fontWeight:"500",width:"100%",textAlign:"center",color:we.palette.primary.main,textTransform:"uppercase"},children:W.success?"Back To Marketplace":"Cancel"})]})]})})})};export{w as default};