@dcl/shop 0.1.0-28749696583.commit-1ceed46 → 0.1.0-28750027508.commit-c1745a7
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/{Assets-aLMhp0dt.js → Assets-DL5yuUuY.js} +1 -1
- package/assets/{Cart-De2Zl3dM.js → Cart-C7yuVjAz.js} +1 -1
- package/assets/{CircularProgress-zG5DpGEk.js → CircularProgress-BcYj3S3h.js} +1 -1
- package/assets/{Collection-D2tlaWRj.js → Collection-CapmZNyq.js} +1 -1
- package/assets/{Creator-nG5HN86G.js → Creator-DAXION-5.js} +1 -1
- package/assets/{ExchangeController-DxQ_hnpn.js → ExchangeController-CwuVWVOI.js} +1 -1
- package/assets/{GetCredits-Dpbjid38.js → GetCredits-DMOrTqSP.js} +2 -2
- package/assets/{HelpersUtil-CE2js2MR.js → HelpersUtil-DSJNm8I8.js} +1 -1
- package/assets/{ImportListings-CJDBHXeE.js → ImportListings-DzGQ9CA0.js} +1 -1
- package/assets/{ItemDetail-8nTYzMUv.js → ItemDetail-DQvOsn98.js} +1 -1
- package/assets/{Market-D5ojlVRL.js → Market-ChJv5XO7.js} +1 -1
- package/assets/{MyAssets-D9VUj3Zr.js → MyAssets-vQTFQ7KY.js} +1 -1
- package/assets/{MyFavorites-DeEu4CEV.js → MyFavorites-DIJsMlum.js} +1 -1
- package/assets/{MyPurchases-DvIbgEFO.js → MyPurchases-DMMANzdj.js} +1 -1
- package/assets/{RealCheckout-DW__EYhq.js → RealCheckout-ygODYosw.js} +1 -1
- package/assets/{Success-B3A8ZBjK.js → Success-4Uko_hjl.js} +1 -1
- package/assets/{SvgIcon-Bf8o-Oh9.js → SvgIcon-gQXWXVJT.js} +1 -1
- package/assets/{SwapController-442j5gZT.js → SwapController-CT1UmyEO.js} +1 -1
- package/assets/{TradeService-Bis1RE0m.js → TradeService-DtXAvYjA.js} +1 -1
- package/assets/{W3MFrameProviderSingleton-BSVX-6L0.js → W3MFrameProviderSingleton-Cnwg8r7Q.js} +3 -3
- package/assets/{WebCryptoP256-bcQGKg-7.js → WebCryptoP256-BHkRDwVC.js} +1 -1
- package/assets/{basic-DON-N1CW.js → basic-ZiaIWwsI.js} +1 -1
- package/assets/{biconomy-CzjuLXKA.js → biconomy-CRY1yWp8.js} +1 -1
- package/assets/{buy-5130Im35.js → buy-CW3BEgsu.js} +1 -1
- package/assets/{buy-gasless-CAFJBEcY.js → buy-gasless-BBQC6A0v.js} +1 -1
- package/assets/{ccip-Be3XfiR-.js → ccip-3SkNjPuI.js} +1 -1
- package/assets/{ccip-C1VLZjOC.js → ccip-CYUvogtn.js} +1 -1
- package/assets/{collection-BTAfnBAO.js → collection-sAag9J33.js} +1 -1
- package/assets/{controller-BtovDqDB.js → controller-CzAqju-y.js} +2 -2
- package/assets/{core-CZtd-NIi.js → core-Cc-f_xgR.js} +4 -4
- package/assets/{custom-BwG_UShl.js → custom-CpShP-Zo.js} +1 -1
- package/assets/{data-capture-eO7T9U30.js → data-capture-1bMGufmQ.js} +1 -1
- package/assets/decimals-BQVRJcGM.js +1 -0
- package/assets/{decimals-ChKIkXOS.js → decimals-C1PH9ObK.js} +1 -1
- package/assets/{detectExtension-tc_ts8l0.js → detectExtension-yHqQR0SB.js} +1 -1
- package/assets/{email-Stqivzcj.js → email-C5p7S3dO.js} +1 -1
- package/assets/{embedded-wallet-DCapk4p8.js → embedded-wallet-BFYO5JMR.js} +1 -1
- package/assets/{engine-DUpcMxaF.js → engine-CUirztbI.js} +1 -1
- package/assets/{estimate-l1-fee-CLHdzsZf.js → estimate-l1-fee-D2VrDUJy.js} +1 -1
- package/assets/{eth_estimateGas-C29fayI3.js → eth_estimateGas-DUEavc9X.js} +1 -1
- package/assets/{eth_getStorageAt-CLFvCDZd.js → eth_getStorageAt-BRxHq0TG.js} +1 -1
- package/assets/{eth_getTransactionCount-CI8xyokV.js → eth_getTransactionCount-CFE2hFd_.js} +1 -1
- package/assets/{extractIPFS-BGsgU6Dq.js → extractIPFS-CIAr3CZi.js} +1 -1
- package/assets/{features-BVeS0JHV.js → features-D6S9wiHd.js} +1 -1
- package/assets/{fetchTokenMetadata-BLzsI7EC.js → fetchTokenMetadata-jdkFAUf_.js} +2 -2
- package/assets/{generateUtilityClasses-B28mC2Si.js → generateUtilityClasses-6siFo-o1.js} +1 -1
- package/assets/{get-ecosystem-wallet-info-R5ARh3Yl.js → get-ecosystem-wallet-info-jX7G4m00.js} +1 -1
- package/assets/{getBalance-BSCY52PD.js → getBalance-CbzD_-rb.js} +1 -1
- package/assets/{getInstalledModules-BS7IiWOH.js → getInstalledModules-BCKlKH8Y.js} +1 -1
- package/assets/{getNFT-BwgDFGMN.js → getNFT-BQZ8h2Lx.js} +2 -2
- package/assets/{getNFT-BK5_-4hT.js → getNFT-DkLGMPOt.js} +1 -1
- package/assets/{hashTypedData-Cq89-tTo.js → hashTypedData-C_Wh9X6L.js} +1 -1
- package/assets/{hashTypedData-q9oxx1xt.js → hashTypedData-DdE9G-NV.js} +1 -1
- package/assets/{import-8mZnlxOL.js → import-DfSi3d1-.js} +1 -1
- package/assets/{in-app-wallet-calls-DloE1FT2.js → in-app-wallet-calls-BXOIXjjn.js} +1 -1
- package/assets/{index-DO5kbyL5.js → index-1N6bmPhk.js} +3 -3
- package/assets/{index-CFdMT9MW.js → index-1dGV_Kd9.js} +2 -2
- package/assets/{index-CzK1bz00.js → index-7mjHxhTf.js} +1 -1
- package/assets/{index-D6G1eVBw.js → index-9nomkEiz.js} +1 -1
- package/assets/{index-BOcZHHVN.js → index-B1MMb-5X.js} +1 -1
- package/assets/{index-iF9kiYoZ.js → index-B7E0cTtv.js} +1 -1
- package/assets/{index-Cgp0c25G.js → index-B7tdVrVW.js} +1 -1
- package/assets/{index-BeFu8hpI.js → index-BNY5waID.js} +1 -1
- package/assets/{index-DacoqM69.js → index-BNoBZ5U_.js} +1 -1
- package/assets/{index-Ck7C_Qc5.js → index-BR0NknyD.js} +4 -4
- package/assets/{index-C7dh-AbD.js → index-BSsm_tbT.js} +2 -2
- package/assets/{index-B0pKs-hj.js → index-BWtydzln.js} +1 -1
- package/assets/{index-BsL6EcA1.js → index-BZQLRGSG.js} +3 -3
- package/assets/{index-DaDPmmBo.js → index-BeOhjAd1.js} +1 -1
- package/assets/{index-ZrYHq_rN.js → index-BiWEOREW.js} +1 -1
- package/assets/{index-BJxTr96X.js → index-By3yUhtR.js} +1 -1
- package/assets/{index-DWGjNbEm.js → index-ByJ3d8lF.js} +1 -1
- package/assets/{index-BLKJ4eEO.js → index-C8B_hMlN.js} +1 -1
- package/assets/{index-CuKnEc0t.js → index-CCv0so6e.js} +1 -1
- package/assets/{index-D58Lm6fy.js → index-CE5YSM6F.js} +1 -1
- package/assets/{index-CcZ_aO1r.js → index-CH5PnIeK.js} +1 -1
- package/assets/{index-B9O7lhLw.js → index-CIJiBbYh.js} +1 -1
- package/assets/{index-DIMb2qTx.js → index-CKubNpWG.js} +1 -1
- package/assets/{index-Dp-0pAj4.js → index-CSIGK5lW.js} +1 -1
- package/assets/{index-DM4yPO68.js → index-CVh5TrlX.js} +1 -1
- package/assets/{index-Bj6vwNIk.js → index-CeKdKqj1.js} +1 -1
- package/assets/{index-CaaeFuGL.js → index-Clz26un3.js} +1 -1
- package/assets/{index-BxSPmv0Y.js → index-CoSycUa8.js} +1 -1
- package/assets/{index-C0RsmTxE.js → index-Cp-W6NNv.js} +1 -1
- package/assets/{index-BAgLTJQC.js → index-DA6fp6Mx.js} +1 -1
- package/assets/{index-8vuqXajV.js → index-DBcOcR2Y.js} +2 -2
- package/assets/{index-CYxyFUAy.js → index-DDhUyM0z.js} +1 -1
- package/assets/{index-BD27OB6Q.js → index-DGyVbauK.js} +1 -1
- package/assets/{index-Cs_2iQ3W.js → index-DIyQOe3c.js} +1 -1
- package/assets/{index-BE2OdG3f.js → index-DN51F6iW.js} +1 -1
- package/assets/{index-CjaxrxzI.js → index-DNqjXjUL.js} +1 -1
- package/assets/{index-C-jpz5Fa.js → index-Dg2OhPwO.js} +1 -1
- package/assets/{index-aWPj5LNH.js → index-DgmHiUM2.js} +1 -1
- package/assets/{index-BVm65sSQ.js → index-DhQWPflv.js} +1 -1
- package/assets/{index-BF4emFry.js → index-Ds2NqrdW.js} +1 -1
- package/assets/{index-ufiEiZ1d.js → index-DsG7nujS.js} +1 -1
- package/assets/{index-CCidLmBj.js → index-DukXrsej.js} +1 -1
- package/assets/{index-D6jW0QuZ.js → index-IzMlE-wq.js} +1 -1
- package/assets/{index-D2dWLs9-.js → index-MTcOXDTN.js} +1 -1
- package/assets/{index-BDUVlNpj.js → index-T8tpFDgX.js} +1 -1
- package/assets/{index-C24A9Q_B.js → index-VPwkT-Il.js} +1 -1
- package/assets/{index-BIzLuINV.js → index-XFcAndKB.js} +1 -1
- package/assets/{index-DnXaf_28.js → index-_i_TdWLE.js} +1 -1
- package/assets/{index-Dm3nVmD3.js → index-bzBnmFBx.js} +1 -1
- package/assets/{index-D-Kw_wUy.js → index-o86548_v.js} +1 -1
- package/assets/{index-BydDLvNI.js → index-s2tv_LvP.js} +1 -1
- package/assets/{index.es-BHmJ3HE8.js → index.es-DiIcdVIh.js} +1 -1
- package/assets/{index.es-WIKYy9BI.js → index.es-hIg9rngl.js} +1 -1
- package/assets/{index.es-AvZc0iwU.js → index.es-mVmEIOCy.js} +4 -4
- package/assets/{localBatchGatewayRequest-DAEYAZDW.js → localBatchGatewayRequest-BSwf1_6S.js} +1 -1
- package/assets/{mana-rate-Cj4WJyFX.js → mana-rate-DWqsWqd4.js} +1 -1
- package/assets/network-BAc2Fdst.js +1 -0
- package/assets/{networks-eeU54tZ7.js → networks-CUnWpkW0.js} +1 -1
- package/assets/{onramp-DhSiFszx.js → onramp-DkiOpjKJ.js} +1 -1
- package/assets/{openzeppelin-TUhCXc3W.js → openzeppelin-VJ8mwfdW.js} +1 -1
- package/assets/{ownerOf-DU-JKoHi.js → ownerOf-CtqFLH4Q.js} +1 -1
- package/assets/{parseNft-BvVevHMp.js → parseNft-DhPfBeo5.js} +2 -2
- package/assets/{parseSignature-fzdlClLS.js → parseSignature-DLGjW-YD.js} +3 -3
- package/assets/{parseSignature-CqBaxebK.js → parseSignature-F1fMlQEW.js} +1 -1
- package/assets/{pay-with-exchange-CcXMWyyR.js → pay-with-exchange-CvCfJ8Rb.js} +1 -1
- package/assets/{qr-overlay-CoU3_96F.js → qr-overlay-FAxQlD6g.js} +1 -1
- package/assets/{receive-DlVMqTPT.js → receive-B93weBWX.js} +1 -1
- package/assets/{resolveImplementation-DTf71Ha-.js → resolveImplementation-C9Uro6M8.js} +1 -1
- package/assets/{rpc-qmK5iTzE.js → rpc-B5yKTMV4.js} +1 -1
- package/assets/{secp256k1-xb6034EE.js → secp256k1-BAMTN99m.js} +1 -1
- package/assets/{secp256k1-DFuDr3b6.js → secp256k1-CFO_XJgk.js} +1 -1
- package/assets/{secp256k1-nA5uVAYh.js → secp256k1-DrXphHzc.js} +1 -1
- package/assets/{send-u3ctJaL6.js → send-C6mVMehz.js} +1 -1
- package/assets/{send-batch-transaction-BFEKzC9O.js → send-batch-transaction-CSchCQ35.js} +1 -1
- package/assets/{send-eip712-transaction-BQihd29J.js → send-eip712-transaction-O3RBlaiN.js} +2 -2
- package/assets/{send-gasless-transaction-BqA4bIvc.js → send-gasless-transaction-B02vhWdE.js} +2 -2
- package/assets/{sendRawTransaction-C8j0qQ9e.js → sendRawTransaction-D2f66wWW.js} +3 -3
- package/assets/{serializeTransaction-Dz4GBhoh.js → serializeTransaction-DDcY5d66.js} +1 -1
- package/assets/{session-proposal-Db4KYIHa.js → session-proposal-BLyJNtMn.js} +1 -1
- package/assets/{session-request-CihuU88c.js → session-request-BYSwbCa9.js} +2 -2
- package/assets/{sha256-CgtTKrQj.js → sha256-DXggxsKU.js} +1 -1
- package/assets/{signing-BpshFomj.js → signing-QO6WZDPC.js} +4 -4
- package/assets/{socials-CVrxuzLr.js → socials-6optCO-x.js} +1 -1
- package/assets/{swaps-BgpJ5WXk.js → swaps-C0oTHBPB.js} +1 -1
- package/assets/{thirdweb-CYxasBJb.js → thirdweb-BZzV03UP.js} +3 -3
- package/assets/{totalSupply-B1JXRs3G.js → totalSupply-BNy81Z8q.js} +1 -1
- package/assets/{transactionReceipt-C76rMl4n.js → transactionReceipt-CgGcpTPX.js} +1 -1
- package/assets/{transactions-4VkJkzU5.js → transactions-PXKobXBG.js} +1 -1
- package/assets/{useInfiniteGrid-DWCJkphW.js → useInfiniteGrid-C5c2ausk.js} +1 -1
- package/assets/{verifyHash-ETsOfWG5.js → verifyHash-L47Y3l_-.js} +1 -1
- package/assets/{w3m-modal-Dsohngdn.js → w3m-modal-BpVTRUfU.js} +1 -1
- package/assets/{w3m-modal-DnfQqgSb.js → w3m-modal-D3H4qJP-.js} +1 -1
- package/assets/{wait-for-tx-receipt-B7QM3M94.js → wait-for-tx-receipt-CreJefwY.js} +1 -1
- package/assets/{wallet-kind-B1XTGpW3.js → wallet-kind-vw_oO-og.js} +1 -1
- package/assets/{wallets-Bvy8SYUi.js → wallets-BUJOjBt2.js} +6 -6
- package/assets/{web-connector-D7aGkNQq.js → web-connector-CjZ2Dq4j.js} +3 -3
- package/assets/{writeContract-B9ry2Fzp.js → writeContract-CmyKJPyD.js} +1 -1
- package/assets/{zoraTestnet-CbeIIuai.js → zoraTestnet-D2HVuo_v.js} +1 -1
- package/index.html +8 -8
- package/package.json +2 -2
- package/assets/decimals-CP_7HUio.js +0 -1
- package/assets/network-BWxaW3rR.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as K,r as t,j as e}from"./react-E8ng6RF2.js";import{t as M,C as Q,A as V,f as X}from"./index-
|
|
1
|
+
import{u as K,r as t,j as e}from"./react-E8ng6RF2.js";import{t as M,C as Q,A as V,f as X}from"./index-BR0NknyD.js";import{S as F}from"./SkeletonCards-yV2mi4oc.js";import{L as ee}from"./LoadMore-DB6TwvRe.js";import{u as se}from"./useInfiniteGrid-C5c2ausk.js";import"./ethers-DbXGgxrh.js";const re=48,k=[{key:"wearable",label:"Wearables",sub:["Head","Upper Body","Handwear","Lower Body","Feet","Accessories","Skins"]},{key:"emote",label:"Emotes",sub:[]},{key:"ens",label:"NAMEs",sub:[]},{key:"parcel",label:"Lands",sub:[]}],te={Head:["head","hat","hair","facial_hair","eyes","eyebrows","mouth","mask","helmet","tiara","top_head"],"Upper Body":["upper_body"],Handwear:["hands_wear"],"Lower Body":["lower_body"],Feet:["feet"],Accessories:["earring","eyewear"],Skins:["skin"]},ie=["common","uncommon","rare","epic","legendary","mythic","unique","exotic"],f=[{key:"newest",label:"Newest",server:"newest"},{key:"price-asc",label:"Price: Low to High",server:"cheapest"},{key:"price-desc",label:"Price: High to Low",server:"most_expensive"},{key:"name",label:"Name (A–Z)",server:"name"}];function de(){const[B]=K(),l=(B.get("q")??"").trim().toLowerCase(),[n,C]=t.useState("wearable"),[r,x]=t.useState(null),[i,S]=t.useState([]),[p,w]=t.useState(""),[m,$]=t.useState(""),[u,H]=t.useState("newest"),[a,d]=t.useState(null),h=p&&!Number.isNaN(Number(p))?Number(p):void 0,b=m&&!Number.isNaN(Number(m))?Number(m):void 0,I=r?te[r]:void 0,q=(f.find(s=>s.key===u)??f[0]).server,A={category:n,rarities:i.length?i:void 0,wearableCategories:I,minPriceCredits:h,maxPriceCredits:b,search:l||void 0,sortBy:q},{items:P,total:y,isLoading:c,error:L,hasNextPage:O,isFetchingNextPage:E,fetchNextPage:T}=se(["listings",A],s=>X({...A,first:re,skip:s})),N=y,R=t.useRef(null);t.useEffect(()=>{c||!l||R.current===l||(R.current=l,M("Shop Searched",{query:l,result_count:N}))},[l,c,N]);const g=t.useRef("__init__");t.useEffect(()=>{if(c)return;const s=JSON.stringify({category:n,subCategory:r,rarities:i,min:h,max:b,sort:u});if(g.current==="__init__"||g.current===s){g.current=s;return}g.current=s,M("Shop Applied Filter",{filters:{category:n,sub_category:r,rarities:i,min_price_credits:h??null,max_price_credits:b??null,sort:u},result_count:N})},[n,r,i,h,b,u,c,N]);function U(s){C(s),x(null)}function G(s){S(o=>o.includes(s)?o.filter(D=>D!==s):[...o,s])}function Z(){C("wearable"),x(null),S([]),w(""),$(""),d(null)}function j(s){d(o=>o===s?null:s)}const J=f.find(s=>s.key===u)??f[0],_=k.find(s=>s.key===n)??k[0],W=r?`${_.label} · ${r}`:_.label,v=!!(h||b),Y=v?`${p||"0"}–${m||"∞"}`:"Price",z=n!=="wearable"||!!r||i.length>0||v;return e.jsxs("div",{className:"browse",children:[a?e.jsx("div",{className:"filterbar__scrim",onClick:()=>d(null),"aria-hidden":!0}):null,e.jsxs("div",{className:"filterbar",children:[e.jsxs("div",{className:"filterbar__filters",children:[e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${a==="section"?" is-open":""}${r||n!=="wearable"?" is-active":""}`,onClick:()=>j("section"),children:[W," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),a==="section"?e.jsxs("div",{className:"filter-pop filter-pop--section",children:[e.jsx("ul",{className:"filter-pop__cats",children:k.map(s=>e.jsx("li",{children:e.jsx("button",{className:`filter-pop__cat${n===s.key?" is-active":""}`,onClick:()=>U(s.key),children:s.label})},s.key))}),_.sub.length?e.jsxs("ul",{className:"filter-pop__subs",children:[e.jsx("li",{children:e.jsxs("button",{className:`filter-pop__sub${r?"":" is-active"}`,onClick:()=>{x(null),d(null)},children:["All ",_.label]})}),_.sub.map(s=>e.jsx("li",{children:e.jsx("button",{className:`filter-pop__sub${r===s?" is-active":""}`,onClick:()=>{x(o=>o===s?null:s),d(null)},children:s})},s))]}):null]}):null]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${a==="rarity"?" is-open":""}${i.length?" is-active":""}`,onClick:()=>j("rarity"),children:["Rarity ",i.length?e.jsx("span",{className:"filterbar__badge",children:i.length}):null," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),a==="rarity"?e.jsx("div",{className:"filter-pop filter-pop--rarity",children:ie.map(s=>e.jsxs("label",{className:"filter-pop__check",children:[e.jsx("input",{type:"checkbox",checked:i.includes(s),onChange:()=>G(s)}),e.jsx("span",{children:s})]},s))}):null]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${a==="price"?" is-open":""}${v?" is-active":""}`,onClick:()=>j("price"),children:[Y," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),a==="price"?e.jsxs("div",{className:"filter-pop filter-pop--price",children:[e.jsxs("div",{className:"filter-pop__price-row",children:[e.jsx("input",{type:"number",min:"0",placeholder:"Min",value:p,onChange:s=>w(s.target.value)}),e.jsx("span",{children:"–"}),e.jsx("input",{type:"number",min:"0",placeholder:"Max",value:m,onChange:s=>$(s.target.value)})]}),e.jsxs("p",{className:"filter-pop__hint",children:["Price in ",Q.name]})]}):null]}),z?e.jsx("button",{className:"filterbar__clear",onClick:Z,children:"Clear all"}):null]}),e.jsxs("div",{className:"filterbar__right",children:[e.jsxs("span",{className:"filterbar__count",children:[c?"…":`${y.toLocaleString()} item${y===1?"":"s"}`,l?` for “${l}”`:""]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__sort${a==="sort"?" is-open":""}`,onClick:()=>j("sort"),children:["Sort by: ",J.label," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),a==="sort"?e.jsx("div",{className:"filter-pop filter-pop--sort",children:f.map(s=>e.jsx("button",{className:`filter-pop__sort${s.key===u?" is-active":""}`,onClick:()=>{H(s.key),d(null)},children:s.label},s.key))}):null]})]})]}),L?e.jsx("p",{className:"error",children:L.message}):null,e.jsx("div",{className:"grid",children:c?e.jsx(F,{count:15}):e.jsxs(e.Fragment,{children:[P.map(s=>e.jsx(V,{item:s},s.id)),E?e.jsx(F,{count:6}):null]})}),e.jsx(ee,{hasNextPage:O,isFetching:E,onLoadMore:()=>T()}),!c&&P.length===0?e.jsx("p",{className:"muted",children:"No items match your filters."}):null]})}export{de as Assets};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as L,r as b,j as e,L as T}from"./react-E8ng6RF2.js";import{j as _,c as Q,e as K,k as W,l as $,C as d,t as v,m as q,h as A,n as M,o as H,q as V,r as I,s as P,v as D,w as J,x as O,f as X}from"./index-
|
|
1
|
+
import{b as L,r as b,j as e,L as T}from"./react-E8ng6RF2.js";import{j as _,c as Q,e as K,k as W,l as $,C as d,t as v,m as q,h as A,n as M,o as H,q as V,r as I,s as P,v as D,w as J,x as O,f as X}from"./index-BR0NknyD.js";import{f as F}from"./buy-CW3BEgsu.js";import{g as Z,b as ee,w as se,G as ae}from"./buy-gasless-BBQC6A0v.js";import"./ethers-DbXGgxrh.js";import"./index-CE5YSM6F.js";function te(a){const o=a,l=(o.message??"").toLowerCase();return o.code===4001||l.includes("reject")||l.includes("denied")||l.includes("cancel")?"You cancelled the request.":l.includes("insufficient")?`You don't have enough ${d.name} — get more first.`:l.includes("no active listing")?o.message:"Couldn't complete checkout — please try again."}function re(a){return O(a.received[0].amount)}function ue(){const a=_(s=>s.items),o=_(s=>s.remove),l=_(s=>s.clear),U=_(s=>s.add),{session:t}=Q(),{data:f}=K({queryKey:["upsell-listings"],queryFn:()=>X({first:40}),staleTime:6e4}),{data:n}=W(t),g=$(),Y=L(),[N,m]=b.useState(null),[C,y]=b.useState(null),[p,w]=b.useState(!1),u=a.reduce((s,h)=>s+h.priceCredits,0),z=new Set(a.map(s=>s.id)),k=((f==null?void 0:f.items)??[]).filter(s=>!z.has(s.id)).slice(0,6);async function G(){if(!t){y("Sign in to check out.");return}y(null),w(!0),v("Shop Started Checkout",{cart_size:a.length,cart_value_credits:u,cart_value_usd:q(u),has_sufficient_credits:((n==null?void 0:n.credits)??0)>=u});const s=a.slice(),h=[];let x="authorize",S=!1;try{m("Preparing your order…");const c=[];for(const r of a){const j=r.tradeId?await A(r.tradeId):await M(r.contractAddress,r.itemId??"");if(!j)throw new Error(`No active listing for ${r.name}.`);const R=re(j),{credit:E,maxCreditedValue:B}=await H(t.identity,R,r.tradeId);h.push(E.id),c.push({trade:j,credits:[E],maxCreditedValue:B})}m("Confirming your purchase…"),x="submit";let i=[];if(Z())try{i=await ee({purchases:c,buyer:t.address,signer:t.signer}),await Promise.all(i.map(r=>se(r))),S=!0}catch(r){if(!(r instanceof ae))throw r;i=await F({purchases:c,buyer:t.address,signer:t.signer})}else i=await F({purchases:c,buyer:t.address,signer:t.signer});l(),m("Purchased! 🎉"),v("Shop Completed Purchase",{...V(s),payment_type:"credits",no_crypto_step:S,transaction_hash:i[0]??null}),g.invalidateQueries({queryKey:["usd-balance"]}),Y("/success",{state:{items:s,txHash:i[0]}})}catch(c){if(I(c)||P(c,{flow:"cart_checkout",step:x,cart_size:a.length}),v(I(c)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:x,error_code:D(c),value_usd:q(u),cart_size:a.length}),h.length){try{await J(t.identity,h)}catch(i){P(i,{flow:"cart_checkout",step:"release"})}g.invalidateQueries({queryKey:["usd-balance"]})}y(te(c)),m(null)}finally{w(!1)}}return a.length===0?e.jsxs("div",{className:"cart cart--empty",children:[e.jsx("span",{className:"ico ico-cart cart-empty__ico","aria-hidden":!0}),e.jsx("p",{className:"cart-empty__title",children:"Your cart is empty"}),e.jsx("p",{className:"muted",children:"Find something you love and it’ll show up here."}),e.jsx(T,{className:"btn btn--purple",to:"/assets",children:"Browse the shop"})]}):e.jsxs("div",{className:"cart",children:[e.jsxs("h1",{children:["Cart (",a.length,")"]}),e.jsx("div",{className:"cart__list",children:a.map(s=>e.jsxs("div",{className:"cart__row",children:[e.jsx("div",{className:"cart__thumb",children:s.thumbnail?e.jsx("img",{src:s.thumbnail,alt:s.name}):null}),e.jsxs("div",{className:"cart__info",children:[e.jsx("div",{className:"cart__name",children:s.name}),e.jsx("div",{className:"muted",children:s.creator?`By ${s.creator}`:""})]}),e.jsxs("div",{className:"cart__price",children:[d.symbol," ",s.priceCredits]}),e.jsx("button",{className:"link",onClick:()=>o(s.id),disabled:p,children:"Remove"})]},s.id))}),e.jsxs("div",{className:"cart__foot",children:[e.jsxs("div",{className:"cart__total",children:[e.jsxs("div",{children:["Total ",e.jsxs("strong",{children:[d.symbol," ",u]})]}),t?e.jsxs("div",{className:"muted cart__balance",children:["Your balance: ",d.symbol," ",(n==null?void 0:n.credits)??0]}):null]}),e.jsxs("div",{className:"cart__actions",children:[e.jsxs(T,{className:"btn btn--ghost",to:"/credits",children:["Get ",d.name]}),null,e.jsx("button",{className:"btn btn--ghost",onClick:l,disabled:p,children:"Clear"}),e.jsx("button",{className:"btn btn--purple",onClick:G,disabled:p,children:"Checkout"})]})]}),N?e.jsx("p",{className:"muted",style:{marginTop:12},children:N}):null,C?e.jsx("p",{className:"error",style:{marginTop:12},children:C}):null,k.length>0?e.jsxs("div",{className:"cart-upsell",children:[e.jsx("h2",{className:"cart-upsell__title",children:"You might also like"}),e.jsx("div",{className:"cart-upsell__row",children:k.map(s=>e.jsxs("div",{className:"cart-upsell__card",children:[e.jsx("div",{className:"cart-upsell__thumb",children:s.thumbnail?e.jsx("img",{src:s.thumbnail,alt:s.name}):null}),e.jsx("div",{className:"cart-upsell__name",title:s.name,children:s.name}),e.jsxs("div",{className:"cart-upsell__price",children:[d.symbol," ",s.priceCredits]}),e.jsx("button",{className:"btn btn--sm cart-upsell__add",onClick:()=>U(s,"upsell"),disabled:p,children:"Add"})]},s.id))})]}):null]})}export{ue as Cart};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as N,a as U,u as w,_ as z,b as o,c as E,d as n,e as I,s as v,f as D,k as _}from"./generateUtilityClasses-
|
|
1
|
+
import{g as N,a as U,u as w,_ as z,b as o,c as E,d as n,e as I,s as v,f as D,k as _}from"./generateUtilityClasses-6siFo-o1.js";import{r as F,j as g}from"./react-E8ng6RF2.js";function K(r){return N("MuiCircularProgress",r)}U("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const W=["className","color","disableShrink","size","style","thickness","value","variant"];let l=r=>r,P,b,S,$;const t=44,B=_(P||(P=l`
|
|
2
2
|
0% {
|
|
3
3
|
transform: rotate(0deg);
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as g,b as h,j as e}from"./react-E8ng6RF2.js";import{a as x,A as j,b as _}from"./index-
|
|
1
|
+
import{a as g,b as h,j as e}from"./react-E8ng6RF2.js";import{a as x,A as j,b as _}from"./index-BR0NknyD.js";import{A as N}from"./collection-sAag9J33.js";import{S as m}from"./SkeletonCards-yV2mi4oc.js";import{L as f}from"./LoadMore-DB6TwvRe.js";import{u as b}from"./useInfiniteGrid-C5c2ausk.js";import"./ethers-DbXGgxrh.js";const C=48;function F(){var i;const{contractAddress:o}=g(),d=h(),{items:s,total:t,isLoading:a,error:c,hasNextPage:p,isFetchingNextPage:n,fetchNextPage:u}=b(["collection-page",o],l=>_(o,{first:C,skip:l}),{enabled:!!o}),r=(i=s[0])==null?void 0:i.creator;return e.jsxs("div",{className:"collection-page",children:[e.jsxs("nav",{className:"collection-page__crumbs","aria-label":"Breadcrumb",children:[e.jsx("button",{className:"collection-page__crumb-link",onClick:()=>d("/assets"),children:"Collectibles"}),e.jsx("span",{className:"collection-page__crumb-sep",children:"/"}),e.jsx("span",{className:"collection-page__crumb-current",children:"Collection"})]}),e.jsxs("header",{className:"collection-page__head",children:[e.jsx("h1",{className:"collection-page__title",children:"Collection"}),r?e.jsx(x,{address:r,className:"collection-page__creator"}):null,e.jsx("span",{className:"muted collection-page__count",children:a?"…":`${t.toLocaleString()} item${t===1?"":"s"}`})]}),!a&&s.length>0?e.jsx(N,{items:s,source:"collection"}):null,c?e.jsx("p",{className:"error",children:c.message}):null,e.jsx("div",{className:"grid",children:a?e.jsx(m,{count:12}):e.jsxs(e.Fragment,{children:[s.map(l=>e.jsx(j,{item:l},l.id)),n?e.jsx(m,{count:6}):null]})}),e.jsx(f,{hasNextPage:p,isFetching:n,onLoadMore:()=>u()}),!a&&!c&&s.length===0?e.jsx("p",{className:"muted",children:"This collection has no items to show."}):null]})}export{F as Collection,F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,a as g,b as p}from"./react-E8ng6RF2.js";import{D as i,a as h,A as x,E as j}from"./index-
|
|
1
|
+
import{j as e,a as g,b as p}from"./react-E8ng6RF2.js";import{D as i,a as h,A as x,E as j}from"./index-BR0NknyD.js";import{A as f}from"./collection-sAag9J33.js";import{S as m}from"./SkeletonCards-yV2mi4oc.js";import{L as b}from"./LoadMore-DB6TwvRe.js";import{u as N}from"./useInfiniteGrid-C5c2ausk.js";import"./ethers-DbXGgxrh.js";function _({address:s,className:r=""}){const o=i(t=>t.followed.includes(s.toLowerCase())),a=i(t=>t.toggle);return s?e.jsx("button",{type:"button",className:`btn btn--sm ${o?"btn--ghost":"btn--outline"} ${r}`.trim(),"aria-pressed":o,title:o?"Unfollow creator":"Follow creator",onClick:()=>a(s),children:o?"Following":"Follow"}):null}const C=48;function E(){const{address:s}=g(),r=p(),{items:o,total:a,isLoading:t,error:n,hasNextPage:u,isFetchingNextPage:c,fetchNextPage:d}=N(["creator-page",s],l=>j(s,{first:C,skip:l}),{enabled:!!s});return e.jsxs("div",{className:"collection-page",children:[e.jsxs("nav",{className:"collection-page__crumbs","aria-label":"Breadcrumb",children:[e.jsx("button",{className:"collection-page__crumb-link",onClick:()=>r("/assets"),children:"Collectibles"}),e.jsx("span",{className:"collection-page__crumb-sep",children:"/"}),e.jsx("span",{className:"collection-page__crumb-current",children:"Creator"})]}),e.jsxs("header",{className:"collection-page__head",children:[s?e.jsx(h,{address:s,className:"collection-page__title-creator"}):null,s?e.jsx(_,{address:s}):null,e.jsx("span",{className:"muted collection-page__count",children:t?"…":`${a.toLocaleString()} item${a===1?"":"s"}`})]}),!t&&o.length>0?e.jsx(f,{items:o,source:"creator"}):null,n?e.jsx("p",{className:"error",children:n.message}):null,e.jsx("div",{className:"grid",children:t?e.jsx(m,{count:12}):e.jsxs(e.Fragment,{children:[o.map(l=>e.jsx(x,{item:l},l.id)),c?e.jsx(m,{count:6}):null]})}),e.jsx(b,{hasNextPage:u,isFetching:c,onLoadMore:()=>d()}),!t&&!n&&o.length===0?e.jsx("p",{className:"muted",children:"This creator has no items to show yet."}):null]})}export{E as Creator,E as default};
|
|
@@ -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-Cnwg8r7Q.js";import{g as T,a as W,f as b,b as _,c as v}from"./index-1N6bmPhk.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,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RealCheckout-
|
|
2
|
-
import{N as E,i as y,O as U,c as O,l as F,t as _,s as w,v,C as u,F as V,H as P,_ as Y}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RealCheckout-ygODYosw.js","assets/react-E8ng6RF2.js","assets/index-BR0NknyD.js","assets/ethers-DbXGgxrh.js","assets/index-xq0r0dow.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{N as E,i as y,O as U,c as O,l as F,t as _,s as w,v,C as u,F as V,H as P,_ as Y}from"./index-BR0NknyD.js";import{b as z,r as l,j as e}from"./react-E8ng6RF2.js";import{C}from"./CircularProgress-BcYj3S3h.js";import"./ethers-DbXGgxrh.js";import"./generateUtilityClasses-6siFo-o1.js";function $(){return y.shopServerUrl||y.creditsServerUrl}async function K(s,t){const r=await E(`${$()}/credits/checkout`,{method:"POST",identity:t,metadata:{},headers:{"Content-Type":"application/json"},body:JSON.stringify({packId:s})});if(!r.ok)throw new Error(`checkout ${r.status}: ${await r.text()}`);const{orderId:a,clientSecret:n}=await r.json();return{orderId:a,clientSecret:n,mock:!1}}async function L(s,t,r={}){const{intervalMs:a=1500,timeoutMs:n=6e4,signal:i}=r,c=Date.now()+n;for(;;){if(i!=null&&i.aborted)throw new DOMException("Aborted","AbortError");const m=await q(s,t,i);if(m.status!=="processing")return m;if(Date.now()>c)return{status:"failed",error:"Timed out waiting for your credits."};await J(a,i)}}async function q(s,t,r){const a=await E(`${$()}/credits/orders/${s}`,{method:"GET",identity:t,metadata:{},signal:r});if(!a.ok)throw new Error(`order status ${a.status}`);return a.json()}function J(s,t){return new Promise((r,a)=>{const n=setTimeout(r,s);t==null||t.addEventListener("abort",()=>{clearTimeout(n),a(new DOMException("Aborted","AbortError"))})})}const Q=.1,R=[{id:"pack_5",usd:5,credits:f(5)},{id:"pack_10",usd:10,credits:f(10)},{id:"pack_25",usd:25,credits:f(25),bestValue:!0},{id:"pack_50",usd:50,credits:f(50)}];function f(s){return Math.round(s/Q)}function G(s){return R.find(t=>t.id===s)}const x="mock_cs_";function T(){return!y.stripePublishableKey||!y.shopServerUrl}async function W(s,t){const r=G(s);if(!r)throw new Error("Unknown pack");if(T())return X(r);if(!(t!=null&&t.identity))throw new Error("Sign in to get credits.");return K(s,t.identity)}async function H(s,t={}){const{intervalMs:r,timeoutMs:a,signal:n,identity:i}=t;if(s.startsWith(x)||T())return Z(s,t);if(!i)throw new Error("Sign in to get credits.");return L(s,i,{intervalMs:r,timeoutMs:a,signal:n})}function X(s){const t=`${x}${s.id}_${Date.now()}`;return M(400).then(()=>({orderId:t,clientSecret:`${x}${s.id}`,mock:!0}))}async function Z(s,t={}){await M(t.intervalMs??900);const r=s.replace(x,"").replace(/_\d+$/,""),a=G(r),n=(a==null?void 0:a.credits)??0;if(t.address&&a)try{const i=await U(t.address,Math.round(a.usd*100));return{status:"credited",creditsGranted:n,newBalance:i.credits}}catch(i){return{status:"failed",error:i.message}}return{status:"credited",creditsGranted:n,newBalance:n}}function M(s,t){return new Promise((r,a)=>{setTimeout(r,s)})}const b=y.shopServerUrl?"stripe":"mock",ee=l.lazy(()=>Y(()=>import("./RealCheckout-ygODYosw.js"),__vite__mapDeps([0,1,2,3,4])));function S(s){const t=s;if((t==null?void 0:t.name)==="AbortError")return"You cancelled the request.";const r=((t==null?void 0:t.message)??"").toLowerCase();return r.includes("sign in")?`Sign in to get ${u.name}.`:r.includes("timed out")?`This is taking longer than usual — your ${u.name} will appear shortly.`:"Couldn't complete your purchase — please try again."}function de(){const s=z(),{session:t,signIn:r}=O(),a=F(),[n,i]=l.useState("select"),[c,m]=l.useState(null),[p,N]=l.useState(null),[D,k]=l.useState(null),[I,h]=l.useState(null),j=l.useRef(null);l.useEffect(()=>()=>{var o;return(o=j.current)==null?void 0:o.abort()},[]);const A=l.useCallback(async o=>{if(!t){r();return}h(null),m(o),i("paying"),_("Shop Started Buy Credits",{pack_usd:o.usd,credits:o.credits,provider:b});try{const d=await W(o.id,{address:t.address,identity:t.identity});N(d)}catch(d){w(d,{flow:"get_credits",step:"checkout",provider:b}),_("Shop Buy Credits Failed",{step:"checkout",error_code:v(d),pack_usd:o.usd}),h(S(d)),i("error")}},[t,r]),B=l.useCallback(async()=>{if(!p)return;i("processing");const o=new AbortController;j.current=o;try{const d=await H(p.orderId,{signal:o.signal,address:t==null?void 0:t.address,identity:t==null?void 0:t.identity});d.status==="credited"?(k(d.creditsGranted??(c==null?void 0:c.credits)??0),i("success"),_("Shop Completed Buy Credits",{order_id:p.orderId,pack_usd:(c==null?void 0:c.usd)??null,credits:d.creditsGranted??(c==null?void 0:c.credits)??0,provider:b}),a.invalidateQueries({queryKey:["usd-balance"]})):(_("Shop Buy Credits Failed",{step:"grant",error_code:"grant_failed",pack_usd:(c==null?void 0:c.usd)??null}),h(d.error??`Couldn't add your ${u.name} — please try again.`),i("error"))}catch(d){w(d,{flow:"get_credits",step:"grant",order_id:p.orderId}),_("Shop Buy Credits Failed",{step:"grant",error_code:v(d),pack_usd:(c==null?void 0:c.usd)??null}),h(S(d)),i("error")}},[p,c,t,a]);function g(){var o;(o=j.current)==null||o.abort(),i("select"),m(null),N(null),k(null),h(null)}return e.jsxs("div",{className:"getcredits",children:[e.jsxs("header",{className:"getcredits__head",children:[e.jsxs("h1",{className:"getcredits__title",children:["Get ",u.name]}),e.jsxs("p",{className:"muted",children:["Add ",u.name," to your account to shop. Pay with any card."]})]}),n==="select"&&e.jsx(te,{onSelect:A}),n==="paying"&&c&&e.jsx(se,{pack:c,checkout:p,onPaid:B,onCancel:g}),n==="processing"&&e.jsxs("div",{className:"getcredits__status",role:"status","aria-live":"polite",children:[e.jsx(C,{size:40}),e.jsxs("p",{className:"getcredits__status-title",children:["Adding your ",u.name,"…"]}),e.jsx("p",{className:"muted",children:"Payment received. Just a moment while we top up your balance."})]}),n==="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.jsxs("p",{className:"muted",children:[e.jsxs("strong",{children:[u.symbol," ",D]})," ",u.name," added to your account."]}),e.jsxs("div",{className:"getcredits__status-actions",children:[e.jsx("button",{className:"btn",onClick:()=>s("/cart"),children:"Back to cart"}),e.jsxs("button",{className:"btn btn--ghost",onClick:g,children:["Get more ",u.name]})]})]}),n==="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:I}),e.jsx("div",{className:"getcredits__status-actions",children:e.jsx("button",{className:"btn",onClick:g,children:"Try again"})})]})]})}function te({onSelect:s}){return e.jsx("div",{className:"packs",children:R.map(t=>e.jsxs("button",{type:"button",className:`pack${t.bestValue?" pack--best":""}`,onClick:()=>s(t),"aria-label":`Get ${P(t.credits)} for $${t.usd}`,children:[t.bestValue&&e.jsx("span",{className:"pack__ribbon",children:"Best value"}),e.jsxs("span",{className:"pack__credits",children:[e.jsx(V,{className:"pack__credits-ico"}),t.credits]}),e.jsx("span",{className:"pack__label",children:u.name}),e.jsxs("span",{className:"pack__price",children:["$",t.usd]}),e.jsxs("span",{className:"pack__cta",children:["Get ",u.name]})]},t.id))})}function se({pack:s,checkout:t,onPaid:r,onCancel:a}){return e.jsxs("div",{className:"pay",children:[e.jsxs("div",{className:"pay__summary",children:[e.jsx("button",{className:"link",onClick:a,children:"← Choose a different pack"}),e.jsxs("div",{className:"pay__summary-row",children:[e.jsx("span",{children:"You’ll get"}),e.jsxs("strong",{children:[u.symbol," ",P(s.credits)]})]}),e.jsxs("div",{className:"pay__summary-row pay__summary-row--total",children:[e.jsx("span",{children:"You pay"}),e.jsxs("strong",{children:["$",s.usd]})]})]}),e.jsx("div",{className:"pay__form",children:t?t.mock?e.jsx(re,{onPaid:r,amountUsd:s.usd}):e.jsx(l.Suspense,{fallback:e.jsxs("div",{className:"getcredits__status",role:"status","aria-live":"polite",children:[e.jsx(C,{size:32}),e.jsx("p",{className:"muted",children:"Getting the payment form ready…"})]}),children:e.jsx(ee,{clientSecret:t.clientSecret,onComplete:r})}):e.jsxs("div",{className:"getcredits__status",role:"status","aria-live":"polite",children:[e.jsx(C,{size:32}),e.jsx("p",{className:"muted",children:"Getting the payment form ready…"})]})})]})}function re({onPaid:s,amountUsd:t}){const[r,a]=l.useState("4242 4242 4242 4242"),[n,i]=l.useState(!1);function c(){i(!0),setTimeout(()=>s(),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:r,onChange:m=>a(m.target.value),disabled:n,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:n})]}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:"CVC"}),e.jsx("input",{defaultValue:"123",disabled:n,inputMode:"numeric"})]})]}),e.jsx("button",{className:"btn btn--purple card-form__pay",onClick:c,disabled:n,children:n?"Processing…":`Pay $${t}`})]})}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-DsG7nujS.js";import{d as g,r as v}from"./index-1N6bmPhk.js";import{C as c}from"./ConstantsUtil-D9t4gp4-.js";import{R as $,O as u}from"./W3MFrameProviderSingleton-Cnwg8r7Q.js";import{au as y}from"./NetworkUtil-CSluj-ND.js";const b=g`
|
|
2
2
|
:host {
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as L,r as d,j as e,L as E}from"./react-E8ng6RF2.js";import{t as M,s as Q,C as m,c as A,l as K,e as F,G as P}from"./index-
|
|
1
|
+
import{b as L,r as d,j as e,L as E}from"./react-E8ng6RF2.js";import{t as M,s as Q,C as m,c as A,l as K,e as F,G as P}from"./index-BR0NknyD.js";import{i as R,f as Y}from"./import-DfSi3d1-.js";import{s as W}from"./wallet-kind-vw_oO-og.js";import"./ethers-DbXGgxrh.js";import"./buy-CW3BEgsu.js";import"./index-CE5YSM6F.js";import"./mana-rate-DWqsWqd4.js";function G({queue:n,session:k,onClose:N,onDone:_}){const f=L(),r=W(k.providerType),[c,y]=d.useState(()=>n.map(()=>"pending")),[b,C]=d.useState("running"),I=d.useRef(!1);d.useEffect(()=>{if(I.current)return;I.current=!0;let a=!1;return(async()=>{for(let i=0;i<n.length;i++){if(a)return;y(o=>o.map((h,u)=>u===i?"active":h));try{await R(n[i].item,n[i].priceCredits,k),M("Shop Migrated Listing",{item_id:n[i].item.itemId??n[i].item.oldTradeId??null,contract_address:n[i].item.contractAddress,new_price_credits:n[i].priceCredits,new_price_usd:n[i].priceCredits/10}),a||y(o=>o.map((h,u)=>u===i?"done":h))}catch(o){const h=o,u=h.code===4001||/reject|denied|cancel/i.test(h.message??"");u||Q(o,{flow:"import_listing",itemId:n[i].item.itemId??n[i].item.oldTradeId}),a||y(S=>S.map((w,t)=>t===i?u?"skipped":"failed":w))}}a||C("finished")})(),()=>{a=!0}},[]);const p=c.filter(a=>a==="done").length,x=c.findIndex(a=>a==="active"),g=Math.round(c.filter(a=>a!=="pending"&&a!=="active").length/n.length*100);function j(){_(),N()}if(b==="finished"){const a=c.filter(i=>i==="skipped"||i==="failed").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:p>0?"You're in the Shop! 🎉":"Nothing listed"}),e.jsxs("p",{className:"muted",style:{margin:0},children:[p>0?`${p} ${p===1?"item is":"items are"} now for sale with ${m.name}.`:"No items were listed.",a>0?` ${a} skipped — you can try those again anytime.`:""]}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:j,children:"Done"}),p>0?e.jsx("button",{className:"btn btn--purple",onClick:()=>{_(),N(),f("/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:[r?"Confirm each item to add it to the Shop.":"Adding your items to the Shop."," ",x>=0?`${x+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((a,i)=>e.jsxs("li",{className:`migrate__row migrate__row--${c[i]}`,children:[e.jsx("span",{className:"migrate__thumb",children:a.item.thumbnail?e.jsx("img",{src:a.item.thumbnail,alt:""}):null}),e.jsx("span",{className:"migrate__name",title:a.item.name,children:a.item.name||"Item"}),e.jsxs("span",{className:"migrate__price",children:[m.symbol," ",a.priceCredits.toLocaleString()]}),e.jsx("span",{className:"migrate__status",children:c[i]==="active"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"spinner migrate__spin","aria-hidden":!0})," ",r?"Confirm…":"Adding…"]}):c[i]==="done"?e.jsx("span",{className:"migrate__tick",children:"✓"}):c[i]==="skipped"?e.jsx("span",{className:"migrate__skip",children:"Skipped"}):c[i]==="failed"?e.jsx("span",{className:"migrate__skip",children:"Failed"}):e.jsx("span",{className:"migrate__wait",children:"Waiting"})})]},a.item.oldTradeId))}),e.jsx("p",{className:"muted small migrate__hint",children:r?"A quick confirmation pops up for each item. Keep this open.":"This only takes a moment — keep this open."})]})})}const O=[{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 Z(){const{session:n,signIn:k,restore:N}=A(),_=K(),f=n==null?void 0:n.address;d.useEffect(()=>{N()},[N]);const{data:r,isLoading:c}=F({queryKey:["importable",f],queryFn:()=>Y(f),enabled:!!f}),[y,b]=d.useState({}),[C,I]=d.useState(new Set),[p,x]=d.useState(null),g=d.useMemo(()=>[...(r==null?void 0:r.creations)??[],...(r==null?void 0:r.owned)??[]],[r]);d.useEffect(()=>{g.length&&b(t=>{const l={...t};for(const s of g)l[s.oldTradeId]==null&&(l[s.oldTradeId]=s.suggestedCredits);return l})},[g]);const j=t=>!C.has(t),a=t=>y[t.oldTradeId]??t.suggestedCredits,i=g.filter(t=>j(t.oldTradeId)),o=i.reduce((t,l)=>t+a(l),0);function h(t,l){const s=l.replace(/[^\d]/g,"");b(v=>({...v,[t]:s===""?0:parseInt(s,10)}))}function u(t){I(l=>{const s=new Set(l);return s.has(t)?s.delete(t):s.add(t),s})}function S(t){return t.map(l=>({item:l,priceCredits:Math.max(1,a(l))}))}function w(){_.invalidateQueries({queryKey:["importable"]}),_.invalidateQueries({queryKey:["listings"]}),_.invalidateQueries({queryKey:["my-assets"]}),_.invalidateQueries({queryKey:["collection-sale-state"]}),P.success("Your Shop is updated.")}return n?!c&&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(E,{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 ",m.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("span",{className:"imp__diamond",children:m.symbol})," 1 ",m.nameSingular," = $0.10 · prices rounded up"]}),c?e.jsx("div",{className:"imp__list",children:Array.from({length:4}).map((t,l)=>e.jsx("div",{className:"imp-row imp-row--skeleton"},l))}):O.map(t=>{const l=(r==null?void 0:r[t.key])??[];return l.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:l.map(s=>{const v=a(s),$=v!==s.suggestedCredits;return e.jsxs("article",{className:`imp-row${j(s.oldTradeId)?"":" is-off"}`,children:[e.jsx("input",{type:"checkbox",className:"imp-check",checked:j(s.oldTradeId),onChange:()=>u(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("span",{className:"imp-price__diamond","aria-hidden":!0,children:m.symbol}),e.jsx("input",{className:"imp-price__input",inputMode:"numeric",value:v.toLocaleString(),onChange:T=>h(s.oldTradeId,T.target.value),"aria-label":`Price in ${m.name} for ${s.name}`})]}),e.jsxs("div",{className:"imp-price__sub",children:[e.jsxs("span",{children:["$",(v*.1).toFixed(2)]}),$?e.jsxs("button",{className:"imp-price__reset",onClick:()=>b(T=>({...T,[s.oldTradeId]:s.suggestedCredits})),children:["Reset to ",m.symbol,s.suggestedCredits.toLocaleString()]}):null]})]}),e.jsx("div",{className:"imp-action",children:e.jsx("button",{className:"btn btn--sm imp-row__list",disabled:!j(s.oldTradeId),onClick:()=>x(S([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("span",{className:"imp__diamond",children:m.symbol})," ",o.toLocaleString()]}),e.jsxs("div",{className:"imp-dock__sub",children:[i.length," item",i.length===1?"":"s"," selected · $",(o*.1).toFixed(2)]})]}),e.jsx("span",{className:"imp-dock__spacer"}),e.jsxs("button",{className:"btn btn--purple imp-dock__cta",disabled:i.length===0,onClick:()=>x(S(i)),children:["List all (",i.length,")"]})]})}),p&&n?e.jsx(G,{queue:p,session:n,onClose:()=>x(null),onDone:w}):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:()=>k(),children:"Sign in"})]})}export{Z as ImportListings};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,r as o,a as ne,d as le,b as de}from"./react-E8ng6RF2.js";import{c as V,P as oe,W as ue,y as E,i as K,j as S,F as O,G as me,k as he,e as F,t as L,R as fe,S as _e,a as pe,C as Y,h as xe,x as ve,o as be,q as je,r as G,s as Ie,w as Ne,m as ye,v as ge,b as we,T as ke,n as Ce}from"./index-Ck7C_Qc5.js";import{h as U}from"./buy-5130Im35.js";import{g as Ae,a as Ee,w as Se,G as Te}from"./buy-gasless-CAFJBEcY.js";import"./ethers-DbXGgxrh.js";import"./index-D58Lm6fy.js";function Pe({item:i}){const c=V(b=>{var l;return(l=b.session)==null?void 0:l.address}),{data:r}=oe(c),m=c&&r?c:"default",f=i.category==="emote";return e.jsx(ue,{id:"shop-item-preview",contractAddress:i.contractAddress,tokenId:i.tokenId??void 0,itemId:i.tokenId?void 0:i.itemId??void 0,profile:m,type:f?void 0:E.PreviewType.AVATAR,emote:f?void 0:E.PreviewEmote.FASHION,disableBackground:!0,wheelZoom:f?1.5:void 0,wheelStart:f?100:void 0,dev:K.chainId===80002,disableFadeEffect:!0},i.id)}function Re(i){return i==="male"?"♂":i==="female"?"♀":i==="unisex"?"⚥":""}function $e({title:i,items:c,activeId:r,onSelect:m,onViewAll:f}){const b=o.useRef(null),l=S(a=>a.add),g=S(a=>a.items.map(u=>u.id));if(c.length===0)return null;function s(a){l(a,"carousel"),me.success(`“${a.name}” added to your cart.`)}function j(a){const u=b.current;u&&u.scrollBy({left:a*Math.round(u.clientWidth*.8),behavior:"smooth"})}return e.jsxs("section",{className:"collection-carousel",children:[e.jsxs("div",{className:"collection-carousel__head",children:[e.jsx("h2",{className:"collection-carousel__title",children:i}),e.jsxs("div",{className:"collection-carousel__head-right",children:[f?e.jsx("button",{className:"collection-carousel__viewall",onClick:f,children:"View all"}):null,e.jsxs("div",{className:"collection-carousel__arrows",children:[e.jsx("button",{className:"collection-carousel__arrow",onClick:()=>j(-1),"aria-label":"Scroll left",children:"‹"}),e.jsx("button",{className:"collection-carousel__arrow",onClick:()=>j(1),"aria-label":"Scroll right",children:"›"})]})]})]}),e.jsx("div",{className:"collection-carousel__track",ref:b,children:c.map(a=>{const u=Re(a.gender),w=a.id===r,I=a.priceCredits>0,p=g.includes(a.id);return e.jsxs("article",{className:`collection-carousel__card${w?" is-active":""}`,onClick:()=>m(a),role:"button",tabIndex:0,"aria-current":w||void 0,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),m(a))},children:[e.jsxs("div",{className:"collection-carousel__media",children:[a.thumbnail?e.jsx("img",{className:"collection-carousel__img",src:a.thumbnail,alt:a.name,loading:"lazy"}):null,I?e.jsx("button",{className:"collection-carousel__add",disabled:p,"aria-label":p?"In cart":`Add ${a.name} to cart`,title:p?"In cart":"Add to cart",onClick:h=>{h.stopPropagation(),p||s(a)},children:e.jsx("span",{className:`ico ${p?"ico-cart-solid":"ico-cart"}`,"aria-hidden":!0})}):null]}),e.jsxs("div",{className:"collection-carousel__body",children:[e.jsx("div",{className:"collection-carousel__name",title:a.name,children:a.name}),e.jsxs("div",{className:"collection-carousel__meta",children:[I?e.jsxs("span",{className:"collection-carousel__price",children:[e.jsx(O,{className:"collection-carousel__diamond"}),a.priceCredits]}):e.jsx("span",{className:"collection-carousel__price collection-carousel__na",children:"Not listed"}),e.jsxs("span",{className:"collection-carousel__chips",children:[e.jsx("span",{className:"chip chip--rarity",children:a.rarity}),u?e.jsx("span",{className:"chip chip--icon",children:u}):null]})]})]})]},a.id)})})]})}function Fe(i){return Object.values(E.Rarity).includes(i)}function Le(i){return i==="male"?"Male":i==="female"?"Female":i==="unisex"?"Unisex":null}function Be(i){const c=i,r=(c.message??"").toLowerCase();return c.code===4001||r.includes("reject")||r.includes("denied")||r.includes("cancel")?"You cancelled the request.":r.includes("insufficient")?`You don't have enough ${Y.name} — get more first.`:r.includes("no active listing")||r.includes("not for sale")?"This item is not for sale right now.":"Couldn't complete checkout — please try again."}function Ke(){const{contractAddress:i,tokenId:c}=ne(),{state:r}=le(),m=de(),f=S(t=>t.add),b=S(t=>t.items),{session:l}=V(),{data:g}=he(l),[s,j]=o.useState(()=>r!=null&&r.item?{...r.item,tradeId:r.tradeId??r.item.tradeId}:{id:`${i}-${c}`,name:"",creator:"",contractAddress:i??"",itemId:null,category:"wearable",rarity:"common",network:"MATIC",chainId:K.chainId,thumbnail:"",priceCredits:0,gender:null,tokenId:c??void 0,tradeId:r==null?void 0:r.tradeId}),[a,u]=o.useState(!1),[w,I]=o.useState(null),[p,h]=o.useState(null),{data:N=[],isFetched:z}=F({queryKey:["collection-items",s.contractAddress],enabled:!!s.contractAddress,queryFn:()=>we(s.contractAddress,{first:20}).then(t=>t.items)}),{data:T,isLoading:D}=F({queryKey:["shop-item",s.contractAddress,c],enabled:!(r!=null&&r.item)&&!!s.contractAddress&&!!c,queryFn:()=>ke(s.contractAddress,c)});o.useEffect(()=>{T&&j(t=>t.tradeId?t:{...T})},[T]),o.useEffect(()=>{if(s.name||N.length===0)return;const t=c&&N.find(n=>n.tokenId===c||n.itemId===c)||N.find(n=>n.contractAddress===s.contractAddress);t&&j(n=>({...t,tradeId:n.tradeId??t.tradeId}))},[N]);const H=o.useMemo(()=>{const t=new Set,n=[];for(const d of N){if(d.id===s.id||s.itemId&&d.itemId===s.itemId||s.tokenId&&d.tokenId===s.tokenId)continue;const A=`${d.contractAddress}-${d.itemId??d.tokenId??d.id}`;t.has(A)||(t.add(A),n.push(d))}return n},[N,s.id,s.itemId,s.tokenId]),{data:Q,isLoading:k}=F({queryKey:["detail-trade",s.id,s.tradeId,s.contractAddress,s.itemId],enabled:!!s.contractAddress,queryFn:async()=>{if(s.tradeId)return s.tradeId;if(s.itemId){const t=await Ce(s.contractAddress,s.itemId);return(t==null?void 0:t.id)??null}return null}}),v=s.tradeId??Q??void 0,x=!!v,C=o.useMemo(()=>({...s,tradeId:v,id:v??s.id}),[s,v]),P=b.some(t=>t.id===C.id);o.useEffect(()=>{I(null),h(null)},[s.id]);const B=o.useRef(null);o.useEffect(()=>{!s.name||k||B.current===s.id||(B.current=s.id,L("Shop Viewed Item",{...fe(s),for_sale:x}),_e(s))},[s.id,s.name,k,x]);function Z(t){j(t);const n=t.tokenId??t.itemId;t.contractAddress&&n&&m(`/item/${t.contractAddress}/${n}`,{replace:!0,state:{item:t}}),typeof window<"u"&&window.scrollTo({top:0,behavior:"smooth"})}function J(){!x||P||f(C,"item_detail")}async function X(){var A;if(!x||!v)return;if(!l){h("Log in to check out.");return}h(null),u(!0);let t,n="authorize",d=!1;try{I(`Buying ${s.name||"item"}…`);const _=await xe(v);if(!_)throw new Error("not for sale");const R=(A=_.received)==null?void 0:A[0],re=ve(R==null?void 0:R.amount),{credit:M,maxCreditedValue:ce}=await be(l.identity,re,v);t=M.id,n="submit";const $={trade:_,buyer:l.address,signer:l.signer,credits:[M],maxCreditedValue:ce};let y;if(Ae())try{y=await Ee($),await Se(y),d=!0}catch(W){if(!(W instanceof Te))throw W;y=await U($)}else y=await U($);t=void 0,L("Shop Completed Purchase",{...je([C]),payment_type:"credits",no_crypto_step:d,transaction_hash:y??null}),m("/success",{state:{items:[C],txHash:y}})}catch(_){G(_)||Ie(_,{flow:"buy",step:n,gasless:d}),t&&Ne(l.identity,[t]).catch(()=>{}),L(G(_)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:n,error_code:ge(_),value_usd:ye(C.priceCredits)}),h(Be(_)),I(null)}finally{u(!1)}}const ee=Fe(s.rarity)?s.rarity:E.Rarity.COMMON,[se]=E.Rarity.getGradient(ee),q=Le(s.gender),te="More from this collection",ae=x?P?"In cart":k?"Checking…":"Add to cart":"Not for sale",ie=D||!!s.contractAddress&&!z;return!s.name&&!ie?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 the shop for something else."}),e.jsx("button",{className:"btn btn--purple",onClick:()=>m("/assets"),children:"Browse the shop"})]}):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:()=>m("/assets"),children:"Collectibles"}),e.jsx("span",{className:"item-detail__crumb-sep",children:"/"}),e.jsx("span",{className:"item-detail__crumb-current",children:s.name||"Item"})]}),e.jsxs("div",{className:"item-detail__main",children:[e.jsx("div",{className:"item-detail__preview",style:{background:`radial-gradient(circle at 50% 38%, ${se}33 0%, var(--media) 68%)`},children:e.jsx(Pe,{item:s})}),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:s.name||"Loading…"}),e.jsx("button",{className:"item-detail__fav","aria-label":"Add to favorites",children:e.jsx("span",{className:"ico ico-heart","aria-hidden":!0})})]}),s.creator?e.jsx(pe,{address:s.creator,className:"item-detail__creator",linkToProfile:!0}):null,e.jsxs("div",{className:"item-detail__chips",children:[e.jsx("span",{className:"chip chip--rarity",children:s.rarity}),e.jsx("span",{className:"chip",children:s.category==="emote"?"Emote":"Wearable"}),q?e.jsx("span",{className:"chip",children:q}):null]}),e.jsxs("div",{className:"item-detail__card",children:[e.jsxs("div",{className:"item-detail__price-block",children:[e.jsx("div",{className:"item-detail__price-label",children:"Price"}),x?e.jsxs("div",{className:"item-detail__price",children:[e.jsx(O,{className:"item-detail__diamond"}),e.jsx("span",{className:"item-detail__price-value",children:s.priceCredits})]}):e.jsx("div",{className:"item-detail__price item-detail__price--none",children:"Not for sale"}),l?e.jsxs("div",{className:"item-detail__balance muted",children:["Your balance: ",Y.symbol," ",(g==null?void 0:g.credits)??0]}):null]}),e.jsxs("div",{className:"item-detail__ctas",children:[x?e.jsx("button",{className:"btn btn--purple item-detail__cta",onClick:X,disabled:a||k,children:a?"Working…":"Buy now"}):null,e.jsxs("button",{className:"item-detail__addcart",onClick:J,disabled:!x||P||k||a,children:[e.jsx("span",{className:"ico ico-cart-solid item-detail__addcart-ico","aria-hidden":!0}),ae]})]}),w?e.jsx("p",{className:"muted item-detail__status",children:w}):null,p?e.jsx("p",{className:"error item-detail__status",children:p}):null]})]})]}),e.jsx($e,{title:te,items:H,activeId:s.id,onSelect:Z,onViewAll:s.contractAddress?()=>m(`/collection/${s.contractAddress}`):void 0})]})}export{Ke as ItemDetail,Ke as default};
|
|
1
|
+
import{j as e,r as o,a as ne,d as le,b as de}from"./react-E8ng6RF2.js";import{c as V,P as oe,W as ue,y as E,i as K,j as S,F as O,G as me,k as he,e as F,t as L,R as fe,S as _e,a as pe,C as Y,h as xe,x as ve,o as be,q as je,r as G,s as Ie,w as Ne,m as ye,v as ge,b as we,T as ke,n as Ce}from"./index-BR0NknyD.js";import{h as U}from"./buy-CW3BEgsu.js";import{g as Ae,a as Ee,w as Se,G as Te}from"./buy-gasless-BBQC6A0v.js";import"./ethers-DbXGgxrh.js";import"./index-CE5YSM6F.js";function Pe({item:i}){const c=V(b=>{var l;return(l=b.session)==null?void 0:l.address}),{data:r}=oe(c),m=c&&r?c:"default",f=i.category==="emote";return e.jsx(ue,{id:"shop-item-preview",contractAddress:i.contractAddress,tokenId:i.tokenId??void 0,itemId:i.tokenId?void 0:i.itemId??void 0,profile:m,type:f?void 0:E.PreviewType.AVATAR,emote:f?void 0:E.PreviewEmote.FASHION,disableBackground:!0,wheelZoom:f?1.5:void 0,wheelStart:f?100:void 0,dev:K.chainId===80002,disableFadeEffect:!0},i.id)}function Re(i){return i==="male"?"♂":i==="female"?"♀":i==="unisex"?"⚥":""}function $e({title:i,items:c,activeId:r,onSelect:m,onViewAll:f}){const b=o.useRef(null),l=S(a=>a.add),g=S(a=>a.items.map(u=>u.id));if(c.length===0)return null;function s(a){l(a,"carousel"),me.success(`“${a.name}” added to your cart.`)}function j(a){const u=b.current;u&&u.scrollBy({left:a*Math.round(u.clientWidth*.8),behavior:"smooth"})}return e.jsxs("section",{className:"collection-carousel",children:[e.jsxs("div",{className:"collection-carousel__head",children:[e.jsx("h2",{className:"collection-carousel__title",children:i}),e.jsxs("div",{className:"collection-carousel__head-right",children:[f?e.jsx("button",{className:"collection-carousel__viewall",onClick:f,children:"View all"}):null,e.jsxs("div",{className:"collection-carousel__arrows",children:[e.jsx("button",{className:"collection-carousel__arrow",onClick:()=>j(-1),"aria-label":"Scroll left",children:"‹"}),e.jsx("button",{className:"collection-carousel__arrow",onClick:()=>j(1),"aria-label":"Scroll right",children:"›"})]})]})]}),e.jsx("div",{className:"collection-carousel__track",ref:b,children:c.map(a=>{const u=Re(a.gender),w=a.id===r,I=a.priceCredits>0,p=g.includes(a.id);return e.jsxs("article",{className:`collection-carousel__card${w?" is-active":""}`,onClick:()=>m(a),role:"button",tabIndex:0,"aria-current":w||void 0,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),m(a))},children:[e.jsxs("div",{className:"collection-carousel__media",children:[a.thumbnail?e.jsx("img",{className:"collection-carousel__img",src:a.thumbnail,alt:a.name,loading:"lazy"}):null,I?e.jsx("button",{className:"collection-carousel__add",disabled:p,"aria-label":p?"In cart":`Add ${a.name} to cart`,title:p?"In cart":"Add to cart",onClick:h=>{h.stopPropagation(),p||s(a)},children:e.jsx("span",{className:`ico ${p?"ico-cart-solid":"ico-cart"}`,"aria-hidden":!0})}):null]}),e.jsxs("div",{className:"collection-carousel__body",children:[e.jsx("div",{className:"collection-carousel__name",title:a.name,children:a.name}),e.jsxs("div",{className:"collection-carousel__meta",children:[I?e.jsxs("span",{className:"collection-carousel__price",children:[e.jsx(O,{className:"collection-carousel__diamond"}),a.priceCredits]}):e.jsx("span",{className:"collection-carousel__price collection-carousel__na",children:"Not listed"}),e.jsxs("span",{className:"collection-carousel__chips",children:[e.jsx("span",{className:"chip chip--rarity",children:a.rarity}),u?e.jsx("span",{className:"chip chip--icon",children:u}):null]})]})]})]},a.id)})})]})}function Fe(i){return Object.values(E.Rarity).includes(i)}function Le(i){return i==="male"?"Male":i==="female"?"Female":i==="unisex"?"Unisex":null}function Be(i){const c=i,r=(c.message??"").toLowerCase();return c.code===4001||r.includes("reject")||r.includes("denied")||r.includes("cancel")?"You cancelled the request.":r.includes("insufficient")?`You don't have enough ${Y.name} — get more first.`:r.includes("no active listing")||r.includes("not for sale")?"This item is not for sale right now.":"Couldn't complete checkout — please try again."}function Ke(){const{contractAddress:i,tokenId:c}=ne(),{state:r}=le(),m=de(),f=S(t=>t.add),b=S(t=>t.items),{session:l}=V(),{data:g}=he(l),[s,j]=o.useState(()=>r!=null&&r.item?{...r.item,tradeId:r.tradeId??r.item.tradeId}:{id:`${i}-${c}`,name:"",creator:"",contractAddress:i??"",itemId:null,category:"wearable",rarity:"common",network:"MATIC",chainId:K.chainId,thumbnail:"",priceCredits:0,gender:null,tokenId:c??void 0,tradeId:r==null?void 0:r.tradeId}),[a,u]=o.useState(!1),[w,I]=o.useState(null),[p,h]=o.useState(null),{data:N=[],isFetched:z}=F({queryKey:["collection-items",s.contractAddress],enabled:!!s.contractAddress,queryFn:()=>we(s.contractAddress,{first:20}).then(t=>t.items)}),{data:T,isLoading:D}=F({queryKey:["shop-item",s.contractAddress,c],enabled:!(r!=null&&r.item)&&!!s.contractAddress&&!!c,queryFn:()=>ke(s.contractAddress,c)});o.useEffect(()=>{T&&j(t=>t.tradeId?t:{...T})},[T]),o.useEffect(()=>{if(s.name||N.length===0)return;const t=c&&N.find(n=>n.tokenId===c||n.itemId===c)||N.find(n=>n.contractAddress===s.contractAddress);t&&j(n=>({...t,tradeId:n.tradeId??t.tradeId}))},[N]);const H=o.useMemo(()=>{const t=new Set,n=[];for(const d of N){if(d.id===s.id||s.itemId&&d.itemId===s.itemId||s.tokenId&&d.tokenId===s.tokenId)continue;const A=`${d.contractAddress}-${d.itemId??d.tokenId??d.id}`;t.has(A)||(t.add(A),n.push(d))}return n},[N,s.id,s.itemId,s.tokenId]),{data:Q,isLoading:k}=F({queryKey:["detail-trade",s.id,s.tradeId,s.contractAddress,s.itemId],enabled:!!s.contractAddress,queryFn:async()=>{if(s.tradeId)return s.tradeId;if(s.itemId){const t=await Ce(s.contractAddress,s.itemId);return(t==null?void 0:t.id)??null}return null}}),v=s.tradeId??Q??void 0,x=!!v,C=o.useMemo(()=>({...s,tradeId:v,id:v??s.id}),[s,v]),P=b.some(t=>t.id===C.id);o.useEffect(()=>{I(null),h(null)},[s.id]);const B=o.useRef(null);o.useEffect(()=>{!s.name||k||B.current===s.id||(B.current=s.id,L("Shop Viewed Item",{...fe(s),for_sale:x}),_e(s))},[s.id,s.name,k,x]);function Z(t){j(t);const n=t.tokenId??t.itemId;t.contractAddress&&n&&m(`/item/${t.contractAddress}/${n}`,{replace:!0,state:{item:t}}),typeof window<"u"&&window.scrollTo({top:0,behavior:"smooth"})}function J(){!x||P||f(C,"item_detail")}async function X(){var A;if(!x||!v)return;if(!l){h("Log in to check out.");return}h(null),u(!0);let t,n="authorize",d=!1;try{I(`Buying ${s.name||"item"}…`);const _=await xe(v);if(!_)throw new Error("not for sale");const R=(A=_.received)==null?void 0:A[0],re=ve(R==null?void 0:R.amount),{credit:M,maxCreditedValue:ce}=await be(l.identity,re,v);t=M.id,n="submit";const $={trade:_,buyer:l.address,signer:l.signer,credits:[M],maxCreditedValue:ce};let y;if(Ae())try{y=await Ee($),await Se(y),d=!0}catch(W){if(!(W instanceof Te))throw W;y=await U($)}else y=await U($);t=void 0,L("Shop Completed Purchase",{...je([C]),payment_type:"credits",no_crypto_step:d,transaction_hash:y??null}),m("/success",{state:{items:[C],txHash:y}})}catch(_){G(_)||Ie(_,{flow:"buy",step:n,gasless:d}),t&&Ne(l.identity,[t]).catch(()=>{}),L(G(_)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:n,error_code:ge(_),value_usd:ye(C.priceCredits)}),h(Be(_)),I(null)}finally{u(!1)}}const ee=Fe(s.rarity)?s.rarity:E.Rarity.COMMON,[se]=E.Rarity.getGradient(ee),q=Le(s.gender),te="More from this collection",ae=x?P?"In cart":k?"Checking…":"Add to cart":"Not for sale",ie=D||!!s.contractAddress&&!z;return!s.name&&!ie?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 the shop for something else."}),e.jsx("button",{className:"btn btn--purple",onClick:()=>m("/assets"),children:"Browse the shop"})]}):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:()=>m("/assets"),children:"Collectibles"}),e.jsx("span",{className:"item-detail__crumb-sep",children:"/"}),e.jsx("span",{className:"item-detail__crumb-current",children:s.name||"Item"})]}),e.jsxs("div",{className:"item-detail__main",children:[e.jsx("div",{className:"item-detail__preview",style:{background:`radial-gradient(circle at 50% 38%, ${se}33 0%, var(--media) 68%)`},children:e.jsx(Pe,{item:s})}),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:s.name||"Loading…"}),e.jsx("button",{className:"item-detail__fav","aria-label":"Add to favorites",children:e.jsx("span",{className:"ico ico-heart","aria-hidden":!0})})]}),s.creator?e.jsx(pe,{address:s.creator,className:"item-detail__creator",linkToProfile:!0}):null,e.jsxs("div",{className:"item-detail__chips",children:[e.jsx("span",{className:"chip chip--rarity",children:s.rarity}),e.jsx("span",{className:"chip",children:s.category==="emote"?"Emote":"Wearable"}),q?e.jsx("span",{className:"chip",children:q}):null]}),e.jsxs("div",{className:"item-detail__card",children:[e.jsxs("div",{className:"item-detail__price-block",children:[e.jsx("div",{className:"item-detail__price-label",children:"Price"}),x?e.jsxs("div",{className:"item-detail__price",children:[e.jsx(O,{className:"item-detail__diamond"}),e.jsx("span",{className:"item-detail__price-value",children:s.priceCredits})]}):e.jsx("div",{className:"item-detail__price item-detail__price--none",children:"Not for sale"}),l?e.jsxs("div",{className:"item-detail__balance muted",children:["Your balance: ",Y.symbol," ",(g==null?void 0:g.credits)??0]}):null]}),e.jsxs("div",{className:"item-detail__ctas",children:[x?e.jsx("button",{className:"btn btn--purple item-detail__cta",onClick:X,disabled:a||k,children:a?"Working…":"Buy now"}):null,e.jsxs("button",{className:"item-detail__addcart",onClick:J,disabled:!x||P||k||a,children:[e.jsx("span",{className:"ico ico-cart-solid item-detail__addcart-ico","aria-hidden":!0}),ae]})]}),w?e.jsx("p",{className:"muted item-detail__status",children:w}):null,p?e.jsx("p",{className:"error item-detail__status",children:p}):null]})]})]}),e.jsx($e,{title:te,items:H,activeId:s.id,onSelect:Z,onViewAll:s.contractAddress?()=>m(`/collection/${s.contractAddress}`):void 0})]})}export{Ke as ItemDetail,Ke as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as te,r as c,j as e,u as ie}from"./react-E8ng6RF2.js";import{e as ne,i as B,c as le,k as ce,l as V,h as oe,o as de,w as S,t as T,v as G,r as H,F as Q,H as K,C as $,A as ue,I as me}from"./index-Ck7C_Qc5.js";import{r as he,a as U,m as pe}from"./mana-rate-Cj4WJyFX.js";import{S as O}from"./SkeletonCards-yV2mi4oc.js";import{L as fe}from"./LoadMore-DB6TwvRe.js";import{h as Y}from"./buy-5130Im35.js";import{g as _e,a as ye,w as be,G as ke}from"./buy-gasless-CAFJBEcY.js";import{u as xe}from"./useInfiniteGrid-DWCJkphW.js";import"./ethers-DbXGgxrh.js";import"./index-D58Lm6fy.js";function ve(){return ne({queryKey:["mana-rate",B.chainId],queryFn:()=>he(B.chainId),staleTime:6e4,refetchInterval:6e4,retry:1})}function z(r){const u=r,o=(u.message??"").toLowerCase();return u.code===4001||o.includes("reject")||o.includes("denied")||o.includes("cancel")?"You cancelled the request.":o.includes("insufficient")?`Not enough ${$.name} — get more first.`:o.includes("not found")||o.includes("no active listing")||o.includes("404")?"This item was just sold or removed. Refreshing the market…":"Couldn't complete checkout — please try again."}function ge(r){return{id:r.tradeId,tradeId:r.tradeId,name:r.name,creator:r.creator,contractAddress:r.contractAddress,itemId:r.itemId,category:r.category,wearableCategory:r.wearableCategory??void 0,rarity:r.rarity,network:r.network,chainId:r.chainId,thumbnail:r.thumbnail,priceCredits:0,gender:null}}function je({listing:r,rate:u,onClose:o,onSold:k}){const{session:i}=le(),{data:n}=ce(i),x=V(),m=te(),[N,y]=c.useState("confirm"),[w,h]=c.useState("Locking today’s price…"),[_,v]=c.useState(null),[s,R]=c.useState(null),p=c.useRef(null),E=Math.ceil(U(r.manaWei,u)/10);c.useEffect(()=>{let b=!1;if(!i){y("error"),v("Log in to check out.");return}return(async()=>{try{const t=await oe(r.tradeId);if(!t)throw new Error("not found");const l=U(r.manaWei,u);if(!Number.isFinite(l)||l<=0)throw new Error("price unavailable");const{credit:d,maxCreditedValue:F,usdCents:P}=await de(i.identity,l,r.tradeId);if(b){S(i.identity,[d.id]).catch(()=>{});return}p.current=d.id,R({trade:t,credit:d,maxCreditedValue:F,usdCents:P,credits:Math.ceil(P/10)}),h("")}catch(t){if(b)return;console.error("[market] authorize failed",t),T(H(t)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:G(t),value_usd:Math.round(U(r.manaWei,u))/100}),y("error"),v(z(t))}})(),()=>{b=!0,p.current&&i&&(S(i.identity,[p.current]).catch(()=>{}),p.current=null)}},[]);const g=!!s&&((n==null?void 0:n.credits)??0)<s.credits;async function L(){if(!i||!s)return;if(g){S(i.identity,[s.credit.id]).catch(()=>{}),p.current=null,m("/credits");return}y("working"),v(null);let b=!1;try{h("Confirming your purchase…");const t={trade:s.trade,buyer:i.address,signer:i.signer,credits:[s.credit],maxCreditedValue:s.maxCreditedValue};let l;if(_e())try{l=await ye(t),await be(l),b=!0}catch(d){if(!(d instanceof ke))throw d;l=await Y(t)}else l=await Y(t);p.current=null,T("Shop Completed Purchase",{items:[{item_id:r.itemId??null,contract_address:r.contractAddress,token_id:null,price_usd:s.usdCents/100}],value_credits:s.credits,value_usd:s.usdCents/100,purchase_type:"item",is_primary:!0,payment_type:"credits",no_crypto_step:b,transaction_hash:l??null}),x.invalidateQueries({queryKey:["usd-balance"]}),m("/success",{state:{items:[ge(r)],txHash:l}})}catch(t){console.error("[market] buy now failed",t),S(i.identity,[s.credit.id]).catch(()=>{}),p.current=null,T(H(t)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:G(t),value_usd:s.usdCents/100}),x.invalidateQueries({queryKey:["usd-balance"]});const l=z(t);v(l),y("error"),/sold or removed/i.test(l)&&k()}}function C(){i&&s&&S(i.identity,[s.credit.id]).catch(()=>{}),p.current=null,o()}const j=N==="working";return e.jsxs("div",{className:"mkt-modal",role:"dialog","aria-modal":"true","aria-label":`Buy ${r.name}`,children:[e.jsx("div",{className:"mkt-modal__scrim",onClick:j?void 0:C,"aria-hidden":!0}),e.jsxs("div",{className:"mkt-modal__card",children:[e.jsxs("div",{className:"mkt-modal__head",children:[e.jsx("div",{className:"mkt-modal__thumb",children:r.thumbnail?e.jsx("img",{src:r.thumbnail,alt:""}):null}),e.jsxs("div",{children:[e.jsx("div",{className:"mkt-modal__name",title:r.name,children:r.name||"Item"}),e.jsx("span",{className:"chip chip--rarity",children:r.rarity})]})]}),e.jsx("div",{className:"mkt-modal__price",children:s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mkt-modal__price-label",children:"Final price"}),e.jsxs("div",{className:"mkt-modal__price-value",children:[e.jsx(Q,{className:"mkt-modal__diamond"}),K(s.credits)]}),e.jsxs("div",{className:"mkt-modal__price-sub muted",children:["Locked for this purchase · $",(s.usdCents/100).toFixed(2)]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mkt-modal__price-label",children:"Today’s price"}),e.jsxs("div",{className:"mkt-modal__price-value mkt-modal__price-value--approx",children:[e.jsx("span",{className:"mkt-modal__approx","aria-hidden":!0,children:"≈"}),e.jsx(Q,{className:"mkt-modal__diamond"}),K(E)]}),e.jsx("div",{className:"mkt-modal__price-sub muted",children:w||"Locking today’s price…"})]})}),i?e.jsxs("div",{className:"mkt-modal__balance muted",children:["Your balance: ",$.symbol," ",(n==null?void 0:n.credits)??0]}):null,g?e.jsxs("p",{className:"muted mkt-modal__note",children:["You’ll need a few more ",$.name," to buy this."]}):null,w&&N==="working"?e.jsx("p",{className:"muted mkt-modal__note",children:w}):null,_?e.jsx("p",{className:"error mkt-modal__note",children:_}):null,e.jsxs("div",{className:"mkt-modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:C,disabled:j,children:"Cancel"}),e.jsx("button",{className:"btn btn--purple",onClick:L,disabled:j||!s,children:j?"Working…":g?`Get ${$.name}`:"Confirm purchase"})]})]})]})}const Ce=48,W=[{key:"wearable",label:"Wearables",sub:["Head","Upper Body","Handwear","Lower Body","Feet","Accessories","Skins"]},{key:"emote",label:"Emotes",sub:[]}],Ne={Head:["head","hat","hair","facial_hair","eyes","eyebrows","mouth","mask","helmet","tiara","top_head"],"Upper Body":["upper_body"],Handwear:["hands_wear"],"Lower Body":["lower_body"],Feet:["feet"],Accessories:["earring","eyewear"],Skins:["skin"]},we=["common","uncommon","rare","epic","legendary","mythic","unique","exotic"],A=[{key:"newest",label:"Newest",server:"newest"},{key:"price-asc",label:"Price: Low to High",server:"cheapest"},{key:"price-desc",label:"Price: High to Low",server:"most_expensive"},{key:"name",label:"Name (A–Z)",server:"name"}];function Ie(r){return{id:r.tradeId,tradeId:r.tradeId,name:r.name,creator:r.creator,contractAddress:r.contractAddress,itemId:r.itemId,category:r.category,wearableCategory:r.wearableCategory??void 0,rarity:r.rarity,network:r.network,chainId:r.chainId,thumbnail:r.thumbnail,priceCredits:0,gender:null}}function Te(){const[r]=ie(),u=(r.get("q")??"").trim().toLowerCase(),o=V(),[k,i]=c.useState("wearable"),[n,x]=c.useState(null),[m,N]=c.useState([]),[y,w]=c.useState("newest"),[h,_]=c.useState(null),[v,s]=c.useState(null),R=n?Ne[n]:void 0,p=(A.find(a=>a.key===y)??A[0]).server,E={category:k,rarities:m.length?m:void 0,wearableCategories:R,search:u||void 0,sortBy:p},{items:g,total:L,isLoading:C,error:j,hasNextPage:b,isFetchingNextPage:t,fetchNextPage:l}=xe(["legacy-listings",E],a=>me({...E,first:Ce,skip:a})),{data:d,isError:F}=ve(),P=a=>d?pe(a.manaWei,d):null;function Z(a){i(a),x(null)}function D(a){N(f=>f.includes(a)?f.filter(q=>q!==a):[...f,a])}function J(){i("wearable"),x(null),N([]),_(null)}function M(a){_(f=>f===a?null:a)}function X(a){const f=g.find(q=>q.tradeId===a.tradeId);f&&s(f)}function ee(){o.invalidateQueries({queryKey:["legacy-listings"]})}const ae=A.find(a=>a.key===y)??A[0],I=W.find(a=>a.key===k)??W[0],re=n?`${I.label} · ${n}`:I.label,se=k!=="wearable"||!!n||m.length>0;return e.jsxs("div",{className:"browse",children:[e.jsxs("div",{className:"market-banner",children:[e.jsx("span",{className:"market-banner__ico","aria-hidden":!0,children:"✨"}),e.jsx("span",{children:"Prices here follow the live market and may shift slightly at checkout."})]}),F?e.jsx("p",{className:"market-banner market-banner--warn",children:"The market price is temporarily unavailable — buying is paused for a moment. Please try again shortly."}):null,h?e.jsx("div",{className:"filterbar__scrim",onClick:()=>_(null),"aria-hidden":!0}):null,e.jsxs("div",{className:"filterbar",children:[e.jsxs("div",{className:"filterbar__filters",children:[e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${h==="section"?" is-open":""}${n||k!=="wearable"?" is-active":""}`,onClick:()=>M("section"),children:[re," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),h==="section"?e.jsxs("div",{className:"filter-pop filter-pop--section",children:[e.jsx("ul",{className:"filter-pop__cats",children:W.map(a=>e.jsx("li",{children:e.jsx("button",{className:`filter-pop__cat${k===a.key?" is-active":""}`,onClick:()=>Z(a.key),children:a.label})},a.key))}),I.sub.length?e.jsxs("ul",{className:"filter-pop__subs",children:[e.jsx("li",{children:e.jsxs("button",{className:`filter-pop__sub${n?"":" is-active"}`,onClick:()=>{x(null),_(null)},children:["All ",I.label]})}),I.sub.map(a=>e.jsx("li",{children:e.jsx("button",{className:`filter-pop__sub${n===a?" is-active":""}`,onClick:()=>{x(f=>f===a?null:a),_(null)},children:a})},a))]}):null]}):null]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${h==="rarity"?" is-open":""}${m.length?" is-active":""}`,onClick:()=>M("rarity"),children:["Rarity ",m.length?e.jsx("span",{className:"filterbar__badge",children:m.length}):null," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),h==="rarity"?e.jsx("div",{className:"filter-pop filter-pop--rarity",children:we.map(a=>e.jsxs("label",{className:"filter-pop__check",children:[e.jsx("input",{type:"checkbox",checked:m.includes(a),onChange:()=>D(a)}),e.jsx("span",{children:a})]},a))}):null]}),se?e.jsx("button",{className:"filterbar__clear",onClick:J,children:"Clear all"}):null]}),e.jsxs("div",{className:"filterbar__right",children:[e.jsxs("span",{className:"filterbar__count",children:[C?"…":`${L.toLocaleString()} item${L===1?"":"s"}`,u?` for “${u}”`:""]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__sort${h==="sort"?" is-open":""}`,onClick:()=>M("sort"),children:["Sort by: ",ae.label," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),h==="sort"?e.jsx("div",{className:"filter-pop filter-pop--sort",children:A.map(a=>e.jsx("button",{className:`filter-pop__sort${a.key===y?" is-active":""}`,onClick:()=>{w(a.key),_(null)},children:a.label},a.key))}):null]})]})]}),j?e.jsx("p",{className:"error",children:j.message}):null,e.jsx("div",{className:"grid",children:C?e.jsx(O,{count:15}):e.jsxs(e.Fragment,{children:[g.map(a=>e.jsx(ue,{item:Ie(a),mode:"market",marketPriceCredits:P(a),onBuyNow:X},a.tradeId)),t?e.jsx(O,{count:6}):null]})}),e.jsx(fe,{hasNextPage:b,isFetching:t,onLoadMore:()=>l()}),!C&&g.length===0?e.jsx("p",{className:"muted",children:"No items match your filters."}):null,v&&d?e.jsx(je,{listing:v,rate:d,onClose:()=>s(null),onSold:()=>{s(null),ee()}}):null]})}export{Te as Market,Te as default};
|
|
1
|
+
import{b as te,r as c,j as e,u as ie}from"./react-E8ng6RF2.js";import{e as ne,i as B,c as le,k as ce,l as V,h as oe,o as de,w as S,t as T,v as G,r as H,F as Q,H as K,C as $,A as ue,I as me}from"./index-BR0NknyD.js";import{r as he,a as U,m as pe}from"./mana-rate-DWqsWqd4.js";import{S as O}from"./SkeletonCards-yV2mi4oc.js";import{L as fe}from"./LoadMore-DB6TwvRe.js";import{h as Y}from"./buy-CW3BEgsu.js";import{g as _e,a as ye,w as be,G as ke}from"./buy-gasless-BBQC6A0v.js";import{u as xe}from"./useInfiniteGrid-C5c2ausk.js";import"./ethers-DbXGgxrh.js";import"./index-CE5YSM6F.js";function ve(){return ne({queryKey:["mana-rate",B.chainId],queryFn:()=>he(B.chainId),staleTime:6e4,refetchInterval:6e4,retry:1})}function z(r){const u=r,o=(u.message??"").toLowerCase();return u.code===4001||o.includes("reject")||o.includes("denied")||o.includes("cancel")?"You cancelled the request.":o.includes("insufficient")?`Not enough ${$.name} — get more first.`:o.includes("not found")||o.includes("no active listing")||o.includes("404")?"This item was just sold or removed. Refreshing the market…":"Couldn't complete checkout — please try again."}function ge(r){return{id:r.tradeId,tradeId:r.tradeId,name:r.name,creator:r.creator,contractAddress:r.contractAddress,itemId:r.itemId,category:r.category,wearableCategory:r.wearableCategory??void 0,rarity:r.rarity,network:r.network,chainId:r.chainId,thumbnail:r.thumbnail,priceCredits:0,gender:null}}function je({listing:r,rate:u,onClose:o,onSold:k}){const{session:i}=le(),{data:n}=ce(i),x=V(),m=te(),[N,y]=c.useState("confirm"),[w,h]=c.useState("Locking today’s price…"),[_,v]=c.useState(null),[s,R]=c.useState(null),p=c.useRef(null),E=Math.ceil(U(r.manaWei,u)/10);c.useEffect(()=>{let b=!1;if(!i){y("error"),v("Log in to check out.");return}return(async()=>{try{const t=await oe(r.tradeId);if(!t)throw new Error("not found");const l=U(r.manaWei,u);if(!Number.isFinite(l)||l<=0)throw new Error("price unavailable");const{credit:d,maxCreditedValue:F,usdCents:P}=await de(i.identity,l,r.tradeId);if(b){S(i.identity,[d.id]).catch(()=>{});return}p.current=d.id,R({trade:t,credit:d,maxCreditedValue:F,usdCents:P,credits:Math.ceil(P/10)}),h("")}catch(t){if(b)return;console.error("[market] authorize failed",t),T(H(t)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:G(t),value_usd:Math.round(U(r.manaWei,u))/100}),y("error"),v(z(t))}})(),()=>{b=!0,p.current&&i&&(S(i.identity,[p.current]).catch(()=>{}),p.current=null)}},[]);const g=!!s&&((n==null?void 0:n.credits)??0)<s.credits;async function L(){if(!i||!s)return;if(g){S(i.identity,[s.credit.id]).catch(()=>{}),p.current=null,m("/credits");return}y("working"),v(null);let b=!1;try{h("Confirming your purchase…");const t={trade:s.trade,buyer:i.address,signer:i.signer,credits:[s.credit],maxCreditedValue:s.maxCreditedValue};let l;if(_e())try{l=await ye(t),await be(l),b=!0}catch(d){if(!(d instanceof ke))throw d;l=await Y(t)}else l=await Y(t);p.current=null,T("Shop Completed Purchase",{items:[{item_id:r.itemId??null,contract_address:r.contractAddress,token_id:null,price_usd:s.usdCents/100}],value_credits:s.credits,value_usd:s.usdCents/100,purchase_type:"item",is_primary:!0,payment_type:"credits",no_crypto_step:b,transaction_hash:l??null}),x.invalidateQueries({queryKey:["usd-balance"]}),m("/success",{state:{items:[ge(r)],txHash:l}})}catch(t){console.error("[market] buy now failed",t),S(i.identity,[s.credit.id]).catch(()=>{}),p.current=null,T(H(t)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:G(t),value_usd:s.usdCents/100}),x.invalidateQueries({queryKey:["usd-balance"]});const l=z(t);v(l),y("error"),/sold or removed/i.test(l)&&k()}}function C(){i&&s&&S(i.identity,[s.credit.id]).catch(()=>{}),p.current=null,o()}const j=N==="working";return e.jsxs("div",{className:"mkt-modal",role:"dialog","aria-modal":"true","aria-label":`Buy ${r.name}`,children:[e.jsx("div",{className:"mkt-modal__scrim",onClick:j?void 0:C,"aria-hidden":!0}),e.jsxs("div",{className:"mkt-modal__card",children:[e.jsxs("div",{className:"mkt-modal__head",children:[e.jsx("div",{className:"mkt-modal__thumb",children:r.thumbnail?e.jsx("img",{src:r.thumbnail,alt:""}):null}),e.jsxs("div",{children:[e.jsx("div",{className:"mkt-modal__name",title:r.name,children:r.name||"Item"}),e.jsx("span",{className:"chip chip--rarity",children:r.rarity})]})]}),e.jsx("div",{className:"mkt-modal__price",children:s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mkt-modal__price-label",children:"Final price"}),e.jsxs("div",{className:"mkt-modal__price-value",children:[e.jsx(Q,{className:"mkt-modal__diamond"}),K(s.credits)]}),e.jsxs("div",{className:"mkt-modal__price-sub muted",children:["Locked for this purchase · $",(s.usdCents/100).toFixed(2)]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mkt-modal__price-label",children:"Today’s price"}),e.jsxs("div",{className:"mkt-modal__price-value mkt-modal__price-value--approx",children:[e.jsx("span",{className:"mkt-modal__approx","aria-hidden":!0,children:"≈"}),e.jsx(Q,{className:"mkt-modal__diamond"}),K(E)]}),e.jsx("div",{className:"mkt-modal__price-sub muted",children:w||"Locking today’s price…"})]})}),i?e.jsxs("div",{className:"mkt-modal__balance muted",children:["Your balance: ",$.symbol," ",(n==null?void 0:n.credits)??0]}):null,g?e.jsxs("p",{className:"muted mkt-modal__note",children:["You’ll need a few more ",$.name," to buy this."]}):null,w&&N==="working"?e.jsx("p",{className:"muted mkt-modal__note",children:w}):null,_?e.jsx("p",{className:"error mkt-modal__note",children:_}):null,e.jsxs("div",{className:"mkt-modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:C,disabled:j,children:"Cancel"}),e.jsx("button",{className:"btn btn--purple",onClick:L,disabled:j||!s,children:j?"Working…":g?`Get ${$.name}`:"Confirm purchase"})]})]})]})}const Ce=48,W=[{key:"wearable",label:"Wearables",sub:["Head","Upper Body","Handwear","Lower Body","Feet","Accessories","Skins"]},{key:"emote",label:"Emotes",sub:[]}],Ne={Head:["head","hat","hair","facial_hair","eyes","eyebrows","mouth","mask","helmet","tiara","top_head"],"Upper Body":["upper_body"],Handwear:["hands_wear"],"Lower Body":["lower_body"],Feet:["feet"],Accessories:["earring","eyewear"],Skins:["skin"]},we=["common","uncommon","rare","epic","legendary","mythic","unique","exotic"],A=[{key:"newest",label:"Newest",server:"newest"},{key:"price-asc",label:"Price: Low to High",server:"cheapest"},{key:"price-desc",label:"Price: High to Low",server:"most_expensive"},{key:"name",label:"Name (A–Z)",server:"name"}];function Ie(r){return{id:r.tradeId,tradeId:r.tradeId,name:r.name,creator:r.creator,contractAddress:r.contractAddress,itemId:r.itemId,category:r.category,wearableCategory:r.wearableCategory??void 0,rarity:r.rarity,network:r.network,chainId:r.chainId,thumbnail:r.thumbnail,priceCredits:0,gender:null}}function Te(){const[r]=ie(),u=(r.get("q")??"").trim().toLowerCase(),o=V(),[k,i]=c.useState("wearable"),[n,x]=c.useState(null),[m,N]=c.useState([]),[y,w]=c.useState("newest"),[h,_]=c.useState(null),[v,s]=c.useState(null),R=n?Ne[n]:void 0,p=(A.find(a=>a.key===y)??A[0]).server,E={category:k,rarities:m.length?m:void 0,wearableCategories:R,search:u||void 0,sortBy:p},{items:g,total:L,isLoading:C,error:j,hasNextPage:b,isFetchingNextPage:t,fetchNextPage:l}=xe(["legacy-listings",E],a=>me({...E,first:Ce,skip:a})),{data:d,isError:F}=ve(),P=a=>d?pe(a.manaWei,d):null;function Z(a){i(a),x(null)}function D(a){N(f=>f.includes(a)?f.filter(q=>q!==a):[...f,a])}function J(){i("wearable"),x(null),N([]),_(null)}function M(a){_(f=>f===a?null:a)}function X(a){const f=g.find(q=>q.tradeId===a.tradeId);f&&s(f)}function ee(){o.invalidateQueries({queryKey:["legacy-listings"]})}const ae=A.find(a=>a.key===y)??A[0],I=W.find(a=>a.key===k)??W[0],re=n?`${I.label} · ${n}`:I.label,se=k!=="wearable"||!!n||m.length>0;return e.jsxs("div",{className:"browse",children:[e.jsxs("div",{className:"market-banner",children:[e.jsx("span",{className:"market-banner__ico","aria-hidden":!0,children:"✨"}),e.jsx("span",{children:"Prices here follow the live market and may shift slightly at checkout."})]}),F?e.jsx("p",{className:"market-banner market-banner--warn",children:"The market price is temporarily unavailable — buying is paused for a moment. Please try again shortly."}):null,h?e.jsx("div",{className:"filterbar__scrim",onClick:()=>_(null),"aria-hidden":!0}):null,e.jsxs("div",{className:"filterbar",children:[e.jsxs("div",{className:"filterbar__filters",children:[e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${h==="section"?" is-open":""}${n||k!=="wearable"?" is-active":""}`,onClick:()=>M("section"),children:[re," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),h==="section"?e.jsxs("div",{className:"filter-pop filter-pop--section",children:[e.jsx("ul",{className:"filter-pop__cats",children:W.map(a=>e.jsx("li",{children:e.jsx("button",{className:`filter-pop__cat${k===a.key?" is-active":""}`,onClick:()=>Z(a.key),children:a.label})},a.key))}),I.sub.length?e.jsxs("ul",{className:"filter-pop__subs",children:[e.jsx("li",{children:e.jsxs("button",{className:`filter-pop__sub${n?"":" is-active"}`,onClick:()=>{x(null),_(null)},children:["All ",I.label]})}),I.sub.map(a=>e.jsx("li",{children:e.jsx("button",{className:`filter-pop__sub${n===a?" is-active":""}`,onClick:()=>{x(f=>f===a?null:a),_(null)},children:a})},a))]}):null]}):null]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__trigger${h==="rarity"?" is-open":""}${m.length?" is-active":""}`,onClick:()=>M("rarity"),children:["Rarity ",m.length?e.jsx("span",{className:"filterbar__badge",children:m.length}):null," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),h==="rarity"?e.jsx("div",{className:"filter-pop filter-pop--rarity",children:we.map(a=>e.jsxs("label",{className:"filter-pop__check",children:[e.jsx("input",{type:"checkbox",checked:m.includes(a),onChange:()=>D(a)}),e.jsx("span",{children:a})]},a))}):null]}),se?e.jsx("button",{className:"filterbar__clear",onClick:J,children:"Clear all"}):null]}),e.jsxs("div",{className:"filterbar__right",children:[e.jsxs("span",{className:"filterbar__count",children:[C?"…":`${L.toLocaleString()} item${L===1?"":"s"}`,u?` for “${u}”`:""]}),e.jsxs("div",{className:"filterbar__item",children:[e.jsxs("button",{className:`filterbar__sort${h==="sort"?" is-open":""}`,onClick:()=>M("sort"),children:["Sort by: ",ae.label," ",e.jsx("span",{className:"filterbar__chev","aria-hidden":!0,children:"▾"})]}),h==="sort"?e.jsx("div",{className:"filter-pop filter-pop--sort",children:A.map(a=>e.jsx("button",{className:`filter-pop__sort${a.key===y?" is-active":""}`,onClick:()=>{w(a.key),_(null)},children:a.label},a.key))}):null]})]})]}),j?e.jsx("p",{className:"error",children:j.message}):null,e.jsx("div",{className:"grid",children:C?e.jsx(O,{count:15}):e.jsxs(e.Fragment,{children:[g.map(a=>e.jsx(ue,{item:Ie(a),mode:"market",marketPriceCredits:P(a),onBuyNow:X},a.tradeId)),t?e.jsx(O,{count:6}):null]})}),e.jsx(fe,{hasNextPage:b,isFetching:t,onLoadMore:()=>l()}),!C&&g.length===0?e.jsx("p",{className:"muted",children:"No items match your filters."}):null,v&&d?e.jsx(je,{listing:v,rate:d,onClose:()=>s(null),onSold:()=>{s(null),ee()}}):null]})}export{Te as Market,Te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as Y,r as m,j as s,L as re}from"./react-E8ng6RF2.js";import{y as z,i as W,N as le,l as G,C as j,p as ee,t as P,G as B,s as V,v as se,c as ce,e as U,U as oe,h as de,V as me}from"./index-Ck7C_Qc5.js";import{f as ue}from"./import-8mZnlxOL.js";import{a as he,b as pe,i as be,e as ge,c as ye,d as fe}from"./buy-5130Im35.js";import{s as xe}from"./wallet-kind-B1XTGpW3.js";import{L as _e}from"./LoadMore-DB6TwvRe.js";import{u as je}from"./useInfiniteGrid-DWCJkphW.js";import"./ethers-DbXGgxrh.js";import"./mana-rate-Cj4WJyFX.js";import"./index-D58Lm6fy.js";const T=()=>`${W.builderServerUrl}/v1`;function ne(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 te(e,i){const t=await le(e,{method:"GET",identity:i,metadata:{}});if(!t.ok)throw new Error(`builder-server ${t.status}: ${await t.text()}`);const o=await t.json();return o.data??o}function Ne(e,i){const t=i-e;return t>0?t:0}function ve(e){var i,t,o,l,c;return((t=(i=e.data)==null?void 0:i.wearable)==null?void 0:t.category)??((l=(o=e.data)==null?void 0:o.emote)==null?void 0:l.category)??((c=e.data)==null?void 0:c.category)??e.type??"wearable"}function J(e){return`${T()}/storage/contents/${e}`}function $(e,i){if(!e)return"";if(/^https?:\/\//.test(e))return e;const t=i==null?void 0:i[e];return t?J(t):/^(ba|Qm)/.test(e)?J(e):""}async function Ie(e,i){try{const t=await fetch(`${T()}/items/${e}/${i}/contents`);if(!t.ok)return{};const o=await t.json();return o.data??o}catch{return{}}}async function ke(e,i,t){const o=$(e.thumbnail,e.contents)||$("thumbnail.png",e.contents);if(o)return o;if(i&&t){const l=await Ie(i,t);return $(e.thumbnail,l)||$("thumbnail.png",l)||$("image.png",l)}return""}async function we(e,i){const t=`${T()}/${e.toLowerCase()}/collections?is_published=true`,o=await te(t,i);return ne(o).filter(l=>l.is_published&&!!l.contract_address).map(l=>({id:l.id,name:l.name,contractAddress:l.contract_address.toLowerCase(),isPublished:l.is_published,isApproved:l.is_approved,minters:(l.minters??[]).map(c=>c.toLowerCase())}))}async function Se(e,i){const t=`${T()}/collections/${e.id}/items`,o=await te(t,i);return(await Promise.all(ne(o).map(async c=>{const k=c.rarity??"common",N=Number(c.total_supply??0)||0;let u=0;try{u=z.Rarity.getMaxSupply(k)}catch{u=0}const v=(c.contract_address??e.contractAddress).toLowerCase(),p=c.blockchain_item_id??"";return{id:c.id,collectionId:e.id,collectionName:e.name,contractAddress:v,blockchainItemId:p,name:c.name,category:ve(c),rarity:k,thumbnail:await ke(c,v,p),type:c.type??"wearable",isPublished:c.is_published??e.isPublished,isApproved:c.is_approved??e.isApproved,totalSupply:N,maxSupply:u,remainingSupply:Ne(N,u),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 t=await we(e,i);return(await Promise.all(t.map(async l=>{try{return await Se(l,i)}catch{return[]}}))).flat()}const Pe=1e3*60*60*24*182;function $e(e){const i=e,t=(i.message??"").toLowerCase();return i.code===4001||t.includes("reject")||t.includes("denied")||t.includes("cancel")?"You cancelled the request.":"Couldn't list your item — please try again."}function Le({asset:e,session:i,onClose:t}){const o=G(),l=Y(),[c,k]=m.useState("10"),[N,u]=m.useState(null),[v,p]=m.useState(null),[b,w]=m.useState(!1),[x,_]=m.useState(null);async function C(){p(null);const d=Number(c);if(!Number.isInteger(d)||d<=0){p("Enter a whole number of credits");return}w(!0);try{u("Getting your item ready…"),await he({signer:i.signer,contractAddress:e.contractAddress,chainId:e.chainId}),u("Listing your item…");const I=await pe({signer:i.signer,nft:{contractAddress:e.contractAddress,tokenId:e.tokenId,network:e.network,chainId:e.chainId},usdPrice:d/10,expiresAtMs:Date.now()+Pe});u("Publishing…"),await ee(I,i.identity),u(null),_(d),P("Shop Listed Item",{item_id:e.itemId??e.tokenId??null,contract_address:e.contractAddress,price_credits:d,price_usd:d/10,listing_type:"secondary",is_primary:!1}),B.success(`“${e.name}” is now on sale!`),o.invalidateQueries({queryKey:["my-assets",i.address]})}catch(I){V(I,{flow:"list_secondary"}),P("Shop Listing Failed",{listing_type:"secondary",error_code:se(I)}),p($e(I)),u(null)}finally{w(!1)}}function f(){t(),l(`/item/${e.contractAddress}/${e.tokenId}`)}return x!==null?s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:d=>d.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:[j.symbol," ",x]})]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:f,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:d=>d.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 (",j.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:c,onChange:d=>k(d.target.value),disabled:b})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",j.name," (1 ",j.nameSingular," = $0.10)."]}),N?s.jsx("p",{className:"muted",children:N}):null,v?s.jsx("p",{className:"error",children:v}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,disabled:b,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:C,disabled:b,children:b?"Working…":"List for sale"})]})]})})}const Ee=1e3*60*60*24*182;function Me(e){const i=e,t=(i.message??"").toLowerCase();return i.code===4001||t.includes("reject")||t.includes("denied")||t.includes("cancel")?"You cancelled the request.":"Couldn't publish your item — please try again."}function qe({item:e,session:i,onClose:t}){const o=G(),l=Y(),[c,k]=m.useState("10"),[N,u]=m.useState(null),[v,p]=m.useState(null),[b,w]=m.useState(!1),[x,_]=m.useState(null),[C,f]=m.useState(null),d=W.chainId,I=xe(i.providerType);m.useEffect(()=>{let h=!1;return(async()=>{try{const g=await be({contractAddress:e.contractAddress,chainId:d});h||_(g)}catch{h||_(!1)}})(),()=>{h=!0}},[e.contractAddress,d]);async function L(){p(null);const h=Number(c);if(!Number.isInteger(h)||h<=0){p("Enter a whole number of credits");return}w(!0);try{x||(u("Enabling sales for this collection…"),await ge({signer:i.signer,contractAddress:e.contractAddress,chainId:d}),_(!0)),u("Publishing your item…");const g=await ye({signer:i.signer,item:{contractAddress:e.contractAddress,itemId:e.blockchainItemId,network:z.Network.MATIC,chainId:d},usdPrice:h/10,uses:e.remainingSupply,expiresAtMs:Date.now()+Ee});u("Finishing up…"),await ee(g,i.identity),u(null),f(h),P("Shop Listed Item",{item_id:e.blockchainItemId,contract_address:e.contractAddress,price_credits:h,price_usd:h/10,listing_type:"primary",is_primary:!0}),B.success(`“${e.name}” is now on sale!`),o.invalidateQueries({queryKey:["publishable-items"]}),o.invalidateQueries({queryKey:["collection-sale-state"]})}catch(g){V(g,{flow:"list_primary"}),P("Shop Listing Failed",{listing_type:"primary",error_code:se(g)}),p(Me(g)),u(null)}finally{w(!1)}}function D(){t(),l(`/item/${e.contractAddress}/${e.blockchainItemId}`)}const E=b?"Working…":x===!1?"Enable & publish":"Publish for sale";return C!==null?s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:h=>h.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:[j.symbol," ",C]})," · ",e.remainingSupply.toLocaleString()," available"]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:D,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:h=>h.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 (",j.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:c,onChange:h=>k(h.target.value),disabled:b})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",j.name," (1 ",j.nameSingular," = $0.10)."]}),x===!1&&!b?I?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."]}):x===!0&&!b?I?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,N?s.jsx("p",{className:"muted",children:N}):null,v?s.jsx("p",{className:"error",children:v}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,disabled:b,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:L,disabled:b||x===null,children:x===null?"Checking…":E})]})]})})}const Fe=48;function Z(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,tokenId:e.tokenId}}function F(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:W.chainId,thumbnail:e.thumbnail,priceCredits:0,gender:null}}function Be(){const{session:e,error:i,signIn:t,restore:o}=ce(),l=Y(),c=G(),[k,N]=m.useState(null),[u,v]=m.useState(null),[p,b]=m.useState(null),[w,x]=m.useState(null);function _(n){const a=n.tokenId??n.itemId??"";!n.contractAddress||!a||l(`/item/${n.contractAddress}/${a}`,{state:{item:n}})}async function C(n,a,r){if(e){x(null),b(r);try{const y=await de(n);await fe({trade:y,signer:e.signer}),B.success(`“${a}” is no longer for sale.`),await c.invalidateQueries({queryKey:["my-assets",e.address]}),await c.invalidateQueries({queryKey:["collection-sale-state"]})}catch(y){const M=y,q=(M.message??"").toLowerCase(),X=M.code===4001||q.includes("reject")||q.includes("denied");X||V(y,{flow:"remove-listing",tradeId:n}),x(X?"You cancelled the request.":"Couldn't remove the listing — please try again.")}finally{b(null)}}}m.useEffect(()=>{o()},[o]);const f=e==null?void 0:e.address,{items:d,isLoading:I,error:L,hasNextPage:D,isFetchingNextPage:E,fetchNextPage:h}=je(["my-assets",f],n=>oe(f,{first:Fe,skip:n}).then(a=>({items:a.assets,total:a.total})),{enabled:!!f}),{data:g}=U({queryKey:["importable",f],queryFn:()=>ue(f),enabled:!!f}),K=((g==null?void 0:g.creations.length)??0)+((g==null?void 0:g.owned.length)??0),{data:A,isLoading:ae,isError:ie}=U({queryKey:["publishable-items",f],queryFn:()=>Ae(f,e.identity),enabled:!!e,retry:!1}),O=m.useMemo(()=>[...new Set((A??[]).map(n=>n.contractAddress))],[A]),{data:S}=U({queryKey:["collection-sale-state",f,O],enabled:O.length>0,queryFn:async()=>{const n=await Promise.all(O.map(async r=>[r,await me(r)])),a={};for(const[r,y]of n)for(const[M,q]of Object.entries(y))a[`${r}-${M}`]=q;return a}}),R=n=>S==null?void 0:S[`${n.contractAddress}-${n.blockchainItemId}`],Q=m.useMemo(()=>(A??[]).filter(n=>{var a;return(a=R(n))==null?void 0:a.isOnSale}),[A,S]),H=m.useMemo(()=>{var a;const n=new Map;for(const r of A??[]){if((a=S==null?void 0:S[`${r.contractAddress}-${r.blockchainItemId}`])!=null&&a.isOnSale)continue;const y=n.get(r.collectionId)??{id:r.collectionId,name:r.collectionName,items:[]};y.items.push(r),n.set(r.collectionId,y)}return[...n.values()]},[A,S]);return e?s.jsxs("section",{className:"myassets",children:[s.jsx("h1",{children:"My Assets"}),K>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 ",K," item",K===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."})]}),L?s.jsx("p",{className:"error",children:L.message}):null,w?s.jsx("p",{className:"error",children:w}):null,s.jsxs("div",{className:"asset-grid",children:[I?Array.from({length:8}).map((n,a)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`sk-${a}`)):d.map(n=>s.jsxs("article",{className:"asset-card asset-card--link",onClick:()=>_(Z(n)),role:"link",tabIndex:0,onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),_(Z(n)))},children:[s.jsx("div",{className:"asset-card__img",children:n.image?s.jsx("img",{src:n.image,alt:n.name}):null}),s.jsx("div",{className:"asset-card__name",title:n.name,children:n.name}),n.isOnSale?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"asset-card__listed",children:[s.jsxs("span",{className:"asset-card__price",children:[j.symbol," ",n.listingPrice]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost asset-card__remove",disabled:p===n.id||!n.tradeId,onClick:a=>{a.stopPropagation(),n.tradeId&&C(n.tradeId,n.name,n.id)},children:p===n.id?"Removing…":"Remove listing"})]}):s.jsx("button",{className:"btn btn--sm",onClick:a=>{a.stopPropagation(),P("Shop Started Listing",{listing_type:"secondary",item_id:n.itemId??n.tokenId??null}),N(n)},children:"List for sale"})]},n.id)),E?Array.from({length:4}).map((n,a)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`msk-${a}`)):null]}),s.jsx(_e,{hasNextPage:D,isFetching:E,onLoadMore:()=>h()}),!I&&d.length===0?s.jsx("p",{className:"muted",children:"No items in your inventory 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 ",j.name," and buyers pay with ",j.name,"."]})]}),ae?s.jsx("div",{className:"publish-grid",children:Array.from({length:4}).map((n,a)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`pub-sk-${a}`))}):ie?s.jsx("p",{className:"publish-empty",children:"We couldn’t load your collections right now. Please try again in a moment."}):Q.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:[Q.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:Q.map(n=>{var a;return s.jsxs("article",{className:"publish-card publish-card--link",onClick:()=>_(F(n)),role:"link",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),_(F(n)))},children:[s.jsx("div",{className:"publish-card__img",children:n.thumbnail?s.jsx("img",{src:n.thumbnail,alt:n.name}):null}),s.jsx("div",{className:"publish-card__name",title:n.name,children:n.name}),s.jsxs("div",{className:"publish-card__listed",children:[s.jsxs("span",{className:"publish-card__price",children:[j.symbol," ",((a=R(n))==null?void 0:a.priceCredits)??0]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost publish-card__cta",disabled:p===n.id,onClick:r=>{r.stopPropagation();const y=R(n);y!=null&&y.tradeId&&C(y.tradeId,n.name,n.id)},children:p===n.id?"Removing…":"Remove listing"})]},`${n.contractAddress}-${n.blockchainItemId}`)})})]}):null,H.map(n=>s.jsxs("div",{className:"creations-collection",children:[s.jsx("h3",{className:"creations-collection__name",children:n.name}),s.jsx("div",{className:"publish-grid",children:n.items.map(a=>s.jsxs("article",{className:"publish-card publish-card--link",onClick:()=>_(F(a)),role:"link",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),_(F(a)))},children:[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__meta",children:[s.jsx("span",{className:"publish-chip publish-chip--rarity",children:a.rarity}),s.jsxs("span",{className:"publish-card__supply",children:[a.remainingSupply.toLocaleString()," available"]})]}),s.jsx("button",{className:"btn btn--sm btn--purple publish-card__cta",onClick:r=>{r.stopPropagation(),P("Shop Started Listing",{listing_type:"primary",item_id:a.blockchainItemId}),v(a)},children:"Put on sale"})]},`${a.contractAddress}-${a.blockchainItemId}`))})]},n.id))]})]}),k?s.jsx(Le,{asset:k,session:e,onClose:()=>N(null)}):null,u?s.jsx(qe,{item:u,session:e,onClose:()=>v(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:()=>t(),children:"Sign in"})}),i?s.jsx("p",{className:"error",children:i}):null]})}export{Be as MyAssets};
|
|
1
|
+
import{b as Y,r as m,j as s,L as re}from"./react-E8ng6RF2.js";import{y as z,i as W,N as le,l as G,C as j,p as ee,t as P,G as B,s as V,v as se,c as ce,e as U,U as oe,h as de,V as me}from"./index-BR0NknyD.js";import{f as ue}from"./import-DfSi3d1-.js";import{a as he,b as pe,i as be,e as ge,c as ye,d as fe}from"./buy-CW3BEgsu.js";import{s as xe}from"./wallet-kind-vw_oO-og.js";import{L as _e}from"./LoadMore-DB6TwvRe.js";import{u as je}from"./useInfiniteGrid-C5c2ausk.js";import"./ethers-DbXGgxrh.js";import"./mana-rate-DWqsWqd4.js";import"./index-CE5YSM6F.js";const T=()=>`${W.builderServerUrl}/v1`;function ne(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 te(e,i){const t=await le(e,{method:"GET",identity:i,metadata:{}});if(!t.ok)throw new Error(`builder-server ${t.status}: ${await t.text()}`);const o=await t.json();return o.data??o}function Ne(e,i){const t=i-e;return t>0?t:0}function ve(e){var i,t,o,l,c;return((t=(i=e.data)==null?void 0:i.wearable)==null?void 0:t.category)??((l=(o=e.data)==null?void 0:o.emote)==null?void 0:l.category)??((c=e.data)==null?void 0:c.category)??e.type??"wearable"}function J(e){return`${T()}/storage/contents/${e}`}function $(e,i){if(!e)return"";if(/^https?:\/\//.test(e))return e;const t=i==null?void 0:i[e];return t?J(t):/^(ba|Qm)/.test(e)?J(e):""}async function Ie(e,i){try{const t=await fetch(`${T()}/items/${e}/${i}/contents`);if(!t.ok)return{};const o=await t.json();return o.data??o}catch{return{}}}async function ke(e,i,t){const o=$(e.thumbnail,e.contents)||$("thumbnail.png",e.contents);if(o)return o;if(i&&t){const l=await Ie(i,t);return $(e.thumbnail,l)||$("thumbnail.png",l)||$("image.png",l)}return""}async function we(e,i){const t=`${T()}/${e.toLowerCase()}/collections?is_published=true`,o=await te(t,i);return ne(o).filter(l=>l.is_published&&!!l.contract_address).map(l=>({id:l.id,name:l.name,contractAddress:l.contract_address.toLowerCase(),isPublished:l.is_published,isApproved:l.is_approved,minters:(l.minters??[]).map(c=>c.toLowerCase())}))}async function Se(e,i){const t=`${T()}/collections/${e.id}/items`,o=await te(t,i);return(await Promise.all(ne(o).map(async c=>{const k=c.rarity??"common",N=Number(c.total_supply??0)||0;let u=0;try{u=z.Rarity.getMaxSupply(k)}catch{u=0}const v=(c.contract_address??e.contractAddress).toLowerCase(),p=c.blockchain_item_id??"";return{id:c.id,collectionId:e.id,collectionName:e.name,contractAddress:v,blockchainItemId:p,name:c.name,category:ve(c),rarity:k,thumbnail:await ke(c,v,p),type:c.type??"wearable",isPublished:c.is_published??e.isPublished,isApproved:c.is_approved??e.isApproved,totalSupply:N,maxSupply:u,remainingSupply:Ne(N,u),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 t=await we(e,i);return(await Promise.all(t.map(async l=>{try{return await Se(l,i)}catch{return[]}}))).flat()}const Pe=1e3*60*60*24*182;function $e(e){const i=e,t=(i.message??"").toLowerCase();return i.code===4001||t.includes("reject")||t.includes("denied")||t.includes("cancel")?"You cancelled the request.":"Couldn't list your item — please try again."}function Le({asset:e,session:i,onClose:t}){const o=G(),l=Y(),[c,k]=m.useState("10"),[N,u]=m.useState(null),[v,p]=m.useState(null),[b,w]=m.useState(!1),[x,_]=m.useState(null);async function C(){p(null);const d=Number(c);if(!Number.isInteger(d)||d<=0){p("Enter a whole number of credits");return}w(!0);try{u("Getting your item ready…"),await he({signer:i.signer,contractAddress:e.contractAddress,chainId:e.chainId}),u("Listing your item…");const I=await pe({signer:i.signer,nft:{contractAddress:e.contractAddress,tokenId:e.tokenId,network:e.network,chainId:e.chainId},usdPrice:d/10,expiresAtMs:Date.now()+Pe});u("Publishing…"),await ee(I,i.identity),u(null),_(d),P("Shop Listed Item",{item_id:e.itemId??e.tokenId??null,contract_address:e.contractAddress,price_credits:d,price_usd:d/10,listing_type:"secondary",is_primary:!1}),B.success(`“${e.name}” is now on sale!`),o.invalidateQueries({queryKey:["my-assets",i.address]})}catch(I){V(I,{flow:"list_secondary"}),P("Shop Listing Failed",{listing_type:"secondary",error_code:se(I)}),p($e(I)),u(null)}finally{w(!1)}}function f(){t(),l(`/item/${e.contractAddress}/${e.tokenId}`)}return x!==null?s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:d=>d.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:[j.symbol," ",x]})]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:f,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:d=>d.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 (",j.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:c,onChange:d=>k(d.target.value),disabled:b})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",j.name," (1 ",j.nameSingular," = $0.10)."]}),N?s.jsx("p",{className:"muted",children:N}):null,v?s.jsx("p",{className:"error",children:v}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,disabled:b,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:C,disabled:b,children:b?"Working…":"List for sale"})]})]})})}const Ee=1e3*60*60*24*182;function Me(e){const i=e,t=(i.message??"").toLowerCase();return i.code===4001||t.includes("reject")||t.includes("denied")||t.includes("cancel")?"You cancelled the request.":"Couldn't publish your item — please try again."}function qe({item:e,session:i,onClose:t}){const o=G(),l=Y(),[c,k]=m.useState("10"),[N,u]=m.useState(null),[v,p]=m.useState(null),[b,w]=m.useState(!1),[x,_]=m.useState(null),[C,f]=m.useState(null),d=W.chainId,I=xe(i.providerType);m.useEffect(()=>{let h=!1;return(async()=>{try{const g=await be({contractAddress:e.contractAddress,chainId:d});h||_(g)}catch{h||_(!1)}})(),()=>{h=!0}},[e.contractAddress,d]);async function L(){p(null);const h=Number(c);if(!Number.isInteger(h)||h<=0){p("Enter a whole number of credits");return}w(!0);try{x||(u("Enabling sales for this collection…"),await ge({signer:i.signer,contractAddress:e.contractAddress,chainId:d}),_(!0)),u("Publishing your item…");const g=await ye({signer:i.signer,item:{contractAddress:e.contractAddress,itemId:e.blockchainItemId,network:z.Network.MATIC,chainId:d},usdPrice:h/10,uses:e.remainingSupply,expiresAtMs:Date.now()+Ee});u("Finishing up…"),await ee(g,i.identity),u(null),f(h),P("Shop Listed Item",{item_id:e.blockchainItemId,contract_address:e.contractAddress,price_credits:h,price_usd:h/10,listing_type:"primary",is_primary:!0}),B.success(`“${e.name}” is now on sale!`),o.invalidateQueries({queryKey:["publishable-items"]}),o.invalidateQueries({queryKey:["collection-sale-state"]})}catch(g){V(g,{flow:"list_primary"}),P("Shop Listing Failed",{listing_type:"primary",error_code:se(g)}),p(Me(g)),u(null)}finally{w(!1)}}function D(){t(),l(`/item/${e.contractAddress}/${e.blockchainItemId}`)}const E=b?"Working…":x===!1?"Enable & publish":"Publish for sale";return C!==null?s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal modal--success",onClick:h=>h.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:[j.symbol," ",C]})," · ",e.remainingSupply.toLocaleString()," available"]}),s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,children:"Done"}),s.jsx("button",{className:"btn btn--purple",onClick:D,children:"View in Shop"})]})]})}):s.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:s.jsxs("div",{className:"modal",onClick:h=>h.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 (",j.name,")"]}),s.jsx("input",{type:"number",min:"1",step:"1",value:c,onChange:h=>k(h.target.value),disabled:b})]}),s.jsxs("p",{className:"muted small",children:["Priced in whole ",j.name," (1 ",j.nameSingular," = $0.10)."]}),x===!1&&!b?I?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."]}):x===!0&&!b?I?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,N?s.jsx("p",{className:"muted",children:N}):null,v?s.jsx("p",{className:"error",children:v}):null,s.jsxs("div",{className:"modal__actions",children:[s.jsx("button",{className:"btn btn--ghost",onClick:t,disabled:b,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:L,disabled:b||x===null,children:x===null?"Checking…":E})]})]})})}const Fe=48;function Z(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,tokenId:e.tokenId}}function F(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:W.chainId,thumbnail:e.thumbnail,priceCredits:0,gender:null}}function Be(){const{session:e,error:i,signIn:t,restore:o}=ce(),l=Y(),c=G(),[k,N]=m.useState(null),[u,v]=m.useState(null),[p,b]=m.useState(null),[w,x]=m.useState(null);function _(n){const a=n.tokenId??n.itemId??"";!n.contractAddress||!a||l(`/item/${n.contractAddress}/${a}`,{state:{item:n}})}async function C(n,a,r){if(e){x(null),b(r);try{const y=await de(n);await fe({trade:y,signer:e.signer}),B.success(`“${a}” is no longer for sale.`),await c.invalidateQueries({queryKey:["my-assets",e.address]}),await c.invalidateQueries({queryKey:["collection-sale-state"]})}catch(y){const M=y,q=(M.message??"").toLowerCase(),X=M.code===4001||q.includes("reject")||q.includes("denied");X||V(y,{flow:"remove-listing",tradeId:n}),x(X?"You cancelled the request.":"Couldn't remove the listing — please try again.")}finally{b(null)}}}m.useEffect(()=>{o()},[o]);const f=e==null?void 0:e.address,{items:d,isLoading:I,error:L,hasNextPage:D,isFetchingNextPage:E,fetchNextPage:h}=je(["my-assets",f],n=>oe(f,{first:Fe,skip:n}).then(a=>({items:a.assets,total:a.total})),{enabled:!!f}),{data:g}=U({queryKey:["importable",f],queryFn:()=>ue(f),enabled:!!f}),K=((g==null?void 0:g.creations.length)??0)+((g==null?void 0:g.owned.length)??0),{data:A,isLoading:ae,isError:ie}=U({queryKey:["publishable-items",f],queryFn:()=>Ae(f,e.identity),enabled:!!e,retry:!1}),O=m.useMemo(()=>[...new Set((A??[]).map(n=>n.contractAddress))],[A]),{data:S}=U({queryKey:["collection-sale-state",f,O],enabled:O.length>0,queryFn:async()=>{const n=await Promise.all(O.map(async r=>[r,await me(r)])),a={};for(const[r,y]of n)for(const[M,q]of Object.entries(y))a[`${r}-${M}`]=q;return a}}),R=n=>S==null?void 0:S[`${n.contractAddress}-${n.blockchainItemId}`],Q=m.useMemo(()=>(A??[]).filter(n=>{var a;return(a=R(n))==null?void 0:a.isOnSale}),[A,S]),H=m.useMemo(()=>{var a;const n=new Map;for(const r of A??[]){if((a=S==null?void 0:S[`${r.contractAddress}-${r.blockchainItemId}`])!=null&&a.isOnSale)continue;const y=n.get(r.collectionId)??{id:r.collectionId,name:r.collectionName,items:[]};y.items.push(r),n.set(r.collectionId,y)}return[...n.values()]},[A,S]);return e?s.jsxs("section",{className:"myassets",children:[s.jsx("h1",{children:"My Assets"}),K>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 ",K," item",K===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."})]}),L?s.jsx("p",{className:"error",children:L.message}):null,w?s.jsx("p",{className:"error",children:w}):null,s.jsxs("div",{className:"asset-grid",children:[I?Array.from({length:8}).map((n,a)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`sk-${a}`)):d.map(n=>s.jsxs("article",{className:"asset-card asset-card--link",onClick:()=>_(Z(n)),role:"link",tabIndex:0,onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),_(Z(n)))},children:[s.jsx("div",{className:"asset-card__img",children:n.image?s.jsx("img",{src:n.image,alt:n.name}):null}),s.jsx("div",{className:"asset-card__name",title:n.name,children:n.name}),n.isOnSale?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"asset-card__listed",children:[s.jsxs("span",{className:"asset-card__price",children:[j.symbol," ",n.listingPrice]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost asset-card__remove",disabled:p===n.id||!n.tradeId,onClick:a=>{a.stopPropagation(),n.tradeId&&C(n.tradeId,n.name,n.id)},children:p===n.id?"Removing…":"Remove listing"})]}):s.jsx("button",{className:"btn btn--sm",onClick:a=>{a.stopPropagation(),P("Shop Started Listing",{listing_type:"secondary",item_id:n.itemId??n.tokenId??null}),N(n)},children:"List for sale"})]},n.id)),E?Array.from({length:4}).map((n,a)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`msk-${a}`)):null]}),s.jsx(_e,{hasNextPage:D,isFetching:E,onLoadMore:()=>h()}),!I&&d.length===0?s.jsx("p",{className:"muted",children:"No items in your inventory 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 ",j.name," and buyers pay with ",j.name,"."]})]}),ae?s.jsx("div",{className:"publish-grid",children:Array.from({length:4}).map((n,a)=>s.jsx("div",{className:"asset-card asset-card--skeleton"},`pub-sk-${a}`))}):ie?s.jsx("p",{className:"publish-empty",children:"We couldn’t load your collections right now. Please try again in a moment."}):Q.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:[Q.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:Q.map(n=>{var a;return s.jsxs("article",{className:"publish-card publish-card--link",onClick:()=>_(F(n)),role:"link",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),_(F(n)))},children:[s.jsx("div",{className:"publish-card__img",children:n.thumbnail?s.jsx("img",{src:n.thumbnail,alt:n.name}):null}),s.jsx("div",{className:"publish-card__name",title:n.name,children:n.name}),s.jsxs("div",{className:"publish-card__listed",children:[s.jsxs("span",{className:"publish-card__price",children:[j.symbol," ",((a=R(n))==null?void 0:a.priceCredits)??0]}),s.jsx("span",{className:"badge",children:"On sale"})]}),s.jsx("button",{className:"btn btn--sm btn--ghost publish-card__cta",disabled:p===n.id,onClick:r=>{r.stopPropagation();const y=R(n);y!=null&&y.tradeId&&C(y.tradeId,n.name,n.id)},children:p===n.id?"Removing…":"Remove listing"})]},`${n.contractAddress}-${n.blockchainItemId}`)})})]}):null,H.map(n=>s.jsxs("div",{className:"creations-collection",children:[s.jsx("h3",{className:"creations-collection__name",children:n.name}),s.jsx("div",{className:"publish-grid",children:n.items.map(a=>s.jsxs("article",{className:"publish-card publish-card--link",onClick:()=>_(F(a)),role:"link",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),_(F(a)))},children:[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__meta",children:[s.jsx("span",{className:"publish-chip publish-chip--rarity",children:a.rarity}),s.jsxs("span",{className:"publish-card__supply",children:[a.remainingSupply.toLocaleString()," available"]})]}),s.jsx("button",{className:"btn btn--sm btn--purple publish-card__cta",onClick:r=>{r.stopPropagation(),P("Shop Started Listing",{listing_type:"primary",item_id:a.blockchainItemId}),v(a)},children:"Put on sale"})]},`${a.contractAddress}-${a.blockchainItemId}`))})]},n.id))]})]}),k?s.jsx(Le,{asset:k,session:e,onClose:()=>N(null)}):null,u?s.jsx(qe,{item:u,session:e,onClose:()=>v(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:()=>t(),children:"Sign in"})}),i?s.jsx("p",{className:"error",children:i}):null]})}export{Be as MyAssets};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as s,L as n}from"./react-E8ng6RF2.js";import{u as c,A as l}from"./index-
|
|
1
|
+
import{r as o,j as s,L as n}from"./react-E8ng6RF2.js";import{u as c,A as l}from"./index-BR0NknyD.js";import{L as m}from"./LoadMore-DB6TwvRe.js";import"./ethers-DbXGgxrh.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 the shop"})]}):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-E8ng6RF2.js";import{c as u,d as l,e as m,C as p,g as x}from"./index-
|
|
1
|
+
import{j as e,L as o}from"./react-E8ng6RF2.js";import{c as u,d as l,e as m,C as p,g as x}from"./index-BR0NknyD.js";import{L as _}from"./LoadMore-DB6TwvRe.js";import{u as j}from"./useInfiniteGrid-C5c2ausk.js";import"./ethers-DbXGgxrh.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)??"",h=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:[p.symbol," ",s.credits]})]});return h?e.jsx(o,{className:"purchase",to:h,children:c}):e.jsx("div",{className:"purchase",children:c})}function L(){const{session:s}=u(),{items:a,isLoading:t,hasNextPage:i,isFetchingNextPage:n,fetchNextPage:h}=j(["purchases",s==null?void 0:s.address],r=>l(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 the shop"})]}):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,d)=>e.jsx("div",{className:"purchase purchase--skeleton"},d)):e.jsxs(e.Fragment,{children:[c.map(r=>e.jsx(y,{purchase:r},r.id)),n?Array.from({length:2}).map((r,d)=>e.jsx("div",{className:"purchase purchase--skeleton"},`m-${d}`)):null]})}),e.jsx(_,{hasNextPage:i,isFetching:n,onLoadMore:()=>h()})]})}export{L as MyPurchases};
|