@acedatacloud/nexior 3.120.0 → 3.121.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-CYwTo8qe.js → Auth-CElZWvP6.js} +1 -1
- package/dist/assets/{BotPlaceholder-BwOm41PC.js → BotPlaceholder-TpKY21KU.js} +1 -1
- package/dist/assets/{Callback-CCChHcZW.js → Callback-C-r4yxKO.js} +1 -1
- package/dist/assets/{Console-DgDBUubm.js → Console-Bbok-IxY.js} +1 -1
- package/dist/assets/{Consumption-CZlzOFr-.js → Consumption-Bgr4zBx6.js} +1 -1
- package/dist/assets/{Conversation-DnJbc6Kw.js → Conversation-DdNv9hi1.js} +1 -1
- package/dist/assets/{CopyToClipboard-cz_FV7JQ.js → CopyToClipboard-me8LNzZz.js} +1 -1
- package/dist/assets/{Detail-D27_WuAD.js → Detail-CuW59v29.js} +2 -2
- package/dist/assets/{EditArray-D7UKPefl.js → EditArray-BW8IAoqp.js} +1 -1
- package/dist/assets/{Extra-kMzRXjay.js → Extra-BgyJNecs.js} +1 -1
- package/dist/assets/{FilePreview-rb8o7Jwl.js → FilePreview-DMAEYsoo.js} +1 -1
- package/dist/assets/{History-BlXAIwHy.js → History-CcAQeAdS.js} +1 -1
- package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-AVySoCwx.js → IconPark.vue_vue_type_script_setup_true_lang-Dv42NzuF.js} +1 -1
- package/dist/assets/{ImagePreview-CiFwyV10.js → ImagePreview-ChsBY_yV.js} +1 -1
- package/dist/assets/{ImageWrapper-s0bq8vjW.js → ImageWrapper-Bmg_vx2-.js} +1 -1
- package/dist/assets/{Index-epHano7b.js → Index--6BAA06R.js} +1 -1
- package/dist/assets/{Index-BKkzEbRa.js → Index-059OGLxJ.js} +1 -1
- package/dist/assets/{Index-C4gqvdPj.js → Index-B-MikpQO.js} +1 -1
- package/dist/assets/{Index-BBt2_8-s.js → Index-B0lb5qd9.js} +1 -1
- package/dist/assets/{Index-DFe7Pl6m.js → Index-BKtiSjzc.js} +1 -1
- package/dist/assets/{Index--Cm0kCFO.js → Index-BnfYD6w3.js} +1 -1
- package/dist/assets/{Index-vGOvv8iv.js → Index-BokmvEVU.js} +1 -1
- package/dist/assets/{Index-BE-Nx8rh.js → Index-Bwd24CJW.js} +1 -1
- package/dist/assets/{Index-iQhmjlvE.js → Index-ByLIfLId.js} +1 -1
- package/dist/assets/{Index-DakZs-ES.js → Index-C-ToLdQs.js} +1 -1
- package/dist/assets/{Index-D4KSe4PY.js → Index-CW1qzdQ2.js} +1 -1
- package/dist/assets/{Index-DNZoq2a8.js → Index-Cp7CT2Gd.js} +1 -1
- package/dist/assets/{Index-C8VwXS0K.js → Index-CxqiCZcs.js} +1 -1
- package/dist/assets/{Index-BlQxYaQr.js → Index-D1Hu1aAq.js} +1 -1
- package/dist/assets/{Index-CsiRcHQb.js → Index-D2QGMV30.js} +1 -1
- package/dist/assets/{Index-BwP8LiPg.js → Index-DFB5GOaG.js} +1 -1
- package/dist/assets/{Index-DzhD805f.js → Index-DfUxGSNr.js} +1 -1
- package/dist/assets/{Index-CuNdVoF2.js → Index-Dj-FkKhM.js} +1 -1
- package/dist/assets/{Index-CIsYHTXn.js → Index-Dl5Ue0cB.js} +1 -1
- package/dist/assets/{Index-DNdv2MZY.js → Index-Dw-lR2Ci.js} +1 -1
- package/dist/assets/{Index-zSdwXPoC.js → Index-UmYew8fk.js} +1 -1
- package/dist/assets/{Index-Ba3u3B_x.js → Index-fuOZURRA.js} +1 -1
- package/dist/assets/{Index-CZzIt3NW.js → Index-rImXzB22.js} +1 -1
- package/dist/assets/{Index-BxhicRkL.js → Index-s2db4trm.js} +1 -1
- package/dist/assets/{Invitees-XSKA2QJ-.js → Invitees-BdPFfAzj.js} +1 -1
- package/dist/assets/{List-CcqjYwhk.js → List-BWNjerdS.js} +1 -1
- package/dist/assets/{List-CAhthWWR.js → List-BbPkxEKZ.js} +1 -1
- package/dist/assets/{List-DLPc5-69.js → List-Chv16z-D.js} +1 -1
- package/dist/assets/{Main-C-J7tl22.js → Main-BBEjShBL.js} +1 -1
- package/dist/assets/Navigator-BJVFOH2e.js +1 -0
- package/dist/assets/{Navigator-pY9n2Xr_.css → Navigator-CI_M2yeQ.css} +1 -1
- package/dist/assets/{NoTasks-CNRFrdHu.js → NoTasks-C2JnFhyL.js} +1 -1
- package/dist/assets/{NotFound-CFvNC29d.js → NotFound-BY2STyFG.js} +1 -1
- package/dist/assets/{OAuthCallback-CmijAbLX.js → OAuthCallback-7RJgUGWG.js} +1 -1
- package/dist/assets/{Pagination-C8NwbK5Q.js → Pagination-CCZtuLL7.js} +1 -1
- package/dist/assets/{ScrollList-BBAzavyB.js → ScrollList--Rdy30ny.js} +1 -1
- package/dist/assets/{Status-C3r_aXgc.js → Status-BGDtIBUI.js} +1 -1
- package/dist/assets/{Subscribe-StRjks43.js → Subscribe-CgH_d0-C.js} +1 -1
- package/dist/assets/{TransportWebHID-C2zxxAcY.js → TransportWebHID-DYjbY7sI.js} +1 -1
- package/dist/assets/{VideoPlayer-qCvWONkJ.js → VideoPlayer-UHFMqgfu.js} +1 -1
- package/dist/assets/{_Uint8Array-Bq4W_aZw.js → _Uint8Array-BsuIvcoq.js} +1 -1
- package/dist/assets/{_baseClone-C0vKZ-2x.js → _baseClone-d2_dNmf5.js} +1 -1
- package/dist/assets/{_baseIteratee-SXAlbslK.js → _baseIteratee-DOL5_qvi.js} +1 -1
- package/dist/assets/{_initCloneObject-nuejNsVF.js → _initCloneObject-DFQF2czX.js} +1 -1
- package/dist/assets/{add-Dgk0WyjZ.js → add-DUvTFhY9.js} +1 -1
- package/dist/assets/{all-wallets-3-hlYecl.js → all-wallets-DK8_Cl6e.js} +1 -1
- package/dist/assets/{app-store-pBS3SQuq.js → app-store-ByfuoG7V.js} +1 -1
- package/dist/assets/{apple-UJs1ZJkk.js → apple-X0ojudGl.js} +1 -1
- package/dist/assets/{arrow-bottom-CSK9z26u.js → arrow-bottom-CaviGfgz.js} +1 -1
- package/dist/assets/{arrow-bottom-circle-D8bZK49i.js → arrow-bottom-circle-B52vuoaz.js} +1 -1
- package/dist/assets/{arrow-left-B2gK8CY3.js → arrow-left-CMiOv5A2.js} +1 -1
- package/dist/assets/{arrow-right-BcfzqA1e.js → arrow-right-DyC3dNIS.js} +1 -1
- package/dist/assets/{arrow-top-COa59CRx.js → arrow-top-D_h71Hkl.js} +1 -1
- package/dist/assets/{avatar-y_WWWaNU.js → avatar-DUSPOiR9.js} +1 -1
- package/dist/assets/{bank-B_5OXJj_.js → bank-CuBpzuO5.js} +1 -1
- package/dist/assets/{basic-BaFuzVTq.js → basic-DbjmXkHX.js} +1 -1
- package/dist/assets/{browser-Dp2I4cjO.js → browser-DWkNm5uv.js} +1 -1
- package/dist/assets/{byokCredential-Bgoo1msw.js → byokCredential-BtxZsq7V.js} +1 -1
- package/dist/assets/{card-hWQlNnl9.js → card-BOXDNIKg.js} +1 -1
- package/dist/assets/{castArray-DrkJhRjQ.js → castArray-CzNVm6L8.js} +1 -1
- package/dist/assets/{chat-nROAeDHL.js → chat-CcOh6YKj.js} +1 -1
- package/dist/assets/{checkmark-4tnh7ZB3.js → checkmark-U7dTZ0-2.js} +1 -1
- package/dist/assets/{checkmark-bold-C9aqJFPA.js → checkmark-bold-D0gsxWuf.js} +1 -1
- package/dist/assets/{chevron-bottom-CKIYI4Ta.js → chevron-bottom-DRXa0R7S.js} +1 -1
- package/dist/assets/{chevron-left-CVrOmnvm.js → chevron-left-CUNz1LGc.js} +1 -1
- package/dist/assets/{chevron-right-DilwuAjY.js → chevron-right-DAynDPTD.js} +1 -1
- package/dist/assets/{chevron-top-KC0_chEz.js → chevron-top-hKFUC3RI.js} +1 -1
- package/dist/assets/{chrome-store-BYUFhubi.js → chrome-store-DDeATmaY.js} +1 -1
- package/dist/assets/{clock-CAG3zRUS.js → clock-xEwZi0IB.js} +1 -1
- package/dist/assets/{close-Ae3h9tf8.js → close-DGbWT-27.js} +1 -1
- package/dist/assets/{coinPlaceholder-CBkkFw4k.js → coinPlaceholder-BVgeUKGH.js} +1 -1
- package/dist/assets/{compass-CMtty40M.js → compass-gJ2Vwv70.js} +1 -1
- package/dist/assets/{copy-DyX72FTV.js → copy-CjUrPbix.js} +1 -1
- package/dist/assets/{cursor-CMc9wx_C.js → cursor-D4-iDJ1L.js} +1 -1
- package/dist/assets/{cursor-transparent-BCbpx56B.js → cursor-transparent-BMB0lcTe.js} +1 -1
- package/dist/assets/{debounce-B-0O6GZN.js → debounce-CVIFJBK5.js} +1 -1
- package/dist/assets/{desktop-CHj-uIA5.js → desktop-BRh2ZMcR.js} +1 -1
- package/dist/assets/{disconnect-BWhX0KIA.js → disconnect-BajaQiws.js} +1 -1
- package/dist/assets/{discord-CjEJ9rKg.js → discord-wepvY9Ak.js} +1 -1
- package/dist/assets/{distribution-BvrzxvYQ.js → distribution-B3-GLtBP.js} +1 -1
- package/dist/assets/{dropdown-Bb6oEVvP.js → dropdown-BbX9hnQO.js} +1 -1
- package/dist/assets/{etherscan-B64vUbSg.js → etherscan-B4OeDAkG.js} +1 -1
- package/dist/assets/{exclamation-triangle-CB0-aIkB.js → exclamation-triangle-CBno1umt.js} +1 -1
- package/dist/assets/{extension-JAF_QUt4.js → extension-CRCYf1qo.js} +1 -1
- package/dist/assets/{external-link-Du8Af-Dj.js → external-link-dJH--fEj.js} +1 -1
- package/dist/assets/{facebook-BRdOHyhP.js → facebook-kGxCrGTO.js} +1 -1
- package/dist/assets/{farcaster-BEz-HhTT.js → farcaster-DmOZu7jw.js} +1 -1
- package/dist/assets/{filters-Jv7GgXxn.js → filters-DLsCq92h.js} +1 -1
- package/dist/assets/{flux-XleATL1u.js → flux-BSFqmUDj.js} +1 -1
- package/dist/assets/{github-CDZ1MlYy.js → github-DZgL1fjp.js} +1 -1
- package/dist/assets/{google-CDrPUpvC.js → google-Lk2HdPP2.js} +1 -1
- package/dist/assets/{hailuo-BHyeB8iZ.js → hailuo-BYd0bkf-.js} +1 -1
- package/dist/assets/{headshots-B1Qvwswm.js → headshots-Bqnjwmfc.js} +1 -1
- package/dist/assets/{help-circle-D7pkLN5j.js → help-circle-C_wrV9tG.js} +1 -1
- package/dist/assets/{id-CGKftV8s.js → id-AvmY89p2.js} +1 -1
- package/dist/assets/{image-YTdHUKL7.js → image-B1VgGm3g.js} +1 -1
- package/dist/assets/{index-D2kYsNjd.js → index-B0TvD8QB.js} +1 -1
- package/dist/assets/{index-C--_aDZb.js → index-BDoEbSzt.js} +1 -1
- package/dist/assets/{index-B8fS9OSz.js → index-BGLvFr5U.js} +1 -1
- package/dist/assets/{index-BlaGrXYB.js → index-BMb2yz7J.js} +1 -1
- package/dist/assets/{index-6JTB3PN2.js → index-BfKqDu_e.js} +1 -1
- package/dist/assets/{index-Bw530iUN.js → index-Bf_Ja_UW.js} +1 -1
- package/dist/assets/{index-CaGzZRoU.js → index-Bhjk_y-F.js} +1 -1
- package/dist/assets/{index-D86izC-h.js → index-BoeBTIxV.js} +1 -1
- package/dist/assets/{index-BMtDvXOO.js → index-BsdZCf9S.js} +1 -1
- package/dist/assets/{index-D1BcqPOp.js → index-BuQ08eMU.js} +1 -1
- package/dist/assets/{index-CaJEx1sk.js → index-BwSZF6kA.js} +1 -1
- package/dist/assets/{index-BX73fyko.js → index-C1ZJSurC.js} +1 -1
- package/dist/assets/{index-DlZ-gpNs.js → index-C1k6vlvL.js} +1 -1
- package/dist/assets/{index-BQHpaNbw.js → index-C4dw4PBP.js} +1 -1
- package/dist/assets/{index-BbkShjM6.js → index-CDBWQw1U.js} +1 -1
- package/dist/assets/{index-Chv58u_M.js → index-CF86-1qt.js} +1 -1
- package/dist/assets/{index-T3OpeE-1.js → index-CHwNaM4R.js} +1 -1
- package/dist/assets/{index-IAptVusO.js → index-CIpTpIie.js} +1 -1
- package/dist/assets/{index-CLwZ6tD6.js → index-CJI1tAn5.js} +1 -1
- package/dist/assets/{index-BW0F2mHg.js → index-CM0amj_5.js} +1 -1
- package/dist/assets/{index-BibFvigx.js → index-CPp1pb0A.js} +1 -1
- package/dist/assets/{index-C1aEEHjh.js → index-CTnF0u-u.js} +1 -1
- package/dist/assets/{index-J1NaSPzr.js → index-C_C1Ixwr.js} +1 -1
- package/dist/assets/{index-CzdTh66J.js → index-CgqpRgBX.js} +1 -1
- package/dist/assets/{index-Cq_8nzqD.js → index-CgvrKpmg.js} +1 -1
- package/dist/assets/{index-NPlB18tY.js → index-CssvHGAN.js} +1 -1
- package/dist/assets/{index-Ckc_ntxz.js → index-CuA_mfzw.js} +1 -1
- package/dist/assets/{index-EOM9W62e.js → index-Cv6PNItH.js} +1 -1
- package/dist/assets/{index-BzitVkNO.js → index-CxOOrmyw.js} +1 -1
- package/dist/assets/{index-CqREBSIJ.js → index-CzONa6Ly.js} +1 -1
- package/dist/assets/{index-CAORddym.js → index-D6nd5y39.js} +1 -1
- package/dist/assets/{index-DIHp8_U3.js → index-DHKx47t5.js} +1 -1
- package/dist/assets/{index-D0p0AKt5.js → index-DTFY3QNR.js} +1 -1
- package/dist/assets/{index-BdOrPkLK.js → index-DW6GnDHe.js} +1 -1
- package/dist/assets/{index-BieaRbcT.js → index-DX09ak7W.js} +1 -1
- package/dist/assets/{index-0E3f8li8.js → index-Dbjovb_-.js} +1 -1
- package/dist/assets/{index-CEErdlw2.js → index-DcqPzdPG.js} +1 -1
- package/dist/assets/{index-B8kQljtZ.js → index-F7Hu8Bm1.js} +1 -1
- package/dist/assets/{index-B4PZq0-5.js → index-G-ZPeM0Z.js} +1 -1
- package/dist/assets/{index-DJBaHoyj.js → index-I1Z2ARWK.js} +1 -1
- package/dist/assets/{index-Bh0oZ9mi.js → index-LQ2wigdZ.js} +1 -1
- package/dist/assets/{index-CCGOGjU5.js → index-NfaSNtIV.js} +1 -1
- package/dist/assets/{index-2g3eXsX4.js → index-V3U8Zot2.js} +1 -1
- package/dist/assets/{index-CvlJmgAe.js → index-XF4G2BXJ.js} +1 -1
- package/dist/assets/{index-D2epQ7R-.js → index-Z5h_ctud.js} +1 -1
- package/dist/assets/{index-qLx3hags.js → index-ZULa5rJ5.js} +1 -1
- package/dist/assets/{index-CBuVdRox.js → index-_ZSERpOX.js} +1 -1
- package/dist/assets/{index-Bqsj8YvH.js → index-aCN54qBZ.js} +6 -6
- package/dist/assets/{index-CkzwyQNU.js → index-efKug9ge.js} +1 -1
- package/dist/assets/{index-DofykL40.js → index-giqZTS2k.js} +1 -1
- package/dist/assets/{index-XCa7Ic7m.js → index-gx5FhX4M.js} +1 -1
- package/dist/assets/{index-C3qbB2R4.js → index-hTDB6FhP.js} +1 -1
- package/dist/assets/{index-B8NIXFXV.js → index-hTMEW3di.js} +4 -4
- package/dist/assets/{index-BzKWMJA1.js → index-mQGnyxbq.js} +3 -3
- package/dist/assets/{index-CcYxepTP.js → index-mQrTJe59.js} +1 -1
- package/dist/assets/{index-DniJBKnP.js → index-nQ_GVGJG.js} +1 -1
- package/dist/assets/{index-CsMsHthC.js → index-p-Fx8nJo.js} +1 -1
- package/dist/assets/{index-PVyd_UEc.js → index-w91tXZxz.js} +1 -1
- package/dist/assets/{index-6ULnuOMT.js → index-ze1yP2hP.js} +1 -1
- package/dist/assets/{index-Dzmy_VcW.js → index-zfWdB6N3.js} +1 -1
- package/dist/assets/{index-Bj2Qe7eT.js → index-zywqYbq-.js} +1 -1
- package/dist/assets/{index.browser.esm-D56QnXXy.js → index.browser.esm-yMBp2bJo.js} +1 -1
- package/dist/assets/{index.es-B8UAYPlu.js → index.es-Ch1GF9O_.js} +1 -1
- package/dist/assets/{info-C0HWZ4h2.js → info-CJwcdlPq.js} +1 -1
- package/dist/assets/{info-circle-DiJteffC.js → info-circle-CVXNgELQ.js} +1 -1
- package/dist/assets/{isEqual-CBKi-9mc.js → isEqual-7A3s6xld.js} +1 -1
- package/dist/assets/{isPlainObject-BwRYDkva.js → isPlainObject-CarriSqY.js} +1 -1
- package/dist/assets/{kling-vFvGbyt0.js → kling-BPYCPbv8.js} +1 -1
- package/dist/assets/{lightbulb-C4LRkde8.js → lightbulb-CRjUoCKV.js} +1 -1
- package/dist/assets/{luma-CUmCSNXw.js → luma-DnztqUAb.js} +1 -1
- package/dist/assets/{mail-DENHAVbZ.js → mail-DtQzote8.js} +1 -1
- package/dist/assets/{midjourney-DuMuF_ms.js → midjourney-DVMCW7B0.js} +1 -1
- package/dist/assets/{mobile-BWTGsks8.js → mobile-BYZCmmrT.js} +1 -1
- package/dist/assets/{more-B20QHncQ.js → more-DYL-gago.js} +1 -1
- package/dist/assets/{nanobanana-D4DjlkFJ.js → nanobanana-DopP8688.js} +1 -1
- package/dist/assets/{network-placeholder-bBOUjnB8.js → network-placeholder-a8BWu_V9.js} +1 -1
- package/dist/assets/{nftPlaceholder-CYiwjkHI.js → nftPlaceholder-DcfU_cmY.js} +1 -1
- package/dist/assets/{off-B7KKfCGK.js → off-DbJGOotF.js} +1 -1
- package/dist/assets/{openaiimage-CTSU6NNS.js → openaiimage-DNAJJC0D.js} +1 -1
- package/dist/assets/{order-CQEKyshR.js → order-BQbnjt_1.js} +1 -1
- package/dist/assets/{pika-CBMNxppT.js → pika-CyIcYYST.js} +1 -1
- package/dist/assets/{pixverse-mBArFZL2.js → pixverse-SNG1kiR8.js} +1 -1
- package/dist/assets/{play-store-DeT9CSEu.js → play-store-DB0u0OCt.js} +1 -1
- package/dist/assets/{plus-jluAoG4e.js → plus-BIXCMv_j.js} +1 -1
- package/dist/assets/{price-BdhJYmzp.js → price-DrUKr34v.js} +1 -1
- package/dist/assets/{producer-CRNJNhmQ.js → producer-BMwKMreP.js} +1 -1
- package/dist/assets/{qr-code-Bh0zBpXx.js → qr-code-Y_-slZOL.js} +1 -1
- package/dist/assets/{qrart-UTN3rBYb.js → qrart-B46lYbBY.js} +1 -1
- package/dist/assets/{recycle-horizontal-DSqLqSsR.js → recycle-horizontal-BHl1Qcca.js} +1 -1
- package/dist/assets/{refresh-fbnzdu8X.js → refresh-Blb4Y-Jo.js} +1 -1
- package/dist/assets/{reown-logo-BTZrJ6f7.js → reown-logo-BkYnWrAF.js} +1 -1
- package/dist/assets/{search-DNl8TDYJ.js → search-CtCjrJcB.js} +1 -1
- package/dist/assets/{secp256k1-bXwES021.js → secp256k1-0rH5ffPN.js} +1 -1
- package/dist/assets/{secp256k1-aX_4rIwp.js → secp256k1-YNK2UYbw.js} +1 -1
- package/dist/assets/{seedance-B9w3dL_0.js → seedance-CCkJVj4V.js} +1 -1
- package/dist/assets/{seedream-CZ2kWGod.js → seedream-Dt6073IJ.js} +1 -1
- package/dist/assets/{send-DRJuzVpC.js → send-DtsUM-JQ.js} +1 -1
- package/dist/assets/{service-D4ha82q6.js → service-Cyf9rt-7.js} +1 -1
- package/dist/assets/{solana-wallets-CpKTeVOj.js → solana-wallets-BigD9kgf.js} +2 -2
- package/dist/assets/{solana-wallets-vue-BkbbmCud.js → solana-wallets-vue-CxHUcUcl.js} +1 -1
- package/dist/assets/{solanaEmbed.esm-m_tjbQuf.js → solanaEmbed.esm-CQwgb_eq.js} +1 -1
- package/dist/assets/{sora-y39z0JOe.js → sora-Ccz9TVDb.js} +1 -1
- package/dist/assets/{string_decoder-DZHdHQp8.js → string_decoder-jlrYvtWR.js} +1 -1
- package/dist/assets/subsite-CvT1Ip6E.js +1 -0
- package/dist/assets/subsite-CzkZaWnC.js +1 -0
- package/dist/assets/{suno-DJee24J_.js → suno-CmTK4HC6.js} +1 -1
- package/dist/assets/{swapHorizontal-KMxZJsyw.js → swapHorizontal-DmmcvnV7.js} +1 -1
- package/dist/assets/{swapHorizontalBold-CLNaouyi.js → swapHorizontalBold-Bhj80lFp.js} +1 -1
- package/dist/assets/{swapHorizontalMedium-DnmxZCZ6.js → swapHorizontalMedium-CqpuB0Xm.js} +1 -1
- package/dist/assets/{swapHorizontalRoundedBold-mXwUw7O1.js → swapHorizontalRoundedBold-C5_60Vsq.js} +1 -1
- package/dist/assets/{swapVertical-BFRDehmW.js → swapVertical-D8tEMLKI.js} +1 -1
- package/dist/assets/{telegram-DJpglsCT.js → telegram-CysJaTLJ.js} +1 -1
- package/dist/assets/{three-dots-BBCYc6iX.js → three-dots-CdFO8stb.js} +1 -1
- package/dist/assets/{twitch-CBc0_I84.js → twitch-BCnvWX7J.js} +1 -1
- package/dist/assets/{twitterIcon-BPohEgWI.js → twitterIcon-TZwWlmki.js} +1 -1
- package/dist/assets/{typescript-kbBRrRi0.js → typescript-DYToGBau.js} +1 -1
- package/dist/assets/{use-form-item-Bsmkxazb.js → use-form-item-CduoD2dJ.js} +1 -1
- package/dist/assets/validator-CqyFUR3o.js +1 -0
- package/dist/assets/{veo-Belt7kFg.js → veo-D9PxKt12.js} +1 -1
- package/dist/assets/{verify-o7J-JiWe.js → verify--bOe0h7C.js} +1 -1
- package/dist/assets/{verify-filled-DfdsMKQo.js → verify-filled-DLY7HgGb.js} +1 -1
- package/dist/assets/{w3m-modal-BFcwqgiy.js → w3m-modal-_1cirTgY.js} +1 -1
- package/dist/assets/{wallet-G4c8j8-r.js → wallet-DyGjnIZp.js} +1 -1
- package/dist/assets/{wallet-placeholder-CAhGKRqm.js → wallet-placeholder-6XopqySF.js} +1 -1
- package/dist/assets/{walletconnect-CRC7hA_P.js → walletconnect-VrVn2JB8.js} +1 -1
- package/dist/assets/{wan-DXqU5Jet.js → wan-CCyfq5ZI.js} +1 -1
- package/dist/assets/{warning-circle-ChBhOOPs.js → warning-circle-DwSK9FZP.js} +1 -1
- package/dist/assets/{web-DXzx1W8-.js → web-RmdTvPPZ.js} +1 -1
- package/dist/assets/{web-yJ9XmF7F.js → web-a2hyB212.js} +1 -1
- package/dist/assets/{x-DDx_nQY_.js → x-DUwBvcpx.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Navigator-MOwwsx7l.js +0 -1
- package/dist/assets/subsite-BCz3Wag4.js +0 -1
- package/dist/assets/subsite-CeveCBFQ.js +0 -1
- package/dist/assets/validator-CUXs2Jta.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as G}from"./index.es-B8UAYPlu.js";import{E as P}from"./index-B8kQljtZ.js";import{E as x}from"./index-BdOrPkLK.js";import{d as y,H as l,E as m,z as q,C as o,y as v,D as n,q as a,F as s,I as u,O as I,N as L,x as E,J as _,M as W,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as w,b1 as H,cf as Z,cg as J,ch as K,ci as Q,cj as X,ck as U,cl as C,cm as M,cn as Y,ap as z}from"./index-B8NIXFXV.js";import{I as R,S as ee}from"./ScrollList-BBAzavyB.js";import{E as te}from"./index-C3qbB2R4.js";import{I as N}from"./ImagePreview-CiFwyV10.js";import{E as oe}from"./index-D2kYsNjd.js";import{E as A}from"./index-CcYxepTP.js";import{C as se}from"./Consumption-CZlzOFr-.js";import{a as ae}from"./price-BdhJYmzp.js";import{E as B,a as F}from"./index-BlaGrXYB.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-CTSU6NNS.js";import{C as ie}from"./CopyToClipboard-cz_FV7JQ.js";import{I as le}from"./ImageWrapper-s0bq8vjW.js";import{E as re}from"./index-qLx3hags.js";import{E as ce}from"./index-CsMsHthC.js";import{E as me}from"./index-BzitVkNO.js";import{B as pe}from"./BotPlaceholder-BwOm41PC.js";import{N as ue}from"./NoTasks-CNRFrdHu.js";import"./use-form-item-Bsmkxazb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-kbBRrRi0.js";import"./index-DlZ-gpNs.js";import"./index-CkzwyQNU.js";import"./index-Cq_8nzqD.js";import"./_baseClone-C0vKZ-2x.js";import"./_Uint8Array-Bq4W_aZw.js";import"./_initCloneObject-nuejNsVF.js";import"./isEqual-CBKi-9mc.js";import"./index-CEErdlw2.js";import"./strings-DigWlKo9.js";import"./castArray-DrkJhRjQ.js";import"./debounce-B-0O6GZN.js";import"./_baseIteratee-SXAlbslK.js";import"./index-BibFvigx.js";import"./index-IAptVusO.js";const de=y({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto 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 _e(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-drawer");return a(),l("div",ge,[m("div",fe,[q(e.$slots,"config",{},void 0,!0)]),m("div",he,[q(e.$slots,"result",{},void 0,!0)]),o(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:v(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o($,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:v(()=>[q(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=w(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=y({name:"PromptInput",components:{ElInput:te,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=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ie(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-input");return a(),l("div",ke,[m("div",ye,[m("h2",we,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 Ee=w(be,[["render",Ie],["__scopeId","data-v-92f61e4a"]]),Ve=y({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:R,ImagePreview:N,FontAwesomeIcon:G},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.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const p=this.fileList.find(h=>h?.response?.file_url===i||h?.url===i);p?t.push(p):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(h=>h===i||h?.url===i?.url||h?.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()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-upload"),f=n("info-icon"),k=n("image-preview");return a(),l(I,null,[m("div",Ae,[m("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),m("div",Te,[m("div",Se,[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:v(()=>[o(g,{size:"small",type:"primary",round:""},{default:v(()=>[o(d,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+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(f,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",Ge,[(a(!0),l(I,null,L(e.fileList,(r,b)=>(a(),E(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:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=w(Ve,[["render",Pe]]),Re=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=Z)}}),qe={class:"field"},Ue={class:"label"},Ce={class:"box"},Me={class:"title font-bold"};function ze(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",qe,[m("div",Ue,[m("div",Ce,[m("h2",Me,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]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=w(Re,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=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)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},xe={class:"title font-bold"};function We(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",Ne,[m("div",Be,[m("div",Fe,[m("h2",xe,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]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const He=w(De,[["render",We],["__scopeId","data-v-11116785"]]),Ze=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,ModelSelector:je,ResolutionSelector:He},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,c,i,p,h){const d=n("model-selector"),g=n("resolution-selector"),$=n("prompt-input"),f=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),l("div",Je,[m("div",Ke,[o(d,{class:"mb-4"}),o(g,{class:"mb-4"}),o($,{class:"mb-4"}),o(f,{class:"mb-4"})]),m("div",Qe,[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:v(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=w(Ze,[["render",Xe]]),et=y({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,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)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:2,class:O({content:!0})},Lt={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"},St={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,c,i,p,h){const d=n("el-image"),g=n("image-preview"),$=n("image-wrapper"),f=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),l("div",tt,[m("div",ot,[o(d,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",st,[m("div",at,[u(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",it,[e.referenceImages.length>0?(a(),l("div",lt,[(a(!0),l(I,null,L(e.referenceImages,(V,S)=>(a(),E(g,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):_("",!0),e.modelValue?.request?.prompt?(a(),l("p",rt,[u(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),l("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[m("div",pt,[(a(!0),l(I,null,L(e.images,(V,S)=>(a(),E($,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:v(()=>[o(f,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=W(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:v(()=>[u(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:v(()=>[e.modelValue?.request?.model?(a(),l("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+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",_t,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+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"])])):_("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(T,{closable:!1,class:"failure"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",bt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",kt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",yt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+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",It,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+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",Et,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",Vt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+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"])])):_("",!0)]),_:1})])):(a(),l("div",At,[o(T,{closable:!1,class:"info"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",Lt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",Tt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",St,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",Gt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+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 Ot=w(et,[["render",Pt],["__scopeId","data-v-87775c45"]]),Rt=y({name:"RecentPanel",components:{TaskPreview:Ot,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},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?.()}}}),qt={key:0},Ut={key:2,class:"w-full h-full flex items-center justify-center"};function Ct(e,t,c,i,p,h){const d=n("bot-placeholder"),g=n("task-preview"),$=n("scroll-list"),f=n("no-tasks");return a(),l(I,null,[e.tasks?.items===void 0?(a(),l("div",qt,[o(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E($,{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:v(()=>[(a(!0),l(I,null,L(e.tasks?.items,k=>(a(),E(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),l("div",Ut,[o(f)])):_("",!0)],64)}const Mt=w(Rt,[["render",Ct]]),D="https://webhook.acedata.cloud/openaiimage",zt=y({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Mt},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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const c=this.tasks?.items?.[0];if(!c?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,d=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:c.created_at}),await this.$nextTick(),p){const g=p.scrollHeight;p.scrollTop=g-h+d}}finally{this.loading=!1}},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},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(i,{token:p}):j.generate(c,{token:p})).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===ne?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 jt(e,t,c,i,p,h){const d=n("config-panel"),g=n("recent-panel"),$=n("layout");return a(),E($,null,{config:v(()=>[o(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:v(()=>[o(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const So=w(zt,[["render",jt]]);export{So as default};
|
|
1
|
+
import{F as G}from"./index.es-Ch1GF9O_.js";import{E as P}from"./index-F7Hu8Bm1.js";import{E as x}from"./index-DW6GnDHe.js";import{d as y,H as l,E as m,z as q,C as o,y as v,D as n,q as a,F as s,I as u,O as I,N as L,x as E,J as _,M as W,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as w,b1 as H,cf as Z,cg as J,ch as K,ci as Q,cj as X,ck as U,cl as C,cm as M,cn as Y,ap as z}from"./index-hTMEW3di.js";import{I as R,S as ee}from"./ScrollList--Rdy30ny.js";import{E as te}from"./index-hTDB6FhP.js";import{I as N}from"./ImagePreview-ChsBY_yV.js";import{E as oe}from"./index-B0TvD8QB.js";import{E as A}from"./index-mQrTJe59.js";import{C as se}from"./Consumption-Bgr4zBx6.js";import{a as ae}from"./price-DrUKr34v.js";import{E as B,a as F}from"./index-BMb2yz7J.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-DNAJJC0D.js";import{C as ie}from"./CopyToClipboard-me8LNzZz.js";import{I as le}from"./ImageWrapper-Bmg_vx2-.js";import{E as re}from"./index-ZULa5rJ5.js";import{E as ce}from"./index-p-Fx8nJo.js";import{E as me}from"./index-CxOOrmyw.js";import{B as pe}from"./BotPlaceholder-TpKY21KU.js";import{N as ue}from"./NoTasks-C2JnFhyL.js";import"./use-form-item-CduoD2dJ.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-DYToGBau.js";import"./index-C1k6vlvL.js";import"./index-efKug9ge.js";import"./index-CgvrKpmg.js";import"./_baseClone-d2_dNmf5.js";import"./_Uint8Array-BsuIvcoq.js";import"./_initCloneObject-DFQF2czX.js";import"./isEqual-7A3s6xld.js";import"./index-DcqPzdPG.js";import"./strings-DigWlKo9.js";import"./castArray-CzNVm6L8.js";import"./debounce-CVIFJBK5.js";import"./_baseIteratee-DOL5_qvi.js";import"./index-CPp1pb0A.js";import"./index-CIpTpIie.js";const de=y({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto 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 _e(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-drawer");return a(),l("div",ge,[m("div",fe,[q(e.$slots,"config",{},void 0,!0)]),m("div",he,[q(e.$slots,"result",{},void 0,!0)]),o(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:v(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o($,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:v(()=>[q(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=w(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=y({name:"PromptInput",components:{ElInput:te,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=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ie(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-input");return a(),l("div",ke,[m("div",ye,[m("h2",we,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 Ee=w(be,[["render",Ie],["__scopeId","data-v-92f61e4a"]]),Ve=y({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:R,ImagePreview:N,FontAwesomeIcon:G},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.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const p=this.fileList.find(h=>h?.response?.file_url===i||h?.url===i);p?t.push(p):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(h=>h===i||h?.url===i?.url||h?.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()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-upload"),f=n("info-icon"),k=n("image-preview");return a(),l(I,null,[m("div",Ae,[m("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),m("div",Te,[m("div",Se,[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:v(()=>[o(g,{size:"small",type:"primary",round:""},{default:v(()=>[o(d,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+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(f,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",Ge,[(a(!0),l(I,null,L(e.fileList,(r,b)=>(a(),E(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:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=w(Ve,[["render",Pe]]),Re=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=Z)}}),qe={class:"field"},Ue={class:"label"},Ce={class:"box"},Me={class:"title font-bold"};function ze(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",qe,[m("div",Ue,[m("div",Ce,[m("h2",Me,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]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=w(Re,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=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)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},xe={class:"title font-bold"};function We(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",Ne,[m("div",Be,[m("div",Fe,[m("h2",xe,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]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const He=w(De,[["render",We],["__scopeId","data-v-11116785"]]),Ze=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,ModelSelector:je,ResolutionSelector:He},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,c,i,p,h){const d=n("model-selector"),g=n("resolution-selector"),$=n("prompt-input"),f=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),l("div",Je,[m("div",Ke,[o(d,{class:"mb-4"}),o(g,{class:"mb-4"}),o($,{class:"mb-4"}),o(f,{class:"mb-4"})]),m("div",Qe,[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:v(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=w(Ze,[["render",Xe]]),et=y({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,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)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:2,class:O({content:!0})},Lt={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"},St={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,c,i,p,h){const d=n("el-image"),g=n("image-preview"),$=n("image-wrapper"),f=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),l("div",tt,[m("div",ot,[o(d,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",st,[m("div",at,[u(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",it,[e.referenceImages.length>0?(a(),l("div",lt,[(a(!0),l(I,null,L(e.referenceImages,(V,S)=>(a(),E(g,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):_("",!0),e.modelValue?.request?.prompt?(a(),l("p",rt,[u(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),l("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[m("div",pt,[(a(!0),l(I,null,L(e.images,(V,S)=>(a(),E($,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:v(()=>[o(f,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=W(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:v(()=>[u(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:v(()=>[e.modelValue?.request?.model?(a(),l("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+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",_t,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+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"])])):_("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(T,{closable:!1,class:"failure"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",bt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",kt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",yt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+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",It,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+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",Et,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",Vt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+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"])])):_("",!0)]),_:1})])):(a(),l("div",At,[o(T,{closable:!1,class:"info"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",Lt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",Tt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",St,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",Gt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+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 Ot=w(et,[["render",Pt],["__scopeId","data-v-87775c45"]]),Rt=y({name:"RecentPanel",components:{TaskPreview:Ot,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},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?.()}}}),qt={key:0},Ut={key:2,class:"w-full h-full flex items-center justify-center"};function Ct(e,t,c,i,p,h){const d=n("bot-placeholder"),g=n("task-preview"),$=n("scroll-list"),f=n("no-tasks");return a(),l(I,null,[e.tasks?.items===void 0?(a(),l("div",qt,[o(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E($,{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:v(()=>[(a(!0),l(I,null,L(e.tasks?.items,k=>(a(),E(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),l("div",Ut,[o(f)])):_("",!0)],64)}const Mt=w(Rt,[["render",Ct]]),D="https://webhook.acedata.cloud/openaiimage",zt=y({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Mt},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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const c=this.tasks?.items?.[0];if(!c?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,d=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:c.created_at}),await this.$nextTick(),p){const g=p.scrollHeight;p.scrollTop=g-h+d}}finally{this.loading=!1}},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},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(i,{token:p}):j.generate(c,{token:p})).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===ne?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 jt(e,t,c,i,p,h){const d=n("config-panel"),g=n("recent-panel"),$=n("layout");return a(),E($,null,{config:v(()=>[o(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:v(()=>[o(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const So=w(zt,[["render",jt]]);export{So as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as S}from"./index.es-B8UAYPlu.js";import{E as q}from"./index-B8kQljtZ.js";import{E as W}from"./index-BdOrPkLK.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as g,M as H,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as y,b1 as K,cy as J,cz as x,cA as P,cB as Q,cC as T,cD as G,cE as D,cF as j,ap as F}from"./index-B8NIXFXV.js";import{I as U,S as X}from"./ScrollList-BBAzavyB.js";import{E as Y}from"./index-C3qbB2R4.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as z}from"./ImagePreview-CiFwyV10.js";import{E as ee}from"./index-D2kYsNjd.js";import{E as R}from"./index-CcYxepTP.js";import{E as B,a as M}from"./index-BlaGrXYB.js";import{C as te}from"./Consumption-CZlzOFr-.js";import{a as oe}from"./price-BdhJYmzp.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-D4DjlkFJ.js";import{C as se}from"./CopyToClipboard-cz_FV7JQ.js";import{I as le}from"./ImageWrapper-s0bq8vjW.js";import{E as re}from"./index-qLx3hags.js";import{E as ie}from"./index-CsMsHthC.js";import{E as ce}from"./index-BzitVkNO.js";import{B as ue}from"./BotPlaceholder-BwOm41PC.js";import{N as de}from"./NoTasks-CNRFrdHu.js";import"./use-form-item-Bsmkxazb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-kbBRrRi0.js";import"./index-DlZ-gpNs.js";import"./index-CkzwyQNU.js";import"./index-Cq_8nzqD.js";import"./_baseClone-C0vKZ-2x.js";import"./_Uint8Array-Bq4W_aZw.js";import"./_initCloneObject-nuejNsVF.js";import"./isEqual-CBKi-9mc.js";import"./index-CEErdlw2.js";import"./strings-DigWlKo9.js";import"./castArray-DrkJhRjQ.js";import"./debounce-B-0O6GZN.js";import"./_baseIteratee-SXAlbslK.js";import"./index-BibFvigx.js";import"./index-IAptVusO.js";const me=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto 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 _e(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(me,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,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=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,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 Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:z,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/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(d=>!d?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const d=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);d?t.push(d):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()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[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:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[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(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),V(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 Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,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)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,b,i,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,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:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,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)}}),Me={class:"field"},Ge={class:"label"},De={class:"box"},je={class:"title font-bold"};function Fe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Me,[c("div",Ge,[c("div",De,[c("h2",je,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]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const xe=y(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),ze=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:D,label:D},{value:j,label:j}]}},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||T):(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=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",Je,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]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(ze,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:xe,ResolutionSelector:Xe},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 oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,b,i,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=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",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(m,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[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:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,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)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},dt={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},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={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"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:1,class:O({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={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"},Rt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},qt={key:2,class:O({content:!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Mt(e,t,b,i,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=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",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",dt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):g("",!0),e.modelValue?.request?.prompt?(n(),l("p",mt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):g("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[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)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[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)])):g("",!0),c("p",kt,[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",yt,[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)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",wt,[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"])])):g("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",At,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Nt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Et,[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)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Rt,[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)])):g("",!0),c("p",It,[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",Lt,[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",Tt,[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)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",St,[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"])])):g("",!0)]),_:1})])):(n(),l("div",qt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Ot,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ut,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ct,[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)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Pt,[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)])):g("",!0),c("p",Bt,[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 Gt=y(nt,[["render",Mt],["__scopeId","data-v-8d5f4fff"]]),Dt=k({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ue,NoTasks:de,ScrollList:X},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?.()}}}),jt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function xt(e,t,b,i,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",jt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(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:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(n(),l("div",Ft,[o(p)])):g("",!0)],64)}const zt=y(Dt,[["render",xt]]),Wt="https://webhook.acedata.cloud/nanobanana",Ht=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:zt},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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const b=this.tasks?.items?.[0];if(!b?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:b.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},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:b,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",b,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:b,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=T);const b={...e,action:t?"edit":"generate",callback_url:Wt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(b,{token:i}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===ae?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 Kt(e,t,b,i,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Mo=y(Ht,[["render",Kt]]);export{Mo as default};
|
|
1
|
+
import{F as S}from"./index.es-Ch1GF9O_.js";import{E as q}from"./index-F7Hu8Bm1.js";import{E as W}from"./index-DW6GnDHe.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as g,M as H,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as y,b1 as K,cy as J,cz as x,cA as P,cB as Q,cC as T,cD as G,cE as D,cF as j,ap as F}from"./index-hTMEW3di.js";import{I as U,S as X}from"./ScrollList--Rdy30ny.js";import{E as Y}from"./index-hTDB6FhP.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as z}from"./ImagePreview-ChsBY_yV.js";import{E as ee}from"./index-B0TvD8QB.js";import{E as R}from"./index-mQrTJe59.js";import{E as B,a as M}from"./index-BMb2yz7J.js";import{C as te}from"./Consumption-Bgr4zBx6.js";import{a as oe}from"./price-DrUKr34v.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-DopP8688.js";import{C as se}from"./CopyToClipboard-me8LNzZz.js";import{I as le}from"./ImageWrapper-Bmg_vx2-.js";import{E as re}from"./index-ZULa5rJ5.js";import{E as ie}from"./index-p-Fx8nJo.js";import{E as ce}from"./index-CxOOrmyw.js";import{B as ue}from"./BotPlaceholder-TpKY21KU.js";import{N as de}from"./NoTasks-C2JnFhyL.js";import"./use-form-item-CduoD2dJ.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-DYToGBau.js";import"./index-C1k6vlvL.js";import"./index-efKug9ge.js";import"./index-CgvrKpmg.js";import"./_baseClone-d2_dNmf5.js";import"./_Uint8Array-BsuIvcoq.js";import"./_initCloneObject-DFQF2czX.js";import"./isEqual-7A3s6xld.js";import"./index-DcqPzdPG.js";import"./strings-DigWlKo9.js";import"./castArray-CzNVm6L8.js";import"./debounce-CVIFJBK5.js";import"./_baseIteratee-DOL5_qvi.js";import"./index-CPp1pb0A.js";import"./index-CIpTpIie.js";const me=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto 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 _e(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(me,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,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=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,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 Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:z,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/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(d=>!d?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const d=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);d?t.push(d):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()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[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:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[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(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),V(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 Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,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)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,b,i,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,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:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,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)}}),Me={class:"field"},Ge={class:"label"},De={class:"box"},je={class:"title font-bold"};function Fe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Me,[c("div",Ge,[c("div",De,[c("h2",je,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]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const xe=y(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),ze=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:D,label:D},{value:j,label:j}]}},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||T):(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=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",Je,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]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(ze,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:xe,ResolutionSelector:Xe},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 oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,b,i,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=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",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(m,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[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:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,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)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},dt={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},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={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"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:1,class:O({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={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"},Rt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},qt={key:2,class:O({content:!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Mt(e,t,b,i,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=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",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",dt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):g("",!0),e.modelValue?.request?.prompt?(n(),l("p",mt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):g("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[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)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[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)])):g("",!0),c("p",kt,[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",yt,[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)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",wt,[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"])])):g("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",At,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Nt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Et,[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)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Rt,[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)])):g("",!0),c("p",It,[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",Lt,[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",Tt,[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)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",St,[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"])])):g("",!0)]),_:1})])):(n(),l("div",qt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Ot,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ut,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ct,[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)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Pt,[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)])):g("",!0),c("p",Bt,[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 Gt=y(nt,[["render",Mt],["__scopeId","data-v-8d5f4fff"]]),Dt=k({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ue,NoTasks:de,ScrollList:X},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?.()}}}),jt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function xt(e,t,b,i,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",jt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(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:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(n(),l("div",Ft,[o(p)])):g("",!0)],64)}const zt=y(Dt,[["render",xt]]),Wt="https://webhook.acedata.cloud/nanobanana",Ht=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:zt},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(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const b=this.tasks?.items?.[0];if(!b?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:b.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},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:b,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",b,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:b,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=T);const b={...e,action:t?"edit":"generate",callback_url:Wt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(b,{token:i}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===ae?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 Kt(e,t,b,i,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Mo=y(Ht,[["render",Kt]]);export{Mo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as L}from"./index.es-B8UAYPlu.js";import{E as V}from"./index-B8kQljtZ.js";import{E as R}from"./index-BdOrPkLK.js";import{d as b,H as i,E as r,z as T,C as t,y as d,D as a,q as s,F as o,O as C,N as G,x as v,I as u,J as m,M as A,Q as S}from"./vendor-vue-DU0w5ewx.js";import{E as k,b1 as M,ap as U}from"./index-B8NIXFXV.js";import{a as D}from"./hailuo-C8Dw-0xR.js";import{E as j,a as B}from"./index-BlaGrXYB.js";import{p as q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as F}from"./ScrollList-BBAzavyB.js";import{I as O}from"./ImagePreview-CiFwyV10.js";import{E as z}from"./index-D2kYsNjd.js";import{E}from"./index-CcYxepTP.js";import{E as N}from"./index-C3qbB2R4.js";import{C as H}from"./Consumption-CZlzOFr-.js";import{a as J}from"./price-BdhJYmzp.js";import{b as K}from"./errorCode-Cqj9Td_Z.js";import{h as Q}from"./hailuo-BHyeB8iZ.js";import{C as W}from"./CopyToClipboard-cz_FV7JQ.js";import{V as X}from"./VideoPlayer-qCvWONkJ.js";import{E as Y}from"./index-qLx3hags.js";import{E as Z}from"./index-CsMsHthC.js";import{E as x}from"./index-BzitVkNO.js";import{B as ee}from"./BotPlaceholder-BwOm41PC.js";import{N as te}from"./NoTasks-CNRFrdHu.js";import{l as oe}from"./pagination-CcnL0MdN.js";import"./use-form-item-Bsmkxazb.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./index-CEErdlw2.js";import"./typescript-kbBRrRi0.js";import"./index-DlZ-gpNs.js";import"./strings-DigWlKo9.js";import"./isEqual-CBKi-9mc.js";import"./_Uint8Array-Bq4W_aZw.js";import"./castArray-DrkJhRjQ.js";import"./debounce-B-0O6GZN.js";import"./_baseIteratee-SXAlbslK.js";import"./index-BibFvigx.js";import"./index-Cq_8nzqD.js";import"./_baseClone-C0vKZ-2x.js";import"./_initCloneObject-nuejNsVF.js";import"./index-CkzwyQNU.js";import"./vue-plyr-BO2nlN4c.js";import"./index-IAptVusO.js";const se=b({name:"LayoutHailuo",components:{ElDrawer:R,ElButton:V,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},ne={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},le={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ie(e,n,f,g,w,y){const p=a("font-awesome-icon"),h=a("el-button"),c=a("el-drawer");return s(),i("div",ae,[r("div",ne,[T(e.$slots,"config",{},void 0,!0)]),r("div",le,[T(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:n[0]||(n[0]=_=>e.drawer=!0)},{default:d(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(c,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const re=k(se,[["render",ie],["__scopeId","data-v-fa61db7a"]]),ce=b({name:"ModelSelector",components:{ElSelect:B,ElOption:j},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")},{value:"minimax-i2v-director",label:this.$t("hailuo.button.model3")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=D)}}),de={class:"field"},ue={class:"title font-bold"},me={class:"float-left"};function pe(e,n,f,g,w,y){const p=a("el-option"),h=a("el-select");return s(),i("div",de,[r("h2",ue,o(e.$t("hailuo.name.model")),1),t(h,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=c=>e.value=c),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:d(()=>[(s(!0),i(C,null,G(e.options,c=>(s(),v(p,{key:c.value,label:c.label,value:c.value},{default:d(()=>[r("span",me,o(c.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=k(ce,[["render",pe],["__scopeId","data-v-a768fbd9"]]),fe=b({name:"StartImageUrlInput",components:{ElUpload:z,ElButton:V,InfoIcon:P,ImagePreview:O},mixins:[q],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){E.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ge={class:"relative"},_e={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"};function be(e,n,f,g,w,y){const p=a("info-icon"),h=a("image-preview"),c=a("el-button"),_=a("el-upload");return s(),i("div",ge,[r("div",_e,[r("div",$e,[r("span",ve,o(e.$t("hailuo.name.startImageUrl")),1),t(p,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=l=>e.fileList=l),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:l})=>[l.url&&l.percentage!==void 0?(s(),v(h,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(c,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[u(o(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const ke=k(fe,[["render",be],["__scopeId","data-v-48f4a681"]]),we="",ye=b({name:"PromptInput",components:{ElInput:N,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=we)}}),Ee={class:"field"},Ve={class:"box"},Se={class:"title font-bold"};function Ie(e,n,f,g,w,y){const p=a("info-icon"),h=a("el-input");return s(),i("div",Ee,[r("div",Ve,[r("h2",Se,o(e.$t("hailuo.name.prompt")),1),t(p,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(h,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=c=>e.prompt=c),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Te=k(ye,[["render",Ie],["__scopeId","data-v-c601bcba"]]),Ce=b({name:"PresetPanel",components:{ElButton:V,FontAwesomeIcon:L,PromptInput:Te,StartImageUrlInput:ke,ModelSelector:he,Consumption:H},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Le={class:"flex flex-col h-full"},Ue={class:"flex-1 overflow-y-auto p-5"},Ge={class:"flex flex-col items-center justify-center px-5 pb-5"};function Pe(e,n,f,g,w,y){const p=a("prompt-input"),h=a("model-selector"),c=a("start-image-url-input"),_=a("consumption"),l=a("font-awesome-icon"),$=a("el-button");return s(),i("div",Le,[r("div",Ue,[t(p,{class:"mb-4"}),t(h,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(s(),v(c,{key:0,class:"mb-2"})):m("",!0)]),r("div",Ge,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(s(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(s(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Re=k(Ce,[["render",Pe]]),Ae=b({name:"TaskPreview",components:{ElImage:x,CopyToClipboard:W,FontAwesomeIcon:L,ElAlert:Z,VideoPlayer:X,ElTooltip:Y,ElButton:V},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Me={class:"preview"},De={class:"left"},je={class:"main"},Be={class:"bot"},qe={class:"datetime"},Fe={class:"info"},Oe={key:0,class:"prompt mt-2"},ze={key:0},Ne={key:1},He={key:0,class:S({content:!0,failed:!0})},Je={key:0,class:"mb-4"},Ke={key:1,class:S({operations:!0,"mt-2":!0})},Qe={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xe={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ye={key:1,class:S({content:!0})},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xe={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},et={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},tt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ot={key:2,class:S({content:!0})},st={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function at(e,n,f,g,w,y){const p=a("el-image"),h=a("video-player"),c=a("el-button"),_=a("el-tooltip"),l=a("font-awesome-icon"),$=a("copy-to-clipboard"),I=a("el-alert");return s(),i("div",Me,[r("div",De,[t(p,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),r("div",je,[r("div",Be,[u(o(e.$t("hailuo.name.hailuoBot"))+" ",1),r("span",qe,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Fe,[e.modelValue?.request?.prompt?(s(),i("p",Oe,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),i("span",ze," - ("+o(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(s(),i("span",Ne," - ("+o(e.$t("hailuo.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),i("div",He,[e.video?.video_url?(s(),i("div",Je,[t(h,{src:e.video?.video_url},null,8,["src"])])):m("",!0),e.video?(s(),i("div",Ke,[t(_,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.video?.video_url?(s(),v(c,{key:0,type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=A(ht=>e.onDownload(e.video?.video_url),["stop"]))},{default:d(()=>[u(o(e.$t("hailuo.button.download")),1)]),_:1})):m("",!0)]),_:1},8,["content"])])):m("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(s(),i("p",Qe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.model"))+": "+o(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),r("p",We,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),i("p",Xe,[t(l,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),i("div",Ye,[t(I,{closable:!1,class:"failure"},{template:d(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.failure")),1)]),default:d(()=>[r("p",Ze,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),r("p",xe,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),i("p",et,[t(l,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),r("p",tt,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),i("div",ot,[t(I,{closable:!1,class:"info"},{template:d(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.failure")),1)]),default:d(()=>[r("p",st,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const nt=k(Ae,[["render",at],["__scopeId","data-v-1ff65585"]]),lt=b({name:"RecentPanel",components:{TaskPreview:nt,BotPlaceholder:ee,NoTasks:te,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),it={key:0},rt={key:2,class:"w-full h-full flex items-center justify-center"};function ct(e,n,f,g,w,y){const p=a("bot-placeholder"),h=a("task-preview"),c=a("scroll-list"),_=a("no-tasks");return s(),i(C,null,[e.tasks?.items===void 0?(s(),i("div",it,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),v(c,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=l=>e.$emit("reach-top"))},{default:d(()=>[(s(!0),i(C,null,G(e.tasks?.items,l=>(s(),v(h,{key:l.id,"model-value":l},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),i("div",rt,[t(_)])):m("",!0)],64)}const dt=k(lt,[["render",ct]]),ut="https://webhook.acedata.cloud/hailuo",mt=b({name:"HailuoIndex",components:{ConfigPanel:Re,Layout:re,RecentPanel:dt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===U.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===U.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.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.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("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/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:n=5,createdAtMin:f,createdAtMax:g}=e||{};console.debug("limit",n,"createdAtMin",f,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("hailuo/getTasks",{limit:n,createdAtMin:f,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:ut},n=this.credential?.token;if(!n){console.error("no token specified");return}E.info(this.$t("hailuo.message.startingTask")),Q.generate(e,{token:n}).then(()=>{E.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?E.error(this.$t("hailuo.message.usedUp")):E.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function pt(e,n,f,g,w,y){const p=a("config-panel"),h=a("recent-panel"),c=a("layout");return s(),v(c,null,{config:d(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(h,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const io=k(mt,[["render",pt]]);export{io as default};
|
|
1
|
+
import{F as L}from"./index.es-Ch1GF9O_.js";import{E as V}from"./index-F7Hu8Bm1.js";import{E as R}from"./index-DW6GnDHe.js";import{d as b,H as i,E as r,z as T,C as t,y as d,D as a,q as s,F as o,O as C,N as G,x as v,I as u,J as m,M as A,Q as S}from"./vendor-vue-DU0w5ewx.js";import{E as k,b1 as M,ap as U}from"./index-hTMEW3di.js";import{a as D}from"./hailuo-C8Dw-0xR.js";import{E as j,a as B}from"./index-BMb2yz7J.js";import{p as q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as F}from"./ScrollList--Rdy30ny.js";import{I as O}from"./ImagePreview-ChsBY_yV.js";import{E as z}from"./index-B0TvD8QB.js";import{E}from"./index-mQrTJe59.js";import{E as N}from"./index-hTDB6FhP.js";import{C as H}from"./Consumption-Bgr4zBx6.js";import{a as J}from"./price-DrUKr34v.js";import{b as K}from"./errorCode-Cqj9Td_Z.js";import{h as Q}from"./hailuo-BYd0bkf-.js";import{C as W}from"./CopyToClipboard-me8LNzZz.js";import{V as X}from"./VideoPlayer-UHFMqgfu.js";import{E as Y}from"./index-ZULa5rJ5.js";import{E as Z}from"./index-p-Fx8nJo.js";import{E as x}from"./index-CxOOrmyw.js";import{B as ee}from"./BotPlaceholder-TpKY21KU.js";import{N as te}from"./NoTasks-C2JnFhyL.js";import{l as oe}from"./pagination-CcnL0MdN.js";import"./use-form-item-CduoD2dJ.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./index-DcqPzdPG.js";import"./typescript-DYToGBau.js";import"./index-C1k6vlvL.js";import"./strings-DigWlKo9.js";import"./isEqual-7A3s6xld.js";import"./_Uint8Array-BsuIvcoq.js";import"./castArray-CzNVm6L8.js";import"./debounce-CVIFJBK5.js";import"./_baseIteratee-DOL5_qvi.js";import"./index-CPp1pb0A.js";import"./index-CgvrKpmg.js";import"./_baseClone-d2_dNmf5.js";import"./_initCloneObject-DFQF2czX.js";import"./index-efKug9ge.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CIpTpIie.js";const se=b({name:"LayoutHailuo",components:{ElDrawer:R,ElButton:V,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},ne={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},le={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ie(e,n,f,g,w,y){const p=a("font-awesome-icon"),h=a("el-button"),c=a("el-drawer");return s(),i("div",ae,[r("div",ne,[T(e.$slots,"config",{},void 0,!0)]),r("div",le,[T(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:n[0]||(n[0]=_=>e.drawer=!0)},{default:d(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(c,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[T(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const re=k(se,[["render",ie],["__scopeId","data-v-fa61db7a"]]),ce=b({name:"ModelSelector",components:{ElSelect:B,ElOption:j},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")},{value:"minimax-i2v-director",label:this.$t("hailuo.button.model3")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=D)}}),de={class:"field"},ue={class:"title font-bold"},me={class:"float-left"};function pe(e,n,f,g,w,y){const p=a("el-option"),h=a("el-select");return s(),i("div",de,[r("h2",ue,o(e.$t("hailuo.name.model")),1),t(h,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=c=>e.value=c),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:d(()=>[(s(!0),i(C,null,G(e.options,c=>(s(),v(p,{key:c.value,label:c.label,value:c.value},{default:d(()=>[r("span",me,o(c.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=k(ce,[["render",pe],["__scopeId","data-v-a768fbd9"]]),fe=b({name:"StartImageUrlInput",components:{ElUpload:z,ElButton:V,InfoIcon:P,ImagePreview:O},mixins:[q],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){E.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ge={class:"relative"},_e={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"};function be(e,n,f,g,w,y){const p=a("info-icon"),h=a("image-preview"),c=a("el-button"),_=a("el-upload");return s(),i("div",ge,[r("div",_e,[r("div",$e,[r("span",ve,o(e.$t("hailuo.name.startImageUrl")),1),t(p,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":n[0]||(n[0]=l=>e.fileList=l),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:l})=>[l.url&&l.percentage!==void 0?(s(),v(h,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(c,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[u(o(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const ke=k(fe,[["render",be],["__scopeId","data-v-48f4a681"]]),we="",ye=b({name:"PromptInput",components:{ElInput:N,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=we)}}),Ee={class:"field"},Ve={class:"box"},Se={class:"title font-bold"};function Ie(e,n,f,g,w,y){const p=a("info-icon"),h=a("el-input");return s(),i("div",Ee,[r("div",Ve,[r("h2",Se,o(e.$t("hailuo.name.prompt")),1),t(p,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(h,{modelValue:e.prompt,"onUpdate:modelValue":n[0]||(n[0]=c=>e.prompt=c),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Te=k(ye,[["render",Ie],["__scopeId","data-v-c601bcba"]]),Ce=b({name:"PresetPanel",components:{ElButton:V,FontAwesomeIcon:L,PromptInput:Te,StartImageUrlInput:ke,ModelSelector:he,Consumption:H},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Le={class:"flex flex-col h-full"},Ue={class:"flex-1 overflow-y-auto p-5"},Ge={class:"flex flex-col items-center justify-center px-5 pb-5"};function Pe(e,n,f,g,w,y){const p=a("prompt-input"),h=a("model-selector"),c=a("start-image-url-input"),_=a("consumption"),l=a("font-awesome-icon"),$=a("el-button");return s(),i("div",Le,[r("div",Ue,[t(p,{class:"mb-4"}),t(h,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(s(),v(c,{key:0,class:"mb-2"})):m("",!0)]),r("div",Ge,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(s(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(s(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Re=k(Ce,[["render",Pe]]),Ae=b({name:"TaskPreview",components:{ElImage:x,CopyToClipboard:W,FontAwesomeIcon:L,ElAlert:Z,VideoPlayer:X,ElTooltip:Y,ElButton:V},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Me={class:"preview"},De={class:"left"},je={class:"main"},Be={class:"bot"},qe={class:"datetime"},Fe={class:"info"},Oe={key:0,class:"prompt mt-2"},ze={key:0},Ne={key:1},He={key:0,class:S({content:!0,failed:!0})},Je={key:0,class:"mb-4"},Ke={key:1,class:S({operations:!0,"mt-2":!0})},Qe={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Xe={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ye={key:1,class:S({content:!0})},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xe={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},et={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},tt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ot={key:2,class:S({content:!0})},st={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function at(e,n,f,g,w,y){const p=a("el-image"),h=a("video-player"),c=a("el-button"),_=a("el-tooltip"),l=a("font-awesome-icon"),$=a("copy-to-clipboard"),I=a("el-alert");return s(),i("div",Me,[r("div",De,[t(p,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),r("div",je,[r("div",Be,[u(o(e.$t("hailuo.name.hailuoBot"))+" ",1),r("span",qe,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Fe,[e.modelValue?.request?.prompt?(s(),i("p",Oe,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(s(),i("span",ze," - ("+o(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(s(),i("span",Ne," - ("+o(e.$t("hailuo.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(s(),i("div",He,[e.video?.video_url?(s(),i("div",Je,[t(h,{src:e.video?.video_url},null,8,["src"])])):m("",!0),e.video?(s(),i("div",Ke,[t(_,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.video?.video_url?(s(),v(c,{key:0,type:"info",size:"small",class:"mb-2",onClick:n[0]||(n[0]=A(ht=>e.onDownload(e.video?.video_url),["stop"]))},{default:d(()=>[u(o(e.$t("hailuo.button.download")),1)]),_:1})):m("",!0)]),_:1},8,["content"])])):m("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(s(),i("p",Qe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.model"))+": "+o(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),r("p",We,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(s(),i("p",Xe,[t(l,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0)]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(s(),i("div",Ye,[t(I,{closable:!1,class:"failure"},{template:d(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.failure")),1)]),default:d(()=>[r("p",Ze,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),r("p",xe,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(s(),i("p",et,[t(l,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):m("",!0),r("p",tt,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(s(),i("div",ot,[t(I,{closable:!1,class:"info"},{template:d(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.failure")),1)]),default:d(()=>[r("p",st,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("hailuo.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const nt=k(Ae,[["render",at],["__scopeId","data-v-1ff65585"]]),lt=b({name:"RecentPanel",components:{TaskPreview:nt,BotPlaceholder:ee,NoTasks:te,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),it={key:0},rt={key:2,class:"w-full h-full flex items-center justify-center"};function ct(e,n,f,g,w,y){const p=a("bot-placeholder"),h=a("task-preview"),c=a("scroll-list"),_=a("no-tasks");return s(),i(C,null,[e.tasks?.items===void 0?(s(),i("div",it,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(s(),v(c,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:n[0]||(n[0]=l=>e.$emit("reach-top"))},{default:d(()=>[(s(!0),i(C,null,G(e.tasks?.items,l=>(s(),v(h,{key:l.id,"model-value":l},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(s(),i("div",rt,[t(_)])):m("",!0)],64)}const dt=k(lt,[["render",ct]]),ut="https://webhook.acedata.cloud/hailuo",mt=b({name:"HailuoIndex",components:{ConfigPanel:Re,Layout:re,RecentPanel:dt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===U.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===U.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,n){e?.items?.length>n?.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.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("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/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:n=5,createdAtMin:f,createdAtMax:g}=e||{};console.debug("limit",n,"createdAtMin",f,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("hailuo/getTasks",{limit:n,createdAtMin:f,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:ut},n=this.credential?.token;if(!n){console.error("no token specified");return}E.info(this.$t("hailuo.message.startingTask")),Q.generate(e,{token:n}).then(()=>{E.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?E.error(this.$t("hailuo.message.usedUp")):E.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function pt(e,n,f,g,w,y){const p=a("config-panel"),h=a("recent-panel"),c=a("layout");return s(),v(c,null,{config:d(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(h,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const io=k(mt,[["render",pt]]);export{io as default};
|