@acedatacloud/nexior 3.111.0 → 3.113.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-CKncbOs3.js → Auth-CQuUP3nE.js} +1 -1
- package/dist/assets/{BotPlaceholder-pdWT9yaS.js → BotPlaceholder-CsnojJZn.js} +1 -1
- package/dist/assets/{Callback-ug-RJzdC.js → Callback-BrW-VomF.js} +1 -1
- package/dist/assets/{Console-HM5QEMny.js → Console-DGzcnvic.js} +1 -1
- package/dist/assets/{Consumption-HjIHVPfJ.js → Consumption-BmCuzJMR.js} +1 -1
- package/dist/assets/{Conversation-BOINVenJ.css → Conversation-BLw-ubIG.css} +1 -1
- package/dist/assets/{Conversation-3fXcacWu.js → Conversation-DoVsZSzs.js} +6 -6
- package/dist/assets/{CopyToClipboard-Bm9IiB5O.js → CopyToClipboard-HGNJHey3.js} +1 -1
- package/dist/assets/{Detail-W4psxShz.js → Detail-Bz03NoPz.js} +2 -2
- package/dist/assets/{EditArray-CdJCgAF8.js → EditArray-CemDbSY-.js} +1 -1
- package/dist/assets/{Extra-BKIBFZ5w.js → Extra-BI4KajJv.js} +1 -1
- package/dist/assets/{FilePreview-B-kt6wkS.js → FilePreview-mAOOMOwj.js} +1 -1
- package/dist/assets/{History-DnkBBOXL.js → History-CUgLRG5d.js} +1 -1
- package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-CUMeVlRQ.js → IconPark.vue_vue_type_script_setup_true_lang-DCXlZ4n-.js} +1 -1
- package/dist/assets/{ImagePreview-B-kcZ7xf.js → ImagePreview-DWqv9gSS.js} +1 -1
- package/dist/assets/{ImageWrapper-C6EfiSL4.js → ImageWrapper-HRwKkltj.js} +1 -1
- package/dist/assets/{Index-Bb4sqjBP.js → Index-7XWCguYf.js} +1 -1
- package/dist/assets/{Index-DRTcpond.js → Index-A8bf5zrU.js} +1 -1
- package/dist/assets/{Index-BID7cAU3.js → Index-B6ZZCiWy.js} +1 -1
- package/dist/assets/{Index-CGzSyP7E.js → Index-BH8oEVdx.js} +1 -1
- package/dist/assets/{Index-DX2b70BW.js → Index-BrKCH0A0.js} +1 -1
- package/dist/assets/{Index-DiYqwnkS.js → Index-Bub40z59.js} +1 -1
- package/dist/assets/{Index-BRx9uhpp.js → Index-C6ZSiIGX.js} +1 -1
- package/dist/assets/{Index-CDzIBHMu.js → Index-CJd6M4vV.js} +1 -1
- package/dist/assets/{Index-D3VhpC77.js → Index-CK1E5z5Z.js} +1 -1
- package/dist/assets/{Index-BwFbNF68.js → Index-COom_lZS.js} +1 -1
- package/dist/assets/{Index-BB_5NoTS.js → Index-CWOE4Ngp.js} +1 -1
- package/dist/assets/{Index-Clfys-rl.js → Index-CbS1oFDf.js} +1 -1
- package/dist/assets/{Index-DOpXe2QA.js → Index-Cbzk-Yt1.js} +1 -1
- package/dist/assets/{Index-DFmUgljq.js → Index-Cwm8-yP1.js} +1 -1
- package/dist/assets/{Index-1fB1hKXH.js → Index-DLF7S6E6.js} +1 -1
- package/dist/assets/{Index-Ja_nX74y.js → Index-DO37G6cP.js} +1 -1
- package/dist/assets/{Index-CERNv4NG.js → Index-DVFn6ExU.js} +1 -1
- package/dist/assets/{Index-lq5gDGvW.js → Index-DfdLmBZK.js} +1 -1
- package/dist/assets/{Index-BVlIcCLM.js → Index-DnqvRxUh.js} +1 -1
- package/dist/assets/{Index-BEHhdQWb.js → Index-Ds_rmdN_.js} +1 -1
- package/dist/assets/{Index-Jo8DToQ8.js → Index-DzG57qsd.js} +1 -1
- package/dist/assets/{Index-CU3TiMjH.js → Index-HwgmrN9V.js} +1 -1
- package/dist/assets/{Index-BvAGIdGo.js → Index-JJal6SFy.js} +1 -1
- package/dist/assets/{Index-Bb0CvWHW.js → Index-sYSmk-dw.js} +1 -1
- package/dist/assets/{Invitees-DeZvE0vR.js → Invitees-BkN-73uQ.js} +1 -1
- package/dist/assets/{List-BLNAIM--.js → List-BThbUEUd.js} +1 -1
- package/dist/assets/{List-BaDbbTt2.js → List-D0e_pFRE.js} +1 -1
- package/dist/assets/{List-DEn-WRCu.js → List-De4dSpTH.js} +1 -1
- package/dist/assets/{Main-DVf7M63m.js → Main-CnSXiXRa.js} +1 -1
- package/dist/assets/{Navigator-CCkQr_IE.js → Navigator-B1zL0alB.js} +1 -1
- package/dist/assets/{NoTasks-CAc7WMUu.js → NoTasks-lPtMij3t.js} +1 -1
- package/dist/assets/{NotFound-CGgtDNPl.js → NotFound-C1ywJhMv.js} +1 -1
- package/dist/assets/{OAuthCallback-BST1uyNt.js → OAuthCallback-BPm-RkaP.js} +1 -1
- package/dist/assets/{Pagination-C9VApaPW.js → Pagination-Cj83NQf0.js} +1 -1
- package/dist/assets/{ScrollList-ClLx5Ay2.js → ScrollList-Q2xKzPum.js} +1 -1
- package/dist/assets/{Status-CvSbHrk3.js → Status-BteGjYkS.js} +1 -1
- package/dist/assets/{Subscribe-4E3Osz40.js → Subscribe-CripG3gu.js} +1 -1
- package/dist/assets/{TransportWebHID-DR_-jCTH.js → TransportWebHID-BMIUaMgn.js} +1 -1
- package/dist/assets/{VideoPlayer-DHTu44Da.js → VideoPlayer-Dff3NVoM.js} +1 -1
- package/dist/assets/{_Uint8Array-B8owGMyd.js → _Uint8Array-6OmrrJmn.js} +1 -1
- package/dist/assets/{_baseClone-CmG_Edvh.js → _baseClone-BOx25o7C.js} +1 -1
- package/dist/assets/{_baseIteratee-DBmltUMm.js → _baseIteratee-DMLo8hpQ.js} +1 -1
- package/dist/assets/{_initCloneObject-D15ri8PG.js → _initCloneObject-DUgIFTpx.js} +1 -1
- package/dist/assets/{add-C0mpNF6k.js → add-GjNhgZSb.js} +1 -1
- package/dist/assets/{all-wallets-ClotN1E9.js → all-wallets-Ltgg9yKO.js} +1 -1
- package/dist/assets/{app-store-CHklZbY1.js → app-store-D37OI42o.js} +1 -1
- package/dist/assets/{apple-Bp91tKsA.js → apple-CF3ZfYxp.js} +1 -1
- package/dist/assets/{arrow-bottom-DC_JVzih.js → arrow-bottom-CMvoHLzG.js} +1 -1
- package/dist/assets/{arrow-bottom-circle-CjNfFI8_.js → arrow-bottom-circle-Bde751-t.js} +1 -1
- package/dist/assets/{arrow-left-DNF67cNt.js → arrow-left-CMeRAxqM.js} +1 -1
- package/dist/assets/{arrow-right-Cq-twVbs.js → arrow-right-Db9YJooT.js} +1 -1
- package/dist/assets/{arrow-top-BAPEAr7x.js → arrow-top-CpM9H3iP.js} +1 -1
- package/dist/assets/{avatar-BHUyKT-A.js → avatar-B6hZ6gQq.js} +1 -1
- package/dist/assets/{bank-CNjbkHxk.js → bank-YVhi4X-3.js} +1 -1
- package/dist/assets/{basic-cMadvC5q.js → basic-D12bemhZ.js} +1 -1
- package/dist/assets/{browser-mVDec-es.js → browser-BNo3EdVG.js} +1 -1
- package/dist/assets/{byokCredential-XJt4P01K.js → byokCredential-BEyhRGF9.js} +1 -1
- package/dist/assets/{card-Du_mEvSr.js → card-DLCEtX49.js} +1 -1
- package/dist/assets/{castArray-BiIaTbnK.js → castArray-Ci5-UUap.js} +1 -1
- package/dist/assets/{chat-DWj33yLu.js → chat-BV519pSO.js} +1 -1
- package/dist/assets/{checkmark-Cei_rTl3.js → checkmark-BkI1QsW3.js} +1 -1
- package/dist/assets/{checkmark-bold-D3tBxScN.js → checkmark-bold-Bm_NGlTv.js} +1 -1
- package/dist/assets/{chevron-bottom-BWP3X89B.js → chevron-bottom-6jfFQaRG.js} +1 -1
- package/dist/assets/{chevron-left-ny6iN6nL.js → chevron-left-D4HK6eso.js} +1 -1
- package/dist/assets/{chevron-right-B-UE9tuL.js → chevron-right-AE7sZTLd.js} +1 -1
- package/dist/assets/{chevron-top-B-6l7I9J.js → chevron-top-LoJSkhY0.js} +1 -1
- package/dist/assets/{chrome-store-BMLIHKOJ.js → chrome-store-g-XuzPGl.js} +1 -1
- package/dist/assets/{clock-CbDF99vc.js → clock-Bxv6KbZH.js} +1 -1
- package/dist/assets/{close-BEl-n2L2.js → close-1uh44Ooe.js} +1 -1
- package/dist/assets/{coinPlaceholder-in5hstB8.js → coinPlaceholder-DCnn9jdY.js} +1 -1
- package/dist/assets/{compass-CeCFDZeC.js → compass-4XvzCtvv.js} +1 -1
- package/dist/assets/{copy-BE9gVTUY.js → copy-DRNwfmWB.js} +1 -1
- package/dist/assets/{cursor-EOAd-eyy.js → cursor-e8mIvqcG.js} +1 -1
- package/dist/assets/{cursor-transparent-DGW1C4WL.js → cursor-transparent-BJC4GOt8.js} +1 -1
- package/dist/assets/{debounce-BIXA4vQu.js → debounce-BXocW483.js} +1 -1
- package/dist/assets/{desktop-5wy2kz4T.js → desktop-Du2fPIFp.js} +1 -1
- package/dist/assets/{disconnect-CiniaH88.js → disconnect-Bg9_PhGk.js} +1 -1
- package/dist/assets/{discord-ChaVMatf.js → discord-DX8Qn__H.js} +1 -1
- package/dist/assets/{distribution-Cd4FxZnP.js → distribution-DgPTjuIL.js} +1 -1
- package/dist/assets/{dropdown-Djw4XhII.js → dropdown-CQJkjMu6.js} +1 -1
- package/dist/assets/{etherscan-DZRo-j_B.js → etherscan-DsnZEHvd.js} +1 -1
- package/dist/assets/{exclamation-triangle-Bh0MIQEt.js → exclamation-triangle-BtJjcqvV.js} +1 -1
- package/dist/assets/{extension-UwWFgJsF.js → extension-DFlWzDU6.js} +1 -1
- package/dist/assets/{external-link-BfiFs4MY.js → external-link-BFKLCLzK.js} +1 -1
- package/dist/assets/{facebook-CxpowLvQ.js → facebook-E4eqkVBp.js} +1 -1
- package/dist/assets/{farcaster-B0fSWpie.js → farcaster-kRKNX5nl.js} +1 -1
- package/dist/assets/{filters-BiMMkudc.js → filters-CyTlLKn8.js} +1 -1
- package/dist/assets/{flux-DGCtih8k.js → flux-GaQ_YPhX.js} +1 -1
- package/dist/assets/{github-i5XVnXPQ.js → github-l3St5baQ.js} +1 -1
- package/dist/assets/{google-DVKOuAf3.js → google-ByvWhw8R.js} +1 -1
- package/dist/assets/{hailuo-DY93FJRp.js → hailuo-BO6kMqsS.js} +1 -1
- package/dist/assets/{headshots-Clx9yFtP.js → headshots-Bxh7UETv.js} +1 -1
- package/dist/assets/{help-circle-CDCGzUXe.js → help-circle-Cm6-7Dmp.js} +1 -1
- package/dist/assets/{id-BedLB6T_.js → id-HqStiwy5.js} +1 -1
- package/dist/assets/{image-BgiMeEyg.js → image-Bqsryhgx.js} +1 -1
- package/dist/assets/{index-15GiJQk_.js → index--td28vA8.js} +1 -1
- package/dist/assets/{index-CEjOHMmS.js → index-2FDv4HqL.js} +1 -1
- package/dist/assets/{index-B4eGti-_.js → index-2LKNGOkz.js} +1 -1
- package/dist/assets/{index-BF_wH3W3.js → index-39mg_4U_.js} +1 -1
- package/dist/assets/{index-G7zvMRT-.js → index-4CMJyOWU.js} +1 -1
- package/dist/assets/{index-DywgxFYh.js → index-6Uf2HfGO.js} +1 -1
- package/dist/assets/{index-BMEABvuF.js → index-8mTVnrvW.js} +1 -1
- package/dist/assets/{index-CwwCvsDf.js → index-B3o3s9R9.js} +1 -1
- package/dist/assets/{index-CADSUEtD.js → index-BFfW4Y7f.js} +1 -1
- package/dist/assets/{index-BbT7wIiK.js → index-BKGs8fCc.js} +1 -1
- package/dist/assets/{index-CrmvmSrr.js → index-BKKVAkje.js} +1 -1
- package/dist/assets/{index-CIsfCFqq.js → index-BMU1EMrT.js} +1 -1
- package/dist/assets/{index-DXKnEKkD.js → index-BNKl6gZ7.js} +1 -1
- package/dist/assets/{index-D5tBMy2e.js → index-BOryoxGL.js} +1 -1
- package/dist/assets/{index-x4n6plQ5.js → index-BVq78PT1.js} +1 -1
- package/dist/assets/{index-6bMysa7o.js → index-Bb4iUGby.js} +1 -1
- package/dist/assets/{index-BydGPbsc.js → index-BdJBhPh2.js} +1 -1
- package/dist/assets/{index-CidH52Gm.js → index-BjItoaIj.js} +1 -1
- package/dist/assets/{index-BV8tcem4.js → index-BkuhvCIX.js} +1 -1
- package/dist/assets/{index-Buu7519g.js → index-Bn7XPiWS.js} +1 -1
- package/dist/assets/{index-BOCCszA-.js → index-Bo4Ny3jP.js} +1 -1
- package/dist/assets/{index-Btke2Pu_.js → index-BsYdeW3F.js} +1 -1
- package/dist/assets/{index-Pz-2MS0a.js → index-C3PmXR1N.js} +1 -1
- package/dist/assets/{index-DwHZBeTH.js → index-CA-q1DMl.js} +1 -1
- package/dist/assets/{index-OLF8hEHW.js → index-CA6hi4-O.js} +1 -1
- package/dist/assets/{index-Bp2WW5ki.js → index-CB8cZu3S.js} +1 -1
- package/dist/assets/{index-CXPFo-z3.js → index-CDX5CkqO.js} +1 -1
- package/dist/assets/{index-CLjGlCqv.js → index-CFlTMlJz.js} +1 -1
- package/dist/assets/{index-cHGiSHLI.js → index-CGyICKSb.js} +1 -1
- package/dist/assets/{index-C8kzC-fT.js → index-CIZ3qGYr.js} +1 -1
- package/dist/assets/{index-DJ6hjNjr.js → index-CKXZx1gH.js} +1 -1
- package/dist/assets/{index-BXBPY2JC.js → index-CODw2yrb.js} +1 -1
- package/dist/assets/{index-DN23pRhq.js → index-CPGoCXeN.js} +6 -6
- package/dist/assets/{index-DlKmz7tK.js → index-CROEh4VY.js} +1 -1
- package/dist/assets/{index-CpgGHDqx.js → index-CinYT7JO.js} +1 -1
- package/dist/assets/{index-wLOejvGf.js → index-D23UBHEc.js} +1 -1
- package/dist/assets/{index-BhD-3nzt.js → index-D6O5NqkQ.js} +1 -1
- package/dist/assets/{index-BqLSd7S8.js → index-D8WoQM9B.js} +3 -3
- package/dist/assets/{index-Cice4EwV.js → index-DF_R4YQB.js} +1 -1
- package/dist/assets/{index-DWFPMm_t.js → index-DTRT9GSu.js} +1 -1
- package/dist/assets/{index-c06zQDT0.js → index-DTjCvBtK.js} +1 -1
- package/dist/assets/{index-DinNeXmi.js → index-DV157yS0.js} +1 -1
- package/dist/assets/{index-Eg9Dtvnb.js → index-DZoUkwwT.js} +1 -1
- package/dist/assets/{index-C6K-Tjf2.js → index-DanF5-io.js} +1 -1
- package/dist/assets/{index-BpC0_K8o.js → index-Dek0zVrV.js} +1 -1
- package/dist/assets/{index-DW8Srdwr.js → index-Di1GqJ1l.js} +1 -1
- package/dist/assets/{index-CVnh-uJy.js → index-Dw18UA3q.js} +1 -1
- package/dist/assets/{index-BuYqOs8q.js → index-Kpj5X8VO.js} +3 -3
- package/dist/assets/{index-D9mxLTtD.js → index-M1YYreZr.js} +1 -1
- package/dist/assets/{index-C1knIa8B.js → index-Q34liSbl.js} +1 -1
- package/dist/assets/{index-B4njNk04.js → index-SuwrKb5K.js} +1 -1
- package/dist/assets/{index-BcLxs5FR.js → index-byNflBTX.js} +1 -1
- package/dist/assets/{index-ZsRAFqiK.js → index-cmPtQEwY.js} +1 -1
- package/dist/assets/{index-QCvk6zjY.js → index-h0ph9E3K.js} +1 -1
- package/dist/assets/{index-CkTa3bXW.js → index-kSVIjU8I.js} +1 -1
- package/dist/assets/{index-BahF1AaV.js → index-mVG8dJcp.js} +1 -1
- package/dist/assets/{index-C0Am24Fv.js → index-ncu6VVl_.js} +1 -1
- package/dist/assets/{index-Dsf-WzCN.js → index-nm6I5Jp0.js} +1 -1
- package/dist/assets/{index-B_w2jnax.js → index-oaL8D88l.js} +1 -1
- package/dist/assets/{index-ot7wZnSG.js → index-v_IWx5pt.js} +1 -1
- package/dist/assets/{index-B5SDKCdK.js → index-z8qOE9Jz.js} +1 -1
- package/dist/assets/{index.browser.esm-DIXpj19X.js → index.browser.esm-4JlUaIJl.js} +1 -1
- package/dist/assets/{index.es-DAf85_c_.js → index.es-Dur6403L.js} +1 -1
- package/dist/assets/{info-Dcvf_89T.js → info-DK2atmmK.js} +1 -1
- package/dist/assets/{info-circle-DV3akfKd.js → info-circle-CP30ukZ7.js} +1 -1
- package/dist/assets/{isEqual-CSXiaW-q.js → isEqual-D_w2qTUh.js} +1 -1
- package/dist/assets/{isPlainObject-C_0Ser3m.js → isPlainObject-CerpS9hG.js} +1 -1
- package/dist/assets/{kling-DF1S_RXj.js → kling-DsBp6uLv.js} +1 -1
- package/dist/assets/{lightbulb-CTjRCOVB.js → lightbulb-Cc-hjTS8.js} +1 -1
- package/dist/assets/{luma-Ce6gwGqt.js → luma-CGH2lRh1.js} +1 -1
- package/dist/assets/{mail-JYFL_gx5.js → mail-B2o9cYRy.js} +1 -1
- package/dist/assets/{midjourney-CuEnjhqh.js → midjourney-BufEsYg7.js} +1 -1
- package/dist/assets/{mobile-DIYoPDSS.js → mobile-DTea3kic.js} +1 -1
- package/dist/assets/{more-CUQy4jyV.js → more-C7Z3CZKx.js} +1 -1
- package/dist/assets/{nanobanana-YVmjD6V4.js → nanobanana-CLySkFmb.js} +1 -1
- package/dist/assets/{network-placeholder-CQmyqqKl.js → network-placeholder-DYqIZOu-.js} +1 -1
- package/dist/assets/{nftPlaceholder-DOdHjKQn.js → nftPlaceholder-GhJgPt7h.js} +1 -1
- package/dist/assets/{off-BXm2uAZs.js → off-tHPiwqLg.js} +1 -1
- package/dist/assets/{openaiimage-RB3W1okN.js → openaiimage-g7lCTR1a.js} +1 -1
- package/dist/assets/{order-B8iRnZ9u.js → order-Bhlttm-j.js} +1 -1
- package/dist/assets/{pika-BYnVUjKG.js → pika-BRCNogS2.js} +1 -1
- package/dist/assets/{pixverse-CXnOvngq.js → pixverse-BpalM1Bv.js} +1 -1
- package/dist/assets/{play-store-CPfNZfrJ.js → play-store-CQgBR9j0.js} +1 -1
- package/dist/assets/{plus-BXW-k2IL.js → plus-B8yZd7fs.js} +1 -1
- package/dist/assets/{price-BLnrGcOE.js → price-CzFhI6Eu.js} +1 -1
- package/dist/assets/{producer-CSq1TP08.js → producer-BVLmB9y7.js} +1 -1
- package/dist/assets/{qr-code-COhRIfZa.js → qr-code-BDsN57F5.js} +1 -1
- package/dist/assets/{qrart-D8ryGM-9.js → qrart-CXZkHmfV.js} +1 -1
- package/dist/assets/{recycle-horizontal-oiQLPHu6.js → recycle-horizontal-DAWRgBEB.js} +1 -1
- package/dist/assets/{refresh-DkQoUj_h.js → refresh-CIlha9w6.js} +1 -1
- package/dist/assets/{reown-logo-BmyPqZYO.js → reown-logo-CWNunXXl.js} +1 -1
- package/dist/assets/{search-BC02l1O6.js → search-BbCxaW2d.js} +1 -1
- package/dist/assets/{secp256k1-sCCitGyD.js → secp256k1-C6Z-HPyY.js} +1 -1
- package/dist/assets/{secp256k1-CBqKWMtb.js → secp256k1-xsOmgWxc.js} +1 -1
- package/dist/assets/{seedance-CQqE954y.js → seedance-Cvwkw-NP.js} +1 -1
- package/dist/assets/{seedream-CbKKvSYs.js → seedream-6CfdlGE1.js} +1 -1
- package/dist/assets/{send-B5FP1wam.js → send-Bxl-FZpn.js} +1 -1
- package/dist/assets/{service-CMBkXmXP.js → service-Dw3DUAL4.js} +1 -1
- package/dist/assets/{solana-wallets-BnLlJgtL.js → solana-wallets-rjsc5Ea0.js} +2 -2
- package/dist/assets/{solana-wallets-vue-C3FNJ-KO.js → solana-wallets-vue-B4ubMJtK.js} +1 -1
- package/dist/assets/{solanaEmbed.esm-BVmZmGt9.js → solanaEmbed.esm-BjORJLzW.js} +1 -1
- package/dist/assets/{sora-rDGW7zC2.js → sora-DsS6eO3I.js} +1 -1
- package/dist/assets/{string_decoder-BwKhmRiq.js → string_decoder-BhkGKtZL.js} +1 -1
- package/dist/assets/{suno-D3BndtXK.js → suno-D6_xbkwe.js} +1 -1
- package/dist/assets/{swapHorizontal-DDJN4WuP.js → swapHorizontal-AlvXG6yu.js} +1 -1
- package/dist/assets/{swapHorizontalBold-CKBCDFj1.js → swapHorizontalBold-DVaJ3LcP.js} +1 -1
- package/dist/assets/{swapHorizontalMedium-BuYlPcYm.js → swapHorizontalMedium-BdGVfrN5.js} +1 -1
- package/dist/assets/{swapHorizontalRoundedBold-CtXfzUhW.js → swapHorizontalRoundedBold-D_-bltST.js} +1 -1
- package/dist/assets/{swapVertical-Dr_u3jzk.js → swapVertical-Cf0nUGDJ.js} +1 -1
- package/dist/assets/{telegram-DKCJn8tP.js → telegram-BFdzriuB.js} +1 -1
- package/dist/assets/{three-dots-Blqhwg1v.js → three-dots-DKUEnw_p.js} +1 -1
- package/dist/assets/{twitch-CfZ8VTU0.js → twitch-B05Ba74T.js} +1 -1
- package/dist/assets/{twitterIcon-BO8ajIje.js → twitterIcon-Bp3IjV4b.js} +1 -1
- package/dist/assets/{typescript-Bu1ceUI1.js → typescript-C6knQawt.js} +1 -1
- package/dist/assets/{use-form-item-Bcf9wMdQ.js → use-form-item-XHzdfyFT.js} +1 -1
- package/dist/assets/validator-d4pOix4M.js +1 -0
- package/dist/assets/{veo-BYRN1b7S.js → veo-CVZgwa7J.js} +1 -1
- package/dist/assets/{verify-filled-BDgsXFBn.js → verify-filled-CoL5Xz-8.js} +1 -1
- package/dist/assets/{verify-Bp_XfnF7.js → verify-zgjyp6Wm.js} +1 -1
- package/dist/assets/{w3m-modal-DOfTvFLZ.js → w3m-modal-CaqU7wKs.js} +1 -1
- package/dist/assets/{wallet-BxuFLslW.js → wallet-Df7aFzGK.js} +1 -1
- package/dist/assets/{wallet-placeholder-UhpiYUNA.js → wallet-placeholder-BXIJ3QmS.js} +1 -1
- package/dist/assets/{walletconnect-DbKdQMMx.js → walletconnect-Cy6tBKez.js} +1 -1
- package/dist/assets/{wan-DwtDIND_.js → wan-DHQASUXg.js} +1 -1
- package/dist/assets/{warning-circle-Dqt3R-fW.js → warning-circle-CkCnBnvn.js} +1 -1
- package/dist/assets/{web-DCcjiHPr.js → web-GZTNfBAO.js} +1 -1
- package/dist/assets/{web-CHMoqKkF.js → web-reTWr3ar.js} +1 -1
- package/dist/assets/{x-Cegnpxkg.js → x-fTyK3-DG.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/validator-BqhII7fg.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as P}from"./index.es-DAf85_c_.js";import{E as L}from"./index-CADSUEtD.js";import{E as O}from"./index-CEjOHMmS.js";import{d as $,H as l,E as r,z as R,C as t,y as u,D as s,q as a,F as i,O as S,N as T,x as V,I as h,J as g,Q as U}from"./vendor-vue-DU0w5ewx.js";import{E as k,b1 as q,a7 as B,ap as C}from"./index-BuYqOs8q.js";import{a as j,b as F,c as N,p as z}from"./pika-BYnVUjKG.js";import{I as D,S as K}from"./ScrollList-ClLx5Ay2.js";import{E as H}from"./index-DywgxFYh.js";import{E as G,a as M}from"./index-B4njNk04.js";import{a as J,E as Q}from"./index-B4eGti-_.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{I as X}from"./ImagePreview-B-kcZ7xf.js";import{E as Y}from"./index-BcLxs5FR.js";import{E}from"./index-B_w2jnax.js";import{E as Z}from"./index-BydGPbsc.js";import{C as x}from"./Consumption-HjIHVPfJ.js";import{a as ee}from"./price-BLnrGcOE.js";import{b as te,a as oe}from"./errorCode-Cqj9Td_Z.js";import{C as se}from"./CopyToClipboard-Bm9IiB5O.js";import{s as ae}from"./vue-plyr-BO2nlN4c.js";import{E as ne}from"./index-Btke2Pu_.js";import{E as ie}from"./index-6bMysa7o.js";import{E as le}from"./index-CrmvmSrr.js";import{B as re}from"./BotPlaceholder-pdWT9yaS.js";import{N as ce}from"./NoTasks-CAc7WMUu.js";import{l as pe}from"./pagination-CcnL0MdN.js";import"./use-form-item-Bcf9wMdQ.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./validator-BqhII7fg.js";import"./index-BbT7wIiK.js";import"./index-D9mxLTtD.js";import"./typescript-Bu1ceUI1.js";import"./strings-DigWlKo9.js";import"./isEqual-CSXiaW-q.js";import"./_Uint8Array-B8owGMyd.js";import"./castArray-BiIaTbnK.js";import"./debounce-BIXA4vQu.js";import"./_baseIteratee-DBmltUMm.js";import"./index-CidH52Gm.js";import"./index-Dsf-WzCN.js";import"./_baseClone-CmG_Edvh.js";import"./_initCloneObject-D15ri8PG.js";import"./index-BOCCszA-.js";import"./index-C0Am24Fv.js";const de=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),ue={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={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,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),n=s("el-drawer");return a(),l("div",ue,[r("div",me,[R(e.$slots,"config",{},void 0,!0)]),r("div",fe,[R(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=k(de,[["render",_e],["__scopeId","data-v-11f71ab6"]]),ge=$({name:"IngredientsSelector",components:{ElSwitch:H,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=j)}}),$e={class:"field"},ke={class:"title font-bold"};function ve(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),l("div",$e,[r("h2",ke,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const be=k(ge,[["render",ve],["__scopeId","data-v-17c0af5c"]]),ye=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),we={class:"field"},Ee={class:"title font-bold"},Ve={class:"float-left"};function Ie(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",we,[r("h2",Ee,i(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),l(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},{default:u(()=>[r("span",Ve,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=k(ye,[["render",Ie],["__scopeId","data-v-d1c54475"]]),Te=$({name:"IngredientsModelSelector",components:{ElRadioButton:Q,ElRadioGroup:J},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=F)}}),Ce={class:"field"},Pe={class:"title font-bold"};function Le(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),l("div",Ce,[r("h2",Pe,i(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"quality"},{default:u(()=>[(a(!0),l(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.value},{default:u(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Ue=k(Te,[["render",Le],["__scopeId","data-v-b72865fa"]]),Ae=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=N)}}),Re={class:"field"},De={class:"title font-bold"};function Ge(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",Re,[r("h2",De,i(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),l(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=k(Ae,[["render",Ge],["__scopeId","data-v-7b2e870a"]]),Oe=$({name:"ImageUrlInput",components:{ElUpload:Y,ElButton:L,InfoIcon:D,ImagePreview:X,FontAwesomeIcon:P},mixins:[W],data(){return{fileList:[],uploadUrl:q()+"/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.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),qe={class:"field"},Be={class:"title font-bold"},je={class:"upload-wrapper"};function Fe(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),f=s("info-icon");return a(),l("div",qe,[r("h2",Be,i(e.$t("pika.name.imageUrl")),1),r("div",je,[t(y,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:_})=>[t(p,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(n,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(f,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ne=k(Oe,[["render",Fe],["__scopeId","data-v-a948772f"]]),ze="",Ke=$({name:"PromptInput",components:{ElInput:Z,InfoIcon:D},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}}),He={class:"field"},Je={class:"box"},Qe={class:"title font-bold"};function We(e,o,c,d,v,b){const p=s("info-icon"),m=s("el-input");return a(),l("div",He,[r("div",Je,[r("h2",Qe,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Xe=k(Ke,[["render",We],["__scopeId","data-v-d7f7cedd"]]),Ye=$({name:"PresetPanel",components:{ImageUrlInput:Ne,ElButton:L,FontAwesomeIcon:P,Consumption:x,PromptInput:Xe,IngredientsSelector:be,IngredientsModelSelector:Ue,ModelSelector:Me,EffectSelector:Se},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},xe={class:"flex-1 overflow-y-auto p-5"},et={class:"flex flex-col items-center justify-center px-5 pb-5"};function tt(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),f=s("image-url-input"),_=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),A=s("el-button");return a(),l("div",Ze,[r("div",xe,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(f,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(_,{key:1,class:"mb-4"})):g("",!0)]),r("div",et,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const ot=k(Ye,[["render",tt]]),st=$({name:"VideoPlayer",components:{VuePlyr:ae},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),at=["data-poster"],nt=["src"];function it(e,o,c,d,v,b){const p=s("vue-plyr");return a(),l("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[r("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[r("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,nt)],8,at)]),_:1},8,["options"])])}const lt=k(st,[["render",it],["__scopeId","data-v-fc420430"]]),rt=$({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:P,ElAlert:ie,VideoPlayer:lt,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),ct={class:"left"},pt={class:"main"},dt={class:"bot"},ut={class:"datetime"},mt={class:"info"},ft={key:0,class:"prompt mt-2"},_t={key:0},ht={key:1},gt={key:0,class:U({content:!0,failed:!0})},$t={class:"image-wrapper"},kt={key:0,class:U({operations:!0,"mt-2":!0})},vt={key:0,class:"description"},bt={class:"description"},yt={key:1,class:"description"},wt={key:1,class:U({content:!0})},Et={class:"description"},Vt={class:"description"},It={key:0,class:"description"},St={class:"description"},Tt={key:2,class:U({content:!0})},Ct={class:"description"};function Pt(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),f=s("font-awesome-icon"),_=s("copy-to-clipboard"),I=s("el-alert");return a(!0),l(S,null,T(e.videos,(w,A)=>(a(),l("div",{key:A,class:"preview"},[r("div",ct,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),r("div",pt,[r("div",dt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),r("span",ut,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",mt,[e.modelValue?.request?.prompt?(a(),l("p",ft,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),l("span",_t," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),l("span",ht," - ("+i(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",gt,[r("div",$t,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),l("div",kt,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Bt=>e.onDownload(w?.video_url)},{default:u(()=>[h(i(e.$t("pika.button.download")),1)]),_:1},8,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),l("p",vt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):g("",!0),r("p",bt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",yt,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("pika.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0)]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),l("div",wt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",Et,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Vt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(_,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",It,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("pika.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),r("p",St,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(_,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),l("div",Tt,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",Ct,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Lt=k(rt,[["render",Pt],["__scopeId","data-v-41fe2be6"]]),Ut=$({name:"RecentPanel",components:{TaskPreview:Lt,BotPlaceholder:re,NoTasks:ce,ScrollList:K},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),At={key:0},Rt={key:2,class:"w-full h-full flex items-center justify-center"};function Dt(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),n=s("scroll-list"),y=s("no-tasks");return a(),l(S,null,[e.tasks?.items===void 0?(a(),l("div",At,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),l(S,null,T(e.tasks?.items,(f,_)=>(a(),V(m,{key:_,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),l("div",Rt,[t(y)])):g("",!0)],64)}const Gt=k(Ut,[["render",Dt]]),Mt="https://webhook.acedata.cloud/pika",Ot=$({name:"PikaIndex",components:{ConfigPanel:ot,Layout:he,RecentPanel:Gt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({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("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){B.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===oe&&E.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:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Mt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),z.generate(e,{token:o}).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===te?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function qt(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),n=s("layout");return a(),V(n,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Do=k(Ot,[["render",qt],["__scopeId","data-v-456819d1"]]);export{Do as default};
|
|
1
|
+
import{F as P}from"./index.es-Dur6403L.js";import{E as L}from"./index-BFfW4Y7f.js";import{E as O}from"./index-2FDv4HqL.js";import{d as $,H as l,E as r,z as R,C as t,y as u,D as s,q as a,F as i,O as S,N as T,x as V,I as h,J as g,Q as U}from"./vendor-vue-DU0w5ewx.js";import{E as k,b1 as q,a7 as B,ap as C}from"./index-Kpj5X8VO.js";import{a as j,b as F,c as N,p as z}from"./pika-BRCNogS2.js";import{I as D,S as K}from"./ScrollList-Q2xKzPum.js";import{E as H}from"./index-6Uf2HfGO.js";import{E as G,a as M}from"./index-SuwrKb5K.js";import{a as J,E as Q}from"./index-2LKNGOkz.js";import{p as W}from"./pasteUploadMixin-BurWbGNQ.js";import{I as X}from"./ImagePreview-DWqv9gSS.js";import{E as Y}from"./index-byNflBTX.js";import{E}from"./index-oaL8D88l.js";import{E as Z}from"./index-BdJBhPh2.js";import{C as x}from"./Consumption-BmCuzJMR.js";import{a as ee}from"./price-CzFhI6Eu.js";import{b as te,a as oe}from"./errorCode-Cqj9Td_Z.js";import{C as se}from"./CopyToClipboard-HGNJHey3.js";import{s as ae}from"./vue-plyr-BO2nlN4c.js";import{E as ne}from"./index-BsYdeW3F.js";import{E as ie}from"./index-Bb4iUGby.js";import{E as le}from"./index-BKKVAkje.js";import{B as re}from"./BotPlaceholder-CsnojJZn.js";import{N as ce}from"./NoTasks-lPtMij3t.js";import{l as pe}from"./pagination-CcnL0MdN.js";import"./use-form-item-XHzdfyFT.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./validator-d4pOix4M.js";import"./index-BKGs8fCc.js";import"./index-M1YYreZr.js";import"./typescript-C6knQawt.js";import"./strings-DigWlKo9.js";import"./isEqual-D_w2qTUh.js";import"./_Uint8Array-6OmrrJmn.js";import"./castArray-Ci5-UUap.js";import"./debounce-BXocW483.js";import"./_baseIteratee-DMLo8hpQ.js";import"./index-BjItoaIj.js";import"./index-nm6I5Jp0.js";import"./_baseClone-BOx25o7C.js";import"./_initCloneObject-DUgIFTpx.js";import"./index-Bo4Ny3jP.js";import"./index-ncu6VVl_.js";const de=$({name:"LayoutPika",components:{ElDrawer:O,ElButton:L,FontAwesomeIcon:P},data(){return{drawer:!1}}}),ue={class:"main flex flex-row flex-1"},me={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},fe={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,o,c,d,v,b){const p=s("font-awesome-icon"),m=s("el-button"),n=s("el-drawer");return a(),l("div",ue,[r("div",me,[R(e.$slots,"config",{},void 0,!0)]),r("div",fe,[R(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:o[0]||(o[0]=y=>e.drawer=!0)},{default:u(()=>[t(p,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=y=>e.drawer=y),direction:"ltr","with-header":!1,size:"350px"},{default:u(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=k(de,[["render",_e],["__scopeId","data-v-11f71ab6"]]),ge=$({name:"IngredientsSelector",components:{ElSwitch:H,InfoIcon:D},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug("set ingredients",e),e||this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients:e,model:"2.0"})}}},mounted(){this.value===void 0&&(this.value=j)}}),$e={class:"field"},ke={class:"title font-bold"};function ve(e,o,c,d,v,b){const p=s("el-switch"),m=s("info-icon");return a(),l("div",$e,[r("h2",ke,i(e.$t("pika.name.ingredients")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value"},null,8,["modelValue"]),t(m,{content:e.$t("pika.description.ingredients"),class:"info"},null,8,["content"])])}const be=k(ge,[["render",ve],["__scopeId","data-v-17c0af5c"]]),ye=$({name:"EffectSelector",components:{ElSelect:M,ElOption:G},data(){return{}},computed:{options(){return[{value:"Levitate",label:this.$t("pika.style.effect1")},{value:"Decapitate",label:this.$t("pika.style.effect2")},{value:"Eye-pop",label:this.$t("pika.style.effect3")},{value:"Ta-da",label:this.$t("pika.style.effect4")},{value:"Deflate",label:this.$t("pika.style.effect5")},{value:"Crumble",label:this.$t("pika.style.effect6")},{value:"Dissolve",label:this.$t("pika.style.effect7")},{value:"Squish",label:this.$t("pika.style.effect8")},{value:"Inflate",label:this.$t("pika.style.effect9")},{value:"Melt",label:this.$t("pika.style.effect10")},{value:"Cake-ify",label:this.$t("pika.style.effect11")},{value:"Crush",label:this.$t("pika.style.effect12")},{value:"Explode",label:this.$t("pika.style.effect13")}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,effect:e})}}}}),we={class:"field"},Ee={class:"title font-bold"},Ve={class:"float-left"};function Ie(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",we,[r("h2",Ee,i(e.$t("pika.name.effect")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),l(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},{default:u(()=>[r("span",Ve,i(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=k(ye,[["render",Ie],["__scopeId","data-v-d1c54475"]]),Te=$({name:"IngredientsModelSelector",components:{ElRadioButton:Q,ElRadioGroup:J},data(){return{options:[{label:this.$t("pika.button.precise"),value:"precise"},{label:this.$t("pika.button.creative"),value:"creative"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||(this.value=F)}}),Ce={class:"field"},Pe={class:"title font-bold"};function Le(e,o,c,d,v,b){const p=s("el-radio-button"),m=s("el-radio-group");return a(),l("div",Ce,[r("h2",Pe,i(e.$t("pika.name.ingredientsModel")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"quality"},{default:u(()=>[(a(!0),l(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.value},{default:u(()=>[h(i(n.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])}const Ue=k(Te,[["render",Le],["__scopeId","data-v-b72865fa"]]),Ae=$({name:"ModelSelector",components:{ElSelect:M,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"2.0",label:"2.0"},{value:"1.5",label:"1.5"}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit("pika/setConfig",{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||(this.value=N)}}),Re={class:"field"},De={class:"title font-bold"};function Ge(e,o,c,d,v,b){const p=s("el-option"),m=s("el-select");return a(),l("div",Re,[r("h2",De,i(e.$t("pika.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("pika.placeholder.select")},{default:u(()=>[(a(!0),l(S,null,T(e.options,n=>(a(),V(p,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=k(Ae,[["render",Ge],["__scopeId","data-v-7b2e870a"]]),Oe=$({name:"ImageUrlInput",components:{ElUpload:Y,ElButton:L,InfoIcon:D,ImagePreview:X,FontAwesomeIcon:P},mixins:[W],data(){return{fileList:[],uploadUrl:q()+"/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.pika?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("pika.message.uploadStartImageExceed"))},onError(){E.error(this.$t("pika.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("pika.message.uploadStartImageError"))},onSetStartImageUrl(){this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),qe={class:"field"},Be={class:"title font-bold"},je={class:"upload-wrapper"};function Fe(e,o,c,d,v,b){const p=s("image-preview"),m=s("font-awesome-icon"),n=s("el-button"),y=s("el-upload"),f=s("info-icon");return a(),l("div",qe,[r("h2",Be,i(e.$t("pika.name.imageUrl")),1),r("div",je,[t(y,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value upload-wrapper",limit:3,multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:_})=>[t(p,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:I=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:u(()=>[t(n,{size:"small",type:"primary",round:""},{default:u(()=>[t(m,{icon:"fa-solid fa-upload",class:"mr-1"}),h(" "+i(e.$t("pika.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])]),t(f,{content:e.$t("pika.description.imageUrl"),class:"info"},null,8,["content"])])}const Ne=k(Oe,[["render",Fe],["__scopeId","data-v-a948772f"]]),ze="",Ke=$({name:"PromptInput",components:{ElInput:Z,InfoIcon:D},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("pika/setConfig",{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ze)}}),He={class:"field"},Je={class:"box"},Qe={class:"title font-bold"};function We(e,o,c,d,v,b){const p=s("info-icon"),m=s("el-input");return a(),l("div",He,[r("div",Je,[r("h2",Qe,i(e.$t("pika.name.prompt")),1),t(p,{content:e.$t("pika.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("pika.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Xe=k(Ke,[["render",We],["__scopeId","data-v-d7f7cedd"]]),Ye=$({name:"PresetPanel",components:{ImageUrlInput:Ne,ElButton:L,FontAwesomeIcon:P,Consumption:x,PromptInput:Xe,IngredientsSelector:be,IngredientsModelSelector:Ue,ModelSelector:Me,EffectSelector:Se},emits:["generate"],computed:{config(){return this.$store.state.pika?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},xe={class:"flex-1 overflow-y-auto p-5"},et={class:"flex flex-col items-center justify-center px-5 pb-5"};function tt(e,o,c,d,v,b){const p=s("prompt-input"),m=s("model-selector"),n=s("ingredients-selector"),y=s("effect-selector"),f=s("image-url-input"),_=s("ingredients-model-selector"),I=s("consumption"),w=s("font-awesome-icon"),A=s("el-button");return a(),l("div",Ze,[r("div",xe,[t(p,{class:"mb-4"}),t(m,{class:"mb-4"}),t(n,{class:"mb-4"}),t(y,{class:"mb-4"}),e.config?.ingredients?(a(),V(f,{key:0,class:"mb-4"})):g("",!0),e.config?.ingredients?(a(),V(_,{key:1,class:"mb-4"})):g("",!0)]),r("div",et,[t(I,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(w,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+i(e.$t("pika.button.generate")),1)]),_:1},8,["onClick"])])])}const ot=k(Ye,[["render",tt]]),st=$({name:"VideoPlayer",components:{VuePlyr:ae},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:"1080p"}}}}}),at=["data-poster"],nt=["src"];function it(e,o,c,d,v,b){const p=s("vue-plyr");return a(),l("div",null,[t(p,{options:e.options,class:"video"},{default:u(()=>[r("video",{controls:"",crossorigin:"",playsinline:"","data-poster":e.modelValue?.image_url},[r("source",{size:"1080",src:e.modelValue?.video_url,type:"video/mp4"},null,8,nt)],8,at)]),_:1},8,["options"])])}const lt=k(st,[["render",it],["__scopeId","data-v-fc420430"]]),rt=$({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:se,FontAwesomeIcon:P,ElAlert:ie,VideoPlayer:lt,ElTooltip:ne,ElButton:L},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(c=>{let d=c;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e){console.log("on download"),window.open(e,"_blank")},onReload(e){const o=e.target,c=new URL(o.src),d=c.searchParams.get("retry");if(!d)c.searchParams.set("retry","1");else if(parseInt(d)<2)c.searchParams.set("retry",(parseInt(d)+1).toString());else return;o.src=c.toString()},onOpenVideo(e){window.open(e,"_blank")}}}),ct={class:"left"},pt={class:"main"},dt={class:"bot"},ut={class:"datetime"},mt={class:"info"},ft={key:0,class:"prompt mt-2"},_t={key:0},ht={key:1},gt={key:0,class:U({content:!0,failed:!0})},$t={class:"image-wrapper"},kt={key:0,class:U({operations:!0,"mt-2":!0})},vt={key:0,class:"description"},bt={class:"description"},yt={key:1,class:"description"},wt={key:1,class:U({content:!0})},Et={class:"description"},Vt={class:"description"},It={key:0,class:"description"},St={class:"description"},Tt={key:2,class:U({content:!0})},Ct={class:"description"};function Pt(e,o,c,d,v,b){const p=s("el-image"),m=s("VideoPlayer"),n=s("el-button"),y=s("el-tooltip"),f=s("font-awesome-icon"),_=s("copy-to-clipboard"),I=s("el-alert");return a(!0),l(S,null,T(e.videos,(w,A)=>(a(),l("div",{key:A,class:"preview"},[r("div",ct,[t(p,{src:"https://cdn.acedata.cloud/i80tgn.png",class:"avatar"})]),r("div",pt,[r("div",dt,[h(i(e.$t("pika.name.pikaBot"))+" ",1),r("span",ut,i(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",mt,[e.modelValue?.request?.prompt?(a(),l("p",ft,[h(i(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(a(),l("span",_t," - ("+i(e.$t("pika.status.pending"))+") ",1)),w?.state==="processing"||w?.state==="pending"?(a(),l("span",ht," - ("+i(e.$t("pika.status.processing"))+") ",1)):g("",!0)])):g("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",gt,[r("div",$t,[t(m,{"model-value":w},null,8,["model-value"])]),w?(a(),l("div",kt,[t(y,{class:"box-item",effect:"dark",content:e.$t("pika.message.downloadVideo"),placement:"top-start"},{default:u(()=>[w?.video_url?(a(),V(n,{key:0,type:"info",size:"small",class:"btn-action",onClick:Bt=>e.onDownload(w?.video_url)},{default:u(()=>[h(i(e.$t("pika.button.download")),1)]),_:1},8,["onClick"])):g("",!0)]),_:2},1032,["content"])])):g("",!0),t(I,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),l("p",vt,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.model"))+": "+i(e.modelValue?.request?.model),1)])):g("",!0),r("p",bt,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",yt,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("pika.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0)]),_:1})])):g("",!0),e.modelValue?.response?.success===!1?(a(),l("div",wt,[t(I,{closable:!1,class:"failure"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",Et,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",Vt,[t(f,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+i(e.$t("pika.name.failureReason"))+": "+i(e.modelValue?.response?.error?.message)+" ",1),t(_,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",It,[t(f,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+i(e.$t("pika.name.elapsed"))+": "+i(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),r("p",St,[t(f,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+i(e.$t("pika.name.traceId"))+": "+i(e.modelValue?.response?.trace_id)+" ",1),t(_,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0),!e.modelValue?.response||w?.state==="processing"||w?.state==="pending"?(a(),l("div",Tt,[t(I,{closable:!1,class:"info"},{template:u(()=>[t(f,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+i(e.$t("pika.name.failure")),1)]),default:u(()=>[r("p",Ct,[t(f,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+i(e.$t("pika.name.taskId"))+": "+i(e.modelValue?.id)+" ",1),t(_,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})])):g("",!0)])]))),128)}const Lt=k(rt,[["render",Pt],["__scopeId","data-v-41fe2be6"]]),Ut=$({name:"RecentPanel",components:{TaskPreview:Lt,BotPlaceholder:re,NoTasks:ce,ScrollList:K},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),At={key:0},Rt={key:2,class:"w-full h-full flex items-center justify-center"};function Dt(e,o,c,d,v,b){const p=s("bot-placeholder"),m=s("task-preview"),n=s("scroll-list"),y=s("no-tasks");return a(),l(S,null,[e.tasks?.items===void 0?(a(),l("div",At,[t(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),V(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=f=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),l(S,null,T(e.tasks?.items,(f,_)=>(a(),V(m,{key:_,"model-value":f},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(a(),l("div",Rt,[t(y)])):g("",!0)],64)}const Gt=k(Ut,[["render",Dt]]),Mt="https://webhook.acedata.cloud/pika",Ot=$({name:"PikaIndex",components:{ConfigPanel:ot,Layout:he,RecentPanel:Gt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===C.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===C.Request},needApply(){return this.$store.state.pika.status.getApplications===C.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({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("pika/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("pika/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},onApply(){B.create({application:this.application}).then(({data:e})=>{this.application=e,E.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===oe&&E.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:o=5,createdAtMin:c,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",c,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("pika/getTasks",{limit:o,createdAtMin:c,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Mt},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("pika.message.startingTask")),z.generate(e,{token:o}).then(()=>{E.success(this.$t("pika.message.startTaskSuccess")),this.$store.commit("pika/setConfig",{config:void 0})}).catch(c=>{c?.response?.data?.error?.code===te?E.error(this.$t("pika.message.usedUp")):E.error(this.$t("pika.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function qt(e,o,c,d,v,b){const p=s("config-panel"),m=s("recent-panel"),n=s("layout");return a(),V(n,null,{config:u(()=>[t(p,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Do=k(Ot,[["render",qt],["__scopeId","data-v-456819d1"]]);export{Do as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as G}from"./index.es-DAf85_c_.js";import{E as P}from"./index-CADSUEtD.js";import{E as x}from"./index-CEjOHMmS.js";import{d as y,H as l,E as m,z as q,C as o,y as v,D as n,q as a,F as s,I as u,O as I,N as L,x as E,J as _,M as W,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as w,b1 as H,cf as Z,cg as J,ch as K,ci as Q,cj as X,ck as U,cl as C,cm as M,cn as Y,ap as z}from"./index-BuYqOs8q.js";import{I as R,S as ee}from"./ScrollList-ClLx5Ay2.js";import{E as te}from"./index-BydGPbsc.js";import{I as N}from"./ImagePreview-B-kcZ7xf.js";import{E as oe}from"./index-BcLxs5FR.js";import{E as A}from"./index-B_w2jnax.js";import{C as se}from"./Consumption-HjIHVPfJ.js";import{a as ae}from"./price-BLnrGcOE.js";import{E as B,a as F}from"./index-B4njNk04.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-RB3W1okN.js";import{C as ie}from"./CopyToClipboard-Bm9IiB5O.js";import{I as le}from"./ImageWrapper-C6EfiSL4.js";import{E as re}from"./index-Btke2Pu_.js";import{E as ce}from"./index-6bMysa7o.js";import{E as me}from"./index-CrmvmSrr.js";import{B as pe}from"./BotPlaceholder-pdWT9yaS.js";import{N as ue}from"./NoTasks-CAc7WMUu.js";import"./use-form-item-Bcf9wMdQ.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-Bu1ceUI1.js";import"./index-BbT7wIiK.js";import"./index-BOCCszA-.js";import"./index-Dsf-WzCN.js";import"./_baseClone-CmG_Edvh.js";import"./_Uint8Array-B8owGMyd.js";import"./_initCloneObject-D15ri8PG.js";import"./isEqual-CSXiaW-q.js";import"./index-D9mxLTtD.js";import"./strings-DigWlKo9.js";import"./castArray-BiIaTbnK.js";import"./debounce-BIXA4vQu.js";import"./_baseIteratee-DBmltUMm.js";import"./index-CidH52Gm.js";import"./index-C0Am24Fv.js";const de=y({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-drawer");return a(),l("div",ge,[m("div",fe,[q(e.$slots,"config",{},void 0,!0)]),m("div",he,[q(e.$slots,"result",{},void 0,!0)]),o(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:v(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o($,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:v(()=>[q(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=w(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=y({name:"PromptInput",components:{ElInput:te,InfoIcon:R},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ie(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-input");return a(),l("div",ke,[m("div",ye,[m("h2",we,s(e.$t("openaiimage.name.prompt")),1),o(d,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(g,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=$=>e.prompt=$),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ee=w(be,[["render",Ie],["__scopeId","data-v-92f61e4a"]]),Ve=y({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:R,ImagePreview:N,FontAwesomeIcon:G},data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const p=this.fileList.find(h=>h?.response?.file_url===i||h?.url===i);p?t.push(p):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(h=>h===i||h?.url===i?.url||h?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-upload"),f=n("info-icon"),k=n("image-preview");return a(),l(I,null,[m("div",Ae,[m("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),m("div",Te,[m("div",Se,[o($,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:v(()=>[o(g,{size:"small",type:"primary",round:""},{default:v(()=>[o(d,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(f,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",Ge,[(a(!0),l(I,null,L(e.fileList,(r,b)=>(a(),E(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=w(Ve,[["render",Pe]]),Re=y({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:R},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=Z)}}),qe={class:"field"},Ue={class:"label"},Ce={class:"box"},Me={class:"title font-bold"};function ze(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",qe,[m("div",Ue,[m("div",Ce,[m("h2",Me,s(e.$t("openaiimage.name.model")),1),o(d,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o($,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=w(Re,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=y({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:R},data(){return{options:[{value:U,label:U},{value:C,label:C},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},xe={class:"title font-bold"};function We(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",Ne,[m("div",Be,[m("div",Fe,[m("h2",xe,s(e.$t("openaiimage.name.size")),1),o(d,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o($,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const He=w(De,[["render",We],["__scopeId","data-v-11116785"]]),Ze=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,ModelSelector:je,ResolutionSelector:He},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,c,i,p,h){const d=n("model-selector"),g=n("resolution-selector"),$=n("prompt-input"),f=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),l("div",Je,[m("div",Ke,[o(d,{class:"mb-4"}),o(g,{class:"mb-4"}),o($,{class:"mb-4"}),o(f,{class:"mb-4"})]),m("div",Qe,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:v(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=w(Ze,[["render",Xe]]),et=y({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const c=t;if(c?.image_url||c?.url){e.push(c);return}c?.b64_json&&e.push({...c,url:`data:image/png;base64,${c.b64_json}`})}),e},referenceImages(){const e=this.modelValue?.request;if(!e)return[];const t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(i=>typeof i=="string"&&i.length>0);const c=e.image;return Array.isArray(c)?c.filter(i=>typeof i=="string"&&i.length>0):typeof c=="string"&&c.length>0?[c]:[]}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:2,class:O({content:!0})},Lt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,c,i,p,h){const d=n("el-image"),g=n("image-preview"),$=n("image-wrapper"),f=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),l("div",tt,[m("div",ot,[o(d,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",st,[m("div",at,[u(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",it,[e.referenceImages.length>0?(a(),l("div",lt,[(a(!0),l(I,null,L(e.referenceImages,(V,S)=>(a(),E(g,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):_("",!0),e.modelValue?.request?.prompt?(a(),l("p",rt,[u(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),l("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[m("div",pt,[(a(!0),l(I,null,L(e.images,(V,S)=>(a(),E($,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:v(()=>[o(f,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=W(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:v(()=>[u(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:v(()=>[e.modelValue?.request?.model?(a(),l("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",_t,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):_("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(T,{closable:!1,class:"failure"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",bt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",kt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",yt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),m("p",It,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",Et,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",Vt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):_("",!0)]),_:1})])):(a(),l("div",At,[o(T,{closable:!1,class:"info"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",Lt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",Tt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",St,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",Gt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ot=w(et,[["render",Pt],["__scopeId","data-v-87775c45"]]),Rt=y({name:"RecentPanel",components:{TaskPreview:Ot,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Ut={key:2,class:"w-full h-full flex items-center justify-center"};function Ct(e,t,c,i,p,h){const d=n("bot-placeholder"),g=n("task-preview"),$=n("scroll-list"),f=n("no-tasks");return a(),l(I,null,[e.tasks?.items===void 0?(a(),l("div",qt,[o(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E($,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:v(()=>[(a(!0),l(I,null,L(e.tasks?.items,k=>(a(),E(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),l("div",Ut,[o(f)])):_("",!0)],64)}const Mt=w(Rt,[["render",Ct]]),D="https://webhook.acedata.cloud/openaiimage",zt=y({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Mt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const c=this.tasks?.items?.[0];if(!c?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,d=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:c.created_at}),await this.$nextTick(),p){const g=p.scrollHeight;p.scrollTop=g-h+d}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:c,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",c,"createdAtMax",i),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:c,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const c={...e,action:"generate",callback_url:D},i={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(i,{token:p}):j.generate(c,{token:p})).then(d=>{console.debug("task accepted",d.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(d=>{const g=d?.response?.data;g?.error?.code===ne?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function jt(e,t,c,i,p,h){const d=n("config-panel"),g=n("recent-panel"),$=n("layout");return a(),E($,null,{config:v(()=>[o(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:v(()=>[o(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const So=w(zt,[["render",jt]]);export{So as default};
|
|
1
|
+
import{F as G}from"./index.es-Dur6403L.js";import{E as P}from"./index-BFfW4Y7f.js";import{E as x}from"./index-2FDv4HqL.js";import{d as y,H as l,E as m,z as q,C as o,y as v,D as n,q as a,F as s,I as u,O as I,N as L,x as E,J as _,M as W,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as w,b1 as H,cf as Z,cg as J,ch as K,ci as Q,cj as X,ck as U,cl as C,cm as M,cn as Y,ap as z}from"./index-Kpj5X8VO.js";import{I as R,S as ee}from"./ScrollList-Q2xKzPum.js";import{E as te}from"./index-BdJBhPh2.js";import{I as N}from"./ImagePreview-DWqv9gSS.js";import{E as oe}from"./index-byNflBTX.js";import{E as A}from"./index-oaL8D88l.js";import{C as se}from"./Consumption-BmCuzJMR.js";import{a as ae}from"./price-CzFhI6Eu.js";import{E as B,a as F}from"./index-SuwrKb5K.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-g7lCTR1a.js";import{C as ie}from"./CopyToClipboard-HGNJHey3.js";import{I as le}from"./ImageWrapper-HRwKkltj.js";import{E as re}from"./index-BsYdeW3F.js";import{E as ce}from"./index-Bb4iUGby.js";import{E as me}from"./index-BKKVAkje.js";import{B as pe}from"./BotPlaceholder-CsnojJZn.js";import{N as ue}from"./NoTasks-lPtMij3t.js";import"./use-form-item-XHzdfyFT.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-C6knQawt.js";import"./index-BKGs8fCc.js";import"./index-Bo4Ny3jP.js";import"./index-nm6I5Jp0.js";import"./_baseClone-BOx25o7C.js";import"./_Uint8Array-6OmrrJmn.js";import"./_initCloneObject-DUgIFTpx.js";import"./isEqual-D_w2qTUh.js";import"./index-M1YYreZr.js";import"./strings-DigWlKo9.js";import"./castArray-Ci5-UUap.js";import"./debounce-BXocW483.js";import"./_baseIteratee-DMLo8hpQ.js";import"./index-BjItoaIj.js";import"./index-ncu6VVl_.js";const de=y({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-drawer");return a(),l("div",ge,[m("div",fe,[q(e.$slots,"config",{},void 0,!0)]),m("div",he,[q(e.$slots,"result",{},void 0,!0)]),o(g,{circle:"",class:"menu",onClick:t[0]||(t[0]=f=>e.drawer=!0)},{default:v(()=>[o(d,{icon:"fa-solid fa-magic"})]),_:1}),o($,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=f=>e.drawer=f),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:v(()=>[q(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=w(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=y({name:"PromptInput",components:{ElInput:te,InfoIcon:R},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},ye={class:"box"},we={class:"title font-bold"};function Ie(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-input");return a(),l("div",ke,[m("div",ye,[m("h2",we,s(e.$t("openaiimage.name.prompt")),1),o(d,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(g,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=$=>e.prompt=$),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ee=w(be,[["render",Ie],["__scopeId","data-v-92f61e4a"]]),Ve=y({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:R,ImagePreview:N,FontAwesomeIcon:G},data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const p=this.fileList.find(h=>h?.response?.file_url===i||h?.url===i);p?t.push(p):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(h=>h===i||h?.url===i?.url||h?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,c,i,p,h){const d=n("font-awesome-icon"),g=n("el-button"),$=n("el-upload"),f=n("info-icon"),k=n("image-preview");return a(),l(I,null,[m("div",Ae,[m("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),m("div",Te,[m("div",Se,[o($,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:v(()=>[o(g,{size:"small",type:"primary",round:""},{default:v(()=>[o(d,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(f,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),m("div",Ge,[(a(!0),l(I,null,L(e.fileList,(r,b)=>(a(),E(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=w(Ve,[["render",Pe]]),Re=y({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:R},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=Z)}}),qe={class:"field"},Ue={class:"label"},Ce={class:"box"},Me={class:"title font-bold"};function ze(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",qe,[m("div",Ue,[m("div",Ce,[m("h2",Me,s(e.$t("openaiimage.name.model")),1),o(d,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o($,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=w(Re,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=y({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:R},data(){return{options:[{value:U,label:U},{value:C,label:C},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},xe={class:"title font-bold"};function We(e,t,c,i,p,h){const d=n("info-icon"),g=n("el-option"),$=n("el-select");return a(),l("div",Ne,[m("div",Be,[m("div",Fe,[m("h2",xe,s(e.$t("openaiimage.name.size")),1),o(d,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o($,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=f=>e.value=f),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:v(()=>[(a(!0),l(I,null,L(e.options,f=>(a(),E(g,{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const He=w(De,[["render",We],["__scopeId","data-v-11116785"]]),Ze=y({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,ModelSelector:je,ResolutionSelector:He},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,c,i,p,h){const d=n("model-selector"),g=n("resolution-selector"),$=n("prompt-input"),f=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),l("div",Je,[m("div",Ke,[o(d,{class:"mb-4"}),o(g,{class:"mb-4"}),o($,{class:"mb-4"}),o(f,{class:"mb-4"})]),m("div",Qe,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:v(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=w(Ze,[["render",Xe]]),et=y({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const c=t;if(c?.image_url||c?.url){e.push(c);return}c?.b64_json&&e.push({...c,url:`data:image/png;base64,${c.b64_json}`})}),e},referenceImages(){const e=this.modelValue?.request;if(!e)return[];const t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(i=>typeof i=="string"&&i.length>0);const c=e.image;return Array.isArray(c)?c.filter(i=>typeof i=="string"&&i.length>0):typeof c=="string"&&c.length>0?[c]:[]}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:O({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},vt={key:1,class:O({content:!0})},bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:2,class:O({content:!0})},Lt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,c,i,p,h){const d=n("el-image"),g=n("image-preview"),$=n("image-wrapper"),f=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),l("div",tt,[m("div",ot,[o(d,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),m("div",st,[m("div",at,[u(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),m("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),m("div",it,[e.referenceImages.length>0?(a(),l("div",lt,[(a(!0),l(I,null,L(e.referenceImages,(V,S)=>(a(),E(g,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):_("",!0),e.modelValue?.request?.prompt?(a(),l("p",rt,[u(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?_("",!0):(a(),l("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):_("",!0)]),e.modelValue?.response?.success===!0?(a(),l("div",mt,[m("div",pt,[(a(!0),l(I,null,L(e.images,(V,S)=>(a(),E($,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),m("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:v(()=>[o(f,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=W(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:v(()=>[u(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:v(()=>[e.modelValue?.request?.model?(a(),l("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",_t,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",$t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):_("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),l("div",vt,[o(T,{closable:!1,class:"failure"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",bt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",kt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",yt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),m("p",It,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),l("p",Et,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.elapsed"))+": "+s(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):_("",!0),e.modelValue?.response?.trace_id?(a(),l("p",Vt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):_("",!0)]),_:1})])):(a(),l("div",At,[o(T,{closable:!1,class:"info"},{template:v(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.failure")),1)]),default:v(()=>[e.modelValue?.request?.model?(a(),l("p",Lt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):_("",!0),e.modelValue?.request?.size?(a(),l("p",Tt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):_("",!0),e.modelValue?.request?.action?(a(),l("p",St,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):_("",!0),m("p",Gt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ot=w(et,[["render",Pt],["__scopeId","data-v-87775c45"]]),Rt=y({name:"RecentPanel",components:{TaskPreview:Ot,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Ut={key:2,class:"w-full h-full flex items-center justify-center"};function Ct(e,t,c,i,p,h){const d=n("bot-placeholder"),g=n("task-preview"),$=n("scroll-list"),f=n("no-tasks");return a(),l(I,null,[e.tasks?.items===void 0?(a(),l("div",qt,[o(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),E($,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:v(()=>[(a(!0),l(I,null,L(e.tasks?.items,k=>(a(),E(g,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):_("",!0),e.tasks?.items?.length===0?(a(),l("div",Ut,[o(f)])):_("",!0)],64)}const Mt=w(Rt,[["render",Ct]]),D="https://webhook.acedata.cloud/openaiimage",zt=y({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Mt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const c=this.tasks?.items?.[0];if(!c?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,d=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:c.created_at}),await this.$nextTick(),p){const g=p.scrollHeight;p.scrollTop=g-h+d}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:c,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",c,"createdAtMax",i),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:c,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const c={...e,action:"generate",callback_url:D},i={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(i,{token:p}):j.generate(c,{token:p})).then(d=>{console.debug("task accepted",d.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(d=>{const g=d?.response?.data;g?.error?.code===ne?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(g?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function jt(e,t,c,i,p,h){const d=n("config-panel"),g=n("recent-panel"),$=n("layout");return a(),E($,null,{config:v(()=>[o(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:v(()=>[o(g,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const So=w(zt,[["render",jt]]);export{So as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as S}from"./index.es-DAf85_c_.js";import{E as q}from"./index-CADSUEtD.js";import{E as W}from"./index-CEjOHMmS.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as g,M as H,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as y,b1 as K,cy as J,cz as x,cA as P,cB as Q,cC as T,cD as G,cE as D,cF as j,ap as F}from"./index-BuYqOs8q.js";import{I as U,S as X}from"./ScrollList-ClLx5Ay2.js";import{E as Y}from"./index-BydGPbsc.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as z}from"./ImagePreview-B-kcZ7xf.js";import{E as ee}from"./index-BcLxs5FR.js";import{E as R}from"./index-B_w2jnax.js";import{E as B,a as M}from"./index-B4njNk04.js";import{C as te}from"./Consumption-HjIHVPfJ.js";import{a as oe}from"./price-BLnrGcOE.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-YVmjD6V4.js";import{C as se}from"./CopyToClipboard-Bm9IiB5O.js";import{I as le}from"./ImageWrapper-C6EfiSL4.js";import{E as re}from"./index-Btke2Pu_.js";import{E as ie}from"./index-6bMysa7o.js";import{E as ce}from"./index-CrmvmSrr.js";import{B as ue}from"./BotPlaceholder-pdWT9yaS.js";import{N as de}from"./NoTasks-CAc7WMUu.js";import"./use-form-item-Bcf9wMdQ.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-Bu1ceUI1.js";import"./index-BbT7wIiK.js";import"./index-BOCCszA-.js";import"./index-Dsf-WzCN.js";import"./_baseClone-CmG_Edvh.js";import"./_Uint8Array-B8owGMyd.js";import"./_initCloneObject-D15ri8PG.js";import"./isEqual-CSXiaW-q.js";import"./index-D9mxLTtD.js";import"./strings-DigWlKo9.js";import"./castArray-BiIaTbnK.js";import"./debounce-BIXA4vQu.js";import"./_baseIteratee-DBmltUMm.js";import"./index-CidH52Gm.js";import"./index-C0Am24Fv.js";const me=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(me,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:z,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const d=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);d?t.push(d):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[o(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),V(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,b,i,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:x,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Ge={class:"label"},De={class:"box"},je={class:"title font-bold"};function Fe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Me,[c("div",Ge,[c("div",De,[c("h2",je,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const xe=y(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),ze=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:D,label:D},{value:j,label:j}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==x}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",Je,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(ze,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:xe,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,b,i,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(m,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[o(r,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},dt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},mt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:1,class:O({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},qt={key:2,class:O({content:!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Mt(e,t,b,i,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",dt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):g("",!0),e.modelValue?.request?.prompt?(n(),l("p",mt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):g("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",kt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",yt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",wt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):g("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",At,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Nt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Et,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Rt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",It,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Lt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Tt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",St,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):g("",!0)]),_:1})])):(n(),l("div",qt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Ot,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ut,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ct,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Pt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",Bt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(nt,[["render",Mt],["__scopeId","data-v-8d5f4fff"]]),Dt=k({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ue,NoTasks:de,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),jt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function xt(e,t,b,i,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",jt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(n(),l("div",Ft,[o(p)])):g("",!0)],64)}const zt=y(Dt,[["render",xt]]),Wt="https://webhook.acedata.cloud/nanobanana",Ht=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const b=this.tasks?.items?.[0];if(!b?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:b.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:b,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",b,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:b,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const b={...e,action:t?"edit":"generate",callback_url:Wt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(b,{token:i}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===ae?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Kt(e,t,b,i,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Mo=y(Ht,[["render",Kt]]);export{Mo as default};
|
|
1
|
+
import{F as S}from"./index.es-Dur6403L.js";import{E as q}from"./index-BFfW4Y7f.js";import{E as W}from"./index-2FDv4HqL.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as g,M as H,Q as O}from"./vendor-vue-DU0w5ewx.js";import{E as y,b1 as K,cy as J,cz as x,cA as P,cB as Q,cC as T,cD as G,cE as D,cF as j,ap as F}from"./index-Kpj5X8VO.js";import{I as U,S as X}from"./ScrollList-Q2xKzPum.js";import{E as Y}from"./index-BdJBhPh2.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as z}from"./ImagePreview-DWqv9gSS.js";import{E as ee}from"./index-byNflBTX.js";import{E as R}from"./index-oaL8D88l.js";import{E as B,a as M}from"./index-SuwrKb5K.js";import{C as te}from"./Consumption-BmCuzJMR.js";import{a as oe}from"./price-CzFhI6Eu.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-CLySkFmb.js";import{C as se}from"./CopyToClipboard-HGNJHey3.js";import{I as le}from"./ImageWrapper-HRwKkltj.js";import{E as re}from"./index-BsYdeW3F.js";import{E as ie}from"./index-Bb4iUGby.js";import{E as ce}from"./index-BKKVAkje.js";import{B as ue}from"./BotPlaceholder-CsnojJZn.js";import{N as de}from"./NoTasks-lPtMij3t.js";import"./use-form-item-XHzdfyFT.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-C6knQawt.js";import"./index-BKGs8fCc.js";import"./index-Bo4Ny3jP.js";import"./index-nm6I5Jp0.js";import"./_baseClone-BOx25o7C.js";import"./_Uint8Array-6OmrrJmn.js";import"./_initCloneObject-DUgIFTpx.js";import"./isEqual-D_w2qTUh.js";import"./index-M1YYreZr.js";import"./strings-DigWlKo9.js";import"./castArray-Ci5-UUap.js";import"./debounce-BXocW483.js";import"./_baseIteratee-DMLo8hpQ.js";import"./index-BjItoaIj.js";import"./index-ncu6VVl_.js";const me=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(me,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:z,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const d=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);d?t.push(d):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,b,i,d,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[o(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(r,v)=>(n(),V(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,b,i,d,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,m=>(n(),V(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:x,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Ge={class:"label"},De={class:"box"},je={class:"title font-bold"};function Fe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Me,[c("div",Ge,[c("div",De,[c("h2",je,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const xe=y(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),ze=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:D,label:D},{value:j,label:j}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==x}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},He={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,b,i,d,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",We,[c("div",He,[c("div",Ke,[c("h2",Je,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(ze,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:xe,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,b,i,d,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(m,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[o(r,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,ImagePreview:z},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},dt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},mt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},At={key:1,class:O({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},qt={key:2,class:O({content:!0})},Ot={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Pt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Mt(e,t,b,i,d,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",dt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):g("",!0),e.modelValue?.request?.prompt?(n(),l("p",mt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?g("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):g("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",kt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",yt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",wt,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):g("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",At,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Nt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Et,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Rt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",It,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",Lt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Tt,[o(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.elapsed"))+": "+a(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):g("",!0),e.modelValue?.response?.trace_id?(n(),l("p",St,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):g("",!0)]),_:1})])):(n(),l("div",qt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",Ot,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):g("",!0),e.modelValue?.request?.resolution?(n(),l("p",Ut,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):g("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ct,[o(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):g("",!0),e.modelValue?.request?.action?(n(),l("p",Pt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):g("",!0),c("p",Bt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(nt,[["render",Mt],["__scopeId","data-v-8d5f4fff"]]),Dt=k({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:ue,NoTasks:de,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),jt={key:0},Ft={key:2,class:"w-full h-full flex items-center justify-center"};function xt(e,t,b,i,d,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",jt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):g("",!0),e.tasks?.items?.length===0?(n(),l("div",Ft,[o(p)])):g("",!0)],64)}const zt=y(Dt,[["render",xt]]),Wt="https://webhook.acedata.cloud/nanobanana",Ht=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:zt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const b=this.tasks?.items?.[0];if(!b?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),f=d?.scrollHeight||0,h=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:b.created_at}),await this.$nextTick(),d){const _=d.scrollHeight;d.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:b,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",b,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:b,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const b={...e,action:t?"edit":"generate",callback_url:Wt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(b,{token:i}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(d=>{const f=d?.response?.data;f?.error?.code===ae?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Kt(e,t,b,i,d,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),V(m,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Mo=y(Ht,[["render",Kt]]);export{Mo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as S,d as V}from"./avatar-
|
|
1
|
+
import{L as S,d as V}from"./avatar-B6hZ6gQq.js";import{ba as q,b7 as A,bb as G,bc as M,b2 as j,b9 as O,E as w,bd as P}from"./index-Kpj5X8VO.js";import{b as z,E as J,a as K}from"./index-DZoUkwwT.js";import{E as W}from"./index-BFfW4Y7f.js";import{E as X,a as Y}from"./index-h0ph9E3K.js";import{a as L,E as R}from"./index-DV157yS0.js";import{d as g,x as u,y as n,C as o,G as i,J as p,I as _,F as m,H as I,E as f,D as t,K as Q,q as r}from"./vendor-vue-DU0w5ewx.js";import{F as Z}from"./index.es-Dur6403L.js";import{a as N,b as x,c as ee,E as oe}from"./index-D6O5NqkQ.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-9TBHB1ku.js";import"./typescript-C6knQawt.js";import"./index-CIZ3qGYr.js";import"./index-BsYdeW3F.js";import"./index-BKGs8fCc.js";import"./index-BuyEbX8F.js";import"./index-BjItoaIj.js";import"./use-form-item-XHzdfyFT.js";import"./index-M1YYreZr.js";import"./dropdown-CQJkjMu6.js";import"./castArray-Ci5-UUap.js";const te=g({name:"TopHeader",components:{ElCol:R,Logo:S,ElRow:L,ElDropdown:Y,ElMenu:K,ElMenuItem:J,ElDropdownItem:X,ElButton:W,ElSubMenu:z},data(){return{defaultAvatar:V,products:"chat"}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){window.open(e,"_blank")},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:j})},onLogin(){this.$router.push({name:M})},onDownload(){this.$router.push({name:G})},onProfile(){const e=O();window.open(A(`${e}/user/profile`),"_blank")},onVerify(){const e=O();window.open(A(`${e}/user/verify`),"_blank")},onConsole(){this.$router.push({name:q})},async onLogout(){this.$store.dispatch("logout")}}}),ne={key:0,class:"mt-4 pr-10"},ae={key:1,class:"float-right"},se=["src"];function re(e,s,C,E,y,D){const h=t("logo"),c=t("el-col"),a=t("el-menu-item"),b=t("el-sub-menu"),$=t("el-menu"),v=t("el-button"),k=t("language-selector"),U=t("dark-selector"),T=t("el-dropdown-item"),B=t("el-dropdown-menu"),F=t("el-dropdown"),H=t("el-row"),l=Q("t");return r(),u(H,{class:"header"},{default:n(()=>[o(c,{md:4,xs:24,class:"brand-col"},{default:n(()=>[o(h,{onClick:e.onHome},null,8,["onClick"])]),_:1}),o(c,{md:16,xs:13},{default:n(()=>[o($,{"default-active":e.active,mode:"horizontal",class:"menu",ellipsis:!0,onSelect:e.onSelect},{default:n(()=>[o(b,{index:e.products},{title:n(()=>[_(m(e.$t("common.nav.products")),1)]),default:n(()=>[e.site?.features?.chatgpt?.enabled?i((r(),u(a,{key:0,index:"/chat"},null,512)),[[l,"index.title.chat"]]):p("",!0),e.site?.features?.midjourney?.enabled?i((r(),u(a,{key:1,index:"/midjourney"},null,512)),[[l,"index.title.midjourney"]]):p("",!0),e.site?.features?.qrart?.enabled?i((r(),u(a,{key:2,index:"/qrart"},null,512)),[[l,"index.title.qrart"]]):p("",!0),e.site?.features?.suno?.enabled?i((r(),u(a,{key:3,index:"/suno"},null,512)),[[l,"index.title.suno"]]):p("",!0),e.site?.features?.luma?.enabled?i((r(),u(a,{key:4,index:"/luma"},null,512)),[[l,"index.title.luma"]]):p("",!0),e.site?.features?.headshots?.enabled?i((r(),u(a,{key:5,index:"/headshots"},null,512)),[[l,"index.title.headshots"]]):p("",!0)]),_:1},8,["index"]),i(o(a,{onRoute:d=>{},onClick:e.onDownload},null,8,["onClick"]),[[l,"common.nav.mobileApp"]]),i(o(a,{onRoute:d=>{},onClick:s[0]||(s[0]=d=>e.openTab("https://platform.acedata.cloud"))},null,512),[[l,"common.nav.apiPlatform"]]),i(o(a,{onRoute:d=>{},onClick:s[1]||(s[1]=d=>e.openTab("https://platform.acedata.cloud/support"))},null,512),[[l,"common.nav.support"]]),i(o(a,{onRoute:d=>{},onClick:s[2]||(s[2]=d=>e.openTab("https://platform.acedata.cloud/earning"))},null,512),[[l,"common.nav.referral"]])]),_:1},8,["default-active","onSelect"])]),_:1}),o(c,{md:4,xs:11},{default:n(()=>[e.authenticated?(r(),I("div",ae,[f("div",{class:"console",onClick:s[3]||(s[3]=(...d)=>e.onConsole&&e.onConsole(...d))},m(e.$t("common.button.console")),1),o(F,{trigger:"click"},{dropdown:n(()=>[o(B,null,{default:n(()=>[o(T,{onClick:e.onProfile},{default:n(()=>[_(m(e.$t("common.button.profile")),1)]),_:1},8,["onClick"]),o(T,{onClick:e.onLogout},{default:n(()=>[_(m(e.$t("common.button.logout")),1)]),_:1},8,["onClick"])]),_:1})]),default:n(()=>[f("img",{src:e.user?.avatar||e.defaultAvatar,class:"avatar"},null,8,se)]),_:1})])):(r(),I("div",ne,[o(v,{type:"primary",class:"float-right",size:"small",round:"",onClick:e.onLogin},{default:n(()=>[_(m(e.$t("common.button.login")),1)]),_:1},8,["onClick"]),o(k,{class:"locale float-right mr-4"}),o(U,{class:"float-right mr-4"})]))]),_:1})]),_:1})}const le=w(te,[["render",re]]),ie=g({name:"BottomFooter",components:{ElContainer:N,ElRow:L,ElCol:R,FontAwesomeIcon:Z},data(){return{faGithub:P}},computed:{},methods:{}}),ue={href:"/download"},me={href:"https://platform.acedata.cloud"},ce=["title"];function de(e,s,C,E,y,D){const h=t("font-awesome-icon"),c=t("el-col"),a=t("el-row"),b=t("el-container");return r(),u(b,{id:"footer",class:"footer"},{default:n(()=>[o(a,{class:"w-full"},{default:n(()=>[o(c,{class:"container",span:18,offset:3},{default:n(()=>[o(a,null,{default:n(()=>[o(c,{span:24,class:"text-center"},{default:n(()=>[f("p",null,[f("a",ue,m(e.$t("common.nav.mobileApp")),1),s[0]||(s[0]=_(" · ",-1)),f("a",me,m(e.$t("common.entity.website")),1),_(" © "+m(new Date().getFullYear())+" "+m(e.$t("common.entity.copyright"))+" · ",1),f("a",{href:"https://github.com/AceDataCloud/Nexior",target:"_blank",rel:"noopener noreferrer",class:"github-link",title:e.$t("common.nav.github")},[o(h,{icon:e.faGithub},null,8,["icon"])],8,ce)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const pe=w(ie,[["render",de],["__scopeId","data-v-f6b91b08"]]),_e=g({name:"LayoutIndex",components:{TopHeader:le,BottomFooter:pe,ElContainer:N,ElMain:oe,ElFooter:ee,ElHeader:x}});function fe(e,s,C,E,y,D){const h=t("top-header"),c=t("el-header"),a=t("router-view"),b=t("el-main"),$=t("bottom-footer"),v=t("el-footer"),k=t("el-container");return r(),u(k,{class:"wrapper min-h-[100vh]"},{default:n(()=>[o(c,{class:"header p-0 h-auto"},{default:n(()=>[o(h)]),_:1}),o(b,{class:"main"},{default:n(()=>[o(a)]),_:1}),o(v,{class:"footer p-0 h-auto"},{default:n(()=>[o($)]),_:1})]),_:1})}const Se=w(_e,[["render",fe]]);export{Se as default};
|