@mojito-inc/secondary-market
Version:
Mojito secondary market is the platform to purchase NFT.
2 lines (1 loc) • 8.33 kB
JavaScript
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 l from"@mui/material/Divider";import m from"@mui/material/Grid";import n from"@mui/material/Button";import s from"@mui/material/Typography";import c from"@mui/material/Box";import{useTheme as p}from"@mui/material/styles";import u from"../component/MediaContentContainer.js";import d from"../component/PriceContainer.js";import{formatUsdAndEuroCurrency as f}from"../utils/usdAndEuroCurrencyFormat.js";import"@mui/icons-material/KeyboardArrowDown";import"@mui/material/Select";import"@mui/material/TextField";import"@mui/material/MenuItem";import"@mui/icons-material/ImportExport";import g from"../component/TotalOfferPriceContainer.js";import x from"../component/ToastContainer.js";import"@mui/material/Checkbox";import"@mui/material/Tooltip";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{ToastTypeProps as h,Currency as C}from"../interface/index.js";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 y 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 b from"../component/ErrorContainer.js";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 v from"../component/BreadCrumbsComponent.js";import{truncateDecimal as w}from"../utils/truncateDecimal.utils.js";const I=({open:I,image:O,tokenDetails:T,breadCrumbs:k,selectedBreadCrumbs:j,error:R,progress:P,price:S,listPricePercentage:A,isValidOffer:N,isRejectOffer:B,switchNetwork:D,isPDP:W,walletConnection:F,isLoading:M,fiatCurrency:E=C.USD,walletType:H,creatorFee:_,serviceFee:U,totalOffer:V,contractProgressMessage:z,mediaCardAttributes:L,onClickAcceptOrRejectOffer:G,onClickSwitchNetwork:X,onCloseModal:Y,onClickConnectWallet:$})=>{var K,Q,q,J,Z,ee,ie,te;const oe=p(),re=o((()=>"ethereum"===H),[H]),ae=o((()=>"solana"===H),[H]),le=o((()=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:{xs:"90%",md:"700px"},bgcolor:oe.palette.grey[900],borderRadius:"8px",boxShadow:24,maxHeight:{xs:"93%",lg:"calc(100% - 100px)"},overflowY:"auto",padding:"16px 16px 30px 16px"})),[oe]),me=o((()=>P.loading?"Processing":R?"Retry":P.success?"View Item":B?"Reject Offer":"Accept Offer"),[R,P,B]),ne=o((()=>F?{message:"Connect your wallet to complete process",status:h.ERROR}:N||P.success||W?P.loading?{message:z||"Follow wallet instruction to approve. Please do not close or reload the page...",status:h.WARNING}:P.success?{message:B?"You have rejected this offer":`Offer Accepted. ${S.totalPrice} has been transferred to your wallet.`,status:B?h.WARNING:h.SUCCESS}:R?{message:R,status:h.ERROR}:B?{message:"Clicking on ‘Reject Offer’ will remove this offer from your listing and item won't be transferred",status:h.WARNING_WITHOUT_ICON}:{message:"Clicking ‘Accept Offer’ will transfer the amount in the 'Potential Earnings' to your connected wallet.",status:h.SUCCESS_WITHOUT_ICON}:{message:`Cannot able to ${B?"reject":"accept"} offer for this token!`,status:h.ERROR}),[R,P,S,B,N,W,F,z]),se=o((()=>re?O.nativeCurrencyIcon:ae?O.nonNativeCurrencyIcon:O.nativeCurrencyIcon),[O,re,ae]);return e(a,{open:I,children:e(c,{sx:le,children:M?e(y,{}):i(t,{children:[e(c,{sx:{display:"flex",justifyContent:"center",alignItems:"center",marginBottom:"16px",marginX:{xs:"16px",lg:0}},children:e("img",{src:O.logo,style:{width:"100%",height:"50px",objectFit:"contain"},alt:"logo"})}),e(c,{sx:{marginBottom:"16px",marginX:{xs:"16px",lg:0}},children:e(v,{"data-testid":"onClick_bread_crumbs",list:k||[],selectedValue:j||"",itemHighlightedStyle:{fontSize:"12px",fontWeight:"500",color:oe.palette.background.default},itemStyle:{fontSize:"12px",fontWeight:"500",color:oe.palette.grey[500]}})}),e(c,{sx:{marginBottom:"30px",marginX:{xs:"16px",lg:0}},children:i(m,{container:!0,spacing:2,children:[e(m,{item:!0,xs:12,sm:12,md:12,lg:6,xl:6,children:e(u,{title:T.tokenName,url:T.tokenImage,subTitle:T.tokenArtistName,placeholderImage:O.placeHolderImage,videoAttributes:L,height:"350px"})}),i(m,{item:!0,xs:12,sm:12,md:12,lg:6,xl:6,children:[i(c,{sx:{width:"100%",display:"flex",flexDirection:"row",justifyContent:"space-between"},children:[e(s,{sx:{fontSize:"14px",fontWeight:"500"},children:null==V?void 0:V.title}),i(c,{sx:{display:"flex",flexDirection:"column",justifyContent:"end",alignItems:"end"},children:[e(s,{sx:{fontSize:"14px",fontWeight:"500"},children:null==V?void 0:V.cryptoPrice}),i(s,{sx:{fontSize:"12px",color:oe.palette.grey[500]},children:["≈ ",`${f(null!==(K=null==V?void 0:V.usdPrice.split(" ")[0])&&void 0!==K?K:0,null==V?void 0:V.usdPrice.split(" ")[1])} ${null==V?void 0:V.usdPrice.split(" ")[1]}`]})]})]}),e(l,{sx:{marginY:"16px",borderColor:null===(q=null===(Q=oe.palette.appDefaultColor)||void 0===Q?void 0:Q.secondary)||void 0===q?void 0:q.light}}),e(d,{ethIcon:se,creatorFee:_,serviceFee:U,tooltipTitle:"Deducted from offer price"}),e(g,{title:"Potential Earnings",isError:B,ethIcon:se,listPrice:A,priceUSD:+w(S.usd),wethValue:S.totalPrice,fiatCurrency:E,toolTipTitle:"What you’ll earn"}),e(l,{sx:{marginY:"16px",borderColor:null===(Z=null===(J=oe.palette.appDefaultColor)||void 0===J?void 0:J.secondary)||void 0===Z?void 0:Z.light}}),D&&e(b,{title:"Please switch to",subTitle:"Network in order to complete checkout",message:D,onClick:X}),F?e(b,{title:"Please",subTitle:"to complete process",message:"connect your wallet",onClick:$}):e(x,{message:ne.message,status:ne.status})]})]})}),i(r,{direction:"column",sx:{justifyContent:"center",alignItems:"center",marginX:{xs:"16px",lg:0}},children:[e(n,{startIcon:P.loading&&e("img",{src:O.loader,style:{width:"20px",height:"20px",objectFit:"contain",animation:"rotate 2s linear infinite"},alt:"loader"}),disabled:P.loading||!N&&!P.success&&!W&&0===(null==F?void 0:F.length)||(null==D?void 0:D.length)>0,onClick:()=>G(me),sx:{width:{xs:"100%",lg:"70%"},marginBottom:"25px",height:"50px",borderRadius:"0px","&.Mui-disabled":{backgroundColor:oe.palette.primary.main,color:null===(te=null===(ie=null===(ee=null==oe?void 0:oe.palette)||void 0===ee?void 0:ee.appDefaultColor)||void 0===ie?void 0:ie.secondary)||void 0===te?void 0:te.dark,cursor:"not-allowed",pointerEvents:"all"}},children:me}),e(s,{onClick:Y,sx:{cursor:(null==P?void 0:P.loading)?"not-allowed":"pointer",fontWeight:"500",color:oe.palette.primary.main,textTransform:"uppercase"},children:P.success?"Continue To marketplace":"Cancel"})]})]})})})};export{I as default};