{"version":3,"file":"static/js/2633.cc5188bb.chunk.js","mappings":"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","sources":["components/NftCard/NftOnSale.tsx","redux/actions/basket/basket.ts"],"sourcesContent":["import { Menu, MenuItem } from \"@szhsin/react-menu\";\nimport \"@szhsin/react-menu/dist/index.css\";\nimport \"@szhsin/react-menu/dist/transitions/slide.css\";\nimport { getAddress } from \"ethers/lib/utils\";\nimport { useContext, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { toast } from \"react-toastify\";\nimport { useApp } from \"../../contexts/Web3Provider/AppProvider\";\nimport { extractErrorMessage, getEllipsisTxt } from \"../../helpers/fommaters\";\nimport { getMetadataMedia } from \"../../helpers/ipfs\";\n\n// API\nimport * as LazyAPI from \"../../apis/lazyList\";\n\n//icon\nimport { BsCartDashFill, BsCartPlusFill } from \"react-icons/bs\";\nimport { IoEllipsisHorizontalSharp } from \"react-icons/io5\";\n\n// image\nimport numeral from \"numeral\";\nimport { Link } from \"react-router-dom\";\nimport BuyNowImage from \"../../assets/images/card/buynow2.png\";\nimport DetailImage from \"../../assets/images/card/info.png\";\nimport LinkImage from \"../../assets/images/card/link2.png\";\nimport OfferImage from \"../../assets/images/card/offer2.png\";\nimport DetailIcon from \"../../assets/images/ui/detail.png\";\nimport { BalanceContext } from \"../../contexts/balanceContext\";\nimport { getChainFromUrl } from \"../../helpers/chain\";\nimport { buy } from \"../../helpers/contracts/marketplace\";\nimport { useValidateChain } from \"../../hooks/useValiadateChain\";\nimport { ContractInterface } from \"../../interfaces/contract.interface\";\nimport { getPaymentCoin } from \"../../pages/NftDetail\";\nimport Media from \"../../pages/NftDetail/components/Media\";\nimport { addToCart, removeFromCart } from \"../../redux/reducers/cart/cartSlice\";\nimport { openLoading } from \"../../redux/reducers/loading/loadingSlice\";\nimport { setRefresh } from \"../../redux/reducers/refresh/refreshSlice\";\nimport { chainConfig } from \"../../siteConfig/chains\";\nimport { ChainId } from \"../CreateCollection\";\nimport CreateAndAdjustOffer from \"../Offer/CreateAndAdjustOffer\";\n\nexport const getPercentRank = (rank: number, supply: number) => {\n return (rank / supply) * 100;\n};\n\nexport const getColorRank = (rank: number, supply: number) => {\n const rankPercent = getPercentRank(rank, supply);\n if (rankPercent >= 55.01 && rankPercent <= 100) {\n return \"rgb(87, 87, 87)\";\n }\n if (rankPercent >= 35.01 && rankPercent <= 55) {\n return \"rgb(0, 75, 0)\";\n }\n if (rankPercent >= 25.01 && rankPercent <= 35) {\n return \"#242B64\";\n }\n if (rankPercent >= 10.01 && rankPercent <= 25) {\n return \"rgb(83, 0, 83)\";\n }\n if (rankPercent >= 1.01 && rankPercent <= 10) {\n return \"rgb(95, 0, 0)\";\n }\n if (rankPercent >= 0.01 && rankPercent <= 1) {\n return \"rgb(82, 120, 145)\";\n }\n};\n\nexport default function NftOnSale({\n chainId,\n item,\n supply,\n typeViewGrid = true,\n collection,\n}: {\n chainId: number;\n item: any;\n supply: number;\n typeViewGrid?: boolean;\n collection?: any;\n}) {\n const { fetchBalance } = useContext(BalanceContext);\n const [exits, setExist] = useState(false);\n const [metadata, setMetadata] = useState();\n const [offer, setOffer] = useState({});\n const [isOffer, setIsOffer] = useState(false);\n const { items } = useSelector((state: any) => state.cart);\n const dispatch = useDispatch();\n const { user, signer } = useApp();\n const { validateChain } = useValidateChain();\n\n const dispatchLoading = (item: boolean) => {\n dispatch(\n openLoading({\n isLoading: item,\n }),\n );\n };\n\n const formatNumber = (number: any) => {\n return numeral(number).format(\"0,0.[0000000000]\");\n };\n\n const addNftToCart = async (nft: any) => {\n if (!item?.sellerAddress) {\n toast.error(\"NFT not on sale, can't add to cart\");\n return;\n }\n if (user?.address?.toLowerCase() !== item?.sellerAddress.toLowerCase()) {\n dispatch(\n addToCart({\n signature: nft?.signature,\n tokenType: ContractInterface.ERC721,\n tokenAddress: getAddress(nft?.tokenAddress),\n tokenId: nft?.tokenId,\n amount: nft.maxQuantity,\n unitPrice: nft?.unitPrice,\n seller: nft?.sellerAddress,\n currency: nft.currency,\n symbol:\n getPaymentCoin(nft?.chainId, item?.currency, collection?.paymentCoin) ||\n chainConfig[chainId as ChainId]?.symbol,\n chainId: chainId,\n }),\n );\n toast.success(\"Added to cart successfully\");\n } else {\n toast.error(\"Can't add your own NFT to cart\");\n }\n };\n\n const removeNftFromCart = (nft: any) => {\n if (user?.address?.toLowerCase() !== item?.sellerAddress.toLowerCase()) {\n dispatch(\n removeFromCart({\n tokenAddress: getAddress(nft?.tokenAddress),\n tokenId: nft?.tokenId,\n seller: nft?.sellerAddress,\n chainId: chainId,\n }),\n );\n toast.success(\"Removed from cart successfully\");\n }\n };\n\n const copyLink = (item: any) => {\n const to = `${window.location.origin}/detail/${item?.tokenAddress}/${item?.tokenId}?chain=${chainId}`;\n const chain = getChainFromUrl();\n const toSearch = to ? to.split(\"?\")[1] : \"\";\n const searchParams = new URLSearchParams(toSearch);\n\n if (chain && !searchParams.has(\"chain\")) {\n searchParams.set(\"chain\", chain);\n }\n\n const toWithChain = to ? `${to.split(\"?\")[0]}?${searchParams.toString()}` : to;\n navigator.clipboard.writeText(toWithChain);\n toast.success(\"Copy link successful\");\n };\n\n const openOffer = async (item: any) => {\n setOffer(item);\n if (Object.keys(item).length > 0) {\n setIsOffer(true);\n }\n };\n\n const buyLazy = async (nft: any) => {\n if (!signer) return;\n validateChain();\n const tx = await buy(\n chainId,\n signer,\n [\n {\n tokenType: ContractInterface.ERC721,\n tokenAddress: getAddress(nft?.tokenAddress),\n tokenId: +nft?.tokenId,\n unitPrice: nft?.unitPrice,\n seller: nft?.sellerAddress,\n amount: nft.maxQuantity,\n currency: nft.currency,\n },\n ],\n [nft.signature],\n [1],\n );\n await tx.wait();\n await LazyAPI.buyByHash(chainId, tx.hash);\n };\n\n const buyNow = async (nft: any) => {\n try {\n if (!signer) return;\n validateChain();\n\n dispatchLoading(true);\n const { data: canBuy } = await LazyAPI.checkCanBuy(chainId, nft?.tokenAddress, nft?.tokenId);\n\n if (!canBuy) {\n toast.error(\"This NFT owner was changed\");\n dispatchLoading(false);\n return;\n }\n await buyLazy(nft);\n fetchBalance();\n dispatch(\n setRefresh({\n refreshNfts: new Date().getTime(),\n }),\n );\n toast.success(\"Buy success\");\n } catch (error: any) {\n console.log(error);\n toast.error(extractErrorMessage(error, \"An error occurred, please try again or contact us\"));\n } finally {\n dispatchLoading(false);\n }\n };\n\n useEffect(() => {\n (async () => {\n if (!item?.image && !item?.metadata && item?.token_uri) {\n const response = await fetch(getMetadataMedia(chainId, item?.token_uri));\n const data = await response.json();\n setMetadata(data);\n } else if (item?.metadata && ![\"\", \"{}\"].includes(item?.metadata)) {\n setMetadata(\n (typeof item?.metadata === \"string\" ? JSON.parse(item?.metadata) : item?.metadata) || {},\n );\n } else {\n setMetadata({\n image: item?.image,\n name: item?.name,\n animation_url: item?.animation_url,\n });\n }\n })();\n }, [item]);\n\n useEffect(() => {\n setExist(\n items?.some((i: any) => i.tokenId == item.tokenId && i.tokenAddress === item.tokenAddress),\n );\n }, [items]);\n\n if (!item) {\n return
Loading...
;\n }\n\n return (\n <>\n
\n \n \"detail\n \n\n (exits ? removeNftFromCart(item) : addNftToCart(item))}\n >\n \n
\n\n
\n
\n
\n #{getEllipsisTxt(item?.tokenId, 4)}\n
\n

Name: {item?.name}

\n

ID: {getEllipsisTxt(item?.tokenId, 4)}

\n
\n
\n {item?.unitPrice ? (\n \n {formatNumber(item?.unitPrice)} \n \n {getPaymentCoin(item.chainId, item?.currency, collection?.paymentCoin) ||\n chainConfig[chainId as ChainId]?.symbol}\n \n \n ) : (\n  \n )}\n
\n
\n {item.rank && (\n \n {item.rank}\n
\n

Rank: {`${item?.rank ? `${item?.rank}/${supply}` : \"N/A\"}`}

\n \n Top {numeral(getPercentRank(item?.rank, supply)).format(\"0.00\")}%\n

\n
\n
\n )}\n
\n
\n
\n \n \n
\n }\n direction=\"top\"\n align=\"end\"\n transition\n >\n {user?.address?.toLowerCase() !== item?.ownerAddress?.toLowerCase() && (\n <>\n {item?.unitPrice && (\n <>\n buyNow(item)}>\n
\n \"icon\"\n BUY NOW\n
\n
\n {!exits ? (\n addNftToCart(item)}>\n
\n \n ADD TO CART\n
\n
\n ) : (\n removeNftFromCart(item)}>\n
\n \n REMOVE FROM CART\n
\n
\n )}\n \n )}\n\n openOffer(item)}>\n
\n \"icon\"\n OFFER\n
\n
\n \n )}\n\n \n \n
\n \"icon\"\n DETAIL\n
\n
\n \n\n copyLink(item)}>\n
\n \"icon\"\n COPY LINK\n
\n
\n \n
\n \n \n \n\n {Object.keys(offer).length > 0 && (\n setIsOffer(pre)}\n />\n )}\n \n );\n}\n","import { createAction } from \"@reduxjs/toolkit\";\nimport { BasketItem, BasketItemInputData, BasketMode, BasketTab } from \"../../reducers/basket\";\n\nexport const basketActions = {\n open: createAction(\"basket/open\"),\n openFilter: createAction(\"filter/open\"),\n openFil: createAction(\"filter/openfil\"),\n close: createAction(\"basket/close\"),\n closeFilter: createAction(\"filter/close\"),\n closeFil: createAction(\"filter/closefil\"),\n openActivity: createAction(\"actiity/open\"),\n closeActivity: createAction(\"actiity/close\"),\n openWithMode: createAction(\"basket/openWithMode\"),\n addItem: createAction(\"basket/add\"),\n addMany: createAction(\"basket/add-many\"),\n removeItem: createAction(\"basket/remove\"),\n toggleItem: createAction(\"basket/toggle\"),\n removeAllItems: createAction(\"basket/removeAll\"),\n setMode: createAction(\"basket/setMode\"),\n setTab: createAction(\"basket/setTab\"),\n updateInputData: createAction<{\n tokenAddress: string;\n tokenId: string;\n inputData: BasketItemInputData;\n }>(\"basket/updateInputData\"),\n\n applyPriceToAll: createAction(\"basket/applyPriceToAll\"),\n removePriceToAll: createAction(\"basket/removePriceToAll\"),\n\n applyToAllQuantity: createAction(\"basket/applyToAllQuantity\"),\n removeToAllQuantity: createAction(\"basket/removeToAllQuantity\"),\n\n setAllPrice: createAction<{ price: number }>(\"basket/setAllPrice\"),\n setAllPaymentCoin: createAction<{ paymentCoin: string }>(\"basket/setAllPaymentCoin\"),\n\n setPriceLadder: createAction<{ step: number; price: number; option: string }>(\n \"basket/setPriceLadder\",\n ),\n};\n"],"names":["getPercentRank","rank","supply","getColorRank","rankPercent","NftOnSale","_ref","_chainConfig2","_user$address3","_item$ownerAddress","_offer$seller","_offer$seller$address","chainId","item","typeViewGrid","collection","fetchBalance","useContext","BalanceContext","exits","setExist","useState","metadata","setMetadata","offer","setOffer","isOffer","setIsOffer","items","useSelector","state","cart","dispatch","useDispatch","user","signer","useApp","validateChain","useValidateChain","dispatchLoading","openLoading","isLoading","addNftToCart","async","_user$address","_chainConfig","sellerAddress","address","toLowerCase","addToCart","signature","nft","tokenType","ContractInterface","ERC721","tokenAddress","getAddress","tokenId","amount","maxQuantity","unitPrice","seller","currency","symbol","getPaymentCoin","paymentCoin","chainConfig","toast","success","error","removeNftFromCart","_user$address2","removeFromCart","buyNow","data","canBuy","LazyAPI","tx","buy","wait","hash","buyLazy","setRefresh","refreshNfts","Date","getTime","console","log","extractErrorMessage","useEffect","image","token_uri","includes","JSON","parse","name","animation_url","response","fetch","getMetadataMedia","json","some","i","_jsxs","_Fragment","children","className","style","border","_jsx","Link","to","src","DetailIcon","alt","onClick","Media","type","getEllipsisTxt","number","numeral","format","color","backgroundColor","cursor","Menu","menuClassName","menuButton","IoEllipsisHorizontalSharp","size","direction","align","transition","ownerAddress","MenuItem","BuyNowImage","BsCartDashFill","BsCartPlusFill","Object","keys","length","openOffer","OfferImage","DetailImage","window","location","origin","chain","getChainFromUrl","toSearch","split","searchParams","URLSearchParams","has","set","toWithChain","toString","navigator","clipboard","writeText","copyLink","LinkImage","CreateAndAdjustOffer","token_address","token_id","owner_of","replace","uri","sale","attributes","open","typeOffer","onClose","pre","basketActions","createAction","openFilter","openFil","close","closeFilter","closeFil","openActivity","closeActivity","openWithMode","addItem","addMany","removeItem","toggleItem","removeAllItems","setMode","setTab","updateInputData","applyPriceToAll","removePriceToAll","applyToAllQuantity","removeToAllQuantity","setAllPrice","setAllPaymentCoin","setPriceLadder"],"sourceRoot":""}