@dcl/shop 1.17.2-36543879460.commit-7274e5f → 1.17.2-36549246772.commit-a0ab986
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/{Activity-CmjRvt72.js → Activity-CjEK61TA.js} +4 -4
- package/_assets/{AnimatedBackground-CR0iNxdm.js → AnimatedBackground-hJLPzt7T.js} +2 -2
- package/_assets/{Assets-CvsgAM3Y.js → Assets-wtTzSg4X.js} +3 -3
- package/_assets/{Cart-CBoiNVDV.js → Cart-BYdl4HqS.js} +2 -2
- package/_assets/{Collection-CdlOPQWI.js → Collection-BTNBRPjD.js} +2 -2
- package/_assets/{CollectionCarousel-DFsFQS9I.js → CollectionCarousel-CCG0ES4r.js} +5 -5
- package/_assets/{Confetti-Lg8VNdtW.js → Confetti-DM4YiNme.js} +4 -4
- package/_assets/{ConstantsUtil-B4_VYxQV.js → ConstantsUtil-DeECcx1C.js} +2 -2
- package/_assets/{ContentClient-59NEqXOY.js → ContentClient-BEWMqkWx.js} +2 -2
- package/_assets/{Creator-CHXM6HYQ.js → Creator-CzVQ2FkK.js} +2 -2
- package/_assets/{CreditPackPicker-qyJshVYl.js → CreditPackPicker-CyeEFkBf.js} +2 -2
- package/_assets/{CreditRate-Cg-O8jv-.js → CreditRate-B4egIJe2.js} +2 -2
- package/_assets/{DeploymentBuilder-BMDaSJuK.js → DeploymentBuilder-B9B8Mrm4.js} +2 -2
- package/_assets/{EmotePlaybackBar-gxnuFy7n.js → EmotePlaybackBar-C0V8dTyR.js} +3 -3
- package/_assets/{ErrorNotice-DVRBkjsp.js → ErrorNotice-DRNDA4ab.js} +2 -2
- package/_assets/{Event-DJBV4ESF.js → Event-CCT42Q7f.js} +2 -2
- package/_assets/{ExchangeController-CJ4V4Oon.js → ExchangeController-DadhhPAb.js} +2 -2
- package/_assets/{Faq-CLoV07bq.js → Faq-DdmyplkV.js} +2 -2
- package/_assets/{Filters-BeEzMffI.js → Filters-BUcaObq2.js} +2 -2
- package/_assets/{GetCredits-D2lFJbQ3.js → GetCredits-DPJChlrx.js} +2 -2
- package/_assets/{Grow-i-9u3HfO.js → Grow-WBBjF0qI.js} +2 -2
- package/_assets/{HelpersUtil-DUj3mZuS.js → HelpersUtil-B8Moy1XW.js} +2 -2
- package/_assets/{IssueModal-dwZQAHzn.js → IssueModal-BAujGRJp.js} +2 -2
- package/_assets/ItemDetail-ChBtCy2t.js +3530 -0
- package/_assets/{LoadMore-CYLYvbGP.js → LoadMore-B43opiD2.js} +2 -2
- package/_assets/{ManaPricingBanner-Bt_WU6KS.js → ManaPricingBanner-BHLrmm-8.js} +5 -5
- package/_assets/{ManaPricingBanner.styles-D2msoQz_.js → ManaPricingBanner.styles-DInNgFwu.js} +2 -2
- package/_assets/{MyAssets-W7un4SC3.js → MyAssets-Bd6EF6v3.js} +4 -4
- package/_assets/{MyFavorites-B4LTmnU6.js → MyFavorites-BCGc6ELO.js} +2 -2
- package/_assets/{MyStore-DxWmC72a.js → MyStore-Dxjog0Sw.js} +2 -2
- package/_assets/{NetworkUtil-CWc7MMYZ.js → NetworkUtil-Bm6tGvAB.js} +2 -2
- package/_assets/{NotFound-DmWo5yLU.js → NotFound-B_dJ1CEy.js} +2 -2
- package/_assets/{NotificationsBell-dLnIgLqP.js → NotificationsBell-C2dt75wu.js} +2 -2
- package/_assets/{OutfitDetail-NKWxQqOt.js → OutfitDetail-BN2H3-8E.js} +2 -2
- package/_assets/{OutfitPreview-B3p4O6Wa.js → OutfitPreview-CaZ7kRVX.js} +2 -2
- package/_assets/{OutfitStudio-Be3N4_Mt.js → OutfitStudio-Jv245tVe.js} +2 -2
- package/_assets/{PaymentMethodStep-C3EnP-eM.js → PaymentMethodStep-NtswXRGE.js} +3 -3
- package/_assets/{SaleCountdown-Bq7MOyi2.js → SaleCountdown-B_1dnjfz.js} +5 -5
- package/_assets/{Spinner-Bl4IrHRQ.js → Spinner-DDg2cZp3.js} +2 -2
- package/_assets/{StoreSettings-D8Jg0_-_.js → StoreSettings-CwDrhnai.js} +2 -2
- package/_assets/{Success-BSYhAXOx.js → Success-DeK2ypzp.js} +2 -2
- package/_assets/{SwapController-DuxH_9c5.js → SwapController-B49Av1_u.js} +2 -2
- package/_assets/{Tooltip-BmJUJCYJ.js → Tooltip-DjG6zbCX.js} +2 -2
- package/_assets/{TradeService-DEb7yVBZ.js → TradeService-D6qXlh1Z.js} +2 -2
- package/_assets/{W3MFrameProviderSingleton-uf3z-_HS.js → W3MFrameProviderSingleton-BphwTeho.js} +4 -4
- package/_assets/{WebCryptoP256-D3OdVQ9d.js → WebCryptoP256-SMne_S_n.js} +2 -2
- package/_assets/{basic-QaTLX1vT.js → basic-D_8txLq7.js} +2 -2
- package/_assets/{biconomy-CyaDteqF.js → biconomy-YZlmchlv.js} +2 -2
- package/_assets/{browseLayout.styles-DNXtsrMA.js → browseLayout.styles-Brc2uxe6.js} +2 -2
- package/_assets/{browser-Cpjyf5yQ.js → browser-BL288LiQ.js} +2 -2
- package/_assets/{browser-rGhFbCyI.js → browser-Dnxu0avw.js} +2 -2
- package/_assets/{browser-ponyfill-D8Vu22Uk.js → browser-ponyfill-DnknyR7N.js} +2 -2
- package/_assets/{buy-DkF7GLNy.js → buy-CfE_PD5z.js} +2 -2
- package/_assets/{buy-gasless-Chbo9aJs.js → buy-gasless-R4n1XJSv.js} +2 -2
- package/_assets/{ccip-DtshU0dV.js → ccip-BlgS0auV.js} +2 -2
- package/_assets/{ccip-DGcxxIz8.js → ccip-C6UT6KQh.js} +2 -2
- package/_assets/{chains-BkRvbXyy.js → chains-tYOV74ij.js} +2 -2
- package/_assets/collectionPage.styles-CMbahOgT.js +41 -0
- package/_assets/{common-D332rySl.js → common-DLUTBVOI.js} +2 -2
- package/_assets/{controller-B7WIUu-b.js → controller-4EyPqibQ.js} +3 -3
- package/_assets/{core-DbwVHXzY.js → core-BQREhuMq.js} +5 -5
- package/_assets/{createSvgIcon-BNrfwGEU.js → createSvgIcon-BKfNrT59.js} +2 -2
- package/_assets/{crumbs.styles-BELLHHmP.js → crumbs.styles-BWaoKyPd.js} +2 -2
- package/_assets/{custom-LSzWESj7.js → custom-C9jMAm3T.js} +2 -2
- package/_assets/{data-capture-CtpQR5Or.js → data-capture-B9MdwIoc.js} +2 -2
- package/_assets/{dcl-schemas-DLwtrFng.js → dcl-schemas-C4fyXlSh.js} +2 -2
- package/_assets/{decimals-ttIHisxi.js → decimals-CHXNfoXT.js} +2 -2
- package/_assets/{decimals-9qAAgs1z.js → decimals-CLlY4hbe.js} +2 -2
- package/_assets/{detectExtension-QqAQRLny.js → detectExtension-BkzSezJq.js} +2 -2
- package/_assets/{disposePreview-CDy1nnEl.js → disposePreview-BdKYKQrH.js} +2 -2
- package/_assets/{email-CRIw6Jbz.js → email-C58riNwc.js} +2 -2
- package/_assets/{embedded-wallet-FpSh7on2.js → embedded-wallet-CwXPqiUJ.js} +2 -2
- package/_assets/{emotion-styled.browser.esm-D70mdwc6.js → emotion-styled.browser.esm-BW3kkhus.js} +2 -2
- package/_assets/{engine-oQbwQwzg.js → engine-BcBqatJs.js} +2 -2
- package/_assets/{errors-Cbpj3VLS.js → errors-D8TPzu4G.js} +2 -2
- package/_assets/{estimate-l1-fee-CxEvRUVu.js → estimate-l1-fee-BuYwUowR.js} +2 -2
- package/_assets/{eth_estimateGas-D1_V9LCS.js → eth_estimateGas-D9eBLR0c.js} +2 -2
- package/_assets/{eth_getStorageAt-B318zlqh.js → eth_getStorageAt-BTI_-XLj.js} +2 -2
- package/_assets/{eth_getTransactionCount-oiUsPxtT.js → eth_getTransactionCount-4ybREHU9.js} +2 -2
- package/_assets/{ethereum-vmiTxAXh.js → ethereum-CbiAXxqA.js} +2 -2
- package/_assets/{ethers-CF8fkxgi.js → ethers-B5rK96tr.js} +2 -2
- package/_assets/{events-DV4JS0It.js → events-Bpyu43Bg.js} +2 -2
- package/_assets/{execute-Bktrxhn0.js → execute-Ccffv2og.js} +3 -3
- package/_assets/{extractIPFS-Ch1ehxrn.js → extractIPFS-3WlcwhU4.js} +2 -2
- package/_assets/{features-D7wiiv0R.js → features-CgIhprDd.js} +2 -2
- package/_assets/{fetchTokenMetadata-BvOHV4gG.js → fetchTokenMetadata-BnWDdpY0.js} +3 -3
- package/_assets/{field.styles-Dhn72RAs.js → field.styles-Bc-0DX0s.js} +2 -2
- package/_assets/{fortmatic-CvbZZSGh.js → fortmatic-MrWbQYW_.js} +2 -2
- package/_assets/{get-bytecode-D-4So9iL.js → get-bytecode-CRVt2uO9.js} +2 -2
- package/_assets/{get-ecosystem-wallet-info-DZeXnkG-.js → get-ecosystem-wallet-info-DtQOolGc.js} +2 -2
- package/_assets/{getBalance-S2Symdej.js → getBalance-DO3N3k0P.js} +3 -3
- package/_assets/{getInstalledModules-6BoQAfhs.js → getInstalledModules-C_OImnek.js} +2 -2
- package/_assets/{getNFT-D97qf03K.js → getNFT-BGiMgi76.js} +2 -2
- package/_assets/{getNFT-hoZcpwkZ.js → getNFT-CIWeHs-K.js} +3 -3
- package/_assets/{grid.styles-CCNR8HJI.js → grid.styles-_ID6vrzI.js} +2 -2
- package/_assets/{hashTypedData-D4grvM4W.js → hashTypedData-C665UmRR.js} +2 -2
- package/_assets/{hashTypedData-CPrA8OD2.js → hashTypedData-ey-EuOtF.js} +2 -2
- package/_assets/{import-CSRyL2ws.js → import-CMPD8P4K.js} +2 -2
- package/_assets/{in-app-wallet-calls-DlJy3Gpu.js → in-app-wallet-calls-CPtTLqu-.js} +2 -2
- package/_assets/{in-app-D9ghiqgG.js → in-app-zOP3CpxE.js} +2 -2
- package/_assets/{index-DW-CLfxQ.js → index-1-D6BU9x.js} +4 -4
- package/_assets/{index-DHppqXzv.js → index-1m8I0nYf.js} +4 -4
- package/_assets/{index-huzzEG0L.js → index-4-bJUtYW.js} +2 -2
- package/_assets/{index-D1payCsV.js → index-86IlBHGS.js} +2 -2
- package/_assets/{index-PBtGUpoZ.js → index-AK90f_Z8.js} +2 -2
- package/_assets/{index-BCdB9ShB.js → index-B-6ihjt-.js} +2 -2
- package/_assets/{index-AKpcLSif.js → index-B1yWsG-z.js} +2 -2
- package/_assets/{index-DuOEHhlK.js → index-B5NPpBJq.js} +2 -2
- package/_assets/{index-rfSc62kZ.js → index-B5ul-OWi.js} +2 -2
- package/_assets/{index-DtvQO_7U.js → index-B8EwPucZ.js} +2 -2
- package/_assets/{index-C3o_lQSk.js → index-B8xZt7VU.js} +4 -4
- package/_assets/{index-BFvKF606.js → index-B8yEZM_9.js} +2 -2
- package/_assets/{index-E88hV6Al.js → index-BCDgjSsp.js} +2 -2
- package/_assets/{index-Cn5SmOxW.js → index-BFt3kPNj.js} +2 -2
- package/_assets/{index-F3k-qHY7.js → index-BKcGGxbI.js} +2 -2
- package/_assets/{index-ZO4pH3xU.js → index-BS-24GzM.js} +2 -2
- package/_assets/{index-BCod0uqH.js → index-BT4l5EWy.js} +2 -2
- package/_assets/{index-C9QCWiG1.js → index-BXUsm9an.js} +2 -2
- package/_assets/{index-CbtZbggr.js → index-BZCkq_UI.js} +3 -3
- package/_assets/{index-Bx821W-I.js → index-Bi9ki695.js} +2 -2
- package/_assets/{index-DDCMggn8.js → index-BiaIJl1N.js} +2 -2
- package/_assets/{index-DZMDr6k9.js → index-Blb7F0FK.js} +2 -2
- package/_assets/{index-Bw0JD_nV.js → index-Bpp62-y4.js} +2 -2
- package/_assets/{index-Ctd946H1.js → index-Bpz4psUB.js} +2 -2
- package/_assets/{index-6m17fNUN.js → index-Br04KEGP.js} +2 -2
- package/_assets/{index-Dvcz3lbc.js → index-Br6nAZB-.js} +3 -3
- package/_assets/{index-CThCH1Vu.js → index-BrZhMvgt.js} +2 -2
- package/_assets/{index-D3KCFjKZ.js → index-Bv7QxArc.js} +2 -2
- package/_assets/{index-C2lS-O47.js → index-C7b4sS7Z.js} +2 -2
- package/_assets/{index-OQUbkX6t.js → index-CBV2AqQH.js} +2 -2
- package/_assets/{index-jRpupaJf.js → index-CBVn85RJ.js} +2 -2
- package/_assets/{index-BHCW4fZz.js → index-CCSoyBCA.js} +2 -2
- package/_assets/{index-DFq0LjMb.js → index-CJn1cpgY.js} +2 -2
- package/_assets/{index-CVAGxFe4.js → index-CK88-s-i.js} +2 -2
- package/_assets/{index-BPrE1Wyl.js → index-CRBQyQ9q.js} +2 -2
- package/_assets/{index-tS0QVzyt.js → index-CSCQ2kwP.js} +2 -2
- package/_assets/{index-PFBV00R7.js → index-CX8YKHuf.js} +2 -2
- package/_assets/{index-CY18MmeV.js → index-C_HB4ahr.js} +2 -2
- package/_assets/{index-DnkyA8CT.js → index-C_VJslp5.js} +2 -2
- package/_assets/{index-CUava4Xz.js → index-C_sL8pFk.js} +3 -3
- package/_assets/{index-964fbZgz.js → index-CbdI6CX1.js} +2 -2
- package/_assets/{index-ry2Z-ef2.js → index-Ct03ng6H.js} +2 -2
- package/_assets/{index-CMSsSzuf.js → index-D1I_z6gN.js} +2 -2
- package/_assets/{index-COuOPU6r.js → index-D32ueqj8.js} +2 -2
- package/_assets/{index-YVPSt5zF.js → index-D4JG8CAh.js} +2 -2
- package/_assets/{index-BOI2DlPx.js → index-DAYU9y0r.js} +3 -3
- package/_assets/{index-BRO4BD9g.js → index-DCmWo03J.js} +2 -2
- package/_assets/{index-CGtS6aQg.js → index-DJ3LyfbX.js} +2 -2
- package/_assets/{index-DBS9viZh.js → index-DJrkc2dS.js} +2 -2
- package/_assets/{index-DBJPXhFC.js → index-DNVsnZ-O.js} +2 -2
- package/_assets/{index-qZW6qzKg.js → index-DOLeL_cr.js} +2 -2
- package/_assets/{index-1EgOmJHe.js → index-DUjtSwL_.js} +298 -298
- package/_assets/{index-DyteijQE.js → index-DZfuHw2n.js} +2 -2
- package/_assets/{index-sXGT0fEx.js → index-Dez4Y2KF.js} +2 -2
- package/_assets/{index-B31Q6LLU.js → index-DfO8xDEO.js} +2 -2
- package/_assets/{index-CCobXx9C.js → index-DpPVzKxv.js} +2 -2
- package/_assets/{index-B7PZ9818.js → index-DxpZUBWq.js} +2 -2
- package/_assets/{index-CLVca_cx.js → index-DyLBjpv0.js} +2 -2
- package/_assets/{index-C7mNaWT4.js → index-Dz22jxWJ.js} +2 -2
- package/_assets/{index-l0f6WtL-.css → index-IUGQhZ87.css} +1 -1
- package/_assets/{index-CM_8Imw-.js → index-OIOSLE1Z.js} +2 -2
- package/_assets/{index-BEzDdfsT.js → index-RIfBYN9H.js} +2 -2
- package/_assets/{index-DNT5Pdsz.js → index-iL1HUt_D.js} +2 -2
- package/_assets/{index-DJEHXDcz.js → index-iQHdD0uz.js} +2 -2
- package/_assets/{index-C15cl8rG.js → index-jDlHkNRP.js} +2 -2
- package/_assets/{index-B2Y4IZZM.js → index-mCvNzJBP.js} +2 -2
- package/_assets/{index-C8scG18s.js → index-n_6F7CQW.js} +2 -2
- package/_assets/{index-Me5Ss7cs.js → index-xuYw5645.js} +2 -2
- package/_assets/{index.es-CzLbuG_R.js → index.es-Bi3x6cHT.js} +2 -2
- package/_assets/{index.es-BtaRLNRq.js → index.es-D2Kb2P1G.js} +2 -2
- package/_assets/{index.es-D7yJUM8U.js → index.es-DLZBmqpO.js} +5 -5
- package/_assets/{index.es-CIP1KZhQ.js → index.es-Dc7sZlng.js} +2 -2
- package/_assets/{items-empty-D504E9pZ.js → items-empty-V-xt5G7d.js} +2 -2
- package/_assets/jump-CKpYFm1n.js +2 -0
- package/_assets/{linkAccount-Bq4BdO_g.js → linkAccount-BK7tMnbx.js} +2 -2
- package/_assets/{loader-logo-DHm9Fz1x.js → loader-logo-5OMluQ0u.js} +2 -2
- package/_assets/{localBatchGatewayRequest-DO0H9jg2.js → localBatchGatewayRequest-BncFJnmm.js} +2 -2
- package/_assets/{modal.styles-phCAh-RK.js → modal.styles-CEn4OgcW.js} +2 -2
- package/_assets/{native-DpdCIdZ9.js → native-LKuenQKU.js} +2 -2
- package/_assets/{networks-DiV-t6sy.js → networks-UuxxB3Lh.js} +2 -2
- package/_assets/{onramp-BzBoOcwf.js → onramp-DYhoiE8h.js} +2 -2
- package/_assets/{openzeppelin-CdVyHDTC.js → openzeppelin-CeQYqbvR.js} +2 -2
- package/_assets/{ownerOf-rBWO4KbA.js → ownerOf-g8HKzf25.js} +2 -2
- package/_assets/{parseNft-e9k4rvgX.js → parseNft-DR55tEaS.js} +3 -3
- package/_assets/{parseSignature-BYg8zuZS.js → parseSignature-BG_9mU7V.js} +2 -2
- package/_assets/{parseSignature-Bqa7GS0q.js → parseSignature-BcvAJM5n.js} +4 -4
- package/_assets/{passkeys-Bg7T_pWl.js → passkeys-BvUdPSto.js} +2 -2
- package/_assets/{pay-with-exchange-CcGi8qoF.js → pay-with-exchange-Dq_8qMmz.js} +2 -2
- package/_assets/{prepare-contract-call-Bd5IaqJv.js → prepare-contract-call-DLUGZzzc.js} +2 -2
- package/_assets/{qr-overlay-CnrTjg-W.js → qr-overlay-B5hijRec.js} +4 -4
- package/_assets/{react-GAYayRQl.js → react-C3j5P_ts.js} +2 -2
- package/_assets/{receive-CaZeymeR.js → receive-CGipYHNz.js} +2 -2
- package/_assets/{resolveImplementation-CPjTUWbf.js → resolveImplementation-Bq0E-Y1O.js} +2 -2
- package/_assets/{resume-buy-BCWkfD26.js → resume-buy-BB4z7ZD8.js} +2 -2
- package/_assets/{resume-name-D2iyURDh.js → resume-name-B5QsVrB6.js} +2 -2
- package/_assets/{rpc-CtXDbwNC.js → rpc-c6CbJ6xJ.js} +2 -2
- package/_assets/{sales-empty-B0bB6ZrZ.js → sales-empty-BRPCFt1L.js} +2 -2
- package/_assets/{search-empty-B4D-PyPf.js → search-empty-BT8bS_Xc.js} +2 -2
- package/_assets/{secp256k1-BXrCGrsa.js → secp256k1-DH3QxFJN.js} +2 -2
- package/_assets/{secp256k1-DxH615NV.js → secp256k1-DsK7HgGU.js} +2 -2
- package/_assets/{secp256k1-DXy3meif.js → secp256k1-DvkFg-ca.js} +2 -2
- package/_assets/{send-Bvz_tZDz.js → send-BtI3Y9mI.js} +2 -2
- package/_assets/{send-batch-transaction-DcePwf1v.js → send-batch-transaction-BP3GYANb.js} +2 -2
- package/_assets/{send-eip712-transaction-3_u1Rqn3.js → send-eip712-transaction-Dn1EEr_x.js} +3 -3
- package/_assets/{send-gasless-transaction-BFHYVjOu.js → send-gasless-transaction-DNsfvw-s.js} +3 -3
- package/_assets/{send-transaction-b-xetpVf.js → send-transaction-Dl6LPOzS.js} +3 -3
- package/_assets/{sendMetaTransaction-DbLGyE_1.js → sendMetaTransaction-xLF3k6Ym.js} +2 -2
- package/_assets/{sendRawTransaction-B4m-fS_W.js → sendRawTransaction-D6SclfHh.js} +4 -4
- package/_assets/{sentry-4deLrvth.js → sentry-CZnVtepx.js} +3 -3
- package/_assets/{serializeTransaction-07MzRFyy.js → serializeTransaction-CNVqHaCa.js} +2 -2
- package/_assets/{session-proposal-BsnbGrPN.js → session-proposal-B5GapO9B.js} +2 -2
- package/_assets/{session-request-cpaGraRl.js → session-request-0j2rueRa.js} +3 -3
- package/_assets/{sha256-BnYpgrlp.js → sha256-T5FTx4Qa.js} +2 -2
- package/_assets/{sha3-CCnQhllF.js → sha3-B5s3u740.js} +2 -2
- package/_assets/signin-empty-BDVNgXu7.js +2 -0
- package/_assets/{signing-CmyvPUld.js → signing-FmdtOciI.js} +4 -4
- package/_assets/{skeleton.styles-yzSbN-Gk.js → skeleton.styles-BIpsIEEn.js} +2 -2
- package/_assets/{socials-BQLjDbLx.js → socials-Cusr0-5c.js} +2 -2
- package/_assets/{styled-Q069ZeU8.js → styled-B-eID8zT.js} +2 -2
- package/_assets/{swaps-BlddI6k2.js → swaps-DAxdEN4n.js} +2 -2
- package/_assets/{thirdweb-CKDPEiTM.js → thirdweb-CRM0hhha.js} +4 -4
- package/_assets/{to-serializable-transaction-Nalzw-bR.js → to-serializable-transaction-DsLwju2q.js} +3 -3
- package/_assets/{totalSupply-wVng3s2B.js → totalSupply-D8KyUNjm.js} +2 -2
- package/_assets/{trade-encoding-BDGeQ9-e.js → trade-encoding-CaF5QHJ0.js} +2 -2
- package/_assets/{transaction-C80bod8k.js → transaction-BH1-GFGU.js} +2 -2
- package/_assets/{transactionReceipt-C-5N5-fG.js → transactionReceipt-B7q55ElN.js} +2 -2
- package/_assets/{transactions-cV79gKhp.js → transactions-COPajhle.js} +2 -2
- package/_assets/{useInfiniteGrid-g8vNfSL8.js → useInfiniteGrid-CYty5_Jt.js} +2 -2
- package/_assets/{useStore-CO_CTl_9.js → useStore-CA4bg9Qg.js} +3 -3
- package/_assets/{useTheme-9JrrPVul.js → useTheme-DkPMOr_t.js} +2 -2
- package/_assets/{utils-Du6u2Vpn.js → utils-B5A45KJU.js} +2 -2
- package/_assets/{verifyHash-DIbONWn9.js → verifyHash-hTG-EOge.js} +2 -2
- package/_assets/{w3m-modal-DcepuPKF.js → w3m-modal-LGDYWahK.js} +2 -2
- package/_assets/{w3m-modal-4XQZoFWP.js → w3m-modal-VpKiUlgO.js} +2 -2
- package/_assets/{wait-for-tx-receipt-DLRdbhOQ.js → wait-for-tx-receipt-B6L5AEsq.js} +2 -2
- package/_assets/{wallets-Bd3VJtIk.js → wallets-BmqLO_Z9.js} +6 -6
- package/_assets/{web-connector-Cl1UBm_o.js → web-connector-CteOtIx5.js} +4 -4
- package/_assets/{writeContract-BcbVJhyd.js → writeContract-BGY6GBpe.js} +2 -2
- package/_assets/{zora-sepolia-DAYSPKyC.js → zora-sepolia-C0dXhBjY.js} +2 -2
- package/_assets/{zoraTestnet-DLEgtf0y.js → zoraTestnet-BEtUvw81.js} +2 -2
- package/index.html +12 -12
- package/package.json +2 -2
- package/_assets/ItemDetail-Bvjk0t3i.js +0 -3090
- package/_assets/collectionPage.styles-DkhpLEcJ.js +0 -41
- package/_assets/jump-37CZlC6A.js +0 -2
- package/_assets/signin-empty-oqoRoyDC.js +0 -2
|
@@ -0,0 +1,3530 @@
|
|
|
1
|
+
import{j as e,b as ot,r as c,L as Xa,e as ls,a as Za}from"./react-C3j5P_ts.js";import{bi as en,c as Le,x as at,bm as ei,bn as ds,X as mt,t as n,by as cs,bz as us,V as nt,O as Z,Z as Ae,bF as ye,bG as Dn,l as he,bE as fn,bD as ti,i as ps,C as qe,au as hs,F as Un,d as fs,E as ft,bl as xs,G as ms,bA as gs,bB as bs,di as ys,dj as ws,dk as vs,dl as js,w as ie,bk as ks,s as r,a,a6 as gt,aH as bt,bP as Qn,aI as rt,I as E,z as Pe,p as ni,Y as tn,c9 as ri,H as Ve,av as be,dm as $s,n as yt,bd as xn,ad as ai,dn as Tr,cZ as Cs,f as ii,be as Is,bf as Ss,dp as As,c8 as Rs,dq as Ms,bT as Ps,dr as Ls,ds as zs,k as Es,aj as Mt,b1 as Fs,dt as Ts,a9 as Ns,du as _s,b3 as Bs,dv as Ws,cx as Ot,bQ as Ds,bR as qs,P as si,a0 as oi,dw as li,dx as Os,dy as Ks,bb as di,dz as Hs,bU as Us,dA as Qs,dB as Vs,dC as Gs,cb as Ys,A as Js,dD as mn,$ as Xs,bp as Zs,bq as eo,br as to,y as no,m as ro,dE as ao,dF as io,dG as so,dH as oo,dI as lo,aw as co,ax as uo,dJ as po,B as ho,dK as fo,aA as Nr,az as _r,dL as xo,dM as mo,a3 as go,bx as bo,dN as Br,dO as yo,dP as wo,dQ as vo,dR as jo,dS as ko,dT as $o,dU as Co,dV as Io}from"./index-DUjtSwL_.js";import{d as Re}from"./dcl-schemas-C4fyXlSh.js";import{p as So,e as Wr,i as Ao,A as ci,C as Ro,b as Mo,f as Po,g as Lo,h as zo,j as Eo,m as Fo,u as To,t as No,k as _o,a as Bo,s as Wo}from"./CollectionCarousel-CCG0ES4r.js";import{d as Dr,t as Do,e as qr,G as qo,c as Oo}from"./buy-CfE_PD5z.js";import{c as Ko,i as Vn,D as Ho,b as Or,d as Uo,S as Qo,e as Vo,a as Go}from"./SaleCountdown-B_1dnjfz.js";import{u as Yo,M as Jo,o as Xo,f as Zo,b as el,l as ui,c as tl}from"./loader-logo-5OMluQ0u.js";import{w as Kr,M as nl,S as rl,C as al,H as il,a as sl,T as ol,X as ll,B as dl,b as cl,c as ul,d as pl,e as tt,f as hl,g as fl,h as xl,i as pt,j as Ke,W as Kt,m as Ht,n as Ut,o as ml,v as gl,L as pi,P as hi,k as fi,l as xi,E as bl,F as yl,G as Hr,A as wl,p as vl,q as jl,r as kl,s as $l,t as Cl,u as Il,I as Ur}from"./CreditPackPicker-CyeEFkBf.js";import{P as Sl}from"./PaymentMethodStep-NtswXRGE.js";import{m as Al}from"./mana-matic-light-Bl5duieC.js";import{q as mi,g as gi,t as Rl,s as Ml,a as Qr,b as Pl,d as Ll,i as zl,e as El,c as Fl}from"./trade-encoding-CaF5QHJ0.js";import{J as Tl,p as Nl}from"./ethers-B5rK96tr.js";import{a as _l,w as bi,S as yi,G as wi,c as Bl}from"./buy-gasless-R4n1XJSv.js";import{R as Vr}from"./resume-buy-BB4z7ZD8.js";import{a as Wl,f as it,i as Zt}from"./errors-D8TPzu4G.js";import{C as Dl}from"./Confetti-DM4YiNme.js";import{b as ql,J as Ol,a as vi,j as Kl}from"./jump-CKpYFm1n.js";import{p as ji}from"./import-CMPD8P4K.js";import{E as st}from"./ErrorNotice-DRNDA4ab.js";import{L as Gr,M as Hl,B as Ul,H as Ql,T as Vl,A as Gl}from"./modal.styles-CEn4OgcW.js";import{S as Yl}from"./Spinner-DDg2cZp3.js";import{I as Jl}from"./IssueModal-BAujGRJp.js";import{E as Xl}from"./EmotePlaybackBar-C0V8dTyR.js";import{d as Zl}from"./disposePreview-BdKYKQrH.js";import{T as Qt}from"./Tooltip-DjG6zbCX.js";import{c as ed}from"./crumbs.styles-BWaoKyPd.js";import"./sentry-CZnVtepx.js";import"./intl-AKLEHPeO.js";import"./sendMetaTransaction-xLF3k6Ym.js";import"./mana-matic-CEqvSwrJ.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="ce9b5c1d-ab15-4635-b261-953ef9050600",t._sentryDebugIdIdentifier="sentry-dbid-ce9b5c1d-ab15-4635-b261-953ef9050600")}catch{}})();const ki=216n,td=(1n<<ki)-1n;function nd(t){const s=typeof t=="bigint"?t:BigInt(t.trim());if(s<0n)throw new Error(`Invalid tokenId: ${String(t)}`);return{itemId:(s>>ki).toString(),issuedId:(s&td).toString()}}function rd(t){if(!t)return null;try{return nd(t).itemId}catch{return null}}const $i=["cancelled-listings"];function ad(t,s){s&&t.setQueryData($i,o=>o!=null&&o.includes(s)?o:[...o??[],s])}function Yr(t,s){var o;if(s)return(o=t.getQueryData($i))!=null&&o.includes(s)?void 0:s}function Jr(t,s){return s.kind==="listed"?{...t,isOnSale:!0,listingPrice:s.priceCredits,tradeId:s.tradeId??t.tradeId}:{...t,isOnSale:!1,listingPrice:void 0,tradeId:void 0}}function gn(t,s,o){const{address:l,contractAddress:d,tokenId:u}=s;if(!d||!u)return;const h=`${d}-${u}`;t.cancelQueries({queryKey:["owned-token",d,u]}),t.cancelQueries({queryKey:["secondary-sale-state"]}),l&&t.cancelQueries({queryKey:["my-assets",l]});const m=o.kind==="gone";t.setQueriesData({queryKey:["owned-token",d,u]},k=>k&&(m?null:Jr(k,o)));const g=l?["my-assets",l]:["my-assets"];t.setQueriesData({queryKey:g},k=>k!=null&&k.pages?{...k,pages:k.pages.map(x=>{if(m){const j=x.items.filter(w=>!(w.contractAddress===d&&w.tokenId===u));return{...x,items:j,total:Math.max(0,x.total-(x.items.length-j.length))}}return{...x,items:x.items.map(j=>j.contractAddress===d&&j.tokenId===u?Jr(j,o):j)}})}:k),t.setQueriesData({queryKey:["secondary-sale-state"]},k=>{var j;if(!k)return k;const x={...k};return o.kind==="removed"||o.kind==="gone"?delete x[h]:x[h]={priceCredits:o.priceCredits,tradeId:o.tradeId??((j=x[h])==null?void 0:j.tradeId)??""},x})}function id(t){return!(t.isMarket||t.forSale&&t.priceKnown||t.manage||t.soldOutWithResale||!t.stillResolving&&!t.resolvingTrade&&(t.isTokenRoute?!t.ownedAssetLoading:!t.deepLinkLoading))}function Ci(){const t=new Map,s=new Set,o=new Set,l=new Set;return{submitStarted:d=>{l.add(d)},submitFinished:d=>{l.delete(d)},broadcast:(d,u)=>{const h=t.get(d);h?h.add(u):t.set(d,new Set([u]))},reverted:d=>{s.add(d)},unobservable:d=>{o.add(d)},isInFlight:d=>l.has(d),mayBeConsumed:d=>{if(o.has(d))return!0;const u=t.get(d);if(!u)return!1;for(const h of u)if(!s.has(h))return!0;return!1}}}const sd=Nl("0.05");async function od(t){try{return(await new Tl(Le.rpcUrl).getBalance(t)).gte(sd)}catch{return!1}}async function ld(t,s){return en(t)?od(s):!1}function dd({size:t=64,...s}){return e.jsxs("svg",{viewBox:"0 0 64 64",width:t,height:t,"aria-hidden":!0,...s,children:[e.jsx("circle",{cx:"32",cy:"32",r:"32",fill:"#34ce74"}),e.jsx("path",{d:"M20 33l8 8 16-18",fill:"none",stroke:"#fff",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"})]})}const cd=t=>bs(t.contractAddress,String(t.itemId));async function Xr(t,s={}){if(t.kind==="store")return BigInt(t.mint.item.priceWei);try{return ys(await ws(t.trade),t.coupon)}catch(o){return s.reportFailure!==!1&&he(o,{flow:"buy",step:"mana_price"}),null}}function Zr(t){return t.kind==="trade"?t.trade.id:void 0}function ea(t){return t.contractAddress&&t.itemId!=null?{contractAddress:t.contractAddress,itemId:String(t.itemId)}:void 0}function qn({item:t,onClose:s,resume:o=!1}){const{session:l}=at(),{data:d}=ei(l),{data:u}=ds(l),h=mt(),m=ot();async function g(){try{return await h.fetchQuery(gs())}catch{return}}async function k(){if(u!=null)return u;if(!l)return 0n;try{const v=await h.fetchQuery({queryKey:["mana-balance",l.address],queryFn:()=>js(l.address),staleTime:3e4});return J(v),v}catch{return 0n}}const x=Yo().packs.slice(0,Jo),[j,w]=c.useState("loading"),[$,I]=c.useState(null),[S,R]=c.useState(null),[O,M]=c.useState(!1),[b,B]=c.useState(0),[i,K]=c.useState(""),[Q,V]=c.useState(t.priceCredits),X=Math.max(0,Q-((d==null?void 0:d.credits)??0)),{packs:ne}=Xo(x,X),[te,ce]=c.useState(null),[le,J]=c.useState(null),z=u??le??0n,[T,_]=c.useState(!1),[p,A]=c.useState(null),[C,P]=c.useState(0),[W,H]=c.useState(null),[se,je]=c.useState(!1),ee=c.useRef(null),G=c.useRef(!1),re=c.useRef(Ci()),xe=(W==null?void 0:W.credits)??Q,ke=(d==null?void 0:d.credits)??0;c.useEffect(()=>(G.current=!1,()=>{G.current=!0}),[]);async function $e(v,L,N,F){const U=await k();if(F!=null&&F())return;const ae=U>0n,q=ae?await Xr(L):null;if(F!=null&&F())return;q!=null?ce(q):ae&&_(!0);const Oe=Kr({priceCents:N,priceManaWei:q??0n,balanceCents:(d==null?void 0:d.balanceCents)??0,manaBalanceWei:U}).options.some(Te=>Te.method==="mana"||Te.method==="combined"),we=v-((d==null?void 0:d.credits)??0),Ft=x.find(Te=>Te.credits>=we)??x[x.length-1];K(Ft.id),Oe||Z("Shop Buy Credits Prompted",{from:"item_checkout",credits_needed:v,credits_balance:(d==null?void 0:d.credits)??0,shortfall:Math.max(0,we)}),w("nofunds")}c.useEffect(()=>{let v=!1;if(!l){w("error"),I(n("buyModal.signInToCheckout"));return}return(async()=>{try{const L=await Zo(t,l.address,cs,await g(),cd,us);if(L.status==="own")throw new Error("You can't buy your own listing.");if(L.status==="no-price")throw new Error("price unavailable");if(L.status!=="buyable")throw new Error("not for sale");const N=el(L.line),F=L.line.usdCents,U=nt(F);if(v)return;if(V(U),A(N),P(F),d!=null&&d.credits<U){await $e(U,N,F,()=>v);return}o?lt({sale:N,usdCents:F}):w("ready")}catch(L){if(v)return;Z(ye(L)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"resolve",error_code:Ae(L)}),ue(L)}})(),()=>{v=!0,ee.current&&l&&(wt([ee.current]),ee.current=null)}},[b]),c.useEffect(()=>{const v=(W==null?void 0:W.sale)??p;if(!v||j!=="ready"&&j!=="nofunds"||z<=0n||te!==null)return;let L=!1;return Xr(v,{reportFailure:!T}).then(N=>{L||(N!=null?ce(N):_(!0))}),()=>{L=!0}},[j,W,p,z,te,T]);const Y=Kr({priceCents:C,priceManaWei:te??0n,balanceCents:(d==null?void 0:d.balanceCents)??0,manaBalanceWei:z});async function lt(v){const L=(W==null?void 0:W.sale)??(v==null?void 0:v.sale)??p,N=(W==null?void 0:W.usdCents)??(v==null?void 0:v.usdCents)??C;if(!l||!L||N<=0)return;w("processing"),I(null),je(!1);let F=W;if(!F)try{const{credit:q,maxCreditedValue:fe,usdCents:Oe}=await Dn(l.identity,N,Zr(L),ea(t));if(G.current){ze([q.id]);return}ee.current=q.id,h.invalidateQueries({queryKey:["usd-balance"]});const we=nt(Oe);if(F={sale:L,credit:q,maxCreditedValue:fe,usdCents:Oe,credits:we},H(F),we!==nt(N)){V(we),P(Oe),je(!0),w("ready");return}}catch(q){if(Wl(q)){h.invalidateQueries({queryKey:["usd-balance"]}),await $e(nt(N),L,N);return}ye(q)||he(q,{flow:"buy",step:"authorize"}),Z(ye(q)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:Ae(q)}),I(it(q,n("buyModal.error.generic"),{sale:!0})),w("error");return}if(!F)return;let U=!1,ae;try{const q={purchase:So(F.sale,[F.credit],F.maxCreditedValue),buyer:l.address,signer:l.signer,onBroadcast:({txHash:fe})=>re.current.broadcast(F.credit.id,fe),onReverted:({txHash:fe})=>{fe&&re.current.reverted(fe)}};if(re.current.submitStarted(F.credit.id),mi())try{ae=await _l(q),re.current.broadcast(F.credit.id,ae),await bi(ae),U=!0}catch(fe){if(fe instanceof yi)U=!0;else if(fe instanceof wi){if(fe.reason==="relayer-unreachable")throw re.current.unobservable(F.credit.id),fe;if(!en(l.providerType))throw fe;ae=await Dr(q)}else throw ae&&re.current.reverted(ae),fe}else ae=await Dr(q)}catch(q){re.current.submitFinished(F.credit.id),ye(q)||he(q,{flow:"buy",step:"submit",gasless:U}),Ce([F.credit.id]),ee.current=null,Z(ye(q)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(q)}),h.invalidateQueries({queryKey:["usd-balance"]}),ue(q);return}re.current.submitFinished(F.credit.id),ee.current=null;try{Wr(t.coupon),Ao(h,t),Z("Shop Completed Purchase",{...fn([t]),payment_type:"credits",no_crypto_step:U,transaction_hash:ae??null})}catch(q){he(q,{flow:"buy",step:"post_purchase"})}w("complete")}function ze(v){if(!l||v.length===0)return Promise.resolve(!1);const L=v.filter(N=>!re.current.mayBeConsumed(N));return L.length===0?Promise.resolve(!1):ti(l.identity,L).then(()=>!0,()=>!0)}function Ce(v){M(!0),ze(v).then(L=>{L||M(!1)})}function wt(v){return ze(v.filter(L=>!re.current.isInFlight(L)))}function Lt(){Wr(t.coupon),h.invalidateQueries({queryKey:["mana-balance"]}),h.invalidateQueries({queryKey:["usd-balance"]}),h.invalidateQueries({queryKey:["detail-trade"]}),h.invalidateQueries({queryKey:["shop-item"]}),h.invalidateQueries({queryKey:["owned-token",t.contractAddress,t.tokenId]}),h.invalidateQueries({queryKey:["public-token",t.contractAddress,t.tokenId]}),h.invalidateQueries({queryKey:["item-resales",t.contractAddress,t.itemId]}),h.invalidateQueries({queryKey:["shop-items"]}),h.invalidateQueries({queryKey:["catalog-items"]}),h.invalidateQueries({queryKey:["my-assets"]}),h.invalidateQueries({queryKey:["purchases"]}),h.invalidateQueries({queryKey:["owned-item-count"]}),h.invalidateQueries({queryKey:["overview-listings"]}),h.invalidateQueries({queryKey:["upsell-listings"]})}async function sn(){var L;const v=(W==null?void 0:W.sale)??p;if(!(!l||!v)){ee.current&&(Ce([ee.current]),ee.current=null),w("processing"),I(null);try{const N=(L=Ur(Y,"mana"))==null?void 0:L.manaWei,F=v.kind==="trade"?await Po({trade:v.trade,coupon:v.coupon,buyer:l.address,signer:l.signer,manaWei:N}):await Lo({mint:v.mint,buyer:l.address,signer:l.signer,manaWei:N});Z("Shop Completed Purchase",{...fn([t]),payment_type:"mana",transaction_hash:F??null}),Lt(),w("complete")}catch(N){ye(N)||he(N,{flow:"buy_mana",step:"submit"}),Z(ye(N)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(N)}),ue(N)}}}async function zt(){const v=(W==null?void 0:W.sale)??p,L=Ur(Y,"combined");if(!l||!v||!L)return;w("processing"),I(null),ee.current&&(await ze([ee.current])&&M(!0),ee.current=null);let N=null,F;try{const{credit:U}=await Dn(l.identity,L.creditsCents,Zr(v),ea(t));N=U.id,re.current.submitStarted(U.id);const ae={buyer:l.address,signer:l.signer,credits:[U],manaGapWei:L.manaWei,providerType:l.providerType,onBroadcast:({txHash:q})=>re.current.broadcast(U.id,q),onReverted:({txHash:q})=>{q&&re.current.reverted(q)},onUnobservable:()=>re.current.unobservable(U.id)};F=v.kind==="trade"?await zo({trade:v.trade,coupon:v.coupon,...ae}):await Eo({mint:v.mint,...ae})}catch(U){N&&re.current.submitFinished(N),N&&Ce([N]),ye(U)||he(U,{flow:"buy_credits_and_mana",step:"submit"}),Z(ye(U)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(U)}),h.invalidateQueries({queryKey:["usd-balance"]}),ue(U);return}N&&re.current.submitFinished(N);try{Lt(),Z("Shop Completed Purchase",{...fn([t]),payment_type:"credits_and_mana",transaction_hash:F??null})}catch(U){he(U,{flow:"buy_credits_and_mana",step:"post_purchase"})}w("complete")}async function vt(){if(!(!i||!l)){try{sessionStorage.setItem(Vr,JSON.stringify(t))}catch{}ee.current&&(ze([ee.current]),ee.current=null),H(null),w("loading");try{const v=await tl(i,{address:l.address,identity:l.identity});if(v.url){window.location.href=v.url;return}if(!v.orderId)throw new Error("Checkout returned neither a redirect url nor an order id");m(`/credits?order=${encodeURIComponent(v.orderId)}`)}catch(v){he(v,{flow:"buy_credits_and_item"});try{sessionStorage.removeItem(Vr)}catch{}I(n("buyModal.error.creditsCheckout")),w("error")}}}const[Ie,Ee]=c.useState(null);function on(v,L){const{spender:N,chainId:F}=Fo(v,L);return Ml(F,N)}function ue(v){if(I(it(v,n("buyModal.error.generic"),{sale:!0})),w("error"),!ps(v)||!l)return;const L=v.required;(async()=>{if(await ld(l.providerType,l.address)){R(L);return}I(n("buyModal.error.relayDownNoRail"))})()}async function dt(v){if(l){R(null);try{await vs(l.web3Provider,v)}catch(L){ye(L)||he(L,{flow:"buy",step:"switch_chain"}),R(v);return}jt()}}function Fe(v){v==="mana"?sn():v==="combined"?zt():lt()}const Ue=c.useRef(!1);async function Ye(v){var L;if(!Ue.current){Ue.current=!0;try{const N=(W==null?void 0:W.sale)??p;if(v==="credits"||!N||!l){Fe(v);return}const F=on(v,N),U=((L=Y.options.find(q=>q.method===v))==null?void 0:L.manaWei)??0n,ae=await gi(F,l.address,U).catch(()=>!0);if(Rl(l.providerType,ae)){Ee({auth:F,rail:v});return}Fe(v)}finally{Ue.current=!1}}}const Se=Y.options.some(v=>v.method==="mana"||v.method==="combined"),Et=j==="ready"&&(Se||Y.manaShortfall!=null)||j==="nofunds"&&Se;function jt(){I(null),H(null),je(!1),M(!1),w("loading"),B(v=>v+1)}const kt=j==="error"&&S===null&&(!!ee.current||O),Je=j==="processing",ln=j==="complete"?n("buyModal.titleComplete"):j==="error"?n("cartCheckout.errorTitle"):j==="nofunds"?n("buyModal.titleNoFunds"):n("buyModal.titleBuy");return Ie&&l?e.jsx(ci,{auth:Ie.auth,signer:l.signer,title:n(Ie.rail==="mana"?"authorizeStep.manaTitle":"authorizeStep.buyTitle"),name:n(Ie.rail==="mana"?"authorizeStep.manaName":"authorizeStep.buyName"),reason:n(Ie.rail==="mana"?"authorizeStep.manaReason":"authorizeStep.buyReason"),icon:e.jsx("img",{src:Al,width:24,height:24,alt:"","aria-hidden":!0}),onAuthorized:()=>{const{rail:v}=Ie;Ee(null),Fe(v)},onCancel:()=>Ee(null),onClose:()=>{Ee(null),s()}}):e.jsxs(nl,{role:"dialog","aria-modal":"true","aria-label":n("buyModal.dialogAria",{name:t.name}),"data-testid":"buy-modal",children:[e.jsx(rl,{onClick:Je?void 0:s,"aria-hidden":!0}),e.jsx(al,{"data-tall":j==="processing"||j==="loading"||void 0,children:Et?e.jsx(Sl,{asset:{name:t.name,thumb:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null,caption:t.creator?e.jsx(hs,{address:t.creator}):null},priceCredits:xe,priceCents:C,options:Y.options,priceManaWei:te??0n,balanceCredits:ke,manaBalanceWei:z,onBuy:v=>void Ye(v),onClose:s,busy:Je,notice:se?n("buyModal.priceChanged"):d!=null&&d.held?n("buyModal.heldExplainer",{credits:d.held.credits,currency:qe.name}):null}):e.jsxs(e.Fragment,{children:[e.jsxs(il,{children:[e.jsxs(sl,{children:[e.jsx(ol,{children:ln}),!Je&&e.jsx(ll,{onClick:s,"aria-label":n("buyModal.close"),children:e.jsx(Ro,{})})]}),e.jsxs(dl,{children:[e.jsx(cl,{children:j==="nofunds"?n("buyModal.dclBalance"):n("buyModal.myCreditsBalance")}),e.jsx(ul,{}),e.jsx(pl,{children:Un(ke)})]})]}),j==="loading"&&e.jsx(tt,{"data-processing":!0,children:e.jsx("span",{className:"spinner","aria-hidden":!0})}),j==="error"&&e.jsxs(tt,{children:[e.jsxs(hl,{"data-testid":"buy-error",children:[e.jsx(fl,{src:Mo,alt:"",width:64,height:80}),e.jsxs(xl,{children:[e.jsx("b",{children:n("cartCheckout.errorHeadline")})," ",$??(kt?null:n("cartCheckout.errorBody")),kt?e.jsxs(e.Fragment,{children:[$?" ":"",n("cartCheckout.heldLead",{currency:qe.name}),e.jsx("b",{children:n("cartCheckout.heldBold")}),n("cartCheckout.heldTail",{currency:qe.name})]}):null]})]}),S!==null?e.jsxs(pt,{children:[e.jsx(Ke,{"data-variant":"outline",onClick:s,children:n("buyModal.cancel")}),e.jsx(Ke,{"data-variant":"purple","data-testid":"switch-and-retry",onClick:()=>void dt(S),children:n("buyModal.error.switchAndRetry",{network:fs(S)})})]}):kt?e.jsx(pt,{children:e.jsx(Ke,{"data-variant":"purple","data-full":!0,onClick:s,children:n("cartCheckout.gotIt")})}):e.jsxs(pt,{children:[e.jsx(Ke,{"data-variant":"outline",onClick:s,children:n("buyModal.cancel")}),e.jsx(Ke,{"data-variant":"purple",onClick:jt,children:n("cartCheckout.tryAgain")})]})]}),j==="nofunds"&&e.jsxs(tt,{children:[T&&te===null&&z>0n?e.jsxs(Kt,{"data-testid":"mana-price-unavailable",children:[e.jsx(Ht,{}),e.jsx(Ut,{children:n("buyModal.manaPriceUnavailable")})]}):null,d!=null&&d.held?e.jsxs(Kt,{"data-testid":"nofunds-held",children:[e.jsx(Ht,{}),e.jsx(Ut,{children:n("buyModal.heldExplainer",{credits:d.held.credits,currency:qe.name})})]}):null,e.jsxs(Kt,{children:[e.jsx(Ht,{}),e.jsxs(Ut,{children:[e.jsx("b",{children:n("buyModal.insufficientFunds")})," ",n("buyModal.warningNeedToBuy")," ",e.jsx("b",{children:n("buyModal.warningCreditsAmount",{count:Math.max(1,xe-ke)})})," ",n("buyModal.warningToPurchase",{count:1}),ft()?null:e.jsxs(e.Fragment,{children:[" ",e.jsx(ml,{href:xs("/credits"),target:"_blank",rel:"noopener noreferrer",children:n("buyModal.warningLearnMore")})]})]})]}),e.jsx(ta,{item:t,priceCredits:xe}),ft()?null:e.jsx(e.Fragment,{children:e.jsx(gl,{packs:ne,selectedId:i||void 0,onSelect:K})}),e.jsxs(pt,{children:[e.jsx(Ke,{"data-variant":"outline",onClick:s,children:n("buyModal.cancel")}),ft()?null:e.jsx(Ke,{"data-variant":"gradient",onClick:()=>void vt(),children:n("buyModal.buy")})]})]}),j==="ready"&&e.jsxs(tt,{children:[se&&e.jsxs(Kt,{"data-testid":"price-changed",role:"status",children:[e.jsx(Ht,{}),e.jsx(Ut,{children:n("buyModal.priceChanged")})]}),e.jsx(ta,{item:t,priceCredits:xe}),e.jsx(pt,{children:e.jsx(Ke,{"data-variant":"gradient","data-full":!0,onClick:()=>void lt(),children:n("buyModal.buy")})})]}),j==="processing"&&e.jsxs(tt,{"data-processing":!0,children:[e.jsx(pi,{src:ui,alt:"",width:61,height:61}),e.jsx(hi,{children:o?n("buyModal.completingPurchase"):n("buyModal.completingTransaction")}),e.jsx(fi,{"aria-hidden":!0,children:e.jsx(xi,{})})]}),j==="complete"&&e.jsxs(tt,{children:[e.jsx(Dl,{}),e.jsxs(bl,{children:[e.jsx(dd,{}),e.jsxs(yl,{children:[e.jsx("b",{children:n("getCredits.successTitle")})," ",n("buyModal.successBody")]})]}),e.jsxs(pt,{"data-stack":!0,children:[e.jsx(Ke,{"data-variant":"outline",onClick:()=>m(ms([t.category])),children:n("buyModal.myAssets")}),ft()?e.jsx(Hr,{"data-variant":"ruby",href:ql([t]),onClick:s,children:n("success.goToBackpack")}):e.jsxs(Hr,{"data-variant":"ruby",href:Ol,target:"_blank",rel:"noreferrer",onClick:s,children:[n("buyModal.tryInWorld"),e.jsx(vi,{})]})]})]})]})})]})}function ta({item:t,priceCredits:s}){return e.jsxs(wl,{children:[e.jsx(vl,{children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs(jl,{children:[e.jsxs("div",{children:[e.jsx(kl,{title:t.name,children:t.name||n("buyModal.itemFallback")}),t.creator?e.jsx($l,{address:t.creator}):null]}),e.jsxs(Cl,{children:[e.jsx(Il,{}),e.jsx("span",{children:Un(s)})]})]})]})}function ud(){const{data:t}=ie({queryKey:["feature-flag","proceeds-to-treasury"],queryFn:ks,staleTime:6e4,refetchOnWindowFocus:!0,retry:1});return t===!0}const pd=r.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: 16px;
|
|
5
|
+
width: 100%;
|
|
6
|
+
max-width: 456px;
|
|
7
|
+
`,hd=r.span`
|
|
8
|
+
flex: none;
|
|
9
|
+
font-family: ${a.font.sans};
|
|
10
|
+
font-size: 18px;
|
|
11
|
+
color: ${a.colors.muted};
|
|
12
|
+
`,fd=r.p`
|
|
13
|
+
margin: 0;
|
|
14
|
+
font-family: ${a.font.sans};
|
|
15
|
+
font-size: 13px;
|
|
16
|
+
line-height: 1.5;
|
|
17
|
+
color: ${a.colors.muted};
|
|
18
|
+
text-align: center;
|
|
19
|
+
`,xd=r.p`
|
|
20
|
+
margin: 0;
|
|
21
|
+
font-family: ${a.font.sans};
|
|
22
|
+
font-size: 13px;
|
|
23
|
+
line-height: 1.5;
|
|
24
|
+
color: ${a.colors.text};
|
|
25
|
+
`;function Ii(t,s){const[o,l]=c.useState(!1),[d,u]=c.useState(!1),[h,m]=c.useState(null),g=c.useRef(null);c.useEffect(()=>{const x=new AbortController;return g.current=x,()=>x.abort(new DOMException("Modal closed","AbortError"))},[]);async function k(x){if(!t||o)return!0;m(null);try{const j=await t.cancelCurrent({payGas:x,onWaiting:w=>u(w>2e4)});return j!=="ok"?(m(j==="relay-reverted"?"reverted":"pending"),!1):(l(!0),!0)}catch(j){return he(j,{flow:"edit_price_cancel"}),s(it(j,n("listingEdit.cancelFailed"))),!1}finally{u(!1)}}return{cancelDone:o,slow:d,cancelFailed:h,setCancelFailed:m,cancelCurrent:k,signal:()=>{var x;return(x=g.current)==null?void 0:x.signal}}}function Gn({state:t,canPayGas:s,busy:o,onPayGas:l,onLater:d,testId:u="edit-cancel-relay-failed"}){return e.jsxs(xd,{"data-testid":u,children:[s?t==="reverted"?n("itemDetail.cancelRelayReverted"):n("itemDetail.cancelRelayFailed"):n("itemDetail.cancelRelayRetry"),s?e.jsxs(e.Fragment,{children:[" ",e.jsx(Gr,{type:"button","data-testid":"cancel-pay-gas",onClick:l,disabled:o,children:n("itemDetail.cancelPayGas")}),d?e.jsxs(e.Fragment,{children:[" ",e.jsx(Gr,{type:"button","data-testid":"cancel-later",onClick:d,disabled:o,children:n("itemDetail.cancelLater")})]}):null]}):null]})}function Si({phase:t,managed:s,slow:o}){const d=t==="list"?2:1,u=`listingEdit.${s?"step":"confirm"}${t==="list"?"New":"Removal"}`;return e.jsxs(tt,{"data-processing":!0,"data-testid":"listing-steps",role:"status","aria-live":"polite",children:[e.jsx(pi,{src:ui,alt:"",width:61,height:61}),e.jsx(hi,{children:n(u)}),e.jsxs(pd,{children:[e.jsx(fi,{"aria-hidden":!0,children:e.jsx(xi,{})}),e.jsxs(hd,{"data-testid":"listing-steps-count",children:[d,"/",2]})]}),o?e.jsx(fd,{"data-testid":"listing-steps-slow",children:n("listingEdit.slow")}):null]})}const bn=r.div`
|
|
26
|
+
position: fixed;
|
|
27
|
+
inset: 0;
|
|
28
|
+
z-index: 10000;
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
padding: 16px;
|
|
33
|
+
background: rgba(22, 21, 24, 0.55);
|
|
34
|
+
`,yn=r.div`
|
|
35
|
+
width: 560px;
|
|
36
|
+
max-width: 100%;
|
|
37
|
+
max-height: 92vh;
|
|
38
|
+
overflow-y: auto;
|
|
39
|
+
background: ${a.colors.white};
|
|
40
|
+
border-radius: 16px;
|
|
41
|
+
padding: 12px 16px 16px;
|
|
42
|
+
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
gap: 24px;
|
|
46
|
+
`,wn=r.div`
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
gap: 8px;
|
|
51
|
+
padding-bottom: 16px;
|
|
52
|
+
border-bottom: 1px solid ${a.colors.gray4};
|
|
53
|
+
`,vn=r.h2`
|
|
54
|
+
margin: 0;
|
|
55
|
+
font-family: ${a.font.sans};
|
|
56
|
+
font-weight: 600;
|
|
57
|
+
font-size: 20px;
|
|
58
|
+
line-height: 1.6;
|
|
59
|
+
color: ${a.colors.text};
|
|
60
|
+
`,jn=r.button`
|
|
61
|
+
flex: none;
|
|
62
|
+
display: grid;
|
|
63
|
+
place-items: center;
|
|
64
|
+
width: 24px;
|
|
65
|
+
height: 24px;
|
|
66
|
+
border: 0;
|
|
67
|
+
background: none;
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
color: ${a.colors.text};
|
|
70
|
+
|
|
71
|
+
.ico {
|
|
72
|
+
width: 18px;
|
|
73
|
+
height: 18px;
|
|
74
|
+
}
|
|
75
|
+
&:disabled {
|
|
76
|
+
opacity: 0.4;
|
|
77
|
+
cursor: default;
|
|
78
|
+
}
|
|
79
|
+
&:focus-visible {
|
|
80
|
+
outline: 2px solid ${a.colors.accent};
|
|
81
|
+
outline-offset: 2px;
|
|
82
|
+
}
|
|
83
|
+
`,md=r.p`
|
|
84
|
+
margin: 0;
|
|
85
|
+
font-family: ${a.font.sans};
|
|
86
|
+
font-size: 14px;
|
|
87
|
+
line-height: 1.57;
|
|
88
|
+
color: ${a.colors.text};
|
|
89
|
+
text-align: left;
|
|
90
|
+
`,gd=r.div`
|
|
91
|
+
display: flex;
|
|
92
|
+
align-items: center;
|
|
93
|
+
gap: 12px;
|
|
94
|
+
`,bd=r.div`
|
|
95
|
+
flex: none;
|
|
96
|
+
display: grid;
|
|
97
|
+
place-items: center;
|
|
98
|
+
width: 180px;
|
|
99
|
+
height: 180px;
|
|
100
|
+
border-radius: 16px;
|
|
101
|
+
background: ${a.colors.media};
|
|
102
|
+
border: 1px solid ${a.colors.gray4};
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
|
|
105
|
+
img {
|
|
106
|
+
width: 150px;
|
|
107
|
+
height: 150px;
|
|
108
|
+
object-fit: contain;
|
|
109
|
+
filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.1));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
${a.media.maxWidth("mobile")} {
|
|
113
|
+
width: 120px;
|
|
114
|
+
height: 120px;
|
|
115
|
+
|
|
116
|
+
img {
|
|
117
|
+
width: 100px;
|
|
118
|
+
height: 100px;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
`,yd=r.div`
|
|
122
|
+
flex: 1 1 0;
|
|
123
|
+
min-width: 0;
|
|
124
|
+
display: flex;
|
|
125
|
+
flex-direction: column;
|
|
126
|
+
gap: 4px;
|
|
127
|
+
padding: 8px;
|
|
128
|
+
`,wd=r.p`
|
|
129
|
+
margin: 0;
|
|
130
|
+
font-family: ${a.font.sans};
|
|
131
|
+
font-weight: 600;
|
|
132
|
+
font-size: 20px;
|
|
133
|
+
line-height: 1.57;
|
|
134
|
+
color: ${a.colors.text};
|
|
135
|
+
`,vd=r.p`
|
|
136
|
+
margin: 0;
|
|
137
|
+
font-family: ${a.font.sans};
|
|
138
|
+
font-size: 10px;
|
|
139
|
+
line-height: 1.43;
|
|
140
|
+
color: ${a.colors.muted};
|
|
141
|
+
`,jd=r.div`
|
|
142
|
+
display: flex;
|
|
143
|
+
gap: 12px;
|
|
144
|
+
|
|
145
|
+
${a.media.maxWidth("mobile")} {
|
|
146
|
+
flex-direction: column;
|
|
147
|
+
}
|
|
148
|
+
`,na=r.label`
|
|
149
|
+
flex: 1 1 0;
|
|
150
|
+
min-width: 0;
|
|
151
|
+
display: flex;
|
|
152
|
+
flex-direction: column;
|
|
153
|
+
gap: 4px;
|
|
154
|
+
`,ra=r.span`
|
|
155
|
+
font-family: ${a.font.sans};
|
|
156
|
+
font-size: 12px;
|
|
157
|
+
color: ${a.colors.muted};
|
|
158
|
+
`,kd=r.div`
|
|
159
|
+
display: flex;
|
|
160
|
+
align-items: center;
|
|
161
|
+
justify-content: space-between;
|
|
162
|
+
gap: 4px;
|
|
163
|
+
height: 42px;
|
|
164
|
+
padding: 0 8px;
|
|
165
|
+
border: 0.5px solid ${a.colors.text};
|
|
166
|
+
border-radius: 8px;
|
|
167
|
+
background: ${a.colors.white};
|
|
168
|
+
|
|
169
|
+
&:focus-within {
|
|
170
|
+
border-color: ${a.colors.magenta};
|
|
171
|
+
}
|
|
172
|
+
&[aria-invalid='true'] {
|
|
173
|
+
border-color: ${a.colors.err};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.ccy {
|
|
177
|
+
flex: none;
|
|
178
|
+
width: 22px;
|
|
179
|
+
height: 22px;
|
|
180
|
+
color: ${a.colors.rarity};
|
|
181
|
+
}
|
|
182
|
+
.cal {
|
|
183
|
+
flex: none;
|
|
184
|
+
width: 18px;
|
|
185
|
+
height: 18px;
|
|
186
|
+
color: ${a.colors.text};
|
|
187
|
+
}
|
|
188
|
+
`,$d=r.input`
|
|
189
|
+
flex: 1 1 auto;
|
|
190
|
+
min-width: 0;
|
|
191
|
+
border: 0;
|
|
192
|
+
outline: none;
|
|
193
|
+
background: transparent;
|
|
194
|
+
font-family: ${a.font.sans};
|
|
195
|
+
font-size: 13px;
|
|
196
|
+
color: ${a.colors.text};
|
|
197
|
+
|
|
198
|
+
&::placeholder {
|
|
199
|
+
color: ${a.colors.muted2};
|
|
200
|
+
}
|
|
201
|
+
/* Strip the number spinners — the glyph + USD hint carry the affordance. */
|
|
202
|
+
&::-webkit-outer-spin-button,
|
|
203
|
+
&::-webkit-inner-spin-button {
|
|
204
|
+
-webkit-appearance: none;
|
|
205
|
+
margin: 0;
|
|
206
|
+
}
|
|
207
|
+
&[type='number'] {
|
|
208
|
+
-moz-appearance: textfield;
|
|
209
|
+
appearance: textfield;
|
|
210
|
+
}
|
|
211
|
+
`,Cd=r.span`
|
|
212
|
+
flex: none;
|
|
213
|
+
font-family: ${a.font.sans};
|
|
214
|
+
font-size: 10px;
|
|
215
|
+
color: ${a.colors.muted2};
|
|
216
|
+
`,Id=r.div`
|
|
217
|
+
.react-datepicker-wrapper {
|
|
218
|
+
display: block;
|
|
219
|
+
width: 100%;
|
|
220
|
+
}
|
|
221
|
+
.react-datepicker__input-container {
|
|
222
|
+
display: flex;
|
|
223
|
+
align-items: center;
|
|
224
|
+
}
|
|
225
|
+
.react-datepicker__input-container input {
|
|
226
|
+
width: 100%;
|
|
227
|
+
height: 42px;
|
|
228
|
+
padding: 0 8px;
|
|
229
|
+
border: 0.5px solid ${a.colors.text};
|
|
230
|
+
border-radius: 8px;
|
|
231
|
+
background: ${a.colors.white};
|
|
232
|
+
font-family: ${a.font.sans};
|
|
233
|
+
font-size: 13px;
|
|
234
|
+
color: ${a.colors.text};
|
|
235
|
+
outline: none;
|
|
236
|
+
}
|
|
237
|
+
.react-datepicker__input-container input:focus {
|
|
238
|
+
border-color: ${a.colors.magenta};
|
|
239
|
+
}
|
|
240
|
+
&[data-invalid='true'] .react-datepicker__input-container input {
|
|
241
|
+
border-color: ${a.colors.err};
|
|
242
|
+
}
|
|
243
|
+
/* The showIcon calendar glyph inside the field. */
|
|
244
|
+
.react-datepicker__calendar-icon {
|
|
245
|
+
fill: ${a.colors.text};
|
|
246
|
+
opacity: 0.85;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
${Ko}
|
|
250
|
+
`,Sd=r.button`
|
|
251
|
+
width: 100%;
|
|
252
|
+
height: 48px;
|
|
253
|
+
border: 0;
|
|
254
|
+
border-radius: 16px;
|
|
255
|
+
cursor: pointer;
|
|
256
|
+
background: ${a.colors.accent};
|
|
257
|
+
color: ${a.colors.white};
|
|
258
|
+
font-family: ${a.font.sans};
|
|
259
|
+
font-weight: 600;
|
|
260
|
+
font-size: 15px;
|
|
261
|
+
line-height: 24px;
|
|
262
|
+
letter-spacing: 0.46px;
|
|
263
|
+
text-transform: uppercase;
|
|
264
|
+
|
|
265
|
+
&:hover:not(:disabled) {
|
|
266
|
+
background: ${a.colors.accentHover};
|
|
267
|
+
}
|
|
268
|
+
&:focus-visible {
|
|
269
|
+
outline: 2px solid ${a.colors.accent};
|
|
270
|
+
outline-offset: 2px;
|
|
271
|
+
}
|
|
272
|
+
&:disabled {
|
|
273
|
+
cursor: not-allowed;
|
|
274
|
+
background: rgba(105, 31, 169, 0.2);
|
|
275
|
+
color: ${a.colors.white};
|
|
276
|
+
}
|
|
277
|
+
`;r.p`
|
|
278
|
+
margin: 0;
|
|
279
|
+
font-family: ${a.font.sans};
|
|
280
|
+
font-size: 13px;
|
|
281
|
+
color: ${a.colors.muted};
|
|
282
|
+
text-align: center;
|
|
283
|
+
`;const Ad=r.p`
|
|
284
|
+
margin: 0;
|
|
285
|
+
font-family: ${a.font.sans};
|
|
286
|
+
font-size: 12px;
|
|
287
|
+
line-height: 1.5;
|
|
288
|
+
color: ${a.colors.muted};
|
|
289
|
+
`,Rd=r.div`
|
|
290
|
+
display: flex;
|
|
291
|
+
flex-direction: column;
|
|
292
|
+
align-items: center;
|
|
293
|
+
gap: 16px;
|
|
294
|
+
padding: 24px 16px;
|
|
295
|
+
border-radius: 16px;
|
|
296
|
+
background: rgba(193, 238, 207, 0.5);
|
|
297
|
+
text-align: center;
|
|
298
|
+
`,Md=r.div`
|
|
299
|
+
display: grid;
|
|
300
|
+
place-items: center;
|
|
301
|
+
width: 64px;
|
|
302
|
+
height: 64px;
|
|
303
|
+
border-radius: 50%;
|
|
304
|
+
background: ${a.colors.ok};
|
|
305
|
+
color: ${a.colors.white};
|
|
306
|
+
|
|
307
|
+
.ico {
|
|
308
|
+
width: 34px;
|
|
309
|
+
height: 34px;
|
|
310
|
+
}
|
|
311
|
+
`,Pd=r.p`
|
|
312
|
+
margin: 0;
|
|
313
|
+
font-family: ${a.font.sans};
|
|
314
|
+
font-size: 20px;
|
|
315
|
+
line-height: 1.334;
|
|
316
|
+
color: ${a.colors.text2};
|
|
317
|
+
|
|
318
|
+
b {
|
|
319
|
+
font-weight: 700;
|
|
320
|
+
}
|
|
321
|
+
`,Ld=r.div`
|
|
322
|
+
display: flex;
|
|
323
|
+
gap: 12px;
|
|
324
|
+
|
|
325
|
+
${a.media.maxWidth("mobile")} {
|
|
326
|
+
flex-direction: column-reverse;
|
|
327
|
+
}
|
|
328
|
+
`,zd=r.button`
|
|
329
|
+
flex: 1 1 0;
|
|
330
|
+
height: 48px;
|
|
331
|
+
border: 2px solid ${a.colors.accent};
|
|
332
|
+
border-radius: 12px;
|
|
333
|
+
background: transparent;
|
|
334
|
+
color: ${a.colors.accent};
|
|
335
|
+
cursor: pointer;
|
|
336
|
+
font-family: ${a.font.sans};
|
|
337
|
+
font-weight: 600;
|
|
338
|
+
font-size: 13px;
|
|
339
|
+
line-height: 24px;
|
|
340
|
+
letter-spacing: 0.46px;
|
|
341
|
+
text-transform: uppercase;
|
|
342
|
+
|
|
343
|
+
&:hover {
|
|
344
|
+
background: rgba(105, 31, 169, 0.06);
|
|
345
|
+
}
|
|
346
|
+
&:focus-visible {
|
|
347
|
+
outline: 2px solid ${a.colors.accent};
|
|
348
|
+
outline-offset: 2px;
|
|
349
|
+
}
|
|
350
|
+
`,Ed=r.button`
|
|
351
|
+
flex: 1 1 0;
|
|
352
|
+
height: 48px;
|
|
353
|
+
border: 0;
|
|
354
|
+
border-radius: 12px;
|
|
355
|
+
background: ${a.colors.accent};
|
|
356
|
+
color: ${a.colors.softWhite};
|
|
357
|
+
cursor: pointer;
|
|
358
|
+
font-family: ${a.font.sans};
|
|
359
|
+
font-weight: 600;
|
|
360
|
+
font-size: 13px;
|
|
361
|
+
line-height: 24px;
|
|
362
|
+
letter-spacing: 0.46px;
|
|
363
|
+
text-transform: uppercase;
|
|
364
|
+
|
|
365
|
+
&:hover {
|
|
366
|
+
background: ${a.colors.accentHover};
|
|
367
|
+
}
|
|
368
|
+
&:focus-visible {
|
|
369
|
+
outline: 2px solid ${a.colors.accent};
|
|
370
|
+
outline-offset: 2px;
|
|
371
|
+
}
|
|
372
|
+
`,Fd=30;function aa(t){const s=new Date;return s.setHours(0,0,0,0),s.setDate(s.getDate()+t),s}function Td({asset:t,session:s,creator:o,edit:l,onListed:d,onClose:u}){const h=mt(),m=ot(),g=ud(),{data:k}=ie({queryKey:["collection-meta",t.contractAddress],enabled:!o&&!!t.contractAddress,staleTime:5*6e4,queryFn:()=>ri(t.contractAddress)}),x=o||(k==null?void 0:k.creator),{data:j}=gt(x),w=x?j!=null&&j.name?bt(j.name):Qn(x):null,[$,I]=c.useState(l!=null&&l.currentCredits?String(l.currentCredits):"10"),[S,R]=c.useState(()=>aa(Fd)),[O,M]=c.useState(null),[b,B]=c.useState(!1),[i,K]=c.useState(null),[Q,V]=c.useState("form"),X=c.useRef({}),{cancelDone:ne,slow:te,cancelFailed:ce,setCancelFailed:le,cancelCurrent:J,signal:z}=Ii(l,M),T=Vn(s),_=Number($),p=Number.isInteger(_)&&_>0,A=!!l&&!ne&&_===l.currentCredits,C=S?S.getTime():NaN,P=!!S&&C>Date.now(),W=aa(1),H=p?`$${rt(_).toFixed(2)}`:"$0";async function se(G={}){if(M(null),!p){M(n("sellModal.errorWholeNumber"));return}if(!P){M(n("sellModal.invalidDate"));return}if(!T){B(!0);try{const re=Qr(t.contractAddress,t.chainId),xe=await gi(re,s.address);if(B(!1),!xe){X.current=G,V("authorize");return}}catch{B(!1)}}await je(G)}async function je(G={}){var re,xe;if(M(null),!p){M(n("sellModal.errorWholeNumber"));return}if(!P){M(n("sellModal.invalidDate"));return}B(!0);try{if(!await J(G.payGas))return;await Pl({signer:s.signer,contractAddress:t.contractAddress,chainId:t.chainId});const ke=await Ll({signer:s.signer,nft:{contractAddress:t.contractAddress,tokenId:t.tokenId,network:t.network,chainId:t.chainId},usdPrice:rt(_),expiresAtMs:C}),$e=await(l?ji(ke,s.identity,{signal:z()}):ni(ke,s.identity));(re=z())==null||re.throwIfAborted(),K(_),Z("Shop Listed Item",{item_id:t.itemId??t.tokenId??null,contract_address:t.contractAddress,price_credits:_,price_usd:rt(_),listing_type:"secondary",is_primary:!1}),tn.success(n(l?"listingEdit.toastUpdated":"sellModal.toastOnSale",{name:t.name})),h.invalidateQueries({queryKey:["my-assets",s.address]}),d==null||d(_,$e.id)}catch(ke){if((xe=z())!=null&&xe.aborted)return;he(ke,{flow:"list_secondary"}),Z("Shop Listing Failed",{listing_type:"secondary",error_code:Ae(ke)}),M(it(ke,n(l?"listingEdit.listFailedAfterCancel":"sellModal.errorGeneric")))}finally{B(!1)}}function ee(){u(),m("/my-items")}return i!==null?e.jsx(bn,{onClick:u,role:"presentation",children:e.jsxs(yn,{onClick:G=>G.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n(l?"listingEdit.successHeader":"sellModal.successHeader"),children:[e.jsxs(wn,{children:[e.jsx(vn,{children:n(l?"listingEdit.successHeader":"sellModal.successHeader")}),e.jsx(jn,{onClick:u,"aria-label":n("getCredits.done"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsxs(Rd,{children:[e.jsx(Md,{"aria-hidden":!0,children:e.jsx(E,{name:"check",className:"ico"})}),e.jsxs(Pd,{children:[e.jsx("b",{children:n(l?"listingEdit.successBody":"sellModal.successOnSale")})," ",n("sellModal.successManage")]})]}),e.jsxs(Ld,{children:[e.jsx(zd,{onClick:ee,children:n("sellModal.myItems")}),e.jsx(Ed,{onClick:u,children:n("getCredits.done")})]})]})}):Q==="authorize"?e.jsx(ci,{auth:Qr(t.contractAddress,t.chainId),signer:s.signer,title:n("authorizeStep.sellTitle"),name:t.name,image:t.image,icon:e.jsx(E,{name:"pen",className:"ico"}),reason:n("authorizeStep.sellReason",{name:t.name}),onAuthorized:()=>{V("form"),je(X.current)},onCancel:()=>V("form"),onClose:u}):l&&b?e.jsx(bn,{role:"presentation",children:e.jsxs(yn,{onClick:G=>G.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("listingEdit.title"),"data-testid":"modal",children:[e.jsxs(wn,{children:[e.jsx(vn,{children:n("listingEdit.title")}),e.jsx(jn,{disabled:!0,"aria-label":n("sellModal.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(Si,{phase:ne?"list":"cancel",managed:T,slow:te})]})}):e.jsx(bn,{onClick:b?void 0:u,role:"presentation",children:e.jsxs(yn,{"data-testid":"modal",onClick:G=>G.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n(l?"listingEdit.title":"sellModal.sellProduct"),children:[e.jsxs(wn,{children:[e.jsx(vn,{children:n(l?"listingEdit.title":"sellModal.sellProduct")}),e.jsx(jn,{onClick:u,disabled:b,"aria-label":n("sellModal.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(md,{children:n(l?"listingEdit.subtitle":"sellModal.subtitle")}),e.jsxs(gd,{children:[e.jsx(bd,{children:t.image?e.jsx("img",{src:t.image,alt:""}):null}),e.jsxs(yd,{children:[e.jsx(wd,{children:t.name}),w?e.jsx(vd,{children:n("sellModal.byCreator",{name:w})}):null]})]}),e.jsxs(jd,{children:[e.jsxs(na,{children:[e.jsx(ra,{children:n("sellModal.priceShort")}),e.jsxs(kd,{"aria-invalid":$.length>0&&!p,children:[e.jsx(Pe,{className:"ccy"}),e.jsx($d,{"data-testid":"price-input",type:"number",min:"1",step:"1",inputMode:"numeric",value:$,onChange:G=>I(G.target.value),disabled:b,"aria-label":n("sellModal.priceLabel",{currency:"credits"})}),e.jsx(Cd,{"aria-hidden":!0,children:H})]})]}),e.jsxs(na,{children:[e.jsx(ra,{children:n("sellModal.expirationLabel")}),e.jsx(Id,{"data-invalid":!!S&&!P,children:e.jsx(Ho,{selected:S,onChange:R,minDate:W,dateFormat:"MM/dd/yyyy",placeholderText:"MM/DD/YYYY",disabled:b,showIcon:!0,showPopperArrow:!1,todayButton:n("sellModal.today"),ariaLabelledBy:void 0,"aria-label":n("sellModal.expirationLabel")})})]})]}),g&&p?e.jsx(Ad,{children:n("sellModal.proceedsCredits",{count:_})}):null,ce?e.jsx(Gn,{state:ce,canPayGas:!!(l!=null&&l.canPayGas),busy:b,onPayGas:()=>void se({payGas:!0}),onLater:()=>le(null)}):null,e.jsx(st,{message:O}),e.jsx(Sd,{onClick:()=>void se(),disabled:b||A||ce==="pending"||!p||!P,"data-testid":"list-submit",children:l?n(ne?"sellModal.putUpForSale":"listingEdit.submit"):b?T?n("sellModal.puttingOnSale"):n("sellModal.confirmListing"):n("sellModal.putUpForSale")})]})})}const Nd=r.div`
|
|
373
|
+
position: fixed;
|
|
374
|
+
inset: 0;
|
|
375
|
+
z-index: 10000;
|
|
376
|
+
display: flex;
|
|
377
|
+
align-items: center;
|
|
378
|
+
justify-content: center;
|
|
379
|
+
padding: 16px;
|
|
380
|
+
background: rgba(22, 21, 24, 0.55);
|
|
381
|
+
`,_d=r.div`
|
|
382
|
+
width: 560px;
|
|
383
|
+
max-width: 100%;
|
|
384
|
+
max-height: 92vh;
|
|
385
|
+
overflow-y: auto;
|
|
386
|
+
background: ${a.colors.white};
|
|
387
|
+
border-radius: 16px;
|
|
388
|
+
padding: 12px 16px 16px;
|
|
389
|
+
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
|
|
390
|
+
display: flex;
|
|
391
|
+
flex-direction: column;
|
|
392
|
+
gap: 24px;
|
|
393
|
+
|
|
394
|
+
${a.media.maxWidth("mobile")} {
|
|
395
|
+
padding: 12px 16px 16px;
|
|
396
|
+
}
|
|
397
|
+
`,Bd=r.div`
|
|
398
|
+
display: flex;
|
|
399
|
+
flex-direction: column;
|
|
400
|
+
gap: 4px;
|
|
401
|
+
padding-bottom: 16px;
|
|
402
|
+
border-bottom: 1px solid ${a.colors.gray4};
|
|
403
|
+
`,Wd=r.div`
|
|
404
|
+
display: flex;
|
|
405
|
+
align-items: center;
|
|
406
|
+
justify-content: space-between;
|
|
407
|
+
gap: 8px;
|
|
408
|
+
`,Dd=r.h2`
|
|
409
|
+
margin: 0;
|
|
410
|
+
font-family: ${a.font.sans};
|
|
411
|
+
font-weight: 600;
|
|
412
|
+
font-size: 20px;
|
|
413
|
+
line-height: 1.6;
|
|
414
|
+
color: ${a.colors.text};
|
|
415
|
+
`,qd=r.button`
|
|
416
|
+
flex: none;
|
|
417
|
+
display: grid;
|
|
418
|
+
place-items: center;
|
|
419
|
+
width: 24px;
|
|
420
|
+
height: 24px;
|
|
421
|
+
border: 0;
|
|
422
|
+
background: none;
|
|
423
|
+
cursor: pointer;
|
|
424
|
+
color: ${a.colors.text};
|
|
425
|
+
|
|
426
|
+
.ico {
|
|
427
|
+
width: 18px;
|
|
428
|
+
height: 18px;
|
|
429
|
+
}
|
|
430
|
+
&:disabled {
|
|
431
|
+
opacity: 0.4;
|
|
432
|
+
cursor: default;
|
|
433
|
+
}
|
|
434
|
+
&:focus-visible {
|
|
435
|
+
outline: 2px solid ${a.colors.accent};
|
|
436
|
+
outline-offset: 2px;
|
|
437
|
+
}
|
|
438
|
+
`,Od=r.div`
|
|
439
|
+
display: flex;
|
|
440
|
+
align-items: center;
|
|
441
|
+
gap: 12px;
|
|
442
|
+
`,Kd=r.img`
|
|
443
|
+
flex: none;
|
|
444
|
+
width: 72px;
|
|
445
|
+
height: 72px;
|
|
446
|
+
border-radius: 12px;
|
|
447
|
+
object-fit: cover;
|
|
448
|
+
background: ${a.colors.media};
|
|
449
|
+
`,Hd=r.p`
|
|
450
|
+
margin: 0;
|
|
451
|
+
font-family: ${a.font.sans};
|
|
452
|
+
font-weight: 600;
|
|
453
|
+
font-size: 18px;
|
|
454
|
+
line-height: 1.4;
|
|
455
|
+
color: ${a.colors.text};
|
|
456
|
+
`,Ud=r.label`
|
|
457
|
+
display: flex;
|
|
458
|
+
flex-direction: column;
|
|
459
|
+
gap: 6px;
|
|
460
|
+
`,Qd=r.span`
|
|
461
|
+
font-family: ${a.font.sans};
|
|
462
|
+
font-size: 12px;
|
|
463
|
+
color: ${a.colors.muted};
|
|
464
|
+
`,Vd=r.input`
|
|
465
|
+
width: 100%;
|
|
466
|
+
height: 44px;
|
|
467
|
+
padding: 0 12px;
|
|
468
|
+
border: 1px solid ${a.colors.text};
|
|
469
|
+
border-radius: 8px;
|
|
470
|
+
background: ${a.colors.white};
|
|
471
|
+
font-family: ${a.font.sans};
|
|
472
|
+
font-size: 14px;
|
|
473
|
+
color: ${a.colors.text};
|
|
474
|
+
|
|
475
|
+
&::placeholder {
|
|
476
|
+
color: ${a.colors.muted2};
|
|
477
|
+
}
|
|
478
|
+
&:focus-visible {
|
|
479
|
+
outline: none;
|
|
480
|
+
border-color: ${a.colors.magenta};
|
|
481
|
+
}
|
|
482
|
+
&[aria-invalid='true'] {
|
|
483
|
+
border-color: ${a.colors.err};
|
|
484
|
+
}
|
|
485
|
+
&:disabled {
|
|
486
|
+
opacity: 0.6;
|
|
487
|
+
}
|
|
488
|
+
`,Gd=r.p`
|
|
489
|
+
margin: 0;
|
|
490
|
+
padding: 12px 14px;
|
|
491
|
+
border-radius: 10px;
|
|
492
|
+
background: rgba(255, 45, 85, 0.1);
|
|
493
|
+
font-family: ${a.font.sans};
|
|
494
|
+
font-size: 13px;
|
|
495
|
+
line-height: 1.5;
|
|
496
|
+
color: ${a.colors.text2};
|
|
497
|
+
`,ia=r.div`
|
|
498
|
+
display: flex;
|
|
499
|
+
gap: 12px;
|
|
500
|
+
|
|
501
|
+
${a.media.maxWidth("mobile")} {
|
|
502
|
+
flex-direction: column-reverse;
|
|
503
|
+
}
|
|
504
|
+
`,Yd=r.button`
|
|
505
|
+
flex: 1;
|
|
506
|
+
height: 48px;
|
|
507
|
+
border: 2px solid ${a.colors.blackBtn};
|
|
508
|
+
border-radius: 16px;
|
|
509
|
+
background: transparent;
|
|
510
|
+
color: ${a.colors.text};
|
|
511
|
+
cursor: pointer;
|
|
512
|
+
font-family: ${a.font.sans};
|
|
513
|
+
font-weight: 600;
|
|
514
|
+
font-size: 15px;
|
|
515
|
+
line-height: 24px;
|
|
516
|
+
letter-spacing: 0.46px;
|
|
517
|
+
text-transform: uppercase;
|
|
518
|
+
|
|
519
|
+
&:hover:not(:disabled) {
|
|
520
|
+
background: rgba(36, 33, 41, 0.06);
|
|
521
|
+
}
|
|
522
|
+
&:focus-visible {
|
|
523
|
+
outline: 2px solid ${a.colors.accent};
|
|
524
|
+
outline-offset: 2px;
|
|
525
|
+
}
|
|
526
|
+
&:disabled {
|
|
527
|
+
opacity: 0.5;
|
|
528
|
+
cursor: default;
|
|
529
|
+
}
|
|
530
|
+
`,sa=r.button`
|
|
531
|
+
flex: 1;
|
|
532
|
+
display: inline-flex;
|
|
533
|
+
align-items: center;
|
|
534
|
+
justify-content: center;
|
|
535
|
+
gap: 8px;
|
|
536
|
+
height: 48px;
|
|
537
|
+
border: 0;
|
|
538
|
+
border-radius: 16px;
|
|
539
|
+
background: ${a.colors.blackBtn};
|
|
540
|
+
color: ${a.colors.softWhite};
|
|
541
|
+
cursor: pointer;
|
|
542
|
+
font-family: ${a.font.sans};
|
|
543
|
+
font-weight: 600;
|
|
544
|
+
font-size: 15px;
|
|
545
|
+
line-height: 24px;
|
|
546
|
+
letter-spacing: 0.46px;
|
|
547
|
+
text-transform: uppercase;
|
|
548
|
+
|
|
549
|
+
&:hover:not(:disabled) {
|
|
550
|
+
filter: brightness(1.35);
|
|
551
|
+
}
|
|
552
|
+
&:focus-visible {
|
|
553
|
+
outline: 2px solid ${a.colors.accent};
|
|
554
|
+
outline-offset: 2px;
|
|
555
|
+
}
|
|
556
|
+
&:disabled {
|
|
557
|
+
opacity: 0.55;
|
|
558
|
+
cursor: default;
|
|
559
|
+
}
|
|
560
|
+
`,Jd=r.div`
|
|
561
|
+
display: flex;
|
|
562
|
+
flex-direction: column;
|
|
563
|
+
align-items: center;
|
|
564
|
+
gap: 16px;
|
|
565
|
+
padding: 24px 16px;
|
|
566
|
+
border-radius: 16px;
|
|
567
|
+
background: rgba(193, 238, 207, 0.5);
|
|
568
|
+
text-align: center;
|
|
569
|
+
`,Xd=r.div`
|
|
570
|
+
display: grid;
|
|
571
|
+
place-items: center;
|
|
572
|
+
width: 64px;
|
|
573
|
+
height: 64px;
|
|
574
|
+
border-radius: 50%;
|
|
575
|
+
background: ${a.colors.ok};
|
|
576
|
+
color: ${a.colors.white};
|
|
577
|
+
|
|
578
|
+
.ico {
|
|
579
|
+
width: 34px;
|
|
580
|
+
height: 34px;
|
|
581
|
+
}
|
|
582
|
+
`,Zd=r.p`
|
|
583
|
+
margin: 0;
|
|
584
|
+
font-family: ${a.font.sans};
|
|
585
|
+
font-size: 16px;
|
|
586
|
+
line-height: 1.34;
|
|
587
|
+
color: ${a.colors.text2};
|
|
588
|
+
|
|
589
|
+
b {
|
|
590
|
+
font-weight: 700;
|
|
591
|
+
}
|
|
592
|
+
`;function ec(t){return/^0x[a-fA-F0-9]{40}$/.test(t.trim())}function tc({item:t,session:s,onClose:o,onTransferred:l}){const[d,u]=c.useState(""),[h,m]=c.useState(!1),[g,k]=c.useState(null),[x,j]=c.useState(!1),w=d.trim(),$=ec(w),I=$&&w.toLowerCase()===s.address.toLowerCase(),S=w.length===0?null:$?I?n("transfer.selfAddress"):null:n("transfer.invalidAddress"),R=$&&!I&&!h;async function O(){if(R){k(null),m(!0);try{await Do({contractAddress:t.contractAddress,chainId:t.chainId,tokenId:t.tokenId,to:w,signer:s.signer}),Z("Shop Transferred Item",{contract_address:t.contractAddress,token_id:t.tokenId}),j(!0),tn.success(n("transfer.toastSuccess",{name:t.name})),l==null||l()}catch(M){Zt(M)||he(M,{flow:"transfer-item",tokenId:t.tokenId}),Z("Shop Transfer Failed",{error_code:Ae(M)}),k(Zt(M)?n("getCredits.errorCanceled"):it(M,n("transfer.errorGeneric")))}finally{m(!1)}}}return e.jsx(Nd,{onClick:h?void 0:o,role:"presentation",children:e.jsxs(_d,{onClick:M=>M.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("transfer.title"),children:[e.jsx(Bd,{children:e.jsxs(Wd,{children:[e.jsx(Dd,{children:n("transfer.title")}),e.jsx(qd,{onClick:o,disabled:h,"aria-label":n("sellModal.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]})}),x?e.jsxs(e.Fragment,{children:[e.jsxs(Jd,{children:[e.jsx(Xd,{"aria-hidden":!0,children:e.jsx(E,{name:"check",className:"ico"})}),e.jsx(Zd,{children:n("transfer.successBody",{name:t.name})})]}),e.jsx(ia,{children:e.jsx(sa,{onClick:o,children:n("getCredits.done")})})]}):e.jsxs(e.Fragment,{children:[e.jsxs(Od,{children:[t.thumbnail?e.jsx(Kd,{src:t.thumbnail,alt:""}):null,e.jsx(Hd,{children:t.name})]}),e.jsxs(Ud,{children:[e.jsx(Qd,{children:n("transfer.addressLabel")}),e.jsx(Vd,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"0x…",value:d,onChange:M=>u(M.target.value),disabled:h,"aria-invalid":!!S,"aria-label":n("transfer.addressLabel")}),S?e.jsx(st,{message:S}):null]}),e.jsx(Gd,{children:n("transfer.warning")}),e.jsx(st,{message:g}),e.jsxs(ia,{children:[e.jsx(Yd,{onClick:o,disabled:h,children:n("sellModal.cancel")}),e.jsx(sa,{onClick:()=>void O(),disabled:!R,children:h?n("transfer.transferring"):n("transfer.transfer")})]})]})]})})}const nc=r(Hl)`
|
|
593
|
+
width: min(500px, 92vw);
|
|
594
|
+
gap: 20px;
|
|
595
|
+
|
|
596
|
+
${a.media.maxWidth("mobile")} {
|
|
597
|
+
[data-actions] {
|
|
598
|
+
flex-direction: column-reverse;
|
|
599
|
+
}
|
|
600
|
+
[data-actions] > * {
|
|
601
|
+
width: 100%;
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
`,rc=r(Ve)`
|
|
605
|
+
background: ${a.colors.accent};
|
|
606
|
+
color: ${a.colors.white};
|
|
607
|
+
text-transform: uppercase;
|
|
608
|
+
letter-spacing: 0.046em;
|
|
609
|
+
font-size: 13px;
|
|
610
|
+
|
|
611
|
+
&:hover:not(:disabled) {
|
|
612
|
+
background: ${a.colors.accentHover};
|
|
613
|
+
}
|
|
614
|
+
`;function ac({name:t,managed:s,canPayGas:o,cancel:l,onClose:d}){const[u,h]=c.useState(!1),[m,g]=c.useState(!1),[k,x]=c.useState(null),[j,w]=c.useState(null);async function $(I){x(null),w(null),h(!0);try{const S=await l({payGas:I,onWaiting:R=>g(R>2e4)});S==="ok"?d():w(S==="relay-reverted"?"reverted":"pending")}catch(S){const R=Zt(S);R||he(S,{flow:"remove-listing"});const O=n("myAssets.removeListingError");x(s?O:R?n("getCredits.errorCanceled"):it(S,O))}finally{h(!1),g(!1)}}return e.jsx(Ul,{onClick:u?void 0:d,role:"presentation",children:e.jsxs(nc,{onClick:I=>I.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("removeListing.title"),"data-testid":"remove-listing-modal",children:[e.jsx(Ql,{children:e.jsx(Vl,{children:n("removeListing.title")})}),e.jsx("p",{className:"muted",style:{margin:0},children:n("removeListing.body",{name:t})}),u&&m?e.jsx("p",{className:"muted small",style:{margin:0},"data-testid":"cancel-slow",children:n(o?"itemDetail.cancelSlow":"itemDetail.cancelSlowManaged")}):null,j?e.jsx(Gn,{state:j,canPayGas:o,busy:u,onPayGas:()=>void $(!0),testId:"cancel-gasless-failed"}):null,e.jsx(st,{message:k}),e.jsxs(Gl,{"data-actions":!0,children:[e.jsx(Ve,{variant:"outline",onClick:d,disabled:u,children:n("sellModal.cancel")}),e.jsx(rc,{onClick:()=>void $(),disabled:u||j==="pending","data-testid":"remove-confirm",children:u?e.jsx(Yl,{size:"small"}):n("itemDetail.manageRemove")})]})]})})}const kn=r.div`
|
|
615
|
+
position: fixed;
|
|
616
|
+
inset: 0;
|
|
617
|
+
z-index: 10000;
|
|
618
|
+
display: flex;
|
|
619
|
+
align-items: center;
|
|
620
|
+
justify-content: center;
|
|
621
|
+
padding: 16px;
|
|
622
|
+
background: rgba(22, 21, 24, 0.55);
|
|
623
|
+
`,$n=r.div`
|
|
624
|
+
width: 560px;
|
|
625
|
+
max-width: 100%;
|
|
626
|
+
max-height: 92vh;
|
|
627
|
+
overflow-y: auto;
|
|
628
|
+
background: ${a.colors.white};
|
|
629
|
+
border-radius: 16px;
|
|
630
|
+
padding: 12px 16px 16px;
|
|
631
|
+
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
|
|
632
|
+
display: flex;
|
|
633
|
+
flex-direction: column;
|
|
634
|
+
gap: 24px;
|
|
635
|
+
`,Cn=r.div`
|
|
636
|
+
display: flex;
|
|
637
|
+
align-items: center;
|
|
638
|
+
justify-content: space-between;
|
|
639
|
+
gap: 8px;
|
|
640
|
+
padding-bottom: 16px;
|
|
641
|
+
border-bottom: 1px solid ${a.colors.gray4};
|
|
642
|
+
`,In=r.h2`
|
|
643
|
+
margin: 0;
|
|
644
|
+
font-family: ${a.font.sans};
|
|
645
|
+
font-weight: 600;
|
|
646
|
+
font-size: 20px;
|
|
647
|
+
line-height: 1.6;
|
|
648
|
+
color: ${a.colors.text};
|
|
649
|
+
`,Sn=r.button`
|
|
650
|
+
flex: none;
|
|
651
|
+
display: grid;
|
|
652
|
+
place-items: center;
|
|
653
|
+
width: 24px;
|
|
654
|
+
height: 24px;
|
|
655
|
+
border: 0;
|
|
656
|
+
background: none;
|
|
657
|
+
cursor: pointer;
|
|
658
|
+
color: ${a.colors.text};
|
|
659
|
+
|
|
660
|
+
.ico {
|
|
661
|
+
width: 18px;
|
|
662
|
+
height: 18px;
|
|
663
|
+
}
|
|
664
|
+
&:disabled {
|
|
665
|
+
opacity: 0.4;
|
|
666
|
+
cursor: default;
|
|
667
|
+
}
|
|
668
|
+
&:focus-visible {
|
|
669
|
+
outline: 2px solid ${a.colors.accent};
|
|
670
|
+
outline-offset: 2px;
|
|
671
|
+
}
|
|
672
|
+
`,ic=r.p`
|
|
673
|
+
margin: 0;
|
|
674
|
+
font-family: ${a.font.sans};
|
|
675
|
+
font-size: 14px;
|
|
676
|
+
line-height: 1.57;
|
|
677
|
+
color: ${a.colors.text};
|
|
678
|
+
text-align: left;
|
|
679
|
+
`,sc=r.div`
|
|
680
|
+
display: flex;
|
|
681
|
+
align-items: center;
|
|
682
|
+
gap: 12px;
|
|
683
|
+
`,oc=r.div`
|
|
684
|
+
flex: none;
|
|
685
|
+
display: grid;
|
|
686
|
+
place-items: center;
|
|
687
|
+
width: 180px;
|
|
688
|
+
height: 180px;
|
|
689
|
+
border-radius: 16px;
|
|
690
|
+
background: ${a.colors.media};
|
|
691
|
+
border: 1px solid ${a.colors.gray4};
|
|
692
|
+
overflow: hidden;
|
|
693
|
+
|
|
694
|
+
img {
|
|
695
|
+
width: 150px;
|
|
696
|
+
height: 150px;
|
|
697
|
+
object-fit: contain;
|
|
698
|
+
filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.1));
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
${a.media.maxWidth("mobile")} {
|
|
702
|
+
width: 120px;
|
|
703
|
+
height: 120px;
|
|
704
|
+
|
|
705
|
+
img {
|
|
706
|
+
width: 100px;
|
|
707
|
+
height: 100px;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
`,lc=r.div`
|
|
711
|
+
flex: 1 1 0;
|
|
712
|
+
min-width: 0;
|
|
713
|
+
display: flex;
|
|
714
|
+
flex-direction: column;
|
|
715
|
+
gap: 4px;
|
|
716
|
+
padding: 8px;
|
|
717
|
+
`,dc=r.p`
|
|
718
|
+
margin: 0;
|
|
719
|
+
font-family: ${a.font.sans};
|
|
720
|
+
font-weight: 600;
|
|
721
|
+
font-size: 20px;
|
|
722
|
+
line-height: 1.57;
|
|
723
|
+
color: ${a.colors.text};
|
|
724
|
+
`,cc=r.p`
|
|
725
|
+
margin: 0;
|
|
726
|
+
font-family: ${a.font.sans};
|
|
727
|
+
font-size: 10px;
|
|
728
|
+
line-height: 1.43;
|
|
729
|
+
color: ${a.colors.muted};
|
|
730
|
+
`,uc=r.label`
|
|
731
|
+
display: flex;
|
|
732
|
+
flex-direction: column;
|
|
733
|
+
gap: 4px;
|
|
734
|
+
`,pc=r.span`
|
|
735
|
+
font-family: ${a.font.sans};
|
|
736
|
+
font-size: 12px;
|
|
737
|
+
color: ${a.colors.muted};
|
|
738
|
+
`,hc=r.div`
|
|
739
|
+
display: flex;
|
|
740
|
+
align-items: center;
|
|
741
|
+
justify-content: space-between;
|
|
742
|
+
gap: 4px;
|
|
743
|
+
height: 42px;
|
|
744
|
+
padding: 0 8px;
|
|
745
|
+
border: 0.5px solid ${a.colors.text};
|
|
746
|
+
border-radius: 8px;
|
|
747
|
+
background: ${a.colors.white};
|
|
748
|
+
|
|
749
|
+
&:focus-within {
|
|
750
|
+
border-color: ${a.colors.magenta};
|
|
751
|
+
}
|
|
752
|
+
&[aria-invalid='true'] {
|
|
753
|
+
border-color: ${a.colors.err};
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
.ccy {
|
|
757
|
+
flex: none;
|
|
758
|
+
width: 22px;
|
|
759
|
+
height: 22px;
|
|
760
|
+
color: ${a.colors.rarity};
|
|
761
|
+
}
|
|
762
|
+
`,fc=r.input`
|
|
763
|
+
flex: 1 1 auto;
|
|
764
|
+
min-width: 0;
|
|
765
|
+
border: 0;
|
|
766
|
+
outline: none;
|
|
767
|
+
background: transparent;
|
|
768
|
+
font-family: ${a.font.sans};
|
|
769
|
+
font-size: 13px;
|
|
770
|
+
color: ${a.colors.text};
|
|
771
|
+
|
|
772
|
+
&::placeholder {
|
|
773
|
+
color: ${a.colors.muted2};
|
|
774
|
+
}
|
|
775
|
+
/* Strip the number spinners — the glyph + USD hint carry the affordance. */
|
|
776
|
+
&::-webkit-outer-spin-button,
|
|
777
|
+
&::-webkit-inner-spin-button {
|
|
778
|
+
-webkit-appearance: none;
|
|
779
|
+
margin: 0;
|
|
780
|
+
}
|
|
781
|
+
&[type='number'] {
|
|
782
|
+
-moz-appearance: textfield;
|
|
783
|
+
appearance: textfield;
|
|
784
|
+
}
|
|
785
|
+
`,xc=r.span`
|
|
786
|
+
flex: none;
|
|
787
|
+
font-family: ${a.font.sans};
|
|
788
|
+
font-size: 10px;
|
|
789
|
+
color: ${a.colors.muted2};
|
|
790
|
+
`,Vt=r.p`
|
|
791
|
+
margin: 0;
|
|
792
|
+
font-family: ${a.font.sans};
|
|
793
|
+
font-size: 12px;
|
|
794
|
+
line-height: 1.5;
|
|
795
|
+
color: ${a.colors.muted};
|
|
796
|
+
`,mc=r.button`
|
|
797
|
+
width: 100%;
|
|
798
|
+
height: 48px;
|
|
799
|
+
border: 0;
|
|
800
|
+
border-radius: 16px;
|
|
801
|
+
cursor: pointer;
|
|
802
|
+
background: ${a.colors.accent};
|
|
803
|
+
color: ${a.colors.white};
|
|
804
|
+
font-family: ${a.font.sans};
|
|
805
|
+
font-weight: 600;
|
|
806
|
+
font-size: 15px;
|
|
807
|
+
line-height: 24px;
|
|
808
|
+
letter-spacing: 0.46px;
|
|
809
|
+
text-transform: uppercase;
|
|
810
|
+
|
|
811
|
+
&:hover:not(:disabled) {
|
|
812
|
+
background: ${a.colors.accentHover};
|
|
813
|
+
}
|
|
814
|
+
&:focus-visible {
|
|
815
|
+
outline: 2px solid ${a.colors.accent};
|
|
816
|
+
outline-offset: 2px;
|
|
817
|
+
}
|
|
818
|
+
&:disabled {
|
|
819
|
+
cursor: not-allowed;
|
|
820
|
+
background: rgba(105, 31, 169, 0.2);
|
|
821
|
+
color: ${a.colors.white};
|
|
822
|
+
}
|
|
823
|
+
`,gc=r.p`
|
|
824
|
+
margin: 0;
|
|
825
|
+
font-family: ${a.font.sans};
|
|
826
|
+
font-size: 13px;
|
|
827
|
+
color: ${a.colors.muted};
|
|
828
|
+
text-align: center;
|
|
829
|
+
`,bc=r.div`
|
|
830
|
+
display: flex;
|
|
831
|
+
flex-direction: column;
|
|
832
|
+
align-items: center;
|
|
833
|
+
gap: 16px;
|
|
834
|
+
padding: 24px 16px;
|
|
835
|
+
border-radius: 16px;
|
|
836
|
+
background: rgba(193, 238, 207, 0.5);
|
|
837
|
+
text-align: center;
|
|
838
|
+
`,yc=r.div`
|
|
839
|
+
display: grid;
|
|
840
|
+
place-items: center;
|
|
841
|
+
width: 64px;
|
|
842
|
+
height: 64px;
|
|
843
|
+
border-radius: 50%;
|
|
844
|
+
background: ${a.colors.ok};
|
|
845
|
+
color: ${a.colors.white};
|
|
846
|
+
|
|
847
|
+
.ico {
|
|
848
|
+
width: 34px;
|
|
849
|
+
height: 34px;
|
|
850
|
+
}
|
|
851
|
+
`,wc=r.p`
|
|
852
|
+
margin: 0;
|
|
853
|
+
font-family: ${a.font.sans};
|
|
854
|
+
font-size: 20px;
|
|
855
|
+
line-height: 1.334;
|
|
856
|
+
color: ${a.colors.text2};
|
|
857
|
+
|
|
858
|
+
b {
|
|
859
|
+
font-weight: 700;
|
|
860
|
+
}
|
|
861
|
+
`,vc=r.p`
|
|
862
|
+
margin: 0;
|
|
863
|
+
display: inline-flex;
|
|
864
|
+
align-items: center;
|
|
865
|
+
gap: 4px;
|
|
866
|
+
font-family: ${a.font.sans};
|
|
867
|
+
font-size: 14px;
|
|
868
|
+
line-height: 1.43;
|
|
869
|
+
color: ${a.colors.text2};
|
|
870
|
+
|
|
871
|
+
strong {
|
|
872
|
+
display: inline-flex;
|
|
873
|
+
align-items: center;
|
|
874
|
+
gap: 4px;
|
|
875
|
+
font-weight: 700;
|
|
876
|
+
}
|
|
877
|
+
.ccy-mark {
|
|
878
|
+
width: 18px;
|
|
879
|
+
height: 18px;
|
|
880
|
+
color: ${a.colors.rarity};
|
|
881
|
+
}
|
|
882
|
+
`,jc=r.div`
|
|
883
|
+
display: flex;
|
|
884
|
+
gap: 12px;
|
|
885
|
+
|
|
886
|
+
${a.media.maxWidth("mobile")} {
|
|
887
|
+
flex-direction: column-reverse;
|
|
888
|
+
}
|
|
889
|
+
`,kc=r.button`
|
|
890
|
+
flex: 1 1 0;
|
|
891
|
+
height: 48px;
|
|
892
|
+
border: 2px solid ${a.colors.accent};
|
|
893
|
+
border-radius: 12px;
|
|
894
|
+
background: transparent;
|
|
895
|
+
color: ${a.colors.accent};
|
|
896
|
+
cursor: pointer;
|
|
897
|
+
font-family: ${a.font.sans};
|
|
898
|
+
font-weight: 600;
|
|
899
|
+
font-size: 13px;
|
|
900
|
+
line-height: 24px;
|
|
901
|
+
letter-spacing: 0.46px;
|
|
902
|
+
text-transform: uppercase;
|
|
903
|
+
|
|
904
|
+
&:hover {
|
|
905
|
+
background: rgba(105, 31, 169, 0.06);
|
|
906
|
+
}
|
|
907
|
+
&:focus-visible {
|
|
908
|
+
outline: 2px solid ${a.colors.accent};
|
|
909
|
+
outline-offset: 2px;
|
|
910
|
+
}
|
|
911
|
+
`,$c=r.button`
|
|
912
|
+
flex: 1 1 0;
|
|
913
|
+
height: 48px;
|
|
914
|
+
border: 0;
|
|
915
|
+
border-radius: 12px;
|
|
916
|
+
background: ${a.colors.accent};
|
|
917
|
+
color: ${a.colors.softWhite};
|
|
918
|
+
cursor: pointer;
|
|
919
|
+
font-family: ${a.font.sans};
|
|
920
|
+
font-weight: 600;
|
|
921
|
+
font-size: 13px;
|
|
922
|
+
line-height: 24px;
|
|
923
|
+
letter-spacing: 0.46px;
|
|
924
|
+
text-transform: uppercase;
|
|
925
|
+
|
|
926
|
+
&:hover {
|
|
927
|
+
background: ${a.colors.accentHover};
|
|
928
|
+
}
|
|
929
|
+
&:focus-visible {
|
|
930
|
+
outline: 2px solid ${a.colors.accent};
|
|
931
|
+
outline-offset: 2px;
|
|
932
|
+
}
|
|
933
|
+
`,Cc=1e3*60*60*24*182;function Ic({item:t,session:s,edit:o,onListed:l,onClose:d}){const u=mt(),h=ot(),[m,g]=c.useState(o!=null&&o.currentCredits?String(o.currentCredits):"10"),[k,x]=c.useState(null),[j,w]=c.useState(null),[$,I]=c.useState(!1),[S,R]=c.useState(null),[O,M]=c.useState(null),{cancelDone:b,slow:B,cancelFailed:i,setCancelFailed:K,cancelCurrent:Q,signal:V}=Ii(o,w),X=Le.chainId,ne=Vn(s),{data:te}=gt(s.address),ce=te!=null&&te.name?bt(te.name):Qn(s.address),le=Number(m),J=Number.isInteger(le)&&le>0,z=!!o&&!b&&le===o.currentCredits,T=J?`$${rt(le).toFixed(2)}`:"$0";c.useEffect(()=>{let C=!1;return(async()=>{try{const P=await zl({contractAddress:t.contractAddress,chainId:X});C||R(P)}catch{C||R(!1)}})(),()=>{C=!0}},[t.contractAddress,X]);async function _(C={}){var W,H;w(null);const P=Number(m);if(!Number.isInteger(P)||P<=0){w(n("primaryList.errorWholeNumber"));return}I(!0);try{if(!await Q(C.payGas))return;S||(x(n("primaryList.statusEnabling")),await El({signer:s.signer,contractAddress:t.contractAddress,chainId:X}),R(!0)),x(n("primaryList.statusPublishing"));const se=await Fl({signer:s.signer,item:{contractAddress:t.contractAddress,itemId:t.blockchainItemId,network:Re.Network.MATIC,chainId:X},usdPrice:rt(P),uses:t.remainingSupply,expiresAtMs:Date.now()+Cc});x(n("primaryList.statusFinishing"));const je=await(o?ji(se,s.identity,{signal:V()}):ni(se,s.identity));(W=V())==null||W.throwIfAborted(),x(null),M(P),Z("Shop Listed Item",{item_id:t.blockchainItemId,contract_address:t.contractAddress,price_credits:P,price_usd:rt(P),listing_type:"primary",is_primary:!0}),tn.success(n(o?"listingEdit.toastUpdated":"primaryList.toastOnSale",{name:t.name})),l==null||l(P,je.id),u.invalidateQueries({queryKey:["publishable-items"]}),u.invalidateQueries({queryKey:["collection-sale-state"]}),u.invalidateQueries({queryKey:["shop-items"]}),u.invalidateQueries({queryKey:["catalog-items"]}),u.invalidateQueries({queryKey:["overview-listings"]}),u.invalidateQueries({queryKey:["upsell-listings"]})}catch(se){if((H=V())!=null&&H.aborted)return;he(se,{flow:"list_primary"}),Z("Shop Listing Failed",{listing_type:"primary",error_code:Ae(se)}),w(it(se,n(o?"listingEdit.listFailedAfterCancel":"primaryList.errorGeneric"))),x(null)}finally{I(!1)}}function p(){d(),h($s(t.contractAddress,t.blockchainItemId))}const A=S===null?n("primaryList.checking"):o?n(b?"primaryList.putOnSale":"listingEdit.submit"):$?ne?n("primaryList.publishing"):n("primaryList.confirmListing"):S===!1?n("primaryList.enableAndPutOnSale"):n("primaryList.putOnSale");return O!==null?e.jsx(kn,{onClick:d,role:"presentation",children:e.jsxs($n,{onClick:C=>C.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n(o?"listingEdit.successHeader":"primaryList.successTitle"),children:[e.jsxs(Cn,{children:[e.jsx(In,{children:n(o?"listingEdit.successHeader":"primaryList.successTitle")}),e.jsx(Sn,{onClick:d,"aria-label":n("getCredits.done"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsxs(bc,{children:[e.jsx(yc,{"aria-hidden":!0,children:e.jsx(E,{name:"check",className:"ico"})}),e.jsx(wc,{children:e.jsx("b",{children:t.name})}),e.jsxs(vc,{children:[n("primaryList.listedFor")," ",e.jsxs("strong",{children:[e.jsx(Pe,{className:"ccy-mark"})," ",e.jsx(be,{credits:O})]})," ",n("primaryList.dotAvailable",{count:t.remainingSupply})]})]}),e.jsxs(jc,{children:[e.jsx(kc,{onClick:d,children:n("getCredits.done")}),e.jsx($c,{onClick:p,children:n("primaryList.viewInShop")})]})]})}):o&&$?e.jsx(kn,{role:"presentation",children:e.jsxs($n,{onClick:C=>C.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("listingEdit.title"),"data-testid":"modal",children:[e.jsxs(Cn,{children:[e.jsx(In,{children:n("listingEdit.title")}),e.jsx(Sn,{disabled:!0,"aria-label":n("primaryList.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(Si,{phase:b?"list":"cancel",managed:ne,slow:B})]})}):e.jsx(kn,{onClick:$?void 0:d,role:"presentation",children:e.jsxs($n,{"data-testid":"modal",onClick:C=>C.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":o?n("listingEdit.title"):n("primaryList.publishTitle",{name:t.name}),children:[e.jsxs(Cn,{children:[e.jsx(In,{children:o?n("listingEdit.title"):n("primaryList.publishTitle",{name:t.name})}),e.jsx(Sn,{onClick:d,disabled:$,"aria-label":n("primaryList.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(ic,{children:n("primaryList.fromCollection",{collectionName:t.collectionName,count:t.remainingSupply})}),e.jsxs(sc,{children:[e.jsx(oc,{children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs(lc,{children:[e.jsx(dc,{children:t.name}),ce?e.jsx(cc,{children:n("primaryList.byCreator",{name:ce})}):null]})]}),e.jsxs(uc,{children:[e.jsx(pc,{children:n("primaryList.priceShort")}),e.jsxs(hc,{"aria-invalid":m.length>0&&!J,children:[e.jsx(Pe,{className:"ccy"}),e.jsx(fc,{"data-testid":"price-input",type:"number",min:"1",step:"1",inputMode:"numeric",value:m,onChange:C=>g(C.target.value),disabled:$,"aria-label":n("primaryList.priceLabel",{currency:qe.name})}),e.jsx(xc,{"aria-hidden":!0,children:T})]})]}),e.jsx(Vt,{children:n("primaryList.pricedInWhole",{currency:qe.name,currencySingular:qe.nameSingular})}),o?!$&&!b?e.jsx(Vt,{children:n("listingEdit.subtitle")}):null:S===!1&&!$?e.jsx(Vt,{children:ne?n("primaryList.firstTimeManaged",{collectionName:t.collectionName}):n("primaryList.firstTimeConfirm",{collectionName:t.collectionName})}):S===!0&&!$?e.jsx(Vt,{children:ne?n("primaryList.readyManaged"):n("primaryList.readyConfirm")}):null,i?e.jsx(Gn,{state:i,canPayGas:!!(o!=null&&o.canPayGas),busy:$,onPayGas:()=>void _({payGas:!0}),onLater:()=>K(null)}):null,k&&!o?e.jsx(gc,{children:k}):null,e.jsx(st,{message:j}),e.jsx(mc,{onClick:()=>void _(),disabled:$||z||i==="pending"||S===null||!J,"data-testid":"list-submit",children:A})]})})}const Sc=r.div`
|
|
934
|
+
position: fixed;
|
|
935
|
+
inset: 0;
|
|
936
|
+
z-index: 10000;
|
|
937
|
+
display: flex;
|
|
938
|
+
align-items: center;
|
|
939
|
+
justify-content: center;
|
|
940
|
+
padding: 16px;
|
|
941
|
+
background: rgba(22, 21, 24, 0.55);
|
|
942
|
+
`,Ac=r.div`
|
|
943
|
+
width: 760px;
|
|
944
|
+
max-width: 100%;
|
|
945
|
+
background: ${a.colors.white};
|
|
946
|
+
border-radius: 16px;
|
|
947
|
+
padding: 12px 16px 16px;
|
|
948
|
+
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
|
|
949
|
+
display: flex;
|
|
950
|
+
flex-direction: column;
|
|
951
|
+
gap: 16px;
|
|
952
|
+
`,Rc=r.div`
|
|
953
|
+
display: flex;
|
|
954
|
+
align-items: center;
|
|
955
|
+
justify-content: space-between;
|
|
956
|
+
gap: 8px;
|
|
957
|
+
padding-bottom: 16px;
|
|
958
|
+
border-bottom: 1px solid ${a.colors.gray4};
|
|
959
|
+
`,Mc=r.h2`
|
|
960
|
+
margin: 0;
|
|
961
|
+
font-family: ${a.font.sans};
|
|
962
|
+
font-weight: 600;
|
|
963
|
+
font-size: 20px;
|
|
964
|
+
line-height: 1.6;
|
|
965
|
+
color: ${a.colors.text};
|
|
966
|
+
`,Pc=r.button`
|
|
967
|
+
flex: none;
|
|
968
|
+
display: grid;
|
|
969
|
+
place-items: center;
|
|
970
|
+
width: 24px;
|
|
971
|
+
height: 24px;
|
|
972
|
+
border: 0;
|
|
973
|
+
background: none;
|
|
974
|
+
cursor: pointer;
|
|
975
|
+
color: ${a.colors.text};
|
|
976
|
+
|
|
977
|
+
.ico {
|
|
978
|
+
width: 18px;
|
|
979
|
+
height: 18px;
|
|
980
|
+
}
|
|
981
|
+
&:focus-visible {
|
|
982
|
+
outline: 2px solid ${a.colors.accent};
|
|
983
|
+
outline-offset: 2px;
|
|
984
|
+
}
|
|
985
|
+
`,Lc=r.video`
|
|
986
|
+
display: block;
|
|
987
|
+
width: 100%;
|
|
988
|
+
max-height: 70vh;
|
|
989
|
+
border-radius: 12px;
|
|
990
|
+
background: ${a.colors.blackBtn};
|
|
991
|
+
`;function zc({src:t,itemName:s,onClose:o}){const l=c.useRef(null);return c.useEffect(()=>{var u;(u=l.current)==null||u.focus();function d(h){h.key==="Escape"&&o()}return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[o]),e.jsx(Sc,{onClick:o,role:"presentation",children:e.jsxs(Ac,{ref:l,tabIndex:-1,onClick:d=>d.stopPropagation(),"data-testid":"modal",role:"dialog","aria-modal":"true","aria-label":n("itemDetail.showcaseTitle"),children:[e.jsxs(Rc,{children:[e.jsx(Mc,{children:s||n("itemDetail.showcaseTitle")}),e.jsx(Pc,{onClick:o,"aria-label":n("itemDetail.showcaseClose"),children:e.jsx(E,{name:"close",size:18})})]}),e.jsx(Lc,{src:t,"data-testid":"showcase-video",controls:!0,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto"})]})})}const{colors:He,radius:Ec}=a,Fc=r.div`
|
|
992
|
+
position: fixed;
|
|
993
|
+
inset: 0;
|
|
994
|
+
z-index: 60;
|
|
995
|
+
display: grid;
|
|
996
|
+
place-items: center;
|
|
997
|
+
padding: 20px;
|
|
998
|
+
`,Tc=r.div`
|
|
999
|
+
position: absolute;
|
|
1000
|
+
inset: 0;
|
|
1001
|
+
background: rgba(22, 21, 24, 0.45);
|
|
1002
|
+
`,Nc=r.div`
|
|
1003
|
+
position: relative;
|
|
1004
|
+
z-index: 1;
|
|
1005
|
+
width: 100%;
|
|
1006
|
+
max-width: 420px;
|
|
1007
|
+
background: ${He.white};
|
|
1008
|
+
border-radius: ${Ec.banner};
|
|
1009
|
+
padding: 24px;
|
|
1010
|
+
box-shadow: 0 24px 60px rgba(22, 21, 24, 0.28);
|
|
1011
|
+
animation: cart-pop-in 0.16s ease;
|
|
1012
|
+
`,_c=r.div`
|
|
1013
|
+
display: flex;
|
|
1014
|
+
align-items: center;
|
|
1015
|
+
gap: 14px;
|
|
1016
|
+
margin-bottom: 18px;
|
|
1017
|
+
`,Bc=r.div`
|
|
1018
|
+
width: 64px;
|
|
1019
|
+
height: 64px;
|
|
1020
|
+
flex: none;
|
|
1021
|
+
border-radius: 12px;
|
|
1022
|
+
overflow: hidden;
|
|
1023
|
+
background: ${He.media};
|
|
1024
|
+
|
|
1025
|
+
& img {
|
|
1026
|
+
width: 100%;
|
|
1027
|
+
height: 100%;
|
|
1028
|
+
object-fit: contain;
|
|
1029
|
+
}
|
|
1030
|
+
`,Wc=r.div`
|
|
1031
|
+
font-weight: 700;
|
|
1032
|
+
font-size: 16px;
|
|
1033
|
+
color: ${He.text};
|
|
1034
|
+
margin-bottom: 6px;
|
|
1035
|
+
`,Dc=r.div`
|
|
1036
|
+
background: ${He.panel};
|
|
1037
|
+
border-radius: 14px;
|
|
1038
|
+
padding: 16px;
|
|
1039
|
+
margin-bottom: 14px;
|
|
1040
|
+
`,oa=r.div`
|
|
1041
|
+
color: ${He.muted};
|
|
1042
|
+
font-size: 13px;
|
|
1043
|
+
font-weight: 600;
|
|
1044
|
+
margin-bottom: 6px;
|
|
1045
|
+
`,la=r.div`
|
|
1046
|
+
display: flex;
|
|
1047
|
+
align-items: center;
|
|
1048
|
+
gap: 8px;
|
|
1049
|
+
font-weight: 700;
|
|
1050
|
+
font-size: 24px;
|
|
1051
|
+
color: ${He.text};
|
|
1052
|
+
|
|
1053
|
+
&[data-approx] {
|
|
1054
|
+
color: ${He.text2};
|
|
1055
|
+
}
|
|
1056
|
+
`,qc=r.span`
|
|
1057
|
+
color: ${He.muted};
|
|
1058
|
+
`,da=r(Pe)`
|
|
1059
|
+
width: 20px;
|
|
1060
|
+
height: 20px;
|
|
1061
|
+
color: ${He.text};
|
|
1062
|
+
`,ca=r.div`
|
|
1063
|
+
margin-top: 6px;
|
|
1064
|
+
font-size: 13px;
|
|
1065
|
+
`,Oc=r.div`
|
|
1066
|
+
font-size: 13px;
|
|
1067
|
+
margin-bottom: 6px;
|
|
1068
|
+
`,Ai=yt`
|
|
1069
|
+
margin: 6px 0 0;
|
|
1070
|
+
font-size: 13px;
|
|
1071
|
+
`,An=r.p`
|
|
1072
|
+
${Ai};
|
|
1073
|
+
`,Kc=r(st)`
|
|
1074
|
+
${Ai};
|
|
1075
|
+
`,Hc=r.div`
|
|
1076
|
+
display: flex;
|
|
1077
|
+
gap: 10px;
|
|
1078
|
+
margin-top: 18px;
|
|
1079
|
+
`,ua=r(Ve)`
|
|
1080
|
+
flex: 1;
|
|
1081
|
+
`;function Rn(t){if(Zt(t))return n("errors.rejected");const s=(t.message??"").toLowerCase();return s.includes("insufficient")?n("marketCheckout.error.insufficient",{currency:qe.name}):s.includes("not found")||s.includes("no active listing")||s.includes("404")?n("marketCheckout.error.soldOrRemoved"):s.includes("your own listing")?n("errors.cantBuyOwn"):n("marketCheckout.error.generic")}function Uc(t){return{id:t.tradeId,tradeId:t.tradeId,name:t.name,creator:t.creator,contractAddress:t.contractAddress,itemId:t.itemId,category:t.category,wearableCategory:t.wearableCategory??void 0,rarity:t.rarity,network:t.network,chainId:t.chainId,thumbnail:t.thumbnail,priceCredits:0,gender:null,isSmart:!1}}function Ri({listing:t,rate:s,onClose:o,onSold:l}){const{session:d}=at(),{data:u,isError:h}=ei(d),m=mt(),g=ot(),[k,x]=c.useState("confirm"),[j,w]=c.useState(n("marketCheckout.checkingListing")),[$,I]=c.useState(null),[S,R]=c.useState(null),[O,M]=c.useState(null),[b,B]=c.useState(!1),i=c.useRef(null),K=c.useRef(!1),Q=c.useRef(Ci());c.useEffect(()=>(K.current=!1,()=>{K.current=!0}),[]);const V=nt(xn(t.manaWei,s));c.useEffect(()=>{let z=!1;if(!d){x("error"),I(n("buyModal.signInToCheckout"));return}return(async()=>{try{const _=await ii(t.tradeId);if(!_)throw new Error("not found");if(!Is(_))throw new Error("not found");if(Ss(_,d.address))throw new Error("You can't buy your own listing.");const p=xn(t.manaWei,s);if(!Number.isFinite(p)||p<=0)throw new Error("price unavailable");if(z)return;R({trade:_,usdCents:p,credits:nt(p)}),w("")}catch(_){if(z)return;console.error("[market] listing check failed",_),Z(ye(_)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"resolve",error_code:Ae(_),value_usd:Math.round(xn(t.manaWei,s))/100}),x("error"),I(Rn(_))}})(),()=>{z=!0,i.current&&d&&(ce([i.current]),i.current=null)}},[]);const X=!!S&&u!=null&&u.credits<S.credits;async function ne(){if(!d||!S)return;if(X){Z("Shop Buy Credits Prompted",{from:"item_checkout",credits_needed:S.credits,credits_balance:(u==null?void 0:u.credits)??0,shortfall:Math.max(0,S.credits-((u==null?void 0:u.credits)??0))}),i.current&&(await te([i.current])&&M(null),i.current=null),g("/credits");return}x("working"),I(null),B(!1);let z=O;if(!z){w(n("marketCheckout.lockingPrice"));try{const{credit:C,maxCreditedValue:P,usdCents:W}=await Dn(d.identity,S.usdCents,t.tradeId);if(K.current){te([C.id]);return}i.current=C.id,m.invalidateQueries({queryKey:["usd-balance"]});const H=nt(W);if(z={trade:S.trade,credit:C,maxCreditedValue:P,usdCents:W,credits:H},M(z),H!==S.credits){R({trade:S.trade,usdCents:W,credits:H}),B(!0),w(""),x("confirm");return}}catch(C){console.error("[market] authorize failed",C),ye(C)||he(C,{flow:"market_buy_now",step:"authorize"}),Z(ye(C)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:Ae(C),value_usd:S.usdCents/100}),w(""),I(Rn(C)),x("error");return}}if(!z)return;const T=z;let _=!1,p;try{w(n("marketCheckout.confirming"));const C={trade:T.trade,buyer:d.address,signer:d.signer,credits:[T.credit],maxCreditedValue:T.maxCreditedValue,onBroadcast:({txHash:P})=>Q.current.broadcast(T.credit.id,P),onReverted:({txHash:P})=>{P&&Q.current.reverted(P)}};if(Q.current.submitStarted(T.credit.id),mi())try{p=await Bl(C),Q.current.broadcast(T.credit.id,p),await bi(p),_=!0}catch(P){if(P instanceof yi)_=!0;else if(P instanceof wi){if(P.reason==="relayer-unreachable")throw Q.current.unobservable(T.credit.id),P;if(!en(d.providerType))throw P;p=await qr(C)}else throw p&&Q.current.reverted(p),P}else p=await qr(C)}catch(C){Q.current.submitFinished(T.credit.id),console.error("[market] buy now failed",C),await te([T.credit.id])&&M(null),i.current=null,Z(ye(C)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(C),value_usd:T.usdCents/100}),m.invalidateQueries({queryKey:["usd-balance"]}),I(Rn(C)),x("error");const P=(C.message??"").toLowerCase();(P.includes("not found")||P.includes("no active listing")||P.includes("404"))&&l();return}Q.current.submitFinished(T.credit.id),i.current=null;try{m.invalidateQueries({queryKey:["usd-balance"]}),Z("Shop Completed Purchase",{items:[{item_id:t.itemId??null,contract_address:t.contractAddress,token_id:null,price_usd:T.usdCents/100,category:t.category,is_smart:!1}],value_credits:T.credits,value_usd:T.usdCents/100,purchase_type:"item",is_primary:!0,payment_type:"credits",no_crypto_step:_,transaction_hash:p??null}),m.invalidateQueries({queryKey:["detail-trade"]}),m.invalidateQueries({queryKey:["shop-item"]}),m.invalidateQueries({queryKey:["item-resales",t.contractAddress,t.itemId]}),m.invalidateQueries({queryKey:["shop-items"]}),m.invalidateQueries({queryKey:["catalog-items"]}),m.invalidateQueries({queryKey:["my-assets"]}),m.invalidateQueries({queryKey:["purchases"]})}catch(C){he(C,{flow:"market_buy_now",step:"post_purchase"})}const A={items:[Uc(t)],txHash:p};g("/success",{state:A})}async function te(z){if(!d||z.length===0)return!1;const T=z.filter(_=>!Q.current.mayBeConsumed(_));if(T.length===0)return!1;try{return await ti(d.identity,T),!0}catch{return!1}}function ce(z){te(z.filter(T=>!Q.current.isInFlight(T)))}function le(){d&&O&&te([O.credit.id]),i.current=null,o()}const J=k==="working";return e.jsxs(Fc,{role:"dialog","aria-modal":"true","aria-label":n("buyModal.dialogAria",{name:t.name}),children:[e.jsx(Tc,{onClick:J?void 0:le,"aria-hidden":!0}),e.jsxs(Nc,{children:[e.jsxs(_c,{children:[e.jsx(Bc,{children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs("div",{children:[e.jsx(Wc,{title:t.name,children:t.name||n("buyModal.itemFallback")}),e.jsx(ai,{"data-variant":"rarity",children:t.rarity})]})]}),e.jsx(Dc,{children:S?e.jsxs(e.Fragment,{children:[e.jsx(oa,{children:n("marketCheckout.finalPrice")}),e.jsxs(la,{children:[e.jsx(da,{}),e.jsx(be,{credits:S.credits})," ",Tr(S.credits)]}),e.jsxs(ca,{className:"muted",children:["$",rt(S.credits).toFixed(2)]})]}):e.jsxs(e.Fragment,{children:[e.jsx(oa,{children:n("marketCheckout.todaysPrice")}),e.jsxs(la,{"data-approx":!0,children:[e.jsx(qc,{"aria-hidden":!0,children:"≈"}),e.jsx(da,{}),e.jsx(be,{credits:V})," ",Tr(V)]}),e.jsx(ca,{className:"muted",children:j||n("marketCheckout.checkingListing")})]})}),d?e.jsxs(Oc,{className:"muted",children:[n("marketCheckout.yourBalance")," ",e.jsx(Pe,{className:"ccy-mark"})," ",Cs(u,h)]}):null,X?e.jsx(An,{className:"muted",children:n("marketCheckout.needMore",{currency:qe.name})}):null,b?e.jsx(An,{"data-testid":"price-changed",role:"status",children:n("buyModal.priceChanged")}):null,j&&k==="working"?e.jsx(An,{className:"muted",children:j}):null,e.jsx(Kc,{message:$}),e.jsxs(Hc,{children:[e.jsx(ua,{variant:"ghost",onClick:le,disabled:J,children:n("buyModal.cancel")}),e.jsx(ua,{variant:"purple",onClick:()=>void ne(),disabled:J||!S||X&&ft(),children:J?n("marketCheckout.buying"):X&&!ft()?n("nav.getCredits",{currency:qe.name}):n("marketCheckout.confirmPurchase")})]})]})]})}function Qc(t,s,{enabled:o=!0,first:l}={}){const{data:d,isFetched:u}=ie({queryKey:["related-items",t,s,l],enabled:o&&!!t&&!!s,staleTime:3e5,queryFn:()=>As(t,s,{first:l})});return{items:d??[],isFetched:u}}const Mi=15;function Vc(t){return`${t.contractAddress}-${t.itemId??t.tokenId??t.id}`.toLowerCase()}function Gc(t,s){return!!(s.id&&t.id===s.id||s.itemId&&t.itemId===s.itemId&&pa(t,s)||s.tokenId&&t.tokenId===s.tokenId&&pa(t,s))}function pa(t,s){var o;return s.contractAddress?((o=t.contractAddress)==null?void 0:o.toLowerCase())===s.contractAddress.toLowerCase():!1}function Mn(t,s,o=Mi){const l=new Set,d=[];function u(m,g){for(const k of m){if(d.length>=g)return;if(Gc(k,s))continue;const x=Vc(k);l.has(x)||(l.add(x),d.push(k))}}u(t.collection,1/0);const h=d.length;return u(t.creator??[],o),u(t.related??[],o),{items:d,isCollectionOnly:d.length>0&&d.length===h}}const Yc=20,Jc=30,ha=[];function Xc(t,s=Mi){const{id:o,contractAddress:l,itemId:d,tokenId:u,creator:h}=t,m=c.useMemo(()=>({id:o,contractAddress:l,itemId:d,tokenId:u}),[o,l,d,u]),{data:g=ha,isFetched:k}=ie({queryKey:["collection-items",l],enabled:!!l,queryFn:()=>Ms(l,{first:Yc}).then(B=>B.items)}),x=c.useMemo(()=>Mn({collection:g},m,s).items.length,[g,m,s]),j=k&&x<s,w=j&&!!h,$=ie({queryKey:["suggestions-creator",h],enabled:w,staleTime:5*6e4,queryFn:()=>Ps({creator:h,isOnSale:!0,first:Jc}).then(B=>B.items)}),I=$.data??ha,S=!w||$.isSuccess||$.isError,R=c.useMemo(()=>Mn({collection:g,creator:I},m,s).items.length,[g,I,m,s]),{items:O}=Qc(l,d??null,{enabled:j&&S&&R<s,first:s}),M=c.useMemo(()=>Mn({collection:g,creator:I,related:O},m,s),[g,I,O,m,s]),b=Rs(M.items);return{...M,items:b,siblings:g,siblingsFetched:k}}function Zc(t){const s=Ls();return!s||!zs(s.contracts,t)?null:s.label}const{colors:De,media:Yn}=a,eu=Es`
|
|
1082
|
+
to {
|
|
1083
|
+
transform: rotate(360deg);
|
|
1084
|
+
}
|
|
1085
|
+
`,tu=r.div``,nu=r.span`
|
|
1086
|
+
width: 34px;
|
|
1087
|
+
height: 34px;
|
|
1088
|
+
border-radius: 50%;
|
|
1089
|
+
border: 3px solid ${De.line};
|
|
1090
|
+
border-top-color: ${De.accent};
|
|
1091
|
+
animation: ${eu} 0.8s linear infinite;
|
|
1092
|
+
|
|
1093
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1094
|
+
animation-duration: 2.4s;
|
|
1095
|
+
}
|
|
1096
|
+
`,ru=r.p``,au=r.div``,fa=r.button`
|
|
1097
|
+
border: 0;
|
|
1098
|
+
background: none;
|
|
1099
|
+
cursor: pointer;
|
|
1100
|
+
padding: 6px 16px;
|
|
1101
|
+
border-radius: 999px;
|
|
1102
|
+
font-weight: 600;
|
|
1103
|
+
font-size: 12px;
|
|
1104
|
+
text-transform: uppercase;
|
|
1105
|
+
letter-spacing: 0.04em;
|
|
1106
|
+
color: ${De.muted};
|
|
1107
|
+
transition:
|
|
1108
|
+
background 0.12s ease,
|
|
1109
|
+
color 0.12s ease;
|
|
1110
|
+
|
|
1111
|
+
&[data-active] {
|
|
1112
|
+
background: ${De.text};
|
|
1113
|
+
color: ${De.white};
|
|
1114
|
+
}
|
|
1115
|
+
&:not([data-active]):hover {
|
|
1116
|
+
color: ${De.text};
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
${Yn.maxWidth("lg")} {
|
|
1120
|
+
padding: 6px 12px;
|
|
1121
|
+
border-radius: 0;
|
|
1122
|
+
background: ${De.white};
|
|
1123
|
+
color: ${De.text2};
|
|
1124
|
+
|
|
1125
|
+
&[data-active] {
|
|
1126
|
+
background: ${De.text};
|
|
1127
|
+
color: ${De.white};
|
|
1128
|
+
}
|
|
1129
|
+
&:first-of-type {
|
|
1130
|
+
border-top-left-radius: 999px;
|
|
1131
|
+
border-bottom-left-radius: 999px;
|
|
1132
|
+
}
|
|
1133
|
+
&:last-of-type {
|
|
1134
|
+
border-top-right-radius: 999px;
|
|
1135
|
+
border-bottom-right-radius: 999px;
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
`,xa=r.span`
|
|
1139
|
+
${Yn.maxWidth("lg")} {
|
|
1140
|
+
display: none;
|
|
1141
|
+
}
|
|
1142
|
+
`,ma=r(E)`
|
|
1143
|
+
display: none;
|
|
1144
|
+
|
|
1145
|
+
${Yn.maxWidth("lg")} {
|
|
1146
|
+
display: block;
|
|
1147
|
+
}
|
|
1148
|
+
`,ga="shop-item-preview";function iu({item:t}){const s=at(X=>{var ne;return(ne=X.session)==null?void 0:ne.address}),{data:o,isLoading:l}=gt(s),d=s&&o?s:"default",u=t.category==="emote",[h,m]=c.useState("avatar"),g=!u&&h==="item",k=g||!l,x=Mt(X=>X.fittingOpen),{ref:j,active:w}=Fs(),$=k&&w&&!x,[I,S]=c.useState(!0);c.useEffect(()=>{S(!0)},[t.id,g]),c.useEffect(()=>{$&&S(!0)},[$]);const R=c.useRef(null);c.useEffect(()=>{if($)return()=>{Zl(R.current),R.current=null}},[$]);const[O,M]=c.useState(Re.PreviewRenderer.UNITY),b=O===Re.PreviewRenderer.BABYLON,B=!!s&&!!o,i=B&&Ts(t,Ns(o)),K=_s(t)[0],Q=B&&!i&&!u,V=t.urn?{urns:[t.urn]}:{contractAddress:t.contractAddress,tokenId:t.tokenId??void 0,itemId:t.tokenId?void 0:t.itemId??void 0};return e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:j,"data-preview-viewport":!0,"aria-hidden":!0}),$?e.jsx(Bs,{id:ga,...V,profile:g?void 0:i?d:"default",bodyShape:g||i?void 0:K,type:u?void 0:g?Re.PreviewType.WEARABLE:Re.PreviewType.AVATAR,emote:u||g?void 0:Re.PreviewEmote.FASHION,disableBackground:!0,wheelZoom:u?1.5:void 0,wheelStart:u?100:void 0,onRenderer:M,onLoad:()=>{var X;S(!1),R.current=((X=document.getElementById(ga))==null?void 0:X.contentWindow)??null}}):null,!$||I?e.jsx(tu,{"data-preview-loading":!0,"aria-busy":"true","aria-label":n("itemPreview.loading"),children:e.jsx(nu,{"aria-hidden":!0})}):null,Q&&!g?e.jsx(ru,{"data-preview-note":!0,children:n("itemPreview.shownOnBody",{shape:Ws(K)})}):null,!b||!u?null:e.jsx(Xl,{previewId:"shop-item-preview"}),!b||u?null:e.jsxs(au,{"data-preview-toggle":!0,role:"group","aria-label":n("itemPreview.previewMode"),children:[e.jsxs(fa,{type:"button","data-active":h==="avatar"||void 0,"aria-pressed":h==="avatar","aria-label":n("itemPreview.onAvatar"),onClick:()=>m("avatar"),children:[e.jsx(ma,{name:"view-avatar",size:18}),e.jsx(xa,{children:n("itemPreview.onAvatar")})]}),e.jsxs(fa,{type:"button","data-active":h==="item"||void 0,"aria-pressed":h==="item","aria-label":n("itemPreview.item"),onClick:()=>m("item"),children:[e.jsx(ma,{name:"view-item",size:18}),e.jsx(xa,{children:n("itemPreview.item")})]})]})]})}function su(t){return t.endsWith(".eth")}function Pn(t){return su(t.realm)?t.realm:/^-?\d+,-?\d+$/.test(t.position)?t.position:null}async function ba(t,s,o){if(o.length===0)return[];const l=new URLSearchParams;for(const h of o)l.append(s,h);const d=await fetch(`${Le.placesApiUrl}/${t}?${l.toString()}`);if(!d.ok)throw new Error(`places ${t} ${d.status}`);return(await d.json()).data??[]}async function ou(t){const s=t.filter(h=>h.endsWith(".eth")),o=t.filter(h=>!h.endsWith(".eth")),[l,d]=await Promise.all([ba("places","positions",o),ba("worlds","names",s)]),u=new Set;for(const h of l)if(!h.disabled){for(const m of h.positions??[])o.includes(m)&&u.add(m);h.base_position&&o.includes(h.base_position)&&u.add(h.base_position)}for(const h of d)!h.disabled&&h.world_name&&u.add(h.world_name);return u}function Pi(t){return!t.contractAddress||!t.itemId?null:`${t.contractAddress.toLowerCase()}-${t.itemId}`}const lu=50,du=10,cu=2,uu=2;function pu(t,s){const[o,l]=s.split("-");return(t.wearables??[]).some(d=>{const u=d.split(":");return u.length>=7&&u[4].toLowerCase()===o&&u[5]===l})}function hu(t,s){var g,k;const o=t.metadata;if(!o)return null;const l=o.visiblePeople??[],d=(o.userAddress??"").toLowerCase(),u=l.find(x=>pu(x,s)),h=((u==null?void 0:u.userAddress)??"").toLowerCase(),m=(g=o.scene)==null?void 0:g.location;return{id:t.id,url:t.url,thumbnailUrl:t.thumbnailUrl,userName:o.userName??"",userAddress:o.userAddress??"",wearerName:!u||h===d?"":u.userName??"",wearerAddress:!u||h===d?"":u.userAddress??"",place:((k=o.scene)==null?void 0:k.name)??"",placeId:o.placeId??"",position:(m==null?void 0:m.x)!=null&&(m==null?void 0:m.y)!=null?`${m.x},${m.y}`:"",realm:o.realm??"",dateTime:o.dateTime??"",people:l.length}}function fu(t,s=du){const o=new Map,l=new Map,d=new Set,u=[],h=[...t].sort((m,g)=>m.people-g.people||Number(g.dateTime)-Number(m.dateTime));for(const m of h){const g=m.userAddress.toLowerCase(),k=m.placeId||m.place;if(!d.has(`${g}@${k}`)&&!((o.get(g)??0)>=cu||(l.get(k)??0)>=uu)&&(d.add(`${g}@${k}`),o.set(g,(o.get(g)??0)+1),l.set(k,(l.get(k)??0)+1),u.push(m),u.length===s))break}return u}async function xu(t){const s=Pi(t);if(!s)return[];const o=await fetch(`${Le.cameraReelUrl}/api/wearables/${s}/images?limit=${lu}`);if(!o.ok)throw new Error(`fetchItemReel ${o.status}`);const d=((await o.json()).images??[]).map(u=>hu(u,s)).filter(u=>!!u);return fu(d)}const{colors:ge,radius:nn,media:Pt}=a,mu=r.section`
|
|
1149
|
+
margin-top: 56px;
|
|
1150
|
+
`,gu=r.div`
|
|
1151
|
+
margin-bottom: 18px;
|
|
1152
|
+
`,bu=r.h2`
|
|
1153
|
+
font-size: 22px;
|
|
1154
|
+
font-weight: 700;
|
|
1155
|
+
color: ${ge.softWhite};
|
|
1156
|
+
`,yu=r.p`
|
|
1157
|
+
margin-top: 4px;
|
|
1158
|
+
font-size: 13px;
|
|
1159
|
+
color: rgba(252, 252, 252, 0.62);
|
|
1160
|
+
`,wu=r.div`
|
|
1161
|
+
position: relative;
|
|
1162
|
+
border-radius: ${nn.card};
|
|
1163
|
+
overflow: hidden;
|
|
1164
|
+
`,vu=r.div`
|
|
1165
|
+
display: flex;
|
|
1166
|
+
gap: 0;
|
|
1167
|
+
overflow-x: auto;
|
|
1168
|
+
scroll-snap-type: x proximity;
|
|
1169
|
+
scrollbar-width: none;
|
|
1170
|
+
/* An end that has more band behind it dissolves instead of being cut, and an end that does not stays
|
|
1171
|
+
sharp — otherwise the first photo's own caption sits under a fade that means nothing. A mask rather
|
|
1172
|
+
than a gradient overlay, because the page behind is a gradient of its own and a solid fade would
|
|
1173
|
+
band against it. */
|
|
1174
|
+
mask-image: linear-gradient(
|
|
1175
|
+
90deg,
|
|
1176
|
+
transparent 0,
|
|
1177
|
+
#000 var(--fade-start, 5%),
|
|
1178
|
+
#000 var(--fade-end, 95%),
|
|
1179
|
+
transparent 100%
|
|
1180
|
+
);
|
|
1181
|
+
|
|
1182
|
+
&[data-at-start] {
|
|
1183
|
+
--fade-start: 0%;
|
|
1184
|
+
}
|
|
1185
|
+
&[data-at-end] {
|
|
1186
|
+
--fade-end: 100%;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
&::-webkit-scrollbar {
|
|
1190
|
+
display: none;
|
|
1191
|
+
}
|
|
1192
|
+
`,ju=r.button`
|
|
1193
|
+
position: relative;
|
|
1194
|
+
flex: 0 0 auto;
|
|
1195
|
+
height: 380px;
|
|
1196
|
+
aspect-ratio: 4 / 5;
|
|
1197
|
+
padding: 0;
|
|
1198
|
+
border: 0;
|
|
1199
|
+
border-radius: 0;
|
|
1200
|
+
overflow: hidden;
|
|
1201
|
+
scroll-snap-align: center;
|
|
1202
|
+
cursor: pointer;
|
|
1203
|
+
background: ${ge.media};
|
|
1204
|
+
|
|
1205
|
+
${Pt.maxWidth("lg")} {
|
|
1206
|
+
height: 300px;
|
|
1207
|
+
}
|
|
1208
|
+
${Pt.maxWidth("mobile")} {
|
|
1209
|
+
height: 240px;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
/* At rest the band reads as one continuous image; the hovered frame lifts out of it. */
|
|
1213
|
+
& img {
|
|
1214
|
+
transition:
|
|
1215
|
+
transform 0.5s ease,
|
|
1216
|
+
filter 0.3s ease;
|
|
1217
|
+
filter: saturate(0.92) brightness(0.88);
|
|
1218
|
+
}
|
|
1219
|
+
&:hover img,
|
|
1220
|
+
&:focus-visible img {
|
|
1221
|
+
transform: scale(1.06);
|
|
1222
|
+
filter: none;
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1226
|
+
& img {
|
|
1227
|
+
transition: none;
|
|
1228
|
+
}
|
|
1229
|
+
&:hover img {
|
|
1230
|
+
transform: none;
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
`,ku=r.img`
|
|
1234
|
+
width: 100%;
|
|
1235
|
+
height: 100%;
|
|
1236
|
+
object-fit: cover;
|
|
1237
|
+
display: block;
|
|
1238
|
+
`,$u=r.span`
|
|
1239
|
+
position: absolute;
|
|
1240
|
+
inset: auto 0 0 0;
|
|
1241
|
+
display: flex;
|
|
1242
|
+
align-items: center;
|
|
1243
|
+
gap: 8px;
|
|
1244
|
+
padding: 28px 12px 12px;
|
|
1245
|
+
text-align: left;
|
|
1246
|
+
background: linear-gradient(to top, rgba(12, 10, 16, 0.9), rgba(12, 10, 16, 0));
|
|
1247
|
+
opacity: 1;
|
|
1248
|
+
transition: opacity 0.25s ease;
|
|
1249
|
+
|
|
1250
|
+
@media (hover: hover) {
|
|
1251
|
+
opacity: 0;
|
|
1252
|
+
|
|
1253
|
+
button:hover &,
|
|
1254
|
+
button:focus-visible & {
|
|
1255
|
+
opacity: 1;
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
`,Li=`
|
|
1259
|
+
width: 26px;
|
|
1260
|
+
height: 26px;
|
|
1261
|
+
border-radius: 50%;
|
|
1262
|
+
flex: none;
|
|
1263
|
+
border: 1.5px solid rgba(255, 255, 255, 0.85);
|
|
1264
|
+
|
|
1265
|
+
&[data-size='lg'] {
|
|
1266
|
+
width: 34px;
|
|
1267
|
+
height: 34px;
|
|
1268
|
+
}
|
|
1269
|
+
`,Cu=r.img`
|
|
1270
|
+
${Li};
|
|
1271
|
+
object-fit: cover;
|
|
1272
|
+
background: ${ge.media};
|
|
1273
|
+
`,Iu=r.span`
|
|
1274
|
+
${Li};
|
|
1275
|
+
display: inline-flex;
|
|
1276
|
+
align-items: center;
|
|
1277
|
+
justify-content: center;
|
|
1278
|
+
color: ${ge.white};
|
|
1279
|
+
font-size: 12px;
|
|
1280
|
+
font-weight: 700;
|
|
1281
|
+
line-height: 1;
|
|
1282
|
+
|
|
1283
|
+
&[data-size='lg'] {
|
|
1284
|
+
font-size: 15px;
|
|
1285
|
+
}
|
|
1286
|
+
`,Su=r.span`
|
|
1287
|
+
display: block;
|
|
1288
|
+
min-width: 0;
|
|
1289
|
+
`,Au=r.span`
|
|
1290
|
+
display: block;
|
|
1291
|
+
font-size: 13px;
|
|
1292
|
+
font-weight: 700;
|
|
1293
|
+
color: ${ge.white};
|
|
1294
|
+
overflow: hidden;
|
|
1295
|
+
text-overflow: ellipsis;
|
|
1296
|
+
white-space: nowrap;
|
|
1297
|
+
|
|
1298
|
+
&[data-size='lg'] {
|
|
1299
|
+
font-size: 15px;
|
|
1300
|
+
}
|
|
1301
|
+
`,Ru=r.span`
|
|
1302
|
+
display: block;
|
|
1303
|
+
font-size: 11px;
|
|
1304
|
+
color: rgba(255, 255, 255, 0.72);
|
|
1305
|
+
overflow: hidden;
|
|
1306
|
+
text-overflow: ellipsis;
|
|
1307
|
+
white-space: nowrap;
|
|
1308
|
+
`,ya=r.button`
|
|
1309
|
+
position: absolute;
|
|
1310
|
+
top: 50%;
|
|
1311
|
+
transform: translateY(-50%);
|
|
1312
|
+
z-index: 2;
|
|
1313
|
+
width: 48px;
|
|
1314
|
+
height: 48px;
|
|
1315
|
+
padding: 0;
|
|
1316
|
+
border: 0;
|
|
1317
|
+
background: transparent;
|
|
1318
|
+
cursor: pointer;
|
|
1319
|
+
opacity: 0;
|
|
1320
|
+
filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
|
|
1321
|
+
transition:
|
|
1322
|
+
opacity 0.2s ease,
|
|
1323
|
+
transform 0.15s ease;
|
|
1324
|
+
|
|
1325
|
+
& img {
|
|
1326
|
+
display: block;
|
|
1327
|
+
width: 100%;
|
|
1328
|
+
height: 100%;
|
|
1329
|
+
}
|
|
1330
|
+
&[data-side='left'] {
|
|
1331
|
+
left: 16px;
|
|
1332
|
+
}
|
|
1333
|
+
&[data-side='right'] {
|
|
1334
|
+
right: 16px;
|
|
1335
|
+
}
|
|
1336
|
+
&[data-side='left'] img {
|
|
1337
|
+
transform: scaleX(-1);
|
|
1338
|
+
}
|
|
1339
|
+
&:hover {
|
|
1340
|
+
transform: translateY(-50%) scale(1.07);
|
|
1341
|
+
}
|
|
1342
|
+
&:disabled {
|
|
1343
|
+
pointer-events: none;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
/* Only on a pointer device, and only while the band is under it. A disabled arrow (the strip is
|
|
1347
|
+
already at that end) is excluded here rather than hidden afterwards, which would need to outrank
|
|
1348
|
+
this selector. */
|
|
1349
|
+
@media (hover: hover) {
|
|
1350
|
+
[data-photo-strip]:hover > &:not(:disabled),
|
|
1351
|
+
&:focus-visible:not(:disabled) {
|
|
1352
|
+
opacity: 1;
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
${Pt.maxWidth("mobile")} {
|
|
1356
|
+
display: none;
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1360
|
+
transition: none;
|
|
1361
|
+
}
|
|
1362
|
+
`,Mu=r.div`
|
|
1363
|
+
position: fixed;
|
|
1364
|
+
inset: 0;
|
|
1365
|
+
z-index: 40;
|
|
1366
|
+
background: rgba(10, 8, 14, 0.88);
|
|
1367
|
+
display: grid;
|
|
1368
|
+
place-items: center;
|
|
1369
|
+
padding: 24px;
|
|
1370
|
+
|
|
1371
|
+
${Pt.maxWidth("mobile")} {
|
|
1372
|
+
padding: 12px;
|
|
1373
|
+
}
|
|
1374
|
+
`,Pu=r.div`
|
|
1375
|
+
width: min(1040px, 100%);
|
|
1376
|
+
border-radius: ${nn.card};
|
|
1377
|
+
overflow: hidden;
|
|
1378
|
+
background: ${ge.text2};
|
|
1379
|
+
|
|
1380
|
+
/* Focused on open so the keyboard starts inside the dialog; the panel itself is not a control, so no ring. */
|
|
1381
|
+
&:focus {
|
|
1382
|
+
outline: none;
|
|
1383
|
+
}
|
|
1384
|
+
`,Lu=r.div`
|
|
1385
|
+
position: relative;
|
|
1386
|
+
overflow: hidden;
|
|
1387
|
+
`,zu=r.img`
|
|
1388
|
+
position: relative;
|
|
1389
|
+
width: 100%;
|
|
1390
|
+
display: block;
|
|
1391
|
+
aspect-ratio: 16 / 9;
|
|
1392
|
+
object-fit: contain;
|
|
1393
|
+
cursor: zoom-in;
|
|
1394
|
+
opacity: 0;
|
|
1395
|
+
transition:
|
|
1396
|
+
transform 0.28s ease,
|
|
1397
|
+
opacity 0.18s ease;
|
|
1398
|
+
|
|
1399
|
+
&[data-ready] {
|
|
1400
|
+
opacity: 1;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
&[data-zoom] {
|
|
1404
|
+
transform: scale(2.6);
|
|
1405
|
+
cursor: zoom-out;
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1409
|
+
transition: none;
|
|
1410
|
+
}
|
|
1411
|
+
`,Eu=r.img`
|
|
1412
|
+
position: absolute;
|
|
1413
|
+
inset: 0;
|
|
1414
|
+
width: 100%;
|
|
1415
|
+
height: 100%;
|
|
1416
|
+
object-fit: contain;
|
|
1417
|
+
background: #0b0910;
|
|
1418
|
+
filter: blur(6px);
|
|
1419
|
+
transform: scale(1.02);
|
|
1420
|
+
transition: opacity 0.18s ease;
|
|
1421
|
+
|
|
1422
|
+
&[data-hidden] {
|
|
1423
|
+
opacity: 0;
|
|
1424
|
+
}
|
|
1425
|
+
`,wa=r.button`
|
|
1426
|
+
position: absolute;
|
|
1427
|
+
top: 50%;
|
|
1428
|
+
transform: translateY(-50%);
|
|
1429
|
+
width: 53px;
|
|
1430
|
+
height: 53px;
|
|
1431
|
+
padding: 0;
|
|
1432
|
+
border: 0;
|
|
1433
|
+
background: transparent;
|
|
1434
|
+
cursor: pointer;
|
|
1435
|
+
filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
|
|
1436
|
+
transition: transform 0.15s ease;
|
|
1437
|
+
|
|
1438
|
+
& img {
|
|
1439
|
+
display: block;
|
|
1440
|
+
width: 100%;
|
|
1441
|
+
height: 100%;
|
|
1442
|
+
}
|
|
1443
|
+
&[data-side='left'] {
|
|
1444
|
+
left: 8px;
|
|
1445
|
+
}
|
|
1446
|
+
&[data-side='right'] {
|
|
1447
|
+
right: 8px;
|
|
1448
|
+
}
|
|
1449
|
+
&[data-side='left'] img {
|
|
1450
|
+
transform: scaleX(-1);
|
|
1451
|
+
}
|
|
1452
|
+
&:hover {
|
|
1453
|
+
transform: translateY(-50%) scale(1.07);
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1457
|
+
transition: none;
|
|
1458
|
+
}
|
|
1459
|
+
${Pt.maxWidth("mobile")} {
|
|
1460
|
+
width: 40px;
|
|
1461
|
+
height: 40px;
|
|
1462
|
+
}
|
|
1463
|
+
`,Fu=r.div`
|
|
1464
|
+
display: flex;
|
|
1465
|
+
align-items: center;
|
|
1466
|
+
gap: 12px;
|
|
1467
|
+
padding: 12px 16px;
|
|
1468
|
+
`,Tu=r.div`
|
|
1469
|
+
display: flex;
|
|
1470
|
+
align-items: center;
|
|
1471
|
+
gap: 10px;
|
|
1472
|
+
margin-left: auto;
|
|
1473
|
+
min-width: 0;
|
|
1474
|
+
font-size: 12px;
|
|
1475
|
+
color: ${ge.muted2};
|
|
1476
|
+
`,Nu=r.span`
|
|
1477
|
+
min-width: 0;
|
|
1478
|
+
color: ${ge.softWhite};
|
|
1479
|
+
overflow: hidden;
|
|
1480
|
+
text-overflow: ellipsis;
|
|
1481
|
+
white-space: nowrap;
|
|
1482
|
+
`,_u=r.button`
|
|
1483
|
+
flex-shrink: 0;
|
|
1484
|
+
display: inline-flex;
|
|
1485
|
+
align-items: center;
|
|
1486
|
+
gap: 10px;
|
|
1487
|
+
height: 36px;
|
|
1488
|
+
margin-left: 6px;
|
|
1489
|
+
padding: 0 6px 0 14px;
|
|
1490
|
+
border: 0;
|
|
1491
|
+
border-radius: ${nn.btn};
|
|
1492
|
+
background: ${ge.dclRed};
|
|
1493
|
+
color: ${ge.softWhite};
|
|
1494
|
+
font-size: 13px;
|
|
1495
|
+
font-weight: 600;
|
|
1496
|
+
letter-spacing: 0.04em;
|
|
1497
|
+
text-transform: uppercase;
|
|
1498
|
+
cursor: pointer;
|
|
1499
|
+
transition: filter 0.15s ease;
|
|
1500
|
+
|
|
1501
|
+
& svg {
|
|
1502
|
+
width: 24px;
|
|
1503
|
+
height: 24px;
|
|
1504
|
+
}
|
|
1505
|
+
&:hover {
|
|
1506
|
+
filter: brightness(0.92);
|
|
1507
|
+
}
|
|
1508
|
+
`,Bu=r.span`
|
|
1509
|
+
white-space: nowrap;
|
|
1510
|
+
`,Wu=r.span`
|
|
1511
|
+
font-variant-numeric: tabular-nums;
|
|
1512
|
+
white-space: nowrap;
|
|
1513
|
+
opacity: 0.7;
|
|
1514
|
+
`,Du=r.div`
|
|
1515
|
+
display: flex;
|
|
1516
|
+
align-items: center;
|
|
1517
|
+
gap: 14px;
|
|
1518
|
+
min-width: 0;
|
|
1519
|
+
`,qu=r.a`
|
|
1520
|
+
display: flex;
|
|
1521
|
+
align-items: center;
|
|
1522
|
+
gap: 10px;
|
|
1523
|
+
min-width: 0;
|
|
1524
|
+
text-decoration: none;
|
|
1525
|
+
border-radius: ${nn.pill};
|
|
1526
|
+
padding: 4px 12px 4px 4px;
|
|
1527
|
+
margin-left: -4px;
|
|
1528
|
+
transition: background 0.15s ease;
|
|
1529
|
+
|
|
1530
|
+
&:hover {
|
|
1531
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1532
|
+
}
|
|
1533
|
+
`,Ou=r.span`
|
|
1534
|
+
display: block;
|
|
1535
|
+
min-width: 0;
|
|
1536
|
+
`,va=r.span`
|
|
1537
|
+
display: block;
|
|
1538
|
+
font-size: 10px;
|
|
1539
|
+
font-weight: 600;
|
|
1540
|
+
letter-spacing: 0.06em;
|
|
1541
|
+
text-transform: uppercase;
|
|
1542
|
+
color: ${ge.muted2};
|
|
1543
|
+
`,Ku=r.span`
|
|
1544
|
+
display: block;
|
|
1545
|
+
font-size: 15px;
|
|
1546
|
+
font-weight: 700;
|
|
1547
|
+
color: ${ge.white};
|
|
1548
|
+
overflow: hidden;
|
|
1549
|
+
text-overflow: ellipsis;
|
|
1550
|
+
white-space: nowrap;
|
|
1551
|
+
`,Hu=r.a`
|
|
1552
|
+
display: inline-flex;
|
|
1553
|
+
align-items: baseline;
|
|
1554
|
+
gap: 6px;
|
|
1555
|
+
min-width: 0;
|
|
1556
|
+
font-size: 12px;
|
|
1557
|
+
color: ${ge.muted2};
|
|
1558
|
+
text-decoration: none;
|
|
1559
|
+
white-space: nowrap;
|
|
1560
|
+
|
|
1561
|
+
& > span {
|
|
1562
|
+
display: inline;
|
|
1563
|
+
}
|
|
1564
|
+
&:hover {
|
|
1565
|
+
color: ${ge.softWhite};
|
|
1566
|
+
text-decoration: underline;
|
|
1567
|
+
}
|
|
1568
|
+
`,Uu=r.button`
|
|
1569
|
+
position: absolute;
|
|
1570
|
+
top: 12px;
|
|
1571
|
+
right: 12px;
|
|
1572
|
+
z-index: 3;
|
|
1573
|
+
width: 34px;
|
|
1574
|
+
height: 34px;
|
|
1575
|
+
border-radius: 50%;
|
|
1576
|
+
border: 0;
|
|
1577
|
+
display: grid;
|
|
1578
|
+
place-items: center;
|
|
1579
|
+
background: rgba(12, 10, 16, 0.55);
|
|
1580
|
+
backdrop-filter: blur(4px);
|
|
1581
|
+
color: ${ge.white};
|
|
1582
|
+
cursor: pointer;
|
|
1583
|
+
transition: background 0.15s ease;
|
|
1584
|
+
|
|
1585
|
+
&:hover {
|
|
1586
|
+
background: rgba(12, 10, 16, 0.8);
|
|
1587
|
+
}
|
|
1588
|
+
`,Qu=[];function ja({person:t,size:s}){var m,g;const{data:o}=gt(t.address),l=(g=(m=o==null?void 0:o.avatar)==null?void 0:m.snapshots)==null?void 0:g.face256,[d,u]=c.useState(!1);c.useEffect(()=>u(!1),[l]);const h=o!=null&&o.name?bt(o.name):t.name;return l&&!d?e.jsx(Cu,{"data-size":s,src:l,alt:"",loading:"lazy",onError:()=>u(!0)}):e.jsx(Iu,{"data-size":s,style:{backgroundColor:Ds(qs({name:(o==null?void 0:o.name)??t.name,hasClaimedName:o==null?void 0:o.hasClaimedName,ethAddress:t.address}))},"aria-hidden":!0,children:(h.trim()[0]||"?").toUpperCase()})}function Ln({person:t}){const{data:s}=gt(t.address);return e.jsx(e.Fragment,{children:s!=null&&s.name?bt(s.name):t.name})}const Vu=2;function zn(t){return{contract_address:t.contractAddress,item_id:t.itemId??null}}function ka(t){const s={address:t.userAddress,name:t.userName};return t.wearerName?{wearer:{address:t.wearerAddress,name:t.wearerName},photographer:s}:{wearer:s,photographer:null}}function Gu({item:t}){const s=Pi(t),{data:o=Qu}=ie({queryKey:["item-reel",s],queryFn:()=>xu(t),enabled:!!s,staleTime:10*6e4,refetchOnWindowFocus:!1}),l=c.useRef(null),d=c.useRef(null),u=c.useRef(null),[h,m]=c.useState(null),[g,k]=c.useState(!1),[x,j]=c.useState("50% 50%"),[w,$]=c.useState(!1),[I,S]=c.useState(!0),[R,O]=c.useState(!1),M=c.useMemo(()=>[...new Set(o.map(p=>Pn(p)).filter(p=>!!p))],[o]),{data:b}=ie({queryKey:["live-scenes",M],queryFn:()=>ou(M),enabled:M.length>0,staleTime:10*6e4}),B=c.useCallback(()=>{const p=d.current;if(!p)return;const{scrollLeft:A,scrollWidth:C,clientWidth:P}=p;S(A<=1),O(A+P>=C-1)},[]);c.useEffect(()=>{B();const p=d.current;if(p)return p.addEventListener("scroll",B,{passive:!0}),window.addEventListener("resize",B),()=>{p.removeEventListener("scroll",B),window.removeEventListener("resize",B)}},[B,o.length]);const i=c.useCallback(p=>{k(!1),$(!1),m(A=>A===null?A:(A+p+o.length)%o.length)},[o.length]);function K(p){const A=p.currentTarget.getBoundingClientRect();j(`${(p.clientX-A.left)/A.width*100}% ${(p.clientY-A.top)/A.height*100}%`)}c.useEffect(()=>{h!==null&&h>=o.length&&m(null)},[h,o.length]);const Q=h!==null;c.useEffect(()=>{var p;Q&&((p=u.current)==null||p.focus())},[Q]),c.useEffect(()=>{if(h!==null)for(const p of[1,-1]){const A=o[(h+p+o.length)%o.length],C=new Image;C.src=A.url}},[h,o]),c.useEffect(()=>{if(h===null)return;function p(A){A.key==="Escape"&&(k(!1),m(null)),A.key==="ArrowRight"&&i(1),A.key==="ArrowLeft"&&i(-1)}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[h,i]);const V=o.length>=Vu,X=c.useRef(null);if(c.useEffect(()=>{const p=l.current;if(!V||!p||!s||X.current===s||typeof IntersectionObserver>"u")return;const A=new IntersectionObserver(C=>{C.some(P=>P.isIntersecting)&&(A.disconnect(),X.current=s,Z("Shop Viewed Photo Reel",{...zn(t),photo_count:o.length}))},{threshold:.5});return A.observe(p),()=>A.disconnect()},[V,s,t,o.length]),!V)return null;function ne(p){const A=o[p],C=Pn(A);m(p),Z("Shop Opened Reel Photo",{...zn(t),photo_id:A.id,photo_index:p,people:A.people,can_jump_in:!!C&&!!(b!=null&&b.has(C))})}async function te(p,A){const C=await Kl({position:p.position,realm:p.realm});Z("Shop Jumped In From Reel",{...zn(t),photo_id:p.id,photo_index:A,position:p.position||null,realm:p.realm||null,outcome:C})}function ce(){k(!1),$(!1),m(null)}function le(p){const A=d.current;A&&A.scrollBy({left:p*A.clientWidth*.7,behavior:"smooth"})}const J=h===null?null:o[h],z=J?ka(J):null,T=J?Pn(J):null,_=!!T&&!!(b!=null&&b.has(T));return e.jsxs(mu,{ref:l,"data-testid":"photo-reel",children:[e.jsxs(gu,{children:[e.jsx(bu,{children:n("photoReel.title")}),e.jsx(yu,{children:n("photoReel.subtitle")})]}),e.jsxs(wu,{"data-photo-strip":!0,children:[e.jsx(vu,{ref:d,"data-testid":"photo-reel-track","data-at-start":I||void 0,"data-at-end":R||void 0,children:o.map((p,A)=>{const{wearer:C}=ka(p),P=Or(p.dateTime);return e.jsxs(ju,{"data-testid":"photo-reel-shot",onClick:()=>ne(A),"aria-label":n("photoReel.openAria",{name:C.name,place:p.place}),children:[e.jsx(ku,{src:p.thumbnailUrl,alt:"",loading:"lazy"}),e.jsxs($u,{children:[e.jsx(ja,{person:C,size:"sm"}),e.jsxs(Su,{children:[e.jsx(Au,{"data-size":"sm",children:e.jsx(Ln,{person:C})}),e.jsxs(Ru,{children:[p.place,P?` · ${P}`:""]})]})]})]},p.id)})}),e.jsx(ya,{"data-side":"left",onClick:()=>le(-1),"aria-label":n("photoReel.prev"),disabled:I,children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})}),e.jsx(ya,{"data-side":"right",onClick:()=>le(1),"aria-label":n("photoReel.next"),disabled:R,children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})})]}),J&&z?e.jsx(Mu,{onClick:ce,role:"presentation","data-testid":"photo-reel-lightbox",children:e.jsxs(Pu,{ref:u,tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":n("photoReel.title"),onClick:p=>p.stopPropagation(),children:[e.jsxs(Lu,{children:[e.jsx(Eu,{src:J.thumbnailUrl,alt:"","aria-hidden":!0,"data-hidden":w||void 0}),e.jsx(zu,{src:J.url,alt:"","data-zoom":g||void 0,"data-ready":w||void 0,"data-testid":"photo-reel-image",style:{transformOrigin:x},title:n(g?"photoReel.zoomOut":"photoReel.zoomIn"),onLoad:()=>$(!0),onMouseMove:p=>g&&K(p),onClick:p=>{K(p),k(A=>!A)}},J.id),o.length>1?e.jsxs(e.Fragment,{children:[e.jsx(wa,{"data-side":"left",onClick:()=>i(-1),"aria-label":n("photoReel.prev"),children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})}),e.jsx(wa,{"data-side":"right",onClick:()=>i(1),"aria-label":n("photoReel.next"),children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})})]}):null,e.jsx(Uu,{onClick:ce,"aria-label":n("photoReel.close"),"data-testid":"photo-reel-close",children:e.jsx(E,{name:"close",size:16})})]}),e.jsxs(Fu,{children:[e.jsxs(Du,{children:[e.jsxs(qu,{href:`${Le.profileUrl}/${z.wearer.address}`,target:"_blank",rel:"noopener noreferrer","data-testid":"photo-reel-profile",children:[e.jsx(ja,{person:z.wearer,size:"lg"}),e.jsxs(Ou,{children:[e.jsx(va,{children:n("photoReel.wornBy")}),e.jsx(Ku,{children:e.jsx(Ln,{person:z.wearer})})]})]}),z.photographer?e.jsxs(Hu,{href:`${Le.profileUrl}/${z.photographer.address}`,target:"_blank",rel:"noopener noreferrer","data-testid":"photo-reel-photographer",children:[e.jsx(va,{children:n("photoReel.photoBy")}),e.jsx(Ln,{person:z.photographer})]}):null]}),e.jsxs(Tu,{children:[e.jsx(Nu,{children:J.place}),e.jsx(Bu,{children:Or(J.dateTime)}),e.jsxs(Wu,{children:[(h??0)+1,"/",o.length]}),_?e.jsxs(_u,{type:"button",onClick:()=>void te(J,h??0),"aria-label":n("photoReel.jumpIn"),"data-testid":"photo-reel-jump",children:[n("photoReel.jumpInCta"),e.jsx(vi,{"aria-hidden":!0})]}):null]})]})]})}):null]})}const Yu=r.div`
|
|
1589
|
+
position: fixed;
|
|
1590
|
+
inset: 0;
|
|
1591
|
+
z-index: 10000;
|
|
1592
|
+
display: flex;
|
|
1593
|
+
align-items: center;
|
|
1594
|
+
justify-content: center;
|
|
1595
|
+
padding: 16px;
|
|
1596
|
+
background: rgba(22, 21, 24, 0.55);
|
|
1597
|
+
`,Ju=r.div`
|
|
1598
|
+
display: flex;
|
|
1599
|
+
flex-direction: column;
|
|
1600
|
+
gap: 12px;
|
|
1601
|
+
width: 1128px;
|
|
1602
|
+
max-width: 100%;
|
|
1603
|
+
max-height: 92vh;
|
|
1604
|
+
background: ${a.colors.white};
|
|
1605
|
+
border-radius: 16px;
|
|
1606
|
+
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
|
|
1607
|
+
|
|
1608
|
+
&:focus {
|
|
1609
|
+
outline: none;
|
|
1610
|
+
}
|
|
1611
|
+
`,Xu=r.div`
|
|
1612
|
+
flex: none;
|
|
1613
|
+
display: flex;
|
|
1614
|
+
align-items: center;
|
|
1615
|
+
gap: 8px;
|
|
1616
|
+
padding: 16px;
|
|
1617
|
+
border-bottom: 1px solid ${a.colors.gray4};
|
|
1618
|
+
`,Zu=r.h2`
|
|
1619
|
+
flex: 1 1 auto;
|
|
1620
|
+
min-width: 0;
|
|
1621
|
+
margin: 0;
|
|
1622
|
+
font-family: ${a.font.sans};
|
|
1623
|
+
font-weight: 600;
|
|
1624
|
+
font-size: 20px;
|
|
1625
|
+
line-height: 1.6;
|
|
1626
|
+
color: ${a.colors.text};
|
|
1627
|
+
`,ep=r.button`
|
|
1628
|
+
flex: none;
|
|
1629
|
+
display: grid;
|
|
1630
|
+
place-items: center;
|
|
1631
|
+
width: 18.5px;
|
|
1632
|
+
height: 18.5px;
|
|
1633
|
+
padding: 0;
|
|
1634
|
+
border: 0;
|
|
1635
|
+
background: none;
|
|
1636
|
+
cursor: pointer;
|
|
1637
|
+
color: ${a.colors.text};
|
|
1638
|
+
|
|
1639
|
+
.ico {
|
|
1640
|
+
width: 18.5px;
|
|
1641
|
+
height: 18.5px;
|
|
1642
|
+
}
|
|
1643
|
+
&:focus-visible {
|
|
1644
|
+
outline: 2px solid ${a.colors.accent};
|
|
1645
|
+
outline-offset: 4px;
|
|
1646
|
+
}
|
|
1647
|
+
`,tp=r.div`
|
|
1648
|
+
flex: 1 1 auto;
|
|
1649
|
+
min-height: 0;
|
|
1650
|
+
overflow-y: auto;
|
|
1651
|
+
display: flex;
|
|
1652
|
+
flex-direction: column;
|
|
1653
|
+
gap: 8px;
|
|
1654
|
+
padding: 0 16px 24px;
|
|
1655
|
+
`,np=r.div`
|
|
1656
|
+
position: sticky;
|
|
1657
|
+
top: 0;
|
|
1658
|
+
z-index: 1;
|
|
1659
|
+
display: flex;
|
|
1660
|
+
align-items: center;
|
|
1661
|
+
justify-content: space-between;
|
|
1662
|
+
gap: 8px;
|
|
1663
|
+
padding-bottom: 8px;
|
|
1664
|
+
background: ${a.colors.white};
|
|
1665
|
+
`,rp=r.p`
|
|
1666
|
+
margin: 0;
|
|
1667
|
+
font-family: ${a.font.sans};
|
|
1668
|
+
font-size: 14px;
|
|
1669
|
+
line-height: 1.43;
|
|
1670
|
+
color: ${a.colors.muted};
|
|
1671
|
+
`,ap=r.div`
|
|
1672
|
+
position: relative;
|
|
1673
|
+
flex: none;
|
|
1674
|
+
display: inline-flex;
|
|
1675
|
+
align-items: center;
|
|
1676
|
+
padding: 4px 4px 4px 12px;
|
|
1677
|
+
border: 0.5px solid ${a.colors.lineStrong};
|
|
1678
|
+
border-radius: 8px;
|
|
1679
|
+
background: ${a.colors.white};
|
|
1680
|
+
|
|
1681
|
+
select {
|
|
1682
|
+
appearance: none;
|
|
1683
|
+
/* 24px design gap + the 24px chevron that sits on top of it. */
|
|
1684
|
+
padding: 0 48px 0 0;
|
|
1685
|
+
border: 0;
|
|
1686
|
+
background: none;
|
|
1687
|
+
font-family: ${a.font.sans};
|
|
1688
|
+
font-weight: 500;
|
|
1689
|
+
font-size: 12px;
|
|
1690
|
+
line-height: 1.43;
|
|
1691
|
+
color: ${a.colors.text2};
|
|
1692
|
+
cursor: pointer;
|
|
1693
|
+
outline: none;
|
|
1694
|
+
}
|
|
1695
|
+
select:focus-visible {
|
|
1696
|
+
outline: 2px solid ${a.colors.accent};
|
|
1697
|
+
outline-offset: 2px;
|
|
1698
|
+
border-radius: 4px;
|
|
1699
|
+
}
|
|
1700
|
+
.chev {
|
|
1701
|
+
position: absolute;
|
|
1702
|
+
right: 4px;
|
|
1703
|
+
width: 24px;
|
|
1704
|
+
height: 24px;
|
|
1705
|
+
color: ${a.colors.text2};
|
|
1706
|
+
pointer-events: none;
|
|
1707
|
+
}
|
|
1708
|
+
`,ip=r.div`
|
|
1709
|
+
flex: none;
|
|
1710
|
+
border: 1px solid ${a.colors.lineStrong};
|
|
1711
|
+
border-radius: 16px;
|
|
1712
|
+
/* The four equal columns need the design width to hold their content, so a narrower modal scrolls
|
|
1713
|
+
the table here rather than letting the page scroll sideways. */
|
|
1714
|
+
overflow-x: auto;
|
|
1715
|
+
overflow-y: hidden;
|
|
1716
|
+
background: ${a.colors.white};
|
|
1717
|
+
`,sp=r.table`
|
|
1718
|
+
width: 100%;
|
|
1719
|
+
min-width: 1096px;
|
|
1720
|
+
table-layout: fixed;
|
|
1721
|
+
border-collapse: collapse;
|
|
1722
|
+
|
|
1723
|
+
th {
|
|
1724
|
+
height: 48px;
|
|
1725
|
+
padding: 8px 8px 8px 16px;
|
|
1726
|
+
text-align: left;
|
|
1727
|
+
vertical-align: middle;
|
|
1728
|
+
background: ${a.colors.media};
|
|
1729
|
+
border-right: 0.5px solid ${a.colors.lineStrong};
|
|
1730
|
+
font-family: ${a.font.sans};
|
|
1731
|
+
font-weight: 600;
|
|
1732
|
+
font-size: 16px;
|
|
1733
|
+
line-height: 1.5;
|
|
1734
|
+
color: ${a.colors.text};
|
|
1735
|
+
text-transform: capitalize;
|
|
1736
|
+
}
|
|
1737
|
+
th:last-of-type {
|
|
1738
|
+
border-right: 0;
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
td {
|
|
1742
|
+
height: 56px;
|
|
1743
|
+
padding: 8px 8px 8px 16px;
|
|
1744
|
+
vertical-align: middle;
|
|
1745
|
+
border-right: 0.5px solid ${a.colors.lineStrong};
|
|
1746
|
+
border-bottom: 0.5px solid ${a.colors.lineStrong};
|
|
1747
|
+
font-family: ${a.font.sans};
|
|
1748
|
+
font-size: 14px;
|
|
1749
|
+
line-height: 1.43;
|
|
1750
|
+
color: ${a.colors.text2};
|
|
1751
|
+
}
|
|
1752
|
+
td:last-of-type {
|
|
1753
|
+
border-right: 0;
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
tbody tr:hover,
|
|
1757
|
+
tbody tr:focus-within {
|
|
1758
|
+
background: ${a.colors.media};
|
|
1759
|
+
}
|
|
1760
|
+
tbody tr:hover td,
|
|
1761
|
+
tbody tr:focus-within td {
|
|
1762
|
+
border-bottom-color: ${a.colors.media};
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
/* Stack every cell into a card — a 4-column grid is unusable at phone widths. The column name is
|
|
1766
|
+
carried on each cell's data-label so it survives translation. */
|
|
1767
|
+
${a.media.maxWidth("mobile")} {
|
|
1768
|
+
min-width: 0;
|
|
1769
|
+
|
|
1770
|
+
thead {
|
|
1771
|
+
display: none;
|
|
1772
|
+
}
|
|
1773
|
+
tr {
|
|
1774
|
+
display: block;
|
|
1775
|
+
border-bottom: 0.5px solid ${a.colors.lineStrong};
|
|
1776
|
+
}
|
|
1777
|
+
tr:last-of-type {
|
|
1778
|
+
border-bottom: 0;
|
|
1779
|
+
}
|
|
1780
|
+
td {
|
|
1781
|
+
display: block;
|
|
1782
|
+
height: auto;
|
|
1783
|
+
padding: 8px 16px;
|
|
1784
|
+
border-right: 0;
|
|
1785
|
+
border-bottom: 0;
|
|
1786
|
+
}
|
|
1787
|
+
td:first-of-type {
|
|
1788
|
+
padding-top: 12px;
|
|
1789
|
+
}
|
|
1790
|
+
td:last-of-type {
|
|
1791
|
+
padding-bottom: 12px;
|
|
1792
|
+
}
|
|
1793
|
+
td[data-label]::before {
|
|
1794
|
+
content: attr(data-label);
|
|
1795
|
+
display: block;
|
|
1796
|
+
margin-bottom: 2px;
|
|
1797
|
+
font-size: 12px;
|
|
1798
|
+
line-height: 1.43;
|
|
1799
|
+
color: ${a.colors.muted};
|
|
1800
|
+
text-transform: capitalize;
|
|
1801
|
+
}
|
|
1802
|
+
tbody tr:hover td,
|
|
1803
|
+
tbody tr:focus-within td {
|
|
1804
|
+
border-bottom-color: transparent;
|
|
1805
|
+
}
|
|
1806
|
+
}
|
|
1807
|
+
`,zi=`
|
|
1808
|
+
display: flex;
|
|
1809
|
+
align-items: center;
|
|
1810
|
+
gap: 10px;
|
|
1811
|
+
min-width: 0;
|
|
1812
|
+
|
|
1813
|
+
.owner-ava {
|
|
1814
|
+
flex: none;
|
|
1815
|
+
display: inline-grid;
|
|
1816
|
+
place-items: center;
|
|
1817
|
+
width: 32px;
|
|
1818
|
+
height: 32px;
|
|
1819
|
+
border: 2.286px solid rgba(255, 255, 255, 0.5);
|
|
1820
|
+
border-radius: 50%;
|
|
1821
|
+
background: ${a.colors.media};
|
|
1822
|
+
object-fit: cover;
|
|
1823
|
+
overflow: hidden;
|
|
1824
|
+
color: ${a.colors.white};
|
|
1825
|
+
font-weight: 700;
|
|
1826
|
+
font-size: 13px;
|
|
1827
|
+
}
|
|
1828
|
+
.owner-name {
|
|
1829
|
+
min-width: 0;
|
|
1830
|
+
overflow: hidden;
|
|
1831
|
+
text-overflow: ellipsis;
|
|
1832
|
+
white-space: nowrap;
|
|
1833
|
+
font-family: ${a.font.sans};
|
|
1834
|
+
font-size: 14px;
|
|
1835
|
+
line-height: 1.43;
|
|
1836
|
+
color: ${a.colors.text2};
|
|
1837
|
+
}
|
|
1838
|
+
`,op=r.div`
|
|
1839
|
+
${zi}
|
|
1840
|
+
`,lp=r.button`
|
|
1841
|
+
${zi}
|
|
1842
|
+
padding: 0;
|
|
1843
|
+
border: 0;
|
|
1844
|
+
background: none;
|
|
1845
|
+
font: inherit;
|
|
1846
|
+
text-align: left;
|
|
1847
|
+
cursor: pointer;
|
|
1848
|
+
|
|
1849
|
+
&:hover .owner-name {
|
|
1850
|
+
text-decoration: underline;
|
|
1851
|
+
}
|
|
1852
|
+
&:focus-visible {
|
|
1853
|
+
outline: 2px solid ${a.colors.accent};
|
|
1854
|
+
outline-offset: 2px;
|
|
1855
|
+
border-radius: 4px;
|
|
1856
|
+
}
|
|
1857
|
+
`,$a=r.span`
|
|
1858
|
+
color: ${a.colors.muted};
|
|
1859
|
+
`,dp=r.div`
|
|
1860
|
+
display: flex;
|
|
1861
|
+
align-items: center;
|
|
1862
|
+
justify-content: space-between;
|
|
1863
|
+
gap: 4px;
|
|
1864
|
+
|
|
1865
|
+
.amount {
|
|
1866
|
+
display: inline-flex;
|
|
1867
|
+
align-items: center;
|
|
1868
|
+
gap: 4px;
|
|
1869
|
+
font-family: ${a.font.sans};
|
|
1870
|
+
font-weight: 600;
|
|
1871
|
+
font-size: 16px;
|
|
1872
|
+
line-height: 1.5;
|
|
1873
|
+
color: ${a.colors.text2};
|
|
1874
|
+
}
|
|
1875
|
+
/* The credits mark is always near-black here — never the violet accent. */
|
|
1876
|
+
.amount .ccy {
|
|
1877
|
+
flex: none;
|
|
1878
|
+
width: 22px;
|
|
1879
|
+
height: 22px;
|
|
1880
|
+
color: ${a.colors.text2};
|
|
1881
|
+
}
|
|
1882
|
+
.approx {
|
|
1883
|
+
color: ${a.colors.muted};
|
|
1884
|
+
font-weight: 600;
|
|
1885
|
+
}
|
|
1886
|
+
`,cp=r.div`
|
|
1887
|
+
flex: none;
|
|
1888
|
+
display: flex;
|
|
1889
|
+
align-items: center;
|
|
1890
|
+
gap: 8px;
|
|
1891
|
+
opacity: 0;
|
|
1892
|
+
transition: opacity 0.12s ease;
|
|
1893
|
+
|
|
1894
|
+
tr:hover &,
|
|
1895
|
+
tr:focus-within &,
|
|
1896
|
+
&[data-persistent='true'] {
|
|
1897
|
+
opacity: 1;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
@media (hover: none) {
|
|
1901
|
+
opacity: 1;
|
|
1902
|
+
}
|
|
1903
|
+
${a.media.maxWidth("mobile")} {
|
|
1904
|
+
opacity: 1;
|
|
1905
|
+
}
|
|
1906
|
+
`,Ei=`
|
|
1907
|
+
display: inline-flex;
|
|
1908
|
+
align-items: center;
|
|
1909
|
+
justify-content: center;
|
|
1910
|
+
gap: 8px;
|
|
1911
|
+
height: 40px;
|
|
1912
|
+
padding: 0 12px;
|
|
1913
|
+
border: 0;
|
|
1914
|
+
border-radius: 12px;
|
|
1915
|
+
cursor: pointer;
|
|
1916
|
+
font-family: ${a.font.sans};
|
|
1917
|
+
font-weight: 600;
|
|
1918
|
+
font-size: 13px;
|
|
1919
|
+
line-height: 24px;
|
|
1920
|
+
letter-spacing: 0.46px;
|
|
1921
|
+
text-transform: uppercase;
|
|
1922
|
+
text-align: center;
|
|
1923
|
+
white-space: nowrap;
|
|
1924
|
+
|
|
1925
|
+
.ico {
|
|
1926
|
+
width: 20px;
|
|
1927
|
+
height: 20px;
|
|
1928
|
+
}
|
|
1929
|
+
&:focus-visible {
|
|
1930
|
+
outline: 2px solid ${a.colors.accent};
|
|
1931
|
+
outline-offset: 2px;
|
|
1932
|
+
}
|
|
1933
|
+
`,up=r.button`
|
|
1934
|
+
${Ei}
|
|
1935
|
+
min-width: 106px;
|
|
1936
|
+
background: ${a.colors.text2};
|
|
1937
|
+
color: ${a.colors.softWhite};
|
|
1938
|
+
|
|
1939
|
+
&:hover:not(:disabled) {
|
|
1940
|
+
filter: brightness(1.35);
|
|
1941
|
+
}
|
|
1942
|
+
&:disabled {
|
|
1943
|
+
opacity: 0.55;
|
|
1944
|
+
cursor: default;
|
|
1945
|
+
}
|
|
1946
|
+
`,Ca=r.button`
|
|
1947
|
+
${Ei}
|
|
1948
|
+
background: ${a.colors.accent};
|
|
1949
|
+
color: ${a.colors.softWhite};
|
|
1950
|
+
|
|
1951
|
+
&:hover:not(:disabled) {
|
|
1952
|
+
background: ${a.colors.accentHover};
|
|
1953
|
+
}
|
|
1954
|
+
`,pp=r.span`
|
|
1955
|
+
display: inline-flex;
|
|
1956
|
+
align-items: center;
|
|
1957
|
+
height: 40px;
|
|
1958
|
+
padding: 0 12px;
|
|
1959
|
+
border-radius: 12px;
|
|
1960
|
+
background: ${a.colors.chip};
|
|
1961
|
+
font-family: ${a.font.sans};
|
|
1962
|
+
font-weight: 600;
|
|
1963
|
+
font-size: 13px;
|
|
1964
|
+
line-height: 24px;
|
|
1965
|
+
color: ${a.colors.muted};
|
|
1966
|
+
white-space: nowrap;
|
|
1967
|
+
`,hp=r.div`
|
|
1968
|
+
flex: none;
|
|
1969
|
+
display: flex;
|
|
1970
|
+
align-items: center;
|
|
1971
|
+
justify-content: flex-end;
|
|
1972
|
+
gap: 8px;
|
|
1973
|
+
`,fp=r.p`
|
|
1974
|
+
margin: 0;
|
|
1975
|
+
font-family: ${a.font.sans};
|
|
1976
|
+
font-size: 12px;
|
|
1977
|
+
line-height: 1;
|
|
1978
|
+
color: ${a.colors.gray0};
|
|
1979
|
+
`,Ia=r.button`
|
|
1980
|
+
display: grid;
|
|
1981
|
+
place-items: center;
|
|
1982
|
+
padding: 10px;
|
|
1983
|
+
border: 1px solid ${a.colors.text2};
|
|
1984
|
+
border-radius: 4px;
|
|
1985
|
+
background: ${a.colors.white};
|
|
1986
|
+
color: ${a.colors.text2};
|
|
1987
|
+
cursor: pointer;
|
|
1988
|
+
|
|
1989
|
+
/* One chevron glyph turned into ‹ / › so no extra asset is needed. */
|
|
1990
|
+
.ico {
|
|
1991
|
+
width: 11px;
|
|
1992
|
+
height: 11px;
|
|
1993
|
+
transform: rotate(-90deg);
|
|
1994
|
+
}
|
|
1995
|
+
&[data-dir='prev'] .ico {
|
|
1996
|
+
transform: rotate(90deg);
|
|
1997
|
+
}
|
|
1998
|
+
&:disabled {
|
|
1999
|
+
border-color: ${a.colors.lineStrong};
|
|
2000
|
+
color: ${a.colors.lineStrong};
|
|
2001
|
+
cursor: default;
|
|
2002
|
+
}
|
|
2003
|
+
&:focus-visible {
|
|
2004
|
+
outline: 2px solid ${a.colors.accent};
|
|
2005
|
+
outline-offset: 2px;
|
|
2006
|
+
}
|
|
2007
|
+
`,xp=r.p`
|
|
2008
|
+
margin: 0;
|
|
2009
|
+
padding: 32px 0;
|
|
2010
|
+
font-family: ${a.font.sans};
|
|
2011
|
+
font-size: 14px;
|
|
2012
|
+
line-height: 1.43;
|
|
2013
|
+
color: ${a.colors.muted};
|
|
2014
|
+
text-align: center;
|
|
2015
|
+
`;r.div`
|
|
2016
|
+
display: flex;
|
|
2017
|
+
flex-direction: column;
|
|
2018
|
+
gap: 8px;
|
|
2019
|
+
margin-top: 16px;
|
|
2020
|
+
|
|
2021
|
+
.classic-title {
|
|
2022
|
+
font-family: ${a.font.sans};
|
|
2023
|
+
font-weight: 600;
|
|
2024
|
+
font-size: 15px;
|
|
2025
|
+
color: ${a.colors.text2};
|
|
2026
|
+
}
|
|
2027
|
+
.classic-note {
|
|
2028
|
+
font-family: ${a.font.sans};
|
|
2029
|
+
font-size: 13px;
|
|
2030
|
+
color: ${a.colors.muted};
|
|
2031
|
+
}
|
|
2032
|
+
`;r.span`
|
|
2033
|
+
display: inline-flex;
|
|
2034
|
+
align-items: center;
|
|
2035
|
+
padding: 2px 8px;
|
|
2036
|
+
border-radius: ${a.radius.chip};
|
|
2037
|
+
background: ${a.colors.chip};
|
|
2038
|
+
font-family: ${a.font.sans};
|
|
2039
|
+
font-size: 11px;
|
|
2040
|
+
letter-spacing: 0.4px;
|
|
2041
|
+
text-transform: uppercase;
|
|
2042
|
+
color: ${a.colors.muted};
|
|
2043
|
+
`;r.a`
|
|
2044
|
+
display: inline-flex;
|
|
2045
|
+
align-items: center;
|
|
2046
|
+
gap: 6px;
|
|
2047
|
+
height: 40px;
|
|
2048
|
+
padding: 0 14px;
|
|
2049
|
+
border: 1px solid ${a.colors.lineStrong};
|
|
2050
|
+
border-radius: 12px;
|
|
2051
|
+
color: ${a.colors.accent};
|
|
2052
|
+
font-family: ${a.font.sans};
|
|
2053
|
+
font-weight: 600;
|
|
2054
|
+
font-size: 13px;
|
|
2055
|
+
text-decoration: none;
|
|
2056
|
+
|
|
2057
|
+
&:hover {
|
|
2058
|
+
background: ${a.colors.chip};
|
|
2059
|
+
}
|
|
2060
|
+
.ico {
|
|
2061
|
+
width: 14px;
|
|
2062
|
+
height: 14px;
|
|
2063
|
+
}
|
|
2064
|
+
`;const Gt=10,mp=!1;function gp(t){return/^0x[a-fA-F0-9]{40}$/.test(t)?`${t.slice(0,6)}…${t.slice(-4)}`:t}function bp(t){let s=0;for(let o=0;o<t.length;o++)s=s*31+t.charCodeAt(o)>>>0;return`hsl(${s%360}, 52%, 45%)`}function yp(t,s){var o;return(((o=t==null?void 0:t.trim())==null?void 0:o[0])||s.replace(/^0x/i,"")[0]||"?").toUpperCase()}function wp(t){return t%100>=11&&t%100<=13?"th":["th","st","nd","rd"][t%10]??"th"}function vp(t,s){const o=new Date(t);return Number.isNaN(o.getTime())?"—":s==="en"?`${new Intl.DateTimeFormat("en",{month:"long"}).format(o)} ${o.getDate()}${wp(o.getDate())}, ${o.getFullYear()}`:new Intl.DateTimeFormat(s,{day:"numeric",month:"long",year:"numeric"}).format(o)}function jp(t){return{tradeId:t.tradeId??t.id,listingType:"primary",contractAddress:t.contractAddress,itemId:t.itemId??"",name:t.name,thumbnail:t.thumbnail,rarity:t.rarity,category:t.category,wearableCategory:t.wearableCategory??null,creator:t.creator,manaWei:t.manaWei??"0",available:1,network:t.network,chainId:t.chainId,createdAt:0}}function kp({r:t,seller:s,issuedId:o,labels:l,locale:d,isOwn:u,isLegacy:h,inCart:m,fallbackImage:g,onAdd:k,onBuyNative:x,onBuyLegacy:j}){var i,K;const w=ot(),{data:$}=gt(s),I=(K=(i=$==null?void 0:$.avatar)==null?void 0:i.snapshots)==null?void 0:K.face256,[S,R]=c.useState(!1);c.useEffect(()=>R(!1),[I]);const O=!!I&&!S,M=s?$!=null&&$.name?bt($.name):gp(s):void 0,b=O?e.jsx("img",{className:"owner-ava",src:I,alt:"",loading:"lazy",onError:()=>R(!0)}):s?e.jsx("span",{className:"owner-ava",style:{backgroundColor:bp(s)},"aria-hidden":!0,children:yp($==null?void 0:$.name,s)}):g?e.jsx("img",{className:"owner-ava",src:g,alt:"","aria-hidden":!0}):e.jsx("span",{className:"owner-ava","aria-hidden":!0}),B=e.jsxs(e.Fragment,{children:[b,M?e.jsx("span",{className:"owner-name","data-testid":"resale-seller",children:M}):null]});return e.jsxs("tr",{"data-testid":"resale-row","data-source":t.source,"data-own":u?"true":void 0,children:[e.jsx("td",{"data-label":l.owner,children:s?e.jsx(lp,{type:"button",onClick:()=>w(`/items/creator/${s}`),children:B}):e.jsx(op,{children:B})}),e.jsx("td",{"data-label":l.itemNumber,children:o?e.jsxs("span",{"data-testid":"resale-issued",children:["#",o]}):e.jsx($a,{children:"—"})}),e.jsx("td",{"data-label":l.expiration,children:t.saleEndsAt?vp(t.saleEndsAt,d):e.jsx($a,{children:"—"})}),e.jsx("td",{"data-label":l.price,children:e.jsxs(dp,{children:[e.jsxs("span",{className:"amount",children:[h?e.jsx("span",{className:"approx","aria-hidden":!0,children:"≈"}):null,e.jsx(Pe,{className:"ccy"}),e.jsx("span",{children:Un(t.priceCredits)})]}),e.jsx(cp,{"data-persistent":u?"true":void 0,children:u?e.jsx(pp,{"data-testid":"resale-own",children:n("resales.yourListing")}):h?e.jsx(Ca,{onClick:j,"aria-label":n("assetCard.buyNow"),"data-testid":"resale-buy",children:n("resales.buy")}):e.jsxs(e.Fragment,{children:[e.jsxs(up,{onClick:k,disabled:m,"aria-label":m?n("assetCard.inCart"):n("assetCard.addToCart"),"data-testid":"resale-add",children:[e.jsx(E,{name:"cart",className:"ico"}),e.jsx("span",{children:m?n("assetCard.inCart"):n("resales.add")})]}),e.jsx(Ca,{onClick:x,"aria-label":n("assetCard.buyNow"),"data-testid":"resale-buy",children:n("resales.buy")})]})})]})})]})}function $p({item:t,onClose:s}){var _;const o=t.contractAddress,l=t.itemId,d=mt(),u=Mt(p=>p.add),h=Mt(p=>p.items),{session:m}=at(),g=si(p=>p.locale),k=(_=m==null?void 0:m.address)==null?void 0:_.toLowerCase(),x=c.useRef(null),[j,w]=c.useState(null),[$,I]=c.useState(null),[S,R]=c.useState("cheapest"),[O,M]=c.useState(0),b=!!j||!!$;c.useEffect(()=>{var p;(p=x.current)==null||p.focus()},[]),c.useEffect(()=>{function p(C){C.key==="Escape"&&!b&&s()}window.addEventListener("keydown",p);const A=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",p),document.body.style.overflow=A}},[b,s]);const{data:B=[],isLoading:i}=ie({queryKey:["item-resales",o,l],enabled:!!o&&!!l,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>li(o,l)}),K=c.useMemo(()=>S==="cheapest"?B:[...B].sort((p,A)=>A.priceCredits-p.priceCredits),[B,S]),Q=Math.max(1,Math.ceil(K.length/Gt)),V=Math.min(O,Q-1),X=K.slice(V*Gt,V*Gt+Gt),ne=X.filter(p=>!p.seller||!p.issuedId).map(p=>p.tokenId).filter(p=>!!p),{data:te={}}=ie({queryKey:["resale-token-info",o,ne.join(",")],enabled:!!o&&ne.length>0,staleTime:6e4,queryFn:()=>Os(o,ne)}),{data:ce=[]}=ie({queryKey:["item-classic-orders",o,l],enabled:mp,queryFn:()=>Ks(o,l)}),le=B.some(p=>p.source==="legacy"),{data:J}=oi(le);function z(){d.invalidateQueries({queryKey:["item-resales",o,l]})}const T={owner:n("resales.colOwner"),itemNumber:n("resales.colItemNumber"),expiration:n("resales.colExpiration"),price:n("resales.colPrice")};return e.jsxs(e.Fragment,{children:[e.jsx(Yu,{onClick:b?void 0:s,role:"presentation",children:e.jsxs(Ju,{ref:x,tabIndex:-1,onClick:p=>p.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("resales.modalTitle"),"data-testid":"resellers-modal",children:[e.jsxs(Xu,{children:[e.jsx(Zu,{children:n("resales.modalTitle")}),e.jsx(ep,{onClick:s,"aria-label":n("resales.close"),"data-testid":"resellers-close",children:e.jsx(E,{name:"close"})})]}),e.jsxs(tp,{children:[e.jsxs(np,{children:[e.jsx(rp,{"data-testid":"resales-count",children:n("resales.count",{count:B.length})}),e.jsxs(ap,{children:[e.jsxs("select",{value:S,onChange:p=>{R(p.target.value),M(0)},"aria-label":n("resales.sortLabel"),"data-testid":"resales-sort",children:[e.jsx("option",{value:"cheapest",children:n("resales.sortCheapest")}),e.jsx("option",{value:"most_expensive",children:n("resales.sortExpensive")})]}),e.jsx(E,{name:"chevron-down",className:"chev"})]})]}),i?null:K.length===0?e.jsx(xp,{"data-testid":"resales-empty",children:n("resales.empty")}):null,K.length>0?e.jsxs(e.Fragment,{children:[e.jsx(ip,{children:e.jsxs(sp,{children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",children:T.owner}),e.jsx("th",{scope:"col",children:T.itemNumber}),e.jsx("th",{scope:"col",children:T.expiration}),e.jsx("th",{scope:"col",children:T.price})]})}),e.jsx("tbody",{children:X.map(p=>{const A=p.source==="legacy",C=h.some(ee=>ee.id===p.id),P=p.tokenId&&te[p.tokenId]||{},W=p.issuedId??P.issuedId,H=p.seller??P.seller,se={...p,name:p.name||t.name,thumbnail:p.thumbnail||t.thumbnail,rarity:p.rarity||t.rarity,category:p.category||t.category,wearableCategory:p.wearableCategory??t.wearableCategory,gender:p.gender??t.gender},je=!!H&&!!k&&H.toLowerCase()===k;return e.jsx(kp,{r:se,seller:H,issuedId:W,labels:T,locale:g,isOwn:je,isLegacy:A,inCart:C,fallbackImage:se.thumbnail,onAdd:()=>u(se,"item_detail"),onBuyNative:()=>w(se),onBuyLegacy:()=>I(jp(se))},p.tradeId??p.id)})})]})}),Q>1?e.jsxs(hp,{children:[e.jsx(Ia,{"data-dir":"prev",onClick:()=>M(p=>Math.max(0,p-1)),disabled:V===0,"aria-label":n("resales.prevPage"),"data-testid":"resale-prev-page",children:e.jsx(E,{name:"chevron-down"})}),e.jsx(fp,{"data-testid":"resale-page-label",children:n("resales.page",{page:V+1,total:Q})}),e.jsx(Ia,{onClick:()=>M(p=>Math.min(Q-1,p+1)),disabled:V>=Q-1,"aria-label":n("resales.nextPage"),"data-testid":"resale-next-page",children:e.jsx(E,{name:"chevron-down"})})]}):null]}):null,null]})]})}),j?e.jsx(qn,{item:j,onClose:()=>{w(null),z()}}):null,$&&J?e.jsx(Ri,{listing:$,rate:J,onClose:()=>I(null),onSold:()=>{I(null),z()}}):null]})}const Cp="data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='76'%20height='76'%20viewBox='0%200%2076%2076'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='weui:shop-outlined'%3e%3cpath%20id='Vector'%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M25.3333%2022.1667V19C25.3333%2015.6406%2026.6679%2012.4188%2029.0433%2010.0433C31.4188%207.66785%2034.6406%206.33333%2038%206.33333C41.3594%206.33333%2044.5812%207.66785%2046.9567%2010.0433C49.3321%2012.4188%2050.6667%2015.6406%2050.6667%2019V22.1667H60.1667C61.9147%2022.1667%2063.3333%2023.5885%2063.3333%2025.3555V63.3587C63.3333%2066.842%2060.4992%2069.6667%2057.019%2069.6667H18.981C17.3074%2069.6667%2015.7023%2069.0023%2014.5183%2067.8195C13.3343%2066.6367%2012.6683%2065.0322%2012.6667%2063.3587V25.3587C12.6667%2023.5917%2014.0758%2022.1667%2015.8333%2022.1667H25.3333ZM29.1333%2022.1667H46.8667V19C46.8667%2016.6484%2045.9325%2014.3931%2044.2697%2012.7303C42.6069%2011.0675%2040.3516%2010.1333%2038%2010.1333C35.6484%2010.1333%2033.3931%2011.0675%2031.7303%2012.7303C30.0675%2014.3931%2029.1333%2016.6484%2029.1333%2019V22.1667ZM25.3333%2025.9667H16.4667V63.3587C16.4667%2064.7393%2017.594%2065.8667%2018.981%2065.8667H57.019C57.6847%2065.8667%2058.3233%2065.6026%2058.7947%2065.1325C59.266%2064.6623%2059.5317%2064.0244%2059.5333%2063.3587V25.9667H50.6667V34.8333H46.8667V25.9667H29.1333V34.8333H25.3333V25.9667Z'%20fill='url(%23paint0_linear_0_226)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_0_226'%20x1='36.6705'%20y1='6.33333'%20x2='32.2014'%20y2='69.3597'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FF7439'/%3e%3cstop%20offset='1'%20stop-color='%23FF2D55'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",{colors:me,font:Fi,radius:Jn,z:Ip}=a,Sp=r.div`
|
|
2065
|
+
position: fixed;
|
|
2066
|
+
inset: 0;
|
|
2067
|
+
z-index: ${Ip.overlay};
|
|
2068
|
+
display: flex;
|
|
2069
|
+
align-items: center;
|
|
2070
|
+
justify-content: center;
|
|
2071
|
+
overflow-y: auto;
|
|
2072
|
+
padding: 16px;
|
|
2073
|
+
background: rgba(22, 21, 24, 0.55);
|
|
2074
|
+
`,Ap=r.div`
|
|
2075
|
+
width: 560px;
|
|
2076
|
+
max-width: 100%;
|
|
2077
|
+
max-height: 100%;
|
|
2078
|
+
overflow-y: auto;
|
|
2079
|
+
padding: 12px 16px 16px;
|
|
2080
|
+
border-radius: ${Jn.modal};
|
|
2081
|
+
background: ${me.white};
|
|
2082
|
+
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
|
|
2083
|
+
display: flex;
|
|
2084
|
+
flex-direction: column;
|
|
2085
|
+
gap: 24px;
|
|
2086
|
+
font-family: ${Fi.sans};
|
|
2087
|
+
|
|
2088
|
+
/* Focused on mount for screen readers; it is not tab-reachable, so it never needs a visible ring. */
|
|
2089
|
+
&:focus {
|
|
2090
|
+
outline: none;
|
|
2091
|
+
}
|
|
2092
|
+
`,Rp=r.div`
|
|
2093
|
+
display: flex;
|
|
2094
|
+
align-items: center;
|
|
2095
|
+
justify-content: space-between;
|
|
2096
|
+
gap: 8px;
|
|
2097
|
+
padding-bottom: 16px;
|
|
2098
|
+
border-bottom: 1px solid ${me.gray4};
|
|
2099
|
+
`,Mp=r.h2`
|
|
2100
|
+
margin: 0;
|
|
2101
|
+
font-weight: 600;
|
|
2102
|
+
font-size: 20px;
|
|
2103
|
+
line-height: 1.6;
|
|
2104
|
+
color: ${me.text};
|
|
2105
|
+
`,Pp=r.button`
|
|
2106
|
+
position: relative;
|
|
2107
|
+
flex: none;
|
|
2108
|
+
display: grid;
|
|
2109
|
+
place-items: center;
|
|
2110
|
+
width: 18.535px;
|
|
2111
|
+
height: 18.535px;
|
|
2112
|
+
padding: 0;
|
|
2113
|
+
border: 0;
|
|
2114
|
+
background: none;
|
|
2115
|
+
cursor: pointer;
|
|
2116
|
+
color: ${me.text};
|
|
2117
|
+
|
|
2118
|
+
.ico {
|
|
2119
|
+
width: 100%;
|
|
2120
|
+
height: 100%;
|
|
2121
|
+
}
|
|
2122
|
+
/* Keeps the glyph exactly where the design puts it while giving it a tappable hit area. */
|
|
2123
|
+
&::after {
|
|
2124
|
+
content: '';
|
|
2125
|
+
position: absolute;
|
|
2126
|
+
inset: -11px;
|
|
2127
|
+
}
|
|
2128
|
+
&:focus-visible {
|
|
2129
|
+
outline: 2px solid ${me.accent};
|
|
2130
|
+
outline-offset: 2px;
|
|
2131
|
+
}
|
|
2132
|
+
`,Lp=r.div`
|
|
2133
|
+
padding: 24px 16px;
|
|
2134
|
+
border-radius: ${Jn.modal};
|
|
2135
|
+
background: ${me.promptLilac};
|
|
2136
|
+
display: flex;
|
|
2137
|
+
flex-direction: column;
|
|
2138
|
+
align-items: center;
|
|
2139
|
+
gap: 16px;
|
|
2140
|
+
text-align: center;
|
|
2141
|
+
`,zp=r.img`
|
|
2142
|
+
flex: none;
|
|
2143
|
+
width: 76px;
|
|
2144
|
+
height: 76px;
|
|
2145
|
+
`,Ep=r.h3`
|
|
2146
|
+
margin: 0;
|
|
2147
|
+
font-weight: 700;
|
|
2148
|
+
font-size: 20px;
|
|
2149
|
+
line-height: 1.334;
|
|
2150
|
+
color: ${me.text2};
|
|
2151
|
+
`,Sa=r.p`
|
|
2152
|
+
margin: 0;
|
|
2153
|
+
font-weight: 400;
|
|
2154
|
+
font-size: 16px;
|
|
2155
|
+
line-height: 1.334;
|
|
2156
|
+
color: ${me.text2};
|
|
2157
|
+
`,Fp=r.div`
|
|
2158
|
+
display: flex;
|
|
2159
|
+
align-items: center;
|
|
2160
|
+
gap: 12px;
|
|
2161
|
+
`,Ti=`
|
|
2162
|
+
flex: 1 1 0;
|
|
2163
|
+
min-width: 0;
|
|
2164
|
+
display: inline-flex;
|
|
2165
|
+
align-items: center;
|
|
2166
|
+
justify-content: center;
|
|
2167
|
+
gap: 12px;
|
|
2168
|
+
height: 46px;
|
|
2169
|
+
padding: 0 12px;
|
|
2170
|
+
border-radius: ${Jn.card};
|
|
2171
|
+
font-family: ${Fi.sans};
|
|
2172
|
+
font-weight: 600;
|
|
2173
|
+
font-size: 13px;
|
|
2174
|
+
line-height: 24px;
|
|
2175
|
+
letter-spacing: 0.46px;
|
|
2176
|
+
text-transform: uppercase;
|
|
2177
|
+
cursor: pointer;
|
|
2178
|
+
transition:
|
|
2179
|
+
background 0.15s ease,
|
|
2180
|
+
color 0.15s ease;
|
|
2181
|
+
|
|
2182
|
+
&:focus-visible {
|
|
2183
|
+
outline: 2px solid ${me.accent};
|
|
2184
|
+
outline-offset: 2px;
|
|
2185
|
+
}
|
|
2186
|
+
`,Tp=r.button`
|
|
2187
|
+
${Ti};
|
|
2188
|
+
border: 0.5px solid ${me.text};
|
|
2189
|
+
background: ${me.white};
|
|
2190
|
+
color: ${me.text2};
|
|
2191
|
+
|
|
2192
|
+
&:hover {
|
|
2193
|
+
background: ${me.panel};
|
|
2194
|
+
}
|
|
2195
|
+
`,Np=r.a`
|
|
2196
|
+
${Ti};
|
|
2197
|
+
border: 0;
|
|
2198
|
+
background: ${me.dclRed};
|
|
2199
|
+
color: ${me.softWhite};
|
|
2200
|
+
text-decoration: none;
|
|
2201
|
+
|
|
2202
|
+
&:hover {
|
|
2203
|
+
filter: brightness(1.08);
|
|
2204
|
+
}
|
|
2205
|
+
`,_p=r.span`
|
|
2206
|
+
flex: none;
|
|
2207
|
+
display: grid;
|
|
2208
|
+
place-items: center;
|
|
2209
|
+
width: 24px;
|
|
2210
|
+
height: 24px;
|
|
2211
|
+
|
|
2212
|
+
.ico {
|
|
2213
|
+
width: 100%;
|
|
2214
|
+
height: 100%;
|
|
2215
|
+
}
|
|
2216
|
+
`;function Bp(t,s){return`${Le.marketplaceUrl}/contracts/${t}/tokens/${s}`}function Wp(t,s){return`${Le.marketplaceUrl}/contracts/${t}/items/${s}`}function Aa(t){const{contractAddress:s,onClose:o}=t,l=t.variant==="buy",d=t.variant==="buy"?t.itemId:null,u=t.variant==="buy"?null:t.tokenId,h=t.variant==="buy"?Wp(s,t.itemId):Bp(s,t.tokenId),m=c.useRef(null),g=c.useRef(o);return g.current=o,c.useEffect(()=>{var x;(x=m.current)==null||x.focus();function k(j){j.key==="Escape"&&g.current()}return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[]),e.jsx(Sp,{role:"presentation",onClick:o,children:e.jsxs(Ap,{ref:m,tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":n("marketplaceRedirect.title"),"data-testid":"marketplace-redirect-modal",onClick:k=>k.stopPropagation(),children:[e.jsxs(Rp,{children:[e.jsx(Mp,{children:n("marketplaceRedirect.title")}),e.jsx(Pp,{onClick:o,"aria-label":n("marketplaceRedirect.close"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsxs(Lp,{children:[e.jsx(zp,{src:Cp,alt:"","aria-hidden":!0}),e.jsx(Ep,{children:n("marketplaceRedirect.heading")}),e.jsx(Sa,{children:l?n("marketplaceRedirect.buyBody"):n("marketplaceRedirect.body")}),l?e.jsx(Sa,{children:n("marketplaceRedirect.buyCurrencyNote")}):null]}),e.jsxs(Fp,{children:[e.jsx(Tp,{onClick:o,"data-testid":"marketplace-redirect-cancel",children:n("marketplaceRedirect.cancel")}),e.jsxs(Np,{href:h,target:"_blank",rel:"noreferrer","data-testid":"marketplace-redirect-continue",onClick:()=>Z("Shop Redirected To Marketplace",{direction:l?"buy":"resell",contract_address:s,item_id:d,token_id:u}),children:[n("marketplaceRedirect.continue"),e.jsx(_p,{"aria-hidden":!0,children:e.jsx(E,{name:"view-all-arrow",className:"ico"})})]})]})]})})}function Xn(){return Le.shopServerUrl||null}function Ni(){return!!Xn()}async function Dp(t,s,o){const l=Xn();if(!l)return{subscribed:!1};const d=new URLSearchParams({contractAddress:t,itemId:s}),u=`${l}/notify-requests?${d.toString()}`,h=await di(u,{method:"GET",identity:o,metadata:{}});if(!h.ok)throw new Error(`getNotifyRequest ${h.status}`);return Op(h,"getNotifyRequest")}async function qp(t,s){const o=Xn();if(!o)throw new Error("createNotifyRequest: no shop-server host configured");const l=`${o}/notify-requests`,d=await di(l,{method:"POST",identity:s,metadata:{},headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!d.ok)throw new Error(`createNotifyRequest ${d.status}: ${await d.text()}`);const u=await d.text();if(u.trim()&&!Kp(u))throw new Error("createNotifyRequest: response was not JSON")}async function Op(t,s){try{return await t.json()}catch{throw new Error(`${s}: response was not JSON`)}}function Kp(t){try{return JSON.parse(t),!0}catch{return!1}}const{colors:Me,radius:_i}=a,Bi=yt`
|
|
2217
|
+
display: flex;
|
|
2218
|
+
flex-direction: column;
|
|
2219
|
+
gap: 8px;
|
|
2220
|
+
width: 100%;
|
|
2221
|
+
`,Hp=r.form`
|
|
2222
|
+
${Bi};
|
|
2223
|
+
`,Ra=r.div`
|
|
2224
|
+
${Bi};
|
|
2225
|
+
|
|
2226
|
+
&[data-done] {
|
|
2227
|
+
flex-direction: row;
|
|
2228
|
+
align-items: center;
|
|
2229
|
+
gap: 16px;
|
|
2230
|
+
padding: 12px;
|
|
2231
|
+
border-radius: 16px;
|
|
2232
|
+
background: #c1d8c9;
|
|
2233
|
+
}
|
|
2234
|
+
`,Up=r.label`
|
|
2235
|
+
font-size: 14px;
|
|
2236
|
+
color: ${Me.softWhite};
|
|
2237
|
+
`,Qp=r.div`
|
|
2238
|
+
display: flex;
|
|
2239
|
+
align-items: stretch;
|
|
2240
|
+
gap: 8px;
|
|
2241
|
+
`,Vp=r.input`
|
|
2242
|
+
flex: 1;
|
|
2243
|
+
min-width: 0;
|
|
2244
|
+
height: 42px;
|
|
2245
|
+
padding: 0 16px;
|
|
2246
|
+
border: 1px solid ${Me.fieldBorder};
|
|
2247
|
+
border-radius: ${_i.btn};
|
|
2248
|
+
background: rgba(255, 255, 255, 0.1);
|
|
2249
|
+
font-size: 16px;
|
|
2250
|
+
color: ${Me.softWhite};
|
|
2251
|
+
|
|
2252
|
+
&::placeholder {
|
|
2253
|
+
color: ${Me.gray4};
|
|
2254
|
+
}
|
|
2255
|
+
&:focus-visible {
|
|
2256
|
+
outline: none;
|
|
2257
|
+
border-color: ${Me.white};
|
|
2258
|
+
box-shadow: 0 0 0 1px ${Me.white};
|
|
2259
|
+
}
|
|
2260
|
+
`,Ma=r.button`
|
|
2261
|
+
flex-shrink: 0;
|
|
2262
|
+
height: 40px;
|
|
2263
|
+
padding: 0 12px;
|
|
2264
|
+
border: 0;
|
|
2265
|
+
border-radius: ${_i.card};
|
|
2266
|
+
background: ${Me.softWhite};
|
|
2267
|
+
color: ${Me.text};
|
|
2268
|
+
font-weight: 600;
|
|
2269
|
+
font-size: 15px;
|
|
2270
|
+
line-height: 24px;
|
|
2271
|
+
text-transform: uppercase;
|
|
2272
|
+
letter-spacing: 0.46px;
|
|
2273
|
+
cursor: pointer;
|
|
2274
|
+
transition: background 0.15s ease;
|
|
2275
|
+
|
|
2276
|
+
&[data-full] {
|
|
2277
|
+
width: 100%;
|
|
2278
|
+
flex-shrink: 1;
|
|
2279
|
+
}
|
|
2280
|
+
&:hover:not(:disabled) {
|
|
2281
|
+
background: ${Me.white};
|
|
2282
|
+
}
|
|
2283
|
+
&:disabled {
|
|
2284
|
+
opacity: 0.5;
|
|
2285
|
+
cursor: default;
|
|
2286
|
+
}
|
|
2287
|
+
`,Gp=r.span`
|
|
2288
|
+
display: inline-flex;
|
|
2289
|
+
align-items: center;
|
|
2290
|
+
justify-content: center;
|
|
2291
|
+
flex-shrink: 0;
|
|
2292
|
+
width: 20px;
|
|
2293
|
+
height: 20px;
|
|
2294
|
+
border-radius: 50%;
|
|
2295
|
+
background: #34ce76;
|
|
2296
|
+
color: ${Me.white};
|
|
2297
|
+
`,Yp=r.span`
|
|
2298
|
+
font-size: 16px;
|
|
2299
|
+
line-height: 1.5;
|
|
2300
|
+
color: ${Me.text2};
|
|
2301
|
+
`;function Pa(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t.trim())}function Jp({item:t}){const s=at(R=>R.session),o=at(R=>R.signIn),[l,d]=c.useState(""),[u,h]=c.useState(!1),[m,g]=c.useState(!1),[k,x]=c.useState(null),j=Ni(),w=j&&!!s&&!!t.contractAddress&&!!t.itemId,{data:$}=ie({queryKey:["notify-request",t.contractAddress,t.itemId,s==null?void 0:s.address],enabled:w,queryFn:()=>Dp(t.contractAddress,t.itemId,s.identity)});c.useEffect(()=>{$!=null&&$.email&&d(R=>R||$.email)},[$==null?void 0:$.email]),c.useEffect(()=>{if(!s||!j)return;let R=!1;return Hs().then(O=>{!R&&O&&d(M=>M||O)}),()=>{R=!0}},[j,s]);const I=m||!!($!=null&&$.subscribed);async function S(R){if(R.preventDefault(),!(!s||!t.itemId||!Pa(l)||u)){h(!0),x(null);try{await qp({contractAddress:t.contractAddress,itemId:t.itemId,chainId:t.chainId,email:l.trim()},s.identity),g(!0),Z("Shop Requested Notify",{item_id:t.itemId,contract_address:t.contractAddress})}catch(O){he(O,{flow:"notify-me",contractAddress:t.contractAddress,itemId:t.itemId}),x(n("notifyMe.error"))}finally{h(!1)}}}return j?s?I?e.jsxs(Ra,{"data-done":!0,"data-testid":"notify-subscribed",children:[e.jsx(Gp,{"aria-hidden":!0,children:e.jsx(E,{name:"check",size:12})}),e.jsx(Yp,{children:n("notifyMe.subscribedBody")})]}):e.jsxs(Hp,{onSubmit:R=>void S(R),"data-testid":"notify",children:[e.jsx(Up,{htmlFor:"notify-email",children:n("notifyMe.label")}),e.jsxs(Qp,{children:[e.jsx(Vp,{id:"notify-email",type:"email",inputMode:"email",autoComplete:"email",placeholder:n("notifyMe.placeholder"),value:l,onChange:R=>d(R.target.value),"data-testid":"notify-email"}),e.jsx(Ma,{type:"submit",disabled:!Pa(l)||u,"data-testid":"notify-submit",children:u?n("notifyMe.working"):n("notifyMe.cta")})]}),e.jsx(st,{message:k})]}):e.jsx(Ra,{"data-testid":"notify",children:e.jsx(Ma,{type:"button","data-full":!0,onClick:o,"data-testid":"notify-signin",children:n("notifyMe.signInCta")})}):null}const Xp=r.div`
|
|
2302
|
+
display: flex;
|
|
2303
|
+
flex-direction: column;
|
|
2304
|
+
gap: 4px;
|
|
2305
|
+
width: 100%;
|
|
2306
|
+
font-family: ${a.font.sans};
|
|
2307
|
+
`,Zp=r.div`
|
|
2308
|
+
display: flex;
|
|
2309
|
+
align-items: flex-start;
|
|
2310
|
+
justify-content: space-between;
|
|
2311
|
+
gap: 12px;
|
|
2312
|
+
font-size: 12px;
|
|
2313
|
+
`,eh=r.span`
|
|
2314
|
+
font-weight: 600;
|
|
2315
|
+
line-height: 1.57;
|
|
2316
|
+
color: ${a.colors.muted2};
|
|
2317
|
+
/* Drawn in caps, like the PRICE and STOCK labels beside it. Cased here rather than in the string so a
|
|
2318
|
+
translation is not forced to shout in a language where that reads badly. */
|
|
2319
|
+
text-transform: uppercase;
|
|
2320
|
+
white-space: nowrap;
|
|
2321
|
+
`,La=r.span`
|
|
2322
|
+
/* Sized here, not inherited from the head row: the same element also sits UNDER the bar, outside it. */
|
|
2323
|
+
font-size: 12px;
|
|
2324
|
+
font-weight: 400;
|
|
2325
|
+
line-height: 22px;
|
|
2326
|
+
color: ${a.colors.softWhite};
|
|
2327
|
+
text-transform: lowercase;
|
|
2328
|
+
white-space: nowrap;
|
|
2329
|
+
`,th=r.div`
|
|
2330
|
+
position: relative;
|
|
2331
|
+
width: 100%;
|
|
2332
|
+
height: 10px;
|
|
2333
|
+
border-radius: 100px;
|
|
2334
|
+
background: rgba(255, 255, 255, 0.2);
|
|
2335
|
+
/* The fill is a child with its own radius; clipping here keeps a full bar's ends round. */
|
|
2336
|
+
overflow: hidden;
|
|
2337
|
+
`,nh=r.div`
|
|
2338
|
+
position: absolute;
|
|
2339
|
+
left: 0;
|
|
2340
|
+
top: 0;
|
|
2341
|
+
height: 10px;
|
|
2342
|
+
border-radius: 100px;
|
|
2343
|
+
background: ${a.colors.dclRed};
|
|
2344
|
+
transition: width 0.3s ease;
|
|
2345
|
+
|
|
2346
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2347
|
+
transition: none;
|
|
2348
|
+
}
|
|
2349
|
+
`;function rh({claimed:t,total:s,className:o,testId:l}){if(!Number.isFinite(t)||!Number.isFinite(s)||s<=0)return null;const d=Math.min(s,Math.max(0,t)),u=Math.round(d/s*100);return e.jsxs(Xp,{className:o,"data-testid":l,children:[e.jsxs(Zp,{children:[e.jsx(eh,{children:n("offerStock.label")}),e.jsx(La,{children:n("offerStock.claimed",{claimed:d,total:s})})]}),e.jsx(th,{role:"progressbar","aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":d,"aria-label":n("offerStock.claimed",{claimed:d,total:s}),children:e.jsx(nh,{style:{width:`${u}%`}})}),e.jsx(La,{children:n("offerStock.percent",{pct:u})})]})}const ah=new Map(Object.entries(Us).flatMap(([t,s])=>s.length===1?[[s[0],t]]:[])),xt="/items";function ih(t){return t?`${xt}?rarities=${encodeURIComponent(t.toLowerCase())}`:null}function sh(t){const s=t.wearableCategory;if(s){const o=ah.get(s);return o?`${xt}?category=wearable&subCategory=${encodeURIComponent(o)}`:`${xt}?category=wearable`}return t.category==="emote"?`${xt}?category=emote`:t.category==="wearable"?`${xt}?category=wearable`:null}function oh(){return`${xt}?smart=true`}const lh=r(Qs)`
|
|
2350
|
+
display: flex;
|
|
2351
|
+
flex-direction: column;
|
|
2352
|
+
overflow: hidden;
|
|
2353
|
+
gap: 1px;
|
|
2354
|
+
background: ${a.colors.lineStrong};
|
|
2355
|
+
|
|
2356
|
+
/* Rows stack; each cell (<img>) covers its share. A single row (≤2 thumbnails, data-full) spans the
|
|
2357
|
+
full height. */
|
|
2358
|
+
& [data-collage-row] {
|
|
2359
|
+
display: flex;
|
|
2360
|
+
flex: 1 1 50%;
|
|
2361
|
+
min-height: 0;
|
|
2362
|
+
gap: 1px;
|
|
2363
|
+
}
|
|
2364
|
+
& [data-collage-row][data-full] {
|
|
2365
|
+
flex-basis: 100%;
|
|
2366
|
+
}
|
|
2367
|
+
& [data-collage-row] img {
|
|
2368
|
+
flex: 1 1 0;
|
|
2369
|
+
min-width: 0;
|
|
2370
|
+
width: 100%;
|
|
2371
|
+
height: 100%;
|
|
2372
|
+
object-fit: cover;
|
|
2373
|
+
display: block;
|
|
2374
|
+
}
|
|
2375
|
+
`;function dh({contractAddress:t,name:s,items:o,className:l}){const d=ot();if(!t||!s)return null;const u=(o??[]).map(g=>g.thumbnail).filter(g=>!!g).slice(0,4),h=u.slice(0,2),m=u.slice(2,4);return e.jsxs(Vs,{as:"button","data-link":!0,className:l,"data-testid":"creator",onClick:g=>{g.stopPropagation(),d(`/collection/${t}`)},children:[u.length>0?e.jsxs(lh,{as:"span","data-avatar":!0,"data-testid":"creator-ava","aria-hidden":!0,children:[e.jsx("span",{"data-collage-row":!0,"data-full":m.length===0||void 0,children:h.map((g,k)=>e.jsx("img",{src:g,alt:""},k))}),m.length>0?e.jsx("span",{"data-collage-row":!0,children:m.map((g,k)=>e.jsx("img",{src:g,alt:""},k))}):null]}):null,e.jsx(Gs,{"data-testid":"creator-name",children:bt(s)})]})}const{colors:y,radius:Ge,media:de,font:ch,gradients:uh}=a,ph=r.div`
|
|
2376
|
+
max-width: 1721px;
|
|
2377
|
+
margin: 0 auto;
|
|
2378
|
+
|
|
2379
|
+
${de.maxWidth("lg")} {
|
|
2380
|
+
padding-bottom: 88px;
|
|
2381
|
+
}
|
|
2382
|
+
`,hh=r.nav`
|
|
2383
|
+
display: flex;
|
|
2384
|
+
align-items: center;
|
|
2385
|
+
gap: 8px;
|
|
2386
|
+
font-size: 13px;
|
|
2387
|
+
color: ${y.gray4};
|
|
2388
|
+
margin-bottom: 24px;
|
|
2389
|
+
${ed};
|
|
2390
|
+
`,fh=r.button`
|
|
2391
|
+
background: none;
|
|
2392
|
+
border: 0;
|
|
2393
|
+
padding: 0;
|
|
2394
|
+
font: inherit;
|
|
2395
|
+
color: ${y.gray4};
|
|
2396
|
+
|
|
2397
|
+
&:hover {
|
|
2398
|
+
color: ${y.white};
|
|
2399
|
+
}
|
|
2400
|
+
`,xh=r.span`
|
|
2401
|
+
color: ${y.muted2};
|
|
2402
|
+
`,mh=r.span`
|
|
2403
|
+
color: ${y.softWhite};
|
|
2404
|
+
font-weight: 600;
|
|
2405
|
+
`,gh=r.div`
|
|
2406
|
+
position: relative;
|
|
2407
|
+
/* Confines the glow's negative z-index, which would otherwise escape to the root stacking context. */
|
|
2408
|
+
isolation: isolate;
|
|
2409
|
+
display: grid;
|
|
2410
|
+
grid-template-columns: minmax(0, 1045fr) minmax(0, 514fr);
|
|
2411
|
+
gap: 48px;
|
|
2412
|
+
align-items: start;
|
|
2413
|
+
|
|
2414
|
+
/* Preview column width, re-derived from the tracks above so the glow's pivot cannot drift. */
|
|
2415
|
+
--preview-col-w: calc((100% - 48px) * 1045 / 1559);
|
|
2416
|
+
/* Oversized so the glow reaches past the frame while the gradient still finishes fading inside its
|
|
2417
|
+
own box: the radii cannot exceed 50% without ending outside the box and painting a hard rectangle. */
|
|
2418
|
+
--glow-box: 1.76;
|
|
2419
|
+
|
|
2420
|
+
/* Avatar glow, hung off the grid container because the preview frame clips its own overflow. Sits
|
|
2421
|
+
under the frame and, by document order, above the body symbols on the same z-index. */
|
|
2422
|
+
&::before {
|
|
2423
|
+
content: '';
|
|
2424
|
+
position: absolute;
|
|
2425
|
+
z-index: -1;
|
|
2426
|
+
pointer-events: none;
|
|
2427
|
+
top: 0;
|
|
2428
|
+
left: calc(var(--preview-col-w) / 2);
|
|
2429
|
+
width: calc(var(--preview-col-w) * var(--glow-box));
|
|
2430
|
+
aspect-ratio: 1045 / 752;
|
|
2431
|
+
transform: translate(-50%, calc(50% / var(--glow-box) - 50%));
|
|
2432
|
+
background: radial-gradient(
|
|
2433
|
+
50% 50% at 50% 52%,
|
|
2434
|
+
rgb(var(--glow-core, ${y.glowCyanRgb})) 0%,
|
|
2435
|
+
rgb(var(--glow-rgb, ${y.glowCyanRgb}) / 0.9) 20%,
|
|
2436
|
+
45%,
|
|
2437
|
+
rgb(var(--glow-rgb, ${y.glowCyanRgb}) / 0) 100%
|
|
2438
|
+
);
|
|
2439
|
+
}
|
|
2440
|
+
|
|
2441
|
+
${de.maxWidth("lg")} {
|
|
2442
|
+
grid-template-columns: 1fr;
|
|
2443
|
+
gap: 24px;
|
|
2444
|
+
|
|
2445
|
+
/* The track maths is desktop-only; one column puts the pivot nowhere meaningful. */
|
|
2446
|
+
&::before {
|
|
2447
|
+
display: none;
|
|
2448
|
+
}
|
|
2449
|
+
}
|
|
2450
|
+
`,bh=r.div`
|
|
2451
|
+
position: relative;
|
|
2452
|
+
aspect-ratio: 1045 / 752;
|
|
2453
|
+
border-radius: ${Ge.banner};
|
|
2454
|
+
overflow: hidden;
|
|
2455
|
+
|
|
2456
|
+
/* Edge to edge once the page is a single column: the stage is the whole width there, so it cancels the
|
|
2457
|
+
shell's gutter instead of sitting inside it. No transform, which would make this the containing block
|
|
2458
|
+
for the absolutely-positioned controls below. */
|
|
2459
|
+
${de.maxWidth("lg")} {
|
|
2460
|
+
aspect-ratio: 1 / 1;
|
|
2461
|
+
width: 100vw;
|
|
2462
|
+
margin-left: calc(-50vw + 50%);
|
|
2463
|
+
border-radius: 0;
|
|
2464
|
+
}
|
|
2465
|
+
|
|
2466
|
+
& iframe,
|
|
2467
|
+
& > * {
|
|
2468
|
+
width: 100%;
|
|
2469
|
+
height: 100%;
|
|
2470
|
+
border: 0;
|
|
2471
|
+
display: block;
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
/* Soft edges so legs and the cast shadow dissolve instead of being sliced by the overflow clip — on the
|
|
2475
|
+
iframe alone, so the pills and note stay crisp, and intersected linears rather than one radial, which
|
|
2476
|
+
would round the corners. The bands stay clear of the controls aang draws ~40px inside its canvas. */
|
|
2477
|
+
& iframe {
|
|
2478
|
+
-webkit-mask-image:
|
|
2479
|
+
linear-gradient(to bottom, transparent 0%, #000 3%, #000 92%, transparent 100%),
|
|
2480
|
+
linear-gradient(to right, transparent 0%, #000 3%, #000 97%, transparent 100%);
|
|
2481
|
+
-webkit-mask-composite: source-in;
|
|
2482
|
+
mask-image:
|
|
2483
|
+
linear-gradient(to bottom, transparent 0%, #000 3%, #000 92%, transparent 100%),
|
|
2484
|
+
linear-gradient(to right, transparent 0%, #000 3%, #000 97%, transparent 100%);
|
|
2485
|
+
mask-composite: intersect;
|
|
2486
|
+
}
|
|
2487
|
+
|
|
2488
|
+
/* Invisible viewport sentinel for the IntersectionObserver that pauses the preview off-screen.
|
|
2489
|
+
Absolute + pointer-events:none so it neither takes layout space (undoing the greedy child sizing
|
|
2490
|
+
above) nor blocks the preview controls. */
|
|
2491
|
+
& > [data-preview-viewport] {
|
|
2492
|
+
position: absolute;
|
|
2493
|
+
inset: 0;
|
|
2494
|
+
pointer-events: none;
|
|
2495
|
+
z-index: 0;
|
|
2496
|
+
}
|
|
2497
|
+
|
|
2498
|
+
& > [data-preview-toggle] {
|
|
2499
|
+
position: absolute;
|
|
2500
|
+
top: 16px;
|
|
2501
|
+
left: 16px;
|
|
2502
|
+
z-index: 2;
|
|
2503
|
+
width: auto;
|
|
2504
|
+
height: auto;
|
|
2505
|
+
display: inline-flex;
|
|
2506
|
+
gap: 2px;
|
|
2507
|
+
padding: 3px;
|
|
2508
|
+
background: rgba(255, 255, 255, 0.92);
|
|
2509
|
+
border: 1px solid ${y.line};
|
|
2510
|
+
border-radius: 999px;
|
|
2511
|
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
|
|
2512
|
+
|
|
2513
|
+
/* Bottom-right on mobile, and the two buttons meet directly: the design draws one clipped group, so the
|
|
2514
|
+
container carries no fill, gap or padding of its own there. */
|
|
2515
|
+
${de.maxWidth("lg")} {
|
|
2516
|
+
top: auto;
|
|
2517
|
+
left: auto;
|
|
2518
|
+
right: 16px;
|
|
2519
|
+
bottom: 16px;
|
|
2520
|
+
gap: 0;
|
|
2521
|
+
padding: 0;
|
|
2522
|
+
background: none;
|
|
2523
|
+
border: 0;
|
|
2524
|
+
box-shadow: none;
|
|
2525
|
+
overflow: hidden;
|
|
2526
|
+
}
|
|
2527
|
+
}
|
|
2528
|
+
|
|
2529
|
+
& > [data-preview-note] {
|
|
2530
|
+
position: absolute;
|
|
2531
|
+
bottom: 14px;
|
|
2532
|
+
left: 50%;
|
|
2533
|
+
transform: translateX(-50%);
|
|
2534
|
+
z-index: 2;
|
|
2535
|
+
width: auto;
|
|
2536
|
+
height: auto;
|
|
2537
|
+
max-width: 88%;
|
|
2538
|
+
margin: 0;
|
|
2539
|
+
text-align: center;
|
|
2540
|
+
background: rgba(22, 21, 24, 0.78);
|
|
2541
|
+
color: ${y.white};
|
|
2542
|
+
font-size: 12px;
|
|
2543
|
+
font-weight: 500;
|
|
2544
|
+
padding: 6px 12px;
|
|
2545
|
+
border-radius: 999px;
|
|
2546
|
+
}
|
|
2547
|
+
|
|
2548
|
+
& > [data-preview-loading] {
|
|
2549
|
+
position: absolute;
|
|
2550
|
+
inset: 0;
|
|
2551
|
+
z-index: 1;
|
|
2552
|
+
display: flex;
|
|
2553
|
+
align-items: center;
|
|
2554
|
+
justify-content: center;
|
|
2555
|
+
width: 100%;
|
|
2556
|
+
height: 100%;
|
|
2557
|
+
background: transparent;
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
& > [data-fav-preview] {
|
|
2561
|
+
display: none;
|
|
2562
|
+
}
|
|
2563
|
+
|
|
2564
|
+
/* Bottom-LEFT: the emote controls and the preview note both own the bottom centre, and the mobile
|
|
2565
|
+
wearable/avatar toggle owns the bottom right, so this is the one free corner on every route. */
|
|
2566
|
+
& > [data-play-showcase] {
|
|
2567
|
+
position: absolute;
|
|
2568
|
+
bottom: 16px;
|
|
2569
|
+
left: 16px;
|
|
2570
|
+
z-index: 2;
|
|
2571
|
+
width: auto;
|
|
2572
|
+
height: auto;
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
${de.maxWidth("lg")} {
|
|
2576
|
+
& > [data-preview-toggle] {
|
|
2577
|
+
top: auto;
|
|
2578
|
+
left: auto;
|
|
2579
|
+
bottom: 12px;
|
|
2580
|
+
right: 12px;
|
|
2581
|
+
gap: 0;
|
|
2582
|
+
padding: 0;
|
|
2583
|
+
background: transparent;
|
|
2584
|
+
border: 0;
|
|
2585
|
+
box-shadow: 0 1px 4px rgba(22, 21, 24, 0.18);
|
|
2586
|
+
overflow: hidden;
|
|
2587
|
+
}
|
|
2588
|
+
& > [data-fav-preview] {
|
|
2589
|
+
display: inline-flex;
|
|
2590
|
+
position: absolute;
|
|
2591
|
+
top: 12px;
|
|
2592
|
+
right: 12px;
|
|
2593
|
+
z-index: 3;
|
|
2594
|
+
width: auto;
|
|
2595
|
+
min-width: 40px;
|
|
2596
|
+
height: 40px;
|
|
2597
|
+
background: rgba(255, 255, 255, 0.92);
|
|
2598
|
+
box-shadow: 0 1px 4px rgba(22, 21, 24, 0.18);
|
|
2599
|
+
}
|
|
2600
|
+
& > [data-fav-preview]:hover {
|
|
2601
|
+
background: ${y.white};
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
`,yh=r.div``,wh=r.span`
|
|
2605
|
+
position: absolute;
|
|
2606
|
+
inset: 0;
|
|
2607
|
+
width: 100%;
|
|
2608
|
+
height: 100%;
|
|
2609
|
+
border-radius: inherit;
|
|
2610
|
+
`,vh=r.div`
|
|
2611
|
+
display: flex;
|
|
2612
|
+
flex-direction: column;
|
|
2613
|
+
gap: 0;
|
|
2614
|
+
`,jh=r.div`
|
|
2615
|
+
display: flex;
|
|
2616
|
+
align-items: flex-start;
|
|
2617
|
+
justify-content: space-between;
|
|
2618
|
+
gap: 12px;
|
|
2619
|
+
|
|
2620
|
+
${de.maxWidth("lg")} {
|
|
2621
|
+
order: 0;
|
|
2622
|
+
}
|
|
2623
|
+
`,kh=r.h1`
|
|
2624
|
+
font-size: 28px;
|
|
2625
|
+
font-weight: 600;
|
|
2626
|
+
line-height: 34px;
|
|
2627
|
+
color: ${y.softWhite};
|
|
2628
|
+
|
|
2629
|
+
${de.maxWidth("lg")} {
|
|
2630
|
+
font-size: 20px;
|
|
2631
|
+
line-height: 24px;
|
|
2632
|
+
}
|
|
2633
|
+
`,za=r.button`
|
|
2634
|
+
flex: none;
|
|
2635
|
+
min-width: 40px;
|
|
2636
|
+
height: 40px;
|
|
2637
|
+
padding: 0;
|
|
2638
|
+
border-radius: ${Ge.pill};
|
|
2639
|
+
border: 0;
|
|
2640
|
+
background: rgba(255, 255, 255, 0.16);
|
|
2641
|
+
display: inline-flex;
|
|
2642
|
+
align-items: center;
|
|
2643
|
+
justify-content: center;
|
|
2644
|
+
gap: 6px;
|
|
2645
|
+
color: ${y.softWhite};
|
|
2646
|
+
cursor: pointer;
|
|
2647
|
+
transition:
|
|
2648
|
+
color 0.12s ease,
|
|
2649
|
+
background 0.12s ease;
|
|
2650
|
+
|
|
2651
|
+
&[data-count] {
|
|
2652
|
+
padding: 0 14px 0 12px;
|
|
2653
|
+
}
|
|
2654
|
+
&:hover {
|
|
2655
|
+
background: rgba(255, 255, 255, 0.28);
|
|
2656
|
+
}
|
|
2657
|
+
&[data-on] {
|
|
2658
|
+
color: ${y.dclRed};
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2661
|
+
${de.maxWidth("lg")} {
|
|
2662
|
+
color: ${y.text};
|
|
2663
|
+
&[data-fav-title] {
|
|
2664
|
+
display: none;
|
|
2665
|
+
}
|
|
2666
|
+
}
|
|
2667
|
+
`,Ea=r.span`
|
|
2668
|
+
font-size: 13px;
|
|
2669
|
+
font-weight: 600;
|
|
2670
|
+
line-height: 1;
|
|
2671
|
+
color: ${y.softWhite};
|
|
2672
|
+
|
|
2673
|
+
${de.maxWidth("lg")} {
|
|
2674
|
+
color: ${y.text};
|
|
2675
|
+
}
|
|
2676
|
+
`,$h=r.button`
|
|
2677
|
+
display: inline-flex;
|
|
2678
|
+
align-items: center;
|
|
2679
|
+
gap: 8px;
|
|
2680
|
+
padding: 8px 14px;
|
|
2681
|
+
border: 1px solid ${y.line};
|
|
2682
|
+
border-radius: ${Ge.pill};
|
|
2683
|
+
background: rgba(255, 255, 255, 0.94);
|
|
2684
|
+
backdrop-filter: blur(6px);
|
|
2685
|
+
box-shadow: 0 2px 10px rgba(22, 21, 24, 0.12);
|
|
2686
|
+
color: ${y.text};
|
|
2687
|
+
font-size: 13px;
|
|
2688
|
+
font-weight: 600;
|
|
2689
|
+
cursor: pointer;
|
|
2690
|
+
transition: background 0.12s ease;
|
|
2691
|
+
|
|
2692
|
+
&:hover {
|
|
2693
|
+
background: ${y.white};
|
|
2694
|
+
}
|
|
2695
|
+
&:focus-visible {
|
|
2696
|
+
outline: 2px solid ${y.accent};
|
|
2697
|
+
outline-offset: 2px;
|
|
2698
|
+
}
|
|
2699
|
+
`,ht=r.div`
|
|
2700
|
+
display: inline-flex;
|
|
2701
|
+
align-items: center;
|
|
2702
|
+
gap: 5px;
|
|
2703
|
+
font-size: 12px;
|
|
2704
|
+
font-weight: 500;
|
|
2705
|
+
text-transform: uppercase;
|
|
2706
|
+
letter-spacing: 0;
|
|
2707
|
+
color: ${y.gray4};
|
|
2708
|
+
`,Ch=r.div`
|
|
2709
|
+
display: flex;
|
|
2710
|
+
align-items: center;
|
|
2711
|
+
gap: 8px;
|
|
2712
|
+
flex-wrap: wrap;
|
|
2713
|
+
margin-top: 12px;
|
|
2714
|
+
|
|
2715
|
+
${de.maxWidth("lg")} {
|
|
2716
|
+
order: 1;
|
|
2717
|
+
margin-top: 10px;
|
|
2718
|
+
}
|
|
2719
|
+
`,We=r(ai)`
|
|
2720
|
+
height: 24px;
|
|
2721
|
+
padding: 0 8px;
|
|
2722
|
+
gap: 3px;
|
|
2723
|
+
font-size: 13px;
|
|
2724
|
+
font-weight: 500;
|
|
2725
|
+
border-radius: 4px;
|
|
2726
|
+
letter-spacing: 0.02em;
|
|
2727
|
+
text-transform: uppercase;
|
|
2728
|
+
background: rgba(255, 255, 255, 0.14);
|
|
2729
|
+
color: ${y.softWhite};
|
|
2730
|
+
|
|
2731
|
+
& .ico {
|
|
2732
|
+
color: ${y.softWhite};
|
|
2733
|
+
}
|
|
2734
|
+
&[data-variant='cat'] {
|
|
2735
|
+
background: rgba(255, 255, 255, 0.14);
|
|
2736
|
+
color: ${y.softWhite};
|
|
2737
|
+
}
|
|
2738
|
+
|
|
2739
|
+
/* The blocked-VRM-export badge. Warning orange, tinted at 20% for the fill — the marketplace's own
|
|
2740
|
+
#ff7439 on #ff743933, kept identical so the same restriction reads the same in both places. It is the
|
|
2741
|
+
one chip in this row that reports a limitation rather than a feature, and it should not blend in. */
|
|
2742
|
+
&[data-variant='blocked'] {
|
|
2743
|
+
background: rgba(255, 116, 57, 0.2);
|
|
2744
|
+
color: #ff7439;
|
|
2745
|
+
cursor: help;
|
|
2746
|
+
}
|
|
2747
|
+
&[data-variant='blocked']:focus-visible {
|
|
2748
|
+
outline: 2px solid #ff7439;
|
|
2749
|
+
outline-offset: 2px;
|
|
2750
|
+
}
|
|
2751
|
+
`,Yt=r(We.withComponent(Xa))`
|
|
2752
|
+
text-decoration: none;
|
|
2753
|
+
cursor: pointer;
|
|
2754
|
+
transition: background 0.15s ease;
|
|
2755
|
+
|
|
2756
|
+
&:hover,
|
|
2757
|
+
&:focus-visible {
|
|
2758
|
+
background: rgba(255, 255, 255, 0.26);
|
|
2759
|
+
}
|
|
2760
|
+
|
|
2761
|
+
/* The rarity chip carries its own colour inline, so a background hover would be overridden and the
|
|
2762
|
+
chip would look inert. It gets a ring instead, which reads on any fill. */
|
|
2763
|
+
&[data-variant='rarity']:hover,
|
|
2764
|
+
&[data-variant='rarity']:focus-visible {
|
|
2765
|
+
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
|
|
2766
|
+
}
|
|
2767
|
+
`,Ih=r.div`
|
|
2768
|
+
display: flex;
|
|
2769
|
+
flex-direction: column;
|
|
2770
|
+
align-items: flex-start;
|
|
2771
|
+
gap: 8px;
|
|
2772
|
+
`,On=r(Ih)`
|
|
2773
|
+
gap: 11px;
|
|
2774
|
+
`,Fa=r.p`
|
|
2775
|
+
margin: 0;
|
|
2776
|
+
color: ${y.softWhite};
|
|
2777
|
+
font-size: 14px;
|
|
2778
|
+
line-height: 30px;
|
|
2779
|
+
display: -webkit-box;
|
|
2780
|
+
-webkit-box-orient: vertical;
|
|
2781
|
+
-webkit-line-clamp: 4;
|
|
2782
|
+
overflow: hidden;
|
|
2783
|
+
|
|
2784
|
+
&[data-expanded] {
|
|
2785
|
+
-webkit-line-clamp: unset;
|
|
2786
|
+
overflow: visible;
|
|
2787
|
+
}
|
|
2788
|
+
`,Sh=r.button`
|
|
2789
|
+
font-size: 13px;
|
|
2790
|
+
align-self: flex-start;
|
|
2791
|
+
`,Wi=yt`
|
|
2792
|
+
display: grid;
|
|
2793
|
+
grid-template-columns: 1fr 1fr;
|
|
2794
|
+
gap: 16px;
|
|
2795
|
+
`,Di=r.div`
|
|
2796
|
+
${Wi};
|
|
2797
|
+
/* Clears the chips above. The pair below sits at 32px, so this is the tighter of the two steps: the
|
|
2798
|
+
description belongs to the heading block it follows, the creator/collection pair is a new subject. */
|
|
2799
|
+
margin-top: 24px;
|
|
2800
|
+
|
|
2801
|
+
${de.maxWidth("lg")} {
|
|
2802
|
+
order: 3;
|
|
2803
|
+
grid-template-columns: 1fr;
|
|
2804
|
+
/* Stacked, the two blocks need real separation — as one column they would read as one paragraph. */
|
|
2805
|
+
gap: 20px;
|
|
2806
|
+
margin-top: 20px;
|
|
2807
|
+
}
|
|
2808
|
+
`,Kn=r.div`
|
|
2809
|
+
min-width: 0;
|
|
2810
|
+
`,qi=r.div`
|
|
2811
|
+
${Wi};
|
|
2812
|
+
margin-top: 32px;
|
|
2813
|
+
|
|
2814
|
+
${de.maxWidth("lg")} {
|
|
2815
|
+
order: 2;
|
|
2816
|
+
margin-top: 20px;
|
|
2817
|
+
}
|
|
2818
|
+
`,Rt=r.div`
|
|
2819
|
+
display: flex;
|
|
2820
|
+
flex-direction: column;
|
|
2821
|
+
gap: 15px;
|
|
2822
|
+
min-width: 0;
|
|
2823
|
+
|
|
2824
|
+
&[data-collection] {
|
|
2825
|
+
align-items: flex-start;
|
|
2826
|
+
}
|
|
2827
|
+
`,Oi=yt`
|
|
2828
|
+
&[data-testid='creator'] {
|
|
2829
|
+
color: ${y.softWhite};
|
|
2830
|
+
font-size: 14px;
|
|
2831
|
+
gap: 12px;
|
|
2832
|
+
}
|
|
2833
|
+
[data-avatar] {
|
|
2834
|
+
width: 48px;
|
|
2835
|
+
height: 48px;
|
|
2836
|
+
}
|
|
2837
|
+
[data-letter] {
|
|
2838
|
+
font-size: 18px;
|
|
2839
|
+
}
|
|
2840
|
+
[data-testid='creator-name'] {
|
|
2841
|
+
color: ${y.softWhite};
|
|
2842
|
+
font-weight: 500;
|
|
2843
|
+
text-decoration: underline;
|
|
2844
|
+
}
|
|
2845
|
+
&[data-link]:hover [data-testid='creator-name'] {
|
|
2846
|
+
color: ${y.gray4};
|
|
2847
|
+
}
|
|
2848
|
+
`,Ah=r(Js)`
|
|
2849
|
+
${Oi}
|
|
2850
|
+
`,Rh=r(dh)`
|
|
2851
|
+
${Oi}
|
|
2852
|
+
`,Ki=r.hr`
|
|
2853
|
+
border: 0;
|
|
2854
|
+
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
|
2855
|
+
margin: 24px 0 0;
|
|
2856
|
+
width: 100%;
|
|
2857
|
+
|
|
2858
|
+
/* Below the price, not above it: the design hangs this off the bottom of the buy section (2090:399782),
|
|
2859
|
+
so it closes the price rather than separating it from the description. */
|
|
2860
|
+
${de.maxWidth("lg")} {
|
|
2861
|
+
order: 5;
|
|
2862
|
+
margin-top: 16px;
|
|
2863
|
+
}
|
|
2864
|
+
`,Mh=r(Ys)`
|
|
2865
|
+
margin-bottom: 12px;
|
|
2866
|
+
`,Ph=r.div`
|
|
2867
|
+
margin-top: 16px;
|
|
2868
|
+
/* The design's Pricing frame stacks its rows 16px apart; without it the stock scale sat against the
|
|
2869
|
+
underside of the price and read as part of it. */
|
|
2870
|
+
display: flex;
|
|
2871
|
+
flex-direction: column;
|
|
2872
|
+
gap: 16px;
|
|
2873
|
+
|
|
2874
|
+
${de.maxWidth("lg")} {
|
|
2875
|
+
order: 4;
|
|
2876
|
+
margin-top: 16px;
|
|
2877
|
+
}
|
|
2878
|
+
`,Lh=r.div`
|
|
2879
|
+
display: flex;
|
|
2880
|
+
align-items: flex-start;
|
|
2881
|
+
gap: 16px;
|
|
2882
|
+
width: 100%;
|
|
2883
|
+
`,zh=r.div`
|
|
2884
|
+
flex: 1 1 auto;
|
|
2885
|
+
min-width: 0;
|
|
2886
|
+
display: flex;
|
|
2887
|
+
flex-direction: column;
|
|
2888
|
+
gap: 8px;
|
|
2889
|
+
`,Ta=r.div`
|
|
2890
|
+
flex: 0 0 auto;
|
|
2891
|
+
display: flex;
|
|
2892
|
+
flex-direction: column;
|
|
2893
|
+
align-items: flex-end;
|
|
2894
|
+
gap: 8px;
|
|
2895
|
+
text-align: right;
|
|
2896
|
+
`,En=r.div`
|
|
2897
|
+
font-size: 18px;
|
|
2898
|
+
font-weight: 500;
|
|
2899
|
+
line-height: 1;
|
|
2900
|
+
color: ${y.softWhite};
|
|
2901
|
+
|
|
2902
|
+
&[data-out] {
|
|
2903
|
+
font-size: 14px;
|
|
2904
|
+
font-weight: 600;
|
|
2905
|
+
text-transform: uppercase;
|
|
2906
|
+
letter-spacing: 0.02em;
|
|
2907
|
+
color: ${y.gray4};
|
|
2908
|
+
}
|
|
2909
|
+
`,Fn=r.div`
|
|
2910
|
+
font-size: 14px;
|
|
2911
|
+
font-weight: 600;
|
|
2912
|
+
text-transform: uppercase;
|
|
2913
|
+
letter-spacing: 0;
|
|
2914
|
+
color: ${y.muted2};
|
|
2915
|
+
`,St=r.div`
|
|
2916
|
+
display: flex;
|
|
2917
|
+
align-items: center;
|
|
2918
|
+
gap: 8px;
|
|
2919
|
+
font-weight: 700;
|
|
2920
|
+
color: ${y.softWhite};
|
|
2921
|
+
|
|
2922
|
+
/* Not for sale: "Not for Sale" + an info tooltip, 14px semibold, no PRICE label. */
|
|
2923
|
+
&[data-variant='none'] {
|
|
2924
|
+
display: inline-flex;
|
|
2925
|
+
align-items: center;
|
|
2926
|
+
gap: 6px;
|
|
2927
|
+
font-size: 14px;
|
|
2928
|
+
font-weight: 600;
|
|
2929
|
+
color: ${y.softWhite};
|
|
2930
|
+
}
|
|
2931
|
+
/*
|
|
2932
|
+
* White, not red. The tag above the title is what announces the discount; painting the number red too
|
|
2933
|
+
* said it a second time and left the price itself the least legible thing in its own row.
|
|
2934
|
+
*/
|
|
2935
|
+
&[data-variant='sale'] {
|
|
2936
|
+
flex-wrap: wrap;
|
|
2937
|
+
gap: 4px 8px;
|
|
2938
|
+
color: ${y.white};
|
|
2939
|
+
}
|
|
2940
|
+
`;r.span`
|
|
2941
|
+
display: flex;
|
|
2942
|
+
align-items: center;
|
|
2943
|
+
gap: 10px;
|
|
2944
|
+
font-weight: 700;
|
|
2945
|
+
color: ${y.dclRed};
|
|
2946
|
+
`;const At=r.span`
|
|
2947
|
+
font-size: 30px;
|
|
2948
|
+
line-height: 1;
|
|
2949
|
+
`,Eh=r.span`
|
|
2950
|
+
display: inline-flex;
|
|
2951
|
+
color: ${y.muted2};
|
|
2952
|
+
cursor: help;
|
|
2953
|
+
|
|
2954
|
+
&:focus-visible {
|
|
2955
|
+
outline: 2px solid ${y.accent};
|
|
2956
|
+
outline-offset: 2px;
|
|
2957
|
+
border-radius: ${Ge.chip};
|
|
2958
|
+
}
|
|
2959
|
+
`,Fh=r.span`
|
|
2960
|
+
font-size: 24px;
|
|
2961
|
+
font-weight: 700;
|
|
2962
|
+
color: ${y.softWhite};
|
|
2963
|
+
margin-right: -2px;
|
|
2964
|
+
`,Th=r.div`
|
|
2965
|
+
font-size: 13px;
|
|
2966
|
+
margin-top: 6px;
|
|
2967
|
+
color: ${y.gray4};
|
|
2968
|
+
`;r.div`
|
|
2969
|
+
flex-basis: 100%;
|
|
2970
|
+
display: flex;
|
|
2971
|
+
align-items: center;
|
|
2972
|
+
flex-wrap: wrap;
|
|
2973
|
+
gap: 8px 12px;
|
|
2974
|
+
`;const Nh=r.div`
|
|
2975
|
+
font-size: 13px;
|
|
2976
|
+
font-weight: 600;
|
|
2977
|
+
color: ${y.dclRed};
|
|
2978
|
+
`,_h=r.span`
|
|
2979
|
+
display: inline-flex;
|
|
2980
|
+
align-items: center;
|
|
2981
|
+
color: ${y.muted2};
|
|
2982
|
+
text-decoration: line-through;
|
|
2983
|
+
font-weight: 400;
|
|
2984
|
+
font-size: 20px;
|
|
2985
|
+
`;r.span`
|
|
2986
|
+
display: inline-flex;
|
|
2987
|
+
align-items: center;
|
|
2988
|
+
background: ${y.dclRed};
|
|
2989
|
+
color: ${y.white};
|
|
2990
|
+
font-weight: 800;
|
|
2991
|
+
font-size: 13px;
|
|
2992
|
+
letter-spacing: 0.03em;
|
|
2993
|
+
text-transform: uppercase;
|
|
2994
|
+
border-radius: 6px;
|
|
2995
|
+
padding: 4px 10px;
|
|
2996
|
+
`;r(Uo)`
|
|
2997
|
+
display: inline-flex;
|
|
2998
|
+
align-items: center;
|
|
2999
|
+
gap: 5px;
|
|
3000
|
+
background: ${y.rarityBg};
|
|
3001
|
+
color: ${y.accent};
|
|
3002
|
+
font-size: 13px;
|
|
3003
|
+
font-weight: 700;
|
|
3004
|
+
border-radius: 6px;
|
|
3005
|
+
padding: 4px 10px;
|
|
3006
|
+
white-space: nowrap;
|
|
3007
|
+
`;const Bh=r.div`
|
|
3008
|
+
display: flex;
|
|
3009
|
+
flex-direction: column;
|
|
3010
|
+
gap: 12px;
|
|
3011
|
+
margin-top: 20px;
|
|
3012
|
+
|
|
3013
|
+
${de.maxWidth("lg")} {
|
|
3014
|
+
order: 6;
|
|
3015
|
+
|
|
3016
|
+
&[data-buttons] {
|
|
3017
|
+
position: fixed;
|
|
3018
|
+
left: 0;
|
|
3019
|
+
right: 0;
|
|
3020
|
+
bottom: 0;
|
|
3021
|
+
z-index: 40;
|
|
3022
|
+
margin-top: 0;
|
|
3023
|
+
padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
|
|
3024
|
+
background: #2b0e44;
|
|
3025
|
+
box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.35);
|
|
3026
|
+
}
|
|
3027
|
+
&[data-dual] {
|
|
3028
|
+
flex-direction: row;
|
|
3029
|
+
align-items: stretch;
|
|
3030
|
+
gap: 12px;
|
|
3031
|
+
}
|
|
3032
|
+
}
|
|
3033
|
+
`,rn=yt`
|
|
3034
|
+
&& {
|
|
3035
|
+
width: 100%;
|
|
3036
|
+
height: 48px;
|
|
3037
|
+
border-radius: 16px;
|
|
3038
|
+
padding: 0 12px;
|
|
3039
|
+
display: flex;
|
|
3040
|
+
align-items: center;
|
|
3041
|
+
justify-content: center;
|
|
3042
|
+
gap: 8px;
|
|
3043
|
+
font-size: 15px;
|
|
3044
|
+
font-weight: 600;
|
|
3045
|
+
line-height: 24px;
|
|
3046
|
+
letter-spacing: 0.46px;
|
|
3047
|
+
text-transform: uppercase;
|
|
3048
|
+
}
|
|
3049
|
+
`,Tn=r(Ve)`
|
|
3050
|
+
${rn};
|
|
3051
|
+
/* The design system's primary fill (Figma 867:61063 carries the "BUY Button" gradient), same as the
|
|
3052
|
+
cart's CHECKOUT and the credits CTA. This read as a flat #fb5c19 for a while — that colour was
|
|
3053
|
+
sampled off the flattened render rather than the node's fill. */
|
|
3054
|
+
&& {
|
|
3055
|
+
background: ${uh.buyBtn};
|
|
3056
|
+
}
|
|
3057
|
+
&&::before {
|
|
3058
|
+
content: none;
|
|
3059
|
+
}
|
|
3060
|
+
&&:hover:not(:disabled) {
|
|
3061
|
+
background-image: linear-gradient(${y.dclRed}, ${y.dclRed});
|
|
3062
|
+
}
|
|
3063
|
+
|
|
3064
|
+
${de.maxWidth("lg")} {
|
|
3065
|
+
[data-dual] && {
|
|
3066
|
+
flex: 1 1 auto;
|
|
3067
|
+
width: auto;
|
|
3068
|
+
}
|
|
3069
|
+
}
|
|
3070
|
+
`,Wh=r(Ve)`
|
|
3071
|
+
${rn};
|
|
3072
|
+
&& {
|
|
3073
|
+
background: ${y.blackBtn};
|
|
3074
|
+
color: ${y.softWhite};
|
|
3075
|
+
border: 0;
|
|
3076
|
+
|
|
3077
|
+
.ico {
|
|
3078
|
+
width: 20px;
|
|
3079
|
+
height: 20px;
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3082
|
+
&&:hover:not(:disabled) {
|
|
3083
|
+
background: ${y.blackBtn};
|
|
3084
|
+
filter: brightness(1.35);
|
|
3085
|
+
}
|
|
3086
|
+
`,Na=r.button`
|
|
3087
|
+
align-self: center;
|
|
3088
|
+
border: 0;
|
|
3089
|
+
background: none;
|
|
3090
|
+
padding: 8px 0;
|
|
3091
|
+
color: ${a.colors.accent};
|
|
3092
|
+
font-weight: 600;
|
|
3093
|
+
font-size: 13px;
|
|
3094
|
+
line-height: 24px;
|
|
3095
|
+
letter-spacing: 0.46px;
|
|
3096
|
+
text-transform: uppercase;
|
|
3097
|
+
text-decoration: underline;
|
|
3098
|
+
cursor: pointer;
|
|
3099
|
+
|
|
3100
|
+
/* Opt-in for the uses that sit directly on the purple field, where the accent purple above is all
|
|
3101
|
+
but invisible against it. Not a change to the shared colour: the other uses live inside
|
|
3102
|
+
GaslessNotice, whose light fill is what that accent was picked for. */
|
|
3103
|
+
&[data-on-purple] {
|
|
3104
|
+
color: ${a.colors.white};
|
|
3105
|
+
}
|
|
3106
|
+
|
|
3107
|
+
&:disabled {
|
|
3108
|
+
opacity: 0.5;
|
|
3109
|
+
cursor: default;
|
|
3110
|
+
}
|
|
3111
|
+
`,Dh=r(Ve)`
|
|
3112
|
+
${rn};
|
|
3113
|
+
&& {
|
|
3114
|
+
background: rgba(255, 255, 255, 0.2);
|
|
3115
|
+
color: ${y.softWhite};
|
|
3116
|
+
border: 0;
|
|
3117
|
+
|
|
3118
|
+
.ico {
|
|
3119
|
+
width: 20px;
|
|
3120
|
+
height: 20px;
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3123
|
+
&&:hover:not(:disabled) {
|
|
3124
|
+
background: rgba(255, 255, 255, 0.3);
|
|
3125
|
+
}
|
|
3126
|
+
&&:disabled {
|
|
3127
|
+
opacity: 0.5;
|
|
3128
|
+
}
|
|
3129
|
+
`,_a=r(Ve)`
|
|
3130
|
+
${rn};
|
|
3131
|
+
&& {
|
|
3132
|
+
background: rgba(0, 0, 0, 0.4);
|
|
3133
|
+
color: ${y.white};
|
|
3134
|
+
border: 0;
|
|
3135
|
+
}
|
|
3136
|
+
&&:hover:not(:disabled) {
|
|
3137
|
+
background: rgba(0, 0, 0, 0.55);
|
|
3138
|
+
}
|
|
3139
|
+
&&:disabled {
|
|
3140
|
+
opacity: 0.5;
|
|
3141
|
+
}
|
|
3142
|
+
`,Nn=r.span`
|
|
3143
|
+
display: none;
|
|
3144
|
+
align-items: center;
|
|
3145
|
+
gap: 6px;
|
|
3146
|
+
|
|
3147
|
+
${de.maxWidth("lg")} {
|
|
3148
|
+
[data-dual] & {
|
|
3149
|
+
display: inline-flex;
|
|
3150
|
+
}
|
|
3151
|
+
}
|
|
3152
|
+
`,Ba=r.button`
|
|
3153
|
+
width: 100%;
|
|
3154
|
+
height: 48px;
|
|
3155
|
+
display: flex;
|
|
3156
|
+
align-items: center;
|
|
3157
|
+
justify-content: center;
|
|
3158
|
+
gap: 8px;
|
|
3159
|
+
/* Dark-theme test: translucent white pill, white label (Figma 867:61064) — same secondary
|
|
3160
|
+
treatment as the card's ADD TO CART. */
|
|
3161
|
+
background: rgba(255, 255, 255, 0.2);
|
|
3162
|
+
color: ${y.softWhite};
|
|
3163
|
+
border: 0;
|
|
3164
|
+
border-radius: 16px;
|
|
3165
|
+
font-weight: 600;
|
|
3166
|
+
font-size: 15px;
|
|
3167
|
+
text-transform: uppercase;
|
|
3168
|
+
letter-spacing: 0.46px;
|
|
3169
|
+
cursor: pointer;
|
|
3170
|
+
transition: background 0.15s ease;
|
|
3171
|
+
|
|
3172
|
+
&:hover:not(:disabled) {
|
|
3173
|
+
background: ${y.softWhite};
|
|
3174
|
+
color: ${y.text2};
|
|
3175
|
+
}
|
|
3176
|
+
&:disabled {
|
|
3177
|
+
background: rgba(255, 255, 255, 0.12);
|
|
3178
|
+
color: rgba(252, 252, 252, 0.7);
|
|
3179
|
+
cursor: default;
|
|
3180
|
+
}
|
|
3181
|
+
|
|
3182
|
+
${de.maxWidth("lg")} {
|
|
3183
|
+
[data-dual] & {
|
|
3184
|
+
flex: 0 0 auto;
|
|
3185
|
+
width: 56px;
|
|
3186
|
+
padding: 0;
|
|
3187
|
+
}
|
|
3188
|
+
[data-dual] & .ico {
|
|
3189
|
+
margin: 0;
|
|
3190
|
+
}
|
|
3191
|
+
}
|
|
3192
|
+
`,Wa=r.span`
|
|
3193
|
+
${de.maxWidth("lg")} {
|
|
3194
|
+
[data-dual] & {
|
|
3195
|
+
display: none;
|
|
3196
|
+
}
|
|
3197
|
+
}
|
|
3198
|
+
`,qh=r.p`
|
|
3199
|
+
margin: 12px 0 0;
|
|
3200
|
+
font-size: 13px;
|
|
3201
|
+
color: ${y.gray4};
|
|
3202
|
+
|
|
3203
|
+
& a {
|
|
3204
|
+
color: ${y.softWhite};
|
|
3205
|
+
font-weight: 600;
|
|
3206
|
+
}
|
|
3207
|
+
`;r.p`
|
|
3208
|
+
margin: 4px 0 0;
|
|
3209
|
+
font-size: 13px;
|
|
3210
|
+
color: ${y.gray4};
|
|
3211
|
+
|
|
3212
|
+
& a {
|
|
3213
|
+
color: ${y.accent};
|
|
3214
|
+
font-weight: 600;
|
|
3215
|
+
}
|
|
3216
|
+
`;const Oh=r.div`
|
|
3217
|
+
max-width: 1721px;
|
|
3218
|
+
margin: 0 auto;
|
|
3219
|
+
min-height: 46vh;
|
|
3220
|
+
display: flex;
|
|
3221
|
+
flex-direction: column;
|
|
3222
|
+
align-items: center;
|
|
3223
|
+
justify-content: center;
|
|
3224
|
+
text-align: center;
|
|
3225
|
+
gap: 14px;
|
|
3226
|
+
color: ${y.softWhite};
|
|
3227
|
+
`,Kh=r.p`
|
|
3228
|
+
margin: 0;
|
|
3229
|
+
color: ${y.gray4};
|
|
3230
|
+
`,Hh=r(Ve)`
|
|
3231
|
+
margin-top: 6px;
|
|
3232
|
+
`,Uh=r(E)`
|
|
3233
|
+
opacity: 0.4;
|
|
3234
|
+
`,Qh=r.h1`
|
|
3235
|
+
font-size: 22px;
|
|
3236
|
+
`,Vh=r.div`
|
|
3237
|
+
display: flex;
|
|
3238
|
+
flex-direction: column;
|
|
3239
|
+
`,Da=r.span`
|
|
3240
|
+
display: block;
|
|
3241
|
+
height: 15px;
|
|
3242
|
+
width: 84px;
|
|
3243
|
+
border-radius: 4px;
|
|
3244
|
+
`,Gh=r.div`
|
|
3245
|
+
display: flex;
|
|
3246
|
+
flex-direction: column;
|
|
3247
|
+
align-self: stretch;
|
|
3248
|
+
gap: 16px;
|
|
3249
|
+
padding: 8px 0;
|
|
3250
|
+
`,Yh=r.span`
|
|
3251
|
+
display: inline-flex;
|
|
3252
|
+
align-items: center;
|
|
3253
|
+
height: 48px;
|
|
3254
|
+
gap: 10px;
|
|
3255
|
+
background: none !important;
|
|
3256
|
+
|
|
3257
|
+
&::before,
|
|
3258
|
+
&::after {
|
|
3259
|
+
content: '';
|
|
3260
|
+
display: block;
|
|
3261
|
+
}
|
|
3262
|
+
&::before {
|
|
3263
|
+
width: 40px;
|
|
3264
|
+
height: 40px;
|
|
3265
|
+
border-radius: 50%;
|
|
3266
|
+
background: ${y.media};
|
|
3267
|
+
}
|
|
3268
|
+
&::after {
|
|
3269
|
+
width: 96px;
|
|
3270
|
+
height: 14px;
|
|
3271
|
+
border-radius: 6px;
|
|
3272
|
+
background: ${y.media};
|
|
3273
|
+
}
|
|
3274
|
+
`,Jh=r.span`
|
|
3275
|
+
height: 34px;
|
|
3276
|
+
width: 70%;
|
|
3277
|
+
margin: 3px 0;
|
|
3278
|
+
border-radius: 8px;
|
|
3279
|
+
`,Xh=r.div`
|
|
3280
|
+
display: flex;
|
|
3281
|
+
gap: 8px;
|
|
3282
|
+
/* Same as Chips above, so the row does not move when the real chips arrive. */
|
|
3283
|
+
margin-top: 12px;
|
|
3284
|
+
`,_n=r.span`
|
|
3285
|
+
height: 24px;
|
|
3286
|
+
width: 88px;
|
|
3287
|
+
border-radius: 6px;
|
|
3288
|
+
`,Bn=r.span`
|
|
3289
|
+
height: 14px;
|
|
3290
|
+
width: 100%;
|
|
3291
|
+
border-radius: 6px;
|
|
3292
|
+
|
|
3293
|
+
&[data-short] {
|
|
3294
|
+
width: 55%;
|
|
3295
|
+
}
|
|
3296
|
+
`,Zh=r.span`
|
|
3297
|
+
display: block;
|
|
3298
|
+
height: 30px;
|
|
3299
|
+
width: 40%;
|
|
3300
|
+
margin: 16px 0 13px;
|
|
3301
|
+
border-radius: 8px;
|
|
3302
|
+
`,ef=r.span`
|
|
3303
|
+
display: block;
|
|
3304
|
+
height: 42px;
|
|
3305
|
+
width: 100%;
|
|
3306
|
+
border-radius: 8px;
|
|
3307
|
+
margin-top: 20px;
|
|
3308
|
+
`,Jt=r(Pe)`
|
|
3309
|
+
width: 30px;
|
|
3310
|
+
height: 30px;
|
|
3311
|
+
color: ${y.softWhite};
|
|
3312
|
+
|
|
3313
|
+
&[data-was] {
|
|
3314
|
+
width: 20px;
|
|
3315
|
+
height: 20px;
|
|
3316
|
+
color: ${y.gray4};
|
|
3317
|
+
}
|
|
3318
|
+
`,Wn=r(Pe)`
|
|
3319
|
+
width: 20px;
|
|
3320
|
+
height: 20px;
|
|
3321
|
+
`,tf=r.div`
|
|
3322
|
+
display: flex;
|
|
3323
|
+
align-items: center;
|
|
3324
|
+
justify-content: space-between;
|
|
3325
|
+
gap: 8px;
|
|
3326
|
+
padding: 8px;
|
|
3327
|
+
margin: 16px 0;
|
|
3328
|
+
border-radius: ${Ge.btn};
|
|
3329
|
+
background: rgba(22, 21, 24, 0.55);
|
|
3330
|
+
`,nf=r.span`
|
|
3331
|
+
display: flex;
|
|
3332
|
+
align-items: center;
|
|
3333
|
+
gap: 8px;
|
|
3334
|
+
font-size: 14px;
|
|
3335
|
+
line-height: 14px;
|
|
3336
|
+
color: ${y.softWhite};
|
|
3337
|
+
`,rf=r(E)`
|
|
3338
|
+
width: 20px;
|
|
3339
|
+
height: 20px;
|
|
3340
|
+
color: ${y.softWhite};
|
|
3341
|
+
`,af=r(E)`
|
|
3342
|
+
width: 24px;
|
|
3343
|
+
height: 24px;
|
|
3344
|
+
color: ${y.white};
|
|
3345
|
+
`,sf=r.div`
|
|
3346
|
+
display: flex;
|
|
3347
|
+
align-items: center;
|
|
3348
|
+
justify-content: space-between;
|
|
3349
|
+
gap: 8px;
|
|
3350
|
+
width: 100%;
|
|
3351
|
+
margin-top: 16px;
|
|
3352
|
+
|
|
3353
|
+
&[data-centered] {
|
|
3354
|
+
justify-content: center;
|
|
3355
|
+
}
|
|
3356
|
+
`,of=r.span`
|
|
3357
|
+
display: flex;
|
|
3358
|
+
align-items: center;
|
|
3359
|
+
gap: 2px;
|
|
3360
|
+
font-size: 14px;
|
|
3361
|
+
font-weight: 600;
|
|
3362
|
+
color: ${y.gray4};
|
|
3363
|
+
|
|
3364
|
+
& .ico {
|
|
3365
|
+
width: 20px;
|
|
3366
|
+
height: 20px;
|
|
3367
|
+
color: ${y.gray4};
|
|
3368
|
+
}
|
|
3369
|
+
`,lf=r.span`
|
|
3370
|
+
font-size: 16px;
|
|
3371
|
+
font-weight: 700;
|
|
3372
|
+
padding-left: 2px;
|
|
3373
|
+
`,Hn=r.button`
|
|
3374
|
+
border: 0;
|
|
3375
|
+
background: none;
|
|
3376
|
+
padding: 0;
|
|
3377
|
+
cursor: pointer;
|
|
3378
|
+
font-family: ${ch.sans};
|
|
3379
|
+
font-size: 13px;
|
|
3380
|
+
font-weight: 600;
|
|
3381
|
+
letter-spacing: 0.46px;
|
|
3382
|
+
text-transform: uppercase;
|
|
3383
|
+
text-decoration: underline;
|
|
3384
|
+
color: ${y.softWhite};
|
|
3385
|
+
|
|
3386
|
+
&:hover {
|
|
3387
|
+
color: ${y.gray4};
|
|
3388
|
+
}
|
|
3389
|
+
&:focus-visible {
|
|
3390
|
+
outline: 2px solid ${y.white};
|
|
3391
|
+
outline-offset: 2px;
|
|
3392
|
+
border-radius: ${Ge.chip};
|
|
3393
|
+
}
|
|
3394
|
+
`,df=r(Hn)`
|
|
3395
|
+
width: 100%;
|
|
3396
|
+
height: 40px;
|
|
3397
|
+
text-align: center;
|
|
3398
|
+
border-radius: ${Ge.card};
|
|
3399
|
+
|
|
3400
|
+
/* Hover is a translucent fill with the label left alone (Figma 868:67246), not the colour shift
|
|
3401
|
+
ResellersLink uses. That one is an inline link sitting beside a price, where dimming the text is the
|
|
3402
|
+
only surface there is; this is a full-width button, so the button itself is what should react. */
|
|
3403
|
+
&:hover {
|
|
3404
|
+
color: ${y.softWhite};
|
|
3405
|
+
background: ${y.glass};
|
|
3406
|
+
}
|
|
3407
|
+
`,cf=r.div`
|
|
3408
|
+
display: flex;
|
|
3409
|
+
flex-direction: column;
|
|
3410
|
+
gap: 16px;
|
|
3411
|
+
width: 100%;
|
|
3412
|
+
padding: 16px 0;
|
|
3413
|
+
`,qa=r.div`
|
|
3414
|
+
display: flex;
|
|
3415
|
+
align-items: center;
|
|
3416
|
+
justify-content: space-between;
|
|
3417
|
+
gap: 8px;
|
|
3418
|
+
width: 100%;
|
|
3419
|
+
|
|
3420
|
+
&[data-variant='original'] {
|
|
3421
|
+
color: ${y.muted2};
|
|
3422
|
+
}
|
|
3423
|
+
`,Oa=r.span`
|
|
3424
|
+
display: flex;
|
|
3425
|
+
align-items: center;
|
|
3426
|
+
gap: 4px;
|
|
3427
|
+
font-size: 14px;
|
|
3428
|
+
font-weight: 600;
|
|
3429
|
+
|
|
3430
|
+
[data-variant='original'] & {
|
|
3431
|
+
color: ${y.muted2};
|
|
3432
|
+
}
|
|
3433
|
+
[data-variant='resale'] & {
|
|
3434
|
+
color: ${y.text};
|
|
3435
|
+
}
|
|
3436
|
+
`,Ka=r.span`
|
|
3437
|
+
display: flex;
|
|
3438
|
+
align-items: center;
|
|
3439
|
+
gap: 2px;
|
|
3440
|
+
padding: 0 2px;
|
|
3441
|
+
|
|
3442
|
+
[data-variant='original'] & .ico {
|
|
3443
|
+
width: 20px;
|
|
3444
|
+
height: 20px;
|
|
3445
|
+
color: ${y.muted2};
|
|
3446
|
+
}
|
|
3447
|
+
[data-variant='resale'] & .ico {
|
|
3448
|
+
width: 24px;
|
|
3449
|
+
height: 24px;
|
|
3450
|
+
color: ${y.rarity};
|
|
3451
|
+
}
|
|
3452
|
+
`,Ha=r.span`
|
|
3453
|
+
[data-variant='original'] & {
|
|
3454
|
+
font-size: 16px;
|
|
3455
|
+
font-weight: 700;
|
|
3456
|
+
text-decoration: line-through;
|
|
3457
|
+
}
|
|
3458
|
+
[data-variant='resale'] & {
|
|
3459
|
+
font-size: 25px;
|
|
3460
|
+
font-weight: 700;
|
|
3461
|
+
color: ${y.text};
|
|
3462
|
+
}
|
|
3463
|
+
`,uf=r.span`
|
|
3464
|
+
font-size: 14px;
|
|
3465
|
+
font-weight: 600;
|
|
3466
|
+
|
|
3467
|
+
[data-variant='original'] & {
|
|
3468
|
+
color: ${y.muted2};
|
|
3469
|
+
}
|
|
3470
|
+
`,pf=r.span`
|
|
3471
|
+
font-size: 14px;
|
|
3472
|
+
font-weight: 600;
|
|
3473
|
+
color: ${y.text2};
|
|
3474
|
+
`,Ua=r.span`
|
|
3475
|
+
display: inline-flex;
|
|
3476
|
+
width: 12px;
|
|
3477
|
+
height: 12px;
|
|
3478
|
+
color: ${y.muted2};
|
|
3479
|
+
`,hf=r.div`
|
|
3480
|
+
display: flex;
|
|
3481
|
+
flex-direction: column;
|
|
3482
|
+
gap: 12px;
|
|
3483
|
+
width: 100%;
|
|
3484
|
+
`,ff=r.div`
|
|
3485
|
+
display: flex;
|
|
3486
|
+
justify-content: center;
|
|
3487
|
+
`,an=yt`
|
|
3488
|
+
display: block;
|
|
3489
|
+
background: linear-gradient(100deg, var(--skeleton-lo) 30%, var(--skeleton-hi) 50%, var(--skeleton-lo) 70%);
|
|
3490
|
+
background-size: 200% 100%;
|
|
3491
|
+
animation: shimmer 1.4s infinite linear;
|
|
3492
|
+
|
|
3493
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3494
|
+
animation: none;
|
|
3495
|
+
}
|
|
3496
|
+
`,xf=r.div`
|
|
3497
|
+
display: flex;
|
|
3498
|
+
flex-direction: column;
|
|
3499
|
+
gap: 12px;
|
|
3500
|
+
width: 100%;
|
|
3501
|
+
/* Reserve the divider→CTA rhythm so the block is the same height loading vs loaded. */
|
|
3502
|
+
padding-top: 4px;
|
|
3503
|
+
`,mf=r.span`
|
|
3504
|
+
${an};
|
|
3505
|
+
width: 120px;
|
|
3506
|
+
height: 30px;
|
|
3507
|
+
border-radius: ${Ge.btn};
|
|
3508
|
+
margin-bottom: 4px;
|
|
3509
|
+
`,Qa=r.span`
|
|
3510
|
+
${an};
|
|
3511
|
+
width: 100%;
|
|
3512
|
+
height: 48px;
|
|
3513
|
+
border-radius: 16px;
|
|
3514
|
+
`,Va=r.div`
|
|
3515
|
+
display: flex;
|
|
3516
|
+
align-items: center;
|
|
3517
|
+
gap: 12px;
|
|
3518
|
+
`,Ga=r.span`
|
|
3519
|
+
${an};
|
|
3520
|
+
flex: none;
|
|
3521
|
+
width: 48px;
|
|
3522
|
+
height: 48px;
|
|
3523
|
+
border-radius: 50%;
|
|
3524
|
+
`,Ya=r.span`
|
|
3525
|
+
${an};
|
|
3526
|
+
width: 96px;
|
|
3527
|
+
height: 16px;
|
|
3528
|
+
border-radius: 6px;
|
|
3529
|
+
`;function gf(t){return Object.values(Re.Rarity).includes(t)}function bf(t){return t==="male"?n("itemDetail.genderMale"):t==="female"?n("itemDetail.genderFemale"):t==="unisex"?n("itemDetail.genderUnisex"):null}function Xt(t){return t.wearableCategory?t.wearableCategory.replace(/_/g," "):t.category==="emote"?n("itemDetail.categoryEmote"):n("itemDetail.categoryWearable")}const Ja=8;function Jf(){const{pathname:t}=Za();return e.jsx(yf,{},t)}function yf(){var zr,Er,Fr;const{contractAddress:t,itemId:s,tokenId:o}=ls(),l=mn(t),d=Zc(l),u=mn(s),h=mn(o),m=!!h,g=u??rd(h)??null,k=Za(),x=k.state,j=ot(),w=!!(x!=null&&x.market),$=(x==null?void 0:x.marketPriceCredits)??null,I=mt(),S=Mt(f=>f.add),R=To(f=>f.spent),O=Mt(f=>f.items),M=Xs(f=>f.toggle),{session:b,signIn:B}=at(),[i,K]=c.useState(()=>{if(x!=null&&x.item){const f={...x.item,tradeId:x.tradeId??x.item.tradeId};return m?{...f,tokenId:h,itemId:f.itemId??g}:{...f,tokenId:void 0,itemId:u??f.itemId}}return{id:`${l}-${h??u}`,name:"",creator:"",contractAddress:l??"",itemId:g,category:"wearable",rarity:"common",network:"MATIC",chainId:Le.chainId,thumbnail:"",priceCredits:0,gender:null,isSmart:!1,tokenId:h??void 0,tradeId:x==null?void 0:x.tradeId}}),[Q,V]=c.useState(!1),[X,ne]=c.useState(!!(x!=null&&x.resumeBuy));c.useEffect(()=>{x!=null&&x.resumeBuy&&V(!0)},[x==null?void 0:x.resumeBuy]);function te(){const f=i.priceCredits>0?i.priceCredits:null;Z("Shop Started Checkout",{checkout_source:"item_page",cart_size:1,cart_value_credits:f,cart_value_usd:f===null?null:bo(f)}),V(!0)}function ce(){if(b){te();return}w||Wo({type:"item-buy",path:k.pathname}),B()}const le=c.useRef(!1);c.useEffect(()=>{if(!b||le.current)return;const f=No("item-buy");!f||f.path!==k.pathname||(le.current=!0,ne(!0),te())},[b]);const J=c.useMemo(()=>i.contractAddress&&(i.itemId??g)?[`${i.contractAddress.toLowerCase()}-${i.itemId??g}`]:void 0,[i.contractAddress,i.itemId,g]),z=Zs(Ja,{exclude:J}),T=eo({enabled:z.enabled,hasSignal:z.hasSignal,isLoading:z.isLoading,isError:z.isError,personalized:(zr=z.result)==null?void 0:zr.personalized,rowCount:to(((Er=z.result)==null?void 0:Er.data)??[]).length}),{items:_,isCollectionOnly:p,siblings:A,siblingsFetched:C}=Xc({id:i.id,contractAddress:i.contractAddress,itemId:i.itemId??g,tokenId:i.tokenId,creator:i.creator}),{data:P,isLoading:W}=ie({queryKey:["shop-item",i.contractAddress,g],enabled:!w&&!m&&!!i.contractAddress&&!!g,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>wo(i.contractAddress,g)}),H=m?void 0:P;c.useEffect(()=>{H&&K(f=>f.tradeId?{...f,tradeId:H.tradeId,priceCredits:H.priceCredits,manaWei:H.manaWei,available:H.available??f.available,acquisition:H.acquisition,wearableCategory:f.wearableCategory??H.wearableCategory}:{...f,...H})},[H]);const[se,je]=c.useState(!1),{data:ee=""}=ie({queryKey:["item-desc",i.contractAddress,i.itemId],enabled:!!i.contractAddress&&!!i.itemId,staleTime:5*6e4,queryFn:()=>vo(i.contractAddress,i.itemId)}),{data:G,isLoading:re}=ie({queryKey:["collection-meta",i.contractAddress],enabled:!!i.contractAddress,staleTime:5*6e4,queryFn:()=>ri(i.contractAddress)});c.useEffect(()=>{const f=(H==null?void 0:H.creator)||(G==null?void 0:G.creator);f&&K(oe=>oe.creator?oe:{...oe,creator:f})},[H,G]);const xe=c.useMemo(()=>{if(!(m||i.name||H||A.length===0))return(g?A.find(f=>f.itemId===g):void 0)??A.find(f=>f.contractAddress===i.contractAddress)},[m,i.name,i.contractAddress,H,A,g]);c.useEffect(()=>{xe&&K(f=>({...xe,tradeId:f.tradeId??xe.tradeId}))},[xe]);const{data:ke,isLoading:$e}=ie({queryKey:["detail-trade",i.id,i.tradeId,i.contractAddress,i.itemId],enabled:!!i.contractAddress,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:async()=>{if(i.tradeId)return i.tradeId;if(!m&&i.itemId){const f=await jo(i.contractAddress,i.itemId);return(f==null?void 0:f.id)??null}return null}}),{data:Y}=ie({queryKey:["item-traits",i.contractAddress,g],enabled:!!i.contractAddress&&!!g,staleTime:5*6e4,retry:1,queryFn:()=>ko(i.contractAddress,g)}),lt=(Y==null?void 0:Y.isSmart)??i.isSmart,ze=(Y==null?void 0:Y.utility)??null,Ce=c.useMemo(()=>({...i,wearableCategory:i.wearableCategory??(Y==null?void 0:Y.wearableCategory)??void 0,gender:i.gender??(Y==null?void 0:Y.gender)??null}),[i,Y==null?void 0:Y.wearableCategory,Y==null?void 0:Y.gender]),wt=(Y==null?void 0:Y.urn)??null,{data:Lt}=ie({queryKey:["item-vrm",wt],enabled:!!wt&&i.category==="wearable",staleTime:30*6e4,retry:!1,queryFn:()=>$o(wt)}),[sn,zt]=c.useState(!1),{data:vt}=ie({queryKey:["item-video",i.contractAddress,g],enabled:lt&&!!i.contractAddress&&!!g,staleTime:30*6e4,retry:!1,queryFn:()=>Vo(i.contractAddress,g)}),Ie=c.useMemo(()=>i.emoteLoop!==void 0?i:(g?A.find(oe=>oe.itemId===g):void 0)??i,[i,A,g]),Ee=Yr(I,i.tradeId)??Yr(I,ke),on=i.acquisition==="store"&&(i.available??0)>0,ue=!!Ee||on,dt=no(),{data:Fe=[]}=ie({queryKey:["item-resales",i.contractAddress,i.itemId],enabled:dt&&!w&&!!i.contractAddress&&!!i.itemId,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>li(i.contractAddress,i.itemId)}),Ue=Fe.length>0?Fe[0].priceCredits:null,Ye=m&&i.tokenId?Fe.find(f=>f.tokenId===i.tokenId)??null:null,Se=c.useMemo(()=>{const f=Fe[0];return f?{...f,name:f.name||i.name,thumbnail:f.thumbnail||i.thumbnail,rarity:f.rarity||i.rarity,category:f.category||i.category,wearableCategory:f.wearableCategory??i.wearableCategory,gender:f.gender??i.gender}:null},[Fe,i]),[Et,jt]=c.useState(null),[kt,Je]=c.useState(!1),[ln,v]=c.useState(!1),[L,N]=c.useState(!1),F=i.manaWei??null,{data:U}=oi(w||!!F),ae=F&&U?ro(F,U):null;c.useEffect(()=>{ae!=null&&K(f=>f.priceCredits===ae?f:{...f,priceCredits:ae})},[ae,i.priceCredits]);const q=c.useMemo(()=>{if(!w||!(x!=null&&x.item))return null;const f=x.item;return f.manaWei?{tradeId:f.tradeId??f.id,listingType:"primary",contractAddress:f.contractAddress,itemId:f.itemId??"",name:f.name,thumbnail:f.thumbnail,rarity:f.rarity,category:f.category,wearableCategory:f.wearableCategory??null,creator:f.creator,manaWei:f.manaWei,available:1,network:f.network,chainId:f.chainId,createdAt:0}:null},[w,x==null?void 0:x.item]),fe=w&&$!=null&&!!U&&!!q,Oe=ao({priceCredits:i.priceCredits,compareAtCredits:i.compareAtCredits,saleEndsAt:i.saleEndsAt}),we=(()=>{var ve,ut;if(!Oe)return null;const f=_o(R,i.coupon),oe=Number(((ut=(ve=i.coupon)==null?void 0:ve.checks)==null?void 0:ut.uses)??0);return oe>0&&f<=oe?{claimed:f,total:oe}:null})(),Ft=(()=>{if(!Oe||i.saleUnitsLeft==null)return null;const f=we?we.total-we.claimed:1/0;return i.saleUnitsLeft<f?i.saleUnitsLeft:null})(),Te=c.useMemo(()=>({...i,tradeId:Ee,id:Ee??i.id}),[i,Ee]),dn=O.some(f=>f.id===Te.id),Tt=!Te.tokenId,Hi=((Fr=O.find(f=>f.id===Te.id))==null?void 0:Fr.quantity)??0,cn=Tt&&typeof i.available=="number"&&Hi>=i.available,{key:Zn,faved:Xe}=io(i),Qe=so(i),Ui=si(f=>f.locale),Nt=Qe===void 0?null:Qe.toLocaleString(Ui),er=Xe?n("assetCard.removeFromFavorites"):n("assetCard.addToFavorites"),tr=Qe===void 0?er:n("itemDetail.favoriteAria",{action:er,count:Qe}),nr=c.useRef(null);c.useEffect(()=>{!i.name||$e||nr.current===i.id||(nr.current=i.id,Z("Shop Viewed Item",{...oo(i),for_sale:ue}),lo(i))},[i.id,i.name,$e,ue]);const _t=`${l}/${h??u}`,rr=c.useRef(_t);c.useEffect(()=>{if(rr.current!==_t){if(rr.current=_t,x!=null&&x.item){const f={...x.item,tradeId:x.tradeId??x.item.tradeId};K(m?{...f,tokenId:h,itemId:f.itemId??g}:{...f,tokenId:void 0,itemId:u??f.itemId})}typeof window<"u"&&window.scrollTo({top:0,behavior:"smooth"})}},[_t]);function Qi(){!ue||un||$e||!Tt&&dn||cn||S(Te,"item_detail")}const Ze=gf(i.rarity)?i.rarity:Re.Rarity.COMMON,ar=bf(Ce.gender),Bt=co(Ce),ir=uo(Ce.gender),sr=ih(i.rarity),or=sh(Ce),lr=ue&&Oe,Vi=p?n("itemDetail.moreFromCollection"):n("itemDetail.youMightAlsoLike"),un=po(i,b==null?void 0:b.address),[Gi,dr]=c.useState(!1),[Yi,cr]=c.useState(!1),[Ji,ur]=c.useState(!1),[Xi,pr]=c.useState(!1),[$t,Ct]=c.useState(null),[Zi,hr]=c.useState(!1),[fr,xr]=c.useState(!1),mr=en(b==null?void 0:b.providerType),{data:D,isLoading:Wt}=ie({queryKey:["owned-token",i.contractAddress,i.tokenId,b==null?void 0:b.address],enabled:!w&&!!(b!=null&&b.address)&&!!i.contractAddress&&!!i.tokenId,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>b?Br(b.address,i.contractAddress,i.tokenId):null});c.useEffect(()=>{D&&K(f=>f.name?{...f,issuedId:f.issuedId??D.issuedId,priceCredits:D.listingPrice??0,tradeId:D.tradeId}:{id:D.id,name:D.name,creator:"",contractAddress:D.contractAddress,itemId:D.itemId,category:D.category,rarity:D.rarity??"common",network:D.network,chainId:D.chainId,thumbnail:D.image,priceCredits:D.listingPrice??0,gender:null,isSmart:!1,tokenId:D.tokenId,issuedId:D.issuedId,tradeId:D.tradeId})},[D]),c.useEffect(()=>{Ye&&K(f=>f.priceCredits===Ye.priceCredits&&f.tradeId?f:{...f,priceCredits:Ye.priceCredits,tradeId:f.tradeId??Ye.tradeId})},[Ye]),c.useEffect(()=>{$t!=null&&D!=null&&D.isOnSale&&D.listingPrice===$t&&Ct(null)},[D,$t]);const gr=!w&&!!i.contractAddress&&!!i.tokenId&&!i.name&&!H&&!Wt&&!D,{data:pe,isFetched:es}=ie({queryKey:["public-token",i.contractAddress,i.tokenId],enabled:gr,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>Co(i.contractAddress,i.tokenId)});c.useEffect(()=>{pe&&K(f=>f.name?f.issuedId?f:{...f,issuedId:pe.issuedId}:{id:pe.id,name:pe.name,creator:"",contractAddress:pe.contractAddress,itemId:pe.itemId,category:pe.category,rarity:pe.rarity??"common",network:pe.network,chainId:pe.chainId,thumbnail:pe.image,priceCredits:pe.listingPrice??0,gender:null,isSmart:!1,tokenId:pe.tokenId,issuedId:pe.issuedId,tradeId:pe.tradeId})},[pe]);const{data:Ne}=ie({queryKey:["publishable-item",i.contractAddress,i.itemId,b==null?void 0:b.address],enabled:un&&!!b&&!!i.itemId,queryFn:async()=>b?(await Go(b.address,b.identity)).find(oe=>oe.contractAddress.toLowerCase()===i.contractAddress.toLowerCase()&&oe.blockchainItemId===i.itemId)??null:null}),_e=m&&!!D,pn=!m&&un,Be=!w&&(pn||_e),br=$t!=null?!0:_e?!!(D!=null&&D.isOnSale):ue,Dt=_e?D==null?void 0:D.tradeId:Ee,yr=_e?!!D:!!Ne,wr=pn||_e&&dt,hn=$t??(_e?(D==null?void 0:D.listingPrice)??0:0),{data:vr=0}=ie({queryKey:["owned-item-count",i.contractAddress,u,b==null?void 0:b.address],enabled:!m&&!w&&!!(b!=null&&b.address)&&!!i.contractAddress&&!!u,staleTime:3e4,queryFn:()=>b?Io(b.address,i.contractAddress,u):0});async function et(){await Promise.all([I.invalidateQueries({queryKey:["owned-token",i.contractAddress,i.tokenId]}),I.invalidateQueries({queryKey:["detail-trade"]}),I.invalidateQueries({queryKey:["shop-item"]}),I.invalidateQueries({queryKey:["collection-sale-state"]}),I.invalidateQueries({queryKey:["shop-items"]}),I.invalidateQueries({queryKey:["catalog-items"]}),I.invalidateQueries({queryKey:["publishable-items"]}),I.invalidateQueries({queryKey:["publishable-item",i.contractAddress,i.itemId]}),I.invalidateQueries({queryKey:["item-resales",i.contractAddress,i.itemId]})])}async function ts(f){if(!b||!Dt)throw new Error("No listing to take down");const oe=await ii(Dt);await Oo({trade:oe,signer:b.signer,mode:f.payGas?"direct":"gasless-only",watch:{isCancelled:async()=>{try{if(_e){if(!i.tokenId)return!1;const ve=await Br(b.address,i.contractAddress,i.tokenId);return ve!==null&&!ve.isOnSale}return i.itemId?await yo(i.contractAddress,i.itemId)===null:!1}catch{return!1}},onWaiting:f.onWaiting}}),f.silent||tn.success(n("myAssets.removedFromSale",{name:i.name})),Ct(null),ad(I,Dt),K(ve=>ve.tradeId===Dt?{...ve,tradeId:void 0}:ve),et(),gn(I,{address:b.address,contractAddress:i.contractAddress,tokenId:i.tokenId},{kind:"removed"})}const jr=f=>async({payGas:oe,onWaiting:ve})=>{try{return await ts({silent:f,payGas:oe,onWaiting:ve}),"ok"}catch(ut){if(ut instanceof qo)return ut.definitive?"relay-reverted":"relay-pending";throw ut}},kr={currentCredits:hn||i.priceCredits||void 0,canPayGas:mr,cancelCurrent:jr(!0)};function $r({edit:f=!1}={}){f||Z("Shop Started Listing",{listing_type:_e?"secondary":"primary",item_id:i.itemId??i.tokenId??null}),xr(f),_e?dr(!0):cr(!0)}function Cr(){dr(!1),cr(!1),xr(!1),et()}const Ir=ue?$e?n("itemDetail.checking"):cn?n("itemDetail.maxInCart"):!Tt&&dn?n("assetCard.inCart"):n("assetCard.addToCart"):n("itemDetail.notForSale"),It=i.available??(Y==null?void 0:Y.available)??null,ns=typeof It=="number"&&It>0&&!i.tokenId&&!w,Sr=!w&&!i.tokenId&&It===0,Ar=i.network==="ETHEREUM",ct=Sr&&!Be&&!!Se,qt=!!Se&&O.some(f=>f.id===Se.id),rs=!Be&&ue&&!w,as=w||!Be&&(ue||ct&&!!Se||Ni()),is=!i.name&&(!!H||!!D||!!pe||!!xe),Rr=W||!!i.contractAddress&&!C||!i.name&&Wt||is||gr&&!es,Mr=!i.name&&!Rr,ss=!!i.name&&id({isMarket:w,forSale:ue,priceKnown:i.priceCredits>0&&(!F||ae!=null)||Be,stillResolving:Rr||!!F&&ae==null,manage:Be,soldOutWithResale:ct,resolvingTrade:$e,isTokenRoute:m,ownedAssetLoading:Wt,deepLinkLoading:W}),Pr=!i.creator&&(W||re||Wt),Lr=!(G!=null&&G.name)&&re,os=/^https?:\/\//i.test(i.thumbnail);return ho(Mr?{title:n("seo.item.notFoundTitle"),noindex:!0}:i.name?{title:i.name,description:ee||n("seo.item.fallbackDescription",{name:i.name,rarity:i.rarity,category:Xt(Ce),creator:Qn(i.creator)}),image:os?i.thumbnail:void 0,type:"product"}:{}),Mr?e.jsxs(Oh,{"data-notfound":!0,children:[e.jsx(Uh,{name:"cart"}),e.jsx(Qh,{children:n("itemDetail.notAvailableTitle")}),e.jsx(Kh,{children:n("itemDetail.notAvailableBody")}),e.jsx(Hh,{variant:"white",onClick:()=>j("/items"),children:n("notFound.cta")})]}):e.jsxs(ph,{children:[e.jsxs(hh,{"aria-label":n("itemDetail.breadcrumbAria"),children:[e.jsx(fh,{onClick:()=>j("/items"),children:n("nav.collectibles")}),e.jsx(xh,{children:"/"}),e.jsx(mh,{children:i.name||n("itemDetail.itemFallback")})]}),e.jsxs(gh,{style:{"--glow-rgb":mo(Ze),"--glow-core":xo(Ze)},children:[e.jsxs(bh,{"data-testid":"item-preview",children:[i.name?e.jsx(iu,{item:i}):e.jsx(yh,{"aria-busy":"true","aria-label":n("itemPreview.loading"),children:e.jsx(wh,{className:"skeleton","aria-hidden":!0})}),Zn?e.jsxs(za,{"data-fav-preview":!0,"data-on":Xe||void 0,"data-count":Nt??void 0,onClick:()=>M(i,"item_detail"),"aria-pressed":Xe,"aria-label":tr,children:[e.jsx(E,{name:Xe?"heart-solid":"heart",size:18}),Qe!==void 0?e.jsx(Ea,{title:n("itemDetail.savedCount",{count:Qe}),"data-testid":"fav-count-preview",children:Nt}):null]}):null,vt?e.jsxs($h,{"data-play-showcase":!0,onClick:()=>zt(!0),"data-testid":"play-showcase",children:[e.jsx(E,{name:"play",size:18}),n("itemDetail.playShowcase")]}):null]}),e.jsx(vh,{"data-testid":"item-info",children:i.name?e.jsxs(e.Fragment,{children:[lr&&i.compareAtCredits!=null?e.jsx(Mh,{pct:fo(i.compareAtCredits,i.priceCredits),size:"lg",testId:"detail-sale-badge"}):null,e.jsxs(jh,{children:[e.jsxs(kh,{children:[i.name,m&&i.issuedId?` #${i.issuedId}`:""]}),Zn?e.jsxs(za,{"data-fav-title":!0,"data-on":Xe||void 0,"data-count":Nt??void 0,onClick:()=>M(i,"item_detail"),"aria-pressed":Xe,"aria-label":tr,children:[e.jsx(E,{name:Xe?"heart-solid":"heart",size:18}),Qe!==void 0?e.jsx(Ea,{title:n("itemDetail.savedCount",{count:Qe}),"data-testid":"fav-count",children:Nt}):null]}):null]}),e.jsxs(Ch,{children:[sr?e.jsx(Qt,{content:_r(i.rarity),children:e.jsx(Yt,{to:sr,"data-variant":"rarity","data-testid":"detail-rarity-link",style:{background:Nr(Ze)},children:i.rarity})}):e.jsx(Qt,{content:_r(i.rarity),children:e.jsx(We,{"data-variant":"rarity",style:{background:Nr(Ze)},children:i.rarity})}),or?e.jsxs(Yt,{to:or,"data-testid":"detail-category-link",title:n("filter.browseByCategory",{category:Xt(Ce)}),children:[Bt?e.jsx(E,{name:Bt,size:18}):null,Xt(Ce)]}):e.jsxs(We,{children:[Bt?e.jsx(E,{name:Bt,size:18}):null,Xt(Ce)]}),ar?e.jsxs(We,{children:[ir?e.jsx(E,{name:ir,size:18}):null,ar]}):null,!m&&i.issuedId?e.jsxs(We,{"data-testid":"detail-issued",children:["#",i.issuedId]}):null,d?e.jsxs(Yt,{to:"/event","data-testid":"detail-event",title:d,children:[e.jsx(E,{name:"star-rounded",size:18}),d]}):null,lt?e.jsxs(Yt,{to:oh(),"data-testid":"detail-smart",title:n("filter.browseBySmart"),children:[e.jsx(E,{name:"smart",size:18}),n("itemDetail.smart")]}):null,Ie.emoteLoop!==void 0?e.jsxs(We,{"data-testid":"detail-play-mode",children:[e.jsx(E,{name:Ie.emoteLoop?"play-loop":"play-once",size:18}),Ie.emoteLoop?n("itemDetail.playLoop"):n("itemDetail.playOnce")]}):null,Ie.emoteHasSound?e.jsxs(We,{"data-testid":"detail-sound",children:[e.jsx(E,{name:"sound",size:18}),n("itemDetail.emoteSound")]}):null,Ie.emoteHasProps?e.jsxs(We,{"data-testid":"detail-props",children:[e.jsx(E,{name:"props",size:18}),n("itemDetail.emoteProps")]}):null,Lt?e.jsx(Qt,{content:n("itemDetail.exportBlockedTooltip"),children:e.jsxs(We,{"data-variant":"blocked","data-testid":"detail-export-blocked",tabIndex:0,"aria-label":n("itemDetail.exportBlockedTooltip"),children:[e.jsx(E,{name:"ban",size:16}),n("itemDetail.exportBlocked")]})}):null,ze?e.jsxs(We,{"data-testid":"detail-utility-chip",children:[e.jsx(E,{name:"utility",size:18}),n("itemDetail.utility")]}):null]}),ee||ze?e.jsxs(Di,{children:[ee?e.jsx(Kn,{children:e.jsxs(On,{children:[e.jsx(ht,{children:n("itemDetail.description")}),e.jsx(Fa,{"data-expanded":se||void 0,children:ee}),ee.length>140?e.jsx(Sh,{className:"link",onClick:()=>je(f=>!f),children:se?n("itemDetail.showLess"):n("itemDetail.readMore")}):null]})}):null,ze?e.jsx(Kn,{children:e.jsxs(On,{"data-testid":"detail-utility",children:[e.jsx(ht,{children:n("itemDetail.utility")}),e.jsx(Fa,{"data-expanded":!0,children:ze})]})}):null]}):null,!Ar&&(i.creator||Pr)||G!=null&&G.name||Lr?e.jsxs(qi,{children:[Ar?null:i.creator?e.jsxs(Rt,{children:[e.jsx(ht,{children:n("itemDetail.creator")}),e.jsx(Ah,{address:i.creator,linkToProfile:!0,hidePrefix:!0})]}):Pr?e.jsxs(Rt,{children:[e.jsx(ht,{children:n("itemDetail.creator")}),e.jsxs(Va,{"aria-hidden":!0,"data-testid":"creator-loading",children:[e.jsx(Ga,{}),e.jsx(Ya,{})]})]}):null,G!=null&&G.name?e.jsxs(Rt,{"data-collection":!0,children:[e.jsx(ht,{children:n("itemDetail.collection")}),e.jsx(Rh,{contractAddress:i.contractAddress,name:G.name,items:A})]}):Lr?e.jsxs(Rt,{"data-collection":!0,children:[e.jsx(ht,{children:n("itemDetail.collection")}),e.jsxs(Va,{"aria-hidden":!0,"data-testid":"collection-loading",children:[e.jsx(Ga,{}),e.jsx(Ya,{})]})]}):null]}):null,e.jsx(Ki,{}),ss?e.jsxs(xf,{"aria-hidden":!0,"data-testid":"sale-loading",children:[e.jsx(mf,{}),e.jsx(Qa,{}),e.jsx(Qa,{})]}):e.jsxs(e.Fragment,{children:[dt&&!Be&&!w&&ue&&!i.tokenId?e.jsxs(tf,{"data-testid":"buy-from-creator",children:[e.jsxs(nf,{children:[e.jsx(rf,{name:"buy-from-creator"}),n("itemDetail.buyFromCreator")]}),e.jsx(af,{name:"check-rounded"})]}):null,ct?e.jsxs(cf,{"data-testid":"sold-out",children:[e.jsxs(qa,{"data-variant":"original",children:[e.jsxs(Oa,{children:[n("itemDetail.originalPrice"),e.jsxs(Ka,{children:[e.jsx(Pe,{className:"ico"}),e.jsx(Ha,{children:e.jsx(be,{credits:i.priceCredits})})]}),e.jsx(Ua,{"aria-hidden":!0,children:e.jsx(E,{name:"info",size:12})})]}),e.jsx(uf,{"data-testid":"out-of-stock",children:n("itemDetail.soldOut")})]}),e.jsxs(qa,{"data-variant":"resale",children:[e.jsxs(Oa,{children:[n("itemDetail.resalePrice"),e.jsxs(Ka,{children:[e.jsx(Pe,{className:"ico"}),e.jsx(Ha,{children:e.jsx(be,{credits:Ue})})]}),e.jsx(Ua,{"aria-hidden":!0,children:e.jsx(E,{name:"info",size:12})})]}),e.jsxs(pf,{children:[n("itemDetail.stock")," ",Fe.length,"/",Re.Rarity.getMaxSupply(Ze).toLocaleString()]})]})]}):e.jsxs(Ph,{children:[e.jsxs(Lh,{children:[e.jsxs(zh,{children:[w||ue?e.jsx(Fn,{children:n("itemDetail.price")}):null,w?e.jsxs(e.Fragment,{children:[e.jsx(St,{"data-variant":"market","data-testid":"item-price",children:$==null?e.jsx(At,{children:"—"}):e.jsxs(e.Fragment,{children:[e.jsx(Fh,{"aria-hidden":!0,children:"≈"}),e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:$})})]})}),e.jsx(Th,{children:n("assetCard.marketPrice")})]}):ue?lr?e.jsxs(St,{"data-variant":"sale","data-testid":"item-price",children:[e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:i.priceCredits})}),e.jsx(_h,{"data-testid":"detail-price-was",children:e.jsx(be,{credits:i.compareAtCredits})}),e.jsx(Qo,{until:i.saleEndsAt,testId:"detail-countdown"})]}):e.jsxs(St,{"data-testid":"item-price",children:[e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:i.priceCredits})})]}):br&&hn?e.jsxs(St,{"data-testid":"item-price",children:[e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:hn})})]}):Be?null:e.jsxs(St,{"data-variant":"none","data-testid":"item-price",children:[e.jsx("span",{children:n("itemDetail.notForSale")}),e.jsx(Qt,{content:n("itemDetail.notForSaleHint"),children:e.jsx(Eh,{tabIndex:0,role:"img","aria-label":n("itemDetail.notForSaleHint"),children:e.jsx(E,{name:"info",size:14})})})]})]}),ns?e.jsxs(Ta,{children:[e.jsx(Fn,{children:n("itemDetail.stock")}),e.jsxs(En,{children:[(It??0).toLocaleString(),"/",Re.Rarity.getMaxSupply(Ze).toLocaleString()]})]}):Sr?e.jsxs(Ta,{children:[e.jsx(Fn,{children:n("itemDetail.stock")}),e.jsxs(En,{children:[(It??0).toLocaleString(),"/",Re.Rarity.getMaxSupply(Ze).toLocaleString()]}),e.jsx(En,{"data-out":!0,"data-testid":"out-of-stock",children:n("itemDetail.outOfStock")})]}):null]}),we?e.jsx(rh,{claimed:we.claimed,total:we.total,testId:"detail-offer-stock"}):null,Ft!=null?e.jsx(Nh,{"data-testid":"detail-units-left",children:n("assetCard.unitsLeftAtThisPrice",{count:Ft})}):null]}),e.jsx(Bh,{"data-buttons":as||void 0,"data-dual":rs||void 0,children:w?e.jsxs(Tn,{variant:"purple",onClick:ce,disabled:!fe,children:[e.jsx("span",{children:n("assetCard.buyNow")}),$!=null?e.jsxs(Nn,{"aria-hidden":!0,children:[e.jsx(Wn,{}),e.jsx(be,{credits:$})]}):null]}):Be?e.jsxs(hf,{"data-testid":"manage-actions",children:[br?e.jsxs(e.Fragment,{children:[wr?e.jsxs(Dh,{onClick:()=>$r({edit:!0}),disabled:!yr,"data-testid":"edit-price",children:[e.jsx(E,{name:"pen",className:"ico"}),e.jsx("span",{children:n("itemDetail.manageUpdatePrice")})]}):null,e.jsx(_a,{onClick:()=>hr(!0),"data-testid":"remove-listing",children:e.jsx("span",{children:n("itemDetail.manageRemove")})})]}):e.jsxs(e.Fragment,{children:[wr?e.jsx(Wh,{onClick:()=>$r(),disabled:!yr,children:e.jsx("span",{children:n("itemDetail.manageList")})}):null,_e?e.jsxs(e.Fragment,{children:[e.jsx(_a,{onClick:()=>ur(!0),children:e.jsx("span",{children:n("itemDetail.manageTransfer")})}),e.jsx(Na,{type:"button","data-on-purple":!0,"data-testid":"resell-item",onClick:()=>v(!0),children:n("itemDetail.manageResell")})]}):null]}),pn&&Ne?e.jsx(Na,{type:"button","data-on-purple":!0,onClick:()=>pr(!0),children:n("itemDetail.manageIssue")}):null,Ue!=null?e.jsx(ff,{children:e.jsx(Hn,{onClick:()=>Je(!0),"data-testid":"view-resellers",children:n("itemDetail.viewAllResellers")})}):null]}):ue?e.jsxs(e.Fragment,{children:[e.jsxs(Tn,{variant:"purple",onClick:ce,disabled:$e,children:[e.jsx("span",{children:n("assetCard.buyNow")}),e.jsxs(Nn,{"aria-hidden":!0,children:[e.jsx(Wn,{}),e.jsx(be,{credits:i.priceCredits})]})]}),e.jsxs(Ba,{onClick:Qi,disabled:$e||(Tt?cn:dn),"aria-label":Ir,children:[e.jsx(E,{name:"cart"}),e.jsx(Wa,{children:Ir})]})]}):ct&&Se?e.jsxs(e.Fragment,{children:[e.jsxs(Tn,{variant:"purple",onClick:()=>b?jt(Se):B(),children:[e.jsx("span",{children:n("assetCard.buyNow")}),e.jsxs(Nn,{"aria-hidden":!0,children:[e.jsx(Wn,{}),e.jsx(be,{credits:Se.priceCredits})]})]}),e.jsxs(Ba,{onClick:()=>{qt||S(Se,"item_detail")},disabled:qt,"aria-label":qt?n("assetCard.inCart"):n("assetCard.addToCart"),children:[e.jsx(E,{name:"cart"}),e.jsx(Wa,{children:qt?n("assetCard.inCart"):n("assetCard.addToCart")})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(Jp,{item:i}),i.itemId?e.jsx(df,{onClick:()=>{Z("Shop Clicked Buy Resale",{item_id:i.itemId,contract_address:i.contractAddress,has_shop_resale:!!Se}),N(!0)},"data-testid":"buy-resale","aria-haspopup":"dialog",children:n("itemDetail.buyResale")}):null]})}),!Be&&!w&&Ue!=null?e.jsxs(sf,{"data-testid":"lowest-price","data-centered":ct||void 0,children:[ct?null:e.jsxs(of,{children:[n("itemDetail.lowestPrice"),e.jsx(Pe,{className:"ico"}),e.jsx(lf,{children:e.jsx(be,{credits:Ue})})]}),e.jsx(Hn,{onClick:()=>Je(!0),"data-testid":"view-resellers",children:n("itemDetail.viewAllResellers")})]}):null,!Be&&!w&&vr>0?e.jsxs(qh,{"data-testid":"you-own-note",children:[n("itemDetail.youOwnN",{count:vr})," ",e.jsx(Xa,{to:"/my-items",children:n("nav.myAssets")})]}):null]})]}):e.jsx(wf,{})})]}),e.jsx(go,{exclude:J,title:n("itemDetail.becauseYouOwn"),surface:"pdp",first:Ja}),T!==null&&e.jsx(Bo,{title:Vi,items:_,onViewAll:p&&i.contractAddress?()=>j(`/collection/${i.contractAddress}`):void 0}),e.jsx(Gu,{item:i}),Q&&w&&q&&U?e.jsx(Ri,{listing:q,rate:U,onClose:()=>V(!1),onSold:()=>V(!1)}):Q&&!w?e.jsx(qn,{item:Te,resume:X,onClose:()=>{V(!1),ne(!1)}}):null,Et?e.jsx(qn,{item:Et,onClose:()=>{jt(null),et()}}):null,dt&&kt&&i.itemId?e.jsx($p,{item:i,onClose:()=>Je(!1)}):null,ln&&h?e.jsx(Aa,{contractAddress:l??"",tokenId:h,onClose:()=>v(!1)}):null,L&&i.itemId&&l?e.jsx(Aa,{variant:"buy",contractAddress:l,itemId:i.itemId,onClose:()=>N(!1)}):null,Gi&&D&&b?e.jsx(Td,{asset:D,session:b,creator:i.creator,edit:fr?kr:void 0,onListed:(f,oe)=>{Ct(f),et(),gn(I,{address:b.address,contractAddress:i.contractAddress,tokenId:i.tokenId},{kind:"listed",priceCredits:f,tradeId:oe})},onClose:Cr}):null,Zi&&b?e.jsx(ac,{name:i.name,managed:Vn(b),canPayGas:mr,cancel:jr(!1),onClose:()=>hr(!1)}):null,Ji&&b&&i.tokenId?e.jsx(tc,{item:{contractAddress:i.contractAddress,chainId:i.chainId,tokenId:i.tokenId,name:i.name,thumbnail:i.thumbnail},session:b,onClose:()=>{ur(!1),et()},onTransferred:()=>{Ct(null),et(),gn(I,{address:b.address,contractAddress:i.contractAddress,tokenId:i.tokenId},{kind:"gone"})}}):null,Yi&&Ne&&b?e.jsx(Ic,{item:Ne,session:b,edit:fr?kr:void 0,onListed:(f,oe)=>{Ct(f),K(ve=>({...ve,tradeId:oe}))},onClose:Cr}):null,Xi&&Ne&&b?e.jsx(Jl,{item:{contractAddress:Ne.contractAddress,chainId:Le.chainId,itemId:Ne.blockchainItemId,name:Ne.name,thumbnail:Ne.thumbnail,available:Ne.remainingSupply},session:b,onClose:()=>{pr(!1),et()}}):null,sn&&vt?e.jsx(zc,{src:vt,itemName:i.name,onClose:()=>zt(!1)}):null]})}function wf(){return e.jsxs(Vh,{"aria-hidden":!0,children:[e.jsx(Jh,{className:"skeleton"}),e.jsxs(Xh,{children:[e.jsx(_n,{className:"skeleton"}),e.jsx(_n,{className:"skeleton"}),e.jsx(_n,{className:"skeleton"})]}),e.jsx(Di,{children:[0,1].map(t=>e.jsx(Kn,{children:e.jsxs(On,{children:[e.jsx(Da,{className:"skeleton"}),e.jsxs(Gh,{children:[e.jsx(Bn,{className:"skeleton"}),e.jsx(Bn,{className:"skeleton"}),e.jsx(Bn,{className:"skeleton","data-short":!0})]})]})},t))}),e.jsx(qi,{children:[0,1].map(t=>e.jsxs(Rt,{...t===1?{"data-collection":!0}:{},children:[e.jsx(Da,{className:"skeleton"}),e.jsx(Yh,{})]},t))}),e.jsx(Ki,{}),e.jsx(Zh,{className:"skeleton"}),e.jsx(ef,{className:"skeleton"})]})}export{yf as ItemDetail,Jf as ItemDetailRoute,yf as default};
|
|
3530
|
+
//# sourceMappingURL=ItemDetail-ChBtCy2t.js.map
|