@acedatacloud/nexior 3.186.0 → 3.188.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-DH1Vd7Sl.js → Auth-DsRzEF-A.js} +1 -1
- package/dist/assets/{BotPlaceholder-SsROT5uE.js → BotPlaceholder-Dvz4ZRyu.js} +1 -1
- package/dist/assets/{Callback-VDl_wr6z.js → Callback-DbFOP0XD.js} +1 -1
- package/dist/assets/Console-BbYXorE8.js +1 -0
- package/dist/assets/{Consumption-CAhrj82G.js → Consumption-CqJZN5qA.js} +1 -1
- package/dist/assets/{Conversation-3oGbPOu3.js → Conversation-9uISrZWz.js} +1 -1
- package/dist/assets/{CopyToClipboard-COxFR3cx.js → CopyToClipboard-CPSWT5bR.js} +1 -1
- package/dist/assets/{Detail-Cv2U_888.js → Detail-B4dPn8SD.js} +2 -2
- package/dist/assets/{Extra-DSPi4K5u.js → Extra-BTaDne-2.js} +1 -1
- package/dist/assets/{FilePreview-3GV2SWsm.js → FilePreview-C7fg38oZ.js} +1 -1
- package/dist/assets/{History-DgsBNUYl.js → History-DQAlCKbA.js} +1 -1
- package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-yjmwj_qD.js → IconPark.vue_vue_type_script_setup_true_lang-DV6vInhi.js} +1 -1
- package/dist/assets/{ImagePreview-Cd1_21Ps.js → ImagePreview-DI2VeDuz.js} +1 -1
- package/dist/assets/{ImageWrapper-Coy_mQ2k.js → ImageWrapper-Bb5Cfmy8.js} +1 -1
- package/dist/assets/{Index-DlAbmbFy.js → Index-5JNr6CWN.js} +1 -1
- package/dist/assets/{Index-B3k2womX.js → Index-BHRZHgAa.js} +1 -1
- package/dist/assets/{Index-Bxrz5muF.js → Index-BQdDBGCJ.js} +1 -1
- package/dist/assets/Index-Bnf0xC9l.js +1 -0
- package/dist/assets/{Index-BDmY1SY6.css → Index-CCt4FkN_.css} +1 -1
- package/dist/assets/{Index-B8n5oelj.js → Index-CGrHVkki.js} +1 -1
- package/dist/assets/{Index-n0YUU_RY.js → Index-CTH6LGw3.js} +1 -1
- package/dist/assets/{Index-dw4adnex.js → Index-Ch-My3hi.js} +1 -1
- package/dist/assets/{Index-D4HVhAu1.js → Index-D7JsknEv.js} +1 -1
- package/dist/assets/{Index-CkitkXHX.js → Index-DADCdGOp.js} +1 -1
- package/dist/assets/{Index-C8RNlTMv.js → Index-DDfX0Yvs.js} +2 -2
- package/dist/assets/{Index-896eJPHM.js → Index-DGJQBkeT.js} +1 -1
- package/dist/assets/{Index-DRwIKb2Q.js → Index-DOkwpjfQ.js} +1 -1
- package/dist/assets/{Index-DIHodpeA.js → Index-DTZk84O7.js} +1 -1
- package/dist/assets/{Index-BN91tyz1.js → Index-Day9QMVl.js} +1 -1
- package/dist/assets/{Index-b_6BB08J.js → Index-DiTST8P2.js} +1 -1
- package/dist/assets/{Index-2q-H_DbV.js → Index-DvLMYEGC.js} +1 -1
- package/dist/assets/Index-W5DDNmeA.js +1 -0
- package/dist/assets/{Index-fHGWPqUz.js → Index-WDEKIcad.js} +1 -1
- package/dist/assets/{Index-D4iunNXo.js → Index-Zx4mo3l2.js} +1 -1
- package/dist/assets/{Index-BwELOWP7.js → Index-imQtgdZZ.js} +1 -1
- package/dist/assets/{Index-V9RuoK0L.js → Index-lO8rWCJO.js} +1 -1
- package/dist/assets/{Index-CC2j_otN.js → Index-szE0VC5Q.js} +1 -1
- package/dist/assets/{Index-CfnmkBxT.js → Index-u19OPGhB.js} +1 -1
- package/dist/assets/{Index-WH-aUx4d.js → Index-yX6fDSsH.js} +1 -1
- package/dist/assets/{Invitees-DT81hiy9.js → Invitees-oE6OGwLk.js} +1 -1
- package/dist/assets/{List-gW8-NDCh.js → List-BaeFn2dx.js} +1 -1
- package/dist/assets/{List-Riiwt59m.js → List-CpTbr1_N.js} +1 -1
- package/dist/assets/{List-CYgR1jcN.js → List-DjluEK6s.js} +1 -1
- package/dist/assets/Main-QR8cN_ch.js +1 -0
- package/dist/assets/Navigator-BUa8lOJ4.css +1 -0
- package/dist/assets/Navigator-Dl5wBgej.js +3 -0
- package/dist/assets/{NoTasks-B_ODnKax.js → NoTasks-CllJt2H1.js} +1 -1
- package/dist/assets/{NotFound-DPV4_qui.js → NotFound-BvN79fJI.js} +1 -1
- package/dist/assets/{OAuthCallback-CDkqko6l.js → OAuthCallback-BScp3oEA.js} +1 -1
- package/dist/assets/{Pagination-C_YEsGGi.js → Pagination-D4JIMyo6.js} +1 -1
- package/dist/assets/{Status-T1CFK3Mw.js → Status-qGKdp5kC.js} +1 -1
- package/dist/assets/{Subscribe-p7adx5d3.js → Subscribe-Co1AzMMB.js} +1 -1
- package/dist/assets/{VideoPlayer-bUE3PTPG.js → VideoPlayer-CO6S65En.js} +1 -1
- package/dist/assets/_Uint8Array-D_wulyVe.js +1 -0
- package/dist/assets/{_baseClone-DS_LGzZX.js → _baseClone-BHIkIKEe.js} +1 -1
- package/dist/assets/_baseIteratee-De-W5dn-.js +1 -0
- package/dist/assets/_initCloneObject-CHBLIg3i.js +1 -0
- package/dist/assets/{add-GBs3Qpd7.js → add-VRLKqVgA.js} +1 -1
- package/dist/assets/{all-wallets-CFmXfaFj.js → all-wallets-ChjFDjUA.js} +1 -1
- package/dist/assets/{app-store-B2Q1oeVA.js → app-store-D6UDJpT4.js} +1 -1
- package/dist/assets/{apple-DyERKwo5.js → apple-Bx2QMiW1.js} +1 -1
- package/dist/assets/{arrow-bottom-CYR2hb-I.js → arrow-bottom-BQSiLZDw.js} +1 -1
- package/dist/assets/{arrow-bottom-circle-BcEIUI1J.js → arrow-bottom-circle-D9zVls79.js} +1 -1
- package/dist/assets/{arrow-left-DnwM8hdu.js → arrow-left-D_Q4SSEg.js} +1 -1
- package/dist/assets/{arrow-right-BDhKLCGv.js → arrow-right-BGji2c6z.js} +1 -1
- package/dist/assets/{arrow-top-Dr1oh9Pn.js → arrow-top-bx_mnx3k.js} +1 -1
- package/dist/assets/{avatar-CbjfTmC-.js → avatar-D2v8nOab.js} +1 -1
- package/dist/assets/{bank-Dj4XZxi6.js → bank-O97FjYMk.js} +1 -1
- package/dist/assets/{basic-DTtGgRs-.js → basic-Bk-WmzAO.js} +1 -1
- package/dist/assets/{browser-CwPVDIrE.js → browser-8PursVYL.js} +1 -1
- package/dist/assets/{byokCredential-D6tkRJ39.js → byokCredential-0JRi42Dr.js} +1 -1
- package/dist/assets/{card-BbbmHrNi.js → card-4XycQbsf.js} +1 -1
- package/dist/assets/{castArray-DNZQWJZ9.js → castArray-D0mKqyiV.js} +1 -1
- package/dist/assets/{chat-kCZo75NC.js → chat-7CfS5SWy.js} +1 -1
- package/dist/assets/{checkmark-p-rvHOgw.js → checkmark-CZ55R0Va.js} +1 -1
- package/dist/assets/{checkmark-bold-xixWzfM6.js → checkmark-bold-D0xlcqsf.js} +1 -1
- package/dist/assets/{chevron-bottom-CHtDFRXd.js → chevron-bottom-C9HRPT73.js} +1 -1
- package/dist/assets/{chevron-left-C6SAsLxx.js → chevron-left-DJMJG1sJ.js} +1 -1
- package/dist/assets/{chevron-right-CkeYHZZ4.js → chevron-right-CUKMUTDL.js} +1 -1
- package/dist/assets/{chevron-top-DatGNB-S.js → chevron-top-CnUnV2ZE.js} +1 -1
- package/dist/assets/{chrome-store-DTkZ51Ny.js → chrome-store-4gz7pfVS.js} +1 -1
- package/dist/assets/{clock-B1-i0C7K.js → clock-Do0BNPNX.js} +1 -1
- package/dist/assets/{close-BIPi437I.js → close-B9NA7BaP.js} +1 -1
- package/dist/assets/{coinPlaceholder-C6QyLpyx.js → coinPlaceholder-DrI94kf9.js} +1 -1
- package/dist/assets/{compass-B_2I8s3_.js → compass-eV-8YJKM.js} +1 -1
- package/dist/assets/{copy-BNGO4MCc.js → copy-K3areOya.js} +1 -1
- package/dist/assets/{createTaskActions-CxN6ZO3c.js → createTaskActions-rH43I3Rp.js} +1 -1
- package/dist/assets/{cursor-oI1JysUd.js → cursor-BtP4h95C.js} +1 -1
- package/dist/assets/{cursor-transparent-DT1lRKyX.js → cursor-transparent-tIAUMKt0.js} +1 -1
- package/dist/assets/{debounce-eIYMYWhR.js → debounce-krmvP0WB.js} +1 -1
- package/dist/assets/{desktop-C3x7i98x.js → desktop-Btx3STOq.js} +1 -1
- package/dist/assets/{disconnect-C1FmiYmX.js → disconnect-DRIA8B2y.js} +1 -1
- package/dist/assets/{discord-hd2KFo_m.js → discord-B2V9RMfm.js} +1 -1
- package/dist/assets/{distribution-A2GB4a0Z.js → distribution-BkV7txSr.js} +1 -1
- package/dist/assets/{dropdown-DJFLooo0.js → dropdown-DJJ8eNjS.js} +1 -1
- package/dist/assets/{etherscan-Ce6CN305.js → etherscan-CAiWSkrC.js} +1 -1
- package/dist/assets/{exclamation-triangle-Cj0bG8vF.js → exclamation-triangle-DXKWIWle.js} +1 -1
- package/dist/assets/{extension-D0FzSzgH.js → extension-DrpmQnXj.js} +1 -1
- package/dist/assets/{external-link--VdKU8XD.js → external-link-D_AGWO4T.js} +1 -1
- package/dist/assets/{facebook-CRbAA5Ax.js → facebook-BaHSzLNe.js} +1 -1
- package/dist/assets/{farcaster-Czy0v5wu.js → farcaster-BVDQnLYv.js} +1 -1
- package/dist/assets/{filters-DdSmsOcN.js → filters-CEWrTcBI.js} +1 -1
- package/dist/assets/{github-CiEhADD9.js → github-Cah0OfLr.js} +1 -1
- package/dist/assets/{google-BuOhfP8Y.js → google-Bvsc7AbU.js} +1 -1
- package/dist/assets/{help-circle-CJTW-374.js → help-circle-CCxgtiMV.js} +1 -1
- package/dist/assets/{id-B6KEGBwg.js → id-DL_kHf7y.js} +1 -1
- package/dist/assets/{image-MjoRR5ap.js → image-0_CQQsr8.js} +1 -1
- package/dist/assets/{index-D0ECG3FC.js → index-41FllExt.js} +1 -1
- package/dist/assets/{index-CgIoE6y0.js → index-7fl1tK2h.js} +1 -1
- package/dist/assets/{index-CGYKhIfz.js → index-B007Wze9.js} +1 -1
- package/dist/assets/{index-wpjJo68M.js → index-B3udtDQ0.js} +3 -3
- package/dist/assets/{index-CQiVyAFw.js → index-B6LE-QrJ.js} +1 -1
- package/dist/assets/{index-DoMPvIeR.js → index-B6agP-Ra.js} +1 -1
- package/dist/assets/{index-hkeQzgSz.js → index-B72mm_GJ.js} +1 -1
- package/dist/assets/{index-DE4dYCQT.js → index-BFugXjgS.js} +1 -1
- package/dist/assets/index-BFzFBs_v.js +1 -0
- package/dist/assets/{index-D2S4J9sX.js → index-BK2DP5hm.js} +1 -1
- package/dist/assets/{index-CUUq0hlV.js → index-BLAL1cr3.js} +1 -1
- package/dist/assets/{index-CgsVS0C3.js → index-BLgDmRII.js} +1 -1
- package/dist/assets/{index-DqzA14CK.js → index-BSR24ARk.js} +1 -1
- package/dist/assets/{index-DRJcmib8.js → index-BTCKDPp9.js} +1 -1
- package/dist/assets/index-BXNbiklb.js +1 -0
- package/dist/assets/{index-DWKG09R5.js → index-BkIKsx60.js} +1 -1
- package/dist/assets/{index-9b-Psec_.js → index-Blbf_79n.js} +1 -1
- package/dist/assets/{index-6WXbEX6N.js → index-BsnJ0N7L.js} +1 -1
- package/dist/assets/{index-Bc_L-KVx.js → index-BxiW3Z0u.js} +1 -1
- package/dist/assets/{index-HfPDcNZW.js → index-C1WeknGf.js} +1 -1
- package/dist/assets/{index-CVm9uD3g.js → index-C1ZfhX9x.js} +1 -1
- package/dist/assets/{index-WP4a4j30.js → index-C2-gYDP0.js} +1 -1
- package/dist/assets/{index-D2EVue7e.js → index-C21TcEmh.js} +1 -1
- package/dist/assets/{index-Ms3ynCfw.js → index-CQXejj_Q.js} +1 -1
- package/dist/assets/{index-ssDHuElC.js → index-CQc9N-Uf.js} +1 -1
- package/dist/assets/{index-CW3l52vC.js → index-CTctmeBw.js} +1 -1
- package/dist/assets/{index-CXcxS6Tb.js → index-CVSIXY8y.js} +1 -1
- package/dist/assets/{index-DC3bbaVK.js → index-CW80M4ve.js} +1 -1
- package/dist/assets/{index-DpAJ2tcJ.js → index-CXZ2Kfo8.js} +1 -1
- package/dist/assets/{index-BDEUkDca.js → index-CbJfxJEv.js} +1 -1
- package/dist/assets/{index-CGjyIH_A.css → index-CdjbCVgM.css} +1 -1
- package/dist/assets/{index-CBQ06cKz.js → index-CgG9sIq6.js} +1 -1
- package/dist/assets/{index-BanO9ONg.js → index-CiptUuV6.js} +1 -1
- package/dist/assets/{index-DbwGo6yj.js → index-CrbnwRTo.js} +5 -5
- package/dist/assets/{index-DMegc4HX.js → index-CuVSy9S3.js} +1 -1
- package/dist/assets/{index-DBIWjbJE.js → index-D10rXXmt.js} +1 -1
- package/dist/assets/{index-BVNvjRp7.js → index-D38caUdO.js} +3 -3
- package/dist/assets/{index-C74NCRLg.js → index-D59mR4BE.js} +1 -1
- package/dist/assets/{index-BSVakLgG.js → index-D5kahTrl.js} +1 -1
- package/dist/assets/{index-BajT1XSW.js → index-DEv50S0G.js} +1 -1
- package/dist/assets/index-DF98wF07.js +1 -0
- package/dist/assets/{index-BeRl9zcZ.js → index-DNFN_ZFy.js} +1 -1
- package/dist/assets/{index-CespLNuK.js → index-DUsafIiO.js} +1 -1
- package/dist/assets/{index-BaTdpxaZ.js → index-DWhkWr6k.js} +1 -1
- package/dist/assets/{index-jdJj9m9s.js → index-DabXT8SU.js} +1 -1
- package/dist/assets/{index-X5hbW6Qf.js → index-DbqmmmL8.js} +1 -1
- package/dist/assets/{index-D9Q5moTz.js → index-Dg3ihhnp.js} +1 -1
- package/dist/assets/{index-SXSMbPsb.js → index-DiDpFoq1.js} +1 -1
- package/dist/assets/{index-C0qYYI3A.js → index-DiPt_s2Y.js} +1 -1
- package/dist/assets/{index-BQTeuJfN.js → index-Dt4BllUK.js} +1 -1
- package/dist/assets/{index-DLb1l7gU.js → index-DyX8xVPk.js} +1 -1
- package/dist/assets/{index-DRRUlWZq.js → index-K-oKZ-Oj.js} +1 -1
- package/dist/assets/index-KRN8hOH2.js +1 -0
- package/dist/assets/{index-Cf5BsQAZ.js → index-MVUWjEzl.js} +1 -1
- package/dist/assets/{index-CV0EVuZw.js → index-PeA8Xc37.js} +1 -1
- package/dist/assets/{index-d2rqZZYz.js → index-X-pA25HA.js} +1 -1
- package/dist/assets/{index-Dd5AgwZM.js → index-eNzrREFl.js} +2 -2
- package/dist/assets/{index-DtxGppsl.js → index-kaZTZEIU.js} +1 -1
- package/dist/assets/{index-Bj3C_o6O.js → index-oF4TPGEy.js} +1 -1
- package/dist/assets/{index-DRKZAE9p.js → index-ps8GwsYU.js} +1 -1
- package/dist/assets/{index-Qb7mu-zz.js → index-xveWH-Nj.js} +1 -1
- package/dist/assets/{index.browser.esm-CidL5oJS.js → index.browser.esm-BbrFEb7D.js} +1 -1
- package/dist/assets/{index.es-B-oBIK4i.js → index.es-BLmzEmO2.js} +1 -1
- package/dist/assets/{info-COgdH5DE.js → info-0Y7zB6qe.js} +1 -1
- package/dist/assets/{info-circle-SGhUbblq.js → info-circle-B06P3h-i.js} +1 -1
- package/dist/assets/{isEqual-hkTAHR86.js → isEqual-BVkGIvMj.js} +1 -1
- package/dist/assets/{isPlainObject-DojcLKlA.js → isPlainObject-JrN91JkA.js} +1 -1
- package/dist/assets/{lightbulb-Du45Pnev.js → lightbulb-DXFj51Bn.js} +1 -1
- package/dist/assets/{mail-Bbu24DUH.js → mail-Dhl2aAgA.js} +1 -1
- package/dist/assets/{midjourney-7gB4jST6.js → midjourney-Y1hXwnQ4.js} +1 -1
- package/dist/assets/{mobile-Cn1zKgp4.js → mobile-ChptfvPa.js} +1 -1
- package/dist/assets/{more-B0sU7sH8.js → more-CEqu1qMB.js} +1 -1
- package/dist/assets/{network-placeholder-ChMN4B5U.js → network-placeholder-BzE7kn9Q.js} +1 -1
- package/dist/assets/{nftPlaceholder-B-ylI41S.js → nftPlaceholder-sJ-iFLyd.js} +1 -1
- package/dist/assets/{off-B4BA9qzT.js → off-lz1wJcwp.js} +1 -1
- package/dist/assets/{order-CIxDmicW.js → order-WVFpG4EB.js} +1 -1
- package/dist/assets/{pagination-SBJi51n4.js → pagination-C2o1t_-2.js} +1 -1
- package/dist/assets/{play-store-8H-snbDD.js → play-store-D42theHi.js} +1 -1
- package/dist/assets/{plus-EiDHjdTr.js → plus-DANqTyGB.js} +1 -1
- package/dist/assets/{price-BvAGRK8n.js → price-BCBGswr1.js} +1 -1
- package/dist/assets/{producer-DP85fuAq.js → producer-BGNC4QeM.js} +1 -1
- package/dist/assets/{producer-D349jr0q.js → producer-ComYq25-.js} +1 -1
- package/dist/assets/{qr-code-h0_2zzC-.js → qr-code-BzXspjlj.js} +1 -1
- package/dist/assets/{recycle-horizontal-B9vniPUU.js → recycle-horizontal-DIyS2g4Z.js} +1 -1
- package/dist/assets/{refresh-CjQl31ja.js → refresh-mJSc9hkL.js} +1 -1
- package/dist/assets/{reown-logo-CzR8K7r1.js → reown-logo-JMgx9S3z.js} +1 -1
- package/dist/assets/{search-CtjqpMpN.js → search-09fyDb4m.js} +1 -1
- package/dist/assets/{secp256k1-CHEoBIAf.js → secp256k1-ByjlwJcU.js} +1 -1
- package/dist/assets/{secp256k1-Bfx7Nu3Q.js → secp256k1-DsE_DX-J.js} +1 -1
- package/dist/assets/{seedream-CikOxm_v.js → seedream-BzzDoMFn.js} +1 -1
- package/dist/assets/{send-Du4k6MEB.js → send-28AlCo4N.js} +1 -1
- package/dist/assets/{service-9E7bVAdX.js → service-wJx-cFTZ.js} +1 -1
- package/dist/assets/{solana-wallets-BKXNJJuB.js → solana-wallets-Cx87nT9h.js} +2 -2
- package/dist/assets/{solana-wallets-vue-M_q4PwDF.js → solana-wallets-vue-BWEeX4il.js} +1 -1
- package/dist/assets/{suno-BAbqHfdU.js → suno-BHUVRPBN.js} +1 -1
- package/dist/assets/{swapHorizontal-BkZToE1_.js → swapHorizontal-DnAb8xCi.js} +1 -1
- package/dist/assets/{swapHorizontalBold-dRYA1RrJ.js → swapHorizontalBold-md5Y2BAJ.js} +1 -1
- package/dist/assets/{swapHorizontalMedium-DWw-DA75.js → swapHorizontalMedium-0k-GNU_k.js} +1 -1
- package/dist/assets/{swapHorizontalRoundedBold-lHG245o2.js → swapHorizontalRoundedBold-Cgb7T60d.js} +1 -1
- package/dist/assets/{swapVertical-DKWXW6rg.js → swapVertical-BpwfoDkr.js} +1 -1
- package/dist/assets/{telegram-CHOd_aff.js → telegram-B9bqj9Fd.js} +1 -1
- package/dist/assets/{three-dots-BCPoUZ5e.js → three-dots-BGC1FfgM.js} +1 -1
- package/dist/assets/{twitch-DCpUklxd.js → twitch-D9MOzdji.js} +1 -1
- package/dist/assets/{twitterIcon-lZBx1lzG.js → twitterIcon-H9ncN5wR.js} +1 -1
- package/dist/assets/{typescript-CODnKE5F.js → typescript-FU1ZSXfb.js} +1 -1
- package/dist/assets/{use-form-item-BbBsagre.js → use-form-item-D7fAyxsc.js} +1 -1
- package/dist/assets/validator-DTOJbKt6.js +1 -0
- package/dist/assets/{verify-ChQufcNA.js → verify-2Yf-yJwN.js} +1 -1
- package/dist/assets/{verify-filled-BuiMvk7b.js → verify-filled-C8MQ8Whg.js} +1 -1
- package/dist/assets/{w3m-modal-BEcX4Oal.js → w3m-modal-DKSgXg_s.js} +1 -1
- package/dist/assets/{wallet-Duf2ZBJS.js → wallet-B7OAHqlU.js} +1 -1
- package/dist/assets/{wallet-placeholder-Btf_fW9a.js → wallet-placeholder-BdQJnrGK.js} +1 -1
- package/dist/assets/{walletconnect-nm6_uTKN.js → walletconnect-C1JKodVW.js} +1 -1
- package/dist/assets/{warning-circle-CEV76c5r.js → warning-circle-CwLJNdr4.js} +1 -1
- package/dist/assets/{web-Bq68rVm7.js → web-CaEPVDX2.js} +1 -1
- package/dist/assets/{web-Dg2GdsZq.js → web-ChL7QSbo.js} +1 -1
- package/dist/assets/{x-yYv29UIL.js → x-CrTJ1EQB.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/Console-B-6SMX0O.js +0 -1
- package/dist/assets/EditArray-B4LwGKJc.css +0 -1
- package/dist/assets/EditArray-BksWGcBl.js +0 -3
- package/dist/assets/Index-D-0xegny.js +0 -1
- package/dist/assets/Index-DAqmhqGb.css +0 -1
- package/dist/assets/Index-Drzdf-_A.js +0 -1
- package/dist/assets/Main-B9uvXKpd.js +0 -1
- package/dist/assets/Navigator-CAoOaR4h.css +0 -1
- package/dist/assets/Navigator-DS2HayXO.js +0 -1
- package/dist/assets/_Uint8Array-CvdQKNTH.js +0 -1
- package/dist/assets/_baseIteratee-D4WzrUe9.js +0 -1
- package/dist/assets/_initCloneObject-BtMKtTta.js +0 -1
- package/dist/assets/index-Bw6jO9kQ.js +0 -1
- package/dist/assets/index-CkpRuSjM.js +0 -1
- package/dist/assets/index-CqvHUGbn.js +0 -1
- package/dist/assets/index-fgfJZlZE.js +0 -1
- package/dist/assets/validator-ZvH0hMEF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as T}from"./index.es-B-oBIK4i.js";import{E as L}from"./index-hkeQzgSz.js";import{E as j}from"./index-DoMPvIeR.js";import{d as v,H as i,E as r,z as S,C as t,y as f,D as s,q as a,F as l,O as V,N as I,x as w,I as _,J as $,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as b,bl as F,cu as D,aP as M,S as A,cv as B}from"./index-BVNvjRp7.js";import{a as O,b as N,c as q}from"./flux-BDAe6Szo.js";import{E as G,a as P}from"./index-D2S4J9sX.js";import{I as C,S as z,l as X}from"./pagination-SBJi51n4.js";import{E as H}from"./index-Bc_L-KVx.js";import{E as W}from"./index-jdJj9m9s.js";import{p as J}from"./pasteUploadMixin-BurWbGNQ.js";import{I as K}from"./ImagePreview-Cd1_21Ps.js";import{E as Q}from"./index-CXcxS6Tb.js";import{E as y}from"./index-D2EVue7e.js";import{E as Y}from"./index-BQTeuJfN.js";import{C as Z}from"./Consumption-CAhrj82G.js";import{a as ee}from"./price-BvAGRK8n.js";import{b as te}from"./errorCode-Cqj9Td_Z.js";import{C as oe}from"./CopyToClipboard-COxFR3cx.js";import{I as se}from"./ImageWrapper-Coy_mQ2k.js";import{E as ne}from"./index-DRJcmib8.js";import{E as le}from"./index-d2rqZZYz.js";import{B as ae}from"./BotPlaceholder-SsROT5uE.js";import{N as re}from"./NoTasks-B_ODnKax.js";import"./use-form-item-BbBsagre.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-D0ECG3FC.js";import"./index-CqvHUGbn.js";import"./typescript-CODnKE5F.js";import"./index-BeRl9zcZ.js";import"./strings-beZM2Y-f.js";import"./isEqual-hkTAHR86.js";import"./_Uint8Array-CvdQKNTH.js";import"./castArray-DNZQWJZ9.js";import"./debounce-eIYMYWhR.js";import"./_baseIteratee-D4WzrUe9.js";import"./index-BajT1XSW.js";import"./index-Cu41y2Fl.js";import"./index-DMegc4HX.js";import"./_baseClone-DS_LGzZX.js";import"./_initCloneObject-BtMKtTta.js";import"./index-DC3bbaVK.js";import"./index-BDEUkDca.js";const ie=v({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},ue={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},de={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function pe(e,o,m,d,x,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ce,[r("div",ue,[S(e.$slots,"config",{},void 0,!0)]),r("div",de,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=b(ie,[["render",pe],["__scopeId","data-v-8995d591"]]),fe=v({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=O)}}),_e={class:"field"},he={class:"title font-bold"};function ge(e,o,m,d,x,k){const c=s("el-option"),u=s("el-select");return a(),i("div",_e,[r("h2",he,l(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const $e=b(fe,[["render",ge],["__scopeId","data-v-8df4b8a7"]]),ve=v({name:"CountSelector",components:{ElSlider:W,InfoIcon:C,ElInputNumber:H},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=N)}}),be={class:"flex justify-between"},xe={class:"flex justify-start items-center"},ke={class:"text-sm font-bold"},we={class:"flex justify-end items-center"},ye={class:"w-full"};function Ve(e,o,m,d,x,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[r("div",be,[r("div",xe,[r("span",ke,l(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),r("div",we,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),r("div",ye,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const Ee=b(ve,[["render",Ve]]),Te=v({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=q)}}),Ie={class:"field"},Se={class:"title font-bold"};function Le(e,o,m,d,x,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ie,[r("h2",Se,l(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Te,[["render",Le],["__scopeId","data-v-81fd05e5"]]),Ce=v({name:"ImageUrlInput",components:{ElUpload:Q,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:K},mixins:[J],emits:["change"],data(){return{fileList:[],uploadUrl:F()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Ae={class:"relative"},Ge={class:"flex justify-between"},Pe={class:"flex justify-start items-center"},Re={class:"text-sm font-bold"};function je(e,o,m,d,x,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Ae,[r("div",Ge,[r("div",Pe,[r("span",Re,l(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=h=>e.fileList=h),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:h})=>[t(u,{url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Fe=b(Ce,[["render",je],["__scopeId","data-v-1b692c6e"]]),De="",Me=v({name:"PromptInput",components:{ElInput:Y,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=De)}}),Be={class:"field"},Oe={class:"box"},Ne={class:"title font-bold"};function qe(e,o,m,d,x,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",Be,[r("div",Oe,[r("h2",Ne,l(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ze=b(Me,[["render",qe],["__scopeId","data-v-96df0218"]]),Xe=v({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:ze,ModelSelector:$e,CountSelector:Ee,Consumption:Z,ActionSelector:Ue,ImageUrlInput:Fe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),He={class:"flex flex-col h-full"},We={class:"flex-1 overflow-y-auto p-5"},Je={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ke(e,o,m,d,x,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),h=s("consumption"),E=s("font-awesome-icon"),R=s("el-button");return a(),i("div",He,[r("div",We,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):$("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),r("div",Je,[t(h,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Qe=b(Xe,[["render",Ke]]),Ye=v({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:oe,FontAwesomeIcon:T,ElAlert:ne,ImageWrapper:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),Ze={class:"preview"},et={class:"left"},tt={class:"main"},ot={class:"bot"},st={class:"datetime"},nt={class:"info"},lt={key:0,class:"prompt mt-2"},at={key:0},rt={key:0,class:U({content:!0,failed:!0})},it={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:1,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},gt={key:2,class:U({content:!0})},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function vt(e,o,m,d,x,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",Ze,[r("div",et,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),r("div",tt,[r("div",ot,[_(l(e.$t("flux.name.fluxBot"))+" ",1),r("span",st,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",nt,[e.modelValue?.request?.prompt?(a(),i("p",lt,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),i("span",at," - ("+l(e.$t("flux.status.pending"))+") ",1))])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",rt,[r("div",it,[(a(!0),i(V,null,I(e.images,(h,E)=>(a(),w(u,{key:E,src:h?.image_url,"raw-src":h?.image_url,"model-value":h},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[r("p",ct,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("flux.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",ut,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("flux.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),i("p",dt,[t(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("flux.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),i("div",pt,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("flux.name.failure")),1)]),default:f(()=>[r("p",mt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("flux.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",ft,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("flux.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),i("p",_t,[t(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("flux.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),r("p",ht,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("flux.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(a(),i("div",gt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("flux.name.failure")),1)]),default:f(()=>[r("p",$t,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("flux.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const bt=b(Ye,[["render",vt],["__scopeId","data-v-8ba2b387"]]),xt=v({name:"RecentPanel",components:{TaskPreview:bt,BotPlaceholder:ae,NoTasks:re,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),kt={key:0},wt={key:2,class:"w-full h-full flex items-center justify-center"};function yt(e,o,m,d,x,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",kt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(a(),i("div",wt,[t(p)])):$("",!0)],64)}const Vt=b(xt,[["render",yt]]),Et=B("flux"),Tt=v({name:"FluxIndex",components:{ConfigPanel:Qe,Layout:me,RecentPanel:Vt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Et},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),D("flux",M.generate(e,{token:o})).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===te?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,o,m,d,x,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const ko=b(Tt,[["render",It]]);export{ko as default};
|
|
1
|
+
import{F as T}from"./index.es-BLmzEmO2.js";import{E as L}from"./index-B72mm_GJ.js";import{E as j}from"./index-B6agP-Ra.js";import{d as v,H as i,E as r,z as S,C as t,y as f,D as s,q as a,F as l,O as V,N as I,x as w,I as _,J as $,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as b,bk as F,cp as D,aO as M,S as A,cq as B}from"./index-D38caUdO.js";import{a as O,b as q,c as N}from"./flux-BDAe6Szo.js";import{E as G,a as P}from"./index-BK2DP5hm.js";import{I as C,S as z,l as X}from"./pagination-C2o1t_-2.js";import{E as H}from"./index-BxiW3Z0u.js";import{E as W}from"./index-DabXT8SU.js";import{p as J}from"./pasteUploadMixin-BurWbGNQ.js";import{I as K}from"./ImagePreview-DI2VeDuz.js";import{E as Q}from"./index-CVSIXY8y.js";import{E as y}from"./index-C21TcEmh.js";import{E as Y}from"./index-Dt4BllUK.js";import{C as Z}from"./Consumption-CqJZN5qA.js";import{a as ee}from"./price-BCBGswr1.js";import{b as te}from"./errorCode-Cqj9Td_Z.js";import{C as oe}from"./CopyToClipboard-CPSWT5bR.js";import{I as se}from"./ImageWrapper-Bb5Cfmy8.js";import{E as ne}from"./index-BTCKDPp9.js";import{E as le}from"./index-X-pA25HA.js";import{B as ae}from"./BotPlaceholder-Dvz4ZRyu.js";import{N as re}from"./NoTasks-CllJt2H1.js";import"./use-form-item-D7fAyxsc.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-41FllExt.js";import"./index-DF98wF07.js";import"./typescript-FU1ZSXfb.js";import"./index-DNFN_ZFy.js";import"./strings-beZM2Y-f.js";import"./isEqual-BVkGIvMj.js";import"./_Uint8Array-D_wulyVe.js";import"./castArray-D0mKqyiV.js";import"./debounce-krmvP0WB.js";import"./_baseIteratee-De-W5dn-.js";import"./index-DEv50S0G.js";import"./index-Cu41y2Fl.js";import"./index-CuVSy9S3.js";import"./_baseClone-BHIkIKEe.js";import"./_initCloneObject-CHBLIg3i.js";import"./index-CW80M4ve.js";import"./index-CbJfxJEv.js";const ie=v({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),ce={class:"main flex flex-row flex-1"},ue={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},de={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function pe(e,o,m,d,k,x){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",ce,[r("div",ue,[S(e.$slots,"config",{},void 0,!0)]),r("div",de,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const me=b(ie,[["render",pe],["__scopeId","data-v-8995d591"]]),fe=v({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=O)}}),_e={class:"field"},he={class:"title font-bold"};function ge(e,o,m,d,k,x){const c=s("el-option"),u=s("el-select");return a(),i("div",_e,[r("h2",he,l(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const $e=b(fe,[["render",ge],["__scopeId","data-v-8df4b8a7"]]),ve=v({name:"CountSelector",components:{ElSlider:W,InfoIcon:C,ElInputNumber:H},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=q)}}),be={class:"flex justify-between"},ke={class:"flex justify-start items-center"},xe={class:"text-sm font-bold"},we={class:"flex justify-end items-center"},ye={class:"w-full"};function Ve(e,o,m,d,k,x){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[r("div",be,[r("div",ke,[r("span",xe,l(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),r("div",we,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),r("div",ye,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const Ee=b(ve,[["render",Ve]]),Te=v({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=N)}}),Ie={class:"field"},Se={class:"title font-bold"};function Le(e,o,m,d,k,x){const c=s("el-option"),u=s("el-select");return a(),i("div",Ie,[r("h2",Se,l(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=b(Te,[["render",Le],["__scopeId","data-v-81fd05e5"]]),Ce=v({name:"ImageUrlInput",components:{ElUpload:Q,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:K},mixins:[J],emits:["change"],data(){return{fileList:[],uploadUrl:F()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Ae={class:"relative"},Ge={class:"flex justify-between"},Pe={class:"flex justify-start items-center"},Re={class:"text-sm font-bold"};function je(e,o,m,d,k,x){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Ae,[r("div",Ge,[r("div",Pe,[r("span",Re,l(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=h=>e.fileList=h),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:h})=>[t(u,{url:h.url||h.response?.file_url,name:h.name,percentage:h.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(h),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),_(" "+l(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Fe=b(Ce,[["render",je],["__scopeId","data-v-1b692c6e"]]),De="",Me=v({name:"PromptInput",components:{ElInput:Y,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=De)}}),Be={class:"field"},Oe={class:"box"},qe={class:"title font-bold"};function Ne(e,o,m,d,k,x){const c=s("info-icon"),u=s("el-input");return a(),i("div",Be,[r("div",Oe,[r("h2",qe,l(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ze=b(Me,[["render",Ne],["__scopeId","data-v-96df0218"]]),Xe=v({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:ze,ModelSelector:$e,CountSelector:Ee,Consumption:Z,ActionSelector:Ue,ImageUrlInput:Fe},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),He={class:"flex flex-col h-full"},We={class:"flex-1 overflow-y-auto p-5"},Je={class:"flex flex-col items-center justify-center px-5 pb-5"};function Ke(e,o,m,d,k,x){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),h=s("consumption"),E=s("font-awesome-icon"),R=s("el-button");return a(),i("div",He,[r("div",We,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):$("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),r("div",Je,[t(h,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Qe=b(Xe,[["render",Ke]]),Ye=v({name:"TaskPreview",components:{ElImage:le,CopyToClipboard:oe,FontAwesomeIcon:T,ElAlert:ne,ImageWrapper:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),Ze={class:"preview"},et={class:"left"},tt={class:"main"},ot={class:"bot"},st={class:"datetime"},nt={class:"info"},lt={key:0,class:"prompt mt-2"},at={key:0},rt={key:0,class:U({content:!0,failed:!0})},it={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:1,class:U({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},gt={key:2,class:U({content:!0})},$t={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function vt(e,o,m,d,k,x){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",Ze,[r("div",et,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),r("div",tt,[r("div",ot,[_(l(e.$t("flux.name.fluxBot"))+" ",1),r("span",st,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",nt,[e.modelValue?.request?.prompt?(a(),i("p",lt,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?$("",!0):(a(),i("span",at," - ("+l(e.$t("flux.status.pending"))+") ",1))])):$("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",rt,[r("div",it,[(a(!0),i(V,null,I(e.images,(h,E)=>(a(),w(u,{key:E,src:h?.image_url,"raw-src":h?.image_url,"model-value":h},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[r("p",ct,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("flux.name.model"))+": "+l(e.modelValue?.request?.model),1)]),r("p",ut,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("flux.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(a(),i("p",dt,[t(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("flux.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0)]),_:1})])):$("",!0),e.modelValue?.response?.success===!1?(a(),i("div",pt,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("flux.name.failure")),1)]),default:f(()=>[r("p",mt,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("flux.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),r("p",ft,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("flux.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(a(),i("p",_t,[t(n,{icon:"fa-solid fa-clock",class:"mr-1"}),_(" "+l(e.$t("flux.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):$("",!0),r("p",ht,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("flux.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):$("",!0),e.modelValue?.response?$("",!0):(a(),i("div",gt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("flux.name.failure")),1)]),default:f(()=>[r("p",$t,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("flux.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const bt=b(Ye,[["render",vt],["__scopeId","data-v-8ba2b387"]]),kt=v({name:"RecentPanel",components:{TaskPreview:bt,BotPlaceholder:ae,NoTasks:re,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xt={key:0},wt={key:2,class:"w-full h-full flex items-center justify-center"};function yt(e,o,m,d,k,x){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",xt,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):$("",!0),e.tasks?.items?.length===0?(a(),i("div",wt,[t(p)])):$("",!0)],64)}const Vt=b(kt,[["render",yt]]),Et=B("flux"),Tt=v({name:"FluxIndex",components:{ConfigPanel:Qe,Layout:me,RecentPanel:Vt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Et},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),D("flux",M.generate(e,{token:o})).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===te?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function It(e,o,m,d,k,x){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const xo=b(Tt,[["render",It]]);export{xo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as T}from"./index.es-B-oBIK4i.js";import{E as q}from"./index-hkeQzgSz.js";import{E as x}from"./index-DoMPvIeR.js";import{d as k,H as l,E as c,z as C,C as a,y as g,D as s,q as n,F as o,I as u,O as V,N,x as A,J as p,M as K,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as y,bl as H,cR as J,cS as z,cT as P,cU as Q,cV as S,cW as M,cX as j,cY as D,cu as X,aV as Y,S as F,cv as Z}from"./index-BVNvjRp7.js";import{I as O,S as ee,l as te}from"./pagination-SBJi51n4.js";import{E as ae}from"./index-BQTeuJfN.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as W}from"./ImagePreview-Cd1_21Ps.js";import{E as ne}from"./index-CXcxS6Tb.js";import{E as R}from"./index-D2EVue7e.js";import{E as B,a as G}from"./index-D2S4J9sX.js";import{C as se}from"./Consumption-CAhrj82G.js";import{a as le}from"./price-BvAGRK8n.js";import{b as re}from"./errorCode-Cqj9Td_Z.js";import{C as ie}from"./CopyToClipboard-COxFR3cx.js";import{I as ce}from"./ImageWrapper-Coy_mQ2k.js";import{E as ue}from"./index-D0ECG3FC.js";import{E as me}from"./index-DRJcmib8.js";import{E as de}from"./index-d2rqZZYz.js";import{B as pe}from"./BotPlaceholder-SsROT5uE.js";import{N as fe}from"./NoTasks-B_ODnKax.js";import"./use-form-item-BbBsagre.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-CODnKE5F.js";import"./index-CqvHUGbn.js";import"./index-DC3bbaVK.js";import"./index-DMegc4HX.js";import"./_baseClone-DS_LGzZX.js";import"./_Uint8Array-CvdQKNTH.js";import"./_initCloneObject-BtMKtTta.js";import"./isEqual-hkTAHR86.js";import"./index-BeRl9zcZ.js";import"./strings-beZM2Y-f.js";import"./castArray-DNZQWJZ9.js";import"./debounce-eIYMYWhR.js";import"./_baseIteratee-D4WzrUe9.js";import"./index-BajT1XSW.js";import"./index-BDEUkDca.js";const he=k({name:"LayoutNanobanana",components:{ElDrawer:x,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function $e(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",_e,[c("div",ge,[C(e.$slots,"config",{},void 0,!0)]),c("div",be,[C(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:g(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=y(he,[["render",$e],["__scopeId","data-v-977284aa"]]),ke="",ye=k({name:"PromptInput",components:{ElInput:ae,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ke)}}),we={class:"field"},Ve={class:"box"},Ae={class:"title font-bold"};function Ne(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",we,[c("div",Ve,[c("h2",Ae,o(e.$t("nanobanana.name.prompt")),1),a(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ee=y(ye,[["render",Ne],["__scopeId","data-v-2331e197"]]),Re=k({name:"ImageUrlsInput",components:{ElUpload:ne,ElButton:q,InfoIcon:O,ImagePreview:W,FontAwesomeIcon:T},mixins:[oe],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ie={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Se={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Te={class:"controls flex items-center"},qe={class:"file-list flex flex-wrap gap-[10px]"};function Ue(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),d=s("info-icon"),w=s("image-preview");return n(),l(V,null,[c("div",Ie,[c("h2",Le,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Se,[c("div",Te,[a(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[a(_,{size:"small",type:"primary",round:""},{default:g(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(d,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",qe,[(n(!0),l(V,null,N(e.fileList,(r,v)=>(n(),A(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=y(Re,[["render",Ue]]),Ce=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Pe={class:"field"},Be={class:"title font-bold"};function Ge(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Pe,[c("h2",Be,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,m=>(n(),A(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=y(Ce,[["render",Ge],["__scopeId","data-v-67f08a08"]]),je=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),De={class:"field"},Fe={class:"label"},ze={class:"box"},We={class:"title font-bold"};function xe(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",De,[c("div",Fe,[c("div",ze,[c("h2",We,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ke=y(je,[["render",xe],["__scopeId","data-v-94304d73"]]),He=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),Je={class:"field"},Qe={class:"label"},Xe={class:"box"},Ye={class:"title font-bold"};function Ze(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Je,[c("div",Qe,[c("div",Xe,[c("h2",Ye,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const et=y(He,[["render",Ze],["__scopeId","data-v-fd5ab393"]]),tt=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,AspectRatioSelector:Me,ModelSelector:Ke,ResolutionSelector:et},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return le({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),at={class:"flex flex-col h-full"},ot={class:"flex-1 overflow-y-auto p-5"},nt={class:"flex flex-col items-center justify-center px-5 pb-5"};function st(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),d=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",at,[c("div",ot,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(m,{class:"mb-4"}),a(d,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",nt,[a(r,{value:e.consumption,service:e.service},null,8,["value","service"]),a(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const lt=y(tt,[["render",st]]),rt=k({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:ie,FontAwesomeIcon:T,ElAlert:me,ImageWrapper:ce,ElButton:q,ElTooltip:ue,ImagePreview:W},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),it={class:"preview"},ct={class:"left"},ut={class:"main"},mt={class:"bot"},dt={class:"datetime"},pt={class:"info"},ft={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ht={key:1,class:"prompt mt-2"},_t={key:0},gt={key:0,class:U({content:!0,failed:!0})},bt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},$t={class:U({operations:!0,"mt-2":!0,"mb-2":!0})},vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Et={key:1,class:U({content:!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:2,class:U({content:!0})},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Dt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),d=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",it,[c("div",ct,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",ut,[c("div",mt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",dt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",pt,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ft,[(n(!0),l(V,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),A(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",ht,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",_t," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",gt,[c("div",bt,[(n(!0),l(V,null,N(e.images,(I,L)=>(n(),A(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",$t,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[a(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",vt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",kt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",yt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",wt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Vt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",At,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Nt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Et,[a(E,{closable:!1,class:"failure"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Rt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",It,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Lt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",St,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Tt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",qt,[a(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Ut,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Ot,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",Ct,[a(E,{closable:!1,class:"info"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Pt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Bt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Gt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Mt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",jt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ft=y(rt,[["render",Dt],["__scopeId","data-v-8d5f4fff"]]),zt=k({name:"RecentPanel",components:{TaskPreview:Ft,BotPlaceholder:pe,NoTasks:fe,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Wt={key:0},xt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),l(V,null,[e.tasks?.items===void 0?(n(),l("div",Wt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),A(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(V,null,N(e.tasks?.items,w=>(n(),A(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",xt,[a(d)])):p("",!0)],64)}const Ht=y(zt,[["render",Kt]]),Jt=Z("nanobanana"),Qt=k({name:"NanobananaIndex",components:{ConfigPanel:lt,Layout:ve,RecentPanel:Ht},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Jt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",Y.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===re?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),A(m,null,{config:g(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ma=y(Qt,[["render",Xt]]);export{Ma as default};
|
|
1
|
+
import{F as T}from"./index.es-BLmzEmO2.js";import{E as q}from"./index-B72mm_GJ.js";import{E as W}from"./index-B6agP-Ra.js";import{d as k,H as l,E as c,z as C,C as a,y as g,D as s,q as n,F as o,I as u,O as V,N,x as A,J as p,M as K,Q as U}from"./vendor-vue-NSDaktjZ.js";import{G as y,bk as H,cM as Q,cN as z,cO as P,cP as J,cQ as S,cR as M,cS as j,cT as D,cp as X,aU as Y,S as F,cq as Z}from"./index-D38caUdO.js";import{I as O,S as ee,l as te}from"./pagination-C2o1t_-2.js";import{E as ae}from"./index-Dt4BllUK.js";import{p as oe}from"./pasteUploadMixin-BurWbGNQ.js";import{I as x}from"./ImagePreview-DI2VeDuz.js";import{E as ne}from"./index-CVSIXY8y.js";import{E as R}from"./index-C21TcEmh.js";import{E as B,a as G}from"./index-BK2DP5hm.js";import{C as se}from"./Consumption-CqJZN5qA.js";import{a as le}from"./price-BCBGswr1.js";import{b as re}from"./errorCode-Cqj9Td_Z.js";import{C as ie}from"./CopyToClipboard-CPSWT5bR.js";import{I as ce}from"./ImageWrapper-Bb5Cfmy8.js";import{E as ue}from"./index-41FllExt.js";import{E as me}from"./index-BTCKDPp9.js";import{E as de}from"./index-X-pA25HA.js";import{B as pe}from"./BotPlaceholder-Dvz4ZRyu.js";import{N as fe}from"./NoTasks-CllJt2H1.js";import"./use-form-item-D7fAyxsc.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./typescript-FU1ZSXfb.js";import"./index-DF98wF07.js";import"./index-CW80M4ve.js";import"./index-CuVSy9S3.js";import"./_baseClone-BHIkIKEe.js";import"./_Uint8Array-D_wulyVe.js";import"./_initCloneObject-CHBLIg3i.js";import"./isEqual-BVkGIvMj.js";import"./index-DNFN_ZFy.js";import"./strings-beZM2Y-f.js";import"./castArray-D0mKqyiV.js";import"./debounce-krmvP0WB.js";import"./_baseIteratee-De-W5dn-.js";import"./index-DEv50S0G.js";import"./index-CbJfxJEv.js";const he=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:T},data(){return{drawer:!1}}}),_e={class:"main flex flex-row flex-1"},ge={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},be={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function $e(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-drawer");return n(),l("div",_e,[c("div",ge,[C(e.$slots,"config",{},void 0,!0)]),c("div",be,[C(e.$slots,"result",{},void 0,!0)]),a(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=d=>e.drawer=!0)},{default:g(()=>[a(h,{icon:"fa-solid fa-magic"})]),_:1}),a(m,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=d=>e.drawer=d),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:g(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=y(he,[["render",$e],["__scopeId","data-v-977284aa"]]),ke="",ye=k({name:"PromptInput",components:{ElInput:ae,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ke)}}),we={class:"field"},Ve={class:"box"},Ae={class:"title font-bold"};function Ne(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",we,[c("div",Ve,[c("h2",Ae,o(e.$t("nanobanana.name.prompt")),1),a(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),a(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=m=>e.prompt=m),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ee=y(ye,[["render",Ne],["__scopeId","data-v-2331e197"]]),Re=k({name:"ImageUrlsInput",components:{ElUpload:ne,ElButton:q,InfoIcon:O,ImagePreview:x,FontAwesomeIcon:T},mixins:[oe],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const i=(this.fileList||[]).filter(b=>!b?.response?.file_url);this.fileList=i.length?i:[];return}const t=[];e.forEach(i=>{const b=this.fileList.find(f=>f?.response?.file_url===i||f?.url===i);b?t.push(b):t.push({name:i.split("/").pop()||i,url:i,status:"success",percentage:100,response:{file_url:i}})}),(this.fileList||[]).filter(i=>!i?.response?.file_url).forEach(i=>{t.some(f=>f===i||f?.url===i?.url||f?.response?.file_url===i?.response?.file_url)||t.push(i)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ie={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Se={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Te={class:"controls flex items-center"},qe={class:"file-list flex flex-wrap gap-[10px]"};function Ue(e,t,$,i,b,f){const h=s("font-awesome-icon"),_=s("el-button"),m=s("el-upload"),d=s("info-icon"),w=s("image-preview");return n(),l(V,null,[c("div",Ie,[c("h2",Le,o(e.$t("nanobanana.name.imageUrls")),1),c("div",Se,[c("div",Te,[a(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:g(()=>[a(_,{size:"small",type:"primary",round:""},{default:g(()=>[a(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),a(d,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",qe,[(n(!0),l(V,null,N(e.fileList,(r,v)=>(n(),A(w,{key:r.uid||r?.response?.file_url||r.url||v,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:E=>e.onRemovePreview(v,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Oe=y(Re,[["render",Ue]]),Ce=k({name:"AspectRatioSelector",components:{ElSelect:G,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Pe={class:"field"},Be={class:"title font-bold"};function Ge(e,t,$,i,b,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Pe,[c("h2",Be,o(e.$t("nanobanana.name.aspectRatio")),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=m=>e.value=m),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,m=>(n(),A(h,{key:m,label:m,value:m},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Me=y(Ce,[["render",Ge],["__scopeId","data-v-67f08a08"]]),je=k({name:"NanobananaModelSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:J,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=Q)}}),De={class:"field"},Fe={class:"label"},ze={class:"box"},xe={class:"title font-bold"};function We(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",De,[c("div",Fe,[c("div",ze,[c("h2",xe,o(e.$t("nanobanana.name.model")),1),a(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ke=y(je,[["render",We],["__scopeId","data-v-94304d73"]]),He=k({name:"NanobananaResolutionSelector",components:{ElSelect:G,ElOption:B,InfoIcon:O},data(){return{cachedResolution:S,options:[{value:M,label:M},{value:j,label:j},{value:D,label:D}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||S):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=S),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),Qe={class:"field"},Je={class:"label"},Xe={class:"box"},Ye={class:"title font-bold"};function Ze(e,t,$,i,b,f){const h=s("info-icon"),_=s("el-option"),m=s("el-select");return n(),l("div",Qe,[c("div",Je,[c("div",Xe,[c("h2",Ye,o(e.$t("nanobanana.name.resolution")),1),a(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:g(()=>[(n(!0),l(V,null,N(e.options,d=>(n(),A(_,{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const et=y(He,[["render",Ze],["__scopeId","data-v-fd5ab393"]]),tt=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:T,PromptInput:Ee,Consumption:se,ImageUrlsInput:Oe,AspectRatioSelector:Me,ModelSelector:Ke,ResolutionSelector:et},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return le({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),at={class:"flex flex-col h-full"},ot={class:"flex-1 overflow-y-auto p-5"},nt={class:"flex flex-col items-center justify-center px-5 pb-5"};function st(e,t,$,i,b,f){const h=s("model-selector"),_=s("resolution-selector"),m=s("prompt-input"),d=s("aspect-ratio-selector"),w=s("image-urls-input"),r=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",at,[c("div",ot,[a(h,{class:"mb-4"}),a(_,{class:"mb-4"}),a(m,{class:"mb-4"}),a(d,{class:"mb-4"}),a(w,{class:"mb-4"})]),c("div",nt,[a(r,{value:e.consumption,service:e.service},null,8,["value","service"]),a(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:g(()=>[a(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const lt=y(tt,[["render",st]]),rt=k({name:"TaskPreview",components:{ElImage:de,CopyToClipboard:ie,FontAwesomeIcon:T,ElAlert:me,ImageWrapper:ce,ElButton:q,ElTooltip:ue,ImagePreview:x},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),it={class:"preview"},ct={class:"left"},ut={class:"main"},mt={class:"bot"},dt={class:"datetime"},pt={class:"info"},ft={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},ht={key:1,class:"prompt mt-2"},_t={key:0},gt={key:0,class:U({content:!0,failed:!0})},bt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},$t={class:U({operations:!0,"mt-2":!0,"mb-2":!0})},vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Et={key:1,class:U({content:!0})},Rt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:5,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ct={key:2,class:U({content:!0})},Pt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Gt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Mt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},jt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Dt(e,t,$,i,b,f){const h=s("el-image"),_=s("image-preview"),m=s("image-wrapper"),d=s("el-button"),w=s("el-tooltip"),r=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",it,[c("div",ct,[a(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",ut,[c("div",mt,[u(o(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",dt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",pt,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",ft,[(n(!0),l(V,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),A(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):p("",!0),e.modelValue?.request?.prompt?(n(),l("p",ht,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?p("",!0):(n(),l("span",_t," - ("+o(e.$t("nanobanana.status.pending"))+") ",1))])):p("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",gt,[c("div",bt,[(n(!0),l(V,null,N(e.images,(I,L)=>(n(),A(m,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",$t,[a(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:g(()=>[a(d,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=K(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:g(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),a(E,{closable:!1,class:"mt-2 success"},{default:g(()=>[e.modelValue?.request?.model?(n(),l("p",vt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",kt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",yt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",wt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Vt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",At,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Nt,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):p("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",Et,[a(E,{closable:!1,class:"failure"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Rt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",It,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Lt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",St,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",Tt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",qt,[a(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),a(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.elapsed?(n(),l("p",Ut,[a(r,{icon:"fa-solid fa-clock",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.elapsed"))+": "+o(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):p("",!0),e.modelValue?.response?.trace_id?(n(),l("p",Ot,[a(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),a(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):p("",!0)]),_:1})])):(n(),l("div",Ct,[a(E,{closable:!1,class:"info"},{template:g(()=>[a(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.failure")),1)]),default:g(()=>[e.modelValue?.request?.model?(n(),l("p",Pt,[a(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.model"))+": "+o(e.modelValue?.request?.model),1)])):p("",!0),e.modelValue?.request?.resolution?(n(),l("p",Bt,[a(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.resolution"))+": "+o(e.modelValue?.request?.resolution),1)])):p("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Gt,[a(r,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.aspectRatio"))+": "+o(e.modelValue?.request?.aspect_ratio),1)])):p("",!0),e.modelValue?.request?.action?(n(),l("p",Mt,[a(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.task"))+": "+o(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):p("",!0),c("p",jt,[a(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("nanobanana.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),a(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Ft=y(rt,[["render",Dt],["__scopeId","data-v-8d5f4fff"]]),zt=k({name:"RecentPanel",components:{TaskPreview:Ft,BotPlaceholder:pe,NoTasks:fe,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),xt={key:0},Wt={key:2,class:"w-full h-full flex items-center justify-center"};function Kt(e,t,$,i,b,f){const h=s("bot-placeholder"),_=s("task-preview"),m=s("scroll-list"),d=s("no-tasks");return n(),l(V,null,[e.tasks?.items===void 0?(n(),l("div",xt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),A(m,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:g(()=>[(n(!0),l(V,null,N(e.tasks?.items,w=>(n(),A(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):p("",!0),e.tasks?.items?.length===0?(n(),l("div",Wt,[a(d)])):p("",!0)],64)}const Ht=y(zt,[["render",Kt]]),Qt=Z("nanobanana"),Jt=k({name:"NanobananaIndex",components:{ConfigPanel:lt,Layout:ve,RecentPanel:Ht},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:$,createdAtMax:i}=e||{};console.debug("limit",t,"createdAtMin",$,"createdAtMax",i),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:$,createdAtMax:i})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=S);const $={...e,action:t?"edit":"generate",callback_url:Qt},i=this.credential?.token;if(!i){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),X("nanobanana",Y.generate($,{token:i})).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(b=>{const f=b?.response?.data;f?.error?.code===re?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Xt(e,t,$,i,b,f){const h=s("config-panel"),_=s("recent-panel"),m=s("layout");return n(),A(m,null,{config:g(()=>[a(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:g(()=>[a(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ma=y(Jt,[["render",Xt]]);export{Ma as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as U}from"./index.es-B-oBIK4i.js";import{E as L}from"./index-hkeQzgSz.js";import{E as q}from"./index-DoMPvIeR.js";import{d as b,H as c,E as n,z as C,C as t,y as m,D as s,q as a,F as l,I as h,x as v,J as f,M,Q as T,O as F,N as H}from"./vendor-vue-NSDaktjZ.js";import{G as k,bl as j,cu as J,aD as K,S as z,cv as Q}from"./index-BVNvjRp7.js";import{a as W,b as x,c as X}from"./luma-DcySqBv2.js";import{I as S,S as Y,l as Z}from"./pagination-SBJi51n4.js";import{E as R}from"./index-DpAJ2tcJ.js";import{p as D}from"./pasteUploadMixin-BurWbGNQ.js";import{I as B}from"./ImagePreview-Cd1_21Ps.js";import{E as A}from"./index-CXcxS6Tb.js";import{E}from"./index-D2EVue7e.js";import{F as ee}from"./FilePreview-3GV2SWsm.js";import{E as te}from"./index-BQTeuJfN.js";import{V as O}from"./VideoPlayer-bUE3PTPG.js";import{C as oe}from"./Consumption-CAhrj82G.js";import{a as se}from"./price-BvAGRK8n.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{C as ae}from"./CopyToClipboard-COxFR3cx.js";import{E as le}from"./index-D0ECG3FC.js";import{E as ie}from"./index-DRJcmib8.js";import{E as re}from"./index-d2rqZZYz.js";import{B as ce}from"./BotPlaceholder-SsROT5uE.js";import{N as me}from"./NoTasks-B_ODnKax.js";import"./use-form-item-BbBsagre.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./validator-ZvH0hMEF.js";import"./index-CqvHUGbn.js";import"./index-DMegc4HX.js";import"./typescript-CODnKE5F.js";import"./_baseClone-DS_LGzZX.js";import"./_Uint8Array-CvdQKNTH.js";import"./_initCloneObject-BtMKtTta.js";import"./isEqual-hkTAHR86.js";import"./index-DC3bbaVK.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-eIYMYWhR.js";import"./index-BDEUkDca.js";const ue=b({name:"LayoutLuma",components:{ElDrawer:q,ElButton:L,FontAwesomeIcon:U},data(){return{drawer:!1}}}),de={class:"main flex flex-row flex-1"},pe={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,_,$,w,y){const r=s("font-awesome-icon"),d=s("el-button"),u=s("el-drawer");return a(),c("div",de,[n("div",pe,[C(e.$slots,"config",{},void 0,!0)]),n("div",fe,[C(e.$slots,"result",{},void 0,!0)]),t(d,{circle:"",class:"menu",onClick:o[0]||(o[0]=g=>e.drawer=!0)},{default:m(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(u,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:m(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=k(ue,[["render",_e],["__scopeId","data-v-2d61fc7d"]]),$e=b({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=W)}}),ge={class:"relative"},ve={class:"flex justify-between"},be={class:"flex justify-start items-center"},ke={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function ye(e,o,_,$,w,y){const r=s("info-icon"),d=s("el-switch");return a(),c("div",ge,[n("div",ve,[n("div",be,[n("span",ke,l(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",we,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const Ee=k($e,[["render",ye]]),Ve=b({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=x)}}),Se={class:"relative"},Ue={class:"flex justify-between"},Le={class:"flex justify-start items-center"},Ie={class:"text-sm font-bold"},Te={class:"flex justify-end items-center"};function Ce(e,o,_,$,w,y){const r=s("info-icon"),d=s("el-switch");return a(),c("div",Se,[n("div",Ue,[n("div",Le,[n("span",Ie,l(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Te,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const je=k(Ve,[["render",Ce]]),Re=b({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=X)}}),Ae={class:"relative"},Ge={class:"flex justify-between"},Pe={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"},Fe={class:"flex justify-end items-center"};function ze(e,o,_,$,w,y){const r=s("info-icon"),d=s("el-switch");return a(),c("div",Ae,[n("div",Ge,[n("div",Pe,[n("span",Me,l(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Fe,[t(d,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=u=>e.value=u),class:"value"},null,8,["modelValue"])])])])}const De=k(Re,[["render",ze]]),Be=b({name:"EndImage",components:{ElUpload:A,ElButton:L,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:U},mixins:[D],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Oe={class:"relative"},Ne={class:"flex justify-between"},qe={class:"flex justify-start items-center"},He={class:"text-sm font-bold"};function Je(e,o,_,$,w,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",Oe,[n("div",Ne,[n("div",qe,[n("span",He,l(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.url&&i.percentage!==void 0?(a(),v(d,{key:0,url:i.url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ke=k(Be,[["render",Je],["__scopeId","data-v-7a787b4d"]]),Qe=b({name:"StartImage",components:{ElUpload:A,ElButton:L,ImagePreview:B,InfoIcon:S,FontAwesomeIcon:U},mixins:[D],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),We={class:"relative"},xe={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Ze(e,o,_,$,w,y){const r=s("info-icon"),d=s("image-preview"),u=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",We,[n("div",xe,[n("div",Xe,[n("span",Ye,l(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(d,{key:0,url:i.url||i.response.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=k(Qe,[["render",Ze],["__scopeId","data-v-8c5cfe84"]]),tt=b({name:"UploadVideo",components:{ElUpload:A,ElButton:L,InfoIcon:S,FilePreview:ee,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",_=e.size/1024/1024<10;return o?_?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:"relative"},st={class:"flex justify-between"},nt={class:"flex justify-start items-center"},at={class:"text-sm font-bold"};function lt(e,o,_,$,w,y){const r=s("info-icon"),d=s("file-preview"),u=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",ot,[n("div",st,[n("div",nt,[n("span",at,l(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t(p,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(d,{key:0,url:i.url||i.response?.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(u,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const it=k(tt,[["render",lt],["__scopeId","data-v-74e51526"]]),rt="",ct=b({name:"PromptInput",components:{ElInput:te,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=rt)}}),mt={class:"field"},ut={class:"box"},dt={class:"title font-bold"};function pt(e,o,_,$,w,y){const r=s("info-icon"),d=s("el-input");return a(),c("div",mt,[n("div",ut,[n("h2",dt,l(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(d,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=u=>e.prompt=u),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ft=k(ct,[["render",pt],["__scopeId","data-v-281baab8"]]),_t=b({name:"ExtendFromInput",components:{VideoPlayer:O},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ht={class:"relative"},$t={class:"flex mb-2"},gt={class:"text-sm font-bold"};function vt(e,o,_,$,w,y){const r=s("video-player");return a(),c("div",ht,[n("div",$t,[n("span",gt,l(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const bt=k(_t,[["render",vt]]),kt=b({name:"ConfigPanel",components:{LoopSelector:De,StartImageInput:et,EndImageInput:Ke,EnhancementSelector:Ee,ElButton:L,FontAwesomeIcon:U,PromptInput:ft,ExtendFromInput:bt,CustomSelector:je,UploadVideo:it,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return se(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),wt={class:"flex flex-col h-full"},yt={class:"flex-1 overflow-y-auto p-5"},Et={class:"flex flex-col items-center justify-center px-5 pb-5"};function Vt(e,o,_,$,w,y){const r=s("extend-from-input"),d=s("prompt-input"),u=s("custom-selector"),g=s("upload-video"),p=s("start-image-input"),i=s("end-image-input"),V=s("enhancement-selector"),I=s("loop-selector"),N=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),c("div",wt,[n("div",yt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):f("",!0),t(d,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),v(u,{key:1,class:"mb-4"})),e.config?.custom?(a(),v(g,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(p,{key:3,class:"mb-4"})):f("",!0),t(i,{class:"mb-4"}),t(V,{class:"mb-4"}),t(I,{class:"mb-4"})]),n("div",Et,[t(N,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const St=k(kt,[["render",Vt]]),Ut=b({name:"TaskPreview",components:{ElImage:re,CopyToClipboard:ae,FontAwesomeIcon:U,ElAlert:ie,VideoPlayer:O,ElTooltip:le,ElButton:L},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Lt={class:"preview"},It={class:"left"},Tt={class:"main"},Ct={class:"bot"},jt={class:"datetime"},Rt={class:"info"},At={key:0,class:"prompt mt-2"},Gt={key:0},Pt={key:1},Mt={key:0,class:T({content:!0,failed:!0})},Ft={key:0,class:"mb-4"},zt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Bt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:1,class:T({content:!0})},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Jt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Kt={key:2,class:T({content:!0})},Qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Wt(e,o,_,$,w,y){const r=s("el-image"),d=s("video-player"),u=s("el-button"),g=s("el-tooltip"),p=s("font-awesome-icon"),i=s("copy-to-clipboard"),V=s("el-alert");return a(),c("div",Lt,[n("div",It,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Tt,[n("div",Ct,[h(l(e.$t("luma.name.lumaBot"))+" ",1),n("span",jt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Rt,[e.modelValue?.request?.prompt?(a(),c("p",At,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),c("span",Gt," - ("+l(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("span",Pt," - ("+l(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",Mt,[e.modelValue.response.video_url?(a(),c("div",Ft,[t(d,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),c("div",zt,[t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:m(()=>[t(u,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:m(()=>[t(u,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:m(()=>[n("p",Dt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",Bt,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),c("div",Ot,[t(V,{closable:!1,class:"failure"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Nt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),n("p",qt,[t(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("luma.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(i,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",Ht,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0),n("p",Jt,[t(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("luma.name.traceId"))+": "+l(e.modelValue?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("div",Kt,[t(V,{closable:!1,class:"info"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Qt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const xt=k(Ut,[["render",Wt],["__scopeId","data-v-bcbb3d1c"]]),Xt=b({name:"RecentPanel",components:{BotPlaceholder:ce,TaskPreview:xt,NoTasks:me,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Yt={key:0},Zt={key:2,class:"w-full h-full flex items-center justify-center"};function eo(e,o,_,$,w,y){const r=s("bot-placeholder"),d=s("task-preview"),u=s("scroll-list"),g=s("no-tasks");return a(),c(F,null,[e.tasks?.items===void 0?(a(),c("div",Yt,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(u,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:o[1]||(o[1]=p=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),c(F,null,H(e.tasks?.items,p=>(a(),v(d,{key:p.id,"model-value":p,onExtend:o[0]||(o[0]=i=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(a(),c("div",Zt,[t(g)])):f("",!0)],64)}const to=k(Xt,[["render",eo]]),oo=Q("luma"),so=b({name:"LumaIndex",components:{ConfigPanel:St,Layout:he,RecentPanel:to},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:_,createdAtMax:$}=e||{};console.debug("limit",o,"createdAtMin",_,"createdAtMax",$),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:_,createdAtMax:$})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:oo},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),J("luma",K.generate(e,{token:o})).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(_=>{_?.response?.data?.error?.code===ne?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function no(e,o,_,$,w,y){const r=s("config-panel"),d=s("recent-panel"),u=s("layout");return a(),v(u,null,{config:m(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(d,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=g=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Ko=k(so,[["render",no]]);export{Ko as default};
|
|
1
|
+
import{F as U}from"./index.es-BLmzEmO2.js";import{E as L}from"./index-B72mm_GJ.js";import{E as N}from"./index-B6agP-Ra.js";import{d as b,H as c,E as n,z as C,C as t,y as m,D as s,q as a,F as l,I as h,x as v,J as f,M,Q as T,O as F,N as H}from"./vendor-vue-NSDaktjZ.js";import{G as k,bk as j,cp as J,aC as K,S as z,cq as Q}from"./index-D38caUdO.js";import{a as W,b as x,c as X}from"./luma-DcySqBv2.js";import{I as S,S as Y,l as Z}from"./pagination-C2o1t_-2.js";import{E as R}from"./index-CXZ2Kfo8.js";import{p as B}from"./pasteUploadMixin-BurWbGNQ.js";import{I as D}from"./ImagePreview-DI2VeDuz.js";import{E as A}from"./index-CVSIXY8y.js";import{E}from"./index-C21TcEmh.js";import{F as ee}from"./FilePreview-C7fg38oZ.js";import{E as te}from"./index-Dt4BllUK.js";import{V as O}from"./VideoPlayer-CO6S65En.js";import{C as oe}from"./Consumption-CqJZN5qA.js";import{a as se}from"./price-BCBGswr1.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{C as ae}from"./CopyToClipboard-CPSWT5bR.js";import{E as le}from"./index-41FllExt.js";import{E as ie}from"./index-BTCKDPp9.js";import{E as re}from"./index-X-pA25HA.js";import{B as ce}from"./BotPlaceholder-Dvz4ZRyu.js";import{N as me}from"./NoTasks-CllJt2H1.js";import"./use-form-item-D7fAyxsc.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./validator-DTOJbKt6.js";import"./index-DF98wF07.js";import"./index-CuVSy9S3.js";import"./typescript-FU1ZSXfb.js";import"./_baseClone-BHIkIKEe.js";import"./_Uint8Array-D_wulyVe.js";import"./_initCloneObject-CHBLIg3i.js";import"./isEqual-BVkGIvMj.js";import"./index-CW80M4ve.js";import"./vue-plyr-BO2nlN4c.js";import"./debounce-krmvP0WB.js";import"./index-CbJfxJEv.js";const de=b({name:"LayoutLuma",components:{ElDrawer:N,ElButton:L,FontAwesomeIcon:U},data(){return{drawer:!1}}}),ue={class:"main flex flex-row flex-1"},pe={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,_,$,w,y){const r=s("font-awesome-icon"),u=s("el-button"),d=s("el-drawer");return a(),c("div",ue,[n("div",pe,[C(e.$slots,"config",{},void 0,!0)]),n("div",fe,[C(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=g=>e.drawer=!0)},{default:m(()=>[t(r,{icon:"fa-solid fa-magic"})]),_:1}),t(d,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"350px",class:"drawer"},{default:m(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const he=k(de,[["render",_e],["__scopeId","data-v-2d61fc7d"]]),$e=b({name:"EnhancementSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug("set enhancement",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=W)}}),ge={class:"relative"},ve={class:"flex justify-between"},be={class:"flex justify-start items-center"},ke={class:"text-sm font-bold"},we={class:"flex justify-end items-center"};function ye(e,o,_,$,w,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",ge,[n("div",ve,[n("div",be,[n("span",ke,l(e.$t("luma.name.enhancement")),1),t(r,{content:e.$t("luma.description.enhancement")},null,8,["content"])]),n("div",we,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Ee=k($e,[["render",ye]]),Ve=b({name:"CustomSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug("set custom",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=x)}}),Se={class:"relative"},Ue={class:"flex justify-between"},Le={class:"flex justify-start items-center"},Ie={class:"text-sm font-bold"},Te={class:"flex justify-end items-center"};function Ce(e,o,_,$,w,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",Se,[n("div",Ue,[n("div",Le,[n("span",Ie,l(e.$t("luma.name.custom")),1),t(r,{content:e.$t("luma.description.custom")},null,8,["content"])]),n("div",Te,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const je=k(Ve,[["render",Ce]]),Re=b({name:"LoopSelector",components:{ElSwitch:R,InfoIcon:S},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug("set loop",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=X)}}),Ae={class:"relative"},Ge={class:"flex justify-between"},Pe={class:"flex justify-start items-center"},Me={class:"text-sm font-bold"},Fe={class:"flex justify-end items-center"};function ze(e,o,_,$,w,y){const r=s("info-icon"),u=s("el-switch");return a(),c("div",Ae,[n("div",Ge,[n("div",Pe,[n("span",Me,l(e.$t("luma.name.loop")),1),t(r,{content:e.$t("luma.description.loop")},null,8,["content"])]),n("div",Fe,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=d=>e.value=d),class:"value"},null,8,["modelValue"])])])])}const Be=k(Re,[["render",ze]]),De=b({name:"EndImage",components:{ElUpload:A,ElButton:L,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:U},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetEndImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetEndImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Oe={class:"relative"},qe={class:"flex justify-between"},Ne={class:"flex justify-start items-center"},He={class:"text-sm font-bold"};function Je(e,o,_,$,w,y){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",Oe,[n("div",qe,[n("div",Ne,[n("span",He,l(e.$t("luma.name.endImageUrl")),1),t(r,{content:e.$t("luma.description.endImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.url&&i.percentage!==void 0?(a(),v(u,{key:0,url:i.url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadEndImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const Ke=k(De,[["render",Je],["__scopeId","data-v-7a787b4d"]]),Qe=b({name:"StartImage",components:{ElUpload:A,ElButton:L,ImagePreview:D,InfoIcon:S,FontAwesomeIcon:U},mixins:[B],data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("luma.message.uploadReferencesExceed"))},onError(){E.error(this.$t("luma.message.uploadReferencesError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),We={class:"relative"},xe={class:"flex justify-between"},Xe={class:"flex justify-start items-center"},Ye={class:"text-sm font-bold"};function Ze(e,o,_,$,w,y){const r=s("info-icon"),u=s("image-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",We,[n("div",xe,[n("div",Xe,[n("span",Ye,l(e.$t("luma.name.startImageUrl")),1),t(r,{content:e.$t("luma.description.startImageUrl")},null,8,["content"])])]),t(p,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),name:"file",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",limit:5,class:"upload-wrapper",multiple:!1,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(u,{key:0,url:i.url||i.response.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])}const et=k(Qe,[["render",Ze],["__scopeId","data-v-8c5cfe84"]]),tt=b({name:"UploadVideo",components:{ElUpload:A,ElButton:L,InfoIcon:S,FilePreview:ee,FontAwesomeIcon:U},data(){return{fileList:[],uploadUrl:j()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||(this.value=void 0)},methods:{onExceed(){E.warning(this.$t("luma.message.uploadVideoExceed"))},onError(){E.error(this.$t("luma.message.uploadVideoError"))},beforeUpload(e){const o=e.type==="video/mp4",_=e.size/1024/1024<10;return o?_?!0:(E.error(this.$t("luma.message.uploadVideoSizeExceed")),!1):(E.error(this.$t("luma.message.uploadVideoTypeFailed")),!1)},onSetVideoUrl(){const e=this.urls?.[0];this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_url:e,action:"extend"})},async onSuccess(){this.onSetVideoUrl()}}}),ot={class:"relative"},st={class:"flex justify-between"},nt={class:"flex justify-start items-center"},at={class:"text-sm font-bold"};function lt(e,o,_,$,w,y){const r=s("info-icon"),u=s("file-preview"),d=s("font-awesome-icon"),g=s("el-button"),p=s("el-upload");return a(),c("div",ot,[n("div",st,[n("div",nt,[n("span",at,l(e.$t("luma.name.videoUrl")),1),t(r,{content:e.$t("luma.description.videoUrl")},null,8,["content"])])]),t(p,{"file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=i=>e.fileList=i),accept:".mp4",name:"file",class:"value","show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:i})=>[i.percentage!=null?(a(),v(u,{key:0,url:i.url||i.response?.file_url,name:i.name,percentage:i.percentage,onRemove:V=>e.fileList.splice(e.fileList.indexOf(i),1)},null,8,["url","name","percentage","onRemove"])):f("",!0)]),default:m(()=>[t(g,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:m(()=>[t(d,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+l(e.$t("luma.button.uploadVideoUrl")),1)]),_:1})]),_:1},8,["file-list","action","before-upload","on-exceed","on-error","on-success","headers"])])}const it=k(tt,[["render",lt],["__scopeId","data-v-74e51526"]]),rt="",ct=b({name:"PromptInput",components:{ElInput:te,InfoIcon:S},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=rt)}}),mt={class:"field"},dt={class:"box"},ut={class:"title font-bold"};function pt(e,o,_,$,w,y){const r=s("info-icon"),u=s("el-input");return a(),c("div",mt,[n("div",dt,[n("h2",ut,l(e.$t("luma.name.prompt")),1),t(r,{content:e.$t("luma.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("luma.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ft=k(ct,[["render",pt],["__scopeId","data-v-281baab8"]]),_t=b({name:"ExtendFromInput",components:{VideoPlayer:O},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:"1080p"}}}},computed:{config(){return this.$store.state.luma?.config}}}),ht={class:"relative"},$t={class:"flex mb-2"},gt={class:"text-sm font-bold"};function vt(e,o,_,$,w,y){const r=s("video-player");return a(),c("div",ht,[n("div",$t,[n("span",gt,l(e.$t("luma.name.extend")),1)]),n("div",null,[e.config?.video_url?(a(),v(r,{key:0,src:e.config?.video_url},null,8,["src"])):f("",!0)])])}const bt=k(_t,[["render",vt]]),kt=b({name:"ConfigPanel",components:{LoopSelector:Be,StartImageInput:et,EndImageInput:Ke,EnhancementSelector:Ee,ElButton:L,FontAwesomeIcon:U,PromptInput:ft,ExtendFromInput:bt,CustomSelector:je,UploadVideo:it,Consumption:oe},emits:["generate"],computed:{config(){return this.$store.state.luma?.config},consumption(){return se(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit("generate")}}}),wt={class:"flex flex-col h-full"},yt={class:"flex-1 overflow-y-auto p-5"},Et={class:"flex flex-col items-center justify-center px-5 pb-5"};function Vt(e,o,_,$,w,y){const r=s("extend-from-input"),u=s("prompt-input"),d=s("custom-selector"),g=s("upload-video"),p=s("start-image-input"),i=s("end-image-input"),V=s("enhancement-selector"),I=s("loop-selector"),q=s("consumption"),G=s("font-awesome-icon"),P=s("el-button");return a(),c("div",wt,[n("div",yt,[e.config?.video_id||e.config?.video_url?(a(),v(r,{key:0,class:"mb-4"})):f("",!0),t(u,{class:"mb-4"}),e.config?.video_id?f("",!0):(a(),v(d,{key:1,class:"mb-4"})),e.config?.custom?(a(),v(g,{key:2,class:"mb-4"})):f("",!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(a(),v(p,{key:3,class:"mb-4"})):f("",!0),t(i,{class:"mb-4"}),t(V,{class:"mb-4"}),t(I,{class:"mb-4"})]),n("div",Et,[t(q,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v(P,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.extend")),1)]),_:1},8,["onClick"])):(a(),v(P,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:m(()=>[t(G,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+l(e.$t("luma.button.generate")),1)]),_:1},8,["onClick"]))])])}const St=k(kt,[["render",Vt]]),Ut=b({name:"TaskPreview",components:{ElImage:re,CopyToClipboard:ae,FontAwesomeIcon:U,ElAlert:ie,VideoPlayer:O,ElTooltip:le,ElButton:L},props:{modelValue:{type:Object,required:!0}},emits:["extend"],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,o){console.debug("set config",o),this.$store.commit("luma/setConfig",{...this.$store.state.luma?.config,video_id:o.video_id,prompt:o.prompt,action:"extend",thumbnail_url:o.thumbnail_url,video_url:o.video_url}),this.$emit("extend")},onDownload(e){window.open(e,"_blank")}}}),Lt={class:"preview"},It={class:"left"},Tt={class:"main"},Ct={class:"bot"},jt={class:"datetime"},Rt={class:"info"},At={key:0,class:"prompt mt-2"},Gt={key:0},Pt={key:1},Mt={key:0,class:T({content:!0,failed:!0})},Ft={key:0,class:"mb-4"},zt={key:1,class:T({operations:!0,"mt-2":!0,"mb-4":!0})},Bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Ot={key:1,class:T({content:!0})},qt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ht={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Jt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Kt={key:2,class:T({content:!0})},Qt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Wt(e,o,_,$,w,y){const r=s("el-image"),u=s("video-player"),d=s("el-button"),g=s("el-tooltip"),p=s("font-awesome-icon"),i=s("copy-to-clipboard"),V=s("el-alert");return a(),c("div",Lt,[n("div",It,[t(r,{src:"https://cdn.acedata.cloud/ahjfwi.png",class:"avatar"})]),n("div",Tt,[n("div",Ct,[h(l(e.$t("luma.name.lumaBot"))+" ",1),n("span",jt,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),n("div",Rt,[e.modelValue?.request?.prompt?(a(),c("p",At,[h(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?f("",!0):(a(),c("span",Gt," - ("+l(e.$t("luma.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("span",Pt," - ("+l(e.$t("luma.status.processing"))+") ",1)):f("",!0)])):f("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",Mt,[e.modelValue.response.video_url?(a(),c("div",Ft,[t(u,{src:e.modelValue.response.video_url},null,8,["src"])])):f("",!0),e.modelValue?.response&&!e.config?.custom?(a(),c("div",zt,[t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.extendVideo"),placement:"top-start"},{default:m(()=>[t(d,{type:"info",size:"small",class:"btn-action",onClick:o[0]||(o[0]=M(I=>e.onExtend(I,e.modelValue?.response),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.extend")),1)]),_:1})]),_:1},8,["content"]),t(g,{class:"box-item",effect:"dark",content:e.$t("luma.message.downloadVideo"),placement:"top-start"},{default:m(()=>[t(d,{type:"info",size:"small",class:"btn-action",onClick:o[1]||(o[1]=M(I=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:m(()=>[h(l(e.$t("luma.button.download")),1)]),_:1})]),_:1},8,["content"])])):f("",!0),t(V,{closable:!1,class:"mt-2 success"},{default:m(()=>[n("p",Bt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",Dt,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0)]),_:1})])):f("",!0),e.modelValue?.response?.state==="failed"||e.modelValue?.response?.success===!1?(a(),c("div",Ot,[t(V,{closable:!1,class:"failure"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",qt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])]),n("p",Nt,[t(p,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+l(e.$t("luma.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(i,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),e.modelValue?.elapsed?(a(),c("p",Ht,[t(p,{icon:"fa-solid fa-clock",class:"mr-1"}),h(" "+l(e.$t("luma.name.elapsed"))+": "+l(e.modelValue?.elapsed?.toFixed(2))+"s ",1)])):f("",!0),n("p",Jt,[t(p,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+l(e.$t("luma.name.traceId"))+": "+l(e.modelValue?.trace_id)+" ",1),t(i,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):f("",!0),!e.modelValue?.response||e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"?(a(),c("div",Kt,[t(V,{closable:!1,class:"info"},{template:m(()=>[t(p,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+l(e.$t("luma.name.failure")),1)]),default:m(()=>[n("p",Qt,[t(p,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+l(e.$t("luma.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(i,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):f("",!0)])])}const xt=k(Ut,[["render",Wt],["__scopeId","data-v-bcbb3d1c"]]),Xt=b({name:"RecentPanel",components:{BotPlaceholder:ce,TaskPreview:xt,NoTasks:me,ScrollList:Y},props:{loading:{type:Boolean,default:!1}},emits:["reach-top","extend"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Yt={key:0},Zt={key:2,class:"w-full h-full flex items-center justify-center"};function eo(e,o,_,$,w,y){const r=s("bot-placeholder"),u=s("task-preview"),d=s("scroll-list"),g=s("no-tasks");return a(),c(F,null,[e.tasks?.items===void 0?(a(),c("div",Yt,[t(r)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(d,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:o[1]||(o[1]=p=>e.$emit("reach-top"))},{default:m(()=>[(a(!0),c(F,null,H(e.tasks?.items,p=>(a(),v(u,{key:p.id,"model-value":p,onExtend:o[0]||(o[0]=i=>e.$emit("extend"))},null,8,["model-value"]))),128))]),_:1},8,["loading"])):f("",!0),e.tasks?.items?.length===0?(a(),c("div",Zt,[t(g)])):f("",!0)],64)}const to=k(Xt,[["render",eo]]),oo=Q("luma"),so=b({name:"LumaIndex",components:{ConfigPanel:St,Layout:he,RecentPanel:to},inject:["initialized"],emits:["extend"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("luma/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("luma/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){console.debug("scrolling down"),await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:_,createdAtMax:$}=e||{};console.debug("limit",o,"createdAtMin",_,"createdAtMax",$),this.fetchingTasks=!0;try{await this.$store.dispatch("luma/getTasks",{limit:o,createdAtMin:_,createdAtMax:$})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:oo},o=this.credential?.token;if(!o){console.error("no token specified");return}E.info(this.$t("luma.message.startingTask")),J("luma",K.generate(e,{token:o})).then(()=>{E.success(this.$t("luma.message.startTaskSuccess"))}).catch(_=>{_?.response?.data?.error?.code===ne?E.error(this.$t("luma.message.usedUp")):E.error(this.$t("luma.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function no(e,o,_,$,w,y){const r=s("config-panel"),u=s("recent-panel"),d=s("layout");return a(),v(d,null,{config:m(()=>[t(r,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:m(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:o[0]||(o[0]=g=>e.$emit("extend"))},null,8,["loading","onReachTop"])]),_:1})}const Ko=k(so,[["render",no]]);export{Ko as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as D}from"./CopyToClipboard-
|
|
1
|
+
import{C as D}from"./CopyToClipboard-CPSWT5bR.js";import{at as I,au as F,av as T,aw as N,G as P}from"./index-D38caUdO.js";import{g as q}from"./price-BCBGswr1.js";import{d as B,a as $,s as O}from"./distribution-BkV7txSr.js";import{F as M}from"./index.es-BLmzEmO2.js";import{a as R}from"./index-CbJfxJEv.js";import{E as z,a as U}from"./index-PeA8Xc37.js";import{E as V}from"./index-41FllExt.js";import{E as H}from"./index-K-oKZ-Oj.js";import{E as A}from"./index-DbqmmmL8.js";import{E as G}from"./index-B72mm_GJ.js";import{E as Q,a as J}from"./index-B007Wze9.js";import{E as W}from"./index-CuVSy9S3.js";import{d as Y,x as l,y as o,C as i,E as e,F as s,H as p,I as m,J as k,D as r,q as n}from"./vendor-vue-NSDaktjZ.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-v0j1UNZp.js";import"./vendor-vue-router-Kg6s1a65.js";import"./index-DNFN_ZFy.js";import"./typescript-FU1ZSXfb.js";import"./index-DF98wF07.js";import"./_Uint8Array-D_wulyVe.js";import"./_initCloneObject-CHBLIg3i.js";import"./isPlainObject-JrN91JkA.js";import"./_baseIteratee-De-W5dn-.js";import"./isEqual-BVkGIvMj.js";import"./castArray-D0mKqyiV.js";import"./debounce-krmvP0WB.js";import"./index-BSR24ARk.js";import"./use-form-item-D7fAyxsc.js";import"./index-DEv50S0G.js";import"./index-BuyEbX8F.js";const j=Y({name:"ConsoleDistributionList",components:{CopyToClipboard:D,FontAwesomeIcon:M,QrCode:I,ElProgress:W,ElRow:J,ElCol:Q,ElButton:G,ElDivider:A,ElCard:H,ElTooltip:V,ElTable:U,ElTableColumn:z,ElSkeleton:R},data(){return{invitees:[],inviteesCount:void 0,distributionLevels:[],distributionLink:void 0,distributionStatus:void 0,loading:!1}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},qrColor(){const t=document.documentElement.classList.contains("dark");return{dark:t?"#ffffff":"#000000",light:t?"#1e1e1e":"#ffffff"}},distributionLevelMap(){let t={};return this.distributionLevels.forEach(a=>{t[a.level]=a}),t}},watch:{page:{handler(){this.onFetchData()}}},async mounted(){this.onFetchData(),this.onGenerateDistributionLink()},methods:{getPriceString:q,goHistory(){this.$router.push({name:N})},goInvitees(){this.$router.push({name:T})},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},getPercentageForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level]?.threshold,a=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor((this.distributionStatus?.price-t)/(a-t)*100)},getDeltaForNextLevel(){const t=this.distributionLevelMap[this.distributionStatus?.level?.level+1]?.threshold;return Math.floor(t-this.distributionStatus?.price)},async onFetchData(){this.loading=!0,await $.initialize(),Promise.all([this.onFetchDistributionStatus(),this.onFetchDistributionLevels(),this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onGenerateDistributionLink(){const a=`${window.location.origin}?inviter_id=${this.$store.getters.user.id}`;try{const f=(await O.create(a))?.data?.data?.url;this.distributionLink=(f||a).replace("surl.id","share.acedata.cloud")}catch{this.distributionLink=a}},async onFetchDistributionStatus(){const{data:t}=await $.getAll({user_id:this.$store.getters.user.id});t.items&&t.items.length>0&&(this.distributionStatus=t.items[0])},async onFetchDistributionLevels(){const{data:t}=await B.getAll({limit:20,user_id:this.$store.getters.user.id});this.distributionLevels=t.items},async onFetchInvitees(){const{data:t}=await F.getInvitees({});this.invitees=t.items,this.inviteesCount=t.count}}}),K={class:"title"},X={key:1},Z={class:"icon-wrapper"},x={class:"text-left"},tt={class:"description"},et={class:"value"},it={key:1},st={class:"icon-wrapper"},ot={class:"text-left"},nt={class:"description"},rt={class:"value"},at={key:1},lt={class:"icon-wrapper"},dt={class:"text-left"},ct={class:"description"},ut={class:"value"},pt={key:1},ht={class:"icon-wrapper"},mt={class:"text-left"},_t={class:"description"},bt={class:"value"},ft={key:1},vt={class:"title"},gt={class:"clear-both overflow-hidden"},kt={class:"float-left description"},wt={class:"float-right description"},yt={class:"description"},$t={class:"level"},Lt={class:"level"},St={class:"level"},Et={key:1},Ct={class:"title"},Dt={class:"link-wrapper text-center"},It=["href"],Ft={class:"qr-wrapper ml-auto mr-auto"},Tt={class:"mt-0"},Nt={class:"description"},Pt={class:"more"};function qt(t,a,f,Bt,Ot,Mt){const d=r("el-col"),_=r("el-row"),c=r("el-skeleton"),b=r("font-awesome-icon"),v=r("el-button"),u=r("el-card"),w=r("el-tooltip"),L=r("el-progress"),y=r("el-divider"),g=r("el-table-column"),S=r("el-table"),E=r("copy-to-clipboard"),C=r("qr-code");return n(),l(_,{class:"panel"},{default:o(()=>[i(d,{span:24},{default:o(()=>[i(_,null,{default:o(()=>[i(d,{span:24},{default:o(()=>[e("h2",K,s(t.$t("common.title.distribution")),1)]),_:1})]),_:1}),i(_,{gutter:15},{default:o(()=>[i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),l(c,{key:0})):(n(),p("div",X,[e("div",Z,[i(b,{icon:"fa-solid fa-wallet",class:"icon"})]),e("div",x,[e("p",tt,s(t.$t("distribution.title.price")),1),e("p",et,s(t.getPriceString({value:t.distributionStatus?.price})),1)]),i(v,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goHistory},{default:o(()=>[m(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),l(c,{key:0})):(n(),p("div",it,[e("div",st,[i(b,{icon:"fa-solid fa-coins",class:"icon"})]),e("div",ot,[e("p",nt,s(t.$t("distribution.title.reward")),1),e("p",rt,s(t.getPriceString({value:t.distributionStatus?.reward})),1)]),i(w,{effect:"dark",content:t.$t("distribution.message.developingWithDrawal"),placement:"top"},{default:o(()=>[i(v,{type:"primary",round:"",size:"small",class:"btn"},{default:o(()=>[m(s(t.$t("distribution.button.withdrawal")),1)]),_:1})]),_:1},8,["content"])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),l(c,{key:0})):(n(),p("div",at,[e("div",lt,[i(b,{icon:"fa-solid fa-percent",class:"icon"})]),e("div",dt,[e("p",ct,s(t.$t("distribution.title.percentage")),1),e("p",ut,s(t.distributionStatus?.level?.percentage)+"%",1)])]))]),_:1})]),_:1}),i(d,{md:6,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"item-mini mb-4"},{default:o(()=>[t.loading?(n(),l(c,{key:0})):(n(),p("div",pt,[e("div",ht,[i(b,{icon:"fa-regular fa-user",class:"icon"})]),e("div",mt,[e("p",_t,s(t.$t("distribution.title.inviteesCount")),1),e("p",bt,s(t.inviteesCount),1)]),i(v,{type:"primary",round:"",size:"small",class:"btn",onClick:t.goInvitees},{default:o(()=>[m(s(t.$t("distribution.button.detail")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1})]),_:1}),i(_,{gutter:15},{default:o(()=>[i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"level-info mb-4"},{default:o(()=>[t.loading?(n(),l(c,{key:0})):(n(),p("div",ft,[e("h4",vt,s(t.$t("distribution.title.levelInfo")),1),e("div",gt,[e("div",kt,[e("p",null,s(t.$t("distribution.title.currentLevel"))+": L"+s(t.distributionStatus?.level?.level),1),e("p",null,s(t.$t("distribution.title.currentPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level]?.percentage)+"% ",1)]),e("div",wt,[e("p",null,s(t.$t("distribution.title.nextLevel"))+": L"+s(t.distributionStatus?.level?.level+1),1),e("p",null,s(t.$t("distribution.title.nextPercentage"))+": "+s(t.distributionLevelMap[t.distributionStatus?.level?.level+1]?.percentage)+"% ",1)])]),i(L,{"text-inside":!0,"stroke-width":20,percentage:t.getPercentageForNextLevel(),class:"mb-2"},null,8,["percentage"]),e("p",yt,s(t.$t("distribution.message.deltaPriceForNextLevel"))+": $"+s(t.getDeltaForNextLevel()),1),i(y),t.distributionLevels?(n(),l(S,{key:0,data:t.distributionLevels,stripe:""},{default:o(()=>[i(g,{label:t.$t("distribution.field.level")},{default:o(h=>[e("span",$t,"L"+s(h.row?.level),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.threshold")},{default:o(h=>[e("span",Lt,"$"+s(h.row?.threshold),1)]),_:1},8,["label"]),i(g,{label:t.$t("distribution.field.percentage")},{default:o(h=>[e("span",St,s(h.row?.percentage)+"%",1)]),_:1},8,["label"])]),_:1},8,["data"])):k("",!0)]))]),_:1})]),_:1}),i(d,{md:12,xs:24},{default:o(()=>[i(u,{shadow:"hover",class:"distribution-info mb-4"},{default:o(()=>[t.loading?(n(),l(c,{key:0})):(n(),p("div",Et,[e("h4",Ct,s(t.$t("distribution.title.distributionLink")),1),i(y),e("div",Dt,[k("",!0),e("a",{href:t.distributionLink,class:"link"},s(t.distributionLink),9,It),i(E,{content:t.distributionLink},null,8,["content"])]),e("div",Ft,[t.distributionLink?(n(),l(C,{key:0,value:t.distributionLink,size:180,margin:2,class:"block mb-2 ml-auto mr-auto",type:"image/png",color:t.qrColor},null,8,["value","color"])):k("",!0),e("p",Tt,s(t.$t("distribution.message.distributionQrDescription")),1)]),e("p",Nt,[m(s(t.$t("distribution.message.distributionLinkDescription"))+" ",1),e("span",Pt,[i(w,{effect:"dark",content:t.$t("distribution.message.distributionLinkDescription2"),placement:"top"},{default:o(()=>[m(s(t.$t("distribution.message.technicalDetail")),1)]),_:1},8,["content"])])])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const _e=P(j,[["render",qt],["__scopeId","data-v-1ca0740d"]]);export{_e as default};
|