@dcl/shop 0.1.0-29588647657.commit-2cc8158 → 0.1.0-29598294884.commit-796c10b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/{AnimatedBackground-urlvv1u-.js → AnimatedBackground-C-OiTwT_.js} +3 -3
- package/assets/{Assets-Bgol1TFW.js → Assets-LlBezYwI.js} +1 -1
- package/assets/Cart-BBaYBkcV.css +1 -0
- package/assets/Cart-BHsLzrAp.js +1 -0
- package/assets/{CircularProgress-CPG7ZOfs.js → CircularProgress-dArtpO16.js} +1 -1
- package/assets/{Collection-oY08s2SC.js → Collection-F3rbRfOx.js} +1 -1
- package/assets/CollectionCarousel-B6ehNbVL.js +1 -0
- package/assets/CollectionCarousel-FF2VKnCi.css +1 -0
- package/assets/{ContentClient-CcNIfFcB.js → ContentClient-CHmx9486.js} +1 -1
- package/assets/{Creator-Geua9taX.js → Creator-a2mAu_fy.js} +1 -1
- package/assets/{CssVarsProvider-CNdYCyi9.js → CssVarsProvider-NUrRzWfI.js} +2 -2
- package/assets/{DeploymentBuilder-DOqh7sYP.js → DeploymentBuilder-6C4obgT_.js} +1 -1
- package/assets/{ExchangeController-BnfYxF48.js → ExchangeController-Dg0-A3E4.js} +1 -1
- package/assets/{GetCredits-COdRHzqV.js → GetCredits-CgrPoIiv.js} +1 -1
- package/assets/{HelpersUtil-C5w2ExFs.js → HelpersUtil-CZoh_esf.js} +1 -1
- package/assets/{ImportListings-B-zcLoS1.js → ImportListings-DB3QAFgV.js} +1 -1
- package/assets/{ItemDetail-BMi8a81V.css → ItemDetail-Bu2_xAf0.css} +1 -1
- package/assets/ItemDetail-DSp4r-yp.js +2 -0
- package/assets/{MarketCheckout-k3hh1fMb.js → MarketCheckout-Z8xqLDVD.js} +1 -1
- package/assets/{MyAssets-CtamOoiB.js → MyAssets-k1eod7LK.js} +1 -1
- package/assets/{MyFavorites-DB_RHGeZ.js → MyFavorites-BCCw7XaP.js} +1 -1
- package/assets/{MyPurchases-DLo5AL4P.js → MyPurchases-BUNnpOAU.js} +1 -1
- package/assets/{NotFound-CALTSbn3.js → NotFound-CdZzlgfI.js} +1 -1
- package/assets/{StoreSettings-IyPLWce9.js → StoreSettings-Df0eRihr.js} +1 -1
- package/assets/Success-Dv2oWuT3.js +1 -0
- package/assets/{SwapController-CUPcRb3X.js → SwapController-BAn_ff02.js} +1 -1
- package/assets/{TradeService-DE_CcjPe.js → TradeService-Bt8Tvc9u.js} +1 -1
- package/assets/{W3MFrameProviderSingleton-KZXDtdeN.js → W3MFrameProviderSingleton-DJ4wJ6eQ.js} +3 -3
- package/assets/{WebCryptoP256-CmfR3sjC.js → WebCryptoP256-RT86dqZc.js} +1 -1
- package/assets/{basic-CrYMfATs.js → basic-DaW-Z5Dc.js} +1 -1
- package/assets/{biconomy-CHSrNezt.js → biconomy-CCIerV0I.js} +1 -1
- package/assets/{buy-C_OnDZx3.js → buy-CK_8Gv_-.js} +1 -1
- package/assets/{buy-gasless-uH5qu5A8.js → buy-gasless-B0ASTVfF.js} +1 -1
- package/assets/{cart-checkout-DJSPllz1.js → cart-checkout-CMvQamn-.js} +1 -1
- package/assets/{categories-Dqa3M8i7.js → categories-DL4AAJFe.js} +1 -1
- package/assets/{ccip-h7KPERy4.js → ccip-CUNPu8Px.js} +1 -1
- package/assets/{ccip-CYomOMLt.js → ccip-kjFlAUew.js} +1 -1
- package/assets/collection-B_ypwwV3.js +1 -0
- package/assets/{controller-KHxYFosg.js → controller-CCqICKdG.js} +2 -2
- package/assets/{core-pBN9FKMw.js → core-7b1kcjwl.js} +4 -4
- package/assets/{custom-CEHsyFlW.js → custom-C02v7urp.js} +1 -1
- package/assets/{data-capture-BSdkL8U7.js → data-capture-voKPyp6r.js} +1 -1
- package/assets/decimals-BR2Fo8Uy.js +1 -0
- package/assets/{decimals-BA-bLcGh.js → decimals-CQH-R473.js} +1 -1
- package/assets/{detectExtension-G5UH8a-M.js → detectExtension-njFG0pmN.js} +1 -1
- package/assets/{email-BMkLtjTu.js → email-mWA25X0h.js} +1 -1
- package/assets/{embedded-wallet-CMLY6maG.js → embedded-wallet-CPJZ_UVU.js} +1 -1
- package/assets/emotion-styled.browser.esm-B4ZybID-.js +1 -0
- package/assets/{engine-ZKKEGTTG.js → engine-BklvI4dT.js} +1 -1
- package/assets/{estimate-l1-fee-XHZSoWjk.js → estimate-l1-fee-C_1YLKk9.js} +1 -1
- package/assets/{eth_estimateGas-Bq7UQHDY.js → eth_estimateGas-CRejf8K4.js} +1 -1
- package/assets/{eth_getStorageAt-DEYLIJ2f.js → eth_getStorageAt-DlRQXQWP.js} +1 -1
- package/assets/{eth_getTransactionCount-sK45qAke.js → eth_getTransactionCount-CttVR65L.js} +1 -1
- package/assets/{extractIPFS-BTNSHVMw.js → extractIPFS-lhQJFRGp.js} +1 -1
- package/assets/{features-jLiVGuCn.js → features-CtUcvntA.js} +1 -1
- package/assets/{fetchTokenMetadata-CLRXW5Ae.js → fetchTokenMetadata-DU75F_A2.js} +2 -2
- package/assets/get-ecosystem-wallet-info-DzHksZKi.js +1 -0
- package/assets/{getBalance-D85PcSgJ.js → getBalance-Bya9Y--Q.js} +1 -1
- package/assets/{getInstalledModules-BbkWCUI_.js → getInstalledModules-D5QmPDBR.js} +1 -1
- package/assets/{getNFT-Ba-KxS5w.js → getNFT-CRTdCPiY.js} +1 -1
- package/assets/{getNFT-CpSdZEPv.js → getNFT-DgDEOkwr.js} +2 -2
- package/assets/{getOverlayAlpha-CPeU_wtJ.js → getOverlayAlpha-nRpMWuqq.js} +1 -1
- package/assets/{hashTypedData-BiAfRLxc.js → hashTypedData-BKIW0_QT.js} +1 -1
- package/assets/{hashTypedData-_My6_zHk.js → hashTypedData-rbqmjDS9.js} +1 -1
- package/assets/{import-BM47oMM1.js → import-BpP341-q.js} +1 -1
- package/assets/{in-app-wallet-calls-DB4mrEuh.js → in-app-wallet-calls-kb5cpJBB.js} +1 -1
- package/assets/{index-CGf6vfVT.js → index-59dY-O7-.js} +1 -1
- package/assets/{index-D8XdtECa.js → index-B5dw0psc.js} +1 -1
- package/assets/{index-C8L1dg3z.js → index-B5p8pUge.js} +1 -1
- package/assets/{index-DqO1kUFU.js → index-B671RqnK.js} +1 -1
- package/assets/{index-DYJHRYX4.js → index-B7UojGOz.js} +2 -2
- package/assets/{index-D8bR8hF2.js → index-B8XnKIzQ.js} +1 -1
- package/assets/{index-BE03Fup7.js → index-BB04C8i8.js} +1 -1
- package/assets/{index-B9Xqc0Hi.js → index-BBU85IYf.js} +2 -2
- package/assets/{index-BvJT7BsV.js → index-BH3tdIod.js} +1 -1
- package/assets/{index-7a1mhp_I.js → index-BJClelBo.js} +1 -1
- package/assets/{index-BNhDGSX8.js → index-BPL_lEQp.js} +1 -1
- package/assets/{index-Bi6W-t7S.js → index-BVBZ2zPc.js} +1 -1
- package/assets/{index-DhmytMhG.js → index-BXhZS_AN.js} +1 -1
- package/assets/{index-BvrUtN1i.js → index-BY4MKlVU.js} +1 -1
- package/assets/{index-Ncc_A7mr.js → index-Ba4mXEAV.js} +1 -1
- package/assets/{index-CSy-_M5R.js → index-BdITvbLZ.js} +1 -1
- package/assets/{index-B4HZUf7-.js → index-Bd_IAGP4.js} +1 -1
- package/assets/{index-B1e1ZADY.js → index-BiazdCZB.js} +1 -1
- package/assets/{index-COmrTRgF.js → index-BkzieXvc.js} +1 -1
- package/assets/{index-DMU6YRL7.js → index-BosG_Hic.js} +1 -1
- package/assets/{index-Dy65iyWb.js → index-BpdGuzAP.js} +1 -1
- package/assets/{index-DPAyBtUP.js → index-BuJtW-3X.js} +1 -1
- package/assets/{index-X5dRqFqG.js → index-BuvUlkht.js} +1 -1
- package/assets/{index-C0OEAd0W.js → index-C0rWirY0.js} +1 -1
- package/assets/{index-Df8J_8ta.js → index-CAIuPn4q.js} +3 -3
- package/assets/{index-oExJUWSQ.js → index-CAhWUgSV.js} +1 -1
- package/assets/{index-2lgRM28O.js → index-CJ7Zrqys.js} +1 -1
- package/assets/{index-COd6Hpl3.js → index-C_RhfNpS.js} +1 -1
- package/assets/{index-eL578oJV.js → index-Cc89QD8-.js} +1 -1
- package/assets/{index-DMWWvHVt.js → index-CfEuhodX.js} +1 -1
- package/assets/{index-Bwj5NrhW.js → index-CjWVGgkX.js} +1 -1
- package/assets/{index-BS31iF_T.js → index-Clv1kOTk.js} +1 -1
- package/assets/{index-xVgoxgG9.js → index-D0Qxhd6I.js} +1 -1
- package/assets/{index-DUwiQnps.js → index-DAh057md.js} +1 -1
- package/assets/{index-DMLSNnyb.js → index-DHLTDjWC.js} +1 -1
- package/assets/{index-fJZF9Wlt.js → index-DHaPmJI4.js} +1 -1
- package/assets/{index-BhW68dt9.js → index-DJFIkOB0.js} +1 -1
- package/assets/{index-C-GvP7Ri.js → index-DQNOvBBK.js} +1 -1
- package/assets/{index-T4DqOE4M.js → index-DUBd_edo.js} +1 -1
- package/assets/{index-BQzrms9Y.js → index-DUrbPJsZ.js} +1 -1
- package/assets/{index-Ct5KJb97.js → index-DVAx1hg9.js} +1 -1
- package/assets/{index-pOWOYTZf.js → index-DYHpzz6b.js} +1 -1
- package/assets/{index-C1L7bhks.js → index-DZSo3rng.js} +1 -1
- package/assets/{index-0YKOyKsz.js → index-DZkr5cbg.js} +1 -1
- package/assets/{index-Bs2u8R9P.js → index-DcWPLLKy.js} +1 -1
- package/assets/{index-CRWbHzp3.js → index-Df4Xuchc.js} +1 -1
- package/assets/{index-DWVC6kWx.js → index-DjtmxbWx.js} +1 -1
- package/assets/{index-CWkyddUj.js → index-DkZCrX_a.js} +1 -1
- package/assets/{index-1w11c9kT.js → index-Ds3LeGS0.js} +1 -1
- package/assets/{index-Dih2AmlD.js → index-Dtzc2-_5.js} +1 -1
- package/assets/{index-wsdLqN_j.js → index-GBq5vmD5.js} +2 -2
- package/assets/{index-BUYyFeCt.js → index-H1GdZQCE.js} +2 -2
- package/assets/{index-C-uQhIOu.js → index-HNkFQ8e1.js} +3 -3
- package/assets/{index-BseAK0jv.js → index-KQXKEiRO.js} +1 -1
- package/assets/{index-BY2ihj74.js → index-QTshBzMT.js} +1 -1
- package/assets/{index-BAYW-Y7J.css → index-jbcqNek9.css} +1 -1
- package/assets/{index-XztZBEgs.js → index-l2k0682u.js} +3 -3
- package/assets/{index-CYWpV70P.js → index-r45SswES.js} +6 -6
- package/assets/{index.es-CAdXWwOm.js → index.es-CEEtvWyE.js} +4 -4
- package/assets/{index.es-CsD1tXVc.js → index.es-CZNkKIA6.js} +1 -1
- package/assets/{index.es-CiB5ifZN.js → index.es-D2H6ESNG.js} +1 -1
- package/assets/{localBatchGatewayRequest--Sv8eIOm.js → localBatchGatewayRequest-CX4Kfpwl.js} +1 -1
- package/assets/{mana-rate-DgCtJ5pM.js → mana-rate-iNhXq7r-.js} +1 -1
- package/assets/network-B5C8b3kZ.js +1 -0
- package/assets/{networks-BqVCrj8Y.js → networks-CYqUz454.js} +1 -1
- package/assets/{onramp-CBfgz1Ty.js → onramp-CC5CpnYg.js} +1 -1
- package/assets/{openzeppelin-D2z1DmVV.js → openzeppelin-mb8eXngw.js} +1 -1
- package/assets/{ownerOf-DFlcEy6_.js → ownerOf-DkeEezhR.js} +1 -1
- package/assets/{parseNft-msnZvn_A.js → parseNft-C1e4MyGM.js} +2 -2
- package/assets/{parseSignature-CjbZVQR3.js → parseSignature-CK3NvtCE.js} +1 -1
- package/assets/{parseSignature-DEAl-96W.js → parseSignature-Wiw0A1vU.js} +3 -3
- package/assets/{pay-with-exchange-CRwxKD_d.js → pay-with-exchange-fxRG6paS.js} +1 -1
- package/assets/{payments-CFEkq9jj.js → payments-D_1c4Q0E.js} +1 -1
- package/assets/{qr-overlay-CS6qAFtp.js → qr-overlay-ajo1zJy5.js} +1 -1
- package/assets/{receive-D_7ieG-4.js → receive-DVkuHUgY.js} +1 -1
- package/assets/{resolveImplementation-BxK03jeA.js → resolveImplementation-CdLMHxJj.js} +1 -1
- package/assets/{rpc-Cd5PGlK-.js → rpc-D2IBy_U1.js} +1 -1
- package/assets/{secp256k1-D5XG5Cq2.js → secp256k1-BQuggIky.js} +1 -1
- package/assets/{secp256k1-BDhwR6SH.js → secp256k1-Dm9YAkWu.js} +1 -1
- package/assets/{secp256k1-D_53A2qu.js → secp256k1-GotX1mTh.js} +1 -1
- package/assets/{send--YozeJBn.js → send-CI1L6iNB.js} +1 -1
- package/assets/{send-batch-transaction-DiGyQeR5.js → send-batch-transaction-CASuhouL.js} +1 -1
- package/assets/{send-eip712-transaction-Dqu8RfN0.js → send-eip712-transaction-35qar9DH.js} +2 -2
- package/assets/{send-gasless-transaction-B5uz3mX0.js → send-gasless-transaction-B7r24MkK.js} +2 -2
- package/assets/{sendRawTransaction-rRmixG-d.js → sendRawTransaction-BckXqylS.js} +3 -3
- package/assets/{serializeTransaction-CzGG2kBz.js → serializeTransaction-jUNyAIgS.js} +1 -1
- package/assets/{session-proposal-CCHvDJo0.js → session-proposal-Cs3jrnoO.js} +1 -1
- package/assets/{session-request-BkhA5-RY.js → session-request-CYnKGzzH.js} +2 -2
- package/assets/{sha256-Bt6mLy1E.js → sha256-B_-G--k2.js} +1 -1
- package/assets/{signing-BwuIt3X5.js → signing-DuFbSjik.js} +4 -4
- package/assets/{socials-BStKssws.js → socials-Yv1nD9G2.js} +1 -1
- package/assets/{swaps-Bid0ju8o.js → swaps-Dr9lB7W5.js} +1 -1
- package/assets/{thirdweb-BMJ7fr_N.js → thirdweb-CrBUG3V0.js} +3 -3
- package/assets/{totalSupply--8jNML7t.js → totalSupply-DCB7wJEJ.js} +1 -1
- package/assets/{trade-encoding-Drnx1u3j.js → trade-encoding-04aPoKGq.js} +1 -1
- package/assets/{transactionReceipt-C1w204dJ.js → transactionReceipt-RIlE96Mf.js} +1 -1
- package/assets/{transactions-KwvVTP9x.js → transactions-COJR6OXM.js} +1 -1
- package/assets/{useInfiniteGrid-BAS-zEte.js → useInfiniteGrid-BebS5lWt.js} +1 -1
- package/assets/{useStore-D0Fp5fnX.js → useStore-D3W2cLwe.js} +2 -2
- package/assets/{useTheme-DU7pyJai.js → useTheme-B1I-qqVe.js} +1 -1
- package/assets/useTheme-BMWEIcbK.js +1 -0
- package/assets/{verifyHash-yypMHIUe.js → verifyHash-Cz68jK0S.js} +1 -1
- package/assets/{w3m-modal-D4BKzcIi.js → w3m-modal-BUoJMaFN.js} +1 -1
- package/assets/{w3m-modal-Cf0rHk1f.js → w3m-modal-DN3kAovw.js} +1 -1
- package/assets/{wait-for-tx-receipt-Dq_saZBt.js → wait-for-tx-receipt-BE6V8Tcx.js} +1 -1
- package/assets/{wallet-kind-D_7fqJZh.js → wallet-kind-BUfXt6vu.js} +1 -1
- package/assets/{wallets-DthYtMmh.js → wallets-B5j8uvbG.js} +6 -6
- package/assets/{web-connector-Cahc_-N0.js → web-connector-CwdBK-54.js} +3 -3
- package/assets/{writeContract-CYBPanmL.js → writeContract-DU0rJzSn.js} +1 -1
- package/assets/{zoraTestnet-CupsSsoK.js → zoraTestnet-CjGSh-kA.js} +1 -1
- package/index.html +8 -8
- package/package.json +2 -2
- package/assets/Cart-BLK0NtgY.js +0 -1
- package/assets/Cart-C612IvK3.css +0 -1
- package/assets/ItemDetail-BEVnVvI_.js +0 -2
- package/assets/Success-CPrrgz5q.js +0 -1
- package/assets/collection-DOsbvafd.js +0 -1
- package/assets/decimals-CwI_mnkm.js +0 -1
- package/assets/emotion-styled.browser.esm-Bcg9MXM8.js +0 -1
- package/assets/get-ecosystem-wallet-info-HaXmkjKB.js +0 -1
- package/assets/network-DRGleXEI.js +0 -1
- package/assets/useTheme-CBsdNYl2.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as l,E as w,b as E,S as A,d as k,O as U,N as P,g as f,B as x,e as N,i as I,p as L}from"./W3MFrameProviderSingleton-
|
|
1
|
+
import{C as l,E as w,b as E,S as A,d as k,O as U,N as P,g as f,B as x,e as N,i as I,p as L}from"./W3MFrameProviderSingleton-DJ4wJ6eQ.js";import{g as T,a as W,f as b,b as _,c as v}from"./index-HNkFQ8e1.js";const D=0,C={paymentAsset:null,amount:null,tokenAmount:0,priceLoading:!1,error:null,exchanges:[],isLoading:!1,currentPayment:void 0,isPaymentInProgress:!1,paymentId:"",assets:[]},e=L(C),m={state:e,subscribe(t){return I(e,()=>t(e))},subscribeKey(t,n){return N(e,t,n)},resetState(){Object.assign(e,{...C})},async getAssetsForNetwork(t){const n=v(t),s=await m.getAssetsImageAndPrice(n),r=n.map(a=>{var c,o,p,y;const u=a.asset==="native"?f():`${a.network}:${a.asset}`,i=s.find(S=>{var g,d,h;return((h=(d=(g=S.fungibles)==null?void 0:g[0])==null?void 0:d.address)==null?void 0:h.toLowerCase())===u.toLowerCase()});return{...a,price:((o=(c=i==null?void 0:i.fungibles)==null?void 0:c[0])==null?void 0:o.price)||1,metadata:{...a.metadata,iconUrl:(y=(p=i==null?void 0:i.fungibles)==null?void 0:p[0])==null?void 0:y.iconUrl}}});return e.assets=r,r},async getAssetsImageAndPrice(t){const n=t.map(r=>r.asset==="native"?f():`${r.network}:${r.asset}`);return await Promise.all(n.map(r=>x.fetchTokenPrice({addresses:[r]})))},getTokenAmount(){var s;if(!((s=e==null?void 0:e.paymentAsset)!=null&&s.price))throw new Error("Cannot get token price");const t=P.bigNumber(e.amount??0).round(8),n=P.bigNumber(e.paymentAsset.price).round(8);return t.div(n).round(8).toNumber()},setAmount(t){var n;e.amount=t,(n=e.paymentAsset)!=null&&n.price&&(e.tokenAmount=m.getTokenAmount())},setPaymentAsset(t){e.paymentAsset=t},isPayWithExchangeEnabled(){var t;return(t=U.state.remoteFeatures)==null?void 0:t.payWithExchange},isPayWithExchangeSupported(){return m.isPayWithExchangeEnabled()&&l.state.activeCaipNetwork&&k.PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES.includes(l.state.activeCaipNetwork.chainNamespace)},async fetchExchanges(){var t;try{const n=m.isPayWithExchangeSupported();if(!e.paymentAsset||!n){e.exchanges=[],e.isLoading=!1;return}e.isLoading=!0;const s=await _({page:D,asset:b(e.paymentAsset.network,e.paymentAsset.asset),amount:((t=e.amount)==null?void 0:t.toString())??"0"});e.exchanges=s.exchanges.slice(0,2)}catch{throw A.showError("Unable to get exchanges"),new Error("Unable to get exchanges")}finally{e.isLoading=!1}},async getPayUrl(t,n){try{const s=Number(n.amount),r=await W({exchangeId:t,asset:b(n.network,n.asset),amount:s.toString(),recipient:`${n.network}:${n.recipient}`});return w.sendEvent({type:"track",event:"PAY_EXCHANGE_SELECTED",properties:{exchange:{id:t},configuration:{network:n.network,asset:n.asset,recipient:n.recipient,amount:s},currentPayment:{type:"exchange",exchangeId:t},source:"fund-from-exchange",headless:!1}}),r}catch(s){throw s instanceof Error&&s.message.includes("is not supported")?new Error("Asset not supported"):new Error(s.message)}},async handlePayWithExchange(t){var n;try{const s=(n=l.getAccountData())==null?void 0:n.address;if(!s)throw new Error("No account connected");if(!e.paymentAsset)throw new Error("No payment asset selected");const r=E.returnOpenHref("","popupWindow","scrollbar=yes,width=480,height=720");if(!r)throw new Error("Could not create popup window");e.isPaymentInProgress=!0,e.paymentId=crypto.randomUUID(),e.currentPayment={type:"exchange",exchangeId:t};const{network:a,asset:u}=e.paymentAsset,i={network:a,asset:u,amount:e.tokenAmount,recipient:s},c=await m.getPayUrl(t,i);if(!c){try{r.close()}catch(o){console.error("Unable to close popup window",o)}throw new Error("Unable to initiate payment")}e.currentPayment.sessionId=c.sessionId,e.currentPayment.status="IN_PROGRESS",e.currentPayment.exchangeId=t,r.location.href=c.url}catch{e.error="Unable to initiate payment",A.showError(e.error)}},async waitUntilComplete({exchangeId:t,sessionId:n,paymentId:s,retries:r=20}){const a=await m.getBuyStatus(t,n,s);if(a.status==="SUCCESS"||a.status==="FAILED")return a;if(r===0)throw new Error("Unable to get deposit status");return await new Promise(u=>{setTimeout(u,5e3)}),m.waitUntilComplete({exchangeId:t,sessionId:n,paymentId:s,retries:r-1})},async getBuyStatus(t,n,s){var r,a,u,i,c;try{if(!e.currentPayment)throw new Error("No current payment");const o=await T({sessionId:n,exchangeId:t});if(e.currentPayment.status=o.status,o.status==="SUCCESS"||o.status==="FAILED"){const p=(r=l.getAccountData())==null?void 0:r.address;e.currentPayment.result=o.txHash,e.isPaymentInProgress=!1,w.sendEvent({type:"track",event:o.status==="SUCCESS"?"PAY_SUCCESS":"PAY_ERROR",properties:{message:o.status==="FAILED"?E.parseError(e.error):void 0,source:"fund-from-exchange",paymentId:s,configuration:{network:((a=e.paymentAsset)==null?void 0:a.network)||"",asset:((u=e.paymentAsset)==null?void 0:u.asset)||"",recipient:p||"",amount:e.amount??0},currentPayment:{type:"exchange",exchangeId:(i=e.currentPayment)==null?void 0:i.exchangeId,sessionId:(c=e.currentPayment)==null?void 0:c.sessionId,result:o.txHash}}})}return o}catch{return{status:"UNKNOWN",txHash:""}}},reset(){e.currentPayment=void 0,e.isPaymentInProgress=!1,e.paymentId="",e.paymentAsset=null,e.amount=0,e.tokenAmount=0,e.priceLoading=!1,e.error=null,e.exchanges=[],e.isLoading=!1}};export{m as E};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as q,u as Q,r as n,j as e}from"./react-yytiy0wi.js";import{b as z,u as J,t as p,j as i,k as Y,l as A,C as S,m as T}from"./index-
|
|
1
|
+
import{a as q,u as Q,r as n,j as e}from"./react-yytiy0wi.js";import{b as z,u as J,t as p,j as i,k as Y,l as A,C as S,m as T}from"./index-r45SswES.js";import{R as F}from"./resume-buy-Bf0zIH7y.js";import{R as L}from"./cart-checkout-CMvQamn-.js";import{p as O,c as H,i as W,C as X}from"./payments-D_1c4Q0E.js";import{C as M}from"./CircularProgress-dArtpO16.js";import"./ethers-DArfy-QF.js";const N=W()?"mock":"stripe";function I(c){const s=c;if((s==null?void 0:s.name)==="AbortError")return"You cancelled the request.";const o=((s==null?void 0:s.message)??"").toLowerCase();return o.includes("sign in")?`Sign in to get ${i.name}.`:o.includes("timed out")?`This is taking longer than usual — your ${i.name} will appear shortly.`:"Couldn't complete your purchase — please try again."}function de(){const c=q(),{session:s,signIn:o}=z(),_=J(),[u,x]=Q(),[m,l]=n.useState("select"),[a,w]=n.useState(null),[j,P]=n.useState(null),[E,R]=n.useState(null),[U,g]=n.useState(null),[V,C]=n.useState(!1),b=n.useRef(null);n.useEffect(()=>()=>{var t;return(t=b.current)==null?void 0:t.abort()},[]);const B=n.useCallback(()=>{x(t=>{const r=new URLSearchParams(t);return r.delete("order"),r.delete("canceled"),r},{replace:!0})},[x]),v=n.useCallback(async t=>{l("processing");const r=new AbortController;b.current=r;try{const h=await O(t,{signal:r.signal,address:s==null?void 0:s.address,identity:s==null?void 0:s.identity});if(h.status==="credited"){const f=h.creditsGranted??(a==null?void 0:a.credits)??0;R(f>0?f:null),l("success"),p("Shop Completed Buy Credits",{order_id:t,pack_usd:(a==null?void 0:a.usd)??null,credits:f>0?f:null,provider:N}),_.invalidateQueries({queryKey:["usd-balance"]});try{if(sessionStorage.getItem(L)){c("/cart",{state:{resumeCheckout:!0}});return}}catch{}try{const $=sessionStorage.getItem(F);if($){sessionStorage.removeItem(F);const d=JSON.parse($),G=(d==null?void 0:d.tokenId)??(d==null?void 0:d.itemId);if(d!=null&&d.contractAddress&&G){c(`/item/${d.contractAddress}/${G}`,{state:{item:d,resumeBuy:!0}});return}}}catch{}}else h.status==="pending"?(p("Shop Buy Credits Pending",{step:"grant",pack_usd:(a==null?void 0:a.usd)??null}),_.invalidateQueries({queryKey:["usd-balance"]}),l("pending")):(p("Shop Buy Credits Failed",{step:"grant",error_code:"grant_failed",pack_usd:(a==null?void 0:a.usd)??null}),g(h.error??`Couldn't add your ${i.name} — please try again.`),l("error"))}catch(h){Y(h,{flow:"get_credits",step:"grant",order_id:t}),p("Shop Buy Credits Failed",{step:"grant",error_code:A(h),pack_usd:(a==null?void 0:a.usd)??null}),g(I(h)),l("error")}},[a,s,_]),D=n.useCallback(async t=>{if(!s){o();return}g(null),C(!1),w(t),l("paying"),p("Shop Started Buy Credits",{pack_usd:t.usd,credits:t.credits,provider:N});try{const r=await H(t.id,{address:s.address,identity:s.identity});if(r.mock)P(r);else if(r.url)p("Shop Redirected To Stripe",{order_id:r.orderId,pack_usd:t.usd,credits:t.credits}),window.location.href=r.url;else throw new Error("Checkout did not return a redirect url")}catch(r){Y(r,{flow:"get_credits",step:"checkout",provider:N}),p("Shop Buy Credits Failed",{step:"checkout",error_code:A(r),pack_usd:t.usd}),g(I(r)),l("error")}},[s,o]),K=n.useCallback(()=>{j&&v(j.orderId)},[j,v]),k=n.useRef(!1);n.useEffect(()=>{if(k.current)return;const t=u.get("order");if(u.get("canceled")!=null){k.current=!0,p("Shop Buy Credits Cancelled",{order_id:t,provider:N}),B(),C(!0),l("select");return}t&&(l("processing"),s&&(k.current=!0,B(),v(t)))},[u,s]);function y(){var t;(t=b.current)==null||t.abort(),l("select"),w(null),P(null),R(null),g(null),C(!1)}return e.jsxs("div",{className:"getcredits",children:[e.jsxs("header",{className:"getcredits__head",children:[e.jsxs("h1",{className:"getcredits__title",children:["Get ",i.name]}),e.jsxs("p",{className:"muted",children:["Add ",i.name," to your account to shop. Pay with any card."]})]}),s?e.jsxs(e.Fragment,{children:[m==="select"&&e.jsxs(e.Fragment,{children:[V&&e.jsx("p",{className:"getcredits__note muted",role:"status",children:"Payment canceled — no charge was made. Pick a pack whenever you’re ready."}),e.jsx(Z,{onSelect:t=>void D(t)})]}),m==="paying"&&a&&e.jsx(ee,{pack:a,checkout:j,onPaid:K,onCancel:y}),m==="processing"&&e.jsxs("div",{className:"getcredits__status",role:"status","aria-live":"polite",children:[e.jsx(M,{size:40}),e.jsxs("p",{className:"getcredits__status-title",children:["Adding your ",i.name,"…"]}),e.jsx("p",{className:"muted",children:"Payment received. Just a moment while we top up your balance."})]}),m==="success"&&e.jsxs("div",{className:"getcredits__status getcredits__status--ok",role:"status","aria-live":"polite",children:[e.jsx("div",{className:"getcredits__confetti","aria-hidden":!0,children:"🎉"}),e.jsx("p",{className:"getcredits__status-title",children:"You’re all set!"}),e.jsx("p",{className:"muted",children:E!=null?e.jsxs(e.Fragment,{children:[e.jsxs("strong",{children:[e.jsx(S,{className:"ccy-mark"})," ",E]})," ",i.name," added to your account."]}):e.jsxs(e.Fragment,{children:["Your ",i.name," are ready."]})}),e.jsxs("div",{className:"getcredits__status-actions",children:[e.jsx("button",{className:"btn",onClick:()=>c("/cart"),children:"Back to cart"}),e.jsxs("button",{className:"btn btn--ghost",onClick:y,children:["Get more ",i.name]})]})]}),m==="pending"&&e.jsxs("div",{className:"getcredits__status",role:"status","aria-live":"polite",children:[e.jsxs("p",{className:"getcredits__status-title",children:["Your ",i.name," are on the way"]}),e.jsx("p",{className:"muted",children:"Your payment went through. It’s taking a little longer than usual to confirm — your balance will update automatically as soon as it lands, no need to pay again."}),e.jsxs("div",{className:"getcredits__status-actions",children:[e.jsx("button",{className:"btn",onClick:()=>c("/cart"),children:"Back to cart"}),e.jsx("button",{className:"btn btn--ghost",onClick:y,children:"Done"})]})]}),m==="error"&&e.jsxs("div",{className:"getcredits__status getcredits__status--err",role:"alert",children:[e.jsx("p",{className:"getcredits__status-title",children:"Something went wrong"}),e.jsx("p",{className:"error",children:U}),e.jsx("div",{className:"getcredits__status-actions",children:e.jsx("button",{className:"btn",onClick:y,children:"Try again"})})]})]}):e.jsxs("div",{className:"getcredits__status",role:"status",children:[e.jsxs("p",{className:"getcredits__status-title",children:["Sign in to get ",i.name]}),e.jsxs("p",{className:"muted",children:["Connect your account to buy ",i.name," and start shopping."]}),e.jsx("div",{className:"getcredits__status-actions",children:e.jsx("button",{className:"btn btn--purple",onClick:o,children:"Sign in"})})]})]})}function Z({onSelect:c}){return e.jsx("div",{className:"packs",children:X.map(s=>e.jsxs("button",{type:"button",className:`pack${s.bestValue?" pack--best":""}`,onClick:()=>c(s),"aria-label":`Get ${T(s.credits)} for $${s.usd}`,children:[s.bestValue&&e.jsx("span",{className:"pack__ribbon",children:"Best value"}),e.jsxs("span",{className:"pack__credits",children:[e.jsx(S,{className:"pack__credits-ico"}),s.credits]}),e.jsx("span",{className:"pack__label",children:i.name}),e.jsxs("span",{className:"pack__price",children:["$",s.usd]}),e.jsxs("span",{className:"pack__cta",children:["Get ",i.name]})]},s.id))})}function ee({pack:c,checkout:s,onPaid:o,onCancel:_}){return e.jsxs("div",{className:"pay",children:[e.jsxs("div",{className:"pay__summary",children:[e.jsx("button",{className:"link",onClick:_,children:"← Choose a different pack"}),e.jsxs("div",{className:"pay__summary-row",children:[e.jsx("span",{children:"You’ll get"}),e.jsxs("strong",{children:[e.jsx(S,{className:"ccy-mark"})," ",T(c.credits)]})]}),e.jsxs("div",{className:"pay__summary-row pay__summary-row--total",children:[e.jsx("span",{children:"You pay"}),e.jsxs("strong",{children:["$",c.usd]})]})]}),e.jsx("div",{className:"pay__form",children:s!=null&&s.mock?e.jsx(se,{onPaid:o,amountUsd:c.usd}):e.jsxs("div",{className:"getcredits__status",role:"status","aria-live":"polite",children:[e.jsx(M,{size:32}),e.jsx("p",{className:"muted",children:"Getting the payment form ready…"})]})})]})}function se({onPaid:c,amountUsd:s}){const[o,_]=n.useState("4242 4242 4242 4242"),[u,x]=n.useState(!1);function m(){x(!0),setTimeout(()=>c(),700)}return e.jsxs("div",{className:"card-form","aria-label":"Payment details",children:[e.jsx("p",{className:"muted small card-form__note",children:"Demo mode — no real charge is made."}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:"Card number"}),e.jsx("input",{value:o,onChange:l=>_(l.target.value),disabled:u,inputMode:"numeric"})]}),e.jsxs("div",{className:"card-form__row",children:[e.jsxs("label",{className:"field",children:[e.jsx("span",{children:"Expiry"}),e.jsx("input",{defaultValue:"12 / 34",disabled:u})]}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:"CVC"}),e.jsx("input",{defaultValue:"123",disabled:u,inputMode:"numeric"})]})]}),e.jsx("button",{className:"btn btn--purple card-form__pay",onClick:m,disabled:u,children:u?"Processing…":`Pay $${s}`})]})}export{de as GetCredits,de as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as f,b as h}from"./lit-element-B3y9oplH.js";import{n as m}from"./class-map-CxwNmq0D.js";import{c as p}from"./index-
|
|
1
|
+
import{i as f,b as h}from"./lit-element-B3y9oplH.js";import{n as m}from"./class-map-CxwNmq0D.js";import{c as p}from"./index-DYHpzz6b.js";import{d as g,r as v}from"./index-HNkFQ8e1.js";import{C as c}from"./ConstantsUtil-CCJ0yRd8.js";import{R as $,O as u}from"./W3MFrameProviderSingleton-DJ4wJ6eQ.js";import{au as y}from"./NetworkUtil-Yv-DdqEo.js";const b=g`
|
|
2
2
|
:host {
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as E,r as h,j as e,L as A}from"./react-yytiy0wi.js";import{j as C,C as I,t as Q,k as L,b as R,u as F,d as K,ad as P}from"./index-CYWpV70P.js";import{i as W,R as Y,f as G}from"./import-BM47oMM1.js";import{s as O}from"./wallet-kind-D_7fqJZh.js";import"./ethers-DArfy-QF.js";import"./buy-C_OnDZx3.js";import"./trade-encoding-Drnx1u3j.js";import"./index-Ct5KJb97.js";import"./mana-rate-DgCtJ5pM.js";function B({queue:n,session:w,onClose:x,onDone:u}){const j=E(),c=O(w.providerType),[d,N]=h.useState(()=>n.map(()=>"pending")),[b,T]=h.useState("running"),S=h.useRef(!1);h.useEffect(()=>{if(S.current)return;S.current=!0;let i=!1;return(async()=>{for(let a=0;a<n.length;a++){if(i)return;N(m=>m.map((p,o)=>o===a?"active":p));try{await W(n[a].item,n[a].priceCredits,w),Q("Shop Migrated Listing",{item_id:n[a].item.itemId??n[a].item.oldTradeId??null,contract_address:n[a].item.contractAddress,new_price_credits:n[a].priceCredits,new_price_usd:n[a].priceCredits/10}),i||N(m=>m.map((p,o)=>o===a?"done":p))}catch(m){if(m instanceof Y)L(m,{flow:"import_listing",step:"relist",itemId:n[a].item.itemId??n[a].item.oldTradeId}),i||N(p=>p.map((o,v)=>v===a?"unlisted":o));else{const p=m,o=p.code===4001||/reject|denied|cancel/i.test(p.message??"");o||L(m,{flow:"import_listing",itemId:n[a].item.itemId??n[a].item.oldTradeId}),i||N(v=>v.map((t,r)=>r===a?o?"skipped":"failed":t))}}}i||T("finished")})(),()=>{i=!0}},[]);const _=d.filter(i=>i==="done").length,f=d.findIndex(i=>i==="active"),g=Math.round(d.filter(i=>i!=="pending"&&i!=="active").length/n.length*100);function y(){u(),x()}if(b==="finished"){const i=d.filter(a=>a==="skipped"||a==="failed").length,l=d.filter(a=>a==="unlisted").length;return e.jsx("div",{className:"modal-backdrop",role:"presentation",children:e.jsxs("div",{className:"modal modal--success",role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),e.jsx("h2",{className:"modal__title",children:_>0?"You're in the Shop! 🎉":"Nothing listed"}),e.jsxs("p",{className:"muted",style:{margin:0},children:[_>0?`${_} ${_===1?"item is":"items are"} now for sale with ${C.name}.`:"No items were listed.",i>0?` ${i} skipped — you can try those again anytime.`:"",l>0?` ${l} ${l===1?"item was":"items were"} taken off the old marketplace but couldn't be re-listed — re-list ${l===1?"it":"them"} from My Assets.`:""]}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:y,children:"Done"}),l>0?e.jsx("button",{className:"btn btn--purple",onClick:()=>{u(),x(),j("/my-assets")},children:"Go to My Assets"}):_>0?e.jsx("button",{className:"btn btn--purple",onClick:()=>{u(),x(),j("/assets")},children:"View in Shop"}):null]})]})})}return e.jsx("div",{className:"modal-backdrop",role:"presentation",children:e.jsxs("div",{className:"modal migrate",role:"dialog","aria-modal":"true","aria-live":"polite",children:[e.jsx("h2",{className:"modal__title",children:"Listing your items"}),e.jsxs("p",{className:"muted small",style:{margin:"0 0 4px"},children:[c?"We take down each old listing and re-list it for credits — confirm each step.":"Moving your items to the Shop."," ",f>=0?`${f+1} of ${n.length}`:""]}),e.jsx("div",{className:"migrate__progress",children:e.jsx("div",{className:"migrate__bar",style:{width:`${g}%`}})}),e.jsx("ul",{className:"migrate__list",children:n.map((i,l)=>e.jsxs("li",{className:`migrate__row migrate__row--${d[l]}`,children:[e.jsx("span",{className:"migrate__thumb",children:i.item.thumbnail?e.jsx("img",{src:i.item.thumbnail,alt:""}):null}),e.jsx("span",{className:"migrate__name",title:i.item.name,children:i.item.name||"Item"}),e.jsxs("span",{className:"migrate__price",children:[e.jsx(I,{className:"ccy-mark"})," ",i.priceCredits.toLocaleString()]}),e.jsx("span",{className:"migrate__status",children:d[l]==="active"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"spinner migrate__spin","aria-hidden":!0})," ",c?"Confirm…":"Adding…"]}):d[l]==="done"?e.jsx("span",{className:"migrate__tick",children:"✓"}):d[l]==="skipped"?e.jsx("span",{className:"migrate__skip",children:"Skipped"}):d[l]==="failed"?e.jsx("span",{className:"migrate__skip",children:"Failed"}):d[l]==="unlisted"?e.jsx("span",{className:"migrate__skip",title:"Removed from the old marketplace but not re-listed — re-list it from My Assets.",children:"Not listed"}):e.jsx("span",{className:"migrate__wait",children:"Waiting"})})]},i.item.oldTradeId))}),e.jsx("p",{className:"muted small migrate__hint",children:c?"A couple of quick confirmations pop up per item (take down + re-list). Keep this open.":"This only takes a moment — keep this open."})]})})}const U=[{key:"creations",title:"Your creations",sub:"Items you made. Put them on sale in the Shop."},{key:"owned",title:"Items you own",sub:"Things you've bought elsewhere — resell them in the Shop."}];function se(){const{session:n,signIn:w,restore:x}=R(),u=F(),j=n==null?void 0:n.address;h.useEffect(()=>{x()},[x]);const{data:c,isLoading:d}=K({queryKey:["importable",j],queryFn:()=>G(j),enabled:!!j}),[N,b]=h.useState({}),[T,S]=h.useState(new Set),[_,f]=h.useState(null),g=h.useMemo(()=>[...(c==null?void 0:c.creations)??[],...(c==null?void 0:c.owned)??[]],[c]);h.useEffect(()=>{g.length&&b(t=>{const r={...t};for(const s of g)r[s.oldTradeId]==null&&(r[s.oldTradeId]=s.suggestedCredits);return r})},[g]);const y=t=>!T.has(t),i=t=>N[t.oldTradeId]??t.suggestedCredits,l=g.filter(t=>y(t.oldTradeId)),a=l.reduce((t,r)=>t+i(r),0);function m(t,r){const s=r.replace(/[^\d]/g,"");b(k=>({...k,[t]:s===""?0:parseInt(s,10)}))}function p(t){S(r=>{const s=new Set(r);return s.has(t)?s.delete(t):s.add(t),s})}function o(t){return t.map(r=>({item:r,priceCredits:Math.max(1,i(r))}))}function v(){u.invalidateQueries({queryKey:["importable"]}),u.invalidateQueries({queryKey:["unified-listings"]}),u.invalidateQueries({queryKey:["my-assets"]}),u.invalidateQueries({queryKey:["collection-sale-state"]}),P.success("Your Shop is updated.")}return n?!d&&g.length===0?e.jsxs("div",{className:"imp-empty",children:[e.jsx("span",{className:"imp-empty__ico","aria-hidden":!0,children:"✨"}),e.jsx("h1",{className:"imp-empty__title",children:"You're all caught up"}),e.jsx("p",{className:"muted",children:"Everything you sell is already in the Shop — nothing to import."}),e.jsx(A,{className:"btn btn--purple",to:"/my-assets",children:"Go to My Assets"})]}):e.jsxs("div",{className:"imp",children:[e.jsxs("header",{className:"imp__head",children:[e.jsx("span",{className:"imp__eyebrow",children:"Import to the Shop"}),e.jsxs("h1",{className:"imp__title",children:["Bring your listings ",e.jsx("span",{className:"imp__grad",children:"into the Shop"})]}),e.jsxs("p",{className:"imp__lede",children:["These items are already for sale elsewhere. We suggested a price in ",C.name," for each — matched to today's rate and rounded up. Adjust anything, then list them."]})]}),e.jsxs("div",{className:"imp__ratebar",children:[e.jsx(I,{className:"ccy-mark imp__diamond"})," 1 ",C.nameSingular," = $0.10 · prices rounded up"]}),d?e.jsx("div",{className:"imp__list",children:Array.from({length:4}).map((t,r)=>e.jsx("div",{className:"imp-row imp-row--skeleton"},r))}):U.map(t=>{const r=(c==null?void 0:c[t.key])??[];return r.length===0?null:e.jsxs("section",{className:"imp__section",children:[e.jsxs("div",{className:"imp__section-head",children:[e.jsx("h2",{className:"imp__section-title",children:t.title}),e.jsx("span",{className:"imp__section-sub",children:t.sub})]}),e.jsx("div",{className:"imp__list",children:r.map(s=>{const k=i(s),M=k!==s.suggestedCredits;return e.jsxs("article",{className:`imp-row${y(s.oldTradeId)?"":" is-off"}`,children:[e.jsx("input",{type:"checkbox",className:"imp-check",checked:y(s.oldTradeId),onChange:()=>p(s.oldTradeId),"aria-label":`Include ${s.name}`}),e.jsx("div",{className:"imp-thumb",children:s.thumbnail?e.jsx("img",{src:s.thumbnail,alt:""}):null}),e.jsxs("div",{className:"imp-meta",children:[e.jsx("div",{className:"imp-name",title:s.name,children:s.name||"Item"}),e.jsx("span",{className:"imp-chip",children:s.rarity})]}),e.jsxs("div",{className:"imp-price",children:[e.jsxs("div",{className:"imp-price__field",children:[e.jsx(I,{className:"ccy-mark imp-price__diamond"}),e.jsx("input",{className:"imp-price__input",inputMode:"numeric",value:k.toLocaleString(),onChange:$=>m(s.oldTradeId,$.target.value),"aria-label":`Price in ${C.name} for ${s.name}`})]}),e.jsxs("div",{className:"imp-price__sub",children:[e.jsxs("span",{children:["$",(k*.1).toFixed(2)]}),M?e.jsxs("button",{className:"imp-price__reset",onClick:()=>b($=>({...$,[s.oldTradeId]:s.suggestedCredits})),children:["Reset to ",e.jsx(I,{className:"ccy-mark"}),s.suggestedCredits.toLocaleString()]}):null]})]}),e.jsx("div",{className:"imp-action",children:e.jsx("button",{className:"btn btn--sm imp-row__list",disabled:!y(s.oldTradeId),onClick:()=>f(o([s])),children:"List"})})]},s.oldTradeId)})})]},t.key)}),e.jsx("div",{className:"imp-dock",children:e.jsxs("div",{className:"imp-dock__inner",children:[e.jsxs("div",{className:"imp-dock__summary",children:[e.jsxs("div",{className:"imp-dock__total",children:[e.jsx(I,{className:"ccy-mark imp__diamond"})," ",a.toLocaleString()]}),e.jsxs("div",{className:"imp-dock__sub",children:[l.length," item",l.length===1?"":"s"," selected · $",(a*.1).toFixed(2)]})]}),e.jsx("span",{className:"imp-dock__spacer"}),e.jsxs("button",{className:"btn btn--purple imp-dock__cta",disabled:l.length===0,onClick:()=>f(o(l)),children:["List all (",l.length,")"]})]})}),_&&n?e.jsx(B,{queue:_,session:n,onClose:()=>f(null),onDone:v}):null]}):e.jsxs("div",{className:"imp-empty",children:[e.jsx("span",{className:"imp-empty__ico","aria-hidden":!0,children:"📦"}),e.jsx("h1",{className:"imp-empty__title",children:"Import your listings"}),e.jsx("p",{className:"muted",children:"Sign in to bring the items you already sell into the Shop."}),e.jsx("button",{className:"btn btn--purple",onClick:()=>w(),children:"Sign in"})]})}export{se as ImportListings};
|
|
1
|
+
import{a as E,r as h,j as e,L as A}from"./react-yytiy0wi.js";import{j as C,C as I,t as Q,k as L,b as R,u as F,d as K,ae as P}from"./index-r45SswES.js";import{i as W,R as Y,f as G}from"./import-BpP341-q.js";import{s as O}from"./wallet-kind-BUfXt6vu.js";import"./ethers-DArfy-QF.js";import"./buy-CK_8Gv_-.js";import"./trade-encoding-04aPoKGq.js";import"./index-DVAx1hg9.js";import"./mana-rate-iNhXq7r-.js";function B({queue:n,session:w,onClose:x,onDone:u}){const j=E(),c=O(w.providerType),[d,N]=h.useState(()=>n.map(()=>"pending")),[b,T]=h.useState("running"),S=h.useRef(!1);h.useEffect(()=>{if(S.current)return;S.current=!0;let i=!1;return(async()=>{for(let a=0;a<n.length;a++){if(i)return;N(m=>m.map((p,o)=>o===a?"active":p));try{await W(n[a].item,n[a].priceCredits,w),Q("Shop Migrated Listing",{item_id:n[a].item.itemId??n[a].item.oldTradeId??null,contract_address:n[a].item.contractAddress,new_price_credits:n[a].priceCredits,new_price_usd:n[a].priceCredits/10}),i||N(m=>m.map((p,o)=>o===a?"done":p))}catch(m){if(m instanceof Y)L(m,{flow:"import_listing",step:"relist",itemId:n[a].item.itemId??n[a].item.oldTradeId}),i||N(p=>p.map((o,v)=>v===a?"unlisted":o));else{const p=m,o=p.code===4001||/reject|denied|cancel/i.test(p.message??"");o||L(m,{flow:"import_listing",itemId:n[a].item.itemId??n[a].item.oldTradeId}),i||N(v=>v.map((t,r)=>r===a?o?"skipped":"failed":t))}}}i||T("finished")})(),()=>{i=!0}},[]);const _=d.filter(i=>i==="done").length,f=d.findIndex(i=>i==="active"),g=Math.round(d.filter(i=>i!=="pending"&&i!=="active").length/n.length*100);function y(){u(),x()}if(b==="finished"){const i=d.filter(a=>a==="skipped"||a==="failed").length,l=d.filter(a=>a==="unlisted").length;return e.jsx("div",{className:"modal-backdrop",role:"presentation",children:e.jsxs("div",{className:"modal modal--success",role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),e.jsx("h2",{className:"modal__title",children:_>0?"You're in the Shop! 🎉":"Nothing listed"}),e.jsxs("p",{className:"muted",style:{margin:0},children:[_>0?`${_} ${_===1?"item is":"items are"} now for sale with ${C.name}.`:"No items were listed.",i>0?` ${i} skipped — you can try those again anytime.`:"",l>0?` ${l} ${l===1?"item was":"items were"} taken off the old marketplace but couldn't be re-listed — re-list ${l===1?"it":"them"} from My Assets.`:""]}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:y,children:"Done"}),l>0?e.jsx("button",{className:"btn btn--purple",onClick:()=>{u(),x(),j("/my-assets")},children:"Go to My Assets"}):_>0?e.jsx("button",{className:"btn btn--purple",onClick:()=>{u(),x(),j("/assets")},children:"View in Shop"}):null]})]})})}return e.jsx("div",{className:"modal-backdrop",role:"presentation",children:e.jsxs("div",{className:"modal migrate",role:"dialog","aria-modal":"true","aria-live":"polite",children:[e.jsx("h2",{className:"modal__title",children:"Listing your items"}),e.jsxs("p",{className:"muted small",style:{margin:"0 0 4px"},children:[c?"We take down each old listing and re-list it for credits — confirm each step.":"Moving your items to the Shop."," ",f>=0?`${f+1} of ${n.length}`:""]}),e.jsx("div",{className:"migrate__progress",children:e.jsx("div",{className:"migrate__bar",style:{width:`${g}%`}})}),e.jsx("ul",{className:"migrate__list",children:n.map((i,l)=>e.jsxs("li",{className:`migrate__row migrate__row--${d[l]}`,children:[e.jsx("span",{className:"migrate__thumb",children:i.item.thumbnail?e.jsx("img",{src:i.item.thumbnail,alt:""}):null}),e.jsx("span",{className:"migrate__name",title:i.item.name,children:i.item.name||"Item"}),e.jsxs("span",{className:"migrate__price",children:[e.jsx(I,{className:"ccy-mark"})," ",i.priceCredits.toLocaleString()]}),e.jsx("span",{className:"migrate__status",children:d[l]==="active"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"spinner migrate__spin","aria-hidden":!0})," ",c?"Confirm…":"Adding…"]}):d[l]==="done"?e.jsx("span",{className:"migrate__tick",children:"✓"}):d[l]==="skipped"?e.jsx("span",{className:"migrate__skip",children:"Skipped"}):d[l]==="failed"?e.jsx("span",{className:"migrate__skip",children:"Failed"}):d[l]==="unlisted"?e.jsx("span",{className:"migrate__skip",title:"Removed from the old marketplace but not re-listed — re-list it from My Assets.",children:"Not listed"}):e.jsx("span",{className:"migrate__wait",children:"Waiting"})})]},i.item.oldTradeId))}),e.jsx("p",{className:"muted small migrate__hint",children:c?"A couple of quick confirmations pop up per item (take down + re-list). Keep this open.":"This only takes a moment — keep this open."})]})})}const U=[{key:"creations",title:"Your creations",sub:"Items you made. Put them on sale in the Shop."},{key:"owned",title:"Items you own",sub:"Things you've bought elsewhere — resell them in the Shop."}];function se(){const{session:n,signIn:w,restore:x}=R(),u=F(),j=n==null?void 0:n.address;h.useEffect(()=>{x()},[x]);const{data:c,isLoading:d}=K({queryKey:["importable",j],queryFn:()=>G(j),enabled:!!j}),[N,b]=h.useState({}),[T,S]=h.useState(new Set),[_,f]=h.useState(null),g=h.useMemo(()=>[...(c==null?void 0:c.creations)??[],...(c==null?void 0:c.owned)??[]],[c]);h.useEffect(()=>{g.length&&b(t=>{const r={...t};for(const s of g)r[s.oldTradeId]==null&&(r[s.oldTradeId]=s.suggestedCredits);return r})},[g]);const y=t=>!T.has(t),i=t=>N[t.oldTradeId]??t.suggestedCredits,l=g.filter(t=>y(t.oldTradeId)),a=l.reduce((t,r)=>t+i(r),0);function m(t,r){const s=r.replace(/[^\d]/g,"");b(k=>({...k,[t]:s===""?0:parseInt(s,10)}))}function p(t){S(r=>{const s=new Set(r);return s.has(t)?s.delete(t):s.add(t),s})}function o(t){return t.map(r=>({item:r,priceCredits:Math.max(1,i(r))}))}function v(){u.invalidateQueries({queryKey:["importable"]}),u.invalidateQueries({queryKey:["unified-listings"]}),u.invalidateQueries({queryKey:["my-assets"]}),u.invalidateQueries({queryKey:["collection-sale-state"]}),P.success("Your Shop is updated.")}return n?!d&&g.length===0?e.jsxs("div",{className:"imp-empty",children:[e.jsx("span",{className:"imp-empty__ico","aria-hidden":!0,children:"✨"}),e.jsx("h1",{className:"imp-empty__title",children:"You're all caught up"}),e.jsx("p",{className:"muted",children:"Everything you sell is already in the Shop — nothing to import."}),e.jsx(A,{className:"btn btn--purple",to:"/my-assets",children:"Go to My Assets"})]}):e.jsxs("div",{className:"imp",children:[e.jsxs("header",{className:"imp__head",children:[e.jsx("span",{className:"imp__eyebrow",children:"Import to the Shop"}),e.jsxs("h1",{className:"imp__title",children:["Bring your listings ",e.jsx("span",{className:"imp__grad",children:"into the Shop"})]}),e.jsxs("p",{className:"imp__lede",children:["These items are already for sale elsewhere. We suggested a price in ",C.name," for each — matched to today's rate and rounded up. Adjust anything, then list them."]})]}),e.jsxs("div",{className:"imp__ratebar",children:[e.jsx(I,{className:"ccy-mark imp__diamond"})," 1 ",C.nameSingular," = $0.10 · prices rounded up"]}),d?e.jsx("div",{className:"imp__list",children:Array.from({length:4}).map((t,r)=>e.jsx("div",{className:"imp-row imp-row--skeleton"},r))}):U.map(t=>{const r=(c==null?void 0:c[t.key])??[];return r.length===0?null:e.jsxs("section",{className:"imp__section",children:[e.jsxs("div",{className:"imp__section-head",children:[e.jsx("h2",{className:"imp__section-title",children:t.title}),e.jsx("span",{className:"imp__section-sub",children:t.sub})]}),e.jsx("div",{className:"imp__list",children:r.map(s=>{const k=i(s),M=k!==s.suggestedCredits;return e.jsxs("article",{className:`imp-row${y(s.oldTradeId)?"":" is-off"}`,children:[e.jsx("input",{type:"checkbox",className:"imp-check",checked:y(s.oldTradeId),onChange:()=>p(s.oldTradeId),"aria-label":`Include ${s.name}`}),e.jsx("div",{className:"imp-thumb",children:s.thumbnail?e.jsx("img",{src:s.thumbnail,alt:""}):null}),e.jsxs("div",{className:"imp-meta",children:[e.jsx("div",{className:"imp-name",title:s.name,children:s.name||"Item"}),e.jsx("span",{className:"imp-chip",children:s.rarity})]}),e.jsxs("div",{className:"imp-price",children:[e.jsxs("div",{className:"imp-price__field",children:[e.jsx(I,{className:"ccy-mark imp-price__diamond"}),e.jsx("input",{className:"imp-price__input",inputMode:"numeric",value:k.toLocaleString(),onChange:$=>m(s.oldTradeId,$.target.value),"aria-label":`Price in ${C.name} for ${s.name}`})]}),e.jsxs("div",{className:"imp-price__sub",children:[e.jsxs("span",{children:["$",(k*.1).toFixed(2)]}),M?e.jsxs("button",{className:"imp-price__reset",onClick:()=>b($=>({...$,[s.oldTradeId]:s.suggestedCredits})),children:["Reset to ",e.jsx(I,{className:"ccy-mark"}),s.suggestedCredits.toLocaleString()]}):null]})]}),e.jsx("div",{className:"imp-action",children:e.jsx("button",{className:"btn btn--sm imp-row__list",disabled:!y(s.oldTradeId),onClick:()=>f(o([s])),children:"List"})})]},s.oldTradeId)})})]},t.key)}),e.jsx("div",{className:"imp-dock",children:e.jsxs("div",{className:"imp-dock__inner",children:[e.jsxs("div",{className:"imp-dock__summary",children:[e.jsxs("div",{className:"imp-dock__total",children:[e.jsx(I,{className:"ccy-mark imp__diamond"})," ",a.toLocaleString()]}),e.jsxs("div",{className:"imp-dock__sub",children:[l.length," item",l.length===1?"":"s"," selected · $",(a*.1).toFixed(2)]})]}),e.jsx("span",{className:"imp-dock__spacer"}),e.jsxs("button",{className:"btn btn--purple imp-dock__cta",disabled:l.length===0,onClick:()=>f(o(l)),children:["List all (",l.length,")"]})]})}),_&&n?e.jsx(B,{queue:_,session:n,onClose:()=>f(null),onDone:v}):null]}):e.jsxs("div",{className:"imp-empty",children:[e.jsx("span",{className:"imp-empty__ico","aria-hidden":!0,children:"📦"}),e.jsx("h1",{className:"imp-empty__title",children:"Import your listings"}),e.jsx("p",{className:"muted",children:"Sign in to bring the items you already sell into the Shop."}),e.jsx("button",{className:"btn btn--purple",onClick:()=>w(),children:"Sign in"})]})}export{se as ImportListings};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.item-detail{max-width:1721px;margin:0 auto}.item-detail__crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:24px}.item-detail__crumb-link{background:none;border:0;padding:0;font:inherit;color:var(--muted)}.item-detail__crumb-link:hover{color:var(--text)}.item-detail__crumb-sep{color:var(--muted-2)}.item-detail__crumb-current{color:var(--text);font-weight:600}.item-detail__main{display:grid;grid-template-columns:minmax(0,1045fr) minmax(0,514fr);gap:48px;align-items:start;max-width:1607px;margin:0 auto}@media(max-width:900px){.item-detail__main{grid-template-columns:1fr;gap:24px;max-width:none}}.item-detail__preview{position:relative;aspect-ratio:1045 / 752;border-radius:16px;overflow:hidden;background:var(--media)}@media(max-width:900px){.item-detail__preview{aspect-ratio:1 / 1}}.item-detail__preview iframe,.item-detail__preview>*{width:100%;height:100%;border:0;display:block}.item-detail__preview>.item-preview__toggle{position:absolute;top:16px;left:16px;z-index:2;width:auto;height:auto;display:inline-flex;gap:2px;padding:3px;background:#ffffffeb;border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 4px #0000001f}.item-preview__toggle button{border:0;background:none;cursor:pointer;padding:6px 16px;border-radius:999px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);transition:background .12s ease,color .12s ease}.item-preview__toggle button.is-active{background:var(--text);color:#fff}.item-preview__toggle button:not(.is-active):hover{color:var(--text)}.item-preview__toggle-ico{display:none;width:18px;height:18px}.item-detail__preview>.item-preview__emote-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:2;width:min(360px,88%);height:auto;display:flex;align-items:center;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 12px;box-shadow:0 2px 10px #1615181f}.item-preview__emote-controls .MuiBox-root{position:static;width:100%;margin:0;padding:0;display:flex;align-items:center;gap:10px}.item-preview__emote-controls .MuiButtonBase-root{min-width:0;padding:0;margin:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:none!important;box-shadow:none!important;color:var(--muted);flex:0 0 auto;transition:background .12s ease,color .12s ease}.item-preview__emote-controls .MuiButtonBase-root .MuiSvgIcon-root{font-size:20px;margin:0}.item-preview__emote-controls .MuiBox-root>.MuiButtonBase-root:first-child{width:34px;height:34px;background:var(--accent)!important;color:#fff}.item-preview__emote-controls .MuiBox-root>.MuiButtonBase-root:first-child:hover{background:var(--text)!important}.item-preview__emote-controls .MuiBox-root>input+.MuiButtonBase-root{width:30px;height:30px;color:var(--muted)}.item-preview__emote-controls .MuiBox-root>input+.MuiButtonBase-root:hover{background:var(--media)!important;color:var(--text)}.item-preview__emote-controls input[type=range]{flex:1 1 auto;width:auto;min-width:0;height:4px;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.item-preview__emote-controls input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--line-strong)}.item-preview__emote-controls input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--line-strong)}.item-preview__emote-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #1615184d;cursor:pointer}.item-preview__emote-controls input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #1615184d;cursor:pointer}.item-preview__emote-controls input[type=range]:focus-visible{outline:none}.item-preview__emote-controls input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.item-detail__preview>.item-preview__note{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:2;width:auto;height:auto;max-width:88%;margin:0;text-align:center;background:#161518c7;color:#fff;font-size:12px;font-weight:500;padding:6px 12px;border-radius:999px}.item-detail__preview>.item-preview__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:transparent}.item-preview__spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:item-preview-spin .8s linear infinite}@keyframes item-preview-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.item-preview__spinner{animation-duration:2.4s}}.item-detail__info{display:flex;flex-direction:column;gap:0}.item-detail__info-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.item-detail__title{font-size:28px;font-weight:600;line-height:34px;color:var(--text-2)}.item-detail__fav{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--media);display:grid;place-items:center;color:var(--text-2);cursor:pointer;transition:color .12s ease,background .12s ease}.item-detail__fav:hover{background:var(--line)}.item-detail__fav.is-on{color:var(--dcl-red)}.item-detail__fav .ico-heart{width:18px;height:18px}.item-detail__preview>.item-detail__fav--preview{display:none}.item-detail__label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0;color:var(--muted)}.item-detail__chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.item-detail__chips .chip{height:24px;padding:0 8px;gap:3px;font-size:13px;font-weight:500;border-radius:4px;letter-spacing:.02em;text-transform:uppercase}.item-detail__chip{background:var(--chip);color:var(--text-2)}.item-detail__chip-ico{width:18px;height:18px;color:var(--text-2)}.item-detail__section{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.item-detail__description{margin-top:15px;gap:11px}.item-detail__desc-text{margin:0;color:var(--text-2);font-size:14px;line-height:30px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.item-detail__desc-text.is-expanded{-webkit-line-clamp:unset;overflow:visible}.item-detail__desc-toggle{font-size:13px;align-self:flex-start}.item-detail__meta{display:flex;justify-content:space-between;gap:16px;margin-top:32px}.item-detail__meta-col{display:flex;flex-direction:column;gap:15px;min-width:0}.item-detail__meta-col--collection{align-items:flex-start}.item-detail__creator.creator{color:var(--accent);font-size:14px;gap:12px}.item-detail__creator .creator__ava{width:48px;height:48px}.item-detail__creator .creator__ava--letter{font-size:18px}.item-detail__creator .creator__name{color:var(--accent);font-weight:500;text-decoration:underline}.item-detail__creator.creator--link:hover .creator__name{color:var(--brand-violet)}.collection-collage{display:flex;flex-direction:column;overflow:hidden;gap:1px;background:var(--line-strong)}.collection-collage__row{display:flex;flex:1 1 50%;min-height:0;gap:1px}.collection-collage__row--full{flex-basis:100%}.collection-collage__row img{flex:1 1 0;min-width:0;width:100%;height:100%;object-fit:cover;display:block}.item-detail__divider{border:0;border-top:1px solid #cfcdd4;margin:24px 0 0;width:100%}.item-detail__price-block{margin-top:16px}.item-detail__price-row{display:flex;align-items:flex-start;gap:16px;width:100%}.item-detail__price-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}.item-detail__stock-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.item-detail__stock-value{font-size:18px;font-weight:500;line-height:1;color:var(--text-2)}.item-detail__price-label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0;color:#5e5b67}.item-detail__price{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}.item-detail__diamond{width:30px;height:30px;color:var(--brand-violet)}.item-detail__price-value{font-size:30px;line-height:1}.item-detail__price--none{font-size:18px;color:var(--muted)}.item-detail__approx{font-size:24px;font-weight:700;color:var(--text);margin-right:-2px}.item-detail__market-note{font-size:13px;margin-top:6px}.item-detail__price--sale{flex-wrap:wrap;gap:10px 14px}.item-detail__price--sale .item-detail__price,.item-detail__price--sale .item-detail__price-value,.item-detail__price--sale .item-detail__diamond{color:var(--dcl-red)}.item-detail__price-was{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:line-through;font-weight:600;font-size:20px}.item-detail__diamond--was{width:18px;height:18px;color:var(--muted)}.item-detail__sale-badge{display:inline-flex;align-items:center;background:var(--dcl-red);color:#fff;font-weight:800;font-size:13px;letter-spacing:.03em;text-transform:uppercase;border-radius:6px;padding:4px 10px}.item-detail__countdown{display:inline-flex;align-items:center;gap:5px;background:var(--rarity-bg);color:var(--accent);font-size:13px;font-weight:700;border-radius:6px;padding:4px 10px;white-space:nowrap}.item-detail__countdown .sale-countdown__ico{width:14px;height:14px}.item-detail__ctas{display:flex;flex-direction:column;gap:12px;margin-top:20px}.item-detail__cta{width:100%;height:48px;border-radius:8px;font-size:15px;font-weight:600;letter-spacing:.46px;display:flex;align-items:center;justify-content:center;gap:8px}.item-detail__cta-price{display:none;align-items:center;gap:6px}.item-detail__cta-diamond{width:20px;height:20px;color:#fff}.item-detail__addcart{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--black-btn);color:var(--soft-white);border:0;border-radius:8px;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.46px;cursor:pointer;transition:filter .15s ease}.item-detail__addcart:hover:not(:disabled){filter:brightness(1.35)}.item-detail__addcart:disabled{opacity:.55;cursor:default}.item-detail__addcart-ico{width:20px;height:20px}.item-detail__status{margin:0;font-size:13px}.item-detail__own-note{margin:0;font-size:14px}.item-detail__own-note a{color:var(--accent);font-weight:600}@media(max-width:900px){.item-detail__title{font-size:20px;line-height:24px}.item-detail__info-head{order:0}.item-detail__chips{order:1;margin-top:10px}.item-detail__meta{order:2;margin-top:20px}.item-detail__description{order:3;margin-top:20px}.item-detail__divider{order:4;margin-top:20px}.item-detail__price-block{order:5;margin-top:16px}.item-detail__ctas{order:6}.item-detail__status{order:7}.item-detail{padding-bottom:88px}.item-detail__ctas--buttons{position:fixed;left:0;right:0;bottom:0;z-index:40;margin-top:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--soft-white);box-shadow:0 -4px 16px #1615181f}.item-detail__ctas--dual{flex-direction:row;align-items:stretch;gap:12px}.item-detail__ctas--dual .item-detail__cta{flex:1 1 auto;width:auto}.item-detail__ctas--dual .item-detail__cta-price{display:inline-flex}.item-detail__ctas--dual .item-detail__addcart{flex:0 0 auto;width:56px;padding:0}.item-detail__ctas--dual .item-detail__addcart-label{display:none}.item-detail__ctas--dual .item-detail__addcart-ico{margin:0}.item-detail__info-head .item-detail__fav{display:none}.item-detail__preview>.item-detail__fav--preview{display:grid;position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;background:#ffffffeb;box-shadow:0 1px 4px #1615182e}.item-detail__preview>.item-detail__fav--preview:hover{background:#fff}.item-detail__preview>.item-preview__toggle{top:auto;left:auto;bottom:12px;right:12px;gap:0;padding:0;background:transparent;border:0;box-shadow:0 1px 4px #1615182e;overflow:hidden}.item-preview__toggle-label{display:none}.item-preview__toggle-ico{display:block}.item-preview__toggle button{padding:9px 13px;border-radius:0;background:#fff;color:var(--text-2)}.item-preview__toggle button.is-active{background:var(--text);color:#fff}.item-preview__toggle button:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px}.item-preview__toggle button:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px}}.collection-carousel{margin-top:64px}.collection-carousel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.collection-carousel__title{font-size:22px;font-weight:700;color:var(--text)}.collection-carousel__viewall{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.046em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.collection-carousel__viewall:hover{text-decoration:underline}.collection-carousel__viewall-ico{width:16px;height:16px;transform:rotate(-90deg)}.collection-carousel__viewport{position:relative}.collection-carousel__arrow{position:absolute;top:112px;transform:translateY(-50%);z-index:5;width:53px;height:53px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18));transition:transform .15s ease,filter .15s ease,opacity .15s ease}.collection-carousel__arrow img{display:block;width:100%;height:100%}.collection-carousel__arrow--left{left:-40px}.collection-carousel__arrow--right{right:-40px}.collection-carousel__arrow--left img{transform:scaleX(-1)}.collection-carousel__arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.07)}.collection-carousel__arrow:disabled{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.collection-carousel__arrow{transition:none}}@media(max-width:900px){.collection-carousel__arrow{display:none}}.collection-carousel__track{display:flex;gap:16px;overflow-x:auto;padding:12px 10px;margin:0 -10px;scroll-snap-type:x proximity;scrollbar-width:none}.collection-carousel__track::-webkit-scrollbar{display:none}.collection-carousel__track>.card{flex:0 0 281px;scroll-snap-align:start}@media(max-width:720px){.collection-carousel__track>.card{flex:0 0 85%}}.collection-carousel__dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px}.collection-carousel__dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:var(--line-strong);opacity:.5;cursor:pointer;transition:opacity .12s ease,background .12s ease,transform .12s ease}.collection-carousel__dot:hover{opacity:.8}.collection-carousel__dot.is-active{background:var(--accent);opacity:1;transform:scale(1.1)}.item-detail--notfound{min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.item-detail__notfound-ico{width:44px;height:44px;opacity:.4}.item-detail__notfound-title{font-size:22px}.item-detail--notfound .btn{margin-top:6px}
|
|
1
|
+
.item-detail{max-width:1721px;margin:0 auto}.item-detail__crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:24px}.item-detail__crumb-link{background:none;border:0;padding:0;font:inherit;color:var(--muted)}.item-detail__crumb-link:hover{color:var(--text)}.item-detail__crumb-sep{color:var(--muted-2)}.item-detail__crumb-current{color:var(--text);font-weight:600}.item-detail__main{display:grid;grid-template-columns:minmax(0,1045fr) minmax(0,514fr);gap:48px;align-items:start;max-width:1607px;margin:0 auto}@media(max-width:900px){.item-detail__main{grid-template-columns:1fr;gap:24px;max-width:none}}.item-detail__preview{position:relative;aspect-ratio:1045 / 752;border-radius:16px;overflow:hidden;background:var(--media)}@media(max-width:900px){.item-detail__preview{aspect-ratio:1 / 1}}.item-detail__preview iframe,.item-detail__preview>*{width:100%;height:100%;border:0;display:block}.item-detail__preview>.item-preview__toggle{position:absolute;top:16px;left:16px;z-index:2;width:auto;height:auto;display:inline-flex;gap:2px;padding:3px;background:#ffffffeb;border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 4px #0000001f}.item-preview__toggle button{border:0;background:none;cursor:pointer;padding:6px 16px;border-radius:999px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);transition:background .12s ease,color .12s ease}.item-preview__toggle button.is-active{background:var(--text);color:#fff}.item-preview__toggle button:not(.is-active):hover{color:var(--text)}.item-preview__toggle-ico{display:none;width:18px;height:18px}.item-detail__preview>.item-preview__emote-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:2;width:min(360px,88%);height:auto;display:flex;align-items:center;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 12px;box-shadow:0 2px 10px #1615181f}.item-preview__emote-controls .MuiBox-root{position:static;width:100%;margin:0;padding:0;display:flex;align-items:center;gap:10px}.item-preview__emote-controls .MuiButtonBase-root{min-width:0;padding:0;margin:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:none!important;box-shadow:none!important;color:var(--muted);flex:0 0 auto;transition:background .12s ease,color .12s ease}.item-preview__emote-controls .MuiButtonBase-root .MuiSvgIcon-root{font-size:20px;margin:0}.item-preview__emote-controls .MuiBox-root>.MuiButtonBase-root:first-child{width:34px;height:34px;background:var(--accent)!important;color:#fff}.item-preview__emote-controls .MuiBox-root>.MuiButtonBase-root:first-child:hover{background:var(--text)!important}.item-preview__emote-controls .MuiBox-root>input+.MuiButtonBase-root{width:30px;height:30px;color:var(--muted)}.item-preview__emote-controls .MuiBox-root>input+.MuiButtonBase-root:hover{background:var(--media)!important;color:var(--text)}.item-preview__emote-controls input[type=range]{flex:1 1 auto;width:auto;min-width:0;height:4px;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.item-preview__emote-controls input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--line-strong)}.item-preview__emote-controls input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--line-strong)}.item-preview__emote-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #1615184d;cursor:pointer}.item-preview__emote-controls input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #1615184d;cursor:pointer}.item-preview__emote-controls input[type=range]:focus-visible{outline:none}.item-preview__emote-controls input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.item-detail__preview>.item-preview__note{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:2;width:auto;height:auto;max-width:88%;margin:0;text-align:center;background:#161518c7;color:#fff;font-size:12px;font-weight:500;padding:6px 12px;border-radius:999px}.item-detail__preview>.item-preview__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:transparent}.item-preview__spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:item-preview-spin .8s linear infinite}@keyframes item-preview-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.item-preview__spinner{animation-duration:2.4s}}.item-detail__info{display:flex;flex-direction:column;gap:0}.item-detail__info-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.item-detail__title{font-size:28px;font-weight:600;line-height:34px;color:var(--text-2)}.item-detail__fav{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--media);display:grid;place-items:center;color:var(--text-2);cursor:pointer;transition:color .12s ease,background .12s ease}.item-detail__fav:hover{background:var(--line)}.item-detail__fav.is-on{color:var(--dcl-red)}.item-detail__fav .ico-heart{width:18px;height:18px}.item-detail__preview>.item-detail__fav--preview{display:none}.item-detail__label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0;color:var(--muted)}.item-detail__chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.item-detail__chips .chip{height:24px;padding:0 8px;gap:3px;font-size:13px;font-weight:500;border-radius:4px;letter-spacing:.02em;text-transform:uppercase}.item-detail__chip{background:var(--chip);color:var(--text-2)}.item-detail__chip-ico{width:18px;height:18px;color:var(--text-2)}.item-detail__section{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.item-detail__description{margin-top:15px;gap:11px}.item-detail__desc-text{margin:0;color:var(--text-2);font-size:14px;line-height:30px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.item-detail__desc-text.is-expanded{-webkit-line-clamp:unset;overflow:visible}.item-detail__desc-toggle{font-size:13px;align-self:flex-start}.item-detail__meta{display:flex;justify-content:space-between;gap:16px;margin-top:32px}.item-detail__meta-col{display:flex;flex-direction:column;gap:15px;min-width:0}.item-detail__meta-col--collection{align-items:flex-start}.item-detail__creator.creator{color:var(--accent);font-size:14px;gap:12px}.item-detail__creator .creator__ava{width:48px;height:48px}.item-detail__creator .creator__ava--letter{font-size:18px}.item-detail__creator .creator__name{color:var(--accent);font-weight:500;text-decoration:underline}.item-detail__creator.creator--link:hover .creator__name{color:var(--brand-violet)}.collection-collage{display:flex;flex-direction:column;overflow:hidden;gap:1px;background:var(--line-strong)}.collection-collage__row{display:flex;flex:1 1 50%;min-height:0;gap:1px}.collection-collage__row--full{flex-basis:100%}.collection-collage__row img{flex:1 1 0;min-width:0;width:100%;height:100%;object-fit:cover;display:block}.item-detail__divider{border:0;border-top:1px solid #cfcdd4;margin:24px 0 0;width:100%}.item-detail__price-block{margin-top:16px}.item-detail__price-row{display:flex;align-items:flex-start;gap:16px;width:100%}.item-detail__price-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}.item-detail__stock-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.item-detail__stock-value{font-size:18px;font-weight:500;line-height:1;color:var(--text-2)}.item-detail__price-label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0;color:#5e5b67}.item-detail__price{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}.item-detail__diamond{width:30px;height:30px;color:var(--brand-violet)}.item-detail__price-value{font-size:30px;line-height:1}.item-detail__price--none{font-size:18px;color:var(--muted)}.item-detail__approx{font-size:24px;font-weight:700;color:var(--text);margin-right:-2px}.item-detail__market-note{font-size:13px;margin-top:6px}.item-detail__price--sale{flex-wrap:wrap;gap:10px 14px}.item-detail__price--sale .item-detail__price,.item-detail__price--sale .item-detail__price-value,.item-detail__price--sale .item-detail__diamond{color:var(--dcl-red)}.item-detail__price-was{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:line-through;font-weight:600;font-size:20px}.item-detail__diamond--was{width:18px;height:18px;color:var(--muted)}.item-detail__sale-badge{display:inline-flex;align-items:center;background:var(--dcl-red);color:#fff;font-weight:800;font-size:13px;letter-spacing:.03em;text-transform:uppercase;border-radius:6px;padding:4px 10px}.item-detail__countdown{display:inline-flex;align-items:center;gap:5px;background:var(--rarity-bg);color:var(--accent);font-size:13px;font-weight:700;border-radius:6px;padding:4px 10px;white-space:nowrap}.item-detail__countdown .sale-countdown__ico{width:14px;height:14px}.item-detail__ctas{display:flex;flex-direction:column;gap:12px;margin-top:20px}.item-detail__cta{width:100%;height:48px;border-radius:8px;font-size:15px;font-weight:600;letter-spacing:.46px;display:flex;align-items:center;justify-content:center;gap:8px}.item-detail__cta-price{display:none;align-items:center;gap:6px}.item-detail__cta-diamond{width:20px;height:20px;color:#fff}.item-detail__addcart{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--black-btn);color:var(--soft-white);border:0;border-radius:8px;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.46px;cursor:pointer;transition:filter .15s ease}.item-detail__addcart:hover:not(:disabled){filter:brightness(1.35)}.item-detail__addcart:disabled{opacity:.55;cursor:default}.item-detail__addcart-ico{width:20px;height:20px}.item-detail__status{margin:0;font-size:13px}.item-detail__own-note{margin:0;font-size:14px}.item-detail__own-note a{color:var(--accent);font-weight:600}@media(max-width:900px){.item-detail__title{font-size:20px;line-height:24px}.item-detail__info-head{order:0}.item-detail__chips{order:1;margin-top:10px}.item-detail__meta{order:2;margin-top:20px}.item-detail__description{order:3;margin-top:20px}.item-detail__divider{order:4;margin-top:20px}.item-detail__price-block{order:5;margin-top:16px}.item-detail__ctas{order:6}.item-detail__status{order:7}.item-detail{padding-bottom:88px}.item-detail__ctas--buttons{position:fixed;left:0;right:0;bottom:0;z-index:40;margin-top:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--soft-white);box-shadow:0 -4px 16px #1615181f}.item-detail__ctas--dual{flex-direction:row;align-items:stretch;gap:12px}.item-detail__ctas--dual .item-detail__cta{flex:1 1 auto;width:auto}.item-detail__ctas--dual .item-detail__cta-price{display:inline-flex}.item-detail__ctas--dual .item-detail__addcart{flex:0 0 auto;width:56px;padding:0}.item-detail__ctas--dual .item-detail__addcart-label{display:none}.item-detail__ctas--dual .item-detail__addcart-ico{margin:0}.item-detail__info-head .item-detail__fav{display:none}.item-detail__preview>.item-detail__fav--preview{display:grid;position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;background:#ffffffeb;box-shadow:0 1px 4px #1615182e}.item-detail__preview>.item-detail__fav--preview:hover{background:#fff}.item-detail__preview>.item-preview__toggle{top:auto;left:auto;bottom:12px;right:12px;gap:0;padding:0;background:transparent;border:0;box-shadow:0 1px 4px #1615182e;overflow:hidden}.item-preview__toggle-label{display:none}.item-preview__toggle-ico{display:block}.item-preview__toggle button{padding:9px 13px;border-radius:0;background:#fff;color:var(--text-2)}.item-preview__toggle button.is-active{background:var(--text);color:#fff}.item-preview__toggle button:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px}.item-preview__toggle button:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px}}.item-detail--notfound{min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.item-detail__notfound-ico{width:44px;height:44px;opacity:.4}.item-detail__notfound-title{font-size:22px}.item-detail--notfound .btn{margin-top:6px}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CAIuPn4q.js","assets/react-yytiy0wi.js","assets/index-r45SswES.js","assets/ethers-DArfy-QF.js","assets/index-jbcqNek9.css","assets/emotion-styled.browser.esm-B4ZybID-.js","assets/useTheme-B1I-qqVe.js","assets/CircularProgress-dArtpO16.js","assets/index-B7UojGOz.js","assets/useTheme-BMWEIcbK.js","assets/CssVarsProvider-NUrRzWfI.js","assets/getOverlayAlpha-nRpMWuqq.js","assets/index-DHLTDjWC.js","assets/colors-LINLm1ux.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as ae,r as o,j as e,d as ke,b as Ie,L as Ae}from"./react-yytiy0wi.js";import{b as se,v as Se,u as Ee,aj as Le,n as Pe,o as Be,y as Me,w as Q,t as D,l as ce,z as X,ak as Fe,k as oe,C as A,af as J,_ as ee,H as Re,K as Te,J as $e,at as qe,W as Ve,i as T,h as ye,au as We,av as Oe,ag as me,a as ue,d as O,aw as De,ax as Ke,ay as ze,az as Ye,aA as Ue,aq as Ge,aB as He,aC as Qe,aD as Je,ah as Ze,aE as _e,aF as Xe,ao as ea,aG as aa,aH as sa,ap as ta,aI as ia}from"./index-r45SswES.js";import{b as he}from"./buy-CK_8Gv_-.js";import{g as ra,b as la,w as na,S as da,G as ca}from"./buy-gasless-B0ASTVfF.js";import{C as oa,c as ma}from"./payments-D_1c4Q0E.js";import{R as pe}from"./resume-buy-Bf0zIH7y.js";import{C as ua}from"./CircularProgress-dArtpO16.js";import{u as _a,M as ha}from"./MarketCheckout-Z8xqLDVD.js";import{C as pa}from"./CollectionCarousel-B6ehNbVL.js";import"./ethers-DArfy-QF.js";import"./trade-encoding-04aPoKGq.js";import"./index-DVAx1hg9.js";import"./mana-rate-iNhXq7r-.js";function be(t){const r=t,s=(r.message??"").toLowerCase();return r.code===4001||s.includes("reject")||s.includes("denied")||s.includes("cancel")?"You cancelled the request.":s.includes("not for sale")||s.includes("not found")||s.includes("404")?"This item was just sold or removed.":s.includes("your own listing")?"You can't buy your own listing.":"Couldn't complete the purchase — please try again."}function ba(t){const r=t;return r.code===402||r.status===402||(r.message??"").toLowerCase().includes("insufficient")}const R=oa.slice(0,3);function xa({item:t,onClose:r,resume:s=!1}){var k,U;const{session:n}=se(),{data:d}=Se(n),h=Ee(),x=ae(),[u,l]=o.useState("loading"),[y,a]=o.useState(null),[f,E]=o.useState(""),[j,B]=o.useState(t.priceCredits),[w,g]=o.useState(null),v=o.useRef(null),$=(w==null?void 0:w.credits)??j,C=(d==null?void 0:d.credits)??0;o.useEffect(()=>{let c=!1;if(!n){l("error"),a("Sign in to check out.");return}const b=m=>{const _=m-((d==null?void 0:d.credits)??0),p=R.find(I=>I.credits>=_)??R[R.length-1];E(p.id),D("Shop Buy Credits Prompted",{from:"item_checkout",credits_needed:m,credits_balance:(d==null?void 0:d.credits)??0,shortfall:Math.max(0,_)}),l("nofunds")};return(async()=>{var m,_;try{const p=await Le(t);if(!p)throw new Error("not for sale");if(Pe(p,n.address))throw new Error("You can't buy your own listing.");const I=Be((_=(m=p.received)==null?void 0:m[0])==null?void 0:_.amount);if(!Number.isFinite(I)||I<=0)throw new Error("price unavailable");const M=Math.ceil(I/10);if(c)return;if(B(M),d!=null&&d.credits<M){b(M);return}try{const{credit:L,maxCreditedValue:V,usdCents:F}=await Me(n.identity,I,p.id);if(c){Q(n.identity,[L.id]).catch(()=>{});return}v.current=L.id;const N=Math.ceil(F/10);B(N);const W={trade:p,credit:L,maxCreditedValue:V,usdCents:F,credits:N};g(W),s?K(W):l("ready")}catch(L){if(c)return;if(ba(L)){b(M);return}throw L}}catch(p){if(c)return;D(X(p)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:ce(p)}),l("error"),a(be(p))}})(),()=>{c=!0,v.current&&n&&(Q(n.identity,[v.current]).catch(()=>{}),v.current=null)}},[]);async function K(c=w){if(!n||!c)return;l("processing"),a(null);let b=!1;try{const m={trade:c.trade,buyer:n.address,signer:n.signer,credits:[c.credit],maxCreditedValue:c.maxCreditedValue};let _;if(ra())try{_=await la(m),await na(_),b=!0}catch(p){if(p instanceof da)b=!0;else if(p instanceof ca)_=await he(m);else throw p}else _=await he(m);v.current=null,D("Shop Completed Purchase",{...Fe([t]),payment_type:"credits",no_crypto_step:b,transaction_hash:_??null}),h.invalidateQueries({queryKey:["usd-balance"]}),l("complete")}catch(m){X(m)||oe(m,{flow:"buy",step:"submit",gasless:b}),Q(n.identity,[c.credit.id]).catch(()=>{}),v.current=null,D(X(m)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:ce(m)}),h.invalidateQueries({queryKey:["usd-balance"]}),a(be(m)),l("error")}}async function z(){if(!(!f||!n)){try{sessionStorage.setItem(pe,JSON.stringify(t))}catch{}w&&Q(n.identity,[w.credit.id]).catch(()=>{}),v.current=null,l("loading");try{const c=await ma(f,{address:n.address,identity:n.identity});if(c.url){window.location.href=c.url;return}x("/credits")}catch(c){oe(c,{flow:"buy_credits_and_item"});try{sessionStorage.removeItem(pe)}catch{}a("Couldn't start the credits checkout — please try again."),l("error")}}}const Y=u==="processing",q=u==="complete"?"Purchase complete!":u==="nofunds"?"Buy Credits and Item":"Buy Asset";return e.jsxs("div",{className:"buy-modal",role:"dialog","aria-modal":"true","aria-label":`Buy ${t.name}`,children:[e.jsx("div",{className:"buy-modal__scrim",onClick:Y?void 0:r,"aria-hidden":!0}),e.jsxs("div",{className:`buy-modal__card${u==="processing"||u==="loading"?" buy-modal__card--tall":""}`,children:[e.jsxs("div",{className:"buy-modal__head",children:[e.jsxs("div",{className:"buy-modal__head-row",children:[e.jsx("h2",{className:"buy-modal__title",children:q}),!Y&&e.jsx("button",{className:"buy-modal__x",onClick:r,"aria-label":"Close",children:e.jsx("svg",{viewBox:"0 0 18 18",width:"18",height:"18","aria-hidden":!0,children:e.jsx("path",{d:"M4 4l10 10M14 4L4 14",stroke:"#161518",strokeWidth:"1.8",strokeLinecap:"round"})})})]}),e.jsxs("div",{className:"buy-modal__balance",children:[e.jsx("span",{className:"buy-modal__balance-label",children:u==="nofunds"?"DCL Balance:":"My Credits Balance:"}),e.jsx(A,{className:"buy-modal__balance-ico"}),e.jsx("span",{className:"buy-modal__balance-value",children:J(C)})]})]}),u==="loading"&&e.jsx("div",{className:"buy-modal__body buy-modal__processing",children:e.jsx(ua,{size:44})}),u==="error"&&e.jsxs("div",{className:"buy-modal__body",children:[e.jsx("p",{className:"buy-modal__error",children:y}),e.jsx("div",{className:"buy-modal__ctas",children:e.jsx("button",{className:"buy-modal__btn buy-modal__btn--gradient",onClick:r,children:"Close"})})]}),u==="nofunds"&&e.jsxs("div",{className:"buy-modal__body",children:[e.jsxs("div",{className:"buy-modal__warning",children:[e.jsxs("svg",{viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":!0,className:"buy-modal__warning-ico",children:[e.jsx("path",{d:"M12 3L2 20h20L12 3z",fill:"none",stroke:"#691fa9",strokeWidth:"1.8",strokeLinejoin:"round"}),e.jsx("path",{d:"M12 9v5",stroke:"#691fa9",strokeWidth:"1.8",strokeLinecap:"round"}),e.jsx("circle",{cx:"12",cy:"17",r:"1.1",fill:"#691fa9"})]}),e.jsxs("p",{className:"buy-modal__warning-text",children:[e.jsx("b",{children:"Insufficient Funds."})," You will need to buy"," ",e.jsxs("b",{children:[Math.max(0,$-C)," Credits"]})," to purchase this item."]})]}),e.jsx(xe,{item:t,priceCredits:$}),e.jsx("div",{className:"buy-modal__packs",children:R.map(c=>{const b=c.credits,m=c.id===f;return e.jsxs("button",{className:`buy-modal__pack${m?" buy-modal__pack--on":""}`,onClick:()=>E(c.id),children:[e.jsx(A,{className:"buy-modal__pack-ico"}),e.jsx("span",{className:"buy-modal__pack-amount",children:J(b)}),e.jsxs("span",{className:"buy-modal__pack-usd",children:["($",c.usd.toFixed(2),")"]})]},c.id)})}),e.jsxs("div",{className:"buy-modal__total",children:[e.jsxs("div",{className:"buy-modal__total-credits",children:[e.jsx(A,{className:"buy-modal__total-ico"}),e.jsx("span",{children:J(((k=R.find(c=>c.id===f))==null?void 0:k.credits)??0)})]}),e.jsxs("span",{className:"buy-modal__total-usd",children:["$",(((U=R.find(c=>c.id===f))==null?void 0:U.usd)??0).toFixed(2)]})]}),e.jsxs("div",{className:"buy-modal__ctas",children:[e.jsx("button",{className:"buy-modal__btn buy-modal__btn--outline",onClick:r,children:"Cancel"}),e.jsx("button",{className:"buy-modal__btn buy-modal__btn--gradient",onClick:z,children:"Buy"})]})]}),u==="ready"&&e.jsxs("div",{className:"buy-modal__body",children:[e.jsx(xe,{item:t,priceCredits:$}),e.jsx("div",{className:"buy-modal__ctas",children:e.jsx("button",{className:"buy-modal__btn buy-modal__btn--gradient buy-modal__btn--full",onClick:()=>K(),children:"Buy"})})]}),u==="processing"&&e.jsxs("div",{className:"buy-modal__body buy-modal__processing",children:[e.jsx("img",{className:"buy-modal__logo",src:"/icon-192.png",alt:"",width:61,height:61}),e.jsx("div",{className:"buy-modal__processing-text",children:s?"Completing Purchase…":"Completing transaction…"}),e.jsx("div",{className:"buy-modal__progress","aria-hidden":!0,children:e.jsx("span",{className:"buy-modal__progress-fill"})})]}),u==="complete"&&e.jsxs("div",{className:"buy-modal__body",children:[e.jsxs("div",{className:"buy-modal__success",children:[e.jsxs("svg",{viewBox:"0 0 64 64",width:"64",height:"64","aria-hidden":!0,children:[e.jsx("circle",{cx:"32",cy:"32",r:"32",fill:"#34ce74"}),e.jsx("path",{d:"M20 33l8 8 16-18",fill:"none",stroke:"#fff",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"})]}),e.jsxs("p",{className:"buy-modal__success-text",children:[e.jsx("b",{children:"Your purchase was successful!"})," You can find your item in the My Assets tab."]})]}),e.jsxs("div",{className:"buy-modal__ctas",children:[e.jsx("button",{className:"buy-modal__btn buy-modal__btn--outline",onClick:()=>x("/assets?tab=mine"),children:"My assets"}),e.jsxs("button",{className:"buy-modal__btn buy-modal__btn--ruby",onClick:r,children:["Try in world",e.jsx("svg",{viewBox:"0 0 24 24",width:"20",height:"20","aria-hidden":!0,children:e.jsx("path",{d:"M5 12h12M13 7l5 5-5 5",fill:"none",stroke:"#fcfcfc",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]})]})}function xe({item:t,priceCredits:r}){return e.jsxs("div",{className:"buy-modal__asset",children:[e.jsx("div",{className:"buy-modal__asset-thumb",children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs("div",{className:"buy-modal__asset-info",children:[e.jsxs("div",{children:[e.jsx("div",{className:"buy-modal__asset-name",title:t.name,children:t.name||"Item"}),t.creator?e.jsxs("div",{className:"buy-modal__asset-creator",children:["By ",t.creator]}):null]}),e.jsxs("div",{className:"buy-modal__asset-price",children:[e.jsx(A,{className:"buy-modal__asset-price-ico"}),e.jsx("span",{children:J(r)})]})]})]})}const ya=o.lazy(async()=>{const[{EmoteControls:t},{Experimental_CssVarsProvider:r},{light:s}]=await Promise.all([ee(()=>import("./index-CAIuPn4q.js").then(n=>n.i),__vite__mapDeps([0,1,2,3,4,5,6,7])),ee(()=>import("./index-B7UojGOz.js"),__vite__mapDeps([8,2,1,3,4,9,6,10,11])),ee(()=>import("./index-DHLTDjWC.js"),__vite__mapDeps([12,2,1,3,4,13,11,10,6]))]);return{default:n=>e.jsx(r,{theme:s,children:e.jsx(t,{...n})})}});function fa(t){return e.jsx(o.Suspense,{fallback:null,children:e.jsx(ya,{...t})})}function ja({item:t}){const r=se(g=>{var v;return(v=g.session)==null?void 0:v.address}),{data:s,isLoading:n}=Re(r),d=r&&s?r:"default",h=t.category==="emote",[x,u]=o.useState("item"),l=!h&&x==="item",y=l||!n,[a,f]=o.useState(!0);o.useEffect(()=>{f(!0)},[t.id,l]);const E=!!r&&!!s,j=E&&Te(t,$e(s)),B=qe(t)[0],w=E&&!j&&!h;return e.jsxs(e.Fragment,{children:[y?e.jsx(Ve,{id:"shop-item-preview",contractAddress:t.contractAddress,tokenId:t.tokenId??void 0,itemId:t.tokenId?void 0:t.itemId??void 0,profile:l?void 0:j?d:"default",bodyShape:l||j?void 0:B,type:h?void 0:l?T.PreviewType.WEARABLE:T.PreviewType.AVATAR,emote:h||l?void 0:T.PreviewEmote.FASHION,disableBackground:!0,wheelZoom:h?1.5:void 0,wheelStart:h?100:void 0,dev:ye.chainId===80002,onLoad:()=>f(!1)}):null,!y||a?e.jsx("div",{className:"item-preview__loading","aria-busy":"true","aria-label":"Loading preview",children:e.jsx("span",{className:"item-preview__spinner","aria-hidden":!0})}):null,w&&!l?e.jsxs("p",{className:"item-preview__note",children:["Shown on a ",We(B)," body — this item isn’t made for your avatar’s shape."]}):null,h?e.jsx("div",{className:"item-preview__emote-controls",children:e.jsx(fa,{wearablePreviewId:"shop-item-preview",hideFrameInput:!0})}):e.jsxs("div",{className:"item-preview__toggle",role:"group","aria-label":"Preview mode",children:[e.jsxs("button",{type:"button",className:x==="avatar"?"is-active":"","aria-pressed":x==="avatar","aria-label":"On avatar",onClick:()=>u("avatar"),children:[e.jsxs("svg",{className:"item-preview__toggle-ico",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:[e.jsx("circle",{cx:"12",cy:"7.5",r:"4"}),e.jsx("path",{d:"M4 20c0-4.2 3.6-6.5 8-6.5s8 2.3 8 6.5v.5H4z"})]}),e.jsx("span",{className:"item-preview__toggle-label",children:"On avatar"})]}),e.jsxs("button",{type:"button",className:x==="item"?"is-active":"","aria-pressed":x==="item","aria-label":"Item",onClick:()=>u("item"),children:[e.jsx("svg",{className:"item-preview__toggle-ico",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:e.jsx("path",{d:"M8.5 3 3 6l1.8 3.8 2.2-1V21h10V8.8l2.2 1L22 6l-5.5-3a2.6 2.6 0 0 1-4.5 1.4A2.6 2.6 0 0 1 8.5 3z"})}),e.jsx("span",{className:"item-preview__toggle-label",children:"Item"})]})]})]})}function va({contractAddress:t,name:r,items:s,className:n}){const d=ae();if(!t||!r)return null;const h=(s??[]).map(l=>l.thumbnail).filter(l=>!!l).slice(0,4),x=h.slice(0,2),u=h.slice(2,4);return e.jsxs("button",{className:`creator creator--link${n?` ${n}`:""}`,onClick:l=>{l.stopPropagation(),d(`/collection/${t}`)},children:[h.length>0?e.jsxs("span",{className:"creator__ava collection-collage","aria-hidden":!0,children:[e.jsx("span",{className:`collection-collage__row${u.length===0?" collection-collage__row--full":""}`,children:x.map((l,y)=>e.jsx("img",{src:l,alt:""},y))}),u.length>0?e.jsx("span",{className:"collection-collage__row",children:u.map((l,y)=>e.jsx("img",{src:l,alt:""},y))}):null]}):null,e.jsx("span",{className:"creator__name",children:Oe(r)})]})}function ga(t){return Object.values(T.Rarity).includes(t)}function Na(t){return t==="male"?"Male":t==="female"?"Female":t==="unisex"?"Unisex":null}function wa(t){return t.wearableCategory?t.wearableCategory.replace(/_/g," "):t.category==="emote"?"Emote":"Wearable"}function $a(){const{contractAddress:t,tokenId:r}=ke(),{state:s}=Ie(),n=ae(),d=!!(s!=null&&s.market),h=(s==null?void 0:s.marketPriceCredits)??null,x=me(i=>i.add),u=me(i=>i.items),l=ue(i=>i.toggle),{session:y}=se(),[a,f]=o.useState(()=>s!=null&&s.item?{...s.item,tradeId:s.tradeId??s.item.tradeId}:{id:`${t}-${r}`,name:"",creator:"",contractAddress:t??"",itemId:null,category:"wearable",rarity:"common",network:"MATIC",chainId:ye.chainId,thumbnail:"",priceCredits:0,gender:null,isSmart:!1,tokenId:r??void 0,tradeId:s==null?void 0:s.tradeId}),[E,j]=o.useState(!1),[B,w]=o.useState(!!(s!=null&&s.resumeBuy));o.useEffect(()=>{s!=null&&s.resumeBuy&&j(!0)},[s==null?void 0:s.resumeBuy]);const{data:g=[],isFetched:v}=O({queryKey:["collection-items",a.contractAddress],enabled:!!a.contractAddress,queryFn:()=>ea(a.contractAddress,{first:20}).then(i=>i.items)}),$=a.available==null&&!a.tokenId,{data:C,isLoading:K}=O({queryKey:["shop-item",a.contractAddress,r],enabled:!d&&!!a.contractAddress&&!!r&&(!(s!=null&&s.item)||$),queryFn:()=>aa(a.contractAddress,r)});o.useEffect(()=>{C&&f(i=>i.tradeId?i.available!=null&&i.wearableCategory?i:{...i,available:i.available??C.available,wearableCategory:i.wearableCategory??C.wearableCategory}:{...C})},[C]);const[z,Y]=o.useState(!1),{data:q=""}=O({queryKey:["item-desc",a.contractAddress,a.itemId],enabled:!!a.contractAddress&&!!a.itemId,staleTime:5*6e4,queryFn:()=>sa(a.contractAddress,a.itemId)}),{data:k}=O({queryKey:["collection-meta",a.contractAddress],enabled:!!a.contractAddress,staleTime:5*6e4,queryFn:()=>ta(a.contractAddress)});o.useEffect(()=>{if(a.name||C||g.length===0)return;const i=r&&g.find(S=>S.tokenId===r||S.itemId===r)||g.find(S=>S.contractAddress===a.contractAddress);i&&f(S=>({...i,tradeId:S.tradeId??i.tradeId}))},[g,C]);const U=o.useMemo(()=>{const i=new Set,S=[];for(const P of g){if(P.id===a.id||a.itemId&&P.itemId===a.itemId||a.tokenId&&P.tokenId===a.tokenId)continue;const de=`${P.contractAddress}-${P.itemId??P.tokenId??P.id}`;i.has(de)||(i.add(de),S.push(P))}return S},[g,a.id,a.itemId,a.tokenId]),{data:c,isLoading:b}=O({queryKey:["detail-trade",a.id,a.tradeId,a.contractAddress,a.itemId],enabled:!!a.contractAddress,queryFn:async()=>{if(a.tradeId)return a.tradeId;if(a.itemId){const i=await ia(a.contractAddress,a.itemId);return(i==null?void 0:i.id)??null}return null}}),m=a.tradeId??c??void 0,_=!!m,{data:p}=_a(d),I=o.useMemo(()=>{if(!d||!(s!=null&&s.item))return null;const i=s.item;return i.manaWei?{tradeId:i.tradeId??i.id,listingType:"primary",contractAddress:i.contractAddress,itemId:i.itemId??"",name:i.name,thumbnail:i.thumbnail,rarity:i.rarity,category:i.category,wearableCategory:i.wearableCategory??null,creator:i.creator,manaWei:i.manaWei,available:1,network:i.network,chainId:i.chainId,createdAt:0}:null},[d,s==null?void 0:s.item]),M=d&&h!=null&&!!p&&!!I,L=De({priceCredits:a.priceCredits,compareAtCredits:a.compareAtCredits,saleEndsAt:a.saleEndsAt}),V=o.useMemo(()=>({...a,tradeId:m,id:m??a.id}),[a,m]),F=u.some(i=>i.id===V.id),N=ue(i=>!!i.items[a.id]),W=o.useRef(null);o.useEffect(()=>{!a.name||b||W.current===a.id||(W.current=a.id,D("Shop Viewed Item",{...Ke(a),for_sale:_}),ze(a))},[a.id,a.name,b,_]);const G=`${t}/${r}`,te=o.useRef(G);o.useEffect(()=>{te.current!==G&&(te.current=G,s!=null&&s.item&&f({...s.item,tradeId:s.tradeId??s.item.tradeId}),typeof window<"u"&&window.scrollTo({top:0,behavior:"smooth"}))},[G]);function fe(){!_||F||H||x(V,"item_detail")}const Z=ga(a.rarity)?a.rarity:T.Rarity.COMMON,ie=Na(a.gender),re=Ye(a),le=Ue(a.gender),je=_&&L,ve="More from this collection",H=Ge(a,y==null?void 0:y.address),ne=_?F?"In cart":b?"Checking…":"Add to cart":"Not for sale",ge=typeof a.available=="number"&&a.available>0&&!a.tokenId&&!d,Ne=!H&&_&&!d,we=d||!H,Ce=K||!!a.contractAddress&&!v;return!a.name&&!Ce?e.jsxs("div",{className:"item-detail item-detail--notfound",children:[e.jsx("span",{className:"ico ico-cart item-detail__notfound-ico","aria-hidden":!0}),e.jsx("h1",{className:"item-detail__notfound-title",children:"This item isn’t available"}),e.jsx("p",{className:"muted",children:"It may have been delisted or moved. Browse Collectibles for something else."}),e.jsx("button",{className:"btn btn--purple",onClick:()=>n("/assets"),children:"Browse Collectibles"})]}):e.jsxs("div",{className:"item-detail",children:[e.jsxs("nav",{className:"item-detail__crumbs","aria-label":"Breadcrumb",children:[e.jsx("button",{className:"item-detail__crumb-link",onClick:()=>n("/assets"),children:"Collectibles"}),e.jsx("span",{className:"item-detail__crumb-sep",children:"/"}),e.jsx("span",{className:"item-detail__crumb-current",children:a.name||"Item"})]}),e.jsxs("div",{className:"item-detail__main",children:[e.jsxs("div",{className:"item-detail__preview",children:[a.name?e.jsx(ja,{item:a}):e.jsx("div",{className:"item-preview__loading","aria-busy":"true","aria-label":"Loading preview",children:e.jsx("span",{className:"item-preview__spinner","aria-hidden":!0})}),e.jsx("button",{className:`item-detail__fav item-detail__fav--preview${N?" is-on":""}`,onClick:()=>l(a),"aria-pressed":N,"aria-label":N?"Remove from favorites":"Add to favorites",children:e.jsx("span",{className:`ico ${N?"ico-heart-solid":"ico-heart"}`,"aria-hidden":!0})})]}),e.jsxs("div",{className:"item-detail__info",children:[e.jsxs("div",{className:"item-detail__info-head",children:[e.jsx("h1",{className:"item-detail__title",children:a.name||"Loading…"}),e.jsx("button",{className:`item-detail__fav${N?" is-on":""}`,onClick:()=>l(a),"aria-pressed":N,"aria-label":N?"Remove from favorites":"Add to favorites",children:e.jsx("span",{className:`ico ${N?"ico-heart-solid":"ico-heart"}`,"aria-hidden":!0})})]}),e.jsxs("div",{className:"item-detail__chips",children:[e.jsx("span",{className:"chip chip--rarity",style:{background:Je(Z),color:Qe(Z)},title:He(a.rarity),children:a.rarity}),e.jsxs("span",{className:"chip item-detail__chip",children:[re?e.jsx("span",{className:`ico ico-${re} item-detail__chip-ico`,"aria-hidden":!0}):null,wa(a)]}),ie?e.jsxs("span",{className:"chip item-detail__chip",children:[le?e.jsx("span",{className:`ico ico-${le} item-detail__chip-ico`,"aria-hidden":!0}):null,ie]}):null]}),q?e.jsxs("div",{className:"item-detail__section item-detail__description",children:[e.jsx("div",{className:"item-detail__label",children:"Description"}),e.jsx("p",{className:`item-detail__desc-text${z?" is-expanded":""}`,children:q}),q.length>140?e.jsx("button",{className:"link item-detail__desc-toggle",onClick:()=>Y(i=>!i),children:z?"Show less":"Read more"}):null]}):null,a.creator||k!=null&&k.name?e.jsxs("div",{className:"item-detail__meta",children:[a.creator?e.jsxs("div",{className:"item-detail__meta-col",children:[e.jsx("div",{className:"item-detail__label",children:"Creator"}),e.jsx(Ze,{address:a.creator,className:"item-detail__creator",linkToProfile:!0,hidePrefix:!0})]}):null,k!=null&&k.name?e.jsxs("div",{className:"item-detail__meta-col item-detail__meta-col--collection",children:[e.jsx("div",{className:"item-detail__label",children:"Collection"}),e.jsx(va,{contractAddress:a.contractAddress,name:k.name,items:g,className:"item-detail__creator"})]}):null]}):null,e.jsx("hr",{className:"item-detail__divider"}),e.jsx("div",{className:"item-detail__price-block",children:e.jsxs("div",{className:"item-detail__price-row",children:[e.jsxs("div",{className:"item-detail__price-col",children:[e.jsx("div",{className:"item-detail__price-label",children:"Price"}),d?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"item-detail__price item-detail__price--market",children:h==null?e.jsx("span",{className:"item-detail__price-value",children:"—"}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"item-detail__approx","aria-hidden":!0,children:"≈"}),e.jsx(A,{className:"item-detail__diamond"}),e.jsx("span",{className:"item-detail__price-value",children:h})]})}),e.jsx("div",{className:"item-detail__market-note muted",children:"Market price"})]}):_?je?e.jsxs("div",{className:"item-detail__price item-detail__price--sale",children:[e.jsxs("span",{className:"item-detail__price",children:[e.jsx(A,{className:"item-detail__diamond"}),e.jsx("span",{className:"item-detail__price-value",children:a.priceCredits})]}),e.jsxs("span",{className:"item-detail__price-was",children:[e.jsx(A,{className:"item-detail__diamond item-detail__diamond--was"}),a.compareAtCredits]}),_e(a.compareAtCredits,a.priceCredits)>0?e.jsxs("span",{className:"item-detail__sale-badge",children:["SALE -",_e(a.compareAtCredits,a.priceCredits),"%"]}):null,e.jsx(Xe,{endsAt:a.saleEndsAt,className:"item-detail__countdown"})]}):e.jsxs("div",{className:"item-detail__price",children:[e.jsx(A,{className:"item-detail__diamond"}),e.jsx("span",{className:"item-detail__price-value",children:a.priceCredits})]}):e.jsx("div",{className:"item-detail__price item-detail__price--none",children:"Not for sale"})]}),ge?e.jsxs("div",{className:"item-detail__stock-col",children:[e.jsx("div",{className:"item-detail__price-label",children:"Stock"}),e.jsxs("div",{className:"item-detail__stock-value",children:[(a.available??0).toLocaleString(),"/",T.Rarity.getMaxSupply(Z).toLocaleString()]})]}):null]})}),e.jsx("div",{className:`item-detail__ctas${we?" item-detail__ctas--buttons":""}${Ne?" item-detail__ctas--dual":""}`,children:d?e.jsxs("button",{className:"btn btn--purple item-detail__cta",onClick:()=>j(!0),disabled:!M,children:[e.jsx("span",{className:"item-detail__cta-label",children:"Buy now"}),h!=null?e.jsxs("span",{className:"item-detail__cta-price","aria-hidden":!0,children:[e.jsx(A,{className:"item-detail__cta-diamond"}),h]}):null]}):H?e.jsxs("p",{className:"item-detail__own-note muted",children:["This is your item — manage it in ",e.jsx(Ae,{to:"/my-assets",children:"My Assets"}),"."]}):e.jsxs(e.Fragment,{children:[_?e.jsxs("button",{className:"btn btn--purple item-detail__cta",onClick:()=>j(!0),disabled:b,children:[e.jsx("span",{className:"item-detail__cta-label",children:"Buy now"}),e.jsxs("span",{className:"item-detail__cta-price","aria-hidden":!0,children:[e.jsx(A,{className:"item-detail__cta-diamond"}),a.priceCredits]})]}):null,e.jsxs("button",{className:"item-detail__addcart",onClick:fe,disabled:!_||F||b,"aria-label":ne,children:[e.jsx("span",{className:"ico ico-cart-solid item-detail__addcart-ico","aria-hidden":!0}),e.jsx("span",{className:"item-detail__addcart-label",children:ne})]})]})})]})]}),e.jsx(pa,{title:ve,items:U,onViewAll:a.contractAddress?()=>n(`/collection/${a.contractAddress}`):void 0}),E&&d&&I&&p?e.jsx(ha,{listing:I,rate:p,onClose:()=>j(!1),onSold:()=>j(!1)}):E&&!d?e.jsx(xa,{item:V,resume:B,onClose:()=>{j(!1),w(!1)}}):null]})}export{$a as ItemDetail,$a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as B,h as F,b as Q,v as $,u as K,w as h,C as b,m as M,x as V,j,g as H,n as O,y as D,t as y,l as R,z as U}from"./index-
|
|
1
|
+
import{d as B,h as F,b as Q,v as $,u as K,w as h,C as b,m as M,x as V,j,g as H,n as O,y as D,t as y,l as R,z as U}from"./index-r45SswES.js";import{r as J,a as C}from"./mana-rate-iNhXq7r-.js";import{a as X,r as m,j as a}from"./react-yytiy0wi.js";import{b as q}from"./buy-CK_8Gv_-.js";import{g as Z,b as ee,w as ae,S as re,G as te}from"./buy-gasless-B0ASTVfF.js";function le(e=!0){return B({queryKey:["mana-rate",F.chainId],queryFn:()=>J(F.chainId),enabled:e,staleTime:6e4,refetchInterval:6e4,retry:1})}function L(e){const u=e,i=(u.message??"").toLowerCase();return u.code===4001||i.includes("reject")||i.includes("denied")||i.includes("cancel")?"You cancelled the request.":i.includes("insufficient")?`Not enough ${j.name} — get more first.`:i.includes("not found")||i.includes("no active listing")||i.includes("404")?"This item was just sold or removed. Refreshing the market…":i.includes("your own listing")?"You can't buy your own listing.":"Couldn't complete checkout — please try again."}function se(e){return{id:e.tradeId,tradeId:e.tradeId,name:e.name,creator:e.creator,contractAddress:e.contractAddress,itemId:e.itemId,category:e.category,wearableCategory:e.wearableCategory??void 0,rarity:e.rarity,network:e.network,chainId:e.chainId,thumbnail:e.thumbnail,priceCredits:0,gender:null,isSmart:!1}}function ue({listing:e,rate:u,onClose:i,onSold:T}){const{session:s}=Q(),{data:n,isError:W}=$(s),w=K(),N=X(),[g,p]=m.useState("confirm"),[k,I]=m.useState("Locking today’s price…"),[S,_]=m.useState(null),[r,Y]=m.useState(null),c=m.useRef(null),A=Math.ceil(C(e.manaWei,u)/10);m.useEffect(()=>{let o=!1;if(!s){p("error"),_("Sign in to check out.");return}return(async()=>{try{const t=await H(e.tradeId);if(!t)throw new Error("not found");if(O(t,s.address))throw new Error("You can't buy your own listing.");const l=C(e.manaWei,u);if(!Number.isFinite(l)||l<=0)throw new Error("price unavailable");const{credit:x,maxCreditedValue:z,usdCents:P}=await D(s.identity,l,e.tradeId);if(o){h(s.identity,[x.id]).catch(()=>{});return}c.current=x.id,Y({trade:t,credit:x,maxCreditedValue:z,usdCents:P,credits:Math.ceil(P/10)}),I("")}catch(t){if(o)return;console.error("[market] authorize failed",t),y(U(t)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:R(t),value_usd:Math.round(C(e.manaWei,u))/100}),p("error"),_(L(t))}})(),()=>{o=!0,c.current&&s&&(h(s.identity,[c.current]).catch(()=>{}),c.current=null)}},[]);const v=!!r&&n!=null&&n.credits<r.credits;async function G(){if(!s||!r)return;if(v){y("Shop Buy Credits Prompted",{from:"item_checkout",credits_needed:r.credits,credits_balance:(n==null?void 0:n.credits)??0,shortfall:Math.max(0,r.credits-((n==null?void 0:n.credits)??0))}),h(s.identity,[r.credit.id]).catch(()=>{}),c.current=null,N("/credits");return}p("working"),_(null);let o=!1;try{I("Confirming your purchase…");const d={trade:r.trade,buyer:s.address,signer:s.signer,credits:[r.credit],maxCreditedValue:r.maxCreditedValue};let t;if(Z())try{t=await ee(d),await ae(t),o=!0}catch(l){if(l instanceof re)o=!0;else if(l instanceof te)t=await q(d);else throw l}else t=await q(d);c.current=null,y("Shop Completed Purchase",{items:[{item_id:e.itemId??null,contract_address:e.contractAddress,token_id:null,price_usd:r.usdCents/100}],value_credits:r.credits,value_usd:r.usdCents/100,purchase_type:"item",is_primary:!0,payment_type:"credits",no_crypto_step:o,transaction_hash:t??null}),w.invalidateQueries({queryKey:["usd-balance"]}),N("/success",{state:{items:[se(e)],txHash:t}})}catch(d){console.error("[market] buy now failed",d),h(s.identity,[r.credit.id]).catch(()=>{}),c.current=null,y(U(d)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:R(d),value_usd:r.usdCents/100}),w.invalidateQueries({queryKey:["usd-balance"]});const t=L(d);_(t),p("error"),/sold or removed/i.test(t)&&T()}}function E(){s&&r&&h(s.identity,[r.credit.id]).catch(()=>{}),c.current=null,i()}const f=g==="working";return a.jsxs("div",{className:"mkt-modal",role:"dialog","aria-modal":"true","aria-label":`Buy ${e.name}`,children:[a.jsx("div",{className:"mkt-modal__scrim",onClick:f?void 0:E,"aria-hidden":!0}),a.jsxs("div",{className:"mkt-modal__card",children:[a.jsxs("div",{className:"mkt-modal__head",children:[a.jsx("div",{className:"mkt-modal__thumb",children:e.thumbnail?a.jsx("img",{src:e.thumbnail,alt:""}):null}),a.jsxs("div",{children:[a.jsx("div",{className:"mkt-modal__name",title:e.name,children:e.name||"Item"}),a.jsx("span",{className:"chip chip--rarity",children:e.rarity})]})]}),a.jsx("div",{className:"mkt-modal__price",children:r?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"mkt-modal__price-label",children:"Final price"}),a.jsxs("div",{className:"mkt-modal__price-value",children:[a.jsx(b,{className:"mkt-modal__diamond"}),M(r.credits)]}),a.jsxs("div",{className:"mkt-modal__price-sub muted",children:["Locked for this purchase · $",(r.usdCents/100).toFixed(2)]})]}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"mkt-modal__price-label",children:"Today’s price"}),a.jsxs("div",{className:"mkt-modal__price-value mkt-modal__price-value--approx",children:[a.jsx("span",{className:"mkt-modal__approx","aria-hidden":!0,children:"≈"}),a.jsx(b,{className:"mkt-modal__diamond"}),M(A)]}),a.jsx("div",{className:"mkt-modal__price-sub muted",children:k||"Locking today’s price…"})]})}),s?a.jsxs("div",{className:"mkt-modal__balance muted",children:["Your balance: ",a.jsx(b,{className:"ccy-mark"})," ",V(n,W)]}):null,v?a.jsxs("p",{className:"muted mkt-modal__note",children:["You’ll need a few more ",j.name," to buy this."]}):null,k&&g==="working"?a.jsx("p",{className:"muted mkt-modal__note",children:k}):null,S?a.jsx("p",{className:"error mkt-modal__note",children:S}):null,a.jsxs("div",{className:"mkt-modal__actions",children:[a.jsx("button",{className:"btn btn--ghost",onClick:E,disabled:f,children:"Cancel"}),a.jsx("button",{className:"btn btn--purple",onClick:()=>void G(),disabled:f||!r,children:f?"Buying…":v?`Get ${j.name}`:"Confirm purchase"})]})]})]})}export{ue as M,le as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as U,r as d,j as s,L as re}from"./react-yytiy0wi.js";import{i as z,h as V,E as le,u as B,C as q,j as w,p as ee,t as P,ad as G,k as W,l as se,b as ce,d as D,aq as oe,g as de,ar as me}from"./index-CYWpV70P.js";import{f as ue}from"./import-BM47oMM1.js";import{c as he}from"./buy-C_OnDZx3.js";import{a as pe,b as ge,i as be,e as ye,c as xe}from"./trade-encoding-Drnx1u3j.js";import{s as je}from"./wallet-kind-D_7fqJZh.js";import{L as fe}from"./LoadMore-CiZkVzux.js";import{u as _e}from"./useInfiniteGrid-BAS-zEte.js";import"./ethers-DArfy-QF.js";import"./mana-rate-DgCtJ5pM.js";import"./index-Ct5KJb97.js";const F=()=>`${V.builderServerUrl}/v1`;function ae(e){return Array.isArray(e)?e:"results"in e&&Array.isArray(e.results)?e.results:"data"in e&&Array.isArray(e.data)?e.data:[]}async function ne(e,i){const n=await le(e,{method:"GET",identity:i,metadata:{}});if(!n.ok)throw new Error(`builder-server ${n.status}: ${await n.text()}`);const c=await n.json();return c.data??c}function Ne(e,i){const n=i-e;return n>0?n:0}function ve(e){var i,n,c,r,l;return((n=(i=e.data)==null?void 0:i.wearable)==null?void 0:n.category)??((r=(c=e.data)==null?void 0:c.emote)==null?void 0:r.category)??((l=e.data)==null?void 0:l.category)??e.type??"wearable"}function J(e){return`${F()}/storage/contents/${e}`}function $(e,i){if(!e)return"";if(/^https?:\/\//.test(e))return e;const n=i==null?void 0:i[e];return n?J(n):/^(ba|Qm)/.test(e)?J(e):""}async function Ie(e,i){try{const n=await fetch(`${F()}/items/${e}/${i}/contents`);if(!n.ok)return{};const c=await n.json();return c.data??c}catch{return{}}}async function ke(e,i,n){const c=$(e.thumbnail,e.contents)||$("thumbnail.png",e.contents);if(c)return c;if(i&&n){const r=await Ie(i,n);return $(e.thumbnail,r)||$("thumbnail.png",r)||$("image.png",r)}return""}async function Se(e,i){const n=`${F()}/${e.toLowerCase()}/collections?is_published=true`,c=await ne(n,i);return ae(c).filter(r=>r.is_published&&!!r.contract_address).map(r=>({id:r.id,name:r.name,contractAddress:r.contract_address.toLowerCase(),isPublished:r.is_published,isApproved:r.is_approved,minters:(r.minters??[]).map(l=>l.toLowerCase())}))}async function we(e,i){const n=`${F()}/collections/${e.id}/items`,c=await ne(n,i);return(await Promise.all(ae(c).map(async l=>{const v=l.rarity??"common",f=Number(l.total_supply??0)||0;let m;try{m=z.Rarity.getMaxSupply(v)}catch{m=0}const _=(l.contract_address??e.contractAddress).toLowerCase(),p=l.blockchain_item_id??"";return{id:l.id,collectionId:e.id,collectionName:e.name,contractAddress:_,blockchainItemId:p,name:l.name,category:ve(l),rarity:v,thumbnail:await ke(l,_,p),type:l.type??"wearable",isPublished:l.is_published??e.isPublished,isApproved:l.is_approved??e.isApproved,totalSupply:f,maxSupply:m,remainingSupply:Ne(f,m),minters:e.minters}}))).filter(Ce)}function Ce(e){return e.isPublished&&e.isApproved&&e.blockchainItemId!==""&&e.blockchainItemId!=null&&e.remainingSupply>0}async function Ae(e,i){const n=await Se(e,i);return(await Promise.all(n.map(async r=>{try{return await we(r,i)}catch{return[]}}))).flat()}const Pe=1e3*60*60*24*182;function $e(e){const i=e,n=(i.message??"").toLowerCase();return i.code===4001||n.includes("reject")||n.includes("denied")||n.includes("cancel")?"You cancelled the request.":"Couldn't list your item — please try again."}function Le({asset:e,session:i,onClose:n}){const c=B(),r=U(),[l,v]=d.useState("10"),[f,m]=d.useState(null),[_,p]=d.useState(null),[g,k]=d.useState(!1),[j,I]=d.useState(null);async function C(){p(null);const o=Number(l);if(!Number.isInteger(o)||o<=0){p("Enter a whole number of credits");return}k(!0);try{m("Getting your item ready…"),await pe({signer:i.signer,contractAddress:e.contractAddress,chainId:e.chainId}),m("Listing your item…");const N=await ge({signer:i.signer,nft:{contractAddress:e.contractAddress,tokenId:e.tokenId,network:e.network,chainId:e.chainId},usdPrice:o/10,expiresAtMs:Date.now()+Pe});m("Publishing…"),await ee(N,i.identity),m(null),I(o),P("Shop Listed Item",{item_id:e.itemId??e.tokenId??null,contract_address:e.contractAddress,price_credits:o,price_usd:o/10,listing_type:"secondary",is_primary:!1}),G.success(`“${e.name}” is now on sale!`),c.invalidateQueries({queryKey:["my-assets",i.address]})}catch(N){W(N,{flow:"list_secondary"}),P("Shop Listing Failed",{listing_type:"secondary",error_code:se(N)}),p($e(N)),m(null)}finally{k(!1)}}function x(){n(),r(`/item/${e.contractAddress}/${e.tokenId}`)}return j!==null?s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),s.jsx("h2",{className:"modal__title",children:"It’s on sale! 🎉"}),e.image?s.jsx("img",{className:"modal__img",src:e.image,alt:e.name}):null,s.jsx("p",{className:"modal-success__name",children:e.name}),s.jsxs("p",{className:"muted small",children:["Listed for"," ",s.jsxs("strong",{children:[s.jsx(q,{className:"ccy-mark"})," ",j]})]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:x,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsxs("h2",{className:"modal__title",children:["List “",e.name,"”"]}),e.image?s.jsx("img",{className:"modal__img",src:e.image,alt:e.name}):null,s.jsxs("label",{className:"field",children:[s.jsxs("span",{children:["Price (",w.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:l,onChange:o=>v(o.target.value),disabled:g})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",w.name," (1 ",w.nameSingular," = $0.10)."]}),f?s.jsx("p",{className:"muted",children:f}):null,_?s.jsx("p",{className:"error",children:_}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,disabled:g,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:()=>void C(),disabled:g,children:g?"Listing…":"Put on sale"})]})]})})}const Ee=1e3*60*60*24*182;function Me(e){const i=e,n=(i.message??"").toLowerCase();return i.code===4001||n.includes("reject")||n.includes("denied")||n.includes("cancel")?"You cancelled the request.":"Couldn't publish your item — please try again."}function qe({item:e,session:i,onClose:n}){const c=B(),r=U(),[l,v]=d.useState("10"),[f,m]=d.useState(null),[_,p]=d.useState(null),[g,k]=d.useState(!1),[j,I]=d.useState(null),[C,x]=d.useState(null),o=V.chainId,N=je(i.providerType);d.useEffect(()=>{let u=!1;return(async()=>{try{const b=await be({contractAddress:e.contractAddress,chainId:o});u||I(b)}catch{u||I(!1)}})(),()=>{u=!0}},[e.contractAddress,o]);async function T(){p(null);const u=Number(l);if(!Number.isInteger(u)||u<=0){p("Enter a whole number of credits");return}k(!0);try{j||(m("Enabling sales for this collection…"),await ye({signer:i.signer,contractAddress:e.contractAddress,chainId:o}),I(!0)),m("Publishing your item…");const b=await xe({signer:i.signer,item:{contractAddress:e.contractAddress,itemId:e.blockchainItemId,network:z.Network.MATIC,chainId:o},usdPrice:u/10,uses:e.remainingSupply,expiresAtMs:Date.now()+Ee});m("Finishing up…"),await ee(b,i.identity),m(null),x(u),P("Shop Listed Item",{item_id:e.blockchainItemId,contract_address:e.contractAddress,price_credits:u,price_usd:u/10,listing_type:"primary",is_primary:!0}),G.success(`“${e.name}” is now on sale!`),c.invalidateQueries({queryKey:["publishable-items"]}),c.invalidateQueries({queryKey:["collection-sale-state"]})}catch(b){W(b,{flow:"list_primary"}),P("Shop Listing Failed",{listing_type:"primary",error_code:se(b)}),p(Me(b)),m(null)}finally{k(!1)}}function O(){n(),r(`/item/${e.contractAddress}/${e.blockchainItemId}`)}const L=g?"Listing…":j===!1?"Enable & put on sale":"Put on sale";return C!==null?s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:u=>u.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),s.jsx("h2",{className:"modal__title",children:"It’s on sale! 🎉"}),e.thumbnail?s.jsx("img",{className:"modal__img",src:e.thumbnail,alt:e.name}):null,s.jsx("p",{className:"modal-success__name",children:e.name}),s.jsxs("p",{className:"muted small",children:["Listed for"," ",s.jsxs("strong",{children:[s.jsx(q,{className:"ccy-mark"})," ",C]})," ","· ",e.remainingSupply.toLocaleString()," available"]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:O,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:u=>u.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsxs("h2",{className:"modal__title",children:["Publish “",e.name,"”"]}),e.thumbnail?s.jsx("img",{className:"modal__img",src:e.thumbnail,alt:e.name}):null,s.jsxs("p",{className:"muted small",children:["From your collection “",e.collectionName,"” · ",e.remainingSupply.toLocaleString()," available"]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{children:["Price (",w.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:l,onChange:u=>v(u.target.value),disabled:g})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",w.name," (1 ",w.nameSingular," = $0.10)."]}),j===!1&&!g?N?s.jsxs("p",{className:"muted small primary-note",children:["First time selling from “",e.collectionName,"”? It needs a one-time approval, then you’ll confirm the listing — two quick confirmations. After this, listing more items from this collection is a single step."]}):s.jsxs("p",{className:"muted small primary-note",children:["First time selling from “",e.collectionName,"”? Setting it up takes a moment — after that, listing more items from this collection is instant."]}):j===!0&&!g?N?s.jsx("p",{className:"muted small primary-note",children:"This collection is ready — publishing is a single confirmation."}):s.jsx("p",{className:"muted small primary-note",children:"This collection is ready — publishing is instant."}):null,f?s.jsx("p",{className:"muted",children:f}):null,_?s.jsx("p",{className:"error",children:_}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,disabled:g,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:()=>void T(),disabled:g||j===null,children:j===null?"Checking…":L})]})]})})}const Fe=48;function Te(e){return{id:e.id,name:e.name,creator:"",contractAddress:e.contractAddress,itemId:e.itemId,category:e.category,rarity:e.rarity??"common",network:e.network,chainId:e.chainId,thumbnail:e.image,priceCredits:e.listingPrice??0,gender:null,isSmart:!1,tokenId:e.tokenId}}function Z(e){return{id:`${e.contractAddress}-${e.blockchainItemId}`,name:e.name,creator:"",contractAddress:e.contractAddress,itemId:e.blockchainItemId,category:e.category,rarity:e.rarity,network:"MATIC",chainId:V.chainId,thumbnail:e.thumbnail,priceCredits:0,gender:null,isSmart:!1}}function He(){const{session:e,error:i,signIn:n,restore:c}=ce(),r=U(),l=B(),[v,f]=d.useState(null),[m,_]=d.useState(null),[p,g]=d.useState(null),[k,j]=d.useState(null);function I(a){const t=a.tokenId??a.itemId??"";!a.contractAddress||!t||r(`/item/${a.contractAddress}/${t}`,{state:{item:a}})}async function C(a,t,h){if(e){j(null),g(h);try{const y=await de(a);await he({trade:y,signer:e.signer}),G.success(`“${t}” is no longer for sale.`),await l.invalidateQueries({queryKey:["my-assets",e.address]}),await l.invalidateQueries({queryKey:["collection-sale-state"]})}catch(y){const E=y,M=(E.message??"").toLowerCase(),X=E.code===4001||M.includes("reject")||M.includes("denied");X||W(y,{flow:"remove-listing",tradeId:a}),j(X?"You cancelled the request.":"Couldn't remove the listing — please try again.")}finally{g(null)}}}d.useEffect(()=>{c()},[c]);const x=e==null?void 0:e.address,{items:o,isLoading:N,error:T,hasNextPage:O,isFetchingNextPage:L,fetchNextPage:u}=_e(["my-assets",x],a=>oe(x,{first:Fe,skip:a}).then(t=>({items:t.assets,total:t.total})),{enabled:!!x}),{data:b}=D({queryKey:["importable",x],queryFn:()=>ue(x),enabled:!!x}),R=((b==null?void 0:b.creations.length)??0)+((b==null?void 0:b.owned.length)??0),{data:A,isLoading:te,isError:ie}=D({queryKey:["publishable-items",x],queryFn:()=>Ae(x,e.identity),enabled:!!e,retry:!1}),K=d.useMemo(()=>[...new Set((A??[]).map(a=>a.contractAddress))],[A]),{data:S}=D({queryKey:["collection-sale-state",x,K],enabled:K.length>0,queryFn:async()=>{const a=await Promise.all(K.map(async h=>[h,await me(h)])),t={};for(const[h,y]of a)for(const[E,M]of Object.entries(y))t[`${h}-${E}`]=M;return t}}),Q=a=>S==null?void 0:S[`${a.contractAddress}-${a.blockchainItemId}`],Y=d.useMemo(()=>(A??[]).filter(a=>{var t;return(t=Q(a))==null?void 0:t.isOnSale}),[A,S]),H=d.useMemo(()=>{var t;const a=new Map;for(const h of A??[]){if((t=S==null?void 0:S[`${h.contractAddress}-${h.blockchainItemId}`])!=null&&t.isOnSale)continue;const y=a.get(h.collectionId)??{id:h.collectionId,name:h.collectionName,items:[]};y.items.push(h),a.set(h.collectionId,y)}return[...a.values()]},[A,S]);return e?s.jsxs("section",{className:"myassets",children:[s.jsx("h1",{children:"My Assets"}),R>0?s.jsxs(re,{className:"import-banner",to:"/import",children:[s.jsx("span",{className:"import-banner__ico","aria-hidden":!0,children:"📦"}),s.jsxs("span",{className:"import-banner__text",children:[s.jsx("strong",{children:"Import your listings"}),s.jsxs("span",{className:"import-banner__sub",children:["You have ",R," item",R===1?"":"s"," for sale elsewhere — bring them into the Shop."]})]}),s.jsx("span",{className:"import-banner__cta",children:"Import"})]}):null,s.jsxs("div",{className:"myassets__section",children:[s.jsxs("div",{className:"myassets__section-head",children:[s.jsx("h2",{className:"myassets__section-title",children:"Items you own"}),s.jsx("p",{className:"myassets__section-sub",children:"Wearables & emotes you’ve bought — resell them in the Shop."})]}),T?s.jsx("p",{className:"error",children:"Couldn’t load your items — please try again."}):null,k?s.jsx("p",{className:"error",children:k}):null,s.jsxs("div",{className:"asset-grid",children:[N?Array.from({length:8}).map((a,t)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`sk-${t}`)):o.map(a=>s.jsxs("article",{className:"asset-card asset-card--link",children:[s.jsx("button",{className:"card-link-overlay","aria-label":`View ${a.name}`,onClick:()=>I(Te(a))}),s.jsx("div",{className:"asset-card__img",children:a.image?s.jsx("img",{src:a.image,alt:a.name}):null}),s.jsx("div",{className:"asset-card__name",title:a.name,children:a.name}),a.isOnSale?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"asset-card__listed",children:[s.jsxs("span",{className:"asset-card__price",children:[s.jsx(q,{className:"ccy-mark"})," ",a.listingPrice]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost asset-card__remove",disabled:p===a.id||!a.tradeId,onClick:t=>{t.stopPropagation(),a.tradeId&&C(a.tradeId,a.name,a.id)},children:p===a.id?"Removing…":"Remove listing"})]}):s.jsx("button",{className:"btn btn--sm",onClick:t=>{t.stopPropagation(),P("Shop Started Listing",{listing_type:"secondary",item_id:a.itemId??a.tokenId??null}),f(a)},children:"Put on sale"})]},a.id)),L?Array.from({length:4}).map((a,t)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`msk-${t}`)):null]}),s.jsx(fe,{hasNextPage:O,isFetching:L,onLoadMore:()=>void u()}),!N&&o.length===0?s.jsx("p",{className:"muted",children:"No items in your wardrobe yet."}):null]}),s.jsxs("div",{className:"myassets__section",children:[s.jsxs("div",{className:"myassets__section-head",children:[s.jsx("h2",{className:"myassets__section-title",children:"Your creations"}),s.jsxs("p",{className:"myassets__section-sub",children:["Items you made. Put them on sale in the Shop — set a price in ",w.name," and buyers pay with"," ",w.name,"."]})]}),te?s.jsx("div",{className:"publish-grid",children:Array.from({length:4}).map((a,t)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`pub-sk-${t}`))}):ie?s.jsx("p",{className:"publish-empty",children:"We couldn’t load your collections right now. Please try again in a moment."}):Y.length===0&&H.length===0?s.jsx("p",{className:"publish-empty",children:"You don’t have any items to publish yet."}):s.jsxs(s.Fragment,{children:[Y.length>0?s.jsxs("div",{className:"creations-collection",children:[s.jsx("h3",{className:"creations-collection__name",children:"On sale"}),s.jsx("div",{className:"publish-grid",children:Y.map(a=>{var t;return s.jsxs("article",{className:"publish-card publish-card--link",children:[s.jsx("button",{className:"card-link-overlay","aria-label":`View ${a.name}`,onClick:()=>I(Z(a))}),s.jsx("div",{className:"publish-card__img",children:a.thumbnail?s.jsx("img",{src:a.thumbnail,alt:a.name}):null}),s.jsx("div",{className:"publish-card__name",title:a.name,children:a.name}),s.jsxs("div",{className:"publish-card__listed",children:[s.jsxs("span",{className:"publish-card__price",children:[s.jsx(q,{className:"ccy-mark"})," ",((t=Q(a))==null?void 0:t.priceCredits)??0]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost publish-card__cta",disabled:p===a.id,onClick:h=>{h.stopPropagation();const y=Q(a);y!=null&&y.tradeId&&C(y.tradeId,a.name,a.id)},children:p===a.id?"Removing…":"Remove listing"})]},`${a.contractAddress}-${a.blockchainItemId}`)})})]}):null,H.map(a=>s.jsxs("div",{className:"creations-collection",children:[s.jsx("h3",{className:"creations-collection__name",children:a.name}),s.jsx("div",{className:"publish-grid",children:a.items.map(t=>s.jsxs("article",{className:"publish-card publish-card--link",children:[s.jsx("button",{className:"card-link-overlay","aria-label":`View ${t.name}`,onClick:()=>I(Z(t))}),s.jsx("div",{className:"publish-card__img",children:t.thumbnail?s.jsx("img",{src:t.thumbnail,alt:t.name}):null}),s.jsx("div",{className:"publish-card__name",title:t.name,children:t.name}),s.jsxs("div",{className:"publish-card__meta",children:[s.jsx("span",{className:"publish-chip publish-chip--rarity",children:t.rarity}),s.jsxs("span",{className:"publish-card__supply",children:[t.remainingSupply.toLocaleString()," available"]})]}),s.jsx("button",{className:"btn btn--sm btn--purple publish-card__cta",onClick:h=>{h.stopPropagation(),P("Shop Started Listing",{listing_type:"primary",item_id:t.blockchainItemId}),_(t)},children:"Put on sale"})]},`${t.contractAddress}-${t.blockchainItemId}`))})]},a.id))]})]}),v?s.jsx(Le,{asset:v,session:e,onClose:()=>f(null)}):null,m?s.jsx(qe,{item:m,session:e,onClose:()=>_(null)}):null]}):s.jsxs("section",{className:"myassets",children:[s.jsx("h1",{children:"My Assets"}),s.jsx("p",{className:"muted",children:"Sign in to sell your items."}),s.jsx("div",{className:"connect-row",children:s.jsx("button",{className:"btn btn--purple",onClick:()=>n(),children:"Sign in"})}),i?s.jsx("p",{className:"error",children:i}):null]})}export{He as MyAssets};
|
|
1
|
+
import{a as U,r as d,j as s,L as re}from"./react-yytiy0wi.js";import{i as z,h as V,F as le,u as B,C as q,j as w,p as ee,t as P,ae as G,k as W,l as se,b as ce,d as D,ar as oe,g as de,as as me}from"./index-r45SswES.js";import{f as ue}from"./import-BpP341-q.js";import{c as he}from"./buy-CK_8Gv_-.js";import{a as pe,b as ge,i as be,e as ye,c as xe}from"./trade-encoding-04aPoKGq.js";import{s as je}from"./wallet-kind-BUfXt6vu.js";import{L as fe}from"./LoadMore-CiZkVzux.js";import{u as _e}from"./useInfiniteGrid-BebS5lWt.js";import"./ethers-DArfy-QF.js";import"./mana-rate-iNhXq7r-.js";import"./index-DVAx1hg9.js";const F=()=>`${V.builderServerUrl}/v1`;function ae(e){return Array.isArray(e)?e:"results"in e&&Array.isArray(e.results)?e.results:"data"in e&&Array.isArray(e.data)?e.data:[]}async function ne(e,i){const n=await le(e,{method:"GET",identity:i,metadata:{}});if(!n.ok)throw new Error(`builder-server ${n.status}: ${await n.text()}`);const c=await n.json();return c.data??c}function Ne(e,i){const n=i-e;return n>0?n:0}function ve(e){var i,n,c,r,l;return((n=(i=e.data)==null?void 0:i.wearable)==null?void 0:n.category)??((r=(c=e.data)==null?void 0:c.emote)==null?void 0:r.category)??((l=e.data)==null?void 0:l.category)??e.type??"wearable"}function J(e){return`${F()}/storage/contents/${e}`}function $(e,i){if(!e)return"";if(/^https?:\/\//.test(e))return e;const n=i==null?void 0:i[e];return n?J(n):/^(ba|Qm)/.test(e)?J(e):""}async function Ie(e,i){try{const n=await fetch(`${F()}/items/${e}/${i}/contents`);if(!n.ok)return{};const c=await n.json();return c.data??c}catch{return{}}}async function ke(e,i,n){const c=$(e.thumbnail,e.contents)||$("thumbnail.png",e.contents);if(c)return c;if(i&&n){const r=await Ie(i,n);return $(e.thumbnail,r)||$("thumbnail.png",r)||$("image.png",r)}return""}async function Se(e,i){const n=`${F()}/${e.toLowerCase()}/collections?is_published=true`,c=await ne(n,i);return ae(c).filter(r=>r.is_published&&!!r.contract_address).map(r=>({id:r.id,name:r.name,contractAddress:r.contract_address.toLowerCase(),isPublished:r.is_published,isApproved:r.is_approved,minters:(r.minters??[]).map(l=>l.toLowerCase())}))}async function we(e,i){const n=`${F()}/collections/${e.id}/items`,c=await ne(n,i);return(await Promise.all(ae(c).map(async l=>{const v=l.rarity??"common",f=Number(l.total_supply??0)||0;let m;try{m=z.Rarity.getMaxSupply(v)}catch{m=0}const _=(l.contract_address??e.contractAddress).toLowerCase(),p=l.blockchain_item_id??"";return{id:l.id,collectionId:e.id,collectionName:e.name,contractAddress:_,blockchainItemId:p,name:l.name,category:ve(l),rarity:v,thumbnail:await ke(l,_,p),type:l.type??"wearable",isPublished:l.is_published??e.isPublished,isApproved:l.is_approved??e.isApproved,totalSupply:f,maxSupply:m,remainingSupply:Ne(f,m),minters:e.minters}}))).filter(Ce)}function Ce(e){return e.isPublished&&e.isApproved&&e.blockchainItemId!==""&&e.blockchainItemId!=null&&e.remainingSupply>0}async function Ae(e,i){const n=await Se(e,i);return(await Promise.all(n.map(async r=>{try{return await we(r,i)}catch{return[]}}))).flat()}const Pe=1e3*60*60*24*182;function $e(e){const i=e,n=(i.message??"").toLowerCase();return i.code===4001||n.includes("reject")||n.includes("denied")||n.includes("cancel")?"You cancelled the request.":"Couldn't list your item — please try again."}function Le({asset:e,session:i,onClose:n}){const c=B(),r=U(),[l,v]=d.useState("10"),[f,m]=d.useState(null),[_,p]=d.useState(null),[g,k]=d.useState(!1),[j,I]=d.useState(null);async function C(){p(null);const o=Number(l);if(!Number.isInteger(o)||o<=0){p("Enter a whole number of credits");return}k(!0);try{m("Getting your item ready…"),await pe({signer:i.signer,contractAddress:e.contractAddress,chainId:e.chainId}),m("Listing your item…");const N=await ge({signer:i.signer,nft:{contractAddress:e.contractAddress,tokenId:e.tokenId,network:e.network,chainId:e.chainId},usdPrice:o/10,expiresAtMs:Date.now()+Pe});m("Publishing…"),await ee(N,i.identity),m(null),I(o),P("Shop Listed Item",{item_id:e.itemId??e.tokenId??null,contract_address:e.contractAddress,price_credits:o,price_usd:o/10,listing_type:"secondary",is_primary:!1}),G.success(`“${e.name}” is now on sale!`),c.invalidateQueries({queryKey:["my-assets",i.address]})}catch(N){W(N,{flow:"list_secondary"}),P("Shop Listing Failed",{listing_type:"secondary",error_code:se(N)}),p($e(N)),m(null)}finally{k(!1)}}function x(){n(),r(`/item/${e.contractAddress}/${e.tokenId}`)}return j!==null?s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),s.jsx("h2",{className:"modal__title",children:"It’s on sale! 🎉"}),e.image?s.jsx("img",{className:"modal__img",src:e.image,alt:e.name}):null,s.jsx("p",{className:"modal-success__name",children:e.name}),s.jsxs("p",{className:"muted small",children:["Listed for"," ",s.jsxs("strong",{children:[s.jsx(q,{className:"ccy-mark"})," ",j]})]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:x,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsxs("h2",{className:"modal__title",children:["List “",e.name,"”"]}),e.image?s.jsx("img",{className:"modal__img",src:e.image,alt:e.name}):null,s.jsxs("label",{className:"field",children:[s.jsxs("span",{children:["Price (",w.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:l,onChange:o=>v(o.target.value),disabled:g})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",w.name," (1 ",w.nameSingular," = $0.10)."]}),f?s.jsx("p",{className:"muted",children:f}):null,_?s.jsx("p",{className:"error",children:_}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,disabled:g,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:()=>void C(),disabled:g,children:g?"Listing…":"Put on sale"})]})]})})}const Ee=1e3*60*60*24*182;function Me(e){const i=e,n=(i.message??"").toLowerCase();return i.code===4001||n.includes("reject")||n.includes("denied")||n.includes("cancel")?"You cancelled the request.":"Couldn't publish your item — please try again."}function qe({item:e,session:i,onClose:n}){const c=B(),r=U(),[l,v]=d.useState("10"),[f,m]=d.useState(null),[_,p]=d.useState(null),[g,k]=d.useState(!1),[j,I]=d.useState(null),[C,x]=d.useState(null),o=V.chainId,N=je(i.providerType);d.useEffect(()=>{let u=!1;return(async()=>{try{const b=await be({contractAddress:e.contractAddress,chainId:o});u||I(b)}catch{u||I(!1)}})(),()=>{u=!0}},[e.contractAddress,o]);async function T(){p(null);const u=Number(l);if(!Number.isInteger(u)||u<=0){p("Enter a whole number of credits");return}k(!0);try{j||(m("Enabling sales for this collection…"),await ye({signer:i.signer,contractAddress:e.contractAddress,chainId:o}),I(!0)),m("Publishing your item…");const b=await xe({signer:i.signer,item:{contractAddress:e.contractAddress,itemId:e.blockchainItemId,network:z.Network.MATIC,chainId:o},usdPrice:u/10,uses:e.remainingSupply,expiresAtMs:Date.now()+Ee});m("Finishing up…"),await ee(b,i.identity),m(null),x(u),P("Shop Listed Item",{item_id:e.blockchainItemId,contract_address:e.contractAddress,price_credits:u,price_usd:u/10,listing_type:"primary",is_primary:!0}),G.success(`“${e.name}” is now on sale!`),c.invalidateQueries({queryKey:["publishable-items"]}),c.invalidateQueries({queryKey:["collection-sale-state"]})}catch(b){W(b,{flow:"list_primary"}),P("Shop Listing Failed",{listing_type:"primary",error_code:se(b)}),p(Me(b)),m(null)}finally{k(!1)}}function O(){n(),r(`/item/${e.contractAddress}/${e.blockchainItemId}`)}const L=g?"Listing…":j===!1?"Enable & put on sale":"Put on sale";return C!==null?s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:u=>u.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),s.jsx("h2",{className:"modal__title",children:"It’s on sale! 🎉"}),e.thumbnail?s.jsx("img",{className:"modal__img",src:e.thumbnail,alt:e.name}):null,s.jsx("p",{className:"modal-success__name",children:e.name}),s.jsxs("p",{className:"muted small",children:["Listed for"," ",s.jsxs("strong",{children:[s.jsx(q,{className:"ccy-mark"})," ",C]})," ","· ",e.remainingSupply.toLocaleString()," available"]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:O,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:n,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:u=>u.stopPropagation(),role:"dialog","aria-modal":"true",children:[s.jsxs("h2",{className:"modal__title",children:["Publish “",e.name,"”"]}),e.thumbnail?s.jsx("img",{className:"modal__img",src:e.thumbnail,alt:e.name}):null,s.jsxs("p",{className:"muted small",children:["From your collection “",e.collectionName,"” · ",e.remainingSupply.toLocaleString()," available"]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{children:["Price (",w.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:l,onChange:u=>v(u.target.value),disabled:g})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",w.name," (1 ",w.nameSingular," = $0.10)."]}),j===!1&&!g?N?s.jsxs("p",{className:"muted small primary-note",children:["First time selling from “",e.collectionName,"”? It needs a one-time approval, then you’ll confirm the listing — two quick confirmations. After this, listing more items from this collection is a single step."]}):s.jsxs("p",{className:"muted small primary-note",children:["First time selling from “",e.collectionName,"”? Setting it up takes a moment — after that, listing more items from this collection is instant."]}):j===!0&&!g?N?s.jsx("p",{className:"muted small primary-note",children:"This collection is ready — publishing is a single confirmation."}):s.jsx("p",{className:"muted small primary-note",children:"This collection is ready — publishing is instant."}):null,f?s.jsx("p",{className:"muted",children:f}):null,_?s.jsx("p",{className:"error",children:_}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:n,disabled:g,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:()=>void T(),disabled:g||j===null,children:j===null?"Checking…":L})]})]})})}const Fe=48;function Te(e){return{id:e.id,name:e.name,creator:"",contractAddress:e.contractAddress,itemId:e.itemId,category:e.category,rarity:e.rarity??"common",network:e.network,chainId:e.chainId,thumbnail:e.image,priceCredits:e.listingPrice??0,gender:null,isSmart:!1,tokenId:e.tokenId}}function Z(e){return{id:`${e.contractAddress}-${e.blockchainItemId}`,name:e.name,creator:"",contractAddress:e.contractAddress,itemId:e.blockchainItemId,category:e.category,rarity:e.rarity,network:"MATIC",chainId:V.chainId,thumbnail:e.thumbnail,priceCredits:0,gender:null,isSmart:!1}}function He(){const{session:e,error:i,signIn:n,restore:c}=ce(),r=U(),l=B(),[v,f]=d.useState(null),[m,_]=d.useState(null),[p,g]=d.useState(null),[k,j]=d.useState(null);function I(a){const t=a.tokenId??a.itemId??"";!a.contractAddress||!t||r(`/item/${a.contractAddress}/${t}`,{state:{item:a}})}async function C(a,t,h){if(e){j(null),g(h);try{const y=await de(a);await he({trade:y,signer:e.signer}),G.success(`“${t}” is no longer for sale.`),await l.invalidateQueries({queryKey:["my-assets",e.address]}),await l.invalidateQueries({queryKey:["collection-sale-state"]})}catch(y){const E=y,M=(E.message??"").toLowerCase(),X=E.code===4001||M.includes("reject")||M.includes("denied");X||W(y,{flow:"remove-listing",tradeId:a}),j(X?"You cancelled the request.":"Couldn't remove the listing — please try again.")}finally{g(null)}}}d.useEffect(()=>{c()},[c]);const x=e==null?void 0:e.address,{items:o,isLoading:N,error:T,hasNextPage:O,isFetchingNextPage:L,fetchNextPage:u}=_e(["my-assets",x],a=>oe(x,{first:Fe,skip:a}).then(t=>({items:t.assets,total:t.total})),{enabled:!!x}),{data:b}=D({queryKey:["importable",x],queryFn:()=>ue(x),enabled:!!x}),R=((b==null?void 0:b.creations.length)??0)+((b==null?void 0:b.owned.length)??0),{data:A,isLoading:te,isError:ie}=D({queryKey:["publishable-items",x],queryFn:()=>Ae(x,e.identity),enabled:!!e,retry:!1}),K=d.useMemo(()=>[...new Set((A??[]).map(a=>a.contractAddress))],[A]),{data:S}=D({queryKey:["collection-sale-state",x,K],enabled:K.length>0,queryFn:async()=>{const a=await Promise.all(K.map(async h=>[h,await me(h)])),t={};for(const[h,y]of a)for(const[E,M]of Object.entries(y))t[`${h}-${E}`]=M;return t}}),Q=a=>S==null?void 0:S[`${a.contractAddress}-${a.blockchainItemId}`],Y=d.useMemo(()=>(A??[]).filter(a=>{var t;return(t=Q(a))==null?void 0:t.isOnSale}),[A,S]),H=d.useMemo(()=>{var t;const a=new Map;for(const h of A??[]){if((t=S==null?void 0:S[`${h.contractAddress}-${h.blockchainItemId}`])!=null&&t.isOnSale)continue;const y=a.get(h.collectionId)??{id:h.collectionId,name:h.collectionName,items:[]};y.items.push(h),a.set(h.collectionId,y)}return[...a.values()]},[A,S]);return e?s.jsxs("section",{className:"myassets",children:[s.jsx("h1",{children:"My Assets"}),R>0?s.jsxs(re,{className:"import-banner",to:"/import",children:[s.jsx("span",{className:"import-banner__ico","aria-hidden":!0,children:"📦"}),s.jsxs("span",{className:"import-banner__text",children:[s.jsx("strong",{children:"Import your listings"}),s.jsxs("span",{className:"import-banner__sub",children:["You have ",R," item",R===1?"":"s"," for sale elsewhere — bring them into the Shop."]})]}),s.jsx("span",{className:"import-banner__cta",children:"Import"})]}):null,s.jsxs("div",{className:"myassets__section",children:[s.jsxs("div",{className:"myassets__section-head",children:[s.jsx("h2",{className:"myassets__section-title",children:"Items you own"}),s.jsx("p",{className:"myassets__section-sub",children:"Wearables & emotes you’ve bought — resell them in the Shop."})]}),T?s.jsx("p",{className:"error",children:"Couldn’t load your items — please try again."}):null,k?s.jsx("p",{className:"error",children:k}):null,s.jsxs("div",{className:"asset-grid",children:[N?Array.from({length:8}).map((a,t)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`sk-${t}`)):o.map(a=>s.jsxs("article",{className:"asset-card asset-card--link",children:[s.jsx("button",{className:"card-link-overlay","aria-label":`View ${a.name}`,onClick:()=>I(Te(a))}),s.jsx("div",{className:"asset-card__img",children:a.image?s.jsx("img",{src:a.image,alt:a.name}):null}),s.jsx("div",{className:"asset-card__name",title:a.name,children:a.name}),a.isOnSale?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"asset-card__listed",children:[s.jsxs("span",{className:"asset-card__price",children:[s.jsx(q,{className:"ccy-mark"})," ",a.listingPrice]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost asset-card__remove",disabled:p===a.id||!a.tradeId,onClick:t=>{t.stopPropagation(),a.tradeId&&C(a.tradeId,a.name,a.id)},children:p===a.id?"Removing…":"Remove listing"})]}):s.jsx("button",{className:"btn btn--sm",onClick:t=>{t.stopPropagation(),P("Shop Started Listing",{listing_type:"secondary",item_id:a.itemId??a.tokenId??null}),f(a)},children:"Put on sale"})]},a.id)),L?Array.from({length:4}).map((a,t)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`msk-${t}`)):null]}),s.jsx(fe,{hasNextPage:O,isFetching:L,onLoadMore:()=>void u()}),!N&&o.length===0?s.jsx("p",{className:"muted",children:"No items in your wardrobe yet."}):null]}),s.jsxs("div",{className:"myassets__section",children:[s.jsxs("div",{className:"myassets__section-head",children:[s.jsx("h2",{className:"myassets__section-title",children:"Your creations"}),s.jsxs("p",{className:"myassets__section-sub",children:["Items you made. Put them on sale in the Shop — set a price in ",w.name," and buyers pay with"," ",w.name,"."]})]}),te?s.jsx("div",{className:"publish-grid",children:Array.from({length:4}).map((a,t)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`pub-sk-${t}`))}):ie?s.jsx("p",{className:"publish-empty",children:"We couldn’t load your collections right now. Please try again in a moment."}):Y.length===0&&H.length===0?s.jsx("p",{className:"publish-empty",children:"You don’t have any items to publish yet."}):s.jsxs(s.Fragment,{children:[Y.length>0?s.jsxs("div",{className:"creations-collection",children:[s.jsx("h3",{className:"creations-collection__name",children:"On sale"}),s.jsx("div",{className:"publish-grid",children:Y.map(a=>{var t;return s.jsxs("article",{className:"publish-card publish-card--link",children:[s.jsx("button",{className:"card-link-overlay","aria-label":`View ${a.name}`,onClick:()=>I(Z(a))}),s.jsx("div",{className:"publish-card__img",children:a.thumbnail?s.jsx("img",{src:a.thumbnail,alt:a.name}):null}),s.jsx("div",{className:"publish-card__name",title:a.name,children:a.name}),s.jsxs("div",{className:"publish-card__listed",children:[s.jsxs("span",{className:"publish-card__price",children:[s.jsx(q,{className:"ccy-mark"})," ",((t=Q(a))==null?void 0:t.priceCredits)??0]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost publish-card__cta",disabled:p===a.id,onClick:h=>{h.stopPropagation();const y=Q(a);y!=null&&y.tradeId&&C(y.tradeId,a.name,a.id)},children:p===a.id?"Removing…":"Remove listing"})]},`${a.contractAddress}-${a.blockchainItemId}`)})})]}):null,H.map(a=>s.jsxs("div",{className:"creations-collection",children:[s.jsx("h3",{className:"creations-collection__name",children:a.name}),s.jsx("div",{className:"publish-grid",children:a.items.map(t=>s.jsxs("article",{className:"publish-card publish-card--link",children:[s.jsx("button",{className:"card-link-overlay","aria-label":`View ${t.name}`,onClick:()=>I(Z(t))}),s.jsx("div",{className:"publish-card__img",children:t.thumbnail?s.jsx("img",{src:t.thumbnail,alt:t.name}):null}),s.jsx("div",{className:"publish-card__name",title:t.name,children:t.name}),s.jsxs("div",{className:"publish-card__meta",children:[s.jsx("span",{className:"publish-chip publish-chip--rarity",children:t.rarity}),s.jsxs("span",{className:"publish-card__supply",children:[t.remainingSupply.toLocaleString()," available"]})]}),s.jsx("button",{className:"btn btn--sm btn--purple publish-card__cta",onClick:h=>{h.stopPropagation(),P("Shop Started Listing",{listing_type:"primary",item_id:t.blockchainItemId}),_(t)},children:"Put on sale"})]},`${t.contractAddress}-${t.blockchainItemId}`))})]},a.id))]})]}),v?s.jsx(Le,{asset:v,session:e,onClose:()=>f(null)}):null,m?s.jsx(qe,{item:m,session:e,onClose:()=>_(null)}):null]}):s.jsxs("section",{className:"myassets",children:[s.jsx("h1",{children:"My Assets"}),s.jsx("p",{className:"muted",children:"Sign in to sell your items."}),s.jsx("div",{className:"connect-row",children:s.jsx("button",{className:"btn btn--purple",onClick:()=>n(),children:"Sign in"})}),i?s.jsx("p",{className:"error",children:i}):null]})}export{He as MyAssets};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as s,L as n}from"./react-yytiy0wi.js";import{a as c,A as l}from"./index-
|
|
1
|
+
import{r as o,j as s,L as n}from"./react-yytiy0wi.js";import{a as c,A as l}from"./index-r45SswES.js";import{L as m}from"./LoadMore-CiZkVzux.js";import"./ethers-DArfy-QF.js";const i=24;function v(){const t=c(e=>Object.values(e.items)),[a,r]=o.useState(i);return t.length===0?s.jsxs("div",{className:"favorites-empty",children:[s.jsx("span",{className:"ico ico-heart favorites-empty__ico","aria-hidden":!0}),s.jsx("p",{className:"favorites-empty__title",children:"No favorites yet"}),s.jsx("p",{className:"muted",children:"Tap the heart on any item to save it here."}),s.jsx(n,{className:"btn btn--purple",to:"/assets",children:"Browse Collectibles"})]}):s.jsxs("section",{className:"favorites",children:[s.jsxs("div",{className:"favorites__head",children:[s.jsx("h1",{children:"My Favorites"}),s.jsxs("span",{className:"favorites__count",children:[t.length," item",t.length>1?"s":""]})]}),s.jsx("div",{className:"grid",children:t.slice(0,a).map(e=>s.jsx(l,{item:e},e.id))}),s.jsx(m,{hasNextPage:a<t.length,isFetching:!1,onLoadMore:()=>r(e=>e+i)})]})}export{v as MyFavorites};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,L as o}from"./react-yytiy0wi.js";import{b as l,c as u,d as m,C as p,e as x}from"./index-
|
|
1
|
+
import{j as e,L as o}from"./react-yytiy0wi.js";import{b as l,c as u,d as m,C as p,e as x}from"./index-r45SswES.js";import{L as _}from"./LoadMore-CiZkVzux.js";import{u as j}from"./useInfiniteGrid-BebS5lWt.js";import"./ethers-DArfy-QF.js";const N=24;function g(s){try{return new Date(s).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}function f({status:s}){return s==="PENDING"?e.jsx("span",{className:"purchase__badge purchase__badge--pending",children:"Processing"}):e.jsx("span",{className:"purchase__badge purchase__badge--done",children:"Completed"})}function y({purchase:s}){const{data:a}=m({queryKey:["trade-display",s.tradeId],queryFn:()=>x(s.tradeId),enabled:!!s.tradeId,staleTime:3e5}),t=(a==null?void 0:a.name)??"Item",i=(a==null?void 0:a.thumbnail)??"",n=(a==null?void 0:a.tokenId)??(a==null?void 0:a.itemId)??"",d=a!=null&&a.contractAddress&&n?`/item/${a.contractAddress}/${n}`:void 0,c=e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"purchase__thumb",children:i?e.jsx("img",{src:i,alt:t}):null}),e.jsxs("div",{className:"purchase__info",children:[e.jsx("div",{className:"purchase__name",title:t,children:t}),e.jsx("div",{className:"muted purchase__date",children:g(s.createdAt)})]}),e.jsx(f,{status:s.status}),e.jsxs("div",{className:"purchase__price",children:[e.jsx(p,{className:"ccy-mark"})," ",s.credits]})]});return d?e.jsx(o,{className:"purchase",to:d,children:c}):e.jsx("div",{className:"purchase",children:c})}function A(){const{session:s}=l(),{items:a,isLoading:t,hasNextPage:i,isFetchingNextPage:n,fetchNextPage:d}=j(["purchases",s==null?void 0:s.address],r=>u(s.address,s.identity,{first:N,skip:r}),{enabled:!!s});if(!s)return e.jsxs("div",{className:"purchases-empty",children:[e.jsx("span",{className:"ico ico-cart purchases-empty__ico","aria-hidden":!0}),e.jsx("p",{className:"purchases-empty__title",children:"Sign in to see your purchases"}),e.jsx("p",{className:"muted",children:"Your order history shows up here once you sign in."})]});const c=a.filter(r=>r.status!=="EXPIRED");return!t&&c.length===0?e.jsxs("div",{className:"purchases-empty",children:[e.jsx("span",{className:"ico ico-cart purchases-empty__ico","aria-hidden":!0}),e.jsx("p",{className:"purchases-empty__title",children:"No purchases yet"}),e.jsx("p",{className:"muted",children:"When you buy something it’ll appear here."}),e.jsx(o,{className:"btn btn--purple",to:"/assets",children:"Browse Collectibles"})]}):e.jsxs("section",{className:"purchases",children:[e.jsxs("div",{className:"purchases__head",children:[e.jsx("h1",{children:"My Purchases"}),t?null:e.jsxs("span",{className:"purchases__count",children:[c.length," order",c.length>1?"s":""]})]}),e.jsx("div",{className:"purchases__list",children:t?Array.from({length:4}).map((r,h)=>e.jsx("div",{className:"purchase purchase--skeleton"},h)):e.jsxs(e.Fragment,{children:[c.map(r=>e.jsx(y,{purchase:r},r.id)),n?Array.from({length:2}).map((r,h)=>e.jsx("div",{className:"purchase purchase--skeleton"},`m-${h}`)):null]})}),e.jsx(_,{hasNextPage:i,isFetching:n,onLoadMore:()=>void d()})]})}export{A as MyPurchases};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t,L as n}from"./react-yytiy0wi.js";import{q as o}from"./index-
|
|
1
|
+
import{j as t,L as n}from"./react-yytiy0wi.js";import{q as o}from"./index-r45SswES.js";import"./ethers-DArfy-QF.js";function i(){return t.jsxs("div",{className:"notfound",children:[t.jsx("span",{className:"ico ico-cart notfound__ico","aria-hidden":!0}),t.jsx("h1",{className:"notfound__title",children:o("notFound.title")}),t.jsx("p",{className:"muted",children:o("notFound.body")}),t.jsx(n,{className:"btn btn--purple",to:"/assets",children:o("notFound.cta")})]})}export{i as NotFound,i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s,a as U,r as i,L as W}from"./react-yytiy0wi.js";import{b as X,u as Z,q as a,
|
|
1
|
+
import{j as s,a as U,r as i,L as W}from"./react-yytiy0wi.js";import{b as X,u as Z,q as a,ae as T}from"./index-r45SswES.js";import{u as ee,d as se,t as te,L as ae,i as I,a as v,s as re}from"./useStore-D3W2cLwe.js";import"./ethers-DArfy-QF.js";const ne="https://cdn.decentraland.org/@dcl/shop/0.1.0-29598294884.commit-796c10b/assets/template-cover-1-BETekfHg.jpeg",ie="https://cdn.decentraland.org/@dcl/shop/0.1.0-29598294884.commit-796c10b/assets/template-cover-2-Dni9s0i_.jpeg",oe=Object.assign({"../assets/creator-covers/template-cover-1.jpeg":ne,"../assets/creator-covers/template-cover-2.jpeg":ie}),h=Object.entries(oe).sort(([r],[d])=>r.localeCompare(d)).map(([r,d])=>({name:r.split("/").pop(),url:d}));function le({label:r,size:d="medium",direction:b="column",className:f}){return s.jsxs("div",{className:`spinner-box spinner-box--${b}${f?` ${f}`:""}`,role:"status","aria-live":"polite","aria-label":r?void 0:"Loading",children:[s.jsx("span",{className:`spinner-box__ring spinner-box__ring--${d}`,"aria-hidden":!0}),r?s.jsx("span",{className:"spinner-box__label",children:r}):null]})}const M=1e6,O={cover:"",coverName:"",coverHash:"",description:"",links:{website:"",twitter:"",discord:"",facebook:""}};function R(r){return`${(r/1e6).toLocaleString(void 0,{maximumFractionDigits:2})}MB`}function ge(){const{session:r,signIn:d}=X(),b=U(),f=Z(),c=r==null?void 0:r.address,{data:x,isLoading:z}=ee(c),[n,u]=i.useState(O),[E,w]=i.useState(O),[j,g]=i.useState(),[p,C]=i.useState(!1),[o,N]=i.useState(null),[_,A]=i.useState({}),L=i.useRef(null);i.useEffect(()=>{if(x){const e=se(x);u(e),w(e),g(void 0),N(e.cover?{url:e.cover,name:e.coverName,hash:e.coverHash}:null)}},[x]),i.useEffect(()=>{let e=!1;return Promise.all(h.map(async t=>[t.name,await te(t.url)])).then(t=>{e||A(Object.fromEntries(t))}).catch(()=>{}),()=>{e=!0}},[]);const S=i.useMemo(()=>{const e=h.find(l=>n.coverName===`cover/${l.name}`);if(e)return e.name;const t=n.coverHash?h.find(l=>_[l.name]===n.coverHash):void 0;return t==null?void 0:t.name},[n.coverName,n.coverHash,_]);i.useEffect(()=>{o!=null&&o.hash&&h.some(e=>_[e.name]===o.hash)&&N(null)},[_,o]);const $=j!==void 0&&j>M,D=i.useMemo(()=>ae.filter(e=>!I(e,n.links[e])),[n.links]),P=$||D.length>0,k=i.useMemo(()=>JSON.stringify(n)!==JSON.stringify(E),[n,E]),F=k&&!P&&!p;if(i.useEffect(()=>{if(!k)return;const e=t=>{t.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[k]),!r)return s.jsxs("section",{className:"store-settings store-settings--signin","aria-label":a("storeSettings.title"),children:[s.jsx("h1",{className:"store-settings__title",children:a("storeSettings.title")}),s.jsx("p",{className:"muted",children:a("storeSettings.signInPrompt")}),s.jsx("button",{className:"btn btn--purple store-settings__signin-btn",onClick:d,children:a("storeSettings.signIn")})]});function B(e,t){g(void 0),u(l=>({...l,cover:t,coverName:`cover/${e}`,coverHash:""}))}const V=["image/png","image/jpeg","image/webp"];function Y(e){var y;const t=(y=e.target.files)==null?void 0:y[0];if(!t||!V.includes(t.type))return;g(t.size);const l=`cover/${t.name}`,m=new FileReader;m.onload=()=>{const H=m.result;N({url:H,name:l,hash:""}),u(Q=>({...Q,cover:H,coverName:l,coverHash:""}))},m.readAsDataURL(t)}function q(){o&&(g(void 0),u(e=>({...e,cover:o.url,coverName:o.name,coverHash:o.hash})))}function K(e,t){const l=t?(v[e]+t).replace(/\s/g,""):"";u(m=>({...m,links:{...m.links,[e]:l}}))}function G(e){const t=n.links[e];return e==="website"?t:t.replace(v[e],"")}async function J(){if(!(!c||!r)){C(!0);try{await re(c,n,r.identity),w(n),g(void 0),await f.invalidateQueries({queryKey:["store",c.toLowerCase()]}),T.success(a("storeSettings.saved")),b(`/assets/creator/${c}`)}catch{T.error(a("storeSettings.saveError"))}finally{C(!1)}}}return s.jsxs("section",{className:"store-settings","aria-label":a("storeSettings.title"),children:[s.jsxs("div",{className:"store-settings__head",children:[s.jsxs("div",{className:"store-settings__heading",children:[c?s.jsx(W,{className:"store-settings__back",to:`/assets/creator/${c}`,title:a("storeSettings.back"),"aria-label":a("storeSettings.back"),children:s.jsx("span",{className:"ico ico-arrow-left","aria-hidden":!0})}):null,s.jsx("h1",{className:"store-settings__title",children:a("storeSettings.title")})]}),c?s.jsxs("a",{className:"store-settings__guest",href:`/assets/creator/${c}`,target:"_blank",rel:"noopener noreferrer",children:[a("storeSettings.seeAsGuest"),s.jsx("span",{className:"ico ico-external","aria-hidden":!0})]}):null]}),z?s.jsx(le,{size:"large",label:a("storeSettings.loading"),className:"store-settings__loading"}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("span",{className:"field__label",children:a("storeSettings.cover")}),s.jsxs("div",{className:"cover-picker",role:"group","aria-label":a("storeSettings.cover"),children:[h.map(e=>{const t=S===e.name;return s.jsx("button",{type:"button",className:`cover-picker__tile${t?" is-selected":""}`,"aria-pressed":t,onClick:()=>B(e.name,e.url),children:s.jsx("img",{src:e.url,alt:"",loading:"lazy"})},e.name)}),o?s.jsx("button",{type:"button",className:`cover-picker__tile cover-picker__tile--custom${S?"":" is-selected"}`,"aria-pressed":!S,onClick:q,children:s.jsx("img",{src:o.url,alt:""})}):null,s.jsxs("button",{type:"button",className:"cover-picker__tile cover-picker__upload",onClick:()=>{var e;return(e=L.current)==null?void 0:e.click()},children:[s.jsx("span",{className:"ico ico-upload","aria-hidden":!0}),s.jsx("span",{children:a("storeSettings.upload")})]}),s.jsx("input",{ref:L,type:"file",accept:"image/png, image/jpeg, image/webp",className:"cover-picker__input",onChange:Y})]}),$?s.jsx("p",{className:"error",children:a("storeSettings.sizeError",{max:R(M),current:R(j)})}):null]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"field__label",children:a("storeSettings.description")}),s.jsx("textarea",{value:n.description,rows:4,disabled:p,onChange:e=>u(t=>({...t,description:e.target.value}))})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"field__label",children:a("storeSettings.website")}),s.jsx("input",{type:"url",value:n.links.website,placeholder:v.website,disabled:p,onChange:e=>u(t=>({...t,links:{...t.links,website:e.target.value.replace(/\s/g,"")}}))}),I("website",n.links.website)?null:s.jsx("p",{className:"error",children:a("storeSettings.linkError",{value:v.website})})]}),["twitter","discord","facebook"].map(e=>s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"field__label",children:a(`storeSettings.${e}`)}),s.jsxs("div",{className:"field__prefixed",children:[s.jsx("span",{className:"field__prefix",children:v[e]}),s.jsx("input",{type:"text",value:G(e),disabled:p,onChange:t=>K(e,t.target.value)})]})]},e)),s.jsx("div",{className:"store-settings__actions",children:s.jsx("button",{className:"btn btn--purple store-settings__save",onClick:()=>void J(),disabled:!F,children:p?a("storeSettings.saving"):a("storeSettings.save")})})]})]})}export{ge as StoreSettings,ge as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,b as E,a as $,N as F,r as w}from"./react-yytiy0wi.js";import{b as T,H as C,I as V,J as M,K as R,L,M as B,W as I,i as _,h as g,N as K}from"./index-r45SswES.js";import{s as O}from"./wallet-kind-BUfXt6vu.js";import{w as U,S as W}from"./buy-gasless-B0ASTVfF.js";import"./ethers-DArfy-QF.js";import"./trade-encoding-04aPoKGq.js";import"./index-DVAx1hg9.js";function Y(){return e.jsxs("div",{className:"success-anim",role:"img","aria-label":"Purchase successful",children:[e.jsxs("svg",{className:"success-anim__svg",viewBox:"0 0 120 120",children:[e.jsx("circle",{className:"success-anim__ring",cx:"60",cy:"60",r:"54"}),e.jsx("path",{className:"success-anim__check",d:"M37 61 l16 16 l30 -34"})]}),e.jsx("span",{className:"success-anim__spark success-anim__spark--1","aria-hidden":!0,children:"✦"}),e.jsx("span",{className:"success-anim__spark success-anim__spark--2","aria-hidden":!0,children:"✦"}),e.jsx("span",{className:"success-anim__spark success-anim__spark--3","aria-hidden":!0,children:"◈"}),e.jsx("span",{className:"success-anim__spark success-anim__spark--4","aria-hidden":!0,children:"✦"})]})}const z=t=>new Promise(s=>setTimeout(s,t));function H(t,s){const[a,o]=w.useState(t?"pending":"confirmed"),d=s?`${s.owner}-${s.contractAddress}-${s.itemId}`:"";return w.useEffect(()=>{if(!t)return;let r=!1;return(async()=>{let h=!1;for(let n=0;n<20&&!r;n++)try{await U(t,{timeoutMs:15e3}),h=!0;break}catch(c){if(c instanceof W)continue;r||o("failed");return}if(!r){if(!h){o("timed-out");return}if(!s){o("confirmed");return}o("indexing");for(let n=0;n<40&&!r;n++){if(await K(s.owner,s.contractAddress,s.itemId)){r||o("confirmed");return}await z(3e3)}r||o("timed-out")}})(),()=>{r=!0}},[t,d]),a}const J=g.chainId===80002?"https://decentraland.zone/jump":"https://decentraland.org/jump",x=g.chainId===80002?"https://amoy.polygonscan.com/tx/":"https://polygonscan.com/tx/";function se(){const{state:t}=E(),s=$(),{session:a}=T(),{data:o}=C(a==null?void 0:a.address),d=t==null?void 0:t.txHash,r=(t==null?void 0:t.items)??[],l=r[0],h=a!=null&&a.address&&(l!=null&&l.contractAddress)&&(l!=null&&l.itemId)?{owner:a.address,contractAddress:l.contractAddress,itemId:l.itemId}:null,n=H(d,h),c=r;if(c.length===0)return e.jsx(F,{to:"/assets",replace:!0});const u=c[0],j=c.filter(i=>i.category!=="emote"),A=c.find(i=>i.category==="emote")??null,b=j.map(V).filter(i=>!!i),f=M(o),S=!!f&&j.every(i=>R(i,f)),P=L(j)??f??B,v=!!(a!=null&&a.address)&&S,y=v?a.address:"default",k=v?void 0:P,m=A??u,N=m.category==="emote",p=!!d&&O(a==null?void 0:a.providerType);return e.jsxs("div",{className:"success",children:[e.jsx("div",{className:"success__preview",children:b.length>0?e.jsx(I,{profile:y,bodyShape:k,urns:b,type:_.PreviewType.AVATAR,emote:_.PreviewEmote.FASHION,background:"ecebed",dev:g.chainId===80002},u.id):e.jsx(I,{contractAddress:m.contractAddress,tokenId:m.tokenId??void 0,itemId:m.tokenId?void 0:m.itemId??void 0,profile:y,bodyShape:N?void 0:k,type:N?void 0:_.PreviewType.AVATAR,emote:N?void 0:_.PreviewEmote.FASHION,background:"ecebed",dev:g.chainId===80002},m.id)}),e.jsx("div",{className:"success__panel",children:n==="pending"||n==="indexing"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"spinner success__spinner","aria-hidden":!0}),e.jsx("h1",{className:"success__title",children:n==="indexing"?"Finalizing your purchase…":"Processing your purchase…"}),e.jsx("p",{className:"success__sub",children:n==="indexing"?e.jsxs(e.Fragment,{children:["Payment confirmed — adding"," ",c.length===1?e.jsx("strong",{children:u.name}):`${c.length} items`," to your wardrobe. Almost there."]}):e.jsxs(e.Fragment,{children:["Confirming ",c.length===1?e.jsx("strong",{children:u.name}):`${c.length} items`," on-chain. This usually takes a few seconds — keep this tab open."]})}),p?e.jsx("div",{className:"success__links",children:e.jsx("a",{className:"success__receipt",href:`${x}${d}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"})}):null]}):n==="timed-out"?e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"success__title",children:"Still processing…"}),e.jsxs("p",{className:"success__sub",children:["This is taking longer than usual to confirm. Your purchase may still complete — check"," ",e.jsx("button",{className:"link",onClick:()=>s("/my-purchases"),children:"My Purchases"})," ","in a few minutes to see the final status. No need to buy again."]}),e.jsx("div",{className:"success__links",children:p?e.jsx("a",{className:"success__receipt",href:`${x}${d}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null}),e.jsxs("div",{className:"success__actions",children:[e.jsx("button",{className:"btn btn--purple",onClick:()=>s("/my-purchases"),children:"View my purchases"}),e.jsx("button",{className:"btn btn--ghost",onClick:()=>s("/assets"),children:"Keep shopping"})]})]}):n==="failed"?e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"success__title",children:"Your purchase didn’t go through"}),e.jsx("p",{className:"success__sub",children:"The transaction failed on-chain, so nothing was delivered. Your credits weren’t spent (any hold is released shortly) — you can try again."}),e.jsx("div",{className:"success__links",children:p?e.jsx("a",{className:"success__receipt",href:`${x}${d}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null}),e.jsx("div",{className:"success__actions",children:e.jsx("button",{className:"btn btn--purple",onClick:()=>s("/assets"),children:"Back to shop"})})]}):e.jsxs(e.Fragment,{children:[e.jsx(Y,{}),e.jsx("h1",{className:"success__title",children:"It’s yours!"}),c.length===1?e.jsxs("p",{className:"success__sub",children:[e.jsx("strong",{children:u.name})," is now in your wardrobe."]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"success__sub",children:[c.length," items are now in your wardrobe."]}),e.jsx("ul",{className:"success__list",children:c.map(i=>e.jsx("li",{children:i.name},i.id))})]}),e.jsxs("div",{className:"success__links",children:[e.jsx("button",{className:"success__receipt",onClick:()=>s("/my-purchases"),children:"View order"}),p?e.jsx("a",{className:"success__receipt",href:`${x}${d}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null]}),e.jsxs("div",{className:"success__actions",children:[e.jsx("a",{className:"btn btn--purple",href:J,target:"_blank",rel:"noreferrer",children:"Use it in-world"}),e.jsx("button",{className:"btn btn--ghost",onClick:()=>s("/assets"),children:"Keep shopping"})]})]})})]})}export{se as Success,se as default};
|