@acedatacloud/nexior 3.179.0 → 3.181.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-CqkOXJ-M.js → Auth-6X1mqpdl.js} +1 -1
- package/dist/assets/{BotPlaceholder-kv0nRQqU.js → BotPlaceholder-Lxsi7yXh.js} +1 -1
- package/dist/assets/{Callback-B26Ov-l9.js → Callback-BwFu4gAH.js} +1 -1
- package/dist/assets/Console-v23lzbjT.js +1 -0
- package/dist/assets/{Consumption-DJUG1k1m.js → Consumption-C8V--EC7.js} +1 -1
- package/dist/assets/{Conversation-CBa14Lay.css → Conversation-B4mt6Tqy.css} +1 -1
- package/dist/assets/{Conversation-Cqd-kB_R.js → Conversation-DUjXzYWV.js} +2 -2
- package/dist/assets/CopyToClipboard-BN_GVB08.js +1 -0
- package/dist/assets/{Detail-Dyz4YDG3.js → Detail-D4BUedpc.js} +2 -2
- package/dist/assets/EditArray-B4LwGKJc.css +1 -0
- package/dist/assets/EditArray-WmZL0DKr.js +3 -0
- package/dist/assets/{Extra-Bu5P9Gmt.js → Extra-DiRFXb8c.js} +1 -1
- package/dist/assets/{FilePreview-DBXd2OYY.js → FilePreview-muQuClw5.js} +1 -1
- package/dist/assets/{History-CLLbuKQl.js → History-CKw6dhCt.js} +1 -1
- package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-HDVzxK7P.js → IconPark.vue_vue_type_script_setup_true_lang-CPDlgXzl.js} +1 -1
- package/dist/assets/{ImagePreview-BCh24l78.js → ImagePreview-DRhaeMj1.js} +1 -1
- package/dist/assets/{ImageWrapper-BSLUnkhO.js → ImageWrapper-CeEPqZle.js} +1 -1
- package/dist/assets/{Index-BmrZbGKL.js → Index-3SAJNeKz.js} +1 -1
- package/dist/assets/{Index-CY0NgZ8O.js → Index-B07yTrTm.js} +1 -1
- package/dist/assets/{Index-DZ45YQ1s.js → Index-BZ0MNZmr.js} +1 -1
- package/dist/assets/{Index-b_LsEI7S.js → Index-BaSAEA84.js} +1 -1
- package/dist/assets/{Index-Cv-ejqtl.js → Index-Bd4T6fOJ.js} +1 -1
- package/dist/assets/{Index-paclrTF9.js → Index-BjXk8yBc.js} +1 -1
- package/dist/assets/{Index-D7NmHnY-.js → Index-C2-oXCwI.js} +1 -1
- package/dist/assets/{Index-BcmO7P8z.js → Index-C4qbBhyv.js} +1 -1
- package/dist/assets/{Index-Dmn3OZeK.js → Index-CQb9ZS4e.js} +1 -1
- package/dist/assets/{Index-CCB1wZQ6.js → Index-CWAmktLN.js} +1 -1
- package/dist/assets/Index-CfMHlHHp.js +1 -0
- package/dist/assets/{Index-D-o9LWyH.js → Index-Ci-DLJ8G.js} +1 -1
- package/dist/assets/{Index-C0230sTz.js → Index-CxQ2t71p.js} +1 -1
- package/dist/assets/Index-DAqmhqGb.css +1 -0
- package/dist/assets/{Index-PM5FG4QG.js → Index-DHw-mL0t.js} +1 -1
- package/dist/assets/{Index-t_FespDE.js → Index-DTuQKUWG.js} +1 -1
- package/dist/assets/{Index-BPNrojyU.js → Index-DU0-mCcU.js} +1 -1
- package/dist/assets/{Index-D7opU2Cp.js → Index-DXKyyNwA.js} +1 -1
- package/dist/assets/{Index-D7Mo-eiI.js → Index-Dadc27Wb.js} +1 -1
- package/dist/assets/{Index-Bc6PEXgr.js → Index-DfqkgxvZ.js} +1 -1
- package/dist/assets/{Index-D1Uh8uej.js → Index-DiP8LD1B.js} +1 -1
- package/dist/assets/{Index-DqcBdTjf.js → Index-Dr98GZo_.js} +1 -1
- package/dist/assets/{Index-C3ewOeaP.js → Index-eMhNtBK1.js} +1 -1
- package/dist/assets/{Index-CGimT562.js → Index-gnmXAcmI.js} +1 -1
- package/dist/assets/{Index-Bq5lSLVh.js → Index-hYpEH6nt.js} +2 -2
- package/dist/assets/{Invitees-BH9tzPGW.js → Invitees-C3QhlXSH.js} +1 -1
- package/dist/assets/{List-CmvwfiP0.js → List-4bTO3JTB.js} +1 -1
- package/dist/assets/{List-DuXci3Pu.js → List-DEdrm-nY.js} +1 -1
- package/dist/assets/{List-QOOy8E3L.js → List-bzwKqmq1.js} +1 -1
- package/dist/assets/Main-idnw3o_6.js +1 -0
- package/dist/assets/{Navigator-DOpj6N4Y.css → Navigator-DxOb5Va_.css} +1 -1
- package/dist/assets/Navigator-kfceBA72.js +1 -0
- package/dist/assets/{NoTasks-B4ZI988H.js → NoTasks-B39yxIND.js} +1 -1
- package/dist/assets/{NotFound-C9HDGNwg.js → NotFound-CypOK0ch.js} +1 -1
- package/dist/assets/{OAuthCallback-BJFZmqcM.js → OAuthCallback-DWRm086p.js} +1 -1
- package/dist/assets/{Pagination-DuKf7boP.js → Pagination-BG6Ggelj.js} +1 -1
- package/dist/assets/{Status-BTnvuRCA.js → Status-C_f6q1WW.js} +1 -1
- package/dist/assets/{Subscribe-vvIbGzPS.js → Subscribe-BvyytA7O.js} +1 -1
- package/dist/assets/{VideoPlayer-5xWps39-.js → VideoPlayer-DeefBCor.js} +1 -1
- package/dist/assets/{_Uint8Array-CdonPqER.js → _Uint8Array-0ZrewKty.js} +1 -1
- package/dist/assets/{_baseClone-BPc9nvZg.js → _baseClone-I25WNFTn.js} +1 -1
- package/dist/assets/{_baseIteratee-NsiiN0O1.js → _baseIteratee-BaCwCO2P.js} +1 -1
- package/dist/assets/{_initCloneObject-DVq_tAAN.js → _initCloneObject-BBp5M13E.js} +1 -1
- package/dist/assets/{add-BPGQ0Str.js → add-DyXGxnzV.js} +1 -1
- package/dist/assets/{all-wallets-HLPbUJ8t.js → all-wallets-BUUST1Sc.js} +1 -1
- package/dist/assets/{app-store-BL4vCqj6.js → app-store-Dl3xl-LV.js} +1 -1
- package/dist/assets/{apple-PDYUABta.js → apple-CX-4lCfg.js} +1 -1
- package/dist/assets/{arrow-bottom-ByFUt44d.js → arrow-bottom-BX7yGSYI.js} +1 -1
- package/dist/assets/{arrow-bottom-circle-YCG71JhY.js → arrow-bottom-circle-DjsZtL6-.js} +1 -1
- package/dist/assets/{arrow-left-BX5aH_D2.js → arrow-left-Cbl-qE3A.js} +1 -1
- package/dist/assets/{arrow-right-Loktp5DY.js → arrow-right-DDlCrcCD.js} +1 -1
- package/dist/assets/{arrow-top-5k14mJL6.js → arrow-top-bdCE740k.js} +1 -1
- package/dist/assets/{avatar-Cy05bKtW.js → avatar-CLE3zRzF.js} +1 -1
- package/dist/assets/{bank-O0fxhP-q.js → bank-DCEammxP.js} +1 -1
- package/dist/assets/{basic-BEALFaww.js → basic-s9E4WVEL.js} +1 -1
- package/dist/assets/{browser-BWlYInVl.js → browser-B5z2toLb.js} +1 -1
- package/dist/assets/{byokCredential-Ehcu8Enc.js → byokCredential-YuAk47l8.js} +1 -1
- package/dist/assets/{card-DWzJMawu.js → card-BKjC1ffr.js} +1 -1
- package/dist/assets/{castArray-C8WnuzhR.js → castArray-MGnU8s5j.js} +1 -1
- package/dist/assets/{chat-CF8xKziD.js → chat-BKk_VFNZ.js} +1 -1
- package/dist/assets/{checkmark-CWTj2jsv.js → checkmark-DRw3QBZa.js} +1 -1
- package/dist/assets/{checkmark-bold-CUA7o6E4.js → checkmark-bold-5jxRecSi.js} +1 -1
- package/dist/assets/{chevron-bottom-CxcEbRdw.js → chevron-bottom-NFvbnY6T.js} +1 -1
- package/dist/assets/{chevron-left-CNMI57vF.js → chevron-left-SaBJW3ZO.js} +1 -1
- package/dist/assets/{chevron-right-Dl3yht6L.js → chevron-right-v5wE5-dH.js} +1 -1
- package/dist/assets/{chevron-top-D-50lMkv.js → chevron-top-yBdUk3Ve.js} +1 -1
- package/dist/assets/{chrome-store-4h6NE5rk.js → chrome-store-B6iK7Afk.js} +1 -1
- package/dist/assets/{clock-CjTO69PX.js → clock-DLHmifEq.js} +1 -1
- package/dist/assets/{close-Cfevt2Vz.js → close-wqBOLt_K.js} +1 -1
- package/dist/assets/{coinPlaceholder-B3TKdRLR.js → coinPlaceholder-CCnF5z3R.js} +1 -1
- package/dist/assets/{compass-BMh3cCna.js → compass-BxuVFOYv.js} +1 -1
- package/dist/assets/{copy-7dPEbbnP.js → copy-abAywOQZ.js} +1 -1
- package/dist/assets/{createTaskActions-C-RwZsHm.js → createTaskActions-D_Ic5id4.js} +1 -1
- package/dist/assets/{cursor-DjMZq1Y8.js → cursor-DaMH_y6m.js} +1 -1
- package/dist/assets/{cursor-transparent-DnYNIEmk.js → cursor-transparent-DEfjj7og.js} +1 -1
- package/dist/assets/{debounce-DhAudFdR.js → debounce-BKi6w8Na.js} +1 -1
- package/dist/assets/{desktop-C6kAykZq.js → desktop-DeP2huIA.js} +1 -1
- package/dist/assets/{disconnect-CHu9k02i.js → disconnect-DQ76KeBM.js} +1 -1
- package/dist/assets/{discord-miK7zsW8.js → discord-qbKc2oSr.js} +1 -1
- package/dist/assets/{distribution-Cb4SlDzT.js → distribution-xaXFj3l3.js} +1 -1
- package/dist/assets/{dropdown-t-bx000v.js → dropdown-Ra7EQWbN.js} +1 -1
- package/dist/assets/{etherscan-DjlXtFP-.js → etherscan-Dkj_WBWF.js} +1 -1
- package/dist/assets/{exclamation-triangle-yw7VGy1I.js → exclamation-triangle-CI4Z05nK.js} +1 -1
- package/dist/assets/{extension-CGrlD02i.js → extension-CY6KhFdU.js} +1 -1
- package/dist/assets/{external-link-B7DVO8p-.js → external-link-DHoj_H1Y.js} +1 -1
- package/dist/assets/{facebook-eNPJ1cc3.js → facebook-qN8I9Cty.js} +1 -1
- package/dist/assets/{farcaster-sEb_j39v.js → farcaster-GQrBtGVh.js} +1 -1
- package/dist/assets/{filters-mqVbrpcX.js → filters-Ba_Ga_e9.js} +1 -1
- package/dist/assets/{github-CaxpvDt-.js → github-B0WVBSxQ.js} +1 -1
- package/dist/assets/{google-C_J0uwvg.js → google-C6xN7Cqd.js} +1 -1
- package/dist/assets/{help-circle-B9T43-bY.js → help-circle-CLfAFAqo.js} +1 -1
- package/dist/assets/{id-cs9N-m4o.js → id-DsRkOtO0.js} +1 -1
- package/dist/assets/{image-yihVTJAW.js → image-TiUBe44k.js} +1 -1
- package/dist/assets/{index-3ff4uKKB.js → index--DNM6FzG.js} +1 -1
- package/dist/assets/index-1duw3meC.js +1 -0
- package/dist/assets/{index-CSUcGojr.js → index-1uyc0tg8.js} +1 -1
- package/dist/assets/{index-CIxi9iEl.js → index-4UPfIKvp.js} +1 -1
- package/dist/assets/{index-CPzcFaJL.js → index-B9ylfZLv.js} +1 -1
- package/dist/assets/{index-DpeiXjg7.js → index-BDlHM8zw.js} +1 -1
- package/dist/assets/{index-D_fQFm6U.js → index-BELgNDfW.js} +1 -1
- package/dist/assets/{index-DNnJEboY.js → index-BGlYeKl6.js} +1 -1
- package/dist/assets/{index-Dcnz7cPI.js → index-BHc6TkFb.js} +1 -1
- package/dist/assets/{index-C6vAVe7Q.js → index-BKD8LGUx.js} +3 -3
- package/dist/assets/{index-93--qLdw.js → index-BN_krRZf.js} +1 -1
- package/dist/assets/{index-DdLzb9JE.js → index-BfcZVTcY.js} +1 -1
- package/dist/assets/{index-B21Nw_xM.js → index-Bg2TrlsN.js} +1 -1
- package/dist/assets/{index-S89iak1F.js → index-Bjh2SIj8.js} +2 -2
- package/dist/assets/{index-Dft1uQH2.js → index-BohXbZ2r.js} +1 -1
- package/dist/assets/{index-wnn-X3Y5.js → index-BptLZSby.js} +1 -1
- package/dist/assets/{index-Bo-a6D0U.js → index-Bu55nuxi.js} +1 -1
- package/dist/assets/{index-B_3mwq_m.js → index-Bv-1-Obz.js} +1 -1
- package/dist/assets/{index-7IPw5ILt.js → index-BxMpD69n.js} +1 -1
- package/dist/assets/{index-4ffeIpZo.js → index-By5g2siy.js} +1 -1
- package/dist/assets/{index-CHuQ56kk.js → index-BzOLOniL.js} +1 -1
- package/dist/assets/{index-BukSlPbn.js → index-C0525YW1.js} +1 -1
- package/dist/assets/{index-9c6mlyah.js → index-C35824SI.js} +1 -1
- package/dist/assets/{index-D9orkhAB.js → index-C4zRizPG.js} +1 -1
- package/dist/assets/{index-ePgSEI0d.js → index-C6A_7e6l.js} +1 -1
- package/dist/assets/index-C769Onuz.js +569 -0
- package/dist/assets/{index-L9cD8wkW.js → index-CCXRmNud.js} +1 -1
- package/dist/assets/{index-D-GfSygv.js → index-CWBk6P60.js} +1 -1
- package/dist/assets/{index-DivFIyFF.js → index-Cgpguu1p.js} +1 -1
- package/dist/assets/{index-DlUl88Dl.js → index-CiH560eB.js} +1 -1
- package/dist/assets/{index-DOU3sepV.js → index-Cku6m8Hl.js} +1 -1
- package/dist/assets/{index-DluI4wqr.js → index-CmztlnDz.js} +1 -1
- package/dist/assets/{index-DDPR8FJw.js → index-CqA61rPt.js} +1 -1
- package/dist/assets/{index-DCSn2Irm.js → index-D3N5xAaQ.js} +1 -1
- package/dist/assets/{index-CtDgVG1A.js → index-D3Z-FXjx.js} +1 -1
- package/dist/assets/{index-ke3Ud0IA.js → index-D59LoxaK.js} +5 -5
- package/dist/assets/{index-DjzTk_dr.js → index-D69zTo5S.js} +1 -1
- package/dist/assets/{index-DDE6bzN8.js → index-D9cIVB8Y.js} +1 -1
- package/dist/assets/{index-bkzAk2Rs.js → index-DGqxXaJY.js} +1 -1
- package/dist/assets/{index-lMMawSSF.js → index-DH4uKXiW.js} +1 -1
- package/dist/assets/{index-DYMcU_vV.js → index-DTQEny4s.js} +1 -1
- package/dist/assets/{index-ChIRReCs.js → index-DZtTjlTV.js} +1 -1
- package/dist/assets/{index-BQMg9cau.js → index-D_MhFSvo.js} +1 -1
- package/dist/assets/{index-B-AKIrRS.js → index-DbuHj5T9.js} +1 -1
- package/dist/assets/{index-BIq4VuLT.js → index-DkdMMCO4.js} +1 -1
- package/dist/assets/{index-DfyI499k.js → index-DsyghaSY.js} +1 -1
- package/dist/assets/{index-ISPoDDDD.js → index-DxhTeFwV.js} +1 -1
- package/dist/assets/{index-BvTpFAlH.js → index-JVpl38TU.js} +1 -1
- package/dist/assets/{index-D7twZ09J.js → index-M199edT7.js} +1 -1
- package/dist/assets/{index-Cavx2Cfm.js → index-OC5H7wwH.js} +1 -1
- package/dist/assets/{index-B-hgJsJs.js → index-R4G85ajp.js} +1 -1
- package/dist/assets/index-_gGwul3Q.js +1 -0
- package/dist/assets/{index-BIF6bI-4.js → index-bETiJs4h.js} +1 -1
- package/dist/assets/{index-BfHDQnSL.js → index-bHokQmd3.js} +1 -1
- package/dist/assets/{index-CQlOdlfJ.js → index-drCz42kb.js} +1 -1
- package/dist/assets/{index-Btqr3JlJ.js → index-g-gHj3Cv.js} +2 -2
- package/dist/assets/{index-kq0eC1w9.js → index-jpMgWmQz.js} +1 -1
- package/dist/assets/{index-DUJ6r-Cr.js → index-oLjNVXOi.js} +1 -1
- package/dist/assets/{index-DZYuv286.js → index-raVMjB8K.js} +1 -1
- package/dist/assets/{index-B46LDNFW.js → index-trZQ27KC.js} +1 -1
- package/dist/assets/{index.browser.esm-BhzQJaAp.js → index.browser.esm-BeHN_Rbu.js} +1 -1
- package/dist/assets/{index.es-BIY7CZOu.js → index.es-8EnvYue2.js} +1 -1
- package/dist/assets/{info-fnwKefq2.js → info-CzITGHga.js} +1 -1
- package/dist/assets/{info-circle-CkAReZNO.js → info-circle-BFnSuq9w.js} +1 -1
- package/dist/assets/{isEqual-iWTVBMu5.js → isEqual-CCeFlspg.js} +1 -1
- package/dist/assets/{isPlainObject-DbBHPFjt.js → isPlainObject-CECw9khe.js} +1 -1
- package/dist/assets/{lightbulb-GCVN4RB6.js → lightbulb-DJZxbv8Y.js} +1 -1
- package/dist/assets/{mail-ByzcXd8b.js → mail-DDa6iP38.js} +1 -1
- package/dist/assets/{midjourney-BsP5agis.js → midjourney-IMF_vy0S.js} +1 -1
- package/dist/assets/{mobile-1JwtEqEB.js → mobile-BaOS_gqa.js} +1 -1
- package/dist/assets/{more-CR2ikAQa.js → more-sJdHf_7d.js} +1 -1
- package/dist/assets/{network-placeholder-xNKfl2WU.js → network-placeholder-AnJ5u6IZ.js} +1 -1
- package/dist/assets/{nftPlaceholder-7ILUv0lF.js → nftPlaceholder-B_7vXqqv.js} +1 -1
- package/dist/assets/{off-BdKf94kW.js → off-B2bvWQyf.js} +1 -1
- package/dist/assets/{order-BgzPcNWJ.js → order-C9CoClaY.js} +1 -1
- package/dist/assets/{pagination-DKOx3qjG.js → pagination-B_rXIxYu.js} +1 -1
- package/dist/assets/{play-store-Cr5byNbH.js → play-store-3QDjuahV.js} +1 -1
- package/dist/assets/{plus-B1ZhueBW.js → plus-BG6F7nun.js} +1 -1
- package/dist/assets/{price-DBN1RE2C.js → price-DeJrvwM_.js} +1 -1
- package/dist/assets/{producer-Bt_z4jkW.js → producer-Bakn_qrx.js} +1 -1
- package/dist/assets/{qr-code-DJdBlqrm.js → qr-code-CsORU0vE.js} +1 -1
- package/dist/assets/{recycle-horizontal-DLdsCfRV.js → recycle-horizontal-UdrOnvUL.js} +1 -1
- package/dist/assets/{refresh-BOQ559d_.js → refresh-BMXKHwKj.js} +1 -1
- package/dist/assets/{reown-logo-DKRsLB0x.js → reown-logo-D42nFUVV.js} +1 -1
- package/dist/assets/{search-WwjaoOL5.js → search-t6dyMOdF.js} +1 -1
- package/dist/assets/{secp256k1-CFbaK2Ta.js → secp256k1-Dg6Q2hp-.js} +1 -1
- package/dist/assets/{secp256k1-rL1pMdsB.js → secp256k1-eVBltpi-.js} +1 -1
- package/dist/assets/{seedream-BIZBNloX.js → seedream-DN5QwC3v.js} +1 -1
- package/dist/assets/{send-BqF9IiVA.js → send-CRYD7HpD.js} +1 -1
- package/dist/assets/{service-Bd5BcAZE.js → service-B26pVMqm.js} +1 -1
- package/dist/assets/site-32xqa8D1.js +1 -0
- package/dist/assets/site-D7iSTGkd.js +1 -0
- package/dist/assets/{solana-wallets-Cl-d_6q-.js → solana-wallets-39tT_Je8.js} +2 -2
- package/dist/assets/{solana-wallets-vue-CooI5BZl.js → solana-wallets-vue-_p4GocV7.js} +1 -1
- package/dist/assets/{suno-D7m9ADW-.js → suno-Dqt3azYs.js} +1 -1
- package/dist/assets/{swapHorizontal-B3c-LgnT.js → swapHorizontal-BYM98rZM.js} +1 -1
- package/dist/assets/{swapHorizontalBold-PHBAbOUr.js → swapHorizontalBold-CPIdBAg3.js} +1 -1
- package/dist/assets/{swapHorizontalMedium-7WBTzN5m.js → swapHorizontalMedium-BP_SuU2C.js} +1 -1
- package/dist/assets/{swapHorizontalRoundedBold-DmusxkdX.js → swapHorizontalRoundedBold-DcTbOrJm.js} +1 -1
- package/dist/assets/{swapVertical-DV7JvTLg.js → swapVertical-DzPu1kLg.js} +1 -1
- package/dist/assets/{telegram-DsunZCgg.js → telegram-CAQ27ZGF.js} +1 -1
- package/dist/assets/{three-dots-DKdcFIf4.js → three-dots-DmSsduku.js} +1 -1
- package/dist/assets/{twitch-blH4w1Z5.js → twitch-CmW6WEaJ.js} +1 -1
- package/dist/assets/{twitterIcon-j6REHCbg.js → twitterIcon-CbO2T_yl.js} +1 -1
- package/dist/assets/{typescript-DrQuOpaX.js → typescript-C3d9MWp0.js} +1 -1
- package/dist/assets/{use-form-item-BPgnjjv2.js → use-form-item-Ck1g57NC.js} +1 -1
- package/dist/assets/validator-DZuVAlZj.js +1 -0
- package/dist/assets/{verify-CPQIR3M9.js → verify-BhUp7Vcj.js} +1 -1
- package/dist/assets/{verify-filled-Dqq3SWuz.js → verify-filled-BwETHYPd.js} +1 -1
- package/dist/assets/{w3m-modal-BLBUTGC9.js → w3m-modal-Dy5Z9rEK.js} +1 -1
- package/dist/assets/{wallet-CDWwBEVy.js → wallet-D8aGsnhg.js} +1 -1
- package/dist/assets/{wallet-placeholder-BVAMXKer.js → wallet-placeholder-DuyIewpk.js} +1 -1
- package/dist/assets/{walletconnect-SfluMYfd.js → walletconnect-BV3eyUfU.js} +1 -1
- package/dist/assets/{warning-circle-CWuKOAiN.js → warning-circle-Brg9eNGT.js} +1 -1
- package/dist/assets/{web-O8o8bjMJ.js → web-D74e-2It.js} +1 -1
- package/dist/assets/{web-DgJmk_Eu.js → web-Dfh_APjW.js} +1 -1
- package/dist/assets/{x-DgDpYVxy.js → x-DFMtbObF.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +2 -1
- package/dist/assets/Console-B5ANPUUD.js +0 -1
- package/dist/assets/CopyToClipboard-DRkKJMhW.js +0 -1
- package/dist/assets/EditArray-CoCMmEfE.js +0 -1
- package/dist/assets/EditArray-D4AV_MUf.css +0 -1
- package/dist/assets/Index-DprtCL95.js +0 -1
- package/dist/assets/Index-wsSUi0hI.css +0 -1
- package/dist/assets/Main-DiMXo2Tm.js +0 -1
- package/dist/assets/Navigator-BLt_g1-e.js +0 -1
- package/dist/assets/index-CzP-YfUP.js +0 -569
- package/dist/assets/index-NoVJx0Ui.js +0 -1
- package/dist/assets/index-sOcVL3CV.js +0 -1
- package/dist/assets/site-DAbPqTBR.js +0 -1
- package/dist/assets/site-yTTARj-x.js +0 -1
- package/dist/assets/validator-BeQ6RXbQ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as T}from"./index.es-BIY7CZOu.js";import{E as q}from"./index-Dft1uQH2.js";import{E as W}from"./index-sOcVL3CV.js";import{d as k,H as l,E as c,z as C,C as a,y as g,D as s,q as n,F as o,I as u,O as V,N,x as A,J as p,M as K,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as y,bl as H,cO as Q,cP as z,cQ as P,cR as J,cS as S,cT as M,cU as j,cV as D,cr as X,aV as Y,S as F,cs as Z}from"./index-CzP-YfUP.js";import{I as O,S as ee,l as te}from"./pagination-DKOx3qjG.js";import{E as ae}from"./index-ePgSEI0d.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as x}from"./ImagePreview-BCh24l78.js";import{E as ne}from"./index-DdLzb9JE.js";import{E as R}from"./index-9c6mlyah.js";import{E as B,a as G}from"./index-B46LDNFW.js";import{C as se}from"./Consumption-DJUG1k1m.js";import{a as le}from"./price-DBN1RE2C.js";import{b as re}from"./errorCode-Cqj9Td_Z.js";import{C as ie}from"./CopyToClipboard-DRkKJMhW.js";import{I as ce}from"./ImageWrapper-BSLUnkhO.js";import{E as ue}from"./index-lMMawSSF.js";import{E as me}from"./index-bkzAk2Rs.js";import{E as de}from"./index-7IPw5ILt.js";import{B as pe}from"./BotPlaceholder-kv0nRQqU.js";import{N as fe}from"./NoTasks-B4ZI988H.js";import"./use-form-item-BPgnjjv2.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-DrQuOpaX.js";import"./index-NoVJx0Ui.js";import"./index-DDPR8FJw.js";import"./index-S89iak1F.js";import"./_baseClone-BPc9nvZg.js";import"./_Uint8Array-CdonPqER.js";import"./_initCloneObject-DVq_tAAN.js";import"./isEqual-iWTVBMu5.js";import"./index-DfyI499k.js";import"./strings-beZM2Y-f.js";import"./castArray-C8WnuzhR.js";import"./debounce-DhAudFdR.js";import"./_baseIteratee-NsiiN0O1.js";import"./index-D7twZ09J.js";import"./index-CSUcGojr.js";const he=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={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,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",_e,[c("div",ge,[C(e.$slots,"config",{},void 0,!0)]),c("div",be,[C(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:g(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=y(he,[["render",$e],["__scopeId","data-v-977284aa"]]),ke="",ye=k({name:"PromptInput",components:{ElInput:ae,InfoIcon:O},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=ke)}}),we={class:"field"},Ve={class:"box"},Ae={class:"title font-bold"};function Ne(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",we,[c("div",Ve,[c("h2",Ae,o(e.$t("nanobanana.name.prompt")),1),a(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(_,{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 Ee=y(ye,[["render",Ne],["__scopeId","data-v-2331e197"]]),Re=k({name:"ImageUrlsInput",components:{ElUpload:ne,ElButton:q,InfoIcon:O,ImagePreview:x,FontAwesomeIcon:T},mixins:[oe],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ie={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Se={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Te={class:"controls flex items-center"},qe={class:"file-list flex flex-wrap gap-[10px]"};function Ue(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),d=s("info-icon"),w=s("image-preview");return n(),l(V,null,[c("div",Ie,[c("h2",Le,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Se,[c("div",Te,[a(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[a(_,{size:"small",type:"primary",round:""},{default:g(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(d,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",qe,[(n(!0),l(V,null,N(e.fileList,(r,v)=>(n(),A(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=y(Re,[["render",Ue]]),Ce=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Pe={class:"field"},Be={class:"title font-bold"};function Ge(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Pe,[c("h2",Be,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,m=>(n(),A(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=y(Ce,[["render",Ge],["__scopeId","data-v-67f08a08"]]),je=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:J,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=Q)}}),De={class:"field"},Fe={class:"label"},ze={class:"box"},xe={class:"title font-bold"};function We(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",De,[c("div",Fe,[c("div",ze,[c("h2",xe,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ke=y(je,[["render",We],["__scopeId","data-v-94304d73"]]),He=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),Qe={class:"field"},Je={class:"label"},Xe={class:"box"},Ye={class:"title font-bold"};function Ze(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Qe,[c("div",Je,[c("div",Xe,[c("h2",Ye,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const et=y(He,[["render",Ze],["__scopeId","data-v-fd5ab393"]]),tt=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,AspectRatioSelector:Me,ModelSelector:Ke,ResolutionSelector:et},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 le({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),at={class:"flex flex-col h-full"},ot={class:"flex-1 overflow-y-auto p-5"},nt={class:"flex flex-col items-center justify-center px-5 pb-5"};function st(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),d=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",at,[c("div",ot,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(m,{class:"mb-4"}),a(d,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",nt,[a(r,{value:e.consumption,service:e.service},null,8,["value","service"]),a(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const lt=y(tt,[["render",st]]),rt=k({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:ie,FontAwesomeIcon:T,ElAlert:me,ImageWrapper:ce,ElButton:q,ElTooltip:ue,ImagePreview:x},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)}}}),it={class:"preview"},ct={class:"left"},ut={class:"main"},mt={class:"bot"},dt={class:"datetime"},pt={class:"info"},ft={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ht={key:1,class:"prompt mt-2"},_t={key:0},gt={key:0,class:U({content:!0,failed:!0})},bt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},$t={class:U({operations:!0,"mt-2":!0,"mb-2":!0})},vt={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={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Et={key:1,class:U({content:!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:2,class:U({content:!0})},Pt={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"},Gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Dt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),d=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",it,[c("div",ct,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",ut,[c("div",mt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",dt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",pt,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ft,[(n(!0),l(V,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),A(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",ht,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",_t," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",gt,[c("div",bt,[(n(!0),l(V,null,N(e.images,(I,L)=>(n(),A(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",$t,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[a(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",vt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",kt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",yt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",wt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Vt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",At,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Nt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Et,[a(E,{closable:!1,class:"failure"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Rt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",It,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Lt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",St,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Tt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",qt,[a(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Ut,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Ot,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",Ct,[a(E,{closable:!1,class:"info"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Pt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Bt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Gt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Mt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",jt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ft=y(rt,[["render",Dt],["__scopeId","data-v-8d5f4fff"]]),zt=k({name:"RecentPanel",components:{TaskPreview:Ft,BotPlaceholder:pe,NoTasks:fe,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),l(V,null,[e.tasks?.items===void 0?(n(),l("div",xt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),A(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(V,null,N(e.tasks?.items,w=>(n(),A(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",Wt,[a(d)])):p("",!0)],64)}const Ht=y(zt,[["render",Kt]]),Qt=Z("nanobanana"),Jt=k({name:"NanobananaIndex",components:{ConfigPanel:lt,Layout:ve,RecentPanel:Ht},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Qt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",Y.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===re?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 Xt(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),A(m,null,{config:g(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ma=y(Jt,[["render",Xt]]);export{Ma as default};
|
|
1
|
+
import{F as T}from"./index.es-8EnvYue2.js";import{E as q}from"./index-BohXbZ2r.js";import{E as x}from"./index-1duw3meC.js";import{d as k,H as l,E as c,z as C,C as a,y as g,D as s,q as n,F as o,I as u,O as V,N,x as A,J as p,M as K,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as y,bl as H,cR as J,cS as z,cT as P,cU as Q,cV as S,cW as M,cX as j,cY as D,cu as X,aV as Y,S as F,cv as Z}from"./index-C769Onuz.js";import{I as O,S as ee,l as te}from"./pagination-B_rXIxYu.js";import{E as ae}from"./index-C6A_7e6l.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as W}from"./ImagePreview-DRhaeMj1.js";import{E as ne}from"./index-BfcZVTcY.js";import{E as R}from"./index-C35824SI.js";import{E as B,a as G}from"./index-trZQ27KC.js";import{C as se}from"./Consumption-C8V--EC7.js";import{a as le}from"./price-DeJrvwM_.js";import{b as re}from"./errorCode-Cqj9Td_Z.js";import{C as ie}from"./CopyToClipboard-BN_GVB08.js";import{I as ce}from"./ImageWrapper-CeEPqZle.js";import{E as ue}from"./index-DH4uKXiW.js";import{E as me}from"./index-DGqxXaJY.js";import{E as de}from"./index-BxMpD69n.js";import{B as pe}from"./BotPlaceholder-Lxsi7yXh.js";import{N as fe}from"./NoTasks-B39yxIND.js";import"./use-form-item-Ck1g57NC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-C3d9MWp0.js";import"./index-_gGwul3Q.js";import"./index-CqA61rPt.js";import"./index-Bjh2SIj8.js";import"./_baseClone-I25WNFTn.js";import"./_Uint8Array-0ZrewKty.js";import"./_initCloneObject-BBp5M13E.js";import"./isEqual-CCeFlspg.js";import"./index-DsyghaSY.js";import"./strings-beZM2Y-f.js";import"./castArray-MGnU8s5j.js";import"./debounce-BKi6w8Na.js";import"./_baseIteratee-BaCwCO2P.js";import"./index-M199edT7.js";import"./index-1uyc0tg8.js";const he=k({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={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,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",_e,[c("div",ge,[C(e.$slots,"config",{},void 0,!0)]),c("div",be,[C(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:g(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=y(he,[["render",$e],["__scopeId","data-v-977284aa"]]),ke="",ye=k({name:"PromptInput",components:{ElInput:ae,InfoIcon:O},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=ke)}}),we={class:"field"},Ve={class:"box"},Ae={class:"title font-bold"};function Ne(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",we,[c("div",Ve,[c("h2",Ae,o(e.$t("nanobanana.name.prompt")),1),a(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(_,{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 Ee=y(ye,[["render",Ne],["__scopeId","data-v-2331e197"]]),Re=k({name:"ImageUrlsInput",components:{ElUpload:ne,ElButton:q,InfoIcon:O,ImagePreview:W,FontAwesomeIcon:T},mixins:[oe],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ie={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Se={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Te={class:"controls flex items-center"},qe={class:"file-list flex flex-wrap gap-[10px]"};function Ue(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),d=s("info-icon"),w=s("image-preview");return n(),l(V,null,[c("div",Ie,[c("h2",Le,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Se,[c("div",Te,[a(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[a(_,{size:"small",type:"primary",round:""},{default:g(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(d,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",qe,[(n(!0),l(V,null,N(e.fileList,(r,v)=>(n(),A(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=y(Re,[["render",Ue]]),Ce=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Pe={class:"field"},Be={class:"title font-bold"};function Ge(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Pe,[c("h2",Be,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,m=>(n(),A(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=y(Ce,[["render",Ge],["__scopeId","data-v-67f08a08"]]),je=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{options:[{value:z,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)}}),De={class:"field"},Fe={class:"label"},ze={class:"box"},We={class:"title font-bold"};function xe(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",De,[c("div",Fe,[c("div",ze,[c("h2",We,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ke=y(je,[["render",xe],["__scopeId","data-v-94304d73"]]),He=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),Je={class:"field"},Qe={class:"label"},Xe={class:"box"},Ye={class:"title font-bold"};function Ze(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Je,[c("div",Qe,[c("div",Xe,[c("h2",Ye,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const et=y(He,[["render",Ze],["__scopeId","data-v-fd5ab393"]]),tt=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,AspectRatioSelector:Me,ModelSelector:Ke,ResolutionSelector:et},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 le({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),at={class:"flex flex-col h-full"},ot={class:"flex-1 overflow-y-auto p-5"},nt={class:"flex flex-col items-center justify-center px-5 pb-5"};function st(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),d=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",at,[c("div",ot,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(m,{class:"mb-4"}),a(d,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",nt,[a(r,{value:e.consumption,service:e.service},null,8,["value","service"]),a(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const lt=y(tt,[["render",st]]),rt=k({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:ie,FontAwesomeIcon:T,ElAlert:me,ImageWrapper:ce,ElButton:q,ElTooltip:ue,ImagePreview:W},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)}}}),it={class:"preview"},ct={class:"left"},ut={class:"main"},mt={class:"bot"},dt={class:"datetime"},pt={class:"info"},ft={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ht={key:1,class:"prompt mt-2"},_t={key:0},gt={key:0,class:U({content:!0,failed:!0})},bt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},$t={class:U({operations:!0,"mt-2":!0,"mb-2":!0})},vt={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={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Et={key:1,class:U({content:!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:2,class:U({content:!0})},Pt={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"},Gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Dt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),d=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",it,[c("div",ct,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",ut,[c("div",mt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",dt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",pt,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ft,[(n(!0),l(V,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),A(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",ht,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",_t," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",gt,[c("div",bt,[(n(!0),l(V,null,N(e.images,(I,L)=>(n(),A(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",$t,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[a(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",vt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",kt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",yt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",wt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Vt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",At,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Nt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Et,[a(E,{closable:!1,class:"failure"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Rt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",It,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Lt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",St,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Tt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",qt,[a(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Ut,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Ot,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",Ct,[a(E,{closable:!1,class:"info"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Pt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Bt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Gt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Mt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",jt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ft=y(rt,[["render",Dt],["__scopeId","data-v-8d5f4fff"]]),zt=k({name:"RecentPanel",components:{TaskPreview:Ft,BotPlaceholder:pe,NoTasks:fe,ScrollList:ee},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?.()}}}),Wt={key:0},xt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),l(V,null,[e.tasks?.items===void 0?(n(),l("div",Wt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),A(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(V,null,N(e.tasks?.items,w=>(n(),A(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",xt,[a(d)])):p("",!0)],64)}const Ht=y(zt,[["render",Kt]]),Jt=Z("nanobanana"),Qt=k({name:"NanobananaIndex",components:{ConfigPanel:lt,Layout:ve,RecentPanel:Ht},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Jt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",Y.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===re?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 Xt(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),A(m,null,{config:g(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ma=y(Qt,[["render",Xt]]);export{Ma as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as L}from"./index.es-BIY7CZOu.js";import{E as R}from"./index-Dft1uQH2.js";import{E as O}from"./index-sOcVL3CV.js";import{d as $,H as i,E as r,z as P,C as t,y as d,D as o,q as n,F as l,O as V,N as x,x as w,Q as T,R as q,I as k,J as h}from"./vendor-vue-NSDaktjZ.js";import{G as g,bl as B,cr as N,aN as z,S as D,cs as X}from"./index-CzP-YfUP.js";import{a as Q,b as H,c as Y,d as J,e as W,f as K}from"./pixverse-g-p4CgDy.js";import{E as I,a as C}from"./index-B46LDNFW.js";import{I as A,S as Z,l as ee}from"./pagination-DKOx3qjG.js";import{E as te}from"./index-DDE6bzN8.js";import{E as se}from"./index-BIF6bI-4.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ae}from"./ImagePreview-BCh24l78.js";import{E as ne}from"./index-DdLzb9JE.js";import{E as S}from"./index-9c6mlyah.js";import{E as le}from"./index-ePgSEI0d.js";import{C as ie}from"./Consumption-DJUG1k1m.js";import{a as re}from"./price-DBN1RE2C.js";import{b as ce}from"./errorCode-Cqj9Td_Z.js";import{C as pe}from"./CopyToClipboard-DRkKJMhW.js";import{V as de}from"./VideoPlayer-5xWps39-.js";import{E as ue}from"./index-lMMawSSF.js";import{E as me}from"./index-bkzAk2Rs.js";import{E as ve}from"./index-7IPw5ILt.js";import{B as fe}from"./BotPlaceholder-kv0nRQqU.js";import{N as _e}from"./NoTasks-B4ZI988H.js";import"./use-form-item-BPgnjjv2.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-DfyI499k.js";import"./typescript-DrQuOpaX.js";import"./index-NoVJx0Ui.js";import"./strings-beZM2Y-f.js";import"./isEqual-iWTVBMu5.js";import"./_Uint8Array-CdonPqER.js";import"./castArray-C8WnuzhR.js";import"./debounce-DhAudFdR.js";import"./_baseIteratee-NsiiN0O1.js";import"./index-D7twZ09J.js";import"./index-Cu41y2Fl.js";import"./index-S89iak1F.js";import"./_baseClone-BPc9nvZg.js";import"./_initCloneObject-DVq_tAAN.js";import"./index-DDPR8FJw.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CSUcGojr.js";const he=$({name:"LayoutPixverse",components:{ElDrawer:O,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,s,u,m,b,y){const c=o("font-awesome-icon"),p=o("el-button"),a=o("el-drawer");return n(),i("div",$e,[r("div",ge,[P(e.$slots,"config",{},void 0,!0)]),r("div",be,[P(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:s[0]||(s[0]=_=>e.drawer=!0)},{default:d(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(a,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=g(he,[["render",ye],["__scopeId","data-v-e7d02911"]]),we=$({name:"ModelSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"v3.5",label:"v3.5"},{value:"v4",label:"v4"},{value:"v4.5",label:"v4.5"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||(this.value=Q)}}),Ve={class:"field"},xe={class:"title font-bold"};function Se(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Ve,[r("h2",xe,l(e.$t("pixverse.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=g(we,[["render",Se],["__scopeId","data-v-e8f337ca"]]),Te=$({name:"QualitySelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"360p",label:"360p"},{value:"540p",label:"540p"},{value:"720p",label:"720p"},{value:"1080p",label:"1080p"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||(this.value=H)}}),Ie={class:"field"},Ce={class:"title font-bold"};function Le(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Ie,[r("h2",Ce,l(e.$t("pixverse.name.quality")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=g(Te,[["render",Le],["__scopeId","data-v-64aeaae9"]]),Ue=$({name:"MotionSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"normal",label:this.$t("pixverse.name.motion1")},{value:"fast",label:this.$t("pixverse.name.motion2")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||(this.value=Y)}}),Pe={class:"field"},Ae={class:"title font-bold"};function De(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Pe,[r("h2",Ae,l(e.$t("pixverse.name.motion")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=g(Ue,[["render",De],["__scopeId","data-v-94237408"]]),je=$({name:"StyleSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"cyberpunk",label:this.$t("pixverse.name.style1")},{value:"anime",label:this.$t("pixverse.name.style2")},{value:"comic",label:this.$t("pixverse.name.style3")},{value:"clay",label:this.$t("pixverse.name.style4")},{value:"3d_animation",label:this.$t("pixverse.name.style5")},{value:"realistic",label:this.$t("pixverse.name.style6")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Fe={class:"title font-bold"};function Oe(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Me,[r("h2",Fe,l(e.$t("pixverse.name.style")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=g(je,[["render",Oe],["__scopeId","data-v-64e17b3c"]]),Be=$({name:"SeedSelector",components:{ElSlider:se,InfoIcon:A,ElInputNumber:te},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug("set seed",e),this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||(this.value=void 0)}}),Ne={class:"flex justify-between"},ze={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"},Qe={class:"flex justify-end items-center"},He={class:"w-full"};function Ye(e,s,u,m,b,y){const c=o("info-icon"),p=o("el-input-number"),a=o("el-slider");return n(),i("div",null,[r("div",Ne,[r("div",ze,[r("span",Xe,l(e.$t("pixverse.name.seed")),1),t(c,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),r("div",Qe,[t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=_=>e.value=_),"controls-position":"right"},null,8,["modelValue"])])]),r("div",He,[t(a,{modelValue:e.value,"onUpdate:modelValue":s[1]||(s[1]=_=>e.value=_),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Je=g(Be,[["render",Ye]]),We=$({name:"DurationSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:5,label:"5s"},{value:8,label:"8s"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||(this.value=W)}}),Ke={class:"field"},Ze={class:"title font-bold"};function et(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Ke,[r("h2",Ze,l(e.$t("pixverse.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const tt=g(We,[["render",et],["__scopeId","data-v-065c77ef"]]),st=$({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=K)}}),ot={class:"text-sm font-bold mb-2 block"},at={class:"items"},nt=["onClick"],lt={class:"name"};function it(e,s,u,m,b,y){return n(),i("div",null,[r("span",ot,l(e.$t("pixverse.name.aspectRatio")),1),r("div",at,[(n(!0),i(V,null,x(e.options,(c,p)=>(n(),i("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:T(["preview",c.label])},[r("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",lt,l(c.label),1)],10,nt))),128))])])}const rt=g(st,[["render",it],["__scopeId","data-v-53038264"]]),ct=$({name:"StartImage",components:{ElUpload:ne,ElButton:R,InfoIcon:A,FontAwesomeIcon:L,ImagePreview:ae},mixins:[oe],emits:["change"],data(){return{fileList:[],uploadUrl:B()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){S.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pt={class:"relative"},dt={class:"flex justify-between"},ut={class:"flex justify-start items-center"},mt={class:"text-sm font-bold"};function vt(e,s,u,m,b,y){const c=o("info-icon"),p=o("image-preview"),a=o("font-awesome-icon"),_=o("el-button"),f=o("el-upload");return n(),i("div",pt,[r("div",dt,[r("div",ut,[r("span",mt,l(e.$t("pixverse.name.startImage")),1),t(c,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=v=>e.fileList=v),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:v})=>[v.url&&v.percentage!==void 0?(n(),w(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:d(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[t(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+l(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ft=g(ct,[["render",vt],["__scopeId","data-v-bc133fd2"]]),_t="",ht=$({name:"PromptInput",components:{ElInput:le,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_t)}}),$t={class:"field"},gt={class:"box"},bt={class:"title font-bold"};function yt(e,s,u,m,b,y){const c=o("info-icon"),p=o("el-input");return n(),i("div",$t,[r("div",gt,[r("h2",bt,l(e.$t("pixverse.name.prompt")),1),t(c,{content:e.$t("pixverse.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const kt=g(ht,[["render",yt],["__scopeId","data-v-2f675ca4"]]),wt=$({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:kt,ModelSelector:Ee,QualitySelector:Re,MotionSelector:Ge,StyleSelector:qe,DurationSelector:tt,StartImage:ft,SeedSelector:Je,RatioSelector:rt,Consumption:ie},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return re(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Vt={class:"flex flex-col h-full"},xt={class:"flex-1 overflow-y-auto p-5"},St={class:"flex flex-col items-center justify-center px-5 pb-5"};function Et(e,s,u,m,b,y){const c=o("prompt-input"),p=o("model-selector"),a=o("style-selector"),_=o("ratio-selector"),f=o("motion-selector"),v=o("quality-selector"),E=o("start-image"),U=o("seed-selector"),G=o("duration-selector"),j=o("consumption"),M=o("font-awesome-icon"),F=o("el-button");return n(),i("div",Vt,[r("div",xt,[t(c,{class:"mb-4"}),t(p,{class:"mb-4"}),t(a,{class:"mb-4"}),t(_,{class:"mb-4"}),t(f,{class:"mb-4"}),t(v,{class:"mb-4"}),t(E,{class:"mb-2"}),t(U,{class:"mb-4"}),t(G,{class:"mb-4"})]),r("div",St,[t(j,{value:e.consumption,service:e.service},null,8,["value","service"]),t(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+l(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const Tt=g(wt,[["render",Et]]),It=$({name:"TaskPreview",components:{ElImage:ve,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:me,VideoPlayer:de,ElTooltip:ue,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,s){e.stopPropagation(),console.log("on download"),window.open(s,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),Ct={class:"preview"},Lt={class:"left"},Rt={class:"main"},Ut={class:"bot"},Pt={class:"datetime"},At={class:"info"},Dt={key:0,class:"prompt mt-2"},Gt={key:0},jt={key:1},Mt={key:0,class:T({content:!0,failed:!0})},Ft={key:0,class:"mb-4"},Ot={key:1,class:T({operations:!0,"mt-2":!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:1,class:T({content:!0})},Xt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Yt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Jt(e,s,u,m,b,y){const c=o("el-image"),p=o("video-player"),a=o("el-button"),_=o("el-tooltip"),f=o("font-awesome-icon"),v=o("copy-to-clipboard"),E=o("el-alert");return n(),i("div",Ct,[r("div",Lt,[t(c,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),r("div",Rt,[r("div",Ut,[k(l(e.$t("pixverse.name.pixverseBot"))+" ",1),r("span",Pt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",At,[e.modelValue?.request?.prompt?(n(),i("p",Dt,[k(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(n(),i("span",Gt," - ("+l(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(n(),i("span",jt," - ("+l(e.$t("pixverse.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",Mt,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Ft,[t(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(n(),i("div",Ot,[t(_,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),w(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:s[0]||(s[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(l(e.$t("pixverse.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",qt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Bt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Nt,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(n(),i("div",zt,[t(E,{closable:!1,class:"info"},{template:d(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failure")),1)]),default:d(()=>[r("p",Xt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),r("p",Qt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Ht,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(n(),i("p",Yt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const Wt=g(It,[["render",Jt],["__scopeId","data-v-f98906e5"]]),Kt=$({name:"RecentPanel",components:{TaskPreview:Wt,NoTasks:_e,BotPlaceholder:fe,ScrollList:Z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},es={key:2,class:"w-full h-full flex items-center justify-center"};function ts(e,s,u,m,b,y){const c=o("bot-placeholder"),p=o("task-preview"),a=o("scroll-list"),_=o("no-tasks");return n(),i(V,null,[e.tasks?.items===void 0?(n(),i("div",Zt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(a,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:s[0]||(s[0]=f=>e.$emit("reach-top"))},{default:d(()=>[(n(!0),i(V,null,x(e.tasks?.items,(f,v)=>(n(),w(p,{key:v,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(n(),i("div",es,[t(_)])):h("",!0)],64)}const ss=g(Kt,[["render",ts]]),os=X("pixverse"),as=$({name:"PixverseIndex",components:{ConfigPanel:Tt,Layout:ke,RecentPanel:ss},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.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 ee({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("pixverse/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pixverse/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:s=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",s,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:s,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:os},s=this.credential?.token;if(!s){console.error("no token specified");return}S.info(this.$t("pixverse.message.startingTask")),N("pixverse",z.generate(e,{token:s})).then(()=>{S.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===ce?S.error(this.$t("pixverse.message.usedUp")):S.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ns(e,s,u,m,b,y){const c=o("config-panel"),p=o("recent-panel"),a=o("layout");return n(),w(a,null,{config:d(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Zs=g(as,[["render",ns]]);export{Zs as default};
|
|
1
|
+
import{F as L}from"./index.es-8EnvYue2.js";import{E as R}from"./index-BohXbZ2r.js";import{E as O}from"./index-1duw3meC.js";import{d as $,H as i,E as r,z as P,C as t,y as d,D as o,q as n,F as l,O as V,N as x,x as w,Q as T,R as q,I as k,J as h}from"./vendor-vue-NSDaktjZ.js";import{G as g,bl as B,cu as N,aN as z,S as D,cv as X}from"./index-C769Onuz.js";import{a as Q,b as H,c as Y,d as J,e as W,f as K}from"./pixverse-g-p4CgDy.js";import{E as I,a as C}from"./index-trZQ27KC.js";import{I as A,S as Z,l as ee}from"./pagination-B_rXIxYu.js";import{E as te}from"./index-D9cIVB8Y.js";import{E as se}from"./index-bETiJs4h.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as ae}from"./ImagePreview-DRhaeMj1.js";import{E as ne}from"./index-BfcZVTcY.js";import{E as S}from"./index-C35824SI.js";import{E as le}from"./index-C6A_7e6l.js";import{C as ie}from"./Consumption-C8V--EC7.js";import{a as re}from"./price-DeJrvwM_.js";import{b as ce}from"./errorCode-Cqj9Td_Z.js";import{C as pe}from"./CopyToClipboard-BN_GVB08.js";import{V as de}from"./VideoPlayer-DeefBCor.js";import{E as ue}from"./index-DH4uKXiW.js";import{E as me}from"./index-DGqxXaJY.js";import{E as ve}from"./index-BxMpD69n.js";import{B as fe}from"./BotPlaceholder-Lxsi7yXh.js";import{N as _e}from"./NoTasks-B39yxIND.js";import"./use-form-item-Ck1g57NC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-DsyghaSY.js";import"./typescript-C3d9MWp0.js";import"./index-_gGwul3Q.js";import"./strings-beZM2Y-f.js";import"./isEqual-CCeFlspg.js";import"./_Uint8Array-0ZrewKty.js";import"./castArray-MGnU8s5j.js";import"./debounce-BKi6w8Na.js";import"./_baseIteratee-BaCwCO2P.js";import"./index-M199edT7.js";import"./index-Cu41y2Fl.js";import"./index-Bjh2SIj8.js";import"./_baseClone-I25WNFTn.js";import"./_initCloneObject-BBp5M13E.js";import"./index-CqA61rPt.js";import"./vue-plyr-BO2nlN4c.js";import"./index-1uyc0tg8.js";const he=$({name:"LayoutPixverse",components:{ElDrawer:O,ElButton:R,FontAwesomeIcon:L},data(){return{drawer:!1}}}),$e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ye(e,s,u,m,b,y){const c=o("font-awesome-icon"),p=o("el-button"),a=o("el-drawer");return n(),i("div",$e,[r("div",ge,[P(e.$slots,"config",{},void 0,!0)]),r("div",be,[P(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:s[0]||(s[0]=_=>e.drawer=!0)},{default:d(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(a,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"350px"},{default:d(()=>[P(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ke=g(he,[["render",ye],["__scopeId","data-v-e7d02911"]]),we=$({name:"ModelSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"v3.5",label:"v3.5"},{value:"v4",label:"v4"},{value:"v4.5",label:"v4.5"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||(this.value=Q)}}),Ve={class:"field"},xe={class:"title font-bold"};function Se(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Ve,[r("h2",xe,l(e.$t("pixverse.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ee=g(we,[["render",Se],["__scopeId","data-v-e8f337ca"]]),Te=$({name:"QualitySelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"360p",label:"360p"},{value:"540p",label:"540p"},{value:"720p",label:"720p"},{value:"1080p",label:"1080p"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||(this.value=H)}}),Ie={class:"field"},Ce={class:"title font-bold"};function Le(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Ie,[r("h2",Ce,l(e.$t("pixverse.name.quality")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Re=g(Te,[["render",Le],["__scopeId","data-v-64aeaae9"]]),Ue=$({name:"MotionSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"normal",label:this.$t("pixverse.name.motion1")},{value:"fast",label:this.$t("pixverse.name.motion2")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||(this.value=Y)}}),Pe={class:"field"},Ae={class:"title font-bold"};function De(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Pe,[r("h2",Ae,l(e.$t("pixverse.name.motion")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ge=g(Ue,[["render",De],["__scopeId","data-v-94237408"]]),je=$({name:"StyleSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"cyberpunk",label:this.$t("pixverse.name.style1")},{value:"anime",label:this.$t("pixverse.name.style2")},{value:"comic",label:this.$t("pixverse.name.style3")},{value:"clay",label:this.$t("pixverse.name.style4")},{value:"3d_animation",label:this.$t("pixverse.name.style5")},{value:"realistic",label:this.$t("pixverse.name.style6")}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Fe={class:"title font-bold"};function Oe(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Me,[r("h2",Fe,l(e.$t("pixverse.name.style")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const qe=g(je,[["render",Oe],["__scopeId","data-v-64e17b3c"]]),Be=$({name:"SeedSelector",components:{ElSlider:se,InfoIcon:A,ElInputNumber:te},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug("set seed",e),this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||(this.value=void 0)}}),Ne={class:"flex justify-between"},ze={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"},Qe={class:"flex justify-end items-center"},He={class:"w-full"};function Ye(e,s,u,m,b,y){const c=o("info-icon"),p=o("el-input-number"),a=o("el-slider");return n(),i("div",null,[r("div",Ne,[r("div",ze,[r("span",Xe,l(e.$t("pixverse.name.seed")),1),t(c,{content:e.$t("pixverse.description.seed")},null,8,["content"])]),r("div",Qe,[t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=_=>e.value=_),"controls-position":"right"},null,8,["modelValue"])])]),r("div",He,[t(a,{modelValue:e.value,"onUpdate:modelValue":s[1]||(s[1]=_=>e.value=_),min:0,max:1e3,step:1},null,8,["modelValue"])])])}const Je=g(Be,[["render",Ye]]),We=$({name:"DurationSelector",components:{ElSelect:C,ElOption:I},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:5,label:"5s"},{value:8,label:"8s"}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||(this.value=W)}}),Ke={class:"field"},Ze={class:"title font-bold"};function et(e,s,u,m,b,y){const c=o("el-option"),p=o("el-select");return n(),i("div",Ke,[r("h2",Ze,l(e.$t("pixverse.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=a=>e.value=a),class:"value",placeholder:e.$t("pixverse.placeholder.select")},{default:d(()=>[(n(!0),i(V,null,x(e.options,a=>(n(),w(c,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const tt=g(We,[["render",et],["__scopeId","data-v-065c77ef"]]),st=$({name:"RatioSelector",data(){return{options:[{value:"1:1",label:"1:1",width:20,height:20},{value:"4:3",label:"4:3",width:20,height:15},{value:"3:4",label:"3:4",width:15,height:20},{value:"16:9",label:"16:9",width:25,height:13},{value:"9:16",label:"9:16",width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||(this.value=K)}}),ot={class:"text-sm font-bold mb-2 block"},at={class:"items"},nt=["onClick"],lt={class:"name"};function it(e,s,u,m,b,y){return n(),i("div",null,[r("span",ot,l(e.$t("pixverse.name.aspectRatio")),1),r("div",at,[(n(!0),i(V,null,x(e.options,(c,p)=>(n(),i("div",{key:p,class:T({active:e.active===p,item:!0}),onClick:a=>e.value=c.value},[r("div",{class:T(["preview",c.label])},[r("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),r("p",lt,l(c.label),1)],10,nt))),128))])])}const rt=g(st,[["render",it],["__scopeId","data-v-53038264"]]),ct=$({name:"StartImage",components:{ElUpload:ne,ElButton:R,InfoIcon:A,FontAwesomeIcon:L,ImagePreview:ae},mixins:[oe],emits:["change"],data(){return{fileList:[],uploadUrl:B()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){S.warning(this.$t("pixverse.message.uploadReferencesExceed"))},onError(){S.error(this.$t("pixverse.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("pixverse/setConfig",{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pt={class:"relative"},dt={class:"flex justify-between"},ut={class:"flex justify-start items-center"},mt={class:"text-sm font-bold"};function vt(e,s,u,m,b,y){const c=o("info-icon"),p=o("image-preview"),a=o("font-awesome-icon"),_=o("el-button"),f=o("el-upload");return n(),i("div",pt,[r("div",dt,[r("div",ut,[r("span",mt,l(e.$t("pixverse.name.startImage")),1),t(c,{content:e.$t("pixverse.description.uploadStartImage")},null,8,["content"])])]),t(f,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=v=>e.fileList=v),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:v})=>[v.url&&v.percentage!==void 0?(n(),w(p,{key:0,url:v.url,name:v.name,percentage:v.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(v),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:d(()=>[t(_,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:d(()=>[t(a,{icon:"fa-solid fa-upload",class:"icon mr-1"}),k(" "+l(e.$t("pixverse.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const ft=g(ct,[["render",vt],["__scopeId","data-v-bc133fd2"]]),_t="",ht=$({name:"PromptInput",components:{ElInput:le,InfoIcon:A},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pixverse/setConfig",{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=_t)}}),$t={class:"field"},gt={class:"box"},bt={class:"title font-bold"};function yt(e,s,u,m,b,y){const c=o("info-icon"),p=o("el-input");return n(),i("div",$t,[r("div",gt,[r("h2",bt,l(e.$t("pixverse.name.prompt")),1),t(c,{content:e.$t("pixverse.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=a=>e.prompt=a),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pixverse.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const kt=g(ht,[["render",yt],["__scopeId","data-v-2f675ca4"]]),wt=$({name:"ConfigPanel",components:{ElButton:R,FontAwesomeIcon:L,PromptInput:kt,ModelSelector:Ee,QualitySelector:Re,MotionSelector:Ge,StyleSelector:qe,DurationSelector:tt,StartImage:ft,SeedSelector:Je,RatioSelector:rt,Consumption:ie},emits:["generate"],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return re(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Vt={class:"flex flex-col h-full"},xt={class:"flex-1 overflow-y-auto p-5"},St={class:"flex flex-col items-center justify-center px-5 pb-5"};function Et(e,s,u,m,b,y){const c=o("prompt-input"),p=o("model-selector"),a=o("style-selector"),_=o("ratio-selector"),f=o("motion-selector"),v=o("quality-selector"),E=o("start-image"),U=o("seed-selector"),G=o("duration-selector"),j=o("consumption"),M=o("font-awesome-icon"),F=o("el-button");return n(),i("div",Vt,[r("div",xt,[t(c,{class:"mb-4"}),t(p,{class:"mb-4"}),t(a,{class:"mb-4"}),t(_,{class:"mb-4"}),t(f,{class:"mb-4"}),t(v,{class:"mb-4"}),t(E,{class:"mb-2"}),t(U,{class:"mb-4"}),t(G,{class:"mb-4"})]),r("div",St,[t(j,{value:e.consumption,service:e.service},null,8,["value","service"]),t(F,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(M,{icon:"fa-solid fa-magic",class:"mr-2"}),k(" "+l(e.$t("pixverse.button.generate")),1)]),_:1},8,["onClick"])])])}const Tt=g(wt,[["render",Et]]),It=$({name:"TaskPreview",components:{ElImage:ve,CopyToClipboard:pe,FontAwesomeIcon:L,ElAlert:me,VideoPlayer:de,ElTooltip:ue,ElButton:R},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,s){e.stopPropagation(),console.log("on download"),window.open(s,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),Ct={class:"preview"},Lt={class:"left"},Rt={class:"main"},Ut={class:"bot"},Pt={class:"datetime"},At={class:"info"},Dt={key:0,class:"prompt mt-2"},Gt={key:0},jt={key:1},Mt={key:0,class:T({content:!0,failed:!0})},Ft={key:0,class:"mb-4"},Ot={key:1,class:T({operations:!0,"mt-2":!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},zt={key:1,class:T({content:!0})},Xt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Yt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Jt(e,s,u,m,b,y){const c=o("el-image"),p=o("video-player"),a=o("el-button"),_=o("el-tooltip"),f=o("font-awesome-icon"),v=o("copy-to-clipboard"),E=o("el-alert");return n(),i("div",Ct,[r("div",Lt,[t(c,{src:"https://cdn.acedata.cloud/viy61r.jpg",class:"avatar"})]),r("div",Rt,[r("div",Ut,[k(l(e.$t("pixverse.name.pixverseBot"))+" ",1),r("span",Pt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",At,[e.modelValue?.request?.prompt?(n(),i("p",Dt,[k(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(n(),i("span",Gt," - ("+l(e.$t("pixverse.status.pending"))+") ",1)),e.modelValue?.response?.data&&(e.modelValue?.response?.data[0]?.state==="processing"||e.modelValue?.response?.data[0]?.state==="pending")?(n(),i("span",jt," - ("+l(e.$t("pixverse.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(n(),i("div",Mt,[e.modelValue?.response?.data[0]?.video_url?(n(),i("div",Ft,[t(p,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):h("",!0),e.modelValue?.response.success?(n(),i("div",Ot,[t(_,{class:"box-item",effect:"dark",content:e.$t("pixverse.message.downloadVideo"),placement:"top-start"},{default:d(()=>[e.modelValue?.response?.data[0]?.video_url?(n(),w(a,{key:0,type:"info",size:"small",class:"btn-action",onClick:s[0]||(s[0]=U=>e.onDownload(U,e.modelValue?.response?.data[0]?.video_url))},{default:d(()=>[k(l(e.$t("pixverse.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(E,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",qt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",Bt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Nt,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0)]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(n(),i("div",zt,[t(E,{closable:!1,class:"info"},{template:d(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failure")),1)]),default:d(()=>[r("p",Xt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(v,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),r("p",Qt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(v,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(n(),i("p",Ht,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):h("",!0),e.modelValue?.response?.trace_id?(n(),i("p",Yt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),k(" "+l(e.$t("pixverse.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(v,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):h("",!0)]),_:1})])):h("",!0)])])}const Wt=g(It,[["render",Jt],["__scopeId","data-v-f98906e5"]]),Kt=$({name:"RecentPanel",components:{TaskPreview:Wt,NoTasks:_e,BotPlaceholder:fe,ScrollList:Z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},es={key:2,class:"w-full h-full flex items-center justify-center"};function ts(e,s,u,m,b,y){const c=o("bot-placeholder"),p=o("task-preview"),a=o("scroll-list"),_=o("no-tasks");return n(),i(V,null,[e.tasks?.items===void 0?(n(),i("div",Zt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),w(a,{key:1,ref:"scrollList",class:"h-full w-full overflow-y-auto tasks",loading:e.loading,onReachTop:s[0]||(s[0]=f=>e.$emit("reach-top"))},{default:d(()=>[(n(!0),i(V,null,x(e.tasks?.items,(f,v)=>(n(),w(p,{key:v,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(n(),i("div",es,[t(_)])):h("",!0)],64)}const ss=g(Kt,[["render",ts]]),os=X("pixverse"),as=$({name:"PixverseIndex",components:{ConfigPanel:Tt,Layout:ke,RecentPanel:ss},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.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 ee({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("pixverse/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pixverse/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:s=5,createdAtMin:u,createdAtMax:m}=e||{};console.debug("limit",s,"createdAtMin",u,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("pixverse/getTasks",{limit:s,createdAtMin:u,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:os},s=this.credential?.token;if(!s){console.error("no token specified");return}S.info(this.$t("pixverse.message.startingTask")),N("pixverse",z.generate(e,{token:s})).then(()=>{S.success(this.$t("pixverse.message.startTaskSuccess"))}).catch(u=>{u?.response?.data?.error?.code===ce?S.error(this.$t("pixverse.message.usedUp")):S.error(this.$t("pixverse.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ns(e,s,u,m,b,y){const c=o("config-panel"),p=o("recent-panel"),a=o("layout");return n(),w(a,null,{config:d(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Zs=g(as,[["render",ns]]);export{Zs as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as C}from"./index.es-BIY7CZOu.js";import{E as G}from"./index-Dft1uQH2.js";import{E as L}from"./index-sOcVL3CV.js";import{d as v,H as l,E as r,z as A,C as s,y as d,D as n,q as o,F as a,I as g,O as I,N as T,x as E,Q as S,c as U,J as $}from"./vendor-vue-NSDaktjZ.js";import{G as b,bl as D,cr as z,bd as M,n as O,S as V,cs as j}from"./index-CzP-YfUP.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as q,S as F,l as N}from"./pagination-DKOx3qjG.js";import{I as H}from"./ImagePreview-BCh24l78.js";import{E as J}from"./index-DdLzb9JE.js";import{E as w}from"./index-9c6mlyah.js";import{a as Q,E as W}from"./index-CIxi9iEl.js";import{E as R}from"./index-7IPw5ILt.js";import{E as K,a as X}from"./index-D9orkhAB.js";import{b as Y,a as Z}from"./errorCode-Cqj9Td_Z.js";import{A as x}from"./Status-BTnvuRCA.js";import{C as ee}from"./CopyToClipboard-DRkKJMhW.js";import{E as se}from"./index-bkzAk2Rs.js";import{E as te,a as oe}from"./index-CSUcGojr.js";import"./use-form-item-BPgnjjv2.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-lMMawSSF.js";import"./index-NoVJx0Ui.js";import"./typescript-DrQuOpaX.js";import"./index-S89iak1F.js";import"./_baseClone-BPc9nvZg.js";import"./_Uint8Array-CdonPqER.js";import"./_initCloneObject-DVq_tAAN.js";import"./isEqual-iWTVBMu5.js";import"./debounce-DhAudFdR.js";import"./index-DDPR8FJw.js";import"./strings-beZM2Y-f.js";import"./isPlainObject-DbBHPFjt.js";const ae=v({name:"LayoutHeadshots",components:{ElDrawer:L,ElButton:G,FontAwesomeIcon:C},data(){return{drawer:!1}}}),ne={class:"main flex flex-row flex-1"},ie={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 re(e,t,m,h,k,y){const p=n("font-awesome-icon"),u=n("el-button"),i=n("el-drawer");return o(),l("div",ne,[r("div",ie,[A(e.$slots,"config",{},void 0,!0)]),r("div",le,[A(e.$slots,"result",{},void 0,!0)]),s(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:d(()=>[s(p,{icon:"fa-solid fa-gear"})]),_:1}),s(i,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),"with-header":!1,size:"340px",class:"drawer"},{default:d(()=>[A(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ce=b(ae,[["render",re],["__scopeId","data-v-c93166c8"]]),de=v({name:"ImageUrlsInput",components:{ElUpload:J,ElButton:G,InfoIcon:q,ImagePreview:H,FontAwesomeIcon:C},mixins:[B],data(){return{fileList:[],uploadUrl:D()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),pe={class:"field"},me={class:"title font-bold"},he={class:"upload-wrapper"};function ue(e,t,m,h,k,y){const p=n("image-preview"),u=n("font-awesome-icon"),i=n("el-button"),c=n("el-upload"),f=n("info-icon");return o(),l("div",pe,[r("h2",me,a(e.$t("headshots.name.endImageUrls")),1),r("div",he,[s(c,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:_})=>[s(p,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:P=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:d(()=>[s(i,{size:"small",type:"primary",round:""},{default:d(()=>[s(u,{icon:"fa-solid fa-upload",class:"mr-1"}),g(" "+a(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const fe=b(de,[["render",ue],["__scopeId","data-v-ca56051e"]]),ge="fast",_e=v({name:"ModeSelector",components:{ElRadioButton:W,ElRadioGroup:Q},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=ge)}}),$e={class:"field"},ve={class:"title font-bold"};function be(e,t,m,h,k,y){const p=n("el-radio-button"),u=n("el-radio-group");return o(),l("div",$e,[r("h2",ve,a(e.$t("headshots.name.mode")),1),s(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=i=>e.value=i),class:"mode"},{default:d(()=>[(o(!0),l(I,null,T(e.options,i=>(o(),E(p,{key:i.value,label:i.value},{default:d(()=>[g(a(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const ke=b(_e,[["render",be],["__scopeId","data-v-e7702494"]]),ye=v({name:"StylizeSelector",components:{ElTabs:X,ElTabPane:K,ElImage:R},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),we={class:"field"},Ie=["onClick"],Te={class:"name"};function Ee(e,t,m,h,k,y){const p=n("el-image"),u=n("el-tab-pane"),i=n("el-tabs");return o(),l("div",we,[s(i,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=c=>e.tab=c)},{default:d(()=>[(o(!0),l(I,null,T(e.elements,(c,f)=>(o(),E(u,{key:f,label:c.displayName,name:f,class:"pane"},{default:d(()=>[(o(!0),l(I,null,T(c.items,(_,P)=>(o(),l("div",{key:P,class:S({item:!0,active:e.value===_.value}),onClick:ys=>e.onToggle(_.value)},[s(p,{src:_.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",Te,a(_.label),1)],10,Ie))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Se=b(ye,[["render",Ee],["__scopeId","data-v-be4bd25d"]]),Ve=v({name:"PresetPanel",components:{ModeSelector:ke,ImageUrlsInput:fe,ElButton:G,FontAwesomeIcon:C,ElementsSelector:Se},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ce={class:"panel"},Ae={class:"config"},Ge={class:"actions"};function Pe(e,t,m,h,k,y){const p=n("elements-selector"),u=n("mode-selector"),i=n("image-urls-input"),c=n("font-awesome-icon"),f=n("el-button");return o(),l("div",Ce,[r("div",Ae,[s(p,{class:"mb-4"}),s(u,{class:"mb-4"}),s(i,{class:"mb-4"}),r("div",Ge,[s(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(c,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+a(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Re=b(Ve,[["render",Pe],["__scopeId","data-v-848739f6"]]),Le=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:U(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:h=>{window.open(h,"_blank")}}}}),Ue={class:"image-gallery"},De=["src"],ze=["onClick"];function Me(e,t,m,h,k,y){return o(),l("div",Ue,[(o(!0),l(I,null,T(e.images,(p,u)=>(o(),l("div",{key:u,class:"image-container"},[r("img",{src:p.image_url,alt:"Image"},null,8,De),p.image_url?(o(),l("button",{key:0,class:"view-button",onClick:i=>e.viewImage(p.image_url)},a(e.$t("headshots.button.viewImage")),9,ze)):$("",!0)]))),128))])}const Oe=b(Le,[["render",Me],["__scopeId","data-v-42f0a7be"]]),je=v({name:"TaskPreview",components:{ElImage:R,CopyToClipboard:ee,FontAwesomeIcon:C,ElAlert:se,ImageGallery:Oe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,m=new URL(t.src),h=m.searchParams.get("retry");if(!h)m.searchParams.set("retry","1");else if(parseInt(h)<2)m.searchParams.set("retry",(parseInt(h)+1).toString());else return;t.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),Be={class:"preview"},qe={class:"left"},Fe={class:"main"},Ne={class:"bot"},He={class:"datetime"},Je={class:"info"},Qe={key:0,class:"prompt mt-2"},We={key:0},Ke={key:1},Xe={key:0,class:S({content:!0,failed:!0})},Ye={class:"image-wrapper"},Ze={class:"description"},xe={key:0,class:"description"},es={key:1,class:S({content:!0})},ss={class:"description"},ts={class:"description"},os={key:0,class:"description"},as={class:"description"},ns={key:2,class:S({content:!0})},is={class:"description"},ls={key:3,class:S({content:!0})},rs={class:"description"};function cs(e,t,m,h,k,y){const p=n("el-image"),u=n("image-gallery"),i=n("font-awesome-icon"),c=n("copy-to-clipboard"),f=n("el-alert");return o(),l("div",Be,[r("div",qe,[s(p,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Fe,[r("div",Ne,[g(a(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",He,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Je,[e.modelValue?.request?.template?(o(),l("p",Qe,[g(a(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",We," - ("+a(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Ke," - ("+a(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",Xe,[r("div",Ye,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),s(f,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",Ze,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),l("p",xe,[s(i,{icon:"fa-solid fa-clock",class:"mr-1"}),g(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",es,[s(f,{closable:!1,class:"failure"},{template:d(()=>[s(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",ss,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",ts,[s(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),s(c,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),l("p",os,[s(i,{icon:"fa-solid fa-clock",class:"mr-1"}),g(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),r("p",as,[s(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+a(e.$t("headshots.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),s(c,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",ns,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",is,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",ls,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",rs,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ds=b(je,[["render",cs],["__scopeId","data-v-d286678e"]]),ps=v({name:"RecentPanel",components:{TaskPreview:ds,ElSkeleton:oe,ElSkeletonItem:te,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ms={key:0,class:"tasks"},hs={class:"left"},us={class:"main"},fs={key:1,class:"tasks"},gs={key:2,class:"description"};function _s(e,t,m,h,k,y){const p=n("el-skeleton-item"),u=n("el-skeleton"),i=n("task-preview"),c=n("scroll-list");return o(),E(c,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:d(()=>[e.tasks?.items===void 0?(o(),l("div",ms,[(o(),l(I,null,T(3,f=>r("div",{key:f,class:"task placeholder"},[r("div",hs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"image",class:"avatar"})]),_:1})]),r("div",us,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"p",class:"title"}),s(p,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",fs,[(o(!0),l(I,null,T(e.tasks?.items,(f,_)=>(o(),E(i,{key:_,"model-value":f,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",gs,a(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const $s=b(ps,[["render",_s],["__scopeId","data-v-ffd55c16"]]),vs=j("headshots"),bs=v({name:"HeadshotsIndex",components:{ConfigPanel:Re,Layout:ce,ApplicationStatus:x,RecentPanel:$s},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===V.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===V.Request},needApply(){return this.$store.state.headshots.status.getApplications===V.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({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("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Z&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:m,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:vs},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),z("headshots",M.generate(e,{token:t})).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===Y?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ks(e,t,m,h,k,y){const p=n("config-panel"),u=n("application-status"),i=n("recent-panel"),c=n("layout");return o(),E(c,null,{config:d(()=>[s(p,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:d(()=>[s(u,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(i,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const at=b(bs,[["render",ks],["__scopeId","data-v-0af228d8"]]);export{at as default};
|
|
1
|
+
import{F as C}from"./index.es-8EnvYue2.js";import{E as G}from"./index-BohXbZ2r.js";import{E as L}from"./index-1duw3meC.js";import{d as v,H as l,E as r,z as A,C as s,y as d,D as n,q as o,F as a,I as g,O as I,N as T,x as E,Q as S,c as U,J as $}from"./vendor-vue-NSDaktjZ.js";import{G as b,bl as D,cu as z,bd as M,n as O,S as V,cv as j}from"./index-C769Onuz.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as q,S as F,l as N}from"./pagination-B_rXIxYu.js";import{I as H}from"./ImagePreview-DRhaeMj1.js";import{E as J}from"./index-BfcZVTcY.js";import{E as w}from"./index-C35824SI.js";import{a as Q,E as W}from"./index-4UPfIKvp.js";import{E as R}from"./index-BxMpD69n.js";import{E as K,a as X}from"./index-C4zRizPG.js";import{b as Y,a as Z}from"./errorCode-Cqj9Td_Z.js";import{A as x}from"./Status-C_f6q1WW.js";import{C as ee}from"./CopyToClipboard-BN_GVB08.js";import{E as se}from"./index-DGqxXaJY.js";import{E as te,a as oe}from"./index-1uyc0tg8.js";import"./use-form-item-Ck1g57NC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-DH4uKXiW.js";import"./index-_gGwul3Q.js";import"./typescript-C3d9MWp0.js";import"./index-Bjh2SIj8.js";import"./_baseClone-I25WNFTn.js";import"./_Uint8Array-0ZrewKty.js";import"./_initCloneObject-BBp5M13E.js";import"./isEqual-CCeFlspg.js";import"./debounce-BKi6w8Na.js";import"./index-CqA61rPt.js";import"./strings-beZM2Y-f.js";import"./isPlainObject-CECw9khe.js";const ae=v({name:"LayoutHeadshots",components:{ElDrawer:L,ElButton:G,FontAwesomeIcon:C},data(){return{drawer:!1}}}),ne={class:"main flex flex-row flex-1"},ie={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 re(e,t,m,h,k,y){const p=n("font-awesome-icon"),u=n("el-button"),i=n("el-drawer");return o(),l("div",ne,[r("div",ie,[A(e.$slots,"config",{},void 0,!0)]),r("div",le,[A(e.$slots,"result",{},void 0,!0)]),s(u,{circle:"",class:"menu",onClick:t[0]||(t[0]=c=>e.drawer=!0)},{default:d(()=>[s(p,{icon:"fa-solid fa-gear"})]),_:1}),s(i,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=c=>e.drawer=c),"with-header":!1,size:"340px",class:"drawer"},{default:d(()=>[A(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ce=b(ae,[["render",re],["__scopeId","data-v-c93166c8"]]),de=v({name:"ImageUrlsInput",components:{ElUpload:J,ElButton:G,InfoIcon:q,ImagePreview:H,FontAwesomeIcon:C},mixins:[B],data(){return{fileList:[],uploadUrl:D()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrls()},methods:{onExceed(){w.warning(this.$t("headshots.message.uploadImageExceed"))},onError(){w.error(this.$t("headshots.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),pe={class:"field"},me={class:"title font-bold"},he={class:"upload-wrapper"};function ue(e,t,m,h,k,y){const p=n("image-preview"),u=n("font-awesome-icon"),i=n("el-button"),c=n("el-upload"),f=n("info-icon");return o(),l("div",pe,[r("h2",me,a(e.$t("headshots.name.endImageUrls")),1),r("div",he,[s(c,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:2,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:_})=>[s(p,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:P=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:d(()=>[s(i,{size:"small",type:"primary",round:""},{default:d(()=>[s(u,{icon:"fa-solid fa-upload",class:"mr-1"}),g(" "+a(e.$t("headshots.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])]),s(f,{content:e.$t("headshots.description.endImageUrls"),class:"info"},null,8,["content"])])}const fe=b(de,[["render",ue],["__scopeId","data-v-ca56051e"]]),ge="fast",_e=v({name:"ModeSelector",components:{ElRadioButton:W,ElRadioGroup:Q},data(){return{options:[{label:this.$t("headshots.button.fast"),value:"fast"},{label:this.$t("headshots.button.relax"),value:"relax"}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug("set mode",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||(this.value=ge)}}),$e={class:"field"},ve={class:"title font-bold"};function be(e,t,m,h,k,y){const p=n("el-radio-button"),u=n("el-radio-group");return o(),l("div",$e,[r("h2",ve,a(e.$t("headshots.name.mode")),1),s(u,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=i=>e.value=i),class:"mode"},{default:d(()=>[(o(!0),l(I,null,T(e.options,i=>(o(),E(p,{key:i.value,label:i.value},{default:d(()=>[g(a(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const ke=b(_e,[["render",be],["__scopeId","data-v-e7702494"]]),ye=v({name:"StylizeSelector",components:{ElTabs:X,ElTabPane:K,ElImage:R},data(){return{tab:"styles",value:"",elements:{styles:{displayName:this.$t("headshots.styleCategory.styles"),items:[{image:"https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png",label:this.$t("headshots.styleTag.malePportrait"),value:"male_portrait"},{image:"https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png",label:this.$t("headshots.styleTag.malePportrait2"),value:"male_portrait2"},{image:"https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png",label:this.$t("headshots.styleTag.kindergarten"),value:"kindergarten"},{image:"https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp",label:this.$t("headshots.styleTag.logoTshirt"),value:"logo_tshirt"},{image:"https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg",label:this.$t("headshots.styleTag.wedding"),value:"wedding"},{image:"https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp",label:this.$t("headshots.styleTag.businessPphoto"),value:"business_photo"},{image:"https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg",label:this.$t("headshots.styleTag.bobSuit"),value:"bob_suit"},{image:"https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp",label:this.$t("headshots.styleTag.femalePortrait"),value:"female_portrait"}]}}}},watch:{value(e){console.debug("set template",e),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||(this.value=""),console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value="":this.value=e,console.debug("set template",this.value),this.$store.commit("headshots/setConfig",{...this.$store.state.headshots?.config,template:this.value})}}}),we={class:"field"},Ie=["onClick"],Te={class:"name"};function Ee(e,t,m,h,k,y){const p=n("el-image"),u=n("el-tab-pane"),i=n("el-tabs");return o(),l("div",we,[s(i,{modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=c=>e.tab=c)},{default:d(()=>[(o(!0),l(I,null,T(e.elements,(c,f)=>(o(),E(u,{key:f,label:c.displayName,name:f,class:"pane"},{default:d(()=>[(o(!0),l(I,null,T(c.items,(_,P)=>(o(),l("div",{key:P,class:S({item:!0,active:e.value===_.value}),onClick:ys=>e.onToggle(_.value)},[s(p,{src:_.image,fit:"fill",class:"preview"},null,8,["src"]),r("span",Te,a(_.label),1)],10,Ie))),128))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])}const Se=b(ye,[["render",Ee],["__scopeId","data-v-be4bd25d"]]),Ve=v({name:"PresetPanel",components:{ModeSelector:ke,ImageUrlsInput:fe,ElButton:G,FontAwesomeIcon:C,ElementsSelector:Se},emits:["generate"],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit("generate")}}}),Ce={class:"panel"},Ae={class:"config"},Ge={class:"actions"};function Pe(e,t,m,h,k,y){const p=n("elements-selector"),u=n("mode-selector"),i=n("image-urls-input"),c=n("font-awesome-icon"),f=n("el-button");return o(),l("div",Ce,[r("div",Ae,[s(p,{class:"mb-4"}),s(u,{class:"mb-4"}),s(i,{class:"mb-4"}),r("div",Ge,[s(f,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[s(c,{icon:"fa-solid fa-magic",class:"mr-2"}),g(" "+a(e.$t("headshots.button.generate")),1)]),_:1},8,["onClick"])])])])}const Re=b(Ve,[["render",Pe],["__scopeId","data-v-848739f6"]]),Le=v({name:"ImageGallery",props:{modelValue:{type:Object,required:!0}},setup(e){return{images:U(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:h=>{window.open(h,"_blank")}}}}),Ue={class:"image-gallery"},De=["src"],ze=["onClick"];function Me(e,t,m,h,k,y){return o(),l("div",Ue,[(o(!0),l(I,null,T(e.images,(p,u)=>(o(),l("div",{key:u,class:"image-container"},[r("img",{src:p.image_url,alt:"Image"},null,8,De),p.image_url?(o(),l("button",{key:0,class:"view-button",onClick:i=>e.viewImage(p.image_url)},a(e.$t("headshots.button.viewImage")),9,ze)):$("",!0)]))),128))])}const Oe=b(Le,[["render",Me],["__scopeId","data-v-42f0a7be"]]),je=v({name:"TaskPreview",components:{ElImage:R,CopyToClipboard:ee,FontAwesomeIcon:C,ElAlert:se,ImageGallery:Oe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onReload(e){const t=e.target,m=new URL(t.src),h=m.searchParams.get("retry");if(!h)m.searchParams.set("retry","1");else if(parseInt(h)<2)m.searchParams.set("retry",(parseInt(h)+1).toString());else return;t.src=m.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),Be={class:"preview"},qe={class:"left"},Fe={class:"main"},Ne={class:"bot"},He={class:"datetime"},Je={class:"info"},Qe={key:0,class:"prompt mt-2"},We={key:0},Ke={key:1},Xe={key:0,class:S({content:!0,failed:!0})},Ye={class:"image-wrapper"},Ze={class:"description"},xe={key:0,class:"description"},es={key:1,class:S({content:!0})},ss={class:"description"},ts={class:"description"},os={key:0,class:"description"},as={class:"description"},ns={key:2,class:S({content:!0})},is={class:"description"},ls={key:3,class:S({content:!0})},rs={class:"description"};function cs(e,t,m,h,k,y){const p=n("el-image"),u=n("image-gallery"),i=n("font-awesome-icon"),c=n("copy-to-clipboard"),f=n("el-alert");return o(),l("div",Be,[r("div",qe,[s(p,{src:"https://cdn.acedata.cloud/isxyfw.png",class:"avatar"})]),r("div",Fe,[r("div",Ne,[g(a(e.$t("headshots.name.headshotsBot"))+" ",1),r("span",He,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",Je,[e.modelValue?.request?.template?(o(),l("p",Qe,[g(a(e.modelValue?.request?.template)+" ",1),e.modelValue?.response?$("",!0):(o(),l("span",We," - ("+a(e.$t("headshots.status.pending"))+") ",1)),e.modelValue?.response?.status==="unknown"?(o(),l("span",Ke," - ("+a(e.$t("headshots.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0?(o(),l("div",Xe,[r("div",Ye,[s(u,{"model-value":e.modelValue},null,8,["model-value"])]),s(f,{closable:!1,class:"mt-2 success"},{default:d(()=>[r("p",Ze,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),l("p",xe,[s(i,{icon:"fa-solid fa-clock",class:"mr-1"}),g(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(o(),l("div",es,[s(f,{closable:!1,class:"failure"},{template:d(()=>[s(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",ss,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",ts,[s(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),s(c,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(o(),l("p",os,[s(i,{icon:"fa-solid fa-clock",class:"mr-1"}),g(" "+a(e.$t("headshots.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),r("p",as,[s(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),g(" "+a(e.$t("headshots.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),s(c,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(o(),l("div",ns,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",is,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])),e.modelValue?.response?.status==="unknown"?(o(),l("div",ls,[s(f,{closable:!1,class:"info"},{template:d(()=>[s(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),g(" "+a(e.$t("headshots.name.failure")),1)]),default:d(()=>[r("p",rs,[s(i,{icon:"fa-solid fa-magic",class:"mr-1"}),g(" "+a(e.$t("headshots.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),s(c,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0)])])}const ds=b(je,[["render",cs],["__scopeId","data-v-d286678e"]]),ps=v({name:"RecentPanel",components:{TaskPreview:ds,ElSkeleton:oe,ElSkeletonItem:te,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ms={key:0,class:"tasks"},hs={class:"left"},us={class:"main"},fs={key:1,class:"tasks"},gs={key:2,class:"description"};function _s(e,t,m,h,k,y){const p=n("el-skeleton-item"),u=n("el-skeleton"),i=n("task-preview"),c=n("scroll-list");return o(),E(c,{ref:"scrollList",class:"panel recent",loading:e.loading,onReachTop:t[0]||(t[0]=f=>e.$emit("reach-top"))},{default:d(()=>[e.tasks?.items===void 0?(o(),l("div",ms,[(o(),l(I,null,T(3,f=>r("div",{key:f,class:"task placeholder"},[r("div",hs,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"image",class:"avatar"})]),_:1})]),r("div",us,[s(u,{animated:""},{template:d(()=>[s(p,{variant:"p",class:"title"}),s(p,{variant:"image",class:"icon"})]),_:1})])])),64))])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(o(),l("div",fs,[(o(!0),l(I,null,T(e.tasks?.items,(f,_)=>(o(),E(i,{key:_,"model-value":f,class:"preview"},null,8,["model-value"]))),128))])):$("",!0),e.tasks?.items?.length===0?(o(),l("p",gs,a(e.$t("headshots.message.noTasks")),1)):$("",!0)]),_:1},8,["loading"])}const $s=b(ps,[["render",_s],["__scopeId","data-v-ffd55c16"]]),vs=j("headshots"),bs=v({name:"HeadshotsIndex",components:{ConfigPanel:Re,Layout:ce,ApplicationStatus:x,RecentPanel:$s},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===V.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===V.Request},needApply(){return this.$store.state.headshots.status.getApplications===V.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({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("headshots/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("headshots/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){O.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Z&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:m,createdAtMax:h}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("headshots/getTasks",{limit:t,createdAtMin:m,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){const e={...this.config,callback_url:vs},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("headshots.message.startingTask")),z("headshots",M.generate(e,{token:t})).then(()=>{w.success(this.$t("headshots.message.startTaskSuccess")),this.$store.commit("headshots/setConfig",{config:void 0})}).catch(m=>{m?.response?.data?.error?.code===Y?w.error(this.$t("headshots.message.usedUp")):w.error(this.$t("headshots.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ks(e,t,m,h,k,y){const p=n("config-panel"),u=n("application-status"),i=n("recent-panel"),c=n("layout");return o(),E(c,null,{config:d(()=>[s(p,{onGenerate:e.onGeneratePicture},null,8,["onGenerate"])]),result:d(()=>[s(u,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:"mb-4",onRefresh:e.onGetApplication,onSelect:t[0]||(t[0]=f=>e.$store.dispatch("headshots/setApplication",f))},null,8,["initializing","application","applications","service","need-apply","onRefresh"]),s(i,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const at=b(bs,[["render",ks],["__scopeId","data-v-0af228d8"]]);export{at as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as L}from"./index.es-BIY7CZOu.js";import{E as C}from"./index-Dft1uQH2.js";import{E as N}from"./index-sOcVL3CV.js";import{d as b,H as r,E as i,z as U,C as o,y as u,D as s,q as a,F as l,O as V,N as A,x as y,Q as I,R as q,I as h,J as $,G as K,L as W}from"./vendor-vue-NSDaktjZ.js";import{G as k,bl as H,cr as Z,aL as J,S as G,cs as Q}from"./index-CzP-YfUP.js";import{a as P,b as z,c as S,d as M,e as Y,f as X,g as x,h as ee,i as te}from"./sora-Dyuoglk1.js";import{E as D,a as R}from"./index-B46LDNFW.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as F,S as se,l as ae}from"./pagination-DKOx3qjG.js";import{I as ne}from"./ImagePreview-BCh24l78.js";import{E as le}from"./index-DdLzb9JE.js";import{E as T}from"./index-9c6mlyah.js";import{C as re}from"./Consumption-DJUG1k1m.js";import{E as ie}from"./index-ePgSEI0d.js";import{a as ce}from"./price-DBN1RE2C.js";import{b as de}from"./errorCode-Cqj9Td_Z.js";import{C as ue}from"./CopyToClipboard-DRkKJMhW.js";import{V as pe}from"./VideoPlayer-5xWps39-.js";import{E as me}from"./index-lMMawSSF.js";import{E as fe}from"./index-bkzAk2Rs.js";import{E as _e}from"./index-7IPw5ILt.js";import{B as he}from"./BotPlaceholder-kv0nRQqU.js";import{N as $e}from"./NoTasks-B4ZI988H.js";import"./use-form-item-BPgnjjv2.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-DfyI499k.js";import"./typescript-DrQuOpaX.js";import"./index-NoVJx0Ui.js";import"./strings-beZM2Y-f.js";import"./isEqual-iWTVBMu5.js";import"./_Uint8Array-CdonPqER.js";import"./castArray-C8WnuzhR.js";import"./debounce-DhAudFdR.js";import"./_baseIteratee-NsiiN0O1.js";import"./index-D7twZ09J.js";import"./index-S89iak1F.js";import"./_baseClone-BPc9nvZg.js";import"./_initCloneObject-DVq_tAAN.js";import"./index-DDPR8FJw.js";import"./vue-plyr-BO2nlN4c.js";import"./index-CSUcGojr.js";const ge=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:C,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ve={class:"main flex flex-row flex-1"},be={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ke={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function we(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",ve,[i("div",be,[U(e.$slots,"config",{},void 0,!0)]),i("div",ke,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ye=k(ge,[["render",we],["__scopeId","data-v-6dd15bee"]]),Se=b({name:"ModelSelector",components:{ElSelect:R,ElOption:D},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Y,label:"sora-2"},{value:X,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),Ve={class:"field"},Ee={class:"title font-bold"};function Te(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Ve,[i("h2",Ee,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=k(Se,[["render",Te],["__scopeId","data-v-0cb7913d"]]),Ae=b({name:"ActionSelector",components:{ElSelect:R,ElOption:D},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=x)}}),Le={class:"field"},Ce={class:"title font-bold"},De={class:"float-left"};function Re(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Le,[i("h2",Ce,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},{default:u(()=>[i("span",De,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=k(Ae,[["render",Re],["__scopeId","data-v-7b82fa7f"]]),Ue=b({name:"DurationSelector",components:{ElSelect:R,ElOption:D},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Ge={class:"field"},Pe={class:"control"},ze={class:"title font-bold"};function Me(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Ge,[i("div",Pe,[i("h2",ze,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.optionsForModel,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Fe=k(Ue,[["render",Me],["__scopeId","data-v-c2934598"]]),Be=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=ee)}}),je={class:"text-sm font-bold mb-2 block"},Ne={class:"items"},qe=["onClick"],Ke={class:"name"};function We(e,t,p,m,g,v){return a(),r("div",null,[i("span",je,l(e.$t("sora.name.orientation")),1),i("div",Ne,[(a(!0),r(V,null,A(e.options,(c,d)=>(a(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:I(["preview",c.value])},[i("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ke,l(e.$t(c.labelKey)),1)],10,qe))),128))])])}const He=k(Be,[["render",We],["__scopeId","data-v-a20be6d9"]]),Ze=b({name:"StartEndImage",components:{ElUpload:le,ElButton:C,InfoIcon:F,FontAwesomeIcon:L,ImagePreview:ne},mixins:[oe],emits:["change"],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Je={class:"relative"},Qe={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"};function xe(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return a(),r("div",Je,[i("div",Qe,[i("div",Ye,[i("span",Xe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(a(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=k(Ze,[["render",xe],["__scopeId","data-v-a942382b"]]),tt=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),ot=b({name:"SizeSelector",components:{ElSelect:R,ElOption:D},data(){return{options:te.map(e=>({value:e,label:tt(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),st={class:"field"},at={class:"control"},nt={class:"title font-bold"};function lt(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",st,[i("div",at,[i("h2",nt,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const rt=k(ot,[["render",lt],["__scopeId","data-v-8c485f0f"]]),it="",ct=b({name:"PromptInput",components:{ElInput:ie,InfoIcon:F},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=it)}}),dt={class:"field"},ut={class:"box"},pt={class:"title font-bold"};function mt(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return a(),r("div",dt,[i("div",ut,[i("h2",pt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ft=k(ct,[["render",mt],["__scopeId","data-v-a57633d5"]]),_t=b({name:"ConfigPanel",components:{ElButton:C,Consumption:re,FontAwesomeIcon:L,PromptInput:ft,ModelSelector:Ie,StartEndImage:et,SizeSelector:rt,ActionSelector:Oe,OrientationSelector:He,DurationSelector:Fe},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ht={class:"flex flex-col h-full"},$t={class:"flex-1 overflow-y-auto p-5"},gt={class:"flex flex-col items-center justify-center px-5 pb-5"};function vt(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),j=s("el-button");return a(),r("div",ht,[i("div",$t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(E,{class:"mb-2"},null,512),[[W,e.config?.action==="image2video"]])]),i("div",gt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const bt=k(_t,[["render",vt]]),kt=b({name:"TaskPreview",components:{ElImage:_e,CopyToClipboard:ue,FontAwesomeIcon:L,ElAlert:fe,VideoPlayer:pe,ElTooltip:me,ElButton:C},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),wt={class:"preview"},yt={class:"left"},St={class:"main"},Vt={class:"bot"},Et={class:"datetime"},Tt={class:"info"},It={key:0,class:"prompt mt-2"},At={key:0},Lt={key:1},Ct={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Rt={key:1,class:I({operations:!0,"mt-2":!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:1,class:I({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={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-0"},jt={key:2,class:I({content:!0})},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Kt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),n=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",wt,[i("div",yt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",St,[i("div",Vt,[h(l(e.$t("sora.name.soraBot"))+" ",1),i("span",Et,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Tt,[e.modelValue?.request?.prompt?(a(),r("p",It,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),r("span",At," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",Lt," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Ct,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(a(),r("div",Rt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),y(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:u(()=>[i("p",Ot,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Ut,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Gt,[o(_,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Pt,[o(E,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[i("p",zt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),i("p",Mt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ft,[o(_,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Bt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",jt,[o(E,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[i("p",Nt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",qt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Wt=k(kt,[["render",Kt],["__scopeId","data-v-fa5225eb"]]),Ht=b({name:"RecentPanel",components:{TaskPreview:Wt,NoTasks:$e,BotPlaceholder:he,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Qt(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),w=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Zt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),y(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(V,null,A(e.tasks?.items,(_,f)=>(a(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(a(),r("div",Jt,[o(w)])):$("",!0)],64)}const Yt=k(Ht,[["render",Qt]]),Xt=Q("sora"),xt=b({name:"SoraIndex",components:{ConfigPanel:bt,Layout:ye,RecentPanel:Yt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({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("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Xt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),Z("sora",J.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===de?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function eo(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),y(n,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Wo=k(xt,[["render",eo]]);export{Wo as default};
|
|
1
|
+
import{F as L}from"./index.es-8EnvYue2.js";import{E as C}from"./index-BohXbZ2r.js";import{E as N}from"./index-1duw3meC.js";import{d as b,H as r,E as i,z as U,C as o,y as u,D as s,q as a,F as l,O as V,N as A,x as y,Q as I,R as q,I as h,J as $,G as K,L as W}from"./vendor-vue-NSDaktjZ.js";import{G as k,bl as H,cu as Z,aL as J,S as G,cv as Q}from"./index-C769Onuz.js";import{a as P,b as z,c as S,d as M,e as Y,f as X,g as x,h as ee,i as te}from"./sora-Dyuoglk1.js";import{E as D,a as R}from"./index-trZQ27KC.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as F,S as se,l as ae}from"./pagination-B_rXIxYu.js";import{I as ne}from"./ImagePreview-DRhaeMj1.js";import{E as le}from"./index-BfcZVTcY.js";import{E as T}from"./index-C35824SI.js";import{C as re}from"./Consumption-C8V--EC7.js";import{E as ie}from"./index-C6A_7e6l.js";import{a as ce}from"./price-DeJrvwM_.js";import{b as de}from"./errorCode-Cqj9Td_Z.js";import{C as ue}from"./CopyToClipboard-BN_GVB08.js";import{V as pe}from"./VideoPlayer-DeefBCor.js";import{E as me}from"./index-DH4uKXiW.js";import{E as fe}from"./index-DGqxXaJY.js";import{E as _e}from"./index-BxMpD69n.js";import{B as he}from"./BotPlaceholder-Lxsi7yXh.js";import{N as $e}from"./NoTasks-B39yxIND.js";import"./use-form-item-Ck1g57NC.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-DsyghaSY.js";import"./typescript-C3d9MWp0.js";import"./index-_gGwul3Q.js";import"./strings-beZM2Y-f.js";import"./isEqual-CCeFlspg.js";import"./_Uint8Array-0ZrewKty.js";import"./castArray-MGnU8s5j.js";import"./debounce-BKi6w8Na.js";import"./_baseIteratee-BaCwCO2P.js";import"./index-M199edT7.js";import"./index-Bjh2SIj8.js";import"./_baseClone-I25WNFTn.js";import"./_initCloneObject-BBp5M13E.js";import"./index-CqA61rPt.js";import"./vue-plyr-BO2nlN4c.js";import"./index-1uyc0tg8.js";const ge=b({name:"LayoutSora",components:{ElDrawer:N,ElButton:C,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ve={class:"main flex flex-row flex-1"},be={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ke={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function we(e,t,p,m,g,v){const c=s("font-awesome-icon"),d=s("el-button"),n=s("el-drawer");return a(),r("div",ve,[i("div",be,[U(e.$slots,"config",{},void 0,!0)]),i("div",ke,[U(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=w=>e.drawer=!0)},{default:u(()=>[o(c,{icon:"fa-solid fa-magic"})]),_:1}),o(n,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=w=>e.drawer=w),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ye=k(ge,[["render",we],["__scopeId","data-v-6dd15bee"]]),Se=b({name:"ModelSelector",components:{ElSelect:R,ElOption:D},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:Y,label:"sora-2"},{value:X,label:"sora-2-pro"}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){const t=this.$store.state.sora?.config||{},p=z[e]||[S],m=t.duration,g=m&&p.includes(m)?m:p.includes(S)?S:p[0],v={...t,model:e,duration:g,size:t.size||M};this.$store.commit("sora/setConfig",v)}}},mounted(){this.value||(this.value=P)}}),Ve={class:"field"},Ee={class:"title font-bold"};function Te(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Ve,[i("h2",Ee,l(e.$t("sora.name.model")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ie=k(Se,[["render",Te],["__scopeId","data-v-0cb7913d"]]),Ae=b({name:"ActionSelector",components:{ElSelect:R,ElOption:D},data(){return{}},computed:{options(){return[{value:"text2video",label:this.$t("sora.button.action1")},{value:"image2video",label:this.$t("sora.button.action2")}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||(this.value=x)}}),Le={class:"field"},Ce={class:"title font-bold"},De={class:"float-left"};function Re(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Le,[i("h2",Ce,l(e.$t("sora.name.action")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},{default:u(()=>[i("span",De,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Oe=k(Ae,[["render",Re],["__scopeId","data-v-7b82fa7f"]]),Ue=b({name:"DurationSelector",components:{ElSelect:R,ElOption:D},computed:{model(){return this.$store.state.sora?.config?.model||P},allowedDurations(){return z[this.model]||[S]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,duration:e})}}},watch:{allowedDurations(){const e=this.allowedDurations;if(!e.includes(this.value)){const t=e.includes(S)?S:e[0];this.value=t}}},mounted(){this.value||(this.value=S)}}),Ge={class:"field"},Pe={class:"control"},ze={class:"title font-bold"};function Me(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",Ge,[i("div",Pe,[i("h2",ze,l(e.$t("sora.name.duration")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.optionsForModel,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const Fe=k(Ue,[["render",Me],["__scopeId","data-v-c2934598"]]),Be=b({name:"OrientationSelector",data(){return{options:[{value:"portrait",labelKey:"sora.option.portrait",width:13,height:25},{value:"landscape",labelKey:"sora.option.landscape",width:25,height:13}]}},computed:{active(){const e=this.options.findIndex(t=>t.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug("set orientation",e),this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||(this.value=ee)}}),je={class:"text-sm font-bold mb-2 block"},Ne={class:"items"},qe=["onClick"],Ke={class:"name"};function We(e,t,p,m,g,v){return a(),r("div",null,[i("span",je,l(e.$t("sora.name.orientation")),1),i("div",Ne,[(a(!0),r(V,null,A(e.options,(c,d)=>(a(),r("div",{key:d,class:I({active:e.active===d,item:!0}),onClick:n=>e.value=c.value},[i("div",{class:I(["preview",c.value])},[i("div",{class:"rect",style:q({width:c.width+"px",height:c.height+"px"})},null,4)],2),i("p",Ke,l(e.$t(c.labelKey)),1)],10,qe))),128))])])}const He=k(Be,[["render",We],["__scopeId","data-v-a20be6d9"]]),Ze=b({name:"StartEndImage",components:{ElUpload:le,ElButton:C,InfoIcon:F,FontAwesomeIcon:L,ImagePreview:ne},mixins:[oe],emits:["change"],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartEndImageUrl()},methods:{onExceed(){T.warning(this.$t("sora.message.uploadReferencesExceed"))},onError(){T.error(this.$t("sora.message.uploadReferencesError"))},onSetStartEndImageUrl(){const e=this.urls;this.$store.commit("sora/setConfig",{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Je={class:"relative"},Qe={class:"flex justify-between"},Ye={class:"flex justify-start items-center"},Xe={class:"text-sm font-bold"};function xe(e,t,p,m,g,v){const c=s("info-icon"),d=s("image-preview"),n=s("font-awesome-icon"),w=s("el-button"),_=s("el-upload");return a(),r("div",Je,[i("div",Qe,[i("div",Ye,[i("span",Xe,l(e.$t("sora.name.startEndImage")),1),o(c,{content:e.$t("sora.description.uploadStartEndImage")},null,8,["content"])])]),o(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=f=>e.fileList=f),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:2,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:f})=>[f.url&&f.percentage!==void 0?(a(),y(d,{key:0,url:f.url,name:f.name,percentage:f.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(f),1)},null,8,["url","name","percentage","onRemove"])):$("",!0)]),default:u(()=>[o(w,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:u(()=>[o(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("sora.button.uploadReferences")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=k(Ze,[["render",xe],["__scopeId","data-v-a942382b"]]),tt=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),ot=b({name:"SizeSelector",components:{ElSelect:R,ElOption:D},data(){return{options:te.map(e=>({value:e,label:tt(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){const t=this.$store.state.sora?.config||{};this.$store.commit("sora/setConfig",{...t,size:e})}}},mounted(){this.value||(this.value=M)}}),st={class:"field"},at={class:"control"},nt={class:"title font-bold"};function lt(e,t,p,m,g,v){const c=s("el-option"),d=s("el-select");return a(),r("div",st,[i("div",at,[i("h2",nt,l(e.$t("sora.name.size")),1),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=n=>e.value=n),class:"value",placeholder:e.$t("sora.placeholder.select")},{default:u(()=>[(a(!0),r(V,null,A(e.options,n=>(a(),y(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])}const rt=k(ot,[["render",lt],["__scopeId","data-v-8c485f0f"]]),it="",ct=b({name:"PromptInput",components:{ElInput:ie,InfoIcon:F},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("sora/setConfig",{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=it)}}),dt={class:"field"},ut={class:"box"},pt={class:"title font-bold"};function mt(e,t,p,m,g,v){const c=s("info-icon"),d=s("el-input");return a(),r("div",dt,[i("div",ut,[i("h2",pt,l(e.$t("sora.name.prompt")),1),o(c,{content:e.$t("sora.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("sora.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ft=k(ct,[["render",mt],["__scopeId","data-v-a57633d5"]]),_t=b({name:"ConfigPanel",components:{ElButton:C,Consumption:re,FontAwesomeIcon:L,PromptInput:ft,ModelSelector:Ie,StartEndImage:et,SizeSelector:rt,ActionSelector:Oe,OrientationSelector:He,DurationSelector:Fe},emits:["generate"],computed:{config(){return this.$store.state.sora?.config},consumption(){return ce(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ht={class:"flex flex-col h-full"},$t={class:"flex-1 overflow-y-auto p-5"},gt={class:"flex flex-col items-center justify-center px-5 pb-5"};function vt(e,t,p,m,g,v){const c=s("model-selector"),d=s("action-selector"),n=s("duration-selector"),w=s("size-selector"),_=s("orientation-selector"),f=s("prompt-input"),E=s("start-end-image"),O=s("consumption"),B=s("font-awesome-icon"),j=s("el-button");return a(),r("div",ht,[i("div",$t,[o(c,{class:"mb-4"}),o(d,{class:"mb-4"}),o(n,{class:"mb-4"}),o(w,{class:"mb-4"}),o(_,{class:"mb-4"}),o(f,{class:"mb-4"}),K(o(E,{class:"mb-2"},null,512),[[W,e.config?.action==="image2video"]])]),i("div",gt,[o(O,{value:e.consumption,service:e.service},null,8,["value","service"]),o(j,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[o(B,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("sora.button.generate")),1)]),_:1},8,["onClick"])])])}const bt=k(_t,[["render",vt]]),kt=b({name:"TaskPreview",components:{ElImage:_e,CopyToClipboard:ue,FontAwesomeIcon:L,ElAlert:fe,VideoPlayer:pe,ElTooltip:me,ElButton:C},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{onDownload(e,t){e.stopPropagation(),console.log("on download"),window.open(t,"_blank")},onOpenVideo(e){window.open(e,"_blank")}}}),wt={class:"preview"},yt={class:"left"},St={class:"main"},Vt={class:"bot"},Et={class:"datetime"},Tt={class:"info"},It={key:0,class:"prompt mt-2"},At={key:0},Lt={key:1},Ct={key:0,class:I({content:!0,failed:!0})},Dt={key:0,class:"mb-4"},Rt={key:1,class:I({operations:!0,"mt-2":!0})},Ot={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Pt={key:1,class:I({content:!0})},zt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ft={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-0"},jt={key:2,class:I({content:!0})},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Kt(e,t,p,m,g,v){const c=s("el-image"),d=s("video-player"),n=s("el-button"),w=s("el-tooltip"),_=s("font-awesome-icon"),f=s("copy-to-clipboard"),E=s("el-alert");return a(),r("div",wt,[i("div",yt,[o(c,{src:"https://cdn.acedata.cloud/z5id1u.png",class:"avatar"})]),i("div",St,[i("div",Vt,[h(l(e.$t("sora.name.soraBot"))+" ",1),i("span",Et,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Tt,[e.modelValue?.request?.prompt?(a(),r("p",It,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),r("span",At," - ("+l(e.$t("sora.status.pending"))+") ",1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state==="pending"?(a(),r("span",Lt," - ("+l(e.$t("sora.status.processing"))+") ",1)):$("",!0)])):$("",!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(a(),r("div",Ct,[e.modelValue?.response?.data[0]?.video_url?(a(),r("div",Dt,[o(d,{src:e.modelValue?.response?.data[0]?.video_url},null,8,["src"])])):$("",!0),e.modelValue?.response.success?(a(),r("div",Rt,[o(w,{class:"box-item",effect:"dark",content:e.$t("sora.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.modelValue?.response?.data[0]?.video_url?(a(),y(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=O=>e.onDownload(O,e.modelValue?.response?.data[0]?.video_url))},{default:u(()=>[h(l(e.$t("sora.button.download")),1)]),_:1})):$("",!0)]),_:1},8,["content"])])):$("",!0),o(E,{closable:!1,class:"mt-2 success"},{default:u(()=>[i("p",Ot,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.model"))+": "+l(e.modelValue?.request?.model),1)]),i("p",Ut,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Gt,[o(_,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),r("div",Pt,[o(E,{closable:!1,class:"failure"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[i("p",zt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),i("p",Mt,[o(_,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("sora.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),o(f,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),r("p",Ft,[o(_,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("sora.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),e.modelValue?.response?.trace_id?(a(),r("p",Bt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===void 0?(a(),r("div",jt,[o(E,{closable:!1,class:"info"},{template:u(()=>[o(_,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("sora.name.failure")),1)]),default:u(()=>[i("p",Nt,[o(_,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("sora.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),o(f,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),r("p",qt,[o(_,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("sora.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),o(f,{content:e.modelValue?.response?.trace_id},null,8,["content"])])):$("",!0)]),_:1})])):$("",!0)])])}const Wt=k(kt,[["render",Kt],["__scopeId","data-v-fa5225eb"]]),Ht=b({name:"RecentPanel",components:{TaskPreview:Wt,NoTasks:$e,BotPlaceholder:he,ScrollList:se},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},Jt={key:2,class:"w-full h-full flex items-center justify-center"};function Qt(e,t,p,m,g,v){const c=s("bot-placeholder"),d=s("task-preview"),n=s("scroll-list"),w=s("no-tasks");return a(),r(V,null,[e.tasks?.items===void 0?(a(),r("div",Zt,[o(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),y(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=_=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),r(V,null,A(e.tasks?.items,(_,f)=>(a(),y(d,{key:f,"model-value":_},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(a(),r("div",Jt,[o(w)])):$("",!0)],64)}const Yt=k(Ht,[["render",Qt]]),Xt=Q("sora"),xt=b({name:"SoraIndex",components:{ConfigPanel:bt,Layout:ye,RecentPanel:Yt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({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("sora/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("sora/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=5,createdAtMin:p,createdAtMax:m}=e||{};console.debug("limit",t,"createdAtMin",p,"createdAtMax",m),this.fetchingTasks=!0;try{await this.$store.dispatch("sora/getTasks",{limit:t,createdAtMin:p,createdAtMax:m})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Xt},t=this.credential?.token;if(!t){console.error("no token specified");return}T.info(this.$t("sora.message.startingTask")),Z("sora",J.generate(e,{token:t})).then(()=>{T.success(this.$t("sora.message.startTaskSuccess"))}).catch(p=>{p?.response?.data?.error?.code===de?T.error(this.$t("sora.message.usedUp")):T.error(this.$t("sora.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function eo(e,t,p,m,g,v){const c=s("config-panel"),d=s("recent-panel"),n=s("layout");return a(),y(n,null,{config:u(()=>[o(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[o(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Wo=k(xt,[["render",eo]]);export{Wo as default};
|