@acedatacloud/nexior 3.144.0 → 3.146.0
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/dist/assets/{Auth-CIzHGZcq.js → Auth-BIyIYsxp.js} +1 -1
- package/dist/assets/{BotPlaceholder-D3ovEPPG.js → BotPlaceholder-DB5oDTGl.js} +1 -1
- package/dist/assets/{Callback-B_EzmzuH.js → Callback-BNmGVr45.js} +1 -1
- package/dist/assets/{Console-Cy5YDvxd.js → Console-4m3mlinT.js} +1 -1
- package/dist/assets/{Consumption-F0CagVzQ.js → Consumption-CYQjCvht.js} +1 -1
- package/dist/assets/{Conversation-BGMJ1aIy.js → Conversation-Bp0Fbnh-.js} +1 -1
- package/dist/assets/{CopyToClipboard-V6QrcQ1M.js → CopyToClipboard-D2bQdRpq.js} +1 -1
- package/dist/assets/Detail-3xCJLQ0s.js +2 -0
- package/dist/assets/{EditArray-BUhRffff.js → EditArray-CNBPR9M6.js} +1 -1
- package/dist/assets/{Extra-B3Y6oyMJ.js → Extra-CCl0U-7K.js} +1 -1
- package/dist/assets/{FilePreview-DPToRwTA.js → FilePreview-DLO7Wgrb.js} +1 -1
- package/dist/assets/{History-B7Lu7OZe.js → History-CRtVUKME.js} +1 -1
- package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-C7gJVSFa.js → IconPark.vue_vue_type_script_setup_true_lang-DU1Lsb_w.js} +1 -1
- package/dist/assets/{ImagePreview-PuzA1V0j.js → ImagePreview-D0Ix1-Y-.js} +1 -1
- package/dist/assets/{ImageWrapper-BB_1PyC5.js → ImageWrapper-nkAn1pNo.js} +1 -1
- package/dist/assets/Index-1lJKVQ08.js +1 -0
- package/dist/assets/Index-B3j7SxWt.js +1 -0
- package/dist/assets/Index-B9-idh3a.js +1 -0
- package/dist/assets/Index-BHlrNui_.js +1 -0
- package/dist/assets/Index-BHpGf8bf.js +1 -0
- package/dist/assets/Index-BWE0u2Gh.js +1 -0
- package/dist/assets/{Index-C9JsgizF.js → Index-BesriifZ.js} +1 -1
- package/dist/assets/Index-BiaXClOc.js +1 -0
- package/dist/assets/{Index-BxMeDJqR.js → Index-Bz5Sj-ME.js} +1 -1
- package/dist/assets/Index-CCDLMwOO.js +1 -0
- package/dist/assets/Index-CPz-1qE-.js +1 -0
- package/dist/assets/{Index-BF4na9P8.css → Index-CTeSTLfM.css} +1 -1
- package/dist/assets/Index-Cb5Y9y7f.js +1 -0
- package/dist/assets/Index-CiKVAFax.js +1 -0
- package/dist/assets/Index-D5FEMy_B.js +1 -0
- package/dist/assets/{Index-D4QL_nhG.css → Index-DMHyDsV2.css} +1 -1
- package/dist/assets/Index-DNJirFiF.js +1 -0
- package/dist/assets/{Index-BYtLybMj.js → Index-DO6m49Ll.js} +1 -1
- package/dist/assets/{Index-CD2-evx_.js → Index-DWS9093W.js} +1 -1
- package/dist/assets/Index-DZ-G34oe.js +4 -0
- package/dist/assets/Index-DdLbDKMT.js +1 -0
- package/dist/assets/{Index-DuFyQsUK.js → Index-DkC095r1.js} +1 -1
- package/dist/assets/{Index-Cvf0GCDC.css → Index-Dl4JY1lq.css} +1 -1
- package/dist/assets/{Index-waLozOi7.css → Index-DsquTXXQ.css} +1 -1
- package/dist/assets/{Index-B98qyWxe.js → Index-GIVCu94j.js} +1 -1
- package/dist/assets/Index-IjJZbjIG.js +1 -0
- package/dist/assets/Index-Kbj2Kjlf.js +1 -0
- package/dist/assets/Index-XRCT2t28.js +1 -0
- package/dist/assets/{Index-D-_j9hVy.css → Index-yUEGU_nW.css} +1 -1
- package/dist/assets/{Invitees-vhQDM4tB.js → Invitees-B27rWTTm.js} +1 -1
- package/dist/assets/{List-CYiGGol-.js → List-B45Yza38.js} +1 -1
- package/dist/assets/{List-Dxey5wUq.js → List-KhLMYgCu.js} +1 -1
- package/dist/assets/{List-CI1yUHg4.js → List-vyZhD9t1.js} +1 -1
- package/dist/assets/{Main-CvdIF3w_.js → Main-CHnxh637.js} +1 -1
- package/dist/assets/Navigator-CZSGvKik.js +1 -0
- package/dist/assets/{NoTasks-ChEagwx7.js → NoTasks-BbVvi52h.js} +1 -1
- package/dist/assets/{NotFound-Cdy1q-C6.js → NotFound-DwqzlI4F.js} +1 -1
- package/dist/assets/{OAuthCallback-CEsfphsy.js → OAuthCallback-DKv309g6.js} +1 -1
- package/dist/assets/{Pagination-CPurb4S1.js → Pagination-CXja6t_Y.js} +1 -1
- package/dist/assets/{Status-C1sYAbl3.js → Status-B-fEvPr-.js} +1 -1
- package/dist/assets/{Subscribe-WThocX86.js → Subscribe-BIX7ZO22.js} +1 -1
- package/dist/assets/{VideoPlayer-B5QPUYAx.js → VideoPlayer-BZ4kO4gb.js} +1 -1
- package/dist/assets/{_Uint8Array-C-ddoq2D.js → _Uint8Array-xB6L_WPD.js} +1 -1
- package/dist/assets/{_baseClone-BFlMxPud.js → _baseClone-glhf4o0G.js} +1 -1
- package/dist/assets/{_baseIteratee-LWWNe-Zd.js → _baseIteratee-BcMdsGpl.js} +1 -1
- package/dist/assets/{_initCloneObject-B7t6sQD_.js → _initCloneObject-BLwDPMHn.js} +1 -1
- package/dist/assets/{add-_9hx8DqS.js → add-DBtg4Vbu.js} +1 -1
- package/dist/assets/{all-wallets-DY7eNhi1.js → all-wallets-671MXUqM.js} +1 -1
- package/dist/assets/{app-store-DB7JXVvz.js → app-store-BD4hW1Pw.js} +1 -1
- package/dist/assets/{apple-CjrsDo1H.js → apple-Dtcfv7Px.js} +1 -1
- package/dist/assets/{arrow-bottom-CTLbrV4X.js → arrow-bottom-DRJq9HT6.js} +1 -1
- package/dist/assets/{arrow-bottom-circle-BtQMfyE1.js → arrow-bottom-circle-1RhdKvka.js} +1 -1
- package/dist/assets/{arrow-left-CrFHviK9.js → arrow-left-CynV7co9.js} +1 -1
- package/dist/assets/{arrow-right-CKSsD89D.js → arrow-right-5JCP3Ur8.js} +1 -1
- package/dist/assets/{arrow-top-MAITNp5Q.js → arrow-top-DaxJj-_b.js} +1 -1
- package/dist/assets/{avatar-AnS-guYi.js → avatar-dcMLKZHO.js} +1 -1
- package/dist/assets/{bank-BCu4UnKl.js → bank-CRzXMPsT.js} +1 -1
- package/dist/assets/{basic-BszdjpgU.js → basic-B6HF1S4p.js} +1 -1
- package/dist/assets/{browser-D0eCTj4j.js → browser-MrFe1wms.js} +1 -1
- package/dist/assets/{byokCredential-CYXWbVrG.js → byokCredential-C8wSo8z2.js} +1 -1
- package/dist/assets/{card-DfVYOmgU.js → card-D2K8v5N9.js} +1 -1
- package/dist/assets/{castArray-BcAD7Agm.js → castArray-cUkz0Pa0.js} +1 -1
- package/dist/assets/{chat-BAiVghXQ.js → chat-RLfJ6omp.js} +1 -1
- package/dist/assets/{checkmark-BCcDsy5X.js → checkmark-_lLJ1NIU.js} +1 -1
- package/dist/assets/{checkmark-bold-CdAe1u3k.js → checkmark-bold-rv1RhwGQ.js} +1 -1
- package/dist/assets/{chevron-bottom-BhXi3CJD.js → chevron-bottom-CWwPZWHA.js} +1 -1
- package/dist/assets/{chevron-left-DkjRx-gb.js → chevron-left-DtmFVJ7A.js} +1 -1
- package/dist/assets/{chevron-right-Df6_WAyt.js → chevron-right-BvOq8-tC.js} +1 -1
- package/dist/assets/{chevron-top-CMfbiZAg.js → chevron-top-3WkTxcK4.js} +1 -1
- package/dist/assets/{chrome-store-DTeN5HFn.js → chrome-store-DvQMxv-2.js} +1 -1
- package/dist/assets/{clock-DpBXdGL8.js → clock-AuDtMIL3.js} +1 -1
- package/dist/assets/{close-XyTz7mfS.js → close-DXOzc5gc.js} +1 -1
- package/dist/assets/{coinPlaceholder-DcEcAxcD.js → coinPlaceholder-CHz4_PSm.js} +1 -1
- package/dist/assets/{compass-I6FA1165.js → compass-M8zZjprl.js} +1 -1
- package/dist/assets/{copy-B0qqjWH-.js → copy-B05AL2iQ.js} +1 -1
- package/dist/assets/{cursor-CQ_wZmEh.js → cursor-DCs1vaR3.js} +1 -1
- package/dist/assets/{cursor-transparent-DrIy81Wa.js → cursor-transparent-BaFZGDuR.js} +1 -1
- package/dist/assets/{debounce-DY-XLL0y.js → debounce-Bi-gexp-.js} +1 -1
- package/dist/assets/{desktop-Dt1Y6o7O.js → desktop-qKBPH-m1.js} +1 -1
- package/dist/assets/{disconnect-Bdc1d7D1.js → disconnect-D3-OHDEy.js} +1 -1
- package/dist/assets/{discord-CDOltK0u.js → discord-37xwfDxQ.js} +1 -1
- package/dist/assets/{distribution-acJQZHg5.js → distribution-Cy8zKy5C.js} +1 -1
- package/dist/assets/{dropdown-4rUWj6Ss.js → dropdown-DqhxcQ29.js} +1 -1
- package/dist/assets/{etherscan-CRAghcox.js → etherscan-Bnjj4S-M.js} +1 -1
- package/dist/assets/{exclamation-triangle-sHTigCn0.js → exclamation-triangle-CfJnL6Ru.js} +1 -1
- package/dist/assets/{extension-C6PvUXOo.js → extension-CEvEr4ZM.js} +1 -1
- package/dist/assets/{external-link-D0qxLN4V.js → external-link-QkiOLtsC.js} +1 -1
- package/dist/assets/{facebook-DwWrCfma.js → facebook-DX6F1Ntb.js} +1 -1
- package/dist/assets/{farcaster-BwmHjZBj.js → farcaster-B3L4R3zu.js} +1 -1
- package/dist/assets/{filters-CpY_lqnI.js → filters-Dpze2jKq.js} +1 -1
- package/dist/assets/{flux-B4n1YYH8.js → flux-DcdftbKN.js} +1 -1
- package/dist/assets/{github-Dd0_kUul.js → github-bQUbBJ4_.js} +1 -1
- package/dist/assets/{google-MuAZW-RD.js → google-BJcsQRrW.js} +1 -1
- package/dist/assets/{hailuo-BmZMJAtJ.js → hailuo-B-RwAX5l.js} +1 -1
- package/dist/assets/{headshots-DV5dYR9-.js → headshots-CwIu7Jag.js} +1 -1
- package/dist/assets/{help-circle-C8VOGlFg.js → help-circle-CxzFJJj9.js} +1 -1
- package/dist/assets/{id-CHV0KyWo.js → id-DmgqiPfC.js} +1 -1
- package/dist/assets/{image-CpBppNTl.js → image-CChJWS6s.js} +1 -1
- package/dist/assets/{index-C3wjWI64.js → index-B-caQ-Wt.js} +1 -1
- package/dist/assets/{index-CeR5GzFK.js → index-B2wGJXe_.js} +1 -1
- package/dist/assets/{index-ChRmkEkI.js → index-B3iFQBIN.js} +1 -1
- package/dist/assets/{index-CXNQ1xK_.js → index-B6r1zyN0.js} +1 -1
- package/dist/assets/{index-CvwJFEs_.js → index-BAxMGGtv.js} +1 -1
- package/dist/assets/{index-BS4-ud0J.js → index-BDBb60t-.js} +1 -1
- package/dist/assets/{index-BfAfMs5L.js → index-BFvw5Wso.js} +1 -1
- package/dist/assets/{index-D6RsfglP.js → index-BOS3KGej.js} +1 -1
- package/dist/assets/{index-D8EXvM3o.js → index-BPdbGHkd.js} +1 -1
- package/dist/assets/{index-dv_V_6hr.js → index-BR-gl1F1.js} +1 -1
- package/dist/assets/{index-i3BqWruI.js → index-BRlkRqvc.js} +1 -1
- package/dist/assets/{index-BQcJ674J.js → index-B_tUuUlH.js} +1 -1
- package/dist/assets/{index-BXa2i2P8.js → index-BeikWVz_.js} +1 -1
- package/dist/assets/{index-DGNwJMra.js → index-BejjWTzD.js} +1 -1
- package/dist/assets/{index-C431Nlmh.js → index-Bj9sVQHY.js} +1 -1
- package/dist/assets/{index-4PCc8d49.js → index-Bmjvaez9.js} +1 -1
- package/dist/assets/{index-CWbLU7hn.js → index-Bmkr-O7j.js} +1 -1
- package/dist/assets/{index-CLKDA7VP.js → index-BxhXEHyN.js} +1 -1
- package/dist/assets/{index-CmFfHTt0.js → index-C0sHxSyB.js} +5 -5
- package/dist/assets/{index-DxLzF6ke.js → index-C3OSW6Cg.js} +1 -1
- package/dist/assets/{index-C4wzxhBG.js → index-C4kG0RjP.js} +1 -1
- package/dist/assets/{index-lLYWjSUI.js → index-C4prmEPM.js} +1 -1
- package/dist/assets/{index-PPzVY9WP.js → index-C5OVpUH6.js} +1 -1
- package/dist/assets/{index-qRulbx7D.js → index-C8Na8WYK.js} +3 -3
- package/dist/assets/{index-CygRUX54.js → index-CIT5FZ2g.js} +1 -1
- package/dist/assets/{index-f_1aXNeI.js → index-CLLBlbdx.js} +1 -1
- package/dist/assets/{index-gEI35m-M.js → index-CV7S40VM.js} +1 -1
- package/dist/assets/{index-B1b9Oit2.js → index-CogRivcT.js} +1 -1
- package/dist/assets/{index-BbrZBbCA.js → index-CsbAGhC9.js} +1 -1
- package/dist/assets/{index-BaGpfl0t.js → index-CvoYKmGC.js} +1 -1
- package/dist/assets/{index-n_uwle2g.js → index-CwkuO9ft.js} +1 -1
- package/dist/assets/{index-BaUkx-Kj.js → index-CxdujS24.js} +1 -1
- package/dist/assets/{index-DZIBVLbD.css → index-CyoihLmI.css} +1 -1
- package/dist/assets/{index-OyI5V9pC.js → index-CzKRwsO-.js} +14 -14
- package/dist/assets/{index-BMRbjaYS.js → index-Cz_aZ9pB.js} +1 -1
- package/dist/assets/{index-COfaoMNj.js → index-D-XcigSs.js} +1 -1
- package/dist/assets/{index-DyM1pCdX.js → index-D3HhWsO8.js} +1 -1
- package/dist/assets/{index-BuoNiFJL.js → index-D6ukxw6h.js} +1 -1
- package/dist/assets/{index-BwHeBe0L.js → index-DFuPJnBT.js} +1 -1
- package/dist/assets/{index-ByvjnyVE.js → index-DHoriu_A.js} +1 -1
- package/dist/assets/{index-CnuA0AE0.js → index-DNiNc_AV.js} +1 -1
- package/dist/assets/{index-D16DyCUR.js → index-DOouqP-k.js} +1 -1
- package/dist/assets/{index-QB8Ft2zV.js → index-DTxz2m0n.js} +1 -1
- package/dist/assets/{index-BO5IgGr2.js → index-DbAdobii.js} +1 -1
- package/dist/assets/{index-BHrTn7VE.js → index-Df3ypl4y.js} +1 -1
- package/dist/assets/{index-B_AufAcj.js → index-DftnOCHJ.js} +1 -1
- package/dist/assets/{index-CUE5CdhD.js → index-DpXIIlUX.js} +1 -1
- package/dist/assets/{index-rC9sOJAT.js → index-Dqenaaf_.js} +1 -1
- package/dist/assets/{index-Ck4t_CUU.js → index-EYN-XOSf.js} +1 -1
- package/dist/assets/{index-ChegEiWE.js → index-FE8DaT7K.js} +1 -1
- package/dist/assets/{index-CA7m1PkP.js → index-I1NmBQEV.js} +1 -1
- package/dist/assets/{index-Btwu7mtj.js → index-Ip3EnZNv.js} +1 -1
- package/dist/assets/{index-DEQknQ3T.js → index-QEdjdPo0.js} +1 -1
- package/dist/assets/{index-BXaEGHEi.js → index-QyX7F9WO.js} +1 -1
- package/dist/assets/{index-COj5AQtT.js → index-Rp0HAQst.js} +1 -1
- package/dist/assets/{index-Dbaj_S-Y.js → index-SCqShjBr.js} +2 -2
- package/dist/assets/{index-CXDe-AZy.js → index-V9TgTZlG.js} +1 -1
- package/dist/assets/{index-DWYRB91P.js → index-cDqJTkhW.js} +1 -1
- package/dist/assets/{index-D1FI8RlI.js → index-cTO_Q4Fm.js} +1 -1
- package/dist/assets/{index-C82qRWY8.js → index-dI1hhYha.js} +1 -1
- package/dist/assets/{index-ByYZNQQ8.js → index-yhxo1ekT.js} +1 -1
- package/dist/assets/{index.browser.esm-CvoVNhMh.js → index.browser.esm-D7gFg-7J.js} +3 -3
- package/dist/assets/{index.es-CubOI9hU.js → index.es-D_RAO8k8.js} +1 -1
- package/dist/assets/{info-BDySygOX.js → info-D8JO70S_.js} +1 -1
- package/dist/assets/{info-circle-DD-HUyug.js → info-circle-C0q9TSHa.js} +1 -1
- package/dist/assets/{isEqual-B-pg7Edv.js → isEqual-aGnZeYF-.js} +1 -1
- package/dist/assets/{isPlainObject-Do7RVi2i.js → isPlainObject-CU9B9iVa.js} +1 -1
- package/dist/assets/{kling-CGmm6D4A.js → kling-CczsWWRC.js} +1 -1
- package/dist/assets/{lightbulb-C4CEk4AA.js → lightbulb-BQKonWIO.js} +1 -1
- package/dist/assets/{luma-DbUkIyJm.js → luma-v8-eJx94.js} +1 -1
- package/dist/assets/{mail-BeA7OT3a.js → mail-mTx-0ako.js} +1 -1
- package/dist/assets/{midjourney-DWMn-C9P.js → midjourney-Zc-jdqN2.js} +1 -1
- package/dist/assets/{mobile-CwbWSxa-.js → mobile-CE2-iYPK.js} +1 -1
- package/dist/assets/{more-D5RzIIQZ.js → more-CvShTaui.js} +1 -1
- package/dist/assets/{nanobanana-DsAYeRwz.js → nanobanana-C_pxFwnz.js} +1 -1
- package/dist/assets/{network-placeholder-ByGUYaFI.js → network-placeholder-CyceNURY.js} +1 -1
- package/dist/assets/{nftPlaceholder-DkIeDoT5.js → nftPlaceholder-C-wf7Jpl.js} +1 -1
- package/dist/assets/{off-B7myB0l_.js → off-DBDXrP1m.js} +1 -1
- package/dist/assets/{openaiimage-ld8bCEbw.js → openaiimage-CgFnZxuJ.js} +1 -1
- package/dist/assets/{order-CHqJHHBq.js → order-Dh6PQFBl.js} +1 -1
- package/dist/assets/{pagination-BVNXUE7I.js → pagination-CdyGf0kN.js} +1 -1
- package/dist/assets/{pika-D1v1B5dF.js → pika-C6hQKQ0q.js} +1 -1
- package/dist/assets/{pixverse-C35cfnAd.js → pixverse-C_bdPPdg.js} +1 -1
- package/dist/assets/{play-store-CO8md5z1.js → play-store-CZb0vQLI.js} +1 -1
- package/dist/assets/{plus-Chh6W2kF.js → plus-DK02WbEI.js} +1 -1
- package/dist/assets/{price-BWPUIUHV.js → price-CvHw6R6n.js} +1 -1
- package/dist/assets/{producer-DC3EwUVJ.js → producer-Cub23-wq.js} +1 -1
- package/dist/assets/{qr-code-DbRkOeCq.js → qr-code-D2AfEf_a.js} +1 -1
- package/dist/assets/{qrart-ClIeSbCC.js → qrart-Baez6Cxj.js} +1 -1
- package/dist/assets/{recycle-horizontal-DZuCQFdI.js → recycle-horizontal-CXWfKCIk.js} +1 -1
- package/dist/assets/{refresh-FPpP5Nl8.js → refresh-BOKVT2G7.js} +1 -1
- package/dist/assets/{reown-logo-X_RsC4Vx.js → reown-logo-BxyQA5OX.js} +1 -1
- package/dist/assets/{search-CuSriN8-.js → search-Bz4owPyR.js} +1 -1
- package/dist/assets/{secp256k1-76u822oR.js → secp256k1-DOIf11Z6.js} +1 -1
- package/dist/assets/{secp256k1-Ba_xJuXj.js → secp256k1-Tm9INg4u.js} +1 -1
- package/dist/assets/{seedance-G8dSF2Y_.js → seedance-TbT_NHJs.js} +1 -1
- package/dist/assets/{seedream-YiC2AbcU.js → seedream-CtXTcWrG.js} +1 -1
- package/dist/assets/{send-C7P2k8yt.js → send-CYxToW02.js} +1 -1
- package/dist/assets/{service-D4_VfMYH.js → service-DQsgK4_y.js} +1 -1
- package/dist/assets/{solana-wallets-D0ChlRnq.js → solana-wallets-B-SU94bJ.js} +2 -2
- package/dist/assets/{solana-wallets-vue-xPcMiHFp.js → solana-wallets-vue-DB1Xssy_.js} +1 -1
- package/dist/assets/{sora-BxpaOfUR.js → sora-B90zAuXZ.js} +1 -1
- package/dist/assets/{suno-Vy_XAU4z.js → suno-3s5cqbYS.js} +1 -1
- package/dist/assets/{swapHorizontal-B8cVlOaS.js → swapHorizontal-CrlKKu4I.js} +1 -1
- package/dist/assets/{swapHorizontalBold-C5AzXfTJ.js → swapHorizontalBold-CuJ5LJ0c.js} +1 -1
- package/dist/assets/{swapHorizontalMedium-BBj904TV.js → swapHorizontalMedium-BVjFwz7z.js} +1 -1
- package/dist/assets/{swapHorizontalRoundedBold-DSusd0L_.js → swapHorizontalRoundedBold-CF2Y40P_.js} +1 -1
- package/dist/assets/{swapVertical-BZCpnyAr.js → swapVertical-CC1C55Kd.js} +1 -1
- package/dist/assets/{telegram-CocgEUyT.js → telegram-Ceymyynj.js} +1 -1
- package/dist/assets/{three-dots-D1LSSOoM.js → three-dots-ByY9nbg5.js} +1 -1
- package/dist/assets/{twitch-DqjBAClR.js → twitch-Hjac4yhf.js} +1 -1
- package/dist/assets/{twitterIcon-CfurOqoS.js → twitterIcon-C_QKlJe1.js} +1 -1
- package/dist/assets/{typescript-DkJze_5M.js → typescript-wVAvEF7Z.js} +1 -1
- package/dist/assets/{use-form-item-DdMStkEC.js → use-form-item-DrgRpU-E.js} +1 -1
- package/dist/assets/validator-COZQRMjG.js +1 -0
- package/dist/assets/{veo-C3t0v6gs.js → veo-CJQt8lau.js} +1 -1
- package/dist/assets/{verify-C5jfjALd.js → verify-BOjidnXH.js} +1 -1
- package/dist/assets/{verify-filled-BcEREfwe.js → verify-filled-Be9gfztn.js} +1 -1
- package/dist/assets/{w3m-modal-ClTVz97Y.js → w3m-modal-6m2KIhky.js} +1 -1
- package/dist/assets/{wallet-BuffGwc1.js → wallet-CNFltzJd.js} +1 -1
- package/dist/assets/{wallet-placeholder-LC66BLup.js → wallet-placeholder-deGMUsVy.js} +1 -1
- package/dist/assets/{walletconnect-he_khFDc.js → walletconnect-D6fUlQvK.js} +1 -1
- package/dist/assets/{wan-CM9ERCml.js → wan-BBytRfO2.js} +1 -1
- package/dist/assets/{warning-circle-DmYLshzz.js → warning-circle-R_Tqzx2x.js} +1 -1
- package/dist/assets/{web-CPttZ_Kv.js → web-B155UhDp.js} +1 -1
- package/dist/assets/{web-CwnPbGnR.js → web-CVC_sE74.js} +1 -1
- package/dist/assets/{x-BYLl3w4c.js → x-DTxyC7uM.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/Detail-DnplA2hC.js +0 -2
- package/dist/assets/Index-8kasKX6B.js +0 -1
- package/dist/assets/Index-B9-nuSzc.js +0 -1
- package/dist/assets/Index-BElMrVLq.js +0 -1
- package/dist/assets/Index-BGMJqoi1.js +0 -1
- package/dist/assets/Index-B_1NtVYY.js +0 -1
- package/dist/assets/Index-Bb7JVwuo.js +0 -1
- package/dist/assets/Index-BgFTGEIx.js +0 -1
- package/dist/assets/Index-Bgi6-VkF.js +0 -4
- package/dist/assets/Index-Bmq6Uvan.js +0 -1
- package/dist/assets/Index-Bx6fOpfW.js +0 -1
- package/dist/assets/Index-C4mbnYdL.js +0 -1
- package/dist/assets/Index-Ca7lDIW2.js +0 -1
- package/dist/assets/Index-TDanGe8b.js +0 -1
- package/dist/assets/Index-adTRvVSW.js +0 -1
- package/dist/assets/Index-anlxcZwz.js +0 -1
- package/dist/assets/Index-d89rsCBq.js +0 -1
- package/dist/assets/Index-g9T2Qen9.js +0 -1
- package/dist/assets/Index-n1oB7U47.js +0 -1
- package/dist/assets/Navigator-Duvq4xai.js +0 -1
- package/dist/assets/validator-a8ixQKXF.js +0 -1
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.browser.esm-CvoVNhMh.js","assets/vendor-dayjs-v0j1UNZp.js","assets/index-OyI5V9pC.js","assets/vendor-vue-NSDaktjZ.js","assets/vendor-axios-B8_nURbH.js","assets/vendor-vue-router-Kg6s1a65.js","assets/index-DZIBVLbD.css","assets/index-9HGDSJTR.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as X}from"./order-CHqJHHBq.js";import{cy as Pe,T as J,A as ie,al as Se,I as Z,J as $e,z as re,am as We,P as _e,c0 as Ae,b5 as Ce,D as Ne,ar as Ee,b8 as x,E as H,_ as ne,cz as Ie,S as Te,F as oe,l as Re,ab as De}from"./index-OyI5V9pC.js";import{O as D}from"./order-CB3uOPHS.js";import{E as le,a as de}from"./index-CUE5CdhD.js";import{d as L,G as Q,h as z,i as ce,u as R,q as a,H as h,E as l,O as T,N as M,x as b,C as f,X as Le,Q as q,z as te,I,F as u,J as v,c as Ve,p as Be,y as p,D as k,n as qe}from"./vendor-vue-NSDaktjZ.js";import{E as Oe,a as Me}from"./index-QB8Ft2zV.js";import{E as ue}from"./index-rC9sOJAT.js";import{E as pe}from"./index-dv_V_6hr.js";import{E as B}from"./index-BO5IgGr2.js";import{E as Xe}from"./index-B1b9Oit2.js";import{g as Ue}from"./price-BWPUIUHV.js";import{C as Fe}from"./CopyToClipboard-V6QrcQ1M.js";import{E as He}from"./index-CXDe-AZy.js";import{a as ze}from"./index-BbrZBbCA.js";import{E as je}from"./index-COj5AQtT.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-DkJze_5M.js";import"./index-DyM1pCdX.js";import"./use-form-item-DdMStkEC.js";import"./index-ByYZNQQ8.js";import"./index-BuyEbX8F.js";import"./index-D1FI8RlI.js";import"./index-ChegEiWE.js";import"./validator-a8ixQKXF.js";import"./index.es-CubOI9hU.js";const ee=Symbol("elDescriptions");var j=L({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:ce(ee,{})}},render(){var e;const t=Pe(this.cell),s=(((e=this.cell)==null?void 0:e.dirs)||[]).map(E=>{const{dir:A,arg:N,modifiers:O,value:$}=E;return[A,$,N,O]}),{border:r,direction:o}=this.descriptions,i=o==="vertical",n=()=>{var E,A,N;return((N=(A=(E=this.cell)==null?void 0:E.children)==null?void 0:A.label)==null?void 0:N.call(A))||t.label},c=()=>{var E,A,N;return(N=(A=(E=this.cell)==null?void 0:E.children)==null?void 0:A.default)==null?void 0:N.call(A)},y=t.span,P=t.rowspan,m=t.align?`is-${t.align}`:"",w=t.labelAlign?`is-${t.labelAlign}`:m,S=t.className,W=t.labelClassName,d=this.type==="label"&&(t.labelWidth||this.descriptions.labelWidth)||t.width,_={width:J(d),minWidth:J(t.minWidth)},C=ie("descriptions");switch(this.type){case"label":return Q(z(this.tag,{style:_,class:[C.e("cell"),C.e("label"),C.is("bordered-label",r),C.is("vertical-label",i),w,W],colSpan:i?y:1,rowspan:i?1:P},n()),s);case"content":return Q(z(this.tag,{style:_,class:[C.e("cell"),C.e("content"),C.is("bordered-content",r),C.is("vertical-content",i),m,S],colSpan:i?y:y*2-1,rowspan:i?P*2-1:P},c()),s);default:{const E=n(),A={},N=J(t.labelWidth||this.descriptions.labelWidth);return N&&(A.width=N,A.display="inline-block"),Q(z("td",{style:_,class:[C.e("cell"),m],colSpan:y,rowspan:P},[Se(E)?void 0:z("span",{style:A,class:[C.e("label"),W]},E),z("span",{class:[C.e("content"),S]},c())]),s)}}}});const xe=Z({row:{type:$e(Array),default:()=>[]}}),Ke=L({name:"ElDescriptionsRow"}),Ge=L({...Ke,props:xe,setup(e){const t=ce(ee,{});return(s,r)=>R(t).direction==="vertical"?(a(),h(T,{key:0},[l("tr",null,[(a(!0),h(T,null,M(s.row,(o,i)=>(a(),b(R(j),{key:`tr1-${i}`,cell:o,tag:"th",type:"label"},null,8,["cell"]))),128))]),l("tr",null,[(a(!0),h(T,null,M(s.row,(o,i)=>(a(),b(R(j),{key:`tr2-${i}`,cell:o,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(a(),h("tr",{key:1},[(a(!0),h(T,null,M(s.row,(o,i)=>(a(),h(T,{key:`tr3-${i}`},[R(t).border?(a(),h(T,{key:0},[f(R(j),{cell:o,tag:"td",type:"label"},null,8,["cell"]),f(R(j),{cell:o,tag:"td",type:"content"},null,8,["cell"])],64)):(a(),b(R(j),{key:1,cell:o,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Je=re(Ge,[["__file","descriptions-row.vue"]]);const Qe=Z({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:We,title:{type:String,default:""},extra:{type:String,default:""},labelWidth:{type:[String,Number],default:""}}),me="ElDescriptionsItem",Ye=L({name:"ElDescriptions"}),Ze=L({...Ye,props:Qe,setup(e){const t=e,s=ie("descriptions"),r=_e(),o=Le();Be(ee,t);const i=Ve(()=>[s.b(),s.m(r.value)]),n=(y,P,m,w=!1)=>(y.props||(y.props={}),P>m&&(y.props.span=m),w&&(y.props.span=P),y),c=()=>{if(!o.default)return[];const y=Ae(o.default()).filter(d=>{var _;return((_=d?.type)==null?void 0:_.name)===me}),P=[];let m=[],w=t.column,S=0;const W=[];return y.forEach((d,_)=>{var C,E,A;const N=((C=d.props)==null?void 0:C.span)||1,O=((E=d.props)==null?void 0:E.rowspan)||1,$=P.length;if(W[$]||(W[$]=0),O>1)for(let g=1;g<O;g++)W[A=$+g]||(W[A]=0),W[$+g]++,S++;if(W[$]>0&&(w-=W[$],W[$]=0),_<y.length-1&&(S+=N>w?w:N),_===y.length-1){const g=t.column-S%t.column;m.push(n(d,g,w,!0)),P.push(m);return}N<w?(w-=N,m.push(d)):(m.push(n(d,N,w)),P.push(m),w=t.column,m=[])}),P};return(y,P)=>(a(),h("div",{class:q(R(i))},[y.title||y.extra||y.$slots.title||y.$slots.extra?(a(),h("div",{key:0,class:q(R(s).e("header"))},[l("div",{class:q(R(s).e("title"))},[te(y.$slots,"title",{},()=>[I(u(y.title),1)])],2),l("div",{class:q(R(s).e("extra"))},[te(y.$slots,"extra",{},()=>[I(u(y.extra),1)])],2)],2)):v("v-if",!0),l("div",{class:q(R(s).e("body"))},[l("table",{class:q([R(s).e("table"),R(s).is("bordered",y.border)])},[l("tbody",null,[(a(!0),h(T,null,M(c(),(m,w)=>(a(),b(Je,{key:w,row:m},null,8,["row"]))),128))])],2)],2)],2))}});var et=re(Ze,[["__file","description.vue"]]);const se=["left","center","right"],tt=Z({label:{type:String,default:""},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},labelWidth:{type:[String,Number],default:""},align:{type:String,values:se,default:"left"},labelAlign:{type:String,values:se},className:{type:String,default:""},labelClassName:{type:String,default:""}}),he=L({name:me,props:tt}),st=Ne(et,{DescriptionsItem:he}),at=Ce(he);function it(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const rt=L({name:"PayOrderDialog",components:{ElDialog:x,QrCode:Ee,ElRow:de,ElCol:le},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}X.refresh(this.modelValue.id).then(({data:e})=>{e.state!==D.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),nt={class:"paycode wechat"},ot={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function lt(e,t,s,r,o,i){const n=k("qr-code"),c=k("el-col"),y=k("el-row"),P=k("el-dialog");return a(),b(P,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:p(()=>[f(y,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:p(()=>[f(c,{span:12},{default:p(()=>[l("div",nt,[e.modelValue?.pay_url?(a(),b(n,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):v("",!0),l("p",ot,u(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),f(c,{span:12},{default:p(()=>[...t[0]||(t[0]=[l("div",{class:"help-img"},[l("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])]),_:1})]),_:1})]),_:1},8,["model-value","title"])}const dt=H(rt,[["render",lt]]),ct=L({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}X.refresh(this.modelValue.id).then(({data:e})=>{e.state!==D.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),ut={class:"text-center"};function pt(e,t,s,r,o,i){const n=k("el-dialog");return a(),b(n,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:p(()=>[l("p",ut,u(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const mt=H(ct,[["render",pt],["__scopeId","data-v-fbea8aa1"]]),ht=L({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}X.refresh(this.modelValue.id).then(({data:e})=>{e.state!==D.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),yt={class:"text-center"};function ft(e,t,s,r,o,i){const n=k("el-dialog");return a(),b(n,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:p(()=>[l("p",yt,u(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const gt=H(ht,[["render",ft]]);let Y=null;const ye=()=>(Y||(Y=ne(()=>import("./index.browser.esm-CvoVNhMh.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),Y),wt="https://api.mainnet-beta.solana.com",vt="https://api.devnet.solana.com",fe="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",bt="ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";function kt(e){let t="";for(let s=0;s<e.length;s++)t+=String.fromCharCode(e[s]);return btoa(t)}function ge(e,t){return t||(e.includes("devnet")?vt:wt)}function K(e,t,s){const r=new e.PublicKey(fe),o=new e.PublicKey(bt),[i]=e.PublicKey.findProgramAddressSync([t.toBuffer(),r.toBuffer(),s.toBuffer()],o);return i}function Pt(e,t){const s=new Uint8Array(10);return s[0]=12,new DataView(s.buffer).setBigUint64(1,e,!0),s[9]=t,s}function we(e,t,s,r,o,i,n){const c=Pt(i,n),y=new e.PublicKey(fe);return new e.TransactionInstruction({programId:y,keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!0,isWritable:!1}],data:Buffer.from(c)})}async function ve(e){const{requirements:t,payerAddress:s,signAndSendTransaction:r,fetchBlockhash:o}=e,i=t.payTo||t.pay_to;if(!i)throw new Error("Missing payTo in requirements");const n=t.extra||{},c=Number(n.decimals??6),y=Number(n.computeUnitLimit??n.compute_unit_limit??2e5),P=Number(n.computeUnitPriceMicroLamports??n.compute_unit_price_micro_lamports??1),m=t.maxAmountRequired||t.max_amount_required||"0",w=BigInt(m);if(w<=0n)throw new Error(`Invalid payment amount: ${m}`);const S=String(t.network||"solana").toLowerCase(),W=ge(S,n.rpcUrl||n.rpc_url),d=await ye(),_=new d.Connection(W,"confirmed"),C=new d.PublicKey(s),E=new d.PublicKey(i),A=new d.PublicKey(t.asset),N=K(d,C,A),O=K(d,E,A),$=new d.Transaction;y>0&&$.add(d.ComputeBudgetProgram.setComputeUnitLimit({units:y})),P>0&&$.add(d.ComputeBudgetProgram.setComputeUnitPrice({microLamports:P})),$.add(we(d,N,A,O,C,w,c)),$.feePayer=C;let g;if(o)g=await o(S);else{const{blockhash:ke}=await _.getLatestBlockhash("confirmed");g=ke}$.recentBlockhash=g;const V=await r($);let U;if(typeof V=="string"?U=V:V&&typeof V=="object"&&(U=V.signature||V.txid||V.transactionId),!U||typeof U!="string")throw new Error("Wallet did not return a valid transaction signature");const G={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{signature:U}},F=btoa(JSON.stringify(G));return{signature:U,header:F}}async function St(e){const{requirements:t,payerAddress:s,signAndSendTransaction:r,signTransaction:o,signAllTransactions:i,fetchLatestBlockhash:n}=e;if(r)return(await ve({requirements:t,payerAddress:s,signAndSendTransaction:r,fetchBlockhash:n})).header;console.warn("Using signTransaction fallback. This may trigger security warnings in Phantom. Consider using signAndSendTransaction for better user experience.");const c=t.extra||{},y=String(t.network||"solana").toLowerCase(),P=ge(y,c.rpcUrl||c.rpc_url),m=await ye(),w=e.connection||new m.Connection(P,"confirmed"),S=new m.PublicKey(s),W=new m.PublicKey(String(t.payTo||t.pay_to)),d=new m.PublicKey(String(t.asset)),_=Number(c.decimals??6),C=Number(c.computeUnitLimit??c.compute_unit_limit??2e5),E=Number(c.computeUnitPriceMicroLamports??c.compute_unit_price_micro_lamports??1),A=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(A<=0n)throw new Error("Invalid amount");const N=K(m,S,d),O=K(m,W,d),$=new m.Transaction;if($.feePayer=S,C>0&&$.add(m.ComputeBudgetProgram.setComputeUnitLimit({units:C})),E>0&&$.add(m.ComputeBudgetProgram.setComputeUnitPrice({microLamports:E})),$.add(we(m,N,d,O,S,A,_)),e.fetchLatestBlockhash)$.recentBlockhash=await e.fetchLatestBlockhash(y);else{const{blockhash:F}=await w.getLatestBlockhash("confirmed");$.recentBlockhash=F}let g;if(o)g=await o($);else if(i){const F=await i([$]);g=Array.isArray(F)?F[0]:void 0}if(!g)throw new Error("Wallet did not return a signed transaction");const V=g.serialize({requireAllSignatures:!1,verifySignatures:!1}),U=kt(V),G={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:U,transaction:U}};return btoa(JSON.stringify(G))}const $t=L({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:pe,ElAlert:ue,ElTag:oe,ElIcon:Te,ElRadioGroup:Me,ElRadioButton:Oe,CreditCard:Ie},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return it()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(r=>String(r.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A",skale:"0x46CEA59D"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,r)=>t(s)-t(r)||s.localeCompare(r)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,r)=>t(s.readyState)-t(r.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const r=this.acceptsList[0]?.network;this.selectedNetwork=String(r||"base").toLowerCase()}const t=new Set(this.networkOptions.map(r=>r.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const r=this.networkOptions[0]?.network;r&&(this.selectedNetwork=r)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let r;for(let o=1;o<=s;o+=1)try{e&&t.select(e),await qe(),await t.connect();return}catch(i){if(r=i,o<s&&this.isRetryableSolanaConnectError(i)){const c=String(i?.name||"")==="WalletNotSelectedError"?0:300;c&&await this.sleep(c);continue}throw i}throw r},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="skale"?"SKALE":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),r=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),o=String(this.$t?.("common.button.pay")||"Pay"),i=String(this.$t?.("common.button.cancel")||"Cancel");return Xe.confirm(r,s,{confirmButtonText:o,cancelButtonText:i,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),B.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const r=s?.detail,o=r?.info,i=r?.provider;if(!o||!i)return;const n=String(o.uuid||o.rdns||o.name||"");n&&(e.has(n)||e.set(n,{id:n,name:String(o.name||"Wallet"),icon:typeof o.icon=="string"?o.icon:void 0,provider:i}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((o,i)=>{if(!o)return;let n="Injected";o.isMetaMask?n="MetaMask":o.isCoinbaseWallet?n="Coinbase Wallet":o.isBraveWallet?n="Brave Wallet":o.isRabby?n="Rabby":o.isPhantom&&(n="Phantom");const c=`injected:${n}:${i}`;e.set(c,{id:c,name:n,icon:void 0,provider:o})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),B.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await X.pay(this.modelValue.id,{pay_way:"X402"}))?.data,r=Array.isArray(s?.accepts)?s.accepts:void 0,o=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(r)&&r.length){const n=r.find(c=>String(c?.network||"").toLowerCase()===o);return n||(this.selectedNetwork?void 0:r[0])}const i=s?.payment_requirements;if(Array.isArray(i)&&i.length){const n=i.find(c=>String(c?.network||"").toLowerCase()===o);return n||(this.selectedNetwork?void 0:i[0])}return i&&typeof i=="object"?i:void 0}catch(t){const s=t?.response?.data;if(s){const r=Array.isArray(s?.accepts)?s.accepts:void 0,o=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(r)&&r.length){const n=r.find(c=>String(c?.network||"").toLowerCase()===o);return n||(this.selectedNetwork?void 0:r[0])}const i=s?.payment_requirements;if(Array.isArray(i)&&i.length){const n=i.find(c=>String(c?.network||"").toLowerCase()===o);return n||(this.selectedNetwork?void 0:i[0])}if(i&&typeof i=="object")return i}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(r=>String(r.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const r=await this.getFreshRequirements();r&&(this.runtimeRequirementsByNetwork[t]=r)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";B.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]},skale:{chainId:"0x46CEA59D",chainName:"SKALE Base",nativeCurrency:{name:"CREDIT",symbol:"CREDIT",decimals:18},rpcUrls:["https://skale-base.skalenodes.com/v1/base"],blockExplorerUrls:["https://skale-base-explorer.skalenodes.com"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){B.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){B.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){B.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const r=this.$wallet,o=r?.wallet?.value?.adapter,i=typeof window<"u"?window.phantom?.solana||window.solana:void 0,n=typeof window<"u"?window.solflare:void 0;let c;if(i?.isPhantom&&typeof i?.signAndSendTransaction=="function")c=i.signAndSendTransaction.bind(i);else if(n?.isSolflare&&typeof n?.signAndSendTransaction=="function")c=n.signAndSendTransaction.bind(n);else if(typeof window<"u"&&window.solana?.signAndSendTransaction&&!window.solana?.isPhantom)c=window.solana.signAndSendTransaction.bind(window.solana);else if(r?.sendTransaction&&r?.publicKey?.value){const{Connection:m}=await ne(async()=>{const{Connection:_}=await import("./index.browser.esm-CvoVNhMh.js");return{Connection:_}},__vite__mapDeps([0,1,2,3,4,5,6,7])),w=s.extra||{},S=String(s.network||"solana").toLowerCase(),W=w.rpcUrl||w.rpc_url||(S.includes("devnet")?"https://api.devnet.solana.com":"https://api.mainnet-beta.solana.com"),d=new m(W,"confirmed");c=async _=>({signature:await r.sendTransaction(_,d)})}let y;if(c)y=(await ve({requirements:s,payerAddress:e,signAndSendTransaction:c,fetchBlockhash:w=>this.fetchSolanaLatestBlockhash(w)})).header;else if(o?.signTransaction||o?.signAllTransactions)y=await St({requirements:s,payerAddress:e,signTransaction:o.signTransaction?o.signTransaction.bind(o):void 0,signAllTransactions:o.signAllTransactions?o.signAllTransactions.bind(o):void 0,fetchLatestBlockhash:m=>this.fetchSolanaLatestBlockhash(m)});else throw new Error("Wallet does not support signing transactions");this.paying=!0;const{data:P}=await X.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},y);this.$emit("update:modelValue",P),this.$emit("hide")}catch(t){const s=t?.response?.data,r=s?.error||s?.detail||"X402 wallet payment failed.";B.error(String(r))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await Re.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";B.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";B.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){B.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),r=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),o=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),i={from:this.evmAddress,to:e.payTo||e.pay_to,value:o,validAfter:s,validBefore:s+r,nonce:this.randomNonce32()},n=this.buildTypedData(e,i),c=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(n)]}),y={from:i.from,to:i.to,value:i.value,validAfter:String(i.validAfter),validBefore:String(i.validBefore),nonce:i.nonce},P={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:y,signature:c}},m=btoa(JSON.stringify(P));this.paying=!0;const{data:w}=await X.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},m);this.$emit("update:modelValue",w),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const r=s?.error||s?.detail;typeof r=="string"&&(t=r)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{B.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),Wt={class:"x402-content"},_t={class:"x402-intro"},At={class:"x402-intro-text"},Ct={class:"x402-wallet"},Nt={class:"x402-wallet-head"},Et={class:"x402-network"},It={class:"x402-network-label"},Tt={key:1,class:"x402-requirements-actions"},Rt={class:"x402-wallet-card"},Dt={class:"x402-wallet-card-head"},Lt={class:"x402-wallet-card-title"},Vt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},Bt=["src","alt"],qt={key:1,class:"x402-wallet-card-sub"},Ot={class:"x402-wallet-card-actions"},Mt={class:"x402-actions"},Xt={class:"x402-wallet-card"},Ut={class:"x402-wallet-card-head"},Ft={class:"x402-wallet-card-title"},Ht={key:0,class:"x402-wallet-card-sub x402-wallet-name"},zt=["src","alt"],jt={key:1,class:"x402-wallet-card-sub"},xt={class:"x402-wallet-card-actions"},Kt={class:"x402-actions"},Gt={class:"x402-steps"},Jt={class:"x402-steps-title"},Qt={class:"x402-steps-list"},Yt={class:"x402-step-index"},Zt={class:"x402-step-text"},es={class:"wallet-list"},ts=["disabled","onClick"],ss=["src","alt"],as={class:"wallet-list-name"},is={key:1,class:"wallet-list-status"},rs={class:"wallet-list"},ns=["disabled","onClick"],os=["src","alt"],ls={class:"wallet-list-name"},ds={class:"wallet-list-status"},cs={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function us(e,t,s,r,o,i){const n=k("credit-card"),c=k("el-icon"),y=k("el-radio-button"),P=k("el-radio-group"),m=k("el-alert"),w=k("el-button"),S=k("el-tag"),W=k("el-dialog");return a(),h(T,null,[f(W,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:p(()=>[l("section",Wt,[l("header",_t,[f(c,{size:20,class:"x402-intro-icon"},{default:p(()=>[f(n)]),_:1}),l("p",At,u(e.$t("order.message.x402IntroShort")),1)]),l("section",Ct,[l("div",Nt,[l("div",Et,[l("span",It,u(e.$t("order.message.x402IntegrationNetworkLabel")),1),f(P,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=d=>e.selectedNetwork=d),class:"x402-network-group"},{default:p(()=>[(a(!0),h(T,null,M(e.networkOptions,d=>(a(),b(y,{key:d.network,label:d.network},{default:p(()=>[I(u(d.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),b(m,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):v("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),h("div",Tt,[f(w,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=d=>e.maybeLoadRequirements(!0))},{default:p(()=>[I(u(e.$t("common.button.refresh")),1)]),_:1})])):v("",!0),e.isSolanaNetwork?(a(),h(T,{key:2},[l("div",Rt,[l("div",Dt,[l("span",Lt,u(e.$t("order.message.x402WalletTitleSolana")),1),e.solanaConnected?(a(),b(S,{key:0,class:"x402-wallet-card-tag"},{default:p(()=>[I(u(e.$t("order.message.x402WalletConnected")),1)]),_:1})):v("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),h("div",Vt,[e.selectedSolanaWalletIcon?(a(),h("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,Bt)):v("",!0),l("span",null,u(e.selectedSolanaWalletName),1)])):v("",!0),e.solanaConnected&&e.solanaAddress?(a(),h("div",qt,u(e.solanaAddress.substring(0,10))+"..."+u(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):v("",!0),l("div",Ot,[e.solanaConnected?(a(),b(w,{key:1,onClick:e.disconnectSolanaWallet},{default:p(()=>[I(u(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),b(w,{key:0,type:"primary",onClick:t[2]||(t[2]=d=>e.solanaWalletModalVisible=!0)},{default:p(()=>[I(u(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),l("div",Mt,[f(w,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:p(()=>[I(u(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),h(T,{key:3},[l("div",Xt,[l("div",Ut,[l("span",Ft,u(e.$t("order.message.x402WalletTitleEvm")),1),e.evmConnected?(a(),b(S,{key:0,class:"x402-wallet-card-tag"},{default:p(()=>[I(u(e.$t("order.message.x402WalletConnected")),1)]),_:1})):v("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),h("div",Ht,[e.selectedEvmWalletIcon?(a(),h("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,zt)):v("",!0),l("span",null,u(e.selectedEvmWalletName),1)])):v("",!0),e.evmConnected&&e.evmAddress?(a(),h("div",jt,u(e.evmAddress.substring(0,10))+"..."+u(e.evmAddress.substring(e.evmAddress.length-10)),1)):v("",!0),l("div",xt,[e.evmConnected?(a(),b(w,{key:1,onClick:e.disconnectEvmWallet},{default:p(()=>[I(u(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),b(w,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:p(()=>[I(u(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),b(m,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):v("",!0):(a(),b(m,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),l("div",Kt,[e.hasEvmProvider?(a(),b(w,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:p(()=>[I(u(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):v("",!0)])],64)),l("div",Gt,[l("div",Jt,u(e.$t("order.message.x402StepsTitle")),1),l("ol",Qt,[(a(!0),h(T,null,M(e.paymentSteps,(d,_)=>(a(),h("li",{key:_,class:"x402-step"},[l("span",Yt,u(_+1),1),l("span",Zt,u(d),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),f(W,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=d=>e.solanaWalletModalVisible=d),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:p(()=>[l("div",es,[(a(!0),h(T,null,M(e.solanaWalletsOrdered,d=>(a(),h("button",{key:d.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:_=>e.onSelectSolanaWallet(d)},[d.adapter.icon?(a(),h("img",{key:0,class:"wallet-list-icon",src:d.adapter.icon,alt:d.adapter.name},null,8,ss)):v("",!0),l("span",as,u(d.adapter.name),1),d.readyState==="Installed"?(a(),h("span",is,u(e.$t("order.message.x402WalletStatusDetected")),1)):v("",!0)],8,ts))),128))])]),_:1},8,["modelValue","title"]),f(W,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=d=>e.evmWalletModalVisible=d),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:p(()=>[l("div",rs,[(a(!0),h(T,null,M(e.evmWalletsOrdered,d=>(a(),h("button",{key:d.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:_=>e.onSelectEvmWallet(d)},[d.icon?(a(),h("img",{key:0,class:"wallet-list-icon",src:d.icon,alt:d.name},null,8,os)):v("",!0),l("span",ls,u(d.name),1),l("span",ds,u(e.$t("order.message.x402WalletStatusDetected")),1)],8,ns))),128)),e.evmWalletsOrdered.length===0?(a(),h("div",cs,u(e.$t("order.message.x402NoWalletDesc")),1)):v("",!0)])]),_:1},8,["modelValue","title"])],64)}const ps=H($t,[["render",us],["__scopeId","data-v-53981361"]]),ms=L({name:"PaypalPayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}X.refresh(this.modelValue.id).then(({data:e})=>{e.state!==D.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),hs={class:"text-center"};function ys(e,t,s,r,o,i){const n=k("el-dialog");return a(),b(n,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:p(()=>[l("p",hs,u(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const fs=H(ms,[["render",ys]]),gs=7e3,ae=2e3;var be=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e.PayPal="PayPal",e))(be||{});const ws=L({name:"ConsoleOrderDetail",components:{ElButton:pe,CopyToClipboard:Fe,ElRow:de,ElCard:je,ElCol:le,ElSkeleton:ze,ElDivider:He,ElAlert:ue,ElDescriptions:st,ElDescriptionsItem:at,ElTag:oe,WechatPayOrder:dt,StripePayOrder:mt,AlipayPayOrder:gt,X402PayOrder:ps,PaypalPayOrder:fs},data(){return{PayWay:be,payWay:"WechatPay",OrderState:D,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},enablePaypal(){return!!this.config?.features?.ENABLE_PAYPAL},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),r=t(e?.discounted_price),o=t(e?.discount_rate),i=t(e?.discount_rate_vip),n=t(e?.discount_rate_x402),c=t(this.order?.price),y=s??c??0,P=r??c??y,m=t(this.order?.discount)??o??0,w=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:y,discounted:P,discountRate:m,discountedMethods:w,discountRateVip:i,discountRateX402:n}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==D.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e,t){if(e?.state===D.PAID){t?.state!==D.PAID&&De("payment_success",{order_id:e?.id,pay_way:e?.pay_way,service:e?.application?.service?.alias,amount:e?.price}),this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==D.PENDING&&e.state!==D.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ue,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await X.refresh(this.id);if(this.order=s,s?.state===D.PAID||s?.state===D.FAILED||s?.state===D.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,gs))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,X.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),X.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(ae))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(ae);return}})}}}),vs={class:"title"},bs={key:0,class:"pt-5"},ks={key:1,class:"order"},Ps={key:0},Ss={key:1},$s={key:2},Ws={key:3},_s={key:4},As={key:0,class:"price-block"},Cs={class:"price-line"},Ns={key:0,class:"price original"},Es={class:"price current unfree"},Is={key:1,class:"price free"},Ts={key:0,class:"payways mb-6"},Rs={class:"payname"},Ds={class:"payname"},Ls={class:"payname"},Vs={class:"payname"},Bs={class:"payname"},qs={key:1},Os={key:2};function Ms(e,t,s,r,o,i){const n=k("el-col"),c=k("el-row"),y=k("el-skeleton"),P=k("copy-to-clipboard"),m=k("el-descriptions-item"),w=k("el-tag"),S=k("el-descriptions"),W=k("el-divider"),d=k("el-alert"),_=k("el-button"),C=k("el-card"),E=k("wechat-pay-order"),A=k("stripe-pay-order"),N=k("alipay-pay-order"),O=k("paypal-pay-order"),$=k("x402-pay-order");return a(),b(c,{class:"panel"},{default:p(()=>[f(n,{span:24},{default:p(()=>[f(c,null,{default:p(()=>[f(n,{span:24},{default:p(()=>[l("h2",vs,u(e.$t("order.title.info")),1)]),_:1})]),_:1}),f(c,null,{default:p(()=>[f(n,{span:24},{default:p(()=>[f(C,{shadow:"hover"},{default:p(()=>[f(c,null,{default:p(()=>[f(n,{span:16,offset:4},{default:p(()=>[e.loading?(a(),h("div",bs,[f(y,{animated:""})])):(a(),h("div",ks,[f(S,{column:1},{default:p(()=>[f(m,{label:e.$t("order.field.id")},{default:p(()=>[l("span",null,u(e.order?.id),1),e.order?.id?(a(),b(P,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):v("",!0)]),_:1},8,["label"]),f(m,{label:e.$t("order.field.description")},{default:p(()=>[I(u(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),b(m,{key:0,label:e.$t("order.field.api")},{default:p(()=>[I(u(e.order?.application?.service?.title),1)]),_:1},8,["label"])):v("",!0),e.order?.pay_way?(a(),b(m,{key:1,label:e.$t("order.field.payWay")},{default:p(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),h("span",Ps,u(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),h("span",Ss,u(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),h("span",$s,u(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),h("span",Ws,u(e.$t("order.title.x402")),1)):e.order?.pay_way===e.PayWay.PayPal?(a(),h("span",_s,u(e.$t("order.title.paypal")),1)):v("",!0)]),_:1},8,["label"])):v("",!0),f(m,{label:e.$t("order.field.createdAt")},{default:p(()=>[I(u(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),f(m,{label:e.$t("order.field.price")},{default:p(()=>[e.shouldShowPriceBlock?(a(),h("div",As,[l("div",Cs,[e.showOriginalPrice?(a(),h("span",Ns,u(e.getPriceString({value:e.finalOriginalPrice})),1)):v("",!0),l("span",Es,u(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),h(T,null,M(e.discountBadges,g=>(a(),b(w,{key:g.key,class:"discount-tag",effect:"light",size:"small",type:g.type},{default:p(()=>[I(u(g.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),h(T,null,M(e.discountHints,(g,V)=>(a(),h("p",{key:V,class:"discount-hint"},u(g),1))),128))])):(a(),h("span",Is,u(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),b(c,{key:0,class:"mb-5"},{default:p(()=>[f(n,{span:16,offset:4},{default:p(()=>[f(W,{"border-style":"dashed"}),f(d,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):v("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),b(c,{key:1,class:"mb-5"},{default:p(()=>[f(n,{span:16,offset:4},{default:p(()=>[f(W,{"border-style":"dashed"}),f(d,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):v("",!0),e.order?.state===e.OrderState.FAILED?(a(),b(c,{key:2,class:"mb-5"},{default:p(()=>[f(n,{span:16,offset:4},{default:p(()=>[f(W,{"border-style":"dashed"}),f(d,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):v("",!0),e.order?.state===e.OrderState.PENDING?(a(),b(c,{key:3},{default:p(()=>[f(n,{span:16,offset:4},{default:p(()=>[f(W,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),h("div",Ts,[l("div",{class:q({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=g=>e.payWay=e.PayWay.WechatPay)},[t[15]||(t[15]=l("span",{class:"payicon wechatpay"},null,-1)),l("span",Rs,u(e.$t("order.title.wechatPay")),1)],2),l("div",{class:q({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=g=>e.payWay=e.PayWay.AliPay)},[t[16]||(t[16]=l("span",{class:"payicon alipay"},null,-1)),l("span",Ds,u(e.$t("order.title.aliPay")),1)],2),l("div",{class:q({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=g=>e.payWay=e.PayWay.Stripe)},[t[17]||(t[17]=l("span",{class:"payicon stripe"},null,-1)),l("span",Ls,u(e.$t("order.title.stripe")),1)],2),l("div",{class:q({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=g=>e.payWay=e.PayWay.X402)},[t[18]||(t[18]=l("span",{class:"payicon x402"},null,-1)),l("span",Vs,u(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),b(w,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:p(()=>[I(u(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):v("",!0)],2),e.enablePaypal?(a(),h("div",{key:0,class:q({payway:!0,paypal:!0,active:e.payWay===e.PayWay.PayPal}),onClick:t[4]||(t[4]=g=>e.payWay=e.PayWay.PayPal)},[t[19]||(t[19]=l("span",{class:"payicon paypal"},null,-1)),l("span",Bs,u(e.$t("order.title.paypal")),1)],2)):v("",!0)])):v("",!0),e.order?.pay_way?(a(),h("div",Os,[f(_,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:p(()=>[I(u(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),h("div",qs,[f(_,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:p(()=>[I(u(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):v("",!0)]),_:1})]),_:1})]),_:1}),f(c,null,{default:p(()=>[f(n,{span:24},{default:p(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),b(E,{key:0,modelValue:e.order,"onUpdate:modelValue":t[5]||(t[5]=g=>e.order=g),visible:e.paying,onHide:t[6]||(t[6]=g=>e.paying=!1)},null,8,["modelValue","visible"])):v("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),b(A,{key:1,modelValue:e.order,"onUpdate:modelValue":t[7]||(t[7]=g=>e.order=g),visible:e.paying,onHide:t[8]||(t[8]=g=>e.paying=!1)},null,8,["modelValue","visible"])):v("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),b(N,{key:2,modelValue:e.order,"onUpdate:modelValue":t[9]||(t[9]=g=>e.order=g),visible:e.paying,onHide:t[10]||(t[10]=g=>e.paying=!1)},null,8,["modelValue","visible"])):v("",!0),e.order&&e.payWay===e.PayWay.PayPal?(a(),b(O,{key:3,modelValue:e.order,"onUpdate:modelValue":t[11]||(t[11]=g=>e.order=g),visible:e.paying,onHide:t[12]||(t[12]=g=>e.paying=!1)},null,8,["modelValue","visible"])):v("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),b($,{key:4,modelValue:e.order,"onUpdate:modelValue":t[13]||(t[13]=g=>e.order=g),session:e.x402Session,visible:e.paying,onHide:t[14]||(t[14]=g=>e.paying=!1)},null,8,["modelValue","session","visible"])):v("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const ha=H(ws,[["render",Ms],["__scopeId","data-v-92401f77"]]);export{ha as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as T}from"./index.es-CubOI9hU.js";import{E as q}from"./index-dv_V_6hr.js";import{E as W}from"./index-BHrTn7VE.js";import{d as k,H as l,E as c,z as C,C as o,y as g,D as s,q as n,F as a,I as u,O as V,N,x as A,J as p,M as K,Q as O}from"./vendor-vue-NSDaktjZ.js";import{E as y,b7 as H,cq as J,cr as x,cs as P,ct as Q,cu as S,cv as M,cw as j,cx as D,cd as X,aw as F}from"./index-OyI5V9pC.js";import{I as U,S as Y,l as Z}from"./pagination-BVNXUE7I.js";import{E as ee}from"./index-D1FI8RlI.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as z}from"./ImagePreview-PuzA1V0j.js";import{E as oe}from"./index-BXaEGHEi.js";import{E as R}from"./index-BO5IgGr2.js";import{E as B,a as G}from"./index-D16DyCUR.js";import{C as ae}from"./Consumption-F0CagVzQ.js";import{a as ne}from"./price-BWPUIUHV.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{n as le}from"./nanobanana-DsAYeRwz.js";import{C as re}from"./CopyToClipboard-V6QrcQ1M.js";import{I as ie}from"./ImageWrapper-BB_1PyC5.js";import{E as ce}from"./index-ByYZNQQ8.js";import{E as ue}from"./index-rC9sOJAT.js";import{E as me}from"./index-CXNQ1xK_.js";import{B as de}from"./BotPlaceholder-D3ovEPPG.js";import{N as pe}from"./NoTasks-ChEagwx7.js";import"./use-form-item-DdMStkEC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-DkJze_5M.js";import"./index-DyM1pCdX.js";import"./index-ChegEiWE.js";import"./index-Btwu7mtj.js";import"./_baseClone-BFlMxPud.js";import"./_Uint8Array-C-ddoq2D.js";import"./_initCloneObject-B7t6sQD_.js";import"./isEqual-B-pg7Edv.js";import"./index-BfAfMs5L.js";import"./strings-beZM2Y-f.js";import"./castArray-BcAD7Agm.js";import"./debounce-DY-XLL0y.js";import"./_baseIteratee-LWWNe-Zd.js";import"./index-CnuA0AE0.js";import"./index-BbrZBbCA.js";const fe=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),he={class:"main flex flex-row flex-1"},_e={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ge={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function be(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",he,[c("div",_e,[C(e.$slots,"config",{},void 0,!0)]),c("div",ge,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:g(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(fe,[["render",be],["__scopeId","data-v-9fbc8a5c"]]),ve="",ke=k({name:"PromptInput",components:{ElInput:ee,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ye={class:"field"},we={class:"box"},Ve={class:"title font-bold"};function Ae(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ye,[c("div",we,[c("h2",Ve,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ne=y(ke,[["render",Ae],["__scopeId","data-v-2331e197"]]),Ee=k({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:q,InfoIcon:U,ImagePreview:z,FontAwesomeIcon:T},mixins:[te],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Re={class:"field flex items-center justify-between"},Ie={class:"title font-bold text-[14px] mb-[10px]"},Le={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Te={class:"file-list flex flex-wrap gap-[10px]"};function qe(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),d=s("info-icon"),w=s("image-preview");return n(),l(V,null,[c("div",Re,[c("h2",Ie,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Le,[c("div",Se,[o(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[o(_,{size:"small",type:"primary",round:""},{default:g(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(d,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Te,[(n(!0),l(V,null,N(e.fileList,(r,v)=>(n(),A(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=y(Ee,[["render",qe]]),Ue=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Ce={class:"field"},Pe={class:"title font-bold"};function Be(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Ce,[c("h2",Pe,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,m=>(n(),A(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=y(Ue,[["render",Be],["__scopeId","data-v-67f08a08"]]),Me=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:U},data(){return{options:[{value:x,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),je={class:"field"},De={class:"label"},Fe={class:"box"},xe={class:"title font-bold"};function ze(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",je,[c("div",De,[c("div",Fe,[c("h2",xe,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const We=y(Me,[["render",ze],["__scopeId","data-v-94304d73"]]),Ke=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:U},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==x}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),He={class:"field"},Je={class:"label"},Qe={class:"box"},Xe={class:"title font-bold"};function Ye(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",He,[c("div",Je,[c("div",Qe,[c("h2",Xe,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Ze=y(Ke,[["render",Ye],["__scopeId","data-v-fd5ab393"]]),et=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ne,Consumption:ae,ImageUrlsInput:Oe,AspectRatioSelector:Ge,ModelSelector:We,ResolutionSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return ne({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),tt={class:"flex flex-col h-full"},ot={class:"flex-1 overflow-y-auto p-5"},at={class:"flex flex-col items-center justify-center px-5 pb-5"};function nt(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),d=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",tt,[c("div",ot,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(m,{class:"mb-4"}),o(d,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",at,[o(r,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const st=y(et,[["render",nt]]),lt=k({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:re,FontAwesomeIcon:T,ElAlert:ue,ImageWrapper:ie,ElButton:q,ElTooltip:ce,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),rt={class:"preview"},it={class:"left"},ct={class:"main"},ut={class:"bot"},mt={class:"datetime"},dt={class:"info"},pt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ft={key:1,class:"prompt mt-2"},ht={key:0},_t={key:0,class:O({content:!0,failed:!0})},gt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},bt={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},$t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Nt={key:1,class:O({content:!0})},Et={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ut={key:2,class:O({content:!0})},Ct={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function jt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),d=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",rt,[c("div",it,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",ct,[c("div",ut,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",mt,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",dt,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",pt,[(n(!0),l(V,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),A(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",ft,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",ht," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",_t,[c("div",gt,[(n(!0),l(V,null,N(e.images,(I,L)=>(n(),A(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",bt,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[o(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",$t,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",vt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",kt,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",yt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Vt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",At,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Nt,[o(E,{closable:!1,class:"failure"},{template:g(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Et,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Rt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",It,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Lt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",St,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Tt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",qt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Ot,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",Ut,[o(E,{closable:!1,class:"info"},{template:g(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Ct,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Pt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Bt,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Gt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Mt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Dt=y(lt,[["render",jt],["__scopeId","data-v-8d5f4fff"]]),Ft=k({name:"RecentPanel",components:{TaskPreview:Dt,BotPlaceholder:de,NoTasks:pe,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xt={key:0},zt={key:2,class:"w-full h-full flex items-center justify-center"};function Wt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),l(V,null,[e.tasks?.items===void 0?(n(),l("div",xt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),A(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(V,null,N(e.tasks?.items,w=>(n(),A(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",zt,[o(d)])):p("",!0)],64)}const Kt=y(Ft,[["render",Wt]]),Ht="https://webhook.acedata.cloud/nanobanana",Jt=k({name:"NanobananaIndex",components:{ConfigPanel:st,Layout:$e,RecentPanel:Kt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Ht},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",le.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===se?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Qt(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),A(m,null,{config:g(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const jo=y(Jt,[["render",Qt]]);export{jo as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as E}from"./index.es-CubOI9hU.js";import{E as L}from"./index-dv_V_6hr.js";import{E as me}from"./index-BHrTn7VE.js";import{d as b,H as m,E as i,z as j,C as n,y as h,D as o,q as l,F as r,x as V,O as T,N as I,Q as R,J as k,R as ye,I as w,M as we}from"./vendor-vue-NSDaktjZ.js";import{E as y,b7 as A,a0 as Ce,F as Ve,cd as te,aw as oe}from"./index-OyI5V9pC.js";import{b as Se,c as ne,d as F,e as N,f as Te,g as Ie,h as Ee}from"./kling-CtoPhhA9.js";import{E as P,a as D}from"./index-D16DyCUR.js";import{E as q}from"./index-B1b9Oit2.js";import{E as C}from"./index-BO5IgGr2.js";import{I as S,S as Le,l as Me}from"./pagination-BVNXUE7I.js";import{E as H}from"./index-DWYRB91P.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{I as G}from"./ImagePreview-PuzA1V0j.js";import{E as J}from"./index-ByYZNQQ8.js";import{E as K}from"./index-BXaEGHEi.js";import{C as pe}from"./Consumption-F0CagVzQ.js";import{E as ue}from"./index-n_uwle2g.js";import{E as ge}from"./index-C4wzxhBG.js";import{E as Q}from"./index-D1FI8RlI.js";import{a as fe}from"./price-BWPUIUHV.js";import{F as Ue}from"./FilePreview-DPToRwTA.js";import{E as Re,a as Ae}from"./index-QB8Ft2zV.js";import{E as Pe,a as De}from"./index-CygRUX54.js";import{b as se}from"./errorCode-Cqj9Td_Z.js";import{k as ie}from"./kling-CGmm6D4A.js";import{C as Ge}from"./CopyToClipboard-V6QrcQ1M.js";import{V as Ke}from"./VideoPlayer-B5QPUYAx.js";import{E as Oe}from"./index-rC9sOJAT.js";import{E as je}from"./index-CXNQ1xK_.js";import{B as Ne}from"./BotPlaceholder-D3ovEPPG.js";import{N as Be}from"./NoTasks-ChEagwx7.js";import"./use-form-item-DdMStkEC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-BfAfMs5L.js";import"./typescript-DkJze_5M.js";import"./index-DyM1pCdX.js";import"./strings-beZM2Y-f.js";import"./isEqual-B-pg7Edv.js";import"./_Uint8Array-C-ddoq2D.js";import"./castArray-BcAD7Agm.js";import"./debounce-DY-XLL0y.js";import"./_baseIteratee-LWWNe-Zd.js";import"./index-CnuA0AE0.js";import"./validator-a8ixQKXF.js";import"./index-Btwu7mtj.js";import"./_baseClone-BFlMxPud.js";import"./_initCloneObject-B7t6sQD_.js";import"./index-Cu41y2Fl.js";import"./index-ChegEiWE.js";import"./isPlainObject-Do7RVi2i.js";import"./vue-plyr-BO2nlN4c.js";import"./index-BbrZBbCA.js";const ze=b({name:"LayoutKling",components:{ElDrawer:me,ElButton:L,FontAwesomeIcon:E},data(){return{drawer:!1}}}),Fe={class:"main flex flex-row flex-1 min-h-0"},qe={class:"config w-[320px] flex-none h-full flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},He={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function We(e,t,s,a,u,$){const c=o("font-awesome-icon"),p=o("el-button"),f=o("el-drawer");return l(),m("div",Fe,[i("div",qe,[j(e.$slots,"config",{},void 0,!0)]),i("div",He,[j(e.$slots,"result",{},void 0,!0)]),n(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:h(()=>[n(c,{icon:"fa-solid fa-magic"})]),_:1}),n(f,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"350px"},{default:h(()=>[j(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const Je=y(ze,[["render",We],["__scopeId","data-v-8fa7523c"]]),Qe={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};function he(e,t,s){const a=t||"std",u=s??5;switch(e){case"kling-v1":return{text2video:!0,image2video:!0,endImage:u===5,audio:!1,motionControl:u===5};case"kling-v1-6":case"kling-v2-5-turbo":return{text2video:!0,image2video:!0,endImage:a==="pro",audio:!1,motionControl:!1};case"kling-v2-6":return{text2video:!0,image2video:!0,endImage:a==="pro",audio:a==="pro",motionControl:!1};case"kling-v2-master":case"kling-v2-1-master":return{text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1};case"kling-v3":return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:a!=="4k"};case"kling-v3-omni":return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:!1};case"kling-video-o1":return{text2video:!0,image2video:!0,endImage:!0,audio:!1,motionControl:!1};default:return Qe}}function Y(e,t){if(!e)return[];const s=t.model??e.model,a=t.mode??e.mode,u=t.duration??e.duration;if(!s)return[];const $=he(s,a,u),c=[];return e.end_image_url&&!$.endImage&&c.push({field:"end_image_url",i18nLabel:"kling.name.endImage"}),e.generate_audio&&!$.audio&&c.push({field:"generate_audio",i18nLabel:"kling.name.generateAudio"}),e.camera_control?.type&&!$.motionControl&&c.push({field:"camera_control",i18nLabel:"kling.name.cameraControl"}),c}function X(e,t){const s={...e};for(const a of t)a.field==="end_image_url"&&(s.end_image_url=void 0),a.field==="generate_audio"&&(s.generate_audio=!1),a.field==="camera_control"&&(s.camera_control=void 0);return s}const Ye=b({name:"ModelSelector",components:{ElSelect:D,ElOption:P},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{revertKey:0,options:[{value:"kling-v3",label:"v3"},{value:"kling-v3-omni",label:"v3-Omni"},{value:"kling-v2-6",label:"v2.6"},{value:"kling-v2-5-turbo",label:"v2.5-Turbo"},{value:"kling-v2-1-master",label:"v2.1-Master"},{value:"kling-v2-master",label:"v2-Master"},{value:"kling-v1-6",label:"v1.6"},{value:"kling-v1",label:"v1"},{value:"kling-video-o1",label:"Video-o1"}]}},computed:{value(){return this.$store.state.kling?.config?.model}},mounted(){this.value||this.applyModel(Se)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=Y(t,{model:e});if(s.length===0){this.applyModel(e);return}const a=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await q.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:a}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=X({...t,model:e},s);this.$store.commit("kling/setConfig",u),C.success(this.$t("kling.message.featureRemovedNotice",{fields:a}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,model:e})}}}),Xe={class:"field"},Ze={class:"title font-bold"};function xe(e,t,s,a,u,$){const c=o("el-option"),p=o("el-select");return l(),m("div",Xe,[i("h2",Ze,r(e.$t("pika.name.model")),1),(l(),V(p,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("pika.placeholder.select"),onChange:e.onChange},{default:h(()=>[(l(!0),m(T,null,I(e.options,f=>(l(),V(c,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const et=y(Ye,[["render",xe],["__scopeId","data-v-04059875"]]),tt=b({name:"ModeSelector",components:{ElSelect:D,ElOption:P,InfoIcon:S},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},cameraControlSet(){return!!this.$store.state.kling?.config?.camera_control?.type},fourKReason(){return F.includes(this.selectedModel)?this.cameraControlSet?this.$t("kling.description.mode4kIncompatibleCamera"):"":this.$t("kling.description.mode4kRequiresV3")},options(){return[{value:"std",label:this.$t("kling.name.modeStd"),disabled:!1,disabledReason:""},{value:"pro",label:this.$t("kling.name.modePro"),disabled:!1,disabledReason:""},{value:"4k",label:this.$t("kling.name.mode4k"),disabled:!!this.fourKReason,disabledReason:this.fourKReason}]},value(){return this.$store.state.kling?.config?.mode}},watch:{fourKReason(e){e&&this.value==="4k"&&this.applyMode(ne)}},mounted(){this.value||this.applyMode(ne)},methods:{async onChange(e){const t=this.$store.state.kling?.config||{},s=Y(t,{mode:e});if(s.length===0){this.applyMode(e);return}const a=s.map(u=>this.$t(u.i18nLabel)).join("、");try{await q.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:a}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const u=X({...t,mode:e},s);this.$store.commit("kling/setConfig",u),C.success(this.$t("kling.message.featureRemovedNotice",{fields:a}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,mode:e})}}}),ot={class:"field"},nt={class:"header"},st={class:"title font-bold"},it={key:0,class:"opt-tip"};function lt(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-option"),f=o("el-select");return l(),m("div",ot,[i("div",nt,[i("h2",st,r(e.$t("kling.name.mode")),1),n(c,{content:e.$t("kling.description.mode"),class:"info-icon"},null,8,["content"])]),(l(),V(f,{key:e.revertKey,"model-value":e.value,class:"value",placeholder:e.$t("kling.placeholder.select"),clearable:!0,onChange:e.onChange},{default:h(()=>[(l(!0),m(T,null,I(e.options,d=>(l(),V(p,{key:d.value,label:d.label,value:d.value,disabled:d.disabled},{default:h(()=>[i("span",{class:R({"opt-disabled":d.disabled})},r(d.label),3),d.disabled&&d.disabledReason?(l(),m("span",it,r(d.disabledReason),1)):k("",!0)]),_:2},1032,["label","value","disabled"]))),128))]),_:1},8,["model-value","placeholder","onChange"]))])}const at=y(tt,[["render",lt],["__scopeId","data-v-9a8fa3c5"]]),le=[3,5,8,10,12,15],ae=[5,10],rt=b({name:"DurationSelector",components:{ElSlider:H,InfoIcon:S},props:{modelValue:{type:Number,default:void 0}},emits:["update:modelValue"],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},isV3Model(){return F.includes(this.selectedModel)},sliderMin(){return this.isV3Model?3:5},sliderMax(){return this.isV3Model?15:10},sliderStep(){return this.isV3Model?1:5},marks(){const e=this.isV3Model?le:ae,t={};for(const s of e)t[s]=`${s}s`;return t},value(){return this.$store.state.kling?.config?.duration??N},sliderValue(){const e=this.value;return e<this.sliderMin?this.sliderMin:e>this.sliderMax?this.sliderMax:e}},watch:{isV3Model(e){(this.isV3Model?le:ae).includes(this.value)||this.applyDuration(N)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(N)},methods:{async onChange(e){const t=Array.isArray(e)?e[0]:e,s=this.$store.state.kling?.config||{},a=Y(s,{duration:t});if(a.length===0){this.applyDuration(t);return}const u=a.map($=>this.$t($.i18nLabel)).join("、");try{await q.confirm(this.$t("kling.message.featureNotSupportedBody",{fields:u}),this.$t("kling.message.featureNotSupportedTitle"),{confirmButtonText:this.$t("kling.button.confirmContinue"),cancelButtonText:this.$t("kling.button.cancelSwitch"),type:"warning"});const $=X({...s,duration:t},a);this.$store.commit("kling/setConfig",$),C.success(this.$t("kling.message.featureRemovedNotice",{fields:u}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling.config,duration:e})}}}),ct={class:"field"},dt={class:"header"},mt={class:"title font-bold"},pt={class:"value-display"};function ut(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-slider");return l(),m("div",ct,[i("div",dt,[i("h2",mt,r(e.$t("kling.name.duration")),1),n(c,{content:e.$t("kling.description.duration"),class:"info-icon ml-1"},null,8,["content"]),i("span",pt,r(e.value)+"s",1)]),(l(),V(p,{key:e.revertKey,"model-value":e.sliderValue,class:"slider",min:e.sliderMin,max:e.sliderMax,step:e.sliderStep,marks:e.marks,"show-tooltip":!1,onChange:e.onChange},null,8,["model-value","min","max","step","marks","onChange"]))])}const gt=y(rt,[["render",ut],["__scopeId","data-v-aa1a22a1"]]),ft=b({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state?.kling?.config?.aspect_ratio},set(e){console.debug("set ratio",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=Te)}}),ht={class:"text-sm font-bold mb-2 block"},_t={class:"items"},$t=["onClick"],vt={class:"name"};function kt(e,t,s,a,u,$){return l(),m("div",null,[i("span",ht,r(e.$t("kling.name.ratio")),1),i("div",_t,[(l(!0),m(T,null,I(e.options,(c,p)=>(l(),m("div",{key:p,class:R({active:e.active===p,item:!0}),onClick:f=>e.value=c.value},[i("div",{class:R(["preview",c.label])},[i("div",{class:"rect",style:ye({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",vt,r(c.label),1)],10,$t))),128))])])}const bt=y(ft,[["render",kt],["__scopeId","data-v-cdb14b2f"]]),yt=b({name:"StartImage",components:{ElUpload:K,ElButton:L,ElTooltip:J,InfoIcon:S,FontAwesomeIcon:E,ImagePreview:G},mixins:[W],emits:["change"],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},value:{get(){return this.$store.state?.kling?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){C.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){C.error(this.$t("kling.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),wt={class:"relative"},Ct={class:"flex justify-between"},Vt={class:"flex justify-start items-center"},St={class:"text-sm font-bold"};function Tt(e,t,s,a,u,$){const c=o("info-icon"),p=o("image-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-tooltip"),g=o("el-upload");return l(),m("div",wt,[i("div",Ct,[i("div",Vt,[i("span",St,r(e.$t("kling.name.startImage")),1),n(c,{content:e.$t("kling.description.uploadStartImage")},null,8,["content"])])]),n(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,disabled:e.reachedLimit,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:_})=>[_.url&&_.percentage!==void 0?(l(),V(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:M=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(v,{content:e.$t("kling.message.uploadReferencesExceed"),disabled:!e.reachedLimit,placement:"top"},{default:h(()=>[i("span",null,[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.reachedLimit},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1},8,["disabled"])])]),_:1},8,["content","disabled"])]),_:1},8,["file-list","disabled","action","on-exceed","on-error","on-success","headers"])])}const It=y(yt,[["render",Tt],["__scopeId","data-v-40832274"]]),Et=b({name:"EndImage",components:{ElUpload:K,ElButton:L,ElTooltip:J,ImagePreview:G,InfoIcon:S,FontAwesomeIcon:E},mixins:[W],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return he(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},uploadDisabled(){return this.reachedLimit||!this.endImageSupported},uploadTooltip(){return this.endImageSupported?this.reachedLimit?this.$t("kling.message.uploadReferencesExceed"):"":this.$t("kling.message.endImageNotSupported")},storeValue(){return this.klingConfig.end_image_url},value:{get(){return this.storeValue},set(){}}},watch:{storeValue(e){!e&&this.fileList.length>0&&(this.fileList=[])}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onBeforeUpload(){return this.endImageSupported?!0:(C.warning(this.$t("kling.message.endImageNotSupported")),!1)},onExceed(){C.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){C.error(this.$t("kling.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Lt={class:"relative"},Mt={class:"flex justify-between"},Ut={class:"flex justify-start items-center"},Rt={class:"text-sm font-bold"};function At(e,t,s,a,u,$){const c=o("info-icon"),p=o("image-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-tooltip"),g=o("el-upload");return l(),m("div",Lt,[i("div",Mt,[i("div",Ut,[i("span",Rt,r(e.$t("kling.name.endImage")),1),n(c,{content:e.$t("kling.description.uploadEndImage")},null,8,["content"])])]),n(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,disabled:e.uploadDisabled,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","before-upload":e.onBeforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:_})=>[_.url&&_.percentage!==void 0?(l(),V(p,{key:0,url:_.url,name:_.name,percentage:_.percentage,onRemove:M=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(v,{content:e.uploadTooltip,disabled:!e.uploadDisabled,placement:"top"},{default:h(()=>[i("span",null,[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload",disabled:e.uploadDisabled},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1},8,["disabled"])])]),_:1},8,["content","disabled"])]),_:1},8,["file-list","disabled","action","before-upload","on-exceed","on-error","on-success","headers"])])}const Pt=y(Et,[["render",At],["__scopeId","data-v-6959ad44"]]),Dt=b({name:"CfgScaleSelector",components:{ElSlider:H,InfoIcon:S,ElInputNumber:ue},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug("set cfg_scale",e),this.$store.commit("kling/setConfig",{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||(this.value=Ie)}}),Gt={class:"flex justify-between"},Kt={class:"flex justify-start items-center"},Ot={class:"text-sm font-bold"},jt={class:"flex justify-end items-center"},Nt={class:"w-full"};function Bt(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-input-number"),f=o("el-slider");return l(),m("div",null,[i("div",Gt,[i("div",Kt,[i("span",Ot,r(e.$t("kling.name.cfgScale")),1),n(c,{content:e.$t("kling.description.cfgScale")},null,8,["content"])]),i("div",jt,[n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),"controls-position":"right"},null,8,["modelValue"])])]),i("div",Nt,[n(f,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=d=>e.value=d),min:0,max:1,step:.1},null,8,["modelValue"])])])}const zt=y(Dt,[["render",Bt]]),Ft=b({name:"GenerateAudioSelector",components:{ElSwitch:ge,InfoIcon:S},computed:{selectedModel(){return this.$store.state.kling?.config?.model||""},selectedMode(){return this.$store.state.kling?.config?.mode||""},supported(){return!!(F.includes(this.selectedModel)||this.selectedModel==="kling-v2-6"&&this.selectedMode==="pro")},tooltipContent(){return this.supported?this.$t("kling.description.generateAudio"):this.$t("kling.description.generateAudioUnsupported")},value:{get(){return this.supported?this.$store.state.kling?.config?.generate_audio??Ee:!1},set(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{supported(e){!e&&this.$store.state.kling?.config?.generate_audio&&this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,generate_audio:!1})}}}),qt={class:"relative"},Ht={class:"flex justify-between items-center"},Wt={class:"flex justify-start items-center"},Jt={class:"text-sm font-bold"};function Qt(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-switch");return l(),m("div",qt,[i("div",Ht,[i("div",Wt,[i("span",Jt,r(e.$t("kling.name.generateAudio")),1),n(c,{content:e.tooltipContent},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",disabled:!e.supported},null,8,["modelValue","disabled"])])])}const Yt=y(Ft,[["render",Qt]]),Xt=["horizontal","vertical","pan","tilt","roll","zoom"],Zt=b({name:"CameraControlSelector",components:{ElSelect:D,ElOption:P,ElSlider:H,ElInputNumber:ue,InfoIcon:S},data(){return{configKeys:Xt}},computed:{typeOptions(){return[{value:"",label:this.$t("kling.name.cameraTypeNone")},{value:"simple",label:this.$t("kling.name.cameraTypeSimple")},{value:"down_back",label:this.$t("kling.name.cameraTypeDownBack")},{value:"forward_up",label:this.$t("kling.name.cameraTypeForwardUp")},{value:"left_turn_forward",label:this.$t("kling.name.cameraTypeLeftTurnForward")},{value:"right_turn_forward",label:this.$t("kling.name.cameraTypeRightTurnForward")}]},selectedMode(){return this.$store.state.kling?.config?.mode||""},disabled(){return this.selectedMode==="4k"},tooltipContent(){return this.disabled?this.$t("kling.description.cameraControlDisabled4k"):this.$t("kling.description.cameraControl")},selectedType(){return this.$store.state.kling?.config?.camera_control?.type},selectedTypeRaw:{get(){return this.selectedType??""},set(e){const t=this.$store.state.kling?.config||{};if(!e){const a={...t};delete a.camera_control,this.$store.commit("kling/setConfig",a);return}const s=e;this.$store.commit("kling/setConfig",{...t,camera_control:{type:s,config:s==="simple"?t.camera_control?.config||{}:void 0}})}},configValues(){return this.$store.state.kling?.config?.camera_control?.config||{}}},watch:{disabled(e){e&&this.selectedType!==void 0&&(this.selectedTypeRaw="")}},methods:{writeConfig(e,t){const s=this.$store.state.kling?.config||{},a=s.camera_control||{type:"simple"},u={...a.config||{}};t==null?delete u[e]:u[e]=t,this.$store.commit("kling/setConfig",{...s,camera_control:{...a,type:"simple",config:u}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),xt={class:"field"},eo={class:"header"},to={class:"text-sm font-bold"},oo={key:0,class:"config-grid"},no={class:"cfg-row-head"},so={class:"cfg-name"};function io(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-option"),f=o("el-select"),d=o("el-input-number"),v=o("el-slider");return l(),m("div",xt,[i("div",eo,[i("span",to,r(e.$t("kling.name.cameraControl")),1),n(c,{content:e.tooltipContent},null,8,["content"])]),n(f,{modelValue:e.selectedTypeRaw,"onUpdate:modelValue":t[0]||(t[0]=g=>e.selectedTypeRaw=g),class:"value",placeholder:e.$t("kling.placeholder.cameraType"),clearable:!0,disabled:e.disabled},{default:h(()=>[(l(!0),m(T,null,I(e.typeOptions,g=>(l(),V(p,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"]),e.selectedType==="simple"&&!e.disabled?(l(),m("div",oo,[(l(!0),m(T,null,I(e.configKeys,g=>(l(),m("div",{key:g,class:"cfg-row"},[i("div",no,[i("span",so,r(e.$t(`kling.name.cc_${g}`)),1),n(d,{modelValue:e.configValues[g],"onUpdate:modelValue":_=>e.configValues[g]=_,min:-1,max:1,step:.1,precision:1,"controls-position":"right",size:"small",class:"cfg-num",onChange:_=>e.onNumberChange(g,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),n(v,{"model-value":e.configValues[g]??0,min:-1,max:1,step:.1,onInput:_=>e.onSliderChange(g,_)},null,8,["model-value","onInput"])]))),128))])):k("",!0)])}const lo=y(Zt,[["render",io],["__scopeId","data-v-fb7b34d0"]]),_e=[{groupKey:"cameraMovements",chipKeys:["rotateAround","stationary","handheld","zoomOut","zoomIn","follow","panRight","tiltUp","tiltDown","orbit"]},{groupKey:"cameraSpeed",chipKeys:["speedSlow","speedMedium","speedFast"]},{groupKey:"shotType",chipKeys:["shotClose","shotMedium","shotLong","shotLowAngle","shotHighAngle","shotShallowDof","shotFront","shotProfile","shotCloseUp","shotDrone"]},{groupKey:"light",chipKeys:["lightSunlight","lightSoft","lightNeon","lightWarm","lightNature","lightCandle","lightCityNight"]},{groupKey:"frame",chipKeys:["frameRichDetails","frameSimpleBg"]},{groupKey:"atmosphere",chipKeys:["atmosphereMysterious","atmospherePeaceful","atmosphereHeartwarming","atmosphereVivid","atmosphereColorful"]}],B=", ";function ao(e,t){const s=(e||"").trim();return s?s.includes(t)?s:`${s}${B}${t}`:t}function z(e,t){if(!e||!t)return e||"";const s=[`${t}${B}`,`${B}${t}`,t];let a=e;for(const u of s)if(a.includes(u)){a=a.replace(u,"");break}return a.replace(/(?:,\s*)+$/,"").replace(/^(?:,\s*)+/,"")}const ro=b({name:"InspirationPills",components:{FontAwesomeIcon:E},computed:{prompt(){return this.$store.state.kling?.config?.prompt||""},allChipTexts(){return _e.flatMap(e=>e.chipKeys.map(t=>this.$t(`kling.inspiration.chip.${t}`)))},selected(){const e=this.prompt;if(!e)return[];const t=[];for(const s of this.allChipTexts){const a=e.indexOf(s);a!==-1&&t.push({text:s,idx:a})}return t.sort((s,a)=>s.idx-a.idx).map(s=>s.text)}},methods:{onRemove(e){const t=z(this.prompt,e);this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:t})}}}),co={key:0,class:"pills",role:"list"},mo={class:"pill-text"},po=["aria-label","onClick"];function uo(e,t,s,a,u,$){const c=o("font-awesome-icon");return e.selected.length>0?(l(),m("div",co,[(l(!0),m(T,null,I(e.selected,p=>(l(),m("div",{key:p,class:"pill",role:"listitem"},[i("span",mo,r(p),1),i("button",{type:"button",class:"pill-remove","aria-label":e.$t("kling.inspiration.removeChip"),onClick:we(f=>e.onRemove(p),["stop"])},[n(c,{icon:"fa-solid fa-xmark"})],8,po)]))),128))])):k("",!0)}const go=y(ro,[["render",uo],["__scopeId","data-v-5fc4fa65"]]),fo="",ho=b({name:"PromptInput",components:{ElInput:Q,ElButton:L,FontAwesomeIcon:E,InfoIcon:S,InspirationPills:go},emits:["open-inspiration"],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=fo)}}),_o={class:"field"},$o={class:"box"},vo={class:"title font-bold"},ko={class:"actions"};function bo(e,t,s,a,u,$){const c=o("font-awesome-icon"),p=o("el-button"),f=o("info-icon"),d=o("inspiration-pills"),v=o("el-input");return l(),m("div",_o,[i("div",$o,[i("h2",vo,r(e.$t("kling.name.prompt")),1),i("div",ko,[n(p,{text:"",size:"small",class:"inspiration-btn",onClick:t[0]||(t[0]=g=>e.$emit("open-inspiration"))},{default:h(()=>[n(c,{icon:"fa-regular fa-lightbulb",class:"mr-1"}),w(" "+r(e.$t("kling.inspiration.openButton")),1)]),_:1}),n(f,{content:e.$t("kling.description.prompt"),class:"info"},null,8,["content"])])]),n(d),n(v,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||(t[1]=g=>e.prompt=g),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const yo=y(ho,[["render",bo],["__scopeId","data-v-0a5c57b8"]]),wo="",Co=b({name:"NegativePromptInput",components:{ElInput:Q,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug("set prompt",e),this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||(this.prompt=wo)}}),Vo={class:"field"},So={class:"box"},To={class:"title font-bold"};function Io(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-input");return l(),m("div",Vo,[i("div",So,[i("h2",To,r(e.$t("kling.name.negativePrompt")),1),n(c,{content:e.$t("kling.description.negativePrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.negativePrompt")},null,8,["modelValue","placeholder"])])}const Eo=y(Co,[["render",Io],["__scopeId","data-v-de98cf01"]]),Lo=b({name:"InspirationDrawer",components:{ElDrawer:me,ElButton:L,FontAwesomeIcon:E},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{groups:_e,Close:Ce}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},drawerSize(){return window.innerWidth<768?"100%":"380px"},prompt(){return this.$store.state.kling?.config?.prompt||""},allChipTexts(){return this.groups.flatMap(e=>e.chipKeys.map(t=>this.$t(`kling.inspiration.chip.${t}`)))},selectedCount(){return this.allChipTexts.filter(e=>this.isSelected(e)).length}},methods:{chipText(e){return this.$t(`kling.inspiration.chip.${e}`)},isSelected(e){return e?this.prompt.includes(e):!1},setPrompt(e){this.$store.commit("kling/setConfig",{...this.$store.state.kling?.config,prompt:e})},onToggle(e){e&&(this.isSelected(e)?this.setPrompt(z(this.prompt,e)):this.setPrompt(ao(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(const t of this.allChipTexts)for(;e.includes(t);)e=z(e,t);this.setPrompt(e)}}}),Mo={class:"drawer-content"},Uo={class:"drawer-header"},Ro={class:"title-row"},Ao={class:"title"},Po={class:"hint"},Do={key:0,class:"selected-bar"},Go={class:"selected-text"},Ko={class:"groups"},Oo={class:"group-title"},jo={class:"chip-grid"},No=["onClick"];function Bo(e,t,s,a,u,$){const c=o("font-awesome-icon"),p=o("el-button"),f=o("el-drawer");return l(),V(f,{modelValue:e.visible,"onUpdate:modelValue":t[1]||(t[1]=d=>e.visible=d),direction:"rtl","with-header":!1,size:e.drawerSize,"custom-class":"kling-inspiration-drawer","destroy-on-close":!1},{default:h(()=>[i("div",Mo,[i("div",Uo,[i("div",Ro,[n(c,{icon:"fa-regular fa-lightbulb",class:"mr-2"}),i("span",Ao,r(e.$t("kling.inspiration.title")),1)]),n(p,{text:"",icon:e.Close,class:"close-btn",onClick:t[0]||(t[0]=d=>e.visible=!1)},null,8,["icon"])]),i("div",Po,r(e.$t("kling.inspiration.hint")),1),e.selectedCount>0?(l(),m("div",Do,[i("span",Go,r(e.$t("kling.inspiration.selectedSummary",{count:e.selectedCount})),1),n(p,{text:"",size:"small",class:"clear-btn",onClick:e.onClearSelected},{default:h(()=>[w(r(e.$t("kling.inspiration.clearSelected")),1)]),_:1},8,["onClick"])])):k("",!0),i("div",Ko,[(l(!0),m(T,null,I(e.groups,d=>(l(),m("div",{key:d.groupKey,class:"group"},[i("div",Oo,r(e.$t(`kling.inspiration.group.${d.groupKey}`)),1),i("div",jo,[(l(!0),m(T,null,I(d.chipKeys,v=>(l(),m("button",{key:v,type:"button",class:R({chip:!0,active:e.isSelected(e.chipText(v))}),onClick:g=>e.onToggle(e.chipText(v))},r(e.chipText(v)),11,No))),128))])]))),128))])])]),_:1},8,["modelValue","size"])}const zo=y(Lo,[["render",Bo],["__scopeId","data-v-7d457a69"]]),Fo={"kling-v3":"v3","kling-v3-omni":"v3-Omni","kling-v2-6":"v2.6","kling-v2-5-turbo":"v2.5-Turbo","kling-v2-1-master":"v2.1-Master","kling-v2-master":"v2-Master","kling-v1-6":"v1.6","kling-v1":"v1","kling-video-o1":"Video-o1"},qo={std:"720p",pro:"1080p","4k":"4K"},Ho=b({name:"SummaryChip",components:{FontAwesomeIcon:E},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){const e=this.config?.model||"kling-v2-5-turbo";return Fo[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||""},modeLabel(){const e=this.config?.mode||"std";return qo[e]||e},generateAudio(){return!!this.config?.generate_audio}}}),Wo={class:"summary-chip"},Jo=["title"],Qo=["title"],Yo=["title"],Xo=["title"],Zo=["title"];function xo(e,t,s,a,u,$){const c=o("font-awesome-icon");return l(),m("div",Wo,[i("span",{class:"part",title:e.$t("kling.name.model")},r(e.modelLabel),9,Jo),t[0]||(t[0]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.duration")},r(e.durationLabel),9,Qo),t[1]||(t[1]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.ratio")},r(e.aspectRatio||"16:9"),9,Yo),t[2]||(t[2]=i("span",{class:"dot"},"·",-1)),i("span",{class:"part",title:e.$t("kling.name.mode")},r(e.modeLabel),9,Xo),e.generateAudio?(l(),m("span",{key:0,class:"audio",title:e.$t("kling.name.generateAudio")},[n(c,{icon:"fa-solid fa-headphones"})],8,Zo)):k("",!0)])}const en=y(Ho,[["render",xo],["__scopeId","data-v-418a6733"]]),tn=b({name:"ConfigPanel",components:{ElButton:L,Consumption:pe,FontAwesomeIcon:E,PromptInput:yo,NegativePromptInput:Eo,ModelSelector:et,ModeSelector:at,DurationSelector:gt,RatioSelector:bt,StartImage:It,CfgScaleSelector:zt,GenerateAudioSelector:Yt,CameraControlSelector:lo,InspirationDrawer:zo,SummaryChip:en,EndImage:Pt},emits:["generate"],data(){return{inspirationOpen:!1}},computed:{config(){return this.$store.state.kling?.config},consumption(){return fe(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service}},methods:{onGenerate(){this.$emit("generate")}}}),on={class:"flex flex-col h-full"},nn={class:"flex-1 overflow-y-auto p-5"},sn={class:"flex flex-col items-center justify-center px-5 pb-5"};function ln(e,t,s,a,u,$){const c=o("prompt-input"),p=o("model-selector"),f=o("ratio-selector"),d=o("start-image"),v=o("end-image"),g=o("duration-selector"),_=o("mode-selector"),M=o("generate-audio-selector"),U=o("camera-control-selector"),O=o("cfg-scale-selector"),$e=o("negative-prompt-input"),ve=o("summary-chip"),ke=o("consumption"),Z=o("font-awesome-icon"),x=o("el-button"),be=o("inspiration-drawer");return l(),m("div",on,[i("div",nn,[n(c,{class:"mb-4",onOpenInspiration:t[0]||(t[0]=ee=>e.inspirationOpen=!0)}),n(p,{class:"mb-4"}),n(f,{class:"mb-4"}),n(d,{class:"mb-2"}),n(v,{class:"mb-2"}),n(g,{class:"mb-4"}),n(_,{class:"mb-4"}),n(M,{class:"mb-4"}),n(U,{class:"mb-4"}),n(O,{class:"mb-4"}),n($e,{class:"mb-4"})]),i("div",sn,[n(ve),n(ke,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(l(),V(x,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:h(()=>[n(Z,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+r(e.$t("kling.button.extend")),1)]),_:1},8,["onClick"])):(l(),V(x,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:h(()=>[n(Z,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+r(e.$t("kling.button.generate")),1)]),_:1},8,["onClick"]))]),n(be,{modelValue:e.inspirationOpen,"onUpdate:modelValue":t[1]||(t[1]=ee=>e.inspirationOpen=ee)},null,8,["modelValue"])])}const an=y(tn,[["render",ln]]),rn=b({name:"MotionImage",components:{ElUpload:K,ElButton:L,InfoIcon:S,FontAwesomeIcon:E,ImagePreview:G},mixins:[W],data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){C.warning(this.$t("kling.message.uploadReferencesExceed"))},onError(){C.error(this.$t("kling.message.uploadReferencesError"))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,image_url:void 0})},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),cn={class:"relative"},dn={class:"flex justify-between"},mn={class:"flex justify-start items-center"},pn={class:"text-sm font-bold"};function un(e,t,s,a,u,$){const c=o("info-icon"),p=o("image-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-upload");return l(),m("div",cn,[i("div",dn,[i("div",mn,[i("span",pn,r(e.$t("kling.name.motionImage")),1),n(c,{content:e.$t("kling.description.motionImage")},null,8,["content"])])]),n(v,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=g=>e.fileList=g),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:1,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:g})=>[g.url&&g.percentage!==void 0?(l(),V(p,{key:0,url:g.url,name:g.name,percentage:g.percentage,onRemove:_=>e.onRemove(g)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const gn=y(rn,[["render",un],["__scopeId","data-v-37d42da7"]]),fn=b({name:"MotionVideo",components:{ElUpload:K,ElButton:L,InfoIcon:S,FilePreview:Ue,FontAwesomeIcon:E},data(){return{fileList:[],uploadUrl:A()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){C.warning(this.$t("kling.message.uploadVideoExceed"))},onError(){C.error(this.$t("kling.message.uploadVideoError"))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,video_url:void 0})},beforeUpload(e){const t=e.type==="video/mp4"||e.type==="video/quicktime",s=e.size/1024/1024<100;return t?s?!0:(C.error(this.$t("kling.message.uploadVideoSizeExceed")),!1):(C.error(this.$t("kling.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,video_url:e})},async onSuccess(){this.onSetVideoUrl()}}}),hn={class:"relative"},_n={class:"flex justify-between"},$n={class:"flex justify-start items-center"},vn={class:"text-sm font-bold"};function kn(e,t,s,a,u,$){const c=o("info-icon"),p=o("file-preview"),f=o("font-awesome-icon"),d=o("el-button"),v=o("el-upload");return l(),m("div",hn,[i("div",_n,[i("div",$n,[i("span",vn,r(e.$t("kling.name.motionVideo")),1),n(c,{content:e.$t("kling.description.motionVideo")},null,8,["content"])])]),n(v,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=g=>e.fileList=g),accept:".mp4,.mov",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:g})=>[g.percentage!==void 0?(l(),V(p,{key:0,url:g.url||g.response?.file_url,name:g.name,percentage:g.percentage,onRemove:_=>e.onRemove(g)},null,8,["url","name","percentage","onRemove"])):k("",!0)]),default:h(()=>[n(d,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:h(()=>[n(f,{icon:"fa-solid fa-upload",class:"icon mr-1"}),w(" "+r(e.$t("kling.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const bn=y(fn,[["render",kn],["__scopeId","data-v-5cf93212"]]),yn=b({name:"MotionPromptInput",components:{ElInput:Q,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||""},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),wn={class:"field"},Cn={class:"box"},Vn={class:"title font-bold"};function Sn(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-input");return l(),m("div",wn,[i("div",Cn,[i("h2",Vn,r(e.$t("kling.name.motionPrompt")),1),n(c,{content:e.$t("kling.description.motionPrompt"),class:"info"},null,8,["content"])]),n(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=f=>e.prompt=f),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("kling.placeholder.motionPrompt")},null,8,["modelValue","placeholder"])])}const Tn=y(yn,[["render",Sn],["__scopeId","data-v-ca9fdbe5"]]),re="video",In=b({name:"CharacterOrientationSelector",components:{ElRadioGroup:Ae,ElRadioButton:Re,InfoIcon:S},computed:{value:{get(){return this.$store.state.kling?.motionConfig?.character_orientation||re},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,character_orientation:e})}}},mounted(){this.$store.state.kling?.motionConfig?.character_orientation||(this.value=re)}}),En={class:"field"},Ln={class:"header"},Mn={class:"text-sm font-bold"};function Un(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-radio-button"),f=o("el-radio-group");return l(),m("div",En,[i("div",Ln,[i("span",Mn,r(e.$t("kling.name.characterOrientation")),1),n(c,{content:e.$t("kling.description.characterOrientation")},null,8,["content"])]),n(f,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),size:"small",class:"value"},{default:h(()=>[n(p,{label:"image"},{default:h(()=>[w(r(e.$t("kling.name.orientationImage")),1)]),_:1}),n(p,{label:"video"},{default:h(()=>[w(r(e.$t("kling.name.orientationVideo")),1)]),_:1})]),_:1},8,["modelValue"])])}const Rn=y(In,[["render",Un],["__scopeId","data-v-7a91195b"]]),ce="std",An=b({name:"MotionModeSelector",components:{ElSelect:D,ElOption:P,InfoIcon:S},computed:{options(){return[{value:"std",label:this.$t("kling.name.modeStd")},{value:"pro",label:this.$t("kling.name.modePro")}]},value:{get(){return this.$store.state.kling?.motionConfig?.mode||ce},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,mode:e})}}},mounted(){this.$store.state.kling?.motionConfig?.mode||(this.value=ce)}}),Pn={class:"field"},Dn={class:"header"},Gn={class:"title font-bold"};function Kn(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-option"),f=o("el-select");return l(),m("div",Pn,[i("div",Dn,[i("h2",Gn,r(e.$t("kling.name.mode")),1),n(c,{content:e.$t("kling.description.motionMode")},null,8,["content"])]),n(f,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("kling.placeholder.select")},{default:h(()=>[(l(!0),m(T,null,I(e.options,d=>(l(),V(p,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const On=y(An,[["render",Kn],["__scopeId","data-v-1295688c"]]),jn=b({name:"KeepOriginalSoundSelector",components:{ElSwitch:ge,InfoIcon:S},computed:{value:{get(){return(this.$store.state.kling?.motionConfig?.keep_original_sound??"yes")==="yes"},set(e){this.$store.commit("kling/setMotionConfig",{...this.$store.state.kling?.motionConfig,keep_original_sound:e?"yes":"no"})}}}}),Nn={class:"relative"},Bn={class:"flex justify-between items-center"},zn={class:"flex justify-start items-center"},Fn={class:"text-sm font-bold"};function qn(e,t,s,a,u,$){const c=o("info-icon"),p=o("el-switch");return l(),m("div",Nn,[i("div",Bn,[i("div",zn,[i("span",Fn,r(e.$t("kling.name.keepOriginalSound")),1),n(c,{content:e.$t("kling.description.keepOriginalSound")},null,8,["content"])]),n(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f)},null,8,["modelValue"])])])}const Hn=y(jn,[["render",qn]]),Wn=b({name:"MotionPanel",components:{ElButton:L,FontAwesomeIcon:E,Consumption:pe,MotionImage:gn,MotionVideo:bn,MotionPromptInput:Tn,CharacterOrientationSelector:Rn,MotionModeSelector:On,KeepOriginalSoundSelector:Hn},emits:["generate"],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return fe(this.motionConfig,this.service?.cost)},service(){return this.$store.state.kling?.service},canGenerate(){const e=this.motionConfig;return!!(e?.image_url&&e?.video_url)}},methods:{onGenerate(){this.$emit("generate")}}}),Jn={class:"flex flex-col h-full"},Qn={class:"flex-1 overflow-y-auto p-5"},Yn={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xn(e,t,s,a,u,$){const c=o("motion-image"),p=o("motion-video"),f=o("motion-prompt-input"),d=o("character-orientation-selector"),v=o("motion-mode-selector"),g=o("keep-original-sound-selector"),_=o("consumption"),M=o("font-awesome-icon"),U=o("el-button");return l(),m("div",Jn,[i("div",Qn,[n(c,{class:"mb-3"}),n(p,{class:"mb-3"}),n(f,{class:"mb-4"}),n(d,{class:"mb-4"}),n(v,{class:"mb-4"}),n(g,{class:"mb-4"})]),i("div",Yn,[n(_,{value:e.consumption,service:e.service},null,8,["value","service"]),n(U,{type:"primary",class:"btn w-full",round:"",disabled:!e.canGenerate,onClick:e.onGenerate},{default:h(()=>[n(M,{icon:"fa-solid fa-magic",class:"mr-2"}),w(" "+r(e.$t("kling.button.generateMotion")),1)]),_:1},8,["disabled","onClick"])])])}const Zn=y(Wn,[["render",Xn]]),xn=b({name:"KlingTabSwitcher",components:{ElTabs:De,ElTabPane:Pe,ElTag:Ve},props:{modelValue:{type:String,default:"videos"}},emits:["update:modelValue"],computed:{tabs(){return[{value:"videos",label:this.$t("kling.tab.videoGeneration")},{value:"motion",label:this.$t("kling.tab.motionControl")}]}},methods:{onUpdate(e){this.$emit("update:modelValue",e)}}}),es=["title"],ts={class:"text"};function os(e,t,s,a,u,$){const c=o("el-tag"),p=o("el-tab-pane"),f=o("el-tabs");return l(),V(f,{"model-value":e.modelValue,class:"kling-tabs",stretch:"","onUpdate:modelValue":e.onUpdate},{default:h(()=>[(l(!0),m(T,null,I(e.tabs,d=>(l(),V(p,{key:d.value,name:d.value,disabled:d.disabled},{label:h(()=>[i("span",{class:"tab-label",title:d.disabled?d.disabledReason:void 0},[i("span",ts,r(d.label),1),d.badge?(l(),V(c,{key:0,size:"small",type:"warning",class:"badge"},{default:h(()=>[w(r(d.badge),1)]),_:2},1024)):k("",!0)],8,es)]),_:2},1032,["name","disabled"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])}const ns=y(xn,[["render",os],["__scopeId","data-v-bf00c27e"]]),ss=b({name:"TaskPreview",components:{ElImage:je,CopyToClipboard:Ge,FontAwesomeIcon:E,ElAlert:Oe,VideoPlayer:Ke,ElTooltip:J,ElButton:L,ImagePreview:G},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config},referenceImages(){const e=[],t=this.modelValue?.request?.start_image_url,s=this.modelValue?.request?.end_image_url;return t&&e.push({url:t,name:"start-image"}),s&&e.push({url:s,name:"end-image"}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),is={class:"preview"},ls={class:"left"},as={class:"main"},rs={class:"bot"},cs={class:"datetime"},ds={class:"info"},ms={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ps={key:1,class:"prompt mt-2"},us={key:0},gs={key:1},fs={key:0,class:R({content:!0,failed:!0})},hs={key:0,class:"mb-4"},_s={key:1,class:R({operations:!0,"mt-2":!0})},$s={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vs={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ks={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},bs={key:1,class:R({content:!0})},ys={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ws={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Cs={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vs={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ss={key:2,class:R({content:!0})},Ts={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Is={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Es(e,t,s,a,u,$){const c=o("el-image"),p=o("image-preview"),f=o("video-player"),d=o("el-button"),v=o("el-tooltip"),g=o("font-awesome-icon"),_=o("copy-to-clipboard"),M=o("el-alert");return l(),m("div",is,[i("div",ls,[n(c,{src:"https://cdn.acedata.cloud/qpbbbb.jpg",class:"avatar"})]),i("div",as,[i("div",rs,[w(r(e.$t("kling.name.klingBot"))+" ",1),i("span",cs,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",ds,[e.referenceImages.length>0?(l(),m("div",ms,[(l(!0),m(T,null,I(e.referenceImages,(U,O)=>(l(),V(p,{key:O,url:U.url,name:U.name,closable:!1},null,8,["url","name"]))),128))])):k("",!0),e.modelValue?.request?.prompt?(l(),m("p",ps,[w(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?k("",!0):(l(),m("span",us," - ("+r(e.$t("kling.status.pending"))+") ",1)),e.modelValue?.response?.state==="submitted"||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="completed"?(l(),m("span",gs," - ("+r(e.$t("kling.status.processing"))+") ",1)):k("",!0)])):k("",!0)]),e.modelValue?.response?.success===!0?(l(),m("div",fs,[e.modelValue?.response.video_url?(l(),m("div",hs,[n(f,{src:e.modelValue?.response.video_url},null,8,["src"])])):k("",!0),e.modelValue?.response.success?(l(),m("div",_s,[n(v,{class:"box-item",effect:"dark",content:e.$t("kling.message.downloadVideo"),placement:"top-start"},{default:h(()=>[e.modelValue?.response.video_url?(l(),V(d,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=U=>e.onDownload(U,e.modelValue?.response.video_url))},{default:h(()=>[w(r(e.$t("kling.button.download")),1)]),_:1})):k("",!0)]),_:1},8,["content"])])):k("",!0),n(M,{closable:!1,class:"mt-2 success"},{default:h(()=>[i("p",$s,[n(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),w(" "+r(e.$t("kling.name.model"))+": "+r(e.modelValue?.request?.model),1)]),i("p",vs,[n(g,{icon:"fa-solid fa-magic",class:"mr-1"}),w(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(_,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(l(),m("p",ks,[n(g,{icon:"fa-solid fa-clock",class:"mr-1"}),w(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):k("",!0)]),_:1})])):k("",!0),e.modelValue?.response?.success===!1?(l(),m("div",bs,[n(M,{closable:!1,class:"failure"},{template:h(()=>[n(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),w(" "+r(e.$t("kling.name.failure")),1)]),default:h(()=>[i("p",ys,[n(g,{icon:"fa-solid fa-magic",class:"mr-1"}),w(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(_,{content:e.modelValue?.id},null,8,["content"])]),i("p",ws,[n(g,{icon:"fa-solid fa-circle-info",class:"mr-1"}),w(" "+r(e.$t("kling.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),n(_,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(l(),m("p",Cs,[n(g,{icon:"fa-solid fa-clock",class:"mr-1"}),w(" "+r(e.$t("kling.name.elapsed"))+": "+r(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):k("",!0),e.modelValue?.response?.trace_id?(l(),m("p",Vs,[n(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),w(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(_,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):k("",!0)]),_:1})])):k("",!0),e.modelValue?.response?.success===void 0?(l(),m("div",Ss,[n(M,{closable:!1,class:"info"},{template:h(()=>[n(g,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),w(" "+r(e.$t("kling.name.failure")),1)]),default:h(()=>[i("p",Ts,[n(g,{icon:"fa-solid fa-magic",class:"mr-1"}),w(" "+r(e.$t("kling.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),n(_,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(l(),m("p",Is,[n(g,{icon:"fa-solid fa-hashtag",class:"mr-1"}),w(" "+r(e.$t("kling.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),n(_,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):k("",!0)]),_:1})])):k("",!0)])])}const Ls=y(ss,[["render",Es],["__scopeId","data-v-e8e87659"]]),Ms=b({name:"RecentPanel",components:{TaskPreview:Ls,NoTasks:Be,BotPlaceholder:Ne,ScrollList:Le},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Us={key:0},Rs={key:2,class:"w-full h-full flex items-center justify-center"};function As(e,t,s,a,u,$){const c=o("bot-placeholder"),p=o("task-preview"),f=o("scroll-list"),d=o("no-tasks");return l(),m(T,null,[e.tasks?.items===void 0?(l(),m("div",Us,[n(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(l(),V(f,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:t[0]||(t[0]=v=>e.$emit("reach-top"))},{default:h(()=>[(l(!0),m(T,null,I(e.tasks?.items,v=>(l(),V(p,{key:v.id,"model-value":v},null,8,["model-value"]))),128))]),_:1},8,["loading"])):k("",!0),e.tasks?.items?.length===0?(l(),m("div",Rs,[n(d)])):k("",!0)],64)}const Ps=y(Ms,[["render",As]]),de="https://webhook.acedata.cloud/kling",Ds=b({name:"KlingIndex",components:{ConfigPanel:an,MotionPanel:Zn,TabSwitcher:ns,Layout:Je,RecentPanel:Ps},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===oe.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===oe.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},motionConfig(){return this.$store.state.kling.motionConfig},taskType(){return this.$store.state.kling.taskType||"videos"},tasks(){return this.$store.state.kling.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Me({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("kling/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("kling/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:s,createdAtMax:a}=e||{};console.debug("limit",t,"createdAtMin",s,"createdAtMax",a),this.fetchingTasks=!0;try{await this.$store.dispatch("kling/getTasks",{limit:t,createdAtMin:s,createdAtMax:a})}finally{this.fetchingTasks=!1}},async onGenerate(){const{camera_control:e,...t}=this.config||{},s={...t,callback_url:de};if(!s.video_id&&!t.video_url&&!s.start_image_url&&s.end_image_url){C.warning(this.$t("kling.message.endImageRequiresStart"));return}s.action||(s.video_id||t.video_url?s.action="extend":s.start_image_url?s.action="image2video":s.action="text2video"),s.action==="text2video"&&s.end_image_url&&delete s.end_image_url,e?.type&&(s.camera_control={type:e.type,...e.type==="simple"&&e.config?{config:Object.fromEntries(Object.entries(e.config).filter(([,u])=>u!=null))}:{}});const a=this.credential?.token;if(!a){console.error("no token specified");return}C.info(this.$t("kling.message.startingTask")),te("kling",ie.generate(s,{token:a})).then(()=>{C.success(this.$t("kling.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===se?C.error(this.$t("kling.message.usedUp")):C.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},async onTabChange(e){e!==this.taskType&&(await this.$store.dispatch("kling/setTaskType",e),await this.onGetTasks(),await this.onScrollDown())},async onGenerateMotion(){const e=this.motionConfig||{};if(!e.image_url||!e.video_url){C.warning(this.$t("kling.message.motionMissingInputs"));return}const t={image_url:e.image_url,video_url:e.video_url,character_orientation:e.character_orientation||"video",mode:e.mode||"std",keep_original_sound:e.keep_original_sound??"yes",...e.prompt?{prompt:e.prompt}:{},callback_url:de},s=this.credential?.token;if(!s){console.error("no token specified");return}C.info(this.$t("kling.message.startingTask")),te("kling",ie.motion(t,{token:s})).then(()=>{C.success(this.$t("kling.message.startTaskSuccess"))}).catch(a=>{a?.response?.data?.error?.code===se?C.error(this.$t("kling.message.usedUp")):C.error(this.$t("kling.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})}}}),Gs={class:"flex flex-col h-full"},Ks={class:"flex-1 min-h-0"};function Os(e,t,s,a,u,$){const c=o("tab-switcher"),p=o("config-panel"),f=o("motion-panel"),d=o("recent-panel"),v=o("layout");return l(),V(v,null,{config:h(()=>[i("div",Gs,[n(c,{"model-value":e.taskType,"onUpdate:modelValue":e.onTabChange},null,8,["model-value","onUpdate:modelValue"]),i("div",Ks,[e.taskType==="videos"?(l(),V(p,{key:0,onGenerate:e.onGenerate},null,8,["onGenerate"])):e.taskType==="motion"?(l(),V(f,{key:1,onGenerate:e.onGenerateMotion},null,8,["onGenerate"])):k("",!0)])])]),result:h(()=>[n(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ni=y(Ds,[["render",Os]]);export{Ni as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as T}from"./index.es-CubOI9hU.js";import{E as P}from"./index-dv_V_6hr.js";import{E as W}from"./index-BHrTn7VE.js";import{d as y,H as l,E as m,z as q,C as o,y as $,D as n,q as a,F as s,I as p,O as E,N as L,x as I,J as h,M as x,Q as O}from"./vendor-vue-NSDaktjZ.js";import{E as w,b7 as Z,ch as H,ci as J,cj as K,ck as Q,cl as X,cm as U,cn as C,co as M,cp as Y,cd as ee,aw as z}from"./index-OyI5V9pC.js";import{I as R,S as te,l as oe}from"./pagination-BVNXUE7I.js";import{E as se}from"./index-D1FI8RlI.js";import{I as N}from"./ImagePreview-PuzA1V0j.js";import{E as ae}from"./index-BXaEGHEi.js";import{E as A}from"./index-BO5IgGr2.js";import{C as ne}from"./Consumption-F0CagVzQ.js";import{a as ie}from"./price-BWPUIUHV.js";import{E as B,a as F}from"./index-D16DyCUR.js";import{b as le}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-ld8bCEbw.js";import{C as re}from"./CopyToClipboard-V6QrcQ1M.js";import{I as ce}from"./ImageWrapper-BB_1PyC5.js";import{E as me}from"./index-ByYZNQQ8.js";import{E as pe}from"./index-rC9sOJAT.js";import{E as ue}from"./index-CXNQ1xK_.js";import{B as de}from"./BotPlaceholder-D3ovEPPG.js";import{N as ge}from"./NoTasks-ChEagwx7.js";import"./use-form-item-DdMStkEC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-DkJze_5M.js";import"./index-DyM1pCdX.js";import"./index-ChegEiWE.js";import"./index-Btwu7mtj.js";import"./_baseClone-BFlMxPud.js";import"./_Uint8Array-C-ddoq2D.js";import"./_initCloneObject-B7t6sQD_.js";import"./isEqual-B-pg7Edv.js";import"./index-BfAfMs5L.js";import"./strings-beZM2Y-f.js";import"./castArray-BcAD7Agm.js";import"./debounce-DY-XLL0y.js";import"./_baseIteratee-LWWNe-Zd.js";import"./index-CnuA0AE0.js";import"./index-BbrZBbCA.js";const fe=y({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:P,FontAwesomeIcon:T},data(){return{drawer:!1}}}),he={class:"main flex flex-row flex-1"},_e={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},$e={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ve(e,t,c,i,f,v){const d=n("font-awesome-icon"),g=n("el-button"),_=n("el-drawer");return a(),l("div",he,[m("div",_e,[q(e.$slots,"config",{},void 0,!0)]),m("div",$e,[q(e.$slots,"result",{},void 0,!0)]),o(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=u=>e.drawer=!0)},{default:$(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o(_,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=u=>e.drawer=u),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[q(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const be=w(fe,[["render",ve],["__scopeId","data-v-bfe5cd4b"]]),ke="",ye=y({name:"PromptInput",components:{ElInput:se,InfoIcon:R},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ke)}}),we={class:"field"},Ee={class:"box"},Ie={class:"title font-bold"};function Ve(e,t,c,i,f,v){const d=n("info-icon"),g=n("el-input");return a(),l("div",we,[m("div",Ee,[m("h2",Ie,s(e.$t("openaiimage.name.prompt")),1),o(d,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(g,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=w(ye,[["render",Ve],["__scopeId","data-v-92f61e4a"]]),Le=y({name:"ImageUrlsInput",components:{ElUpload:ae,ElButton:P,InfoIcon:R,ImagePreview:N,FontAwesomeIcon:T},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(f=>!f?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const f=this.fileList.find(v=>v?.response?.file_url===i||v?.url===i);f?t.push(f):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(v=>v===i||v?.url===i?.url||v?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ge={class:"field flex items-center justify-between"},Se={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Pe={class:"controls flex items-center"},Oe={class:"file-list flex flex-wrap gap-[10px]"};function Re(e,t,c,i,f,v){const d=n("font-awesome-icon"),g=n("el-button"),_=n("el-upload"),u=n("info-icon"),k=n("image-preview");return a(),l(E,null,[m("div",Ge,[m("h2",Se,s(e.$t("openaiimage.name.imageUrls")),1),m("div",Te,[m("div",Pe,[o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(g,{size:"small",type:"primary",round:""},{default:$(()=>[o(d,{icon:"fa-solid fa-upload",class:"mr-1"}),p(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(u,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",Oe,[(a(!0),l(E,null,L(e.fileList,(r,b)=>(a(),I(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:G=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const qe=w(Le,[["render",Re]]),Ue=y({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:R},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=H)}}),Ce={class:"field"},Me={class:"label"},ze={class:"box"},je={class:"title font-bold"};function De(e,t,c,i,f,v){const d=n("info-icon"),g=n("el-option"),_=n("el-select");return a(),l("div",Ce,[m("div",Me,[m("div",ze,[m("h2",je,s(e.$t("openaiimage.name.model")),1),o(d,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),l(E,null,L(e.options,u=>(a(),I(g,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ne=w(Ue,[["render",De],["__scopeId","data-v-cec771bd"]]),Be=y({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:R},data(){return{options:[{value:U,label:U},{value:C,label:C},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Fe={class:"field"},We={class:"label"},xe={class:"box"},Ze={class:"title font-bold"};function He(e,t,c,i,f,v){const d=n("info-icon"),g=n("el-option"),_=n("el-select");return a(),l("div",Fe,[m("div",We,[m("div",xe,[m("h2",Ze,s(e.$t("openaiimage.name.size")),1),o(d,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=u=>e.value=u),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),l(E,null,L(e.options,u=>(a(),I(g,{key:u.value,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Je=w(Be,[["render",He],["__scopeId","data-v-11116785"]]),Ke=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:T,PromptInput:Ae,Consumption:ne,ImageUrlsInput:qe,ModelSelector:Ne,ResolutionSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ie({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Qe={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},Ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function et(e,t,c,i,f,v){const d=n("model-selector"),g=n("resolution-selector"),_=n("prompt-input"),u=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),l("div",Qe,[m("div",Xe,[o(d,{class:"mb-4"}),o(g,{class:"mb-4"}),o(_,{class:"mb-4"}),o(u,{class:"mb-4"})]),m("div",Ye,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=w(Ke,[["render",et]]),ot=y({name:"TaskPreview",components:{ElImage:ue,CopyToClipboard:re,FontAwesomeIcon:T,ElAlert:pe,ImageWrapper:ce,ElButton:P,ElTooltip:me,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const c=t;if(c?.image_url||c?.url){e.push(c);return}c?.b64_json&&e.push({...c,url:`data:image/png;base64,${c.b64_json}`})}),e},referenceImages(){const e=this.modelValue?.request;if(!e)return[];const t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(i=>typeof i=="string"&&i.length>0);const c=e.image;return Array.isArray(c)?c.filter(i=>typeof i=="string"&&i.length>0):typeof c=="string"&&c.length>0?[c]:[]}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),st={class:"preview"},at={class:"left"},nt={class:"main"},it={class:"bot"},lt={class:"datetime"},rt={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},mt={key:1,class:"prompt mt-2"},pt={key:0},ut={key:0,class:O({content:!0,failed:!0})},dt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},gt={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},ft={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},kt={key:1,class:O({content:!0})},yt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Gt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Rt(e,t,c,i,f,v){const d=n("el-image"),g=n("image-preview"),_=n("image-wrapper"),u=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),G=n("el-alert");return a(),l("div",st,[m("div",at,[o(d,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",nt,[m("div",it,[p(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",lt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",rt,[e.referenceImages.length>0?(a(),l("div",ct,[(a(!0),l(E,null,L(e.referenceImages,(V,S)=>(a(),I(g,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):h("",!0),e.modelValue?.request?.prompt?(a(),l("p",mt,[p(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),l("span",pt," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):h("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",ut,[m("div",dt,[(a(!0),l(E,null,L(e.images,(V,S)=>(a(),I(_,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",gt,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(u,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=x(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:$(()=>[p(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(G,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),l("p",ft,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):h("",!0),e.modelValue?.request?.size?(a(),l("p",ht,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):h("",!0),e.modelValue?.request?.action?(a(),l("p",_t,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):h("",!0),m("p",$t,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",vt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),l("p",bt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):h("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),l("div",kt,[o(G,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",yt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):h("",!0),e.modelValue?.request?.size?(a(),l("p",wt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):h("",!0),e.modelValue?.request?.action?(a(),l("p",Et,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):h("",!0),m("p",It,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),m("p",Vt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",At,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(a(),l("p",Lt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):h("",!0)]),_:1})])):(a(),l("div",Gt,[o(G,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),l("p",St,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):h("",!0),e.modelValue?.request?.size?(a(),l("p",Tt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):h("",!0),e.modelValue?.request?.action?(a(),l("p",Pt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):h("",!0),m("p",Ot,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const qt=w(ot,[["render",Rt],["__scopeId","data-v-87775c45"]]),Ut=y({name:"RecentPanel",components:{TaskPreview:qt,BotPlaceholder:de,NoTasks:ge,ScrollList:te},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ct={key:0},Mt={key:2,class:"w-full h-full flex items-center justify-center"};function zt(e,t,c,i,f,v){const d=n("bot-placeholder"),g=n("task-preview"),_=n("scroll-list"),u=n("no-tasks");return a(),l(E,null,[e.tasks?.items===void 0?(a(),l("div",Ct,[o(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(_,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),l(E,null,L(e.tasks?.items,k=>(a(),I(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),l("div",Mt,[o(u)])):h("",!0)],64)}const jt=w(Ut,[["render",zt]]),D="https://webhook.acedata.cloud/openaiimage",Dt=y({name:"OpenAIImageIndex",components:{ConfigPanel:tt,Layout:be,RecentPanel:jt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:c,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",c,"createdAtMax",i),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:c,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const c={...e,action:"generate",callback_url:D},i={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},f=this.credential?.token;if(!f){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),ee("openaiimage",t?j.edit(i,{token:f}):j.generate(c,{token:f})).then(d=>{console.debug("task accepted",d.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(d=>{const g=d?.response?.data;g?.error?.code===le?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Nt(e,t,c,i,f,v){const d=n("config-panel"),g=n("recent-panel"),_=n("layout");return a(),I(_,null,{config:$(()=>[o(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Po=w(Dt,[["render",Nt]]);export{Po as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as U}from"./index.es-CubOI9hU.js";import{E as L}from"./index-dv_V_6hr.js";import{E as q}from"./index-BHrTn7VE.js";import{d as b,H as c,E as n,z as C,C as t,y as m,D as s,q as a,F as l,I as h,x as v,J as f,M,Q as T,O as F,N as H}from"./vendor-vue-NSDaktjZ.js";import{E as w,b7 as j,cd as J,aw as z}from"./index-OyI5V9pC.js";import{a as K,b as Q,c as x}from"./luma-DcySqBv2.js";import{I as S,S as W,l as X}from"./pagination-BVNXUE7I.js";import{E as R}from"./index-C4wzxhBG.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as D}from"./ImagePreview-PuzA1V0j.js";import{E as A}from"./index-BXaEGHEi.js";import{E}from"./index-BO5IgGr2.js";import{F as Y}from"./FilePreview-DPToRwTA.js";import{E as Z}from"./index-D1FI8RlI.js";import{V as O}from"./VideoPlayer-B5QPUYAx.js";import{C as ee}from"./Consumption-F0CagVzQ.js";import{a as te}from"./price-BWPUIUHV.js";import{b as oe}from"./errorCode-Cqj9Td_Z.js";import{l as se}from"./luma-DbUkIyJm.js";import{C as ne}from"./CopyToClipboard-V6QrcQ1M.js";import{E as ae}from"./index-ByYZNQQ8.js";import{E as le}from"./index-rC9sOJAT.js";import{E as ie}from"./index-CXNQ1xK_.js";import{B as re}from"./BotPlaceholder-D3ovEPPG.js";import{N as ce}from"./NoTasks-ChEagwx7.js";import"./use-form-item-DdMStkEC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./validator-a8ixQKXF.js";import"./index-DyM1pCdX.js";import"./index-Btwu7mtj.js";import"./typescript-DkJze_5M.js";import"./_baseClone-BFlMxPud.js";import"./_Uint8Array-C-ddoq2D.js";import"./_initCloneObject-B7t6sQD_.js";import"./isEqual-B-pg7Edv.js";import"./index-ChegEiWE.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-DY-XLL0y.js";import"./index-BbrZBbCA.js";const me=b({name:"LayoutLuma",components:{ElDrawer:q,ElButton:L,FontAwesomeIcon:U},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},ue={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},pe={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function fe(e,o,_,$,k,y){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return a(),c("div",de,[n("div",ue,[C(e.$slots,"config",{},void 0,!0)]),n("div",pe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=g=>e.drawer=!0)},{default:m(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(d,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:m(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const _e=w(me,[["render",fe],["__scopeId","data-v-7be1f25b"]]),he=b({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=K)}}),$e={class:"relative"},ge={class:"flex justify-between"},ve={class:"flex justify-start items-center"},be={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function ke(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",$e,[n("div",ge,[n("div",ve,[n("span",be,l(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",we,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const ye=w(he,[["render",ke]]),Ee=b({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=Q)}}),Ve={class:"relative"},Se={class:"flex justify-between"},Ue={class:"flex justify-start items-center"},Le={class:"text-sm font-bold"},Ie={class:"flex justify-end items-center"};function Te(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",Ve,[n("div",Se,[n("div",Ue,[n("span",Le,l(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Ie,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ce=w(Ee,[["render",Te]]),je=b({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=x)}}),Re={class:"relative"},Ae={class:"flex justify-between"},Ge={class:"flex justify-start items-center"},Pe={class:"text-sm font-bold"},Me={class:"flex justify-end items-center"};function Fe(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",Re,[n("div",Ae,[n("div",Ge,[n("span",Pe,l(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Me,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const ze=w(je,[["render",Fe]]),Be=b({name:"EndImage",components:{ElUpload:A,ElButton:L,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:U},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),De={class:"relative"},Oe={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},qe={class:"text-sm font-bold"};function He(e,o,_,$,k,y){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",De,[n("div",Oe,[n("div",Ne,[n("span",qe,l(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.url&&i.percentage!==void 0?(a(),v(u,{key:0,url:i.url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Je=w(Be,[["render",He],["__scopeId","data-v-7a787b4d"]]),Ke=b({name:"StartImage",components:{ElUpload:A,ElButton:L,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:U},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Qe={class:"relative"},xe={class:"flex justify-between"},We={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"};function Ye(e,o,_,$,k,y){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",Qe,[n("div",xe,[n("div",We,[n("span",Xe,l(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(u,{key:0,url:i.url||i.response.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ze=w(Ke,[["render",Ye],["__scopeId","data-v-8c5cfe84"]]),et=b({name:"UploadVideo",components:{ElUpload:A,ElButton:L,InfoIcon:S,FilePreview:Y,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",_=e.size/1024/1024<10;return o?_?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),tt={class:"relative"},ot={class:"flex justify-between"},st={class:"flex justify-start items-center"},nt={class:"text-sm font-bold"};function at(e,o,_,$,k,y){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",tt,[n("div",ot,[n("div",st,[n("span",nt,l(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t(p,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(u,{key:0,url:i.url||i.response?.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const lt=w(et,[["render",at],["__scopeId","data-v-74e51526"]]),it="",rt=b({name:"PromptInput",components:{ElInput:Z,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=it)}}),ct={class:"field"},mt={class:"box"},dt={class:"title font-bold"};function ut(e,o,_,$,k,y){const r=s("info-icon"),u=s("el-input");return a(),c("div",ct,[n("div",mt,[n("h2",dt,l(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const pt=w(rt,[["render",ut],["__scopeId","data-v-281baab8"]]),ft=b({name:"ExtendFromInput",components:{VideoPlayer:O},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),_t={class:"relative"},ht={class:"flex mb-2"},$t={class:"text-sm font-bold"};function gt(e,o,_,$,k,y){const r=s("video-player");return a(),c("div",_t,[n("div",ht,[n("span",$t,l(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const vt=w(ft,[["render",gt]]),bt=b({name:"ConfigPanel",components:{LoopSelector:ze,StartImageInput:Ze,EndImageInput:Je,EnhancementSelector:ye,ElButton:L,FontAwesomeIcon:U,PromptInput:pt,ExtendFromInput:vt,CustomSelector:Ce,UploadVideo:lt,Consumption:ee},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),wt={class:"flex flex-col h-full"},kt={class:"flex-1 overflow-y-auto p-5"},yt={class:"flex flex-col items-center justify-center px-5 pb-5"};function Et(e,o,_,$,k,y){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),g=s("upload-video"),p=s("start-image-input"),i=s("end-image-input"),V=s("enhancement-selector"),I=s("loop-selector"),N=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),c("div",wt,[n("div",kt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):f("",!0),t(u,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),v(d,{key:1,class:"mb-4"})),e.config?.custom?(a(),v(g,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(p,{key:3,class:"mb-4"})):f("",!0),t(i,{class:"mb-4"}),t(V,{class:"mb-4"}),t(I,{class:"mb-4"})]),n("div",yt,[t(N,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const Vt=w(bt,[["render",Et]]),St=b({name:"TaskPreview",components:{ElImage:ie,CopyToClipboard:ne,FontAwesomeIcon:U,ElAlert:le,VideoPlayer:O,ElTooltip:ae,ElButton:L},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Ut={class:"preview"},Lt={class:"left"},It={class:"main"},Tt={class:"bot"},Ct={class:"datetime"},jt={class:"info"},Rt={key:0,class:"prompt mt-2"},At={key:0},Gt={key:1},Pt={key:0,class:T({content:!0,failed:!0})},Mt={key:0,class:"mb-4"},Ft={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Dt={key:1,class:T({content:!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Jt={key:2,class:T({content:!0})},Kt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Qt(e,o,_,$,k,y){const r=s("el-image"),u=s("video-player"),d=s("el-button"),g=s("el-tooltip"),p=s("font-awesome-icon"),i=s("copy-to-clipboard"),V=s("el-alert");return a(),c("div",Ut,[n("div",Lt,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",It,[n("div",Tt,[h(l(e.$t("luma.name.lumaBot"))+" ",1),n("span",Ct,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",jt,[e.modelValue?.request?.prompt?(a(),c("p",Rt,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),c("span",At," - ("+l(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("span",Gt," - ("+l(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",Pt,[e.modelValue.response.video_url?(a(),c("div",Mt,[t(u,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),c("div",Ft,[t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:m(()=>[t(d,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:m(()=>[t(d,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:m(()=>[n("p",zt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",Bt,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),c("div",Dt,[t(V,{closable:!1,class:"failure"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Ot,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),n("p",Nt,[t(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("luma.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(i,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",qt,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0),n("p",Ht,[t(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("luma.name.traceId"))+": "+l(e.modelValue?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("div",Jt,[t(V,{closable:!1,class:"info"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Kt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const xt=w(St,[["render",Qt],["__scopeId","data-v-bcbb3d1c"]]),Wt=b({name:"RecentPanel",components:{BotPlaceholder:re,TaskPreview:xt,NoTasks:ce,ScrollList:W},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Yt={key:2,class:"w-full h-full flex items-center justify-center"};function Zt(e,o,_,$,k,y){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),g=s("no-tasks");return a(),c(F,null,[e.tasks?.items===void 0?(a(),c("div",Xt,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:o[1]||(o[1]=p=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),c(F,null,H(e.tasks?.items,p=>(a(),v(u,{key:p.id,"model-value":p,onExtend:o[0]||(o[0]=i=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(a(),c("div",Yt,[t(g)])):f("",!0)],64)}const eo=w(Wt,[["render",Zt]]),to="https://webhook.acedata.cloud/luma",oo=b({name:"LumaIndex",components:{ConfigPanel:Vt,Layout:_e,RecentPanel:eo},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:_,createdAtMax:$}=e||{};console.debug("limit",o,"createdAtMin",_,"createdAtMax",$),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:_,createdAtMax:$})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:to},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),J("luma",se.generate(e,{token:o})).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(_=>{_?.response?.data?.error?.code===oe?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function so(e,o,_,$,k,y){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return a(),v(d,null,{config:m(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=g=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Ko=w(oo,[["render",so]]);export{Ko as default};
|