@acedatacloud/nexior 3.292.0 → 3.292.1
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/{ApiCodeButton-dtlnlJeD.js → ApiCodeButton-DOJSgOMJ.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-3Mc4cCJx.js → AskUserQuestionCard-D2-5fZBu.js} +1 -1
- package/dist/assets/{Auth-BJfSuDja.js → Auth-DHY6-jEM.js} +1 -1
- package/dist/assets/{Bare-BqIFxbY1.js → Bare-DnIRrirE.js} +1 -1
- package/dist/assets/{BotPlaceholder-Cb3oxcNj.js → BotPlaceholder-BarE4-94.js} +1 -1
- package/dist/assets/{BottomFooter-C0bnBABU.js → BottomFooter-yn-mJW49.js} +1 -1
- package/dist/assets/{Callback-BniljsJf.js → Callback-BYbIJu1Q.js} +1 -1
- package/dist/assets/{CodeSnippet-BX_bC1K5.js → CodeSnippet-DpxaAHNV.js} +1 -1
- package/dist/assets/{Console-BDW9sPDz.js → Console-Bh5tg9Cs.js} +1 -1
- package/dist/assets/{Consumption-BeCSi9Ah.js → Consumption-0KewgZSp.js} +1 -1
- package/dist/assets/{Conversation-BF3ipgX-.js → Conversation-cf4TE2hP.js} +2 -2
- package/dist/assets/{CopyToClipboard-CTZ6Mo2m.js → CopyToClipboard-DuklvOaG.js} +1 -1
- package/dist/assets/{Detail-CcCqTuIf.js → Detail-BlaC-vt4.js} +2 -2
- package/dist/assets/{Extra-cZ-u2Xrk.js → Extra-DTpx-oPp.js} +1 -1
- package/dist/assets/{FilePreview-CO7nMSUU.js → FilePreview-DW_wpsxe.js} +1 -1
- package/dist/assets/{Hailuo-gM67g7pV.js → Hailuo-Wwu4fIPq.js} +1 -1
- package/dist/assets/{History-CeOme-Gv.js → History-BOtUUSoI.js} +1 -1
- package/dist/assets/{ImagePreview-Bq8bSNZi.js → ImagePreview-DABcTzwB.js} +1 -1
- package/dist/assets/{ImageWrapper-CWlWGBvo.js → ImageWrapper-Dys_LEv-.js} +1 -1
- package/dist/assets/Index-5MlEbuWe.js +1 -0
- package/dist/assets/{Index-CzN_R-GS.js → Index-Au9MrnMA.js} +1 -1
- package/dist/assets/{Index-DtY_CJIw.js → Index-BJGvwknD.js} +1 -1
- package/dist/assets/{Index-DplpzmZU.js → Index-BJhU_yUp.js} +1 -1
- package/dist/assets/{Index-C_7nT4IX.js → Index-Bk4_UFGK.js} +1 -1
- package/dist/assets/Index-Bkkja5DN.js +1 -0
- package/dist/assets/Index-BlhZ5Uza.js +1 -0
- package/dist/assets/{Index-B2VxCdhV.js → Index-Bxgi8LCy.js} +1 -1
- package/dist/assets/{Index-CBcX1Xyn.js → Index-CAiDpIta.js} +1 -1
- package/dist/assets/Index-CXfxHffC.js +1 -0
- package/dist/assets/{Index-BtfTwY31.js → Index-CZiRcOGK.js} +1 -1
- package/dist/assets/{Index-BrUntT6e.js → Index-Cd7bLqGF.js} +1 -1
- package/dist/assets/{Index-C1WK_2wb.js → Index-ChwK0Q9Z.js} +1 -1
- package/dist/assets/{Index-C5x1sWT2.js → Index-CiXql66W.js} +1 -1
- package/dist/assets/{Index-DKGoEgy0.js → Index-CwmEQl_B.js} +2 -2
- package/dist/assets/{Index-SIiimvtW.js → Index-CxavD2kj.js} +1 -1
- package/dist/assets/{Index-lnZrne5l.js → Index-Cxp0av3b.js} +1 -1
- package/dist/assets/Index-D7Sn3z2L.js +1 -0
- package/dist/assets/Index-D99yz91F.js +1 -0
- package/dist/assets/{Index-D8PkWsFM.js → Index-DQN_I81r.js} +1 -1
- package/dist/assets/{Index-35v4tHvR.js → Index-DTNW5GXx.js} +1 -1
- package/dist/assets/{Index-Bwp5TOAm.js → Index-DXQ7kpqV.js} +1 -1
- package/dist/assets/{Index-nm1BRPrG.js → Index-DeiUN5mb.js} +1 -1
- package/dist/assets/{Index-DgLYZYLU.js → Index-DvZP5KWP.js} +1 -1
- package/dist/assets/{Index-zaDhkWLa.js → Index-DzE22sdA.js} +1 -1
- package/dist/assets/{Index-DgQPLziS.js → Index-Grla8R9X.js} +1 -1
- package/dist/assets/{Index-CQuYinhn.js → Index-OqXBWNfv.js} +1 -1
- package/dist/assets/{Index-GxXs3BX9.js → Index-Unk1ys-t.js} +1 -1
- package/dist/assets/{Invitees-BEps2g2L.js → Invitees-CYE_16--.js} +1 -1
- package/dist/assets/{List-DO8FxMvA.js → List-CoAUlq1n.js} +1 -1
- package/dist/assets/{List-shYlXH-9.js → List-CqxqIrMX.js} +1 -1
- package/dist/assets/{List-DBnjdpkV.js → List-RLekd7k0.js} +1 -1
- package/dist/assets/{LocalTools-DbeEhRUB.js → LocalTools-B6CeSr4U.js} +1 -1
- package/dist/assets/{LocalTools-Dj9RW_fw.js → LocalTools-DEcnmp_c.js} +1 -1
- package/dist/assets/{Main-B0HqTYPJ.js → Main-_N1PRiR1.js} +1 -1
- package/dist/assets/{Model-CW_Qetzx.js → Model-M68kSgsb.js} +1 -1
- package/dist/assets/{Navigator-CU3DvSK2.js → Navigator-BW5Qbu9O.js} +4 -4
- package/dist/assets/{Navigator-B7CyEa94.css → Navigator-CCjpZXOW.css} +1 -1
- package/dist/assets/{NoTasks-BZyGsSwG.js → NoTasks-CUL06U-1.js} +1 -1
- package/dist/assets/{NotFound-BCspt6Fd.js → NotFound-DGO7BvCH.js} +1 -1
- package/dist/assets/{Pagination-DnaCWRA8.js → Pagination-DhkBTqDA.js} +1 -1
- package/dist/assets/Pay-B3fPw5II.js +1 -0
- package/dist/assets/{Player-BhErJbR9.js → Player-C8HUHhI7.js} +1 -1
- package/dist/assets/{PromptTextarea--nEpXE0q.js → PromptTextarea-CUsOklcL.js} +1 -1
- package/dist/assets/{RealtimeCall-WHcRV0Bc.js → RealtimeCall-BuTnPxsf.js} +1 -1
- package/dist/assets/{ScheduledTasks-EY7yDy7n.js → ScheduledTasks-B8mur0H4.js} +2 -2
- package/dist/assets/{Status-c8OJubPG.js → Status-BVKTAwkN.js} +1 -1
- package/dist/assets/{Subscribe-CWk0x_c1.js → Subscribe-DwD0zaMH.js} +1 -1
- package/dist/assets/{TabSwitcher-BVPCtePQ.js → TabSwitcher-DB3uRgEW.js} +1 -1
- package/dist/assets/Tts-BNeha6gZ.js +1 -0
- package/dist/assets/{VideoPlayer-BfrdgzoM.js → VideoPlayer-CnYFSfHB.js} +1 -1
- package/dist/assets/{avatar-7dMpKNlo.js → avatar-_mHulyaw.js} +1 -1
- package/dist/assets/{basic-C-gFzN6M.js → basic-BKcSw72e.js} +1 -1
- package/dist/assets/{chat-DhRSOdJw.js → chat-BfWwjMcQ.js} +1 -1
- package/dist/assets/{codingBridge-Dt51aUxs.js → codingBridge-DaJ6T9zE.js} +1 -1
- package/dist/assets/{codingBridgeNotify-BI2e5GEJ.js → codingBridgeNotify-DcxWdHed.js} +2 -2
- package/dist/assets/{collapse-C76-gfpL.js → collapse-DayH2XNp.js} +1 -1
- package/dist/assets/{createTaskActions-DjTuLTUD.js → createTaskActions-BhXQyCWS.js} +1 -1
- package/dist/assets/{date-picker-C6i4Ail5.js → date-picker--I9gXvsL.js} +1 -1
- package/dist/assets/{digitalhuman-Ds6YcYmc.js → digitalhuman-DrDP5vSO.js} +1 -1
- package/dist/assets/{dropdown-Cu-FXjDd.js → dropdown-BxGB7qDj.js} +1 -1
- package/dist/assets/esm-5jqAL_qZ.js +1 -0
- package/dist/assets/{esm-BAW3Ih4l.js → esm-BB3EHDcj.js} +1 -1
- package/dist/assets/{esm-Bn9nYwfl.js → esm-B_nvZepk.js} +3 -3
- package/dist/assets/{esm-CjgzWACP.js → esm-C-RhC2XX.js} +2 -2
- package/dist/assets/{esm-BlIa4oGf.js → esm-C9BVID8D.js} +1 -1
- package/dist/assets/{esm-6Zn2PT4C.js → esm-Cs54upSK.js} +1 -1
- package/dist/assets/{esm-BJNQctSy.js → esm-DyteSJF9.js} +2 -2
- package/dist/assets/{fish-ZQEiJ__P.js → fish-BW2YhykJ.js} +1 -1
- package/dist/assets/{flux-CWLeD1pd.js → flux-CaoUqvov.js} +1 -1
- package/dist/assets/{grokvideo-9IWl2EEO.js → grokvideo-Bx63Z5PO.js} +1 -1
- package/dist/assets/{hailuo-DRgkK5kk.js → hailuo-C-MORf9a.js} +1 -1
- package/dist/assets/{headshots-3KJXnULe.js → headshots-BpJlK1YV.js} +1 -1
- package/dist/assets/image-BeR-MrNm.js +1 -0
- package/dist/assets/{index-Z1kRavm5.js → index-CPE4kPkO.js} +16 -16
- package/dist/assets/{index.browser.esm-DRtET0dt.js → index.browser.esm-Cv2-qRqv.js} +1 -1
- package/dist/assets/{index.es-CKXxm3Ib.js → index.es-6UeQCZVW.js} +1 -1
- package/dist/assets/{input-number-JZku1180.js → input-number-EkNQQVTT.js} +1 -1
- package/dist/assets/{kling-DDi7XZ_0.js → kling-DOyKfHbG.js} +1 -1
- package/dist/assets/{luma-Czxuee9m.js → luma-m8ER2Tl1.js} +1 -1
- package/dist/assets/{maestro-7tabbAgK.js → maestro-C4OtZPAq.js} +1 -1
- package/dist/assets/{midjourney-BntgulJa.js → midjourney-C9QOKL88.js} +1 -1
- package/dist/assets/{nanobanana-Cay-brc5.js → nanobanana-CmomRRO_.js} +1 -1
- package/dist/assets/{openaiimage-WxXEeab_.js → openaiimage-Bv18L9y1.js} +1 -1
- package/dist/assets/{pagination-Ds1aixpX.js → pagination-B-i1I1VL.js} +2 -2
- package/dist/assets/{pika-D4UNCnHW.js → pika-B325RyyJ.js} +1 -1
- package/dist/assets/{pixverse-DTbQc6WS.js → pixverse-CZYBkXG0.js} +1 -1
- package/dist/assets/{popover-BkH662_5.js → popover-PtJ87-dl.js} +1 -1
- package/dist/assets/{producer-VFT4xOp3.js → producer-CNqBhRKB.js} +1 -1
- package/dist/assets/{qrart-BZUxQhoQ.js → qrart-DGskVNMp.js} +1 -1
- package/dist/assets/{realtime-BJ_bXv41.js → realtime-S1hVbDsA.js} +1 -1
- package/dist/assets/{row-CwcHpwCz.js → row-Dg9J1OBO.js} +1 -1
- package/dist/assets/{seedance-Bns0jQNo.js → seedance-BpmvlKxM.js} +1 -1
- package/dist/assets/{seedream-CAusmgG9.js → seedream-Bd9TGPWH.js} +1 -1
- package/dist/assets/{select-CTQ_C6Wb.js → select-DrnAphJ3.js} +1 -1
- package/dist/assets/{serp-DhzcHT0l.js → serp-D1DAjcMg.js} +1 -1
- package/dist/assets/{slider-DEEcIb84.js → slider-wdlQl_WU.js} +1 -1
- package/dist/assets/{solana-wallets-CYT8o1sl.js → solana-wallets-DuAsUIT5.js} +2 -2
- package/dist/assets/{solana-wallets-vue-UQysDenU.js → solana-wallets-vue-GO9ZYpVF.js} +1 -1
- package/dist/assets/{sora-DFIHjXG1.js → sora-D2_9iez0.js} +1 -1
- package/dist/assets/{suno-mRL8qMuz.js → suno-DHzt_P51.js} +1 -1
- package/dist/assets/{switch-Bxj_py3N.js → switch-Bk8qUwKN.js} +1 -1
- package/dist/assets/{tabs-DgAW19Rf.js → tabs-CiRMVJun.js} +1 -1
- package/dist/assets/{time-picker-C82g5obL.js → time-picker-D_-7cmvU.js} +1 -1
- package/dist/assets/{upload-BRnXALUA.js → upload-bmvl4ER4.js} +1 -1
- package/dist/assets/{veo-Dypv5o-K.js → veo-Dhi1FU5V.js} +1 -1
- package/dist/assets/{wan-BosSN2Ic.js → wan-CeBRW2SN.js} +1 -1
- package/dist/assets/{web-BSyJ0EcA.js → web-BlCRsXwn.js} +1 -1
- package/dist/assets/{web-tvOZdhiP.js → web-Bx83bu3I.js} +1 -1
- package/dist/assets/{web-b8ifr9Yu.js → web-CVuh9RN-.js} +1 -1
- package/dist/assets/{web-BeZOBjRB.js → web-CZorDUVx.js} +1 -1
- package/dist/assets/{web-BSdOobMe.js → web-cHFFjqP-.js} +1 -1
- package/dist/assets/{webextrator-BY-mKbXu.js → webextrator-CZNmk51k.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/Index-D17Yt1Tu.js +0 -1
- package/dist/assets/Index-D1rg7Ah1.js +0 -1
- package/dist/assets/Index-DJenVZe2.js +0 -1
- package/dist/assets/Index-fJIdilWN.js +0 -1
- package/dist/assets/Index-lAFCil1d.js +0 -1
- package/dist/assets/Index-wyz2RKlP.js +0 -1
- package/dist/assets/Pay-BqExstsj.js +0 -1
- package/dist/assets/Tts-BazUMMLr.js +0 -1
- package/dist/assets/esm-DVxhi1et.js +0 -1
- package/dist/assets/image-ZpHwPPzf.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,M as i,N as a,O as o,P as s,S as c,Wt as l,Z as u,et as d,k as f,tt as p,ut as m}from"./vendor-chart-BJCvKk8-.js";import{t as h}from"./button-BydTr5nV.js";import{r as g,t as _}from"./select-CTQ_C6Wb.js";import{n as v,t as y}from"./collapse-C76-gfpL.js";import{t as b}from"./drawer-R6pcaap2.js";import"./constants-9Rd-ZRoh.js";import{D as x,Mr as S,Vt as C,Wr as w,Zr as T}from"./index-Z1kRavm5.js";import{t as E}from"./index.es-CKXxm3Ib.js";import{t as ee}from"./Consumption-BeCSi9Ah.js";var te=r({name:`LayoutSerp`,components:{ElDrawer:b,ElButton:h,FontAwesomeIcon:E},data(){return{drawer:!1}}}),D={class:`main flex flex-row flex-1`},O={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},k={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function A(e,r,i,a,o,c){let l=p(`font-awesome-icon`),f=p(`el-button`),h=p(`el-drawer`);return u(),t(`div`,D,[n(`div`,O,[d(e.$slots,`config`,{},void 0,!0)]),n(`div`,k,[d(e.$slots,`result`,{},void 0,!0)]),s(f,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:m(()=>[s(l,{icon:`fa-solid fa-search`})]),_:1}),s(h,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:m(()=>[d(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var j=x(te,[[`render`,A],[`__scopeId`,`data-v-72398911`]]),M=r({name:`QueryInput`,components:{ElInput:T},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),N={class:`field`},P={class:`box`},F={class:`title font-bold`};function I(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,N,[n(`div`,P,[n(`h2`,F,l(e.$t(`serp.name.query`)),1)]),s(d,{modelValue:e.query,"onUpdate:modelValue":r[0]||=t=>e.query=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var L=x(M,[[`render`,I],[`__scopeId`,`data-v-3582b195`]]),R=r({name:`TypeSelector`,components:{ElSelect:g,ElOption:_},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),z={class:`field`},B={class:`title font-bold`};function V(e,r,i,a,o,c){let d=p(`el-option`),f=p(`el-select`);return u(),t(`div`,z,[n(`h2`,B,l(e.$t(`serp.name.type`)),1),s(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},{default:m(()=>[s(d,{value:`search`,label:e.$t(`serp.type.search`)},null,8,[`label`]),s(d,{value:`images`,label:e.$t(`serp.type.images`)},null,8,[`label`]),s(d,{value:`news`,label:e.$t(`serp.type.news`)},null,8,[`label`]),s(d,{value:`videos`,label:e.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var H=x(R,[[`render`,V],[`__scopeId`,`data-v-2913fb62`]]),U=r({name:`CountryInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),W={class:`field`},G={class:`title font-bold`};function K(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,W,[n(`h2`,G,l(e.$t(`serp.name.country`)),1),s(d,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var q=x(U,[[`render`,K],[`__scopeId`,`data-v-f0672cc6`]]),J=r({name:`LanguageInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),Y={class:`field`},X={class:`title font-bold`};function Z(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,Y,[n(`h2`,X,l(e.$t(`serp.name.language`)),1),s(d,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var Q=r({name:`SearchPanel`,components:{ElButton:h,FontAwesomeIcon:E,QueryInput:L,TypeSelector:H,CountryInput:q,LanguageInput:x(J,[[`render`,Z],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:ee},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return C(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===S.Request}},methods:{onSearch(){this.$emit(`search`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`flex flex-col items-center justify-center px-5 pb-5`};function ae(e,r,i,o,c,d){let f=p(`query-input`),h=p(`type-selector`),g=p(`country-input`),_=p(`language-input`),v=p(`consumption`),y=p(`font-awesome-icon`),b=p(`el-button`);return u(),t(`div`,ne,[n(`div`,re,[s(f,{class:`mb-4`}),s(h,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`})]),n(`div`,ie,[s(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),s(b,{type:`primary`,class:`btn w-full`,round:``,loading:e.searching,onClick:e.onSearch},{default:m(()=>[s(y,{icon:`fa-solid fa-search`,class:`mr-2`}),a(` `+l(e.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var oe=x(Q,[[`render`,ae]]),se=r({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),ce={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},le={class:`flex flex-row gap-4`},ue=[`src`,`alt`],de={class:`flex-1 min-w-0`},fe={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},pe={class:`text-xl font-bold mb-1.5`},me={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},he=[`href`],ge={key:2,class:`text-sm`},_e={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ve={class:`text-[var(--el-text-color-regular)]`};function ye(r,i,o,s,d,p){return u(),t(`div`,ce,[n(`div`,le,[r.data.image_url?(u(),t(`img`,{key:0,src:r.data.image_url,alt:r.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,ue)):f(``,!0),n(`div`,de,[r.data.type?(u(),t(`div`,fe,l(r.data.type),1)):f(``,!0),n(`h3`,pe,l(r.data.title),1),r.data.description?(u(),t(`p`,me,[a(l(r.data.description)+` `,1),r.data.description_link?(u(),t(`a`,{key:0,href:r.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},l(r.data.description_source||`Source`),9,he)):f(``,!0)])):f(``,!0),r.data.attributes&&Object.keys(r.data.attributes).length?(u(),t(`div`,ge,[(u(!0),t(c,null,e(r.data.attributes,(e,r)=>(u(),t(`div`,{key:r,class:`flex gap-2 mb-1 py-0.5`},[n(`span`,_e,l(r)+`:`,1),n(`span`,ve,l(e),1)]))),128))])):f(``,!0)])])])}var be=x(se,[[`render`,ye]]),xe=r({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Se={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},Ce={key:0,class:`flex items-center gap-2 mb-1.5`},we=[`src`,`alt`],Te={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ee={class:`text-xs text-[var(--el-text-color-disabled)]`},De=[`href`],Oe={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},ke={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Ae={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},je=[`href`];function Me(r,i,a,o,s,d){return u(),t(`div`,Se,[r.displayUrl?(u(),t(`div`,Ce,[n(`img`,{src:r.faviconUrl,alt:r.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:i[0]||=(...e)=>r.onFaviconError&&r.onFaviconError(...e)},null,40,we),n(`span`,Te,l(r.hostname),1),n(`span`,Ee,l(r.pathname),1)])):f(``,!0),n(`a`,{href:r.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},l(r.data.title),9,De),r.data.date?(u(),t(`div`,Oe,l(r.data.date),1)):f(``,!0),r.data.snippet?(u(),t(`p`,ke,l(r.data.snippet),1)):f(``,!0),r.data.sitelinks?.length?(u(),t(`div`,Ae,[(u(!0),t(c,null,e(r.data.sitelinks,(e,n)=>(u(),t(`a`,{key:n,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},l(e.title),9,je))),128))])):f(``,!0)])}var Ne=x(xe,[[`render`,Me]]),Pe=r({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Fe={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Ie={class:`text-base font-bold mb-3`},Le={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},Re=[`href`],ze=[`src`,`alt`],Be={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ve={class:`text-xs text-white line-clamp-2`};function He(r,i,a,o,s,d){return u(),t(`div`,Fe,[n(`h3`,Ie,l(r.$t(`serp.name.imageResults`)),1),n(`div`,Le,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[e.image_url?(u(),t(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,ze)):f(``,!0),n(`div`,Be,[n(`span`,Ve,l(e.title),1)])],8,Re))),128))])])}var Ue=x(Pe,[[`render`,He]]),We=r({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ge={class:`text-base font-bold mb-3`},Ke={class:`space-y-4`},qe=[`href`],Je={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Ye=[`src`,`alt`],Xe={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},Ze={class:`flex-1 min-w-0`},Qe={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},$e={class:`text-xs text-gray-400 mt-1`},et={key:0},tt={key:1},nt={key:2},rt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function it(r,i,a,o,s,d){return u(),t(`div`,null,[n(`h3`,Ge,l(r.$t(`serp.name.videoResults`)),1),n(`div`,Ke,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,Je,[e.image_url?(u(),t(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Ye)):f(``,!0),e.duration?(u(),t(`div`,Xe,l(e.duration),1)):f(``,!0)]),n(`div`,Ze,[n(`div`,Qe,l(e.title),1),n(`div`,$e,[e.source?(u(),t(`span`,et,l(e.source),1)):f(``,!0),e.channel?(u(),t(`span`,tt,` · `+l(e.channel),1)):f(``,!0),e.date?(u(),t(`span`,nt,` · `+l(e.date),1)):f(``,!0)]),e.snippet?(u(),t(`p`,rt,l(e.snippet),1)):f(``,!0)])],8,qe))),128))])])}var at=x(We,[[`render`,it]]),ot=r({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),st={class:`text-base font-bold mb-3`},ct={class:`space-y-4`},lt=[`href`],ut={class:`flex-1 min-w-0`},dt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},ft={class:`text-xs text-gray-400 mt-1`},pt={key:0},mt={key:1},ht={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},gt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},_t=[`src`,`alt`];function vt(r,i,a,o,s,d){return u(),t(`div`,null,[n(`h3`,st,l(r.$t(`serp.name.newsResults`)),1),n(`div`,ct,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,ut,[n(`div`,dt,l(e.title),1),n(`div`,ft,[e.source?(u(),t(`span`,pt,l(e.source),1)):f(``,!0),e.date?(u(),t(`span`,mt,` · `+l(e.date),1)):f(``,!0)]),e.snippet?(u(),t(`p`,ht,l(e.snippet),1)):f(``,!0)]),e.image_url?(u(),t(`div`,gt,[n(`img`,{src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,_t)])):f(``,!0)],8,lt))),128))])])}var yt=x(ot,[[`render`,vt]]),bt=r({name:`PeopleAlsoAsk`,components:{ElCollapse:y,ElCollapseItem:v},props:{data:{type:Array,required:!0}}}),xt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},St={class:`text-base font-bold mb-3`},Ct={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},wt=[`href`];function Tt(r,i,a,d,h,g){let _=p(`el-collapse-item`),v=p(`el-collapse`);return u(),t(`div`,xt,[n(`h3`,St,l(r.$t(`serp.name.peopleAlsoAsk`)),1),s(v,null,{default:m(()=>[(u(!0),t(c,null,e(r.data,(e,n)=>(u(),o(_,{key:n,title:e.question||e.title||``},{default:m(()=>[e.snippet?(u(),t(`p`,Ct,l(e.snippet),1)):f(``,!0),e.link?(u(),t(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},l(e.title||e.link),9,wt)):f(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Et=x(bt,[[`render`,Tt]]),Dt=r({name:`RelatedSearches`,components:{FontAwesomeIcon:E},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Ot={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},kt={class:`text-base font-bold mb-3`},At={class:`flex flex-wrap gap-2`},jt=[`onClick`];function Mt(r,i,o,d,f,m){let h=p(`font-awesome-icon`);return u(),t(`div`,Ot,[n(`h3`,kt,l(r.$t(`serp.name.relatedSearches`)),1),n(`div`,At,[(u(!0),t(c,null,e(r.data,(e,n)=>(u(),t(`button`,{key:n,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:t=>r.onSearch(e.query)},[s(h,{icon:`fa-solid fa-magnifying-glass`,class:`text-xs opacity-50`}),a(` `+l(e.query),1)],8,jt))),128))])])}var Nt=r({name:`ResultPanel`,components:{FontAwesomeIcon:E,KnowledgeGraph:be,OrganicResult:Ne,ImageResults:Ue,VideoResults:at,NewsResults:yt,PeopleAlsoAsk:Et,RelatedSearches:x(Dt,[[`render`,Mt]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===S.Request},noResults(){return this.$store.state.serp?.status?.search===S.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),$={class:`h-full overflow-y-auto p-6`},Pt={key:0,class:`max-w-3xl mx-auto py-8`},Ft={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},It={class:`text-base`},Lt={key:2,class:`max-w-3xl mx-auto`},Rt={key:1,class:`mb-6`},zt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`};function Vt(r,a,d,m,h,g){let _=p(`font-awesome-icon`),v=p(`knowledge-graph`),y=p(`organic-result`),b=p(`image-results`),x=p(`video-results`),S=p(`news-results`),C=p(`people-also-ask`),w=p(`related-searches`);return u(),t(`div`,$,[r.searching?(u(),t(`div`,Pt,[(u(),t(c,null,e(4,e=>n(`div`,{key:e,class:`mb-6 animate-pulse`},[...a[0]||=[i(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):r.noResults?(u(),t(`div`,Ft,[s(_,{icon:`fa-solid fa-face-meh`,class:`text-5xl mb-4 opacity-40`}),n(`p`,It,l(r.$t(`serp.message.noResults`)),1)])):r.results?(u(),t(`div`,Lt,[r.results.knowledge_graph?.title?(u(),o(v,{key:0,data:r.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.organic?.length?(u(),t(`div`,Rt,[(u(!0),t(c,null,e(r.results.organic,(e,t)=>(u(),o(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):f(``,!0),r.results.images?.length?(u(),o(b,{key:2,data:r.results.images,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.videos?.length?(u(),o(x,{key:3,data:r.results.videos,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.news?.length?(u(),o(S,{key:4,data:r.results.news,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.people_also_ask?.length?(u(),o(C,{key:5,data:r.results.people_also_ask,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.related_searches?.length?(u(),o(w,{key:6,data:r.results.related_searches,class:`mb-6`,onSearch:r.onRelatedSearch},null,8,[`data`,`onSearch`])):f(``,!0)])):(u(),t(`div`,zt,[s(_,{icon:`fa-solid fa-globe`,class:`text-5xl mb-4 opacity-30`}),n(`p`,Bt,l(r.$t(`serp.description.query`)),1)]))])}var Ht=r({name:`SerpIndex`,components:{Layout:j,SearchPanel:oe,ResultPanel:x(Nt,[[`render`,Vt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(this.$store.state.serp?.config?.query){w.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),w.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?w.error(this.$t(`serp.message.usedUp`)):w.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function Ut(e,t,n,r,i,a){let c=p(`search-panel`),l=p(`result-panel`),d=p(`layout`);return u(),o(d,null,{config:m(()=>[s(c,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:m(()=>[s(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Wt=x(Ht,[[`render`,Ut]]);export{Wt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,M as i,N as a,O as o,P as s,S as c,Wt as l,Z as u,et as d,k as f,tt as p,ut as m}from"./vendor-chart-BJCvKk8-.js";import{t as h}from"./button-BydTr5nV.js";import{r as g,t as _}from"./select-DrnAphJ3.js";import{n as v,t as y}from"./collapse-DayH2XNp.js";import{t as b}from"./drawer-R6pcaap2.js";import"./constants-9Rd-ZRoh.js";import{D as x,Gr as S,Mr as C,Qr as w,Vt as ee}from"./index-CPE4kPkO.js";import{t as T}from"./index.es-6UeQCZVW.js";import{t as te}from"./Consumption-0KewgZSp.js";var E=r({name:`LayoutSerp`,components:{ElDrawer:b,ElButton:h,FontAwesomeIcon:T},data(){return{drawer:!1}}}),D={class:`main flex flex-row flex-1`},O={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},k={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function A(e,r,i,a,o,c){let l=p(`font-awesome-icon`),f=p(`el-button`),h=p(`el-drawer`);return u(),t(`div`,D,[n(`div`,O,[d(e.$slots,`config`,{},void 0,!0)]),n(`div`,k,[d(e.$slots,`result`,{},void 0,!0)]),s(f,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:m(()=>[s(l,{icon:`fa-solid fa-search`})]),_:1}),s(h,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:m(()=>[d(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var j=x(E,[[`render`,A],[`__scopeId`,`data-v-72398911`]]),M=r({name:`QueryInput`,components:{ElInput:w},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),N={class:`field`},P={class:`box`},F={class:`title font-bold`};function I(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,N,[n(`div`,P,[n(`h2`,F,l(e.$t(`serp.name.query`)),1)]),s(d,{modelValue:e.query,"onUpdate:modelValue":r[0]||=t=>e.query=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var L=x(M,[[`render`,I],[`__scopeId`,`data-v-3582b195`]]),R=r({name:`TypeSelector`,components:{ElSelect:g,ElOption:_},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),z={class:`field`},B={class:`title font-bold`};function V(e,r,i,a,o,c){let d=p(`el-option`),f=p(`el-select`);return u(),t(`div`,z,[n(`h2`,B,l(e.$t(`serp.name.type`)),1),s(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},{default:m(()=>[s(d,{value:`search`,label:e.$t(`serp.type.search`)},null,8,[`label`]),s(d,{value:`images`,label:e.$t(`serp.type.images`)},null,8,[`label`]),s(d,{value:`news`,label:e.$t(`serp.type.news`)},null,8,[`label`]),s(d,{value:`videos`,label:e.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var H=x(R,[[`render`,V],[`__scopeId`,`data-v-2913fb62`]]),U=r({name:`CountryInput`,components:{ElInput:w},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),W={class:`field`},G={class:`title font-bold`};function K(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,W,[n(`h2`,G,l(e.$t(`serp.name.country`)),1),s(d,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var q=x(U,[[`render`,K],[`__scopeId`,`data-v-f0672cc6`]]),J=r({name:`LanguageInput`,components:{ElInput:w},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),Y={class:`field`},X={class:`title font-bold`};function Z(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,Y,[n(`h2`,X,l(e.$t(`serp.name.language`)),1),s(d,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var Q=r({name:`SearchPanel`,components:{ElButton:h,FontAwesomeIcon:T,QueryInput:L,TypeSelector:H,CountryInput:q,LanguageInput:x(J,[[`render`,Z],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:te},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===C.Request}},methods:{onSearch(){this.$emit(`search`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`flex flex-col items-center justify-center px-5 pb-5`};function ae(e,r,i,o,c,d){let f=p(`query-input`),h=p(`type-selector`),g=p(`country-input`),_=p(`language-input`),v=p(`consumption`),y=p(`font-awesome-icon`),b=p(`el-button`);return u(),t(`div`,ne,[n(`div`,re,[s(f,{class:`mb-4`}),s(h,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`})]),n(`div`,ie,[s(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),s(b,{type:`primary`,class:`btn w-full`,round:``,loading:e.searching,onClick:e.onSearch},{default:m(()=>[s(y,{icon:`fa-solid fa-search`,class:`mr-2`}),a(` `+l(e.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var oe=x(Q,[[`render`,ae]]),se=r({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),ce={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},le={class:`flex flex-row gap-4`},ue=[`src`,`alt`],de={class:`flex-1 min-w-0`},fe={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},pe={class:`text-xl font-bold mb-1.5`},me={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},he=[`href`],ge={key:2,class:`text-sm`},_e={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ve={class:`text-[var(--el-text-color-regular)]`};function ye(r,i,o,s,d,p){return u(),t(`div`,ce,[n(`div`,le,[r.data.image_url?(u(),t(`img`,{key:0,src:r.data.image_url,alt:r.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,ue)):f(``,!0),n(`div`,de,[r.data.type?(u(),t(`div`,fe,l(r.data.type),1)):f(``,!0),n(`h3`,pe,l(r.data.title),1),r.data.description?(u(),t(`p`,me,[a(l(r.data.description)+` `,1),r.data.description_link?(u(),t(`a`,{key:0,href:r.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},l(r.data.description_source||`Source`),9,he)):f(``,!0)])):f(``,!0),r.data.attributes&&Object.keys(r.data.attributes).length?(u(),t(`div`,ge,[(u(!0),t(c,null,e(r.data.attributes,(e,r)=>(u(),t(`div`,{key:r,class:`flex gap-2 mb-1 py-0.5`},[n(`span`,_e,l(r)+`:`,1),n(`span`,ve,l(e),1)]))),128))])):f(``,!0)])])])}var be=x(se,[[`render`,ye]]),xe=r({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Se={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},Ce={key:0,class:`flex items-center gap-2 mb-1.5`},we=[`src`,`alt`],Te={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ee={class:`text-xs text-[var(--el-text-color-disabled)]`},De=[`href`],Oe={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},ke={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Ae={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},je=[`href`];function Me(r,i,a,o,s,d){return u(),t(`div`,Se,[r.displayUrl?(u(),t(`div`,Ce,[n(`img`,{src:r.faviconUrl,alt:r.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:i[0]||=(...e)=>r.onFaviconError&&r.onFaviconError(...e)},null,40,we),n(`span`,Te,l(r.hostname),1),n(`span`,Ee,l(r.pathname),1)])):f(``,!0),n(`a`,{href:r.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},l(r.data.title),9,De),r.data.date?(u(),t(`div`,Oe,l(r.data.date),1)):f(``,!0),r.data.snippet?(u(),t(`p`,ke,l(r.data.snippet),1)):f(``,!0),r.data.sitelinks?.length?(u(),t(`div`,Ae,[(u(!0),t(c,null,e(r.data.sitelinks,(e,n)=>(u(),t(`a`,{key:n,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},l(e.title),9,je))),128))])):f(``,!0)])}var Ne=x(xe,[[`render`,Me]]),Pe=r({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Fe={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Ie={class:`text-base font-bold mb-3`},Le={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},Re=[`href`],ze=[`src`,`alt`],Be={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ve={class:`text-xs text-white line-clamp-2`};function He(r,i,a,o,s,d){return u(),t(`div`,Fe,[n(`h3`,Ie,l(r.$t(`serp.name.imageResults`)),1),n(`div`,Le,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[e.image_url?(u(),t(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,ze)):f(``,!0),n(`div`,Be,[n(`span`,Ve,l(e.title),1)])],8,Re))),128))])])}var Ue=x(Pe,[[`render`,He]]),We=r({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ge={class:`text-base font-bold mb-3`},Ke={class:`space-y-4`},qe=[`href`],Je={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Ye=[`src`,`alt`],Xe={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},Ze={class:`flex-1 min-w-0`},Qe={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},$e={class:`text-xs text-gray-400 mt-1`},et={key:0},tt={key:1},nt={key:2},rt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function it(r,i,a,o,s,d){return u(),t(`div`,null,[n(`h3`,Ge,l(r.$t(`serp.name.videoResults`)),1),n(`div`,Ke,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,Je,[e.image_url?(u(),t(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Ye)):f(``,!0),e.duration?(u(),t(`div`,Xe,l(e.duration),1)):f(``,!0)]),n(`div`,Ze,[n(`div`,Qe,l(e.title),1),n(`div`,$e,[e.source?(u(),t(`span`,et,l(e.source),1)):f(``,!0),e.channel?(u(),t(`span`,tt,` · `+l(e.channel),1)):f(``,!0),e.date?(u(),t(`span`,nt,` · `+l(e.date),1)):f(``,!0)]),e.snippet?(u(),t(`p`,rt,l(e.snippet),1)):f(``,!0)])],8,qe))),128))])])}var at=x(We,[[`render`,it]]),ot=r({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),st={class:`text-base font-bold mb-3`},ct={class:`space-y-4`},lt=[`href`],ut={class:`flex-1 min-w-0`},dt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},ft={class:`text-xs text-gray-400 mt-1`},pt={key:0},mt={key:1},ht={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},gt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},_t=[`src`,`alt`];function vt(r,i,a,o,s,d){return u(),t(`div`,null,[n(`h3`,st,l(r.$t(`serp.name.newsResults`)),1),n(`div`,ct,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,ut,[n(`div`,dt,l(e.title),1),n(`div`,ft,[e.source?(u(),t(`span`,pt,l(e.source),1)):f(``,!0),e.date?(u(),t(`span`,mt,` · `+l(e.date),1)):f(``,!0)]),e.snippet?(u(),t(`p`,ht,l(e.snippet),1)):f(``,!0)]),e.image_url?(u(),t(`div`,gt,[n(`img`,{src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,_t)])):f(``,!0)],8,lt))),128))])])}var yt=x(ot,[[`render`,vt]]),bt=r({name:`PeopleAlsoAsk`,components:{ElCollapse:y,ElCollapseItem:v},props:{data:{type:Array,required:!0}}}),xt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},St={class:`text-base font-bold mb-3`},Ct={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},wt=[`href`];function Tt(r,i,a,d,h,g){let _=p(`el-collapse-item`),v=p(`el-collapse`);return u(),t(`div`,xt,[n(`h3`,St,l(r.$t(`serp.name.peopleAlsoAsk`)),1),s(v,null,{default:m(()=>[(u(!0),t(c,null,e(r.data,(e,n)=>(u(),o(_,{key:n,title:e.question||e.title||``},{default:m(()=>[e.snippet?(u(),t(`p`,Ct,l(e.snippet),1)):f(``,!0),e.link?(u(),t(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},l(e.title||e.link),9,wt)):f(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Et=x(bt,[[`render`,Tt]]),Dt=r({name:`RelatedSearches`,components:{FontAwesomeIcon:T},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Ot={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},kt={class:`text-base font-bold mb-3`},At={class:`flex flex-wrap gap-2`},jt=[`onClick`];function Mt(r,i,o,d,f,m){let h=p(`font-awesome-icon`);return u(),t(`div`,Ot,[n(`h3`,kt,l(r.$t(`serp.name.relatedSearches`)),1),n(`div`,At,[(u(!0),t(c,null,e(r.data,(e,n)=>(u(),t(`button`,{key:n,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:t=>r.onSearch(e.query)},[s(h,{icon:`fa-solid fa-magnifying-glass`,class:`text-xs opacity-50`}),a(` `+l(e.query),1)],8,jt))),128))])])}var Nt=r({name:`ResultPanel`,components:{FontAwesomeIcon:T,KnowledgeGraph:be,OrganicResult:Ne,ImageResults:Ue,VideoResults:at,NewsResults:yt,PeopleAlsoAsk:Et,RelatedSearches:x(Dt,[[`render`,Mt]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===C.Request},noResults(){return this.$store.state.serp?.status?.search===C.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),$={class:`h-full overflow-y-auto p-6`},Pt={key:0,class:`max-w-3xl mx-auto py-8`},Ft={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},It={class:`text-base`},Lt={key:2,class:`max-w-3xl mx-auto`},Rt={key:1,class:`mb-6`},zt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`};function Vt(r,a,d,m,h,g){let _=p(`font-awesome-icon`),v=p(`knowledge-graph`),y=p(`organic-result`),b=p(`image-results`),x=p(`video-results`),S=p(`news-results`),C=p(`people-also-ask`),w=p(`related-searches`);return u(),t(`div`,$,[r.searching?(u(),t(`div`,Pt,[(u(),t(c,null,e(4,e=>n(`div`,{key:e,class:`mb-6 animate-pulse`},[...a[0]||=[i(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):r.noResults?(u(),t(`div`,Ft,[s(_,{icon:`fa-solid fa-face-meh`,class:`text-5xl mb-4 opacity-40`}),n(`p`,It,l(r.$t(`serp.message.noResults`)),1)])):r.results?(u(),t(`div`,Lt,[r.results.knowledge_graph?.title?(u(),o(v,{key:0,data:r.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.organic?.length?(u(),t(`div`,Rt,[(u(!0),t(c,null,e(r.results.organic,(e,t)=>(u(),o(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):f(``,!0),r.results.images?.length?(u(),o(b,{key:2,data:r.results.images,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.videos?.length?(u(),o(x,{key:3,data:r.results.videos,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.news?.length?(u(),o(S,{key:4,data:r.results.news,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.people_also_ask?.length?(u(),o(C,{key:5,data:r.results.people_also_ask,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.related_searches?.length?(u(),o(w,{key:6,data:r.results.related_searches,class:`mb-6`,onSearch:r.onRelatedSearch},null,8,[`data`,`onSearch`])):f(``,!0)])):(u(),t(`div`,zt,[s(_,{icon:`fa-solid fa-globe`,class:`text-5xl mb-4 opacity-30`}),n(`p`,Bt,l(r.$t(`serp.description.query`)),1)]))])}var Ht=r({name:`SerpIndex`,components:{Layout:j,SearchPanel:oe,ResultPanel:x(Nt,[[`render`,Vt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(this.$store.state.serp?.config?.query){S.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),S.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?S.error(this.$t(`serp.message.usedUp`)):S.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function Ut(e,t,n,r,i,a){let c=p(`search-panel`),l=p(`result-panel`),d=p(`layout`);return u(),o(d,null,{config:m(()=>[s(c,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:m(()=>[s(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Wt=x(Ht,[[`render`,Ut]]);export{Wt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{t as y}from"./upload-BRnXALUA.js";import{t as b}from"./tooltip-BxeH2Vts.js";import{t as x}from"./image-ZpHwPPzf.js";import{t as S}from"./alert-CuX4SjQB.js";import{t as C}from"./drawer-R6pcaap2.js";import{t as w}from"./switch-Bxj_py3N.js";import"./constants-9Rd-ZRoh.js";import{D as T,En as E,Fr as D,It as O,Kn as k,Lt as A,Mr as j,Rt as ee,Vt as M,Wr as N,zt as P}from"./index-Z1kRavm5.js";import{t as F}from"./index.es-CKXxm3Ib.js";import{t as te}from"./CopyToClipboard-CTZ6Mo2m.js";import{t as I}from"./FilePreview-CO7nMSUU.js";import{t as L}from"./ImagePreview-Bq8bSNZi.js";import{n as R}from"./taskDrawerMixin-DEgO_R5H.js";import{t as z}from"./Consumption-BeCSi9Ah.js";import{i as B,n as V,t as H}from"./pagination-Ds1aixpX.js";import{t as U}from"./VideoPlayer-BfrdgzoM.js";import{t as W}from"./ApiCodeButton-dtlnlJeD.js";import{t as G}from"./BotPlaceholder-Cb3oxcNj.js";import{t as K}from"./NoTasks-BZyGsSwG.js";import{t as q}from"./PromptTextarea--nEpXE0q.js";var J=r({name:`LayoutLuma`,components:{ElDrawer:C,ElButton:v,FontAwesomeIcon:F},mixins:[R]}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,Y,[n(`div`,X,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,Z,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=T(J,[[`render`,Q],[`__scopeId`,`data-v-da4bcd3a`]]),re=r({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:B},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=!0)}}),ie={class:`relative`},ae={class:`flex justify-between`},oe={class:`flex justify-start items-center`},se={class:`text-sm font-bold`},ce={class:`flex justify-end items-center`};function le(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,ie,[n(`div`,ae,[n(`div`,oe,[n(`span`,se,l(e.$t(`luma.name.enhancement`)),1),o(d,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),n(`div`,ce,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ue=T(re,[[`render`,le]]),de=r({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:B},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=!1)}}),fe={class:`relative`},pe={class:`flex justify-between`},me={class:`flex justify-start items-center`},he={class:`text-sm font-bold`},ge={class:`flex justify-end items-center`};function _e(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,fe,[n(`div`,pe,[n(`div`,me,[n(`span`,he,l(e.$t(`luma.name.custom`)),1),o(d,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),n(`div`,ge,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ve=T(de,[[`render`,_e]]),ye=r({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:B},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=!1)}}),be={class:`relative`},xe={class:`flex justify-between`},Se={class:`flex justify-start items-center`},Ce={class:`text-sm font-bold`},we={class:`flex justify-end items-center`};function Te(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,be,[n(`div`,xe,[n(`div`,Se,[n(`span`,Ce,l(e.$t(`luma.name.loop`)),1),o(d,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),n(`div`,we,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var Ee=T(ye,[[`render`,Te]]),De=r({name:`EndImage`,components:{ElUpload:y,ElButton:v,ImagePreview:L,InfoIcon:B,FontAwesomeIcon:F},mixins:[P,A],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){N.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){N.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let 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`},ke={class:`flex justify-between`},Ae={class:`flex justify-start items-center`},je={class:`text-sm font-bold`};function Me(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Oe,[n(`div`,ke,[n(`div`,Ae,[n(`span`,je,l(e.$t(`luma.name.endImageUrl`)),1),o(p,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,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:g(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ne=T(De,[[`render`,Me],[`__scopeId`,`data-v-cd768b26`]]),Pe=r({name:`StartImage`,components:{ElUpload:y,ElButton:v,ImagePreview:L,InfoIcon:B,FontAwesomeIcon:F},mixins:[P,A],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){N.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){N.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Fe,[n(`div`,Ie,[n(`div`,Le,[n(`span`,Re,l(e.$t(`luma.name.startImageUrl`)),1),o(p,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,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:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Be=T(Pe,[[`render`,ze],[`__scopeId`,`data-v-4d03e978`]]),Ve=r({name:`UploadVideo`,components:{ElUpload:y,ElButton:v,InfoIcon:B,FilePreview:I,FontAwesomeIcon:F},mixins:[A],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){N.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){N.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(N.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(N.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),He={class:`relative`},Ue={class:`flex justify-between`},We={class:`flex justify-start items-center`},Ge={class:`text-sm font-bold`};function Ke(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,He,[n(`div`,Ue,[n(`div`,We,[n(`span`,Ge,l(e.$t(`luma.name.videoUrl`)),1),o(p,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,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:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var qe=T(Ve,[[`render`,Ke],[`__scopeId`,`data-v-b4c637fa`]]),Je=r({name:`PromptInput`,components:{PromptTextarea:q},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ye(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Xe=T(Je,[[`render`,Ye]]),Ze=r({name:`ExtendFromInput`,components:{VideoPlayer:U},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),Qe={class:`relative`},$e={class:`flex mb-2`},et={class:`text-sm font-bold`};function tt(e,r,i,o,s,c){let d=h(`video-player`);return u(),t(`div`,Qe,[n(`div`,$e,[n(`span`,et,l(e.$t(`luma.name.extend`)),1)]),n(`div`,null,[e.config?.video_url?(u(),a(d,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var nt=r({name:`ConfigPanel`,components:{LoopSelector:Ee,StartImageInput:Be,EndImageInput:Ne,EnhancementSelector:ue,ElButton:v,FontAwesomeIcon:F,PromptInput:Xe,ExtendFromInput:T(Ze,[[`render`,tt]]),CustomSelector:ve,UploadVideo:qe,Consumption:z},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,r,s,c,d,f){let p=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return u(),t(`div`,rt,[n(`div`,it,[e.config?.video_id||e.config?.video_url?(u(),a(p,{key:0,class:`mb-4`})):m(``,!0),o(_,{class:`mb-4`}),e.config?.video_id?m(``,!0):(u(),a(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),a(y,{key:2,class:`mb-4`})):m(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),a(b,{key:3,class:`mb-4`})):m(``,!0),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`})]),n(`div`,at,[o(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var st=T(nt,[[`render`,ot]]),ct=r({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:te,FontAwesomeIcon:F,ElAlert:S,VideoPlayer:U,ElTooltip:b,ElButton:v,ApiCodeButton:W},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,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:c({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:c({operations:!0,"mt-2":!0,"mb-4":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ct={key:1,class:c({content:!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Dt={key:2,class:c({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function kt(e,r,a,s,c,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return u(),t(`div`,lt,[n(`div`,ut,[o(p,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),n(`div`,dt,[n(`div`,ft,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),n(`span`,pt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,mt,[e.modelValue?.request?.prompt?(u(),t(`p`,ht,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(u(),t(`span`,gt,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`span`,_t,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,vt,[e.modelValue.response.video_url?(u(),t(`div`,yt,[o(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),t(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=d(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=d(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,xt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,St,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),t(`div`,Ct,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,wt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,Et,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,$,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`div`,Dt,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,Ot,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var At=r({name:`RecentPanel`,components:{BotPlaceholder:G,TaskPreview:T(ct,[[`render`,kt],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:K,ScrollList:V},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?.()}}}),jt={key:0},Mt={key:2,class:`w-full h-full flex items-center justify-center`};function Nt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,jt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[1]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e,onExtend:r[0]||=e=>n.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Mt,[o(v)])):m(``,!0)],64)}var Pt=r({name:`LumaIndex`,components:{ConfigPanel:st,Layout:ne,RecentPanel:T(At,[[`render`,Nt]])},mixins:[ee],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===j.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,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 H({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();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!O(this.uploadTracker,e=>this.$t(e),e=>N.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){N.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t=this.credential?.token;if(!t){console.error(`no token specified`);return}N.info(this.$t(`luma.message.startingTask`)),k(`luma`,E.generate(e,{token:t})).then(()=>{N.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?N.error(this.$t(`luma.message.usedUp`)):N.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Ft(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var It=T(Pt,[[`render`,Ft]]);export{It as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{t as y}from"./upload-bmvl4ER4.js";import{t as b}from"./tooltip-BxeH2Vts.js";import{t as x}from"./image-BeR-MrNm.js";import{t as S}from"./alert-CuX4SjQB.js";import{t as C}from"./drawer-R6pcaap2.js";import{t as w}from"./switch-Bk8qUwKN.js";import"./constants-9Rd-ZRoh.js";import{D as T,En as E,Fr as D,Gr as O,It as k,Kn as ee,Lt as A,Mr as j,Rt as M,Vt as N,zt as P}from"./index-CPE4kPkO.js";import{t as F}from"./index.es-6UeQCZVW.js";import{t as te}from"./CopyToClipboard-DuklvOaG.js";import{t as I}from"./FilePreview-DW_wpsxe.js";import{t as L}from"./ImagePreview-DABcTzwB.js";import{n as R}from"./taskDrawerMixin-DEgO_R5H.js";import{t as z}from"./Consumption-0KewgZSp.js";import{i as B,n as V,t as H}from"./pagination-B-i1I1VL.js";import{t as U}from"./VideoPlayer-CnYFSfHB.js";import{t as W}from"./ApiCodeButton-DOJSgOMJ.js";import{t as G}from"./BotPlaceholder-BarE4-94.js";import{t as K}from"./NoTasks-CUL06U-1.js";import{t as q}from"./PromptTextarea-CUsOklcL.js";var J=r({name:`LayoutLuma`,components:{ElDrawer:C,ElButton:v,FontAwesomeIcon:F},mixins:[R]}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,Y,[n(`div`,X,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,Z,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=T(J,[[`render`,Q],[`__scopeId`,`data-v-da4bcd3a`]]),re=r({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:B},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=!0)}}),ie={class:`relative`},ae={class:`flex justify-between`},oe={class:`flex justify-start items-center`},se={class:`text-sm font-bold`},ce={class:`flex justify-end items-center`};function le(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,ie,[n(`div`,ae,[n(`div`,oe,[n(`span`,se,l(e.$t(`luma.name.enhancement`)),1),o(d,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),n(`div`,ce,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ue=T(re,[[`render`,le]]),de=r({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:B},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=!1)}}),fe={class:`relative`},pe={class:`flex justify-between`},me={class:`flex justify-start items-center`},he={class:`text-sm font-bold`},ge={class:`flex justify-end items-center`};function _e(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,fe,[n(`div`,pe,[n(`div`,me,[n(`span`,he,l(e.$t(`luma.name.custom`)),1),o(d,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),n(`div`,ge,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ve=T(de,[[`render`,_e]]),ye=r({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:B},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=!1)}}),be={class:`relative`},xe={class:`flex justify-between`},Se={class:`flex justify-start items-center`},Ce={class:`text-sm font-bold`},we={class:`flex justify-end items-center`};function Te(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,be,[n(`div`,xe,[n(`div`,Se,[n(`span`,Ce,l(e.$t(`luma.name.loop`)),1),o(d,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),n(`div`,we,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var Ee=T(ye,[[`render`,Te]]),De=r({name:`EndImage`,components:{ElUpload:y,ElButton:v,ImagePreview:L,InfoIcon:B,FontAwesomeIcon:F},mixins:[P,A],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){O.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){O.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let 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`},ke={class:`flex justify-between`},Ae={class:`flex justify-start items-center`},je={class:`text-sm font-bold`};function Me(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Oe,[n(`div`,ke,[n(`div`,Ae,[n(`span`,je,l(e.$t(`luma.name.endImageUrl`)),1),o(p,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,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:g(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ne=T(De,[[`render`,Me],[`__scopeId`,`data-v-cd768b26`]]),Pe=r({name:`StartImage`,components:{ElUpload:y,ElButton:v,ImagePreview:L,InfoIcon:B,FontAwesomeIcon:F},mixins:[P,A],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){O.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){O.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Fe,[n(`div`,Ie,[n(`div`,Le,[n(`span`,Re,l(e.$t(`luma.name.startImageUrl`)),1),o(p,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,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:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Be=T(Pe,[[`render`,ze],[`__scopeId`,`data-v-4d03e978`]]),Ve=r({name:`UploadVideo`,components:{ElUpload:y,ElButton:v,InfoIcon:B,FilePreview:I,FontAwesomeIcon:F},mixins:[A],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){O.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){O.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(O.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(O.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),He={class:`relative`},Ue={class:`flex justify-between`},We={class:`flex justify-start items-center`},Ge={class:`text-sm font-bold`};function Ke(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,He,[n(`div`,Ue,[n(`div`,We,[n(`span`,Ge,l(e.$t(`luma.name.videoUrl`)),1),o(p,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,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:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var qe=T(Ve,[[`render`,Ke],[`__scopeId`,`data-v-b4c637fa`]]),Je=r({name:`PromptInput`,components:{PromptTextarea:q},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ye(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Xe=T(Je,[[`render`,Ye]]),Ze=r({name:`ExtendFromInput`,components:{VideoPlayer:U},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),Qe={class:`relative`},$e={class:`flex mb-2`},et={class:`text-sm font-bold`};function tt(e,r,i,o,s,c){let d=h(`video-player`);return u(),t(`div`,Qe,[n(`div`,$e,[n(`span`,et,l(e.$t(`luma.name.extend`)),1)]),n(`div`,null,[e.config?.video_url?(u(),a(d,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var nt=r({name:`ConfigPanel`,components:{LoopSelector:Ee,StartImageInput:Be,EndImageInput:Ne,EnhancementSelector:ue,ElButton:v,FontAwesomeIcon:F,PromptInput:Xe,ExtendFromInput:T(Ze,[[`render`,tt]]),CustomSelector:ve,UploadVideo:qe,Consumption:z},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return N(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),rt={class:`flex flex-col h-full`},it={class:`flex-1 overflow-y-auto p-5`},at={class:`flex flex-col items-center justify-center px-5 pb-5`};function ot(e,r,s,c,d,f){let p=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return u(),t(`div`,rt,[n(`div`,it,[e.config?.video_id||e.config?.video_url?(u(),a(p,{key:0,class:`mb-4`})):m(``,!0),o(_,{class:`mb-4`}),e.config?.video_id?m(``,!0):(u(),a(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),a(y,{key:2,class:`mb-4`})):m(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),a(b,{key:3,class:`mb-4`})):m(``,!0),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`})]),n(`div`,at,[o(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var st=T(nt,[[`render`,ot]]),ct=r({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:te,FontAwesomeIcon:F,ElAlert:S,VideoPlayer:U,ElTooltip:b,ElButton:v,ApiCodeButton:W},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,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),lt={class:`preview`},ut={class:`left`},dt={class:`main`},ft={class:`bot`},pt={class:`datetime`},mt={class:`info`},ht={key:0,class:`prompt mt-2`},gt={key:0},_t={key:1},vt={key:0,class:c({content:!0,failed:!0})},yt={key:0,class:`mb-4`},bt={key:1,class:c({operations:!0,"mt-2":!0,"mb-4":!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ct={key:1,class:c({content:!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Dt={key:2,class:c({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function kt(e,r,a,s,c,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return u(),t(`div`,lt,[n(`div`,ut,[o(p,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),n(`div`,dt,[n(`div`,ft,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),n(`span`,pt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,mt,[e.modelValue?.request?.prompt?(u(),t(`p`,ht,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(u(),t(`span`,gt,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`span`,_t,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,vt,[e.modelValue.response.video_url?(u(),t(`div`,yt,[o(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),t(`div`,bt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=d(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=d(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,xt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,St,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),t(`div`,Ct,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,wt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Tt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,Et,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,$,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`div`,Dt,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,Ot,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var At=r({name:`RecentPanel`,components:{BotPlaceholder:G,TaskPreview:T(ct,[[`render`,kt],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:K,ScrollList:V},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?.()}}}),jt={key:0},Mt={key:2,class:`w-full h-full flex items-center justify-center`};function Nt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,jt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[1]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e,onExtend:r[0]||=e=>n.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Mt,[o(v)])):m(``,!0)],64)}var Pt=r({name:`LumaIndex`,components:{ConfigPanel:st,Layout:ne,RecentPanel:T(At,[[`render`,Nt]])},mixins:[M],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===j.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,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 H({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();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!k(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){O.error(this.$t(`luma.message.promptRequired`));return}e.prompt=e.prompt?.trim();let t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`luma.message.startingTask`)),ee(`luma`,E.generate(e,{token:t})).then(()=>{O.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`luma.message.usedUp`)):O.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Ft(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var It=T(Pt,[[`render`,Ft]]);export{It as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-CTQ_C6Wb.js";import{t as x}from"./upload-BRnXALUA.js";import{t as S}from"./tooltip-BxeH2Vts.js";import{t as C}from"./image-ZpHwPPzf.js";import{t as w}from"./alert-CuX4SjQB.js";import{t as T}from"./drawer-R6pcaap2.js";import{t as E}from"./switch-Bxj_py3N.js";import{Br as D,Gr as O,Hr as k,Lr as A,Rr as j,Ur as M,Vr as N,qr as P,zr as F}from"./constants-9Rd-ZRoh.js";import{Cn as I,D as L,Fr as R,It as ee,Kn as te,Lt as ne,Mr as z,Rt as B,Vt as V,Wr as H,Zr as U,zt as W}from"./index-Z1kRavm5.js";import{t as G}from"./index.es-CKXxm3Ib.js";import{t as K}from"./CopyToClipboard-CTZ6Mo2m.js";import{t as q}from"./ImagePreview-Bq8bSNZi.js";import{n as J}from"./taskDrawerMixin-DEgO_R5H.js";import{t as Y}from"./Consumption-BeCSi9Ah.js";import{i as X,n as Z,t as re}from"./pagination-Ds1aixpX.js";import{t as Q}from"./VideoPlayer-BfrdgzoM.js";import{t as ie}from"./ApiCodeButton-dtlnlJeD.js";import{t as ae}from"./BotPlaceholder-Cb3oxcNj.js";import{t as oe}from"./NoTasks-BZyGsSwG.js";import{t as se}from"./PromptTextarea--nEpXE0q.js";var ce=r({name:`LayoutVeo`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:G},mixins:[J]}),le={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 fe(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,le,[n(`div`,ue,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,de,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var pe=L(ce,[[`render`,fe],[`__scopeId`,`data-v-12b82bc3`]]),me=r({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`veo2`,label:`veo2`},{value:`veo2-fast`,label:`veo2-fast`},{value:`veo3`,label:`veo3`},{value:`veo3-fast`,label:`veo3-fast`},{value:`veo31-fast`,label:`veo31-fast`},{value:`veo31`,label:`veo31`},{value:`veo31-fast-ingredients`,label:`veo31-fast-ingredients`}]}},computed:{value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=D}}),he={class:`field`},ge={class:`title font-bold`};function _e(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,he,[n(`h2`,ge,u(r.$t(`veo.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=L(me,[[`render`,_e],[`__scopeId`,`data-v-a59d89c9`]]),ye=r({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)},{value:`upsample`,label:this.$t(`veo.button.actionUpsample`)},{value:`extend`,label:this.$t(`veo.button.actionExtend`)},{value:`reshoot`,label:this.$t(`veo.button.actionReshoot`)},{value:`object_insert`,label:this.$t(`veo.button.actionObjectInsert`)},{value:`object_remove`,label:this.$t(`veo.button.actionObjectRemove`)}]},value:{get(){return this.$store.state.veo?.config?.action},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,action:e})}}},mounted(){this.value||=A}}),be={class:`field`},xe={class:`title font-bold`},Se={class:`float-left`};function Ce(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,be,[n(`h2`,xe,u(r.$t(`veo.name.action`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`),clearable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},{default:g(()=>[n(`span`,Se,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=L(ye,[[`render`,Ce],[`__scopeId`,`data-v-f4d8785c`]]),Te=r({name:`TranslationSelector`,components:{ElSwitch:E,InfoIcon:X},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`},Ae={class:`flex justify-end items-center`};function je(e,r,i,a,s,c){let l=h(`info-icon`),f=h(`el-switch`);return d(),t(`div`,Ee,[n(`div`,De,[n(`div`,Oe,[n(`span`,ke,u(e.$t(`veo.name.translation`)),1),o(l,{content:e.$t(`veo.description.translation`)},null,8,[`content`])]),n(`div`,Ae,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var Me=L(Te,[[`render`,je]]),Ne=r({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=j}}),Pe={class:`text-sm font-bold mb-2 block`},Fe={class:`items`},Ie=[`onClick`],Le={class:`name`};function Re(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,Pe,u(r.$t(`veo.name.ratio`)),1),n(`div`,Fe,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.label])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Le,u(e.label),1)],10,Ie))),128))])])}var ze=L(Ne,[[`render`,Re],[`__scopeId`,`data-v-28c472c4`]]),Be=r({name:`VideoFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.veo?.config}}}),Ve={class:`relative`},He={class:`flex mb-2`},Ue={class:`text-sm font-bold`};function We(e,r,i,o,s,c){let l=h(`video-player`);return d(),t(`div`,Ve,[n(`div`,He,[n(`span`,Ue,u(e.$t(`veo.name.action3`)),1)]),n(`div`,null,[e.config?.video_url?(d(),a(l,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var Ge=L(Be,[[`render`,We]]),Ke=r({name:`VideoIdInput`,components:{ElInput:U},computed:{value:{get(){return this.$store.state.veo?.config?.video_id},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,video_id:e})}}}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(e,r,i,a,s,c){let l=h(`el-input`);return d(),t(`div`,qe,[n(`h2`,Je,u(e.$t(`veo.name.videoId`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,type:`text`,placeholder:e.$t(`veo.placeholder.videoId`),clearable:``},null,8,[`modelValue`,`placeholder`])])}var Xe=L(Ke,[[`render`,Ye],[`__scopeId`,`data-v-6eba4026`]]),Ze=r({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:X,FontAwesomeIcon:G,ImagePreview:q},mixins:[W,ne],emits:[`change`],data(){return{fileList:[],uploadUrl:R()+`/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?.veo?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){H.warning(this.$t(`veo.message.uploadReferencesExceed`))},onError(){H.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(e,r,s,c,l,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return d(),t(`div`,Qe,[n(`div`,$e,[n(`div`,et,[n(`span`,tt,u(e.$t(`veo.name.startEndImage`)),1),o(p,{content:e.$t(`veo.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=L(Ze,[[`render`,nt],[`__scopeId`,`data-v-f9a79b4a`]]),it=r({name:`UpsampleActionSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return P.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.upsample_action},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,upsample_action:e})}}},mounted(){this.value||=k}}),at={class:`field`},ot={class:`title font-bold`};function st(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,at,[n(`h2`,ot,u(r.$t(`veo.name.upsampleAction`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ct=L(it,[[`render`,st],[`__scopeId`,`data-v-8b74a7ae`]]),lt=r({name:`ExtendModelSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return M.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){(!this.value||!M.includes(this.value))&&(this.value=F)}}),ut={class:`field`},dt={class:`title font-bold`};function ft(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ut,[n(`h2`,dt,u(r.$t(`veo.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var pt=L(lt,[[`render`,ft],[`__scopeId`,`data-v-cc3f9355`]]),mt=r({name:`MotionTypeSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return O.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.motion_type},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,motion_type:e})}}},mounted(){this.value||=N}}),ht={class:`field`},gt={class:`title font-bold`};function _t(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ht,[n(`h2`,gt,u(r.$t(`veo.name.motionType`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`),filterable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var vt=L(mt,[[`render`,_t],[`__scopeId`,`data-v-3affff3c`]]),yt=r({name:`ImageMaskInput`,components:{ElInput:U},computed:{value:{get(){return this.$store.state.veo?.config?.image_mask},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,image_mask:e})}}}}),bt={class:`field`},xt={class:`title font-bold`};function St(e,r,i,a,s,c){let l=h(`el-input`);return d(),t(`div`,bt,[n(`h2`,xt,u(e.$t(`veo.name.imageMask`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,type:`text`,placeholder:e.$t(`veo.placeholder.imageMask`),clearable:``},null,8,[`modelValue`,`placeholder`])])}var Ct=L(yt,[[`render`,St],[`__scopeId`,`data-v-6cc27c68`]]),wt=r({name:`PromptInput`,components:{PromptTextarea:se},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Tt(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Et=L(wt,[[`render`,Tt]]),Dt=[`upsample`,`extend`,`reshoot`,`object_insert`,`object_remove`,`get1080p`],Ot=[`text2video`,`image2video`,`ingredients2video`],kt=r({name:`ConfigPanel`,components:{ElButton:v,Consumption:Y,FontAwesomeIcon:G,PromptInput:Et,ModelSelector:ve,StartEndImage:rt,ActionSelector:we,VideoFromInput:Ge,VideoIdInput:Xe,UpsampleActionSelector:ct,ExtendModelSelector:pt,MotionTypeSelector:vt,ImageMaskInput:Ct,TranslationSelector:Me,AspectRatioSelector:ze},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},consumption(){return V(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},isPostProcessing(){return Dt.includes(this.config?.action??``)},isGeneration(){return Ot.includes(this.config?.action??``)}},methods:{onGenerate(){this.$emit(`generate`)}}}),At={class:`flex flex-col h-full`},jt={class:`flex-1 overflow-y-auto p-5`},Mt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Nt(e,r,c,l,f,p){let _=h(`action-selector`),v=h(`video-from-input`),y=h(`video-id-input`),b=h(`upsample-action-selector`),x=h(`extend-model-selector`),S=h(`prompt-input`),C=h(`motion-type-selector`),w=h(`image-mask-input`),T=h(`translation-selector`),E=h(`aspect-ratio-selector`),D=h(`model-selector`),O=h(`start-end-image`),k=h(`consumption`),A=h(`font-awesome-icon`),j=h(`el-button`);return d(),t(`div`,At,[n(`div`,jt,[o(_,{class:`mb-4`}),e.isPostProcessing?(d(),t(s,{key:0},[e.config?.video_url?(d(),a(v,{key:0,class:`mb-4`})):m(``,!0),o(y,{class:`mb-4`})],64)):m(``,!0),e.config?.action===`upsample`?(d(),a(b,{key:1,class:`mb-4`})):m(``,!0),e.config?.action===`extend`?(d(),a(x,{key:2,class:`mb-4`})):m(``,!0),e.config?.action===`extend`?(d(),a(S,{key:3,class:`mb-4`})):m(``,!0),e.config?.action===`reshoot`?(d(),a(C,{key:4,class:`mb-4`})):m(``,!0),e.config?.action===`object_insert`?(d(),a(S,{key:5,class:`mb-4`})):m(``,!0),e.config?.action===`object_insert`||e.config?.action===`object_remove`?(d(),a(w,{key:6,class:`mb-4`})):m(``,!0),e.config?.action===`object_remove`?(d(),a(S,{key:7,class:`mb-4`})):m(``,!0),e.isGeneration?(d(),t(s,{key:8},[o(T,{class:`mb-4`}),o(E,{class:`mb-4`}),o(S,{class:`mb-4`}),e.config?.action===`ingredients2video`?m(``,!0):(d(),a(D,{key:0,class:`mb-4`})),e.config?.action===`image2video`||e.config?.action===`ingredients2video`?(d(),a(O,{key:1,class:`mb-2`})):m(``,!0)],64)):m(``,!0)]),n(`div`,Mt,[o(k,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(j,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(A,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Pt=L(kt,[[`render`,Nt]]),Ft=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:K,FontAwesomeIcon:G,ElAlert:w,VideoPlayer:Q,ElTooltip:S,ElButton:v,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.veo?.application},config(){return this.$store.state.veo?.config}},methods:{onPickAction(e,t,n,r){console.debug(`seed config from preview`,{action:n,upsampleAction:r,response:t}),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,action:n,video_id:t?.data?.[0]?.id,video_url:t?.data?.[0]?.video_url,...r?{upsample_action:r}:{}})},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),It={class:`preview`},Lt={class:`left`},Rt={class:`main`},zt={class:`bot`},Bt={class:`datetime`},Vt={class:`info`},Ht={key:0,class:`prompt mt-2`},Ut={key:0},Wt={key:1},Gt={key:0,class:l({content:!0,failed:!0})},Kt={key:0,class:`mb-4`},qt={key:1,class:l({operations:!0,"mt-2":!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xt={key:1,class:l({content:!0})},Zt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qt={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`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tn={key:2,class:l({content:!0})},nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function an(e,r,s,c,l,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return d(),t(`div`,It,[n(`div`,Lt,[o(p,{src:`https://cdn.acedata.cloud/8nxyy9.jpg`,class:`avatar`})]),n(`div`,Rt,[n(`div`,zt,[i(u(e.$t(`veo.name.veoBot`))+` `,1),n(`span`,Bt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,Vt,[e.modelValue?.request?.prompt?(d(),t(`p`,Ht,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,Ut,` - (`+u(e.$t(`veo.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`running`?(d(),t(`span`,Wt,` - (`+u(e.$t(`veo.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),t(`div`,Gt,[e.modelValue?.response?.data[0]?.video_url?(d(),t(`div`,Kt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response.success?(d(),t(`div`,qt,[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=t=>e.onPickAction(t,e.modelValue?.response,`upsample`,`1080p`)},{default:g(()=>[i(u(e.$t(`veo.button.actionUpsample1080p`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:1,type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=t=>e.onPickAction(t,e.modelValue?.response,`upsample`,`4k`)},{default:g(()=>[i(u(e.$t(`veo.button.actionUpsample4k`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:2,type:`info`,size:`small`,class:`btn-action`,onClick:r[2]||=t=>e.onPickAction(t,e.modelValue?.response,`upsample`,`gif`)},{default:g(()=>[i(u(e.$t(`veo.button.actionUpsampleGif`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:3,type:`info`,size:`small`,class:`btn-action`,onClick:r[3]||=t=>e.onPickAction(t,e.modelValue?.response,`extend`)},{default:g(()=>[i(u(e.$t(`veo.button.actionExtend`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:4,type:`info`,size:`small`,class:`btn-action`,onClick:r[4]||=t=>e.onPickAction(t,e.modelValue?.response,`reshoot`)},{default:g(()=>[i(u(e.$t(`veo.button.actionReshoot`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:5,type:`info`,size:`small`,class:`btn-action`,onClick:r[5]||=t=>e.onPickAction(t,e.modelValue?.response,`object_insert`)},{default:g(()=>[i(u(e.$t(`veo.button.actionObjectInsert`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:6,type:`info`,size:`small`,class:`btn-action`,onClick:r[6]||=t=>e.onPickAction(t,e.modelValue?.response,`object_remove`)},{default:g(()=>[i(u(e.$t(`veo.button.actionObjectRemove`)),1)]),_:1})):m(``,!0),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:g(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[7]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:g(()=>[i(u(e.$t(`veo.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),o(b,{path:`/veo/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,$,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),n(`p`,Jt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Yt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,Xt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.failure`)),1)]),default:g(()=>[n(`p`,Zt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Qt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,$t,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),e.modelValue?.response?.trace_id?(d(),t(`p`,en,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===void 0?(d(),t(`div`,tn,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.failure`)),1)]),default:g(()=>[n(`p`,nn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),t(`p`,rn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var on=r({name:`RecentPanel`,components:{TaskPreview:L(Ft,[[`render`,an],[`__scopeId`,`data-v-9698fe5f`]]),NoTasks:oe,BotPlaceholder:ae,ScrollList:Z},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),sn={key:0},cn={key:2,class:`w-full h-full flex items-center justify-center`};function ln(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,sn,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,cn,[o(v)])):m(``,!0)],64)}var un=r({name:`VeoIndex`,components:{ConfigPanel:Pt,Layout:pe,RecentPanel:L(on,[[`render`,ln]])},mixins:[B],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.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 re({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(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>H.warning(e)))return;let e={...this.config,async:!0},t=this.credential?.token;if(!t){console.error(`no token specified`);return}if(e.action===`image2video`&&!(e.image_urls&&e.image_urls.length>0)){H.warning(this.$t(`veo.message.imageRequired`));return}(!e.image_urls||e.image_urls.length===0)&&delete e.image_urls,H.info(this.$t(`veo.message.startingTask`)),te(`veo`,I.generate(e,{token:t})).then(()=>{H.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?H.error(this.$t(`veo.message.usedUp`)):H.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dn(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),u=h(`layout`);return d(),a(u,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var fn=L(un,[[`render`,dn]]);export{fn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Ut as c,Vt as l,Wt as u,Z as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{r as y,t as b}from"./select-DrnAphJ3.js";import{t as x}from"./upload-bmvl4ER4.js";import{t as S}from"./tooltip-BxeH2Vts.js";import{t as C}from"./image-BeR-MrNm.js";import{t as w}from"./alert-CuX4SjQB.js";import{t as T}from"./drawer-R6pcaap2.js";import{t as E}from"./switch-Bk8qUwKN.js";import{Br as D,Gr as O,Hr as k,Lr as A,Rr as j,Ur as M,Vr as N,qr as ee,zr as P}from"./constants-9Rd-ZRoh.js";import{Cn as F,D as I,Fr as L,Gr as R,It as te,Kn as ne,Lt as z,Mr as B,Qr as V,Rt as H,Vt as U,zt as W}from"./index-CPE4kPkO.js";import{t as G}from"./index.es-6UeQCZVW.js";import{t as K}from"./CopyToClipboard-DuklvOaG.js";import{t as q}from"./ImagePreview-DABcTzwB.js";import{n as J}from"./taskDrawerMixin-DEgO_R5H.js";import{t as Y}from"./Consumption-0KewgZSp.js";import{i as X,n as Z,t as re}from"./pagination-B-i1I1VL.js";import{t as Q}from"./VideoPlayer-CnYFSfHB.js";import{t as ie}from"./ApiCodeButton-DOJSgOMJ.js";import{t as ae}from"./BotPlaceholder-BarE4-94.js";import{t as oe}from"./NoTasks-CUL06U-1.js";import{t as se}from"./PromptTextarea-CUsOklcL.js";var ce=r({name:`LayoutVeo`,components:{ElDrawer:T,ElButton:v,FontAwesomeIcon:G},mixins:[J]}),le={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 fe(e,r,i,a,s,c){let l=h(`font-awesome-icon`),u=h(`el-button`),m=h(`el-drawer`);return d(),t(`div`,le,[n(`div`,ue,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,de,[p(e.$slots,`result`,{},void 0,!0)]),f(o(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var pe=I(ce,[[`render`,fe],[`__scopeId`,`data-v-12b82bc3`]]),me=r({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`veo2`,label:`veo2`},{value:`veo2-fast`,label:`veo2-fast`},{value:`veo3`,label:`veo3`},{value:`veo3-fast`,label:`veo3-fast`},{value:`veo31-fast`,label:`veo31-fast`},{value:`veo31`,label:`veo31`},{value:`veo31-fast-ingredients`,label:`veo31-fast-ingredients`}]}},computed:{value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=D}}),he={class:`field`},ge={class:`title font-bold`};function _e(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,he,[n(`h2`,ge,u(r.$t(`veo.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=I(me,[[`render`,_e],[`__scopeId`,`data-v-a59d89c9`]]),ye=r({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)},{value:`upsample`,label:this.$t(`veo.button.actionUpsample`)},{value:`extend`,label:this.$t(`veo.button.actionExtend`)},{value:`reshoot`,label:this.$t(`veo.button.actionReshoot`)},{value:`object_insert`,label:this.$t(`veo.button.actionObjectInsert`)},{value:`object_remove`,label:this.$t(`veo.button.actionObjectRemove`)}]},value:{get(){return this.$store.state.veo?.config?.action},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,action:e})}}},mounted(){this.value||=A}}),be={class:`field`},xe={class:`title font-bold`},Se={class:`float-left`};function Ce(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,be,[n(`h2`,xe,u(r.$t(`veo.name.action`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`),clearable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},{default:g(()=>[n(`span`,Se,u(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=I(ye,[[`render`,Ce],[`__scopeId`,`data-v-f4d8785c`]]),Te=r({name:`TranslationSelector`,components:{ElSwitch:E,InfoIcon:X},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`},Ae={class:`flex justify-end items-center`};function je(e,r,i,a,s,c){let l=h(`info-icon`),f=h(`el-switch`);return d(),t(`div`,Ee,[n(`div`,De,[n(`div`,Oe,[n(`span`,ke,u(e.$t(`veo.name.translation`)),1),o(l,{content:e.$t(`veo.description.translation`)},null,8,[`content`])]),n(`div`,Ae,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var Me=I(Te,[[`render`,je]]),Ne=r({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=j}}),Pe={class:`text-sm font-bold mb-2 block`},Fe={class:`items`},Ie=[`onClick`],Le={class:`name`};function Re(r,i,a,o,f,p){return d(),t(`div`,null,[n(`span`,Pe,u(r.$t(`veo.name.ratio`)),1),n(`div`,Fe,[(d(!0),t(s,null,e(r.options,(e,i)=>(d(),t(`div`,{key:i,class:l({active:r.active===i,item:!0}),onClick:t=>r.value=e.value},[n(`div`,{class:l([`preview`,e.label])},[n(`div`,{class:`rect`,style:c({width:e.width+`px`,height:e.height+`px`})},null,4)],2),n(`p`,Le,u(e.label),1)],10,Ie))),128))])])}var ze=I(Ne,[[`render`,Re],[`__scopeId`,`data-v-28c472c4`]]),Be=r({name:`VideoFromInput`,components:{VideoPlayer:Q},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.veo?.config}}}),Ve={class:`relative`},He={class:`flex mb-2`},Ue={class:`text-sm font-bold`};function We(e,r,i,o,s,c){let l=h(`video-player`);return d(),t(`div`,Ve,[n(`div`,He,[n(`span`,Ue,u(e.$t(`veo.name.action3`)),1)]),n(`div`,null,[e.config?.video_url?(d(),a(l,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var Ge=I(Be,[[`render`,We]]),Ke=r({name:`VideoIdInput`,components:{ElInput:V},computed:{value:{get(){return this.$store.state.veo?.config?.video_id},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,video_id:e})}}}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(e,r,i,a,s,c){let l=h(`el-input`);return d(),t(`div`,qe,[n(`h2`,Je,u(e.$t(`veo.name.videoId`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,type:`text`,placeholder:e.$t(`veo.placeholder.videoId`),clearable:``},null,8,[`modelValue`,`placeholder`])])}var Xe=I(Ke,[[`render`,Ye],[`__scopeId`,`data-v-6eba4026`]]),Ze=r({name:`StartEndImage`,components:{ElUpload:x,ElButton:v,InfoIcon:X,FontAwesomeIcon:G,ImagePreview:q},mixins:[W,z],emits:[`change`],data(){return{fileList:[],uploadUrl:L()+`/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?.veo?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){R.warning(this.$t(`veo.message.uploadReferencesExceed`))},onError(){R.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(e,r,s,c,l,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return d(),t(`div`,Qe,[n(`div`,$e,[n(`div`,et,[n(`span`,tt,u(e.$t(`veo.name.startEndImage`)),1),o(p,{content:e.$t(`veo.description.uploadStartEndImage`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:2,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(d(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+u(e.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=I(Ze,[[`render`,nt],[`__scopeId`,`data-v-f9a79b4a`]]),it=r({name:`UpsampleActionSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return ee.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.upsample_action},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,upsample_action:e})}}},mounted(){this.value||=k}}),at={class:`field`},ot={class:`title font-bold`};function st(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,at,[n(`h2`,ot,u(r.$t(`veo.name.upsampleAction`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ct=I(it,[[`render`,st],[`__scopeId`,`data-v-8b74a7ae`]]),lt=r({name:`ExtendModelSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return M.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){(!this.value||!M.includes(this.value))&&(this.value=P)}}),ut={class:`field`},dt={class:`title font-bold`};function ft(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ut,[n(`h2`,dt,u(r.$t(`veo.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`)},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var pt=I(lt,[[`render`,ft],[`__scopeId`,`data-v-cc3f9355`]]),mt=r({name:`MotionTypeSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return O.map(e=>({value:e,label:e}))},value:{get(){return this.$store.state.veo?.config?.motion_type},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,motion_type:e})}}},mounted(){this.value||=N}}),ht={class:`field`},gt={class:`title font-bold`};function _t(r,i,c,l,f,p){let m=h(`el-option`),_=h(`el-select`);return d(),t(`div`,ht,[n(`h2`,gt,u(r.$t(`veo.name.motionType`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`veo.placeholder.select`),filterable:``},{default:g(()=>[(d(!0),t(s,null,e(r.options,e=>(d(),a(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var vt=I(mt,[[`render`,_t],[`__scopeId`,`data-v-3affff3c`]]),yt=r({name:`ImageMaskInput`,components:{ElInput:V},computed:{value:{get(){return this.$store.state.veo?.config?.image_mask},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,image_mask:e})}}}}),bt={class:`field`},xt={class:`title font-bold`};function St(e,r,i,a,s,c){let l=h(`el-input`);return d(),t(`div`,bt,[n(`h2`,xt,u(e.$t(`veo.name.imageMask`)),1),o(l,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,type:`text`,placeholder:e.$t(`veo.placeholder.imageMask`),clearable:``},null,8,[`modelValue`,`placeholder`])])}var Ct=I(yt,[[`render`,St],[`__scopeId`,`data-v-6cc27c68`]]),wt=r({name:`PromptInput`,components:{PromptTextarea:se},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Tt(e,t,n,r,i,o){let s=h(`prompt-textarea`);return d(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Et=I(wt,[[`render`,Tt]]),Dt=[`upsample`,`extend`,`reshoot`,`object_insert`,`object_remove`,`get1080p`],Ot=[`text2video`,`image2video`,`ingredients2video`],kt=r({name:`ConfigPanel`,components:{ElButton:v,Consumption:Y,FontAwesomeIcon:G,PromptInput:Et,ModelSelector:ve,StartEndImage:rt,ActionSelector:we,VideoFromInput:Ge,VideoIdInput:Xe,UpsampleActionSelector:ct,ExtendModelSelector:pt,MotionTypeSelector:vt,ImageMaskInput:Ct,TranslationSelector:Me,AspectRatioSelector:ze},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},consumption(){return U(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},isPostProcessing(){return Dt.includes(this.config?.action??``)},isGeneration(){return Ot.includes(this.config?.action??``)}},methods:{onGenerate(){this.$emit(`generate`)}}}),At={class:`flex flex-col h-full`},jt={class:`flex-1 overflow-y-auto p-5`},Mt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Nt(e,r,c,l,f,p){let _=h(`action-selector`),v=h(`video-from-input`),y=h(`video-id-input`),b=h(`upsample-action-selector`),x=h(`extend-model-selector`),S=h(`prompt-input`),C=h(`motion-type-selector`),w=h(`image-mask-input`),T=h(`translation-selector`),E=h(`aspect-ratio-selector`),D=h(`model-selector`),O=h(`start-end-image`),k=h(`consumption`),A=h(`font-awesome-icon`),j=h(`el-button`);return d(),t(`div`,At,[n(`div`,jt,[o(_,{class:`mb-4`}),e.isPostProcessing?(d(),t(s,{key:0},[e.config?.video_url?(d(),a(v,{key:0,class:`mb-4`})):m(``,!0),o(y,{class:`mb-4`})],64)):m(``,!0),e.config?.action===`upsample`?(d(),a(b,{key:1,class:`mb-4`})):m(``,!0),e.config?.action===`extend`?(d(),a(x,{key:2,class:`mb-4`})):m(``,!0),e.config?.action===`extend`?(d(),a(S,{key:3,class:`mb-4`})):m(``,!0),e.config?.action===`reshoot`?(d(),a(C,{key:4,class:`mb-4`})):m(``,!0),e.config?.action===`object_insert`?(d(),a(S,{key:5,class:`mb-4`})):m(``,!0),e.config?.action===`object_insert`||e.config?.action===`object_remove`?(d(),a(w,{key:6,class:`mb-4`})):m(``,!0),e.config?.action===`object_remove`?(d(),a(S,{key:7,class:`mb-4`})):m(``,!0),e.isGeneration?(d(),t(s,{key:8},[o(T,{class:`mb-4`}),o(E,{class:`mb-4`}),o(S,{class:`mb-4`}),e.config?.action===`ingredients2video`?m(``,!0):(d(),a(D,{key:0,class:`mb-4`})),e.config?.action===`image2video`||e.config?.action===`ingredients2video`?(d(),a(O,{key:1,class:`mb-2`})):m(``,!0)],64)):m(``,!0)]),n(`div`,Mt,[o(k,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(j,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(A,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+u(e.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Pt=I(kt,[[`render`,Nt]]),Ft=r({name:`TaskPreview`,components:{ElImage:C,CopyToClipboard:K,FontAwesomeIcon:G,ElAlert:w,VideoPlayer:Q,ElTooltip:S,ElButton:v,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.veo?.application},config(){return this.$store.state.veo?.config}},methods:{onPickAction(e,t,n,r){console.debug(`seed config from preview`,{action:n,upsampleAction:r,response:t}),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,action:n,video_id:t?.data?.[0]?.id,video_url:t?.data?.[0]?.video_url,...r?{upsample_action:r}:{}})},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),It={class:`preview`},Lt={class:`left`},Rt={class:`main`},zt={class:`bot`},Bt={class:`datetime`},Vt={class:`info`},Ht={key:0,class:`prompt mt-2`},Ut={key:0},Wt={key:1},Gt={key:0,class:l({content:!0,failed:!0})},Kt={key:0,class:`mb-4`},qt={key:1,class:l({operations:!0,"mt-2":!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xt={key:1,class:l({content:!0})},Zt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qt={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`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tn={key:2,class:l({content:!0})},nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function an(e,r,s,c,l,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return d(),t(`div`,It,[n(`div`,Lt,[o(p,{src:`https://cdn.acedata.cloud/8nxyy9.jpg`,class:`avatar`})]),n(`div`,Rt,[n(`div`,zt,[i(u(e.$t(`veo.name.veoBot`))+` `,1),n(`span`,Bt,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,Vt,[e.modelValue?.request?.prompt?(d(),t(`p`,Ht,[i(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(d(),t(`span`,Ut,` - (`+u(e.$t(`veo.status.pending`))+`) `,1)),Array.isArray(e.modelValue?.response?.data)&&e.modelValue?.response?.data[0]?.state===`running`?(d(),t(`span`,Wt,` - (`+u(e.$t(`veo.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0&&e.modelValue?.response?.data?(d(),t(`div`,Gt,[e.modelValue?.response?.data[0]?.video_url?(d(),t(`div`,Kt,[o(_,{src:e.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response.success?(d(),t(`div`,qt,[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=t=>e.onPickAction(t,e.modelValue?.response,`upsample`,`1080p`)},{default:g(()=>[i(u(e.$t(`veo.button.actionUpsample1080p`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:1,type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=t=>e.onPickAction(t,e.modelValue?.response,`upsample`,`4k`)},{default:g(()=>[i(u(e.$t(`veo.button.actionUpsample4k`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:2,type:`info`,size:`small`,class:`btn-action`,onClick:r[2]||=t=>e.onPickAction(t,e.modelValue?.response,`upsample`,`gif`)},{default:g(()=>[i(u(e.$t(`veo.button.actionUpsampleGif`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:3,type:`info`,size:`small`,class:`btn-action`,onClick:r[3]||=t=>e.onPickAction(t,e.modelValue?.response,`extend`)},{default:g(()=>[i(u(e.$t(`veo.button.actionExtend`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:4,type:`info`,size:`small`,class:`btn-action`,onClick:r[4]||=t=>e.onPickAction(t,e.modelValue?.response,`reshoot`)},{default:g(()=>[i(u(e.$t(`veo.button.actionReshoot`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:5,type:`info`,size:`small`,class:`btn-action`,onClick:r[5]||=t=>e.onPickAction(t,e.modelValue?.response,`object_insert`)},{default:g(()=>[i(u(e.$t(`veo.button.actionObjectInsert`)),1)]),_:1})):m(``,!0),e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:6,type:`info`,size:`small`,class:`btn-action`,onClick:r[6]||=t=>e.onPickAction(t,e.modelValue?.response,`object_remove`)},{default:g(()=>[i(u(e.$t(`veo.button.actionObjectRemove`)),1)]),_:1})):m(``,!0),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:g(()=>[e.modelValue?.response?.data[0]?.video_url?(d(),a(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:r[7]||=t=>e.onDownload(t,e.modelValue?.response?.data[0]?.video_url)},{default:g(()=>[i(u(e.$t(`veo.button.download`)),1)]),_:1})):m(``,!0)]),_:1},8,[`content`]),o(b,{path:`/veo/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,$,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.model`))+`: `+u(e.modelValue?.request?.model),1)]),n(`p`,Jt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Yt,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,Xt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.failure`)),1)]),default:g(()=>[n(`p`,Zt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Qt,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,$t,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),e.modelValue?.response?.trace_id?(d(),t(`p`,en,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.success===void 0?(d(),t(`div`,tn,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.failure`)),1)]),default:g(()=>[n(`p`,nn,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.response?.trace_id?(d(),t(`p`,rn,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+u(e.$t(`veo.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])):m(``,!0)]),_:1})])):m(``,!0)])])}var on=r({name:`RecentPanel`,components:{TaskPreview:I(Ft,[[`render`,an],[`__scopeId`,`data-v-9698fe5f`]]),NoTasks:oe,BotPlaceholder:ae,ScrollList:Z},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),sn={key:0},cn={key:2,class:`w-full h-full flex items-center justify-center`};function ln(n,r,i,c,l,u){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return d(),t(s,null,[n.tasks?.items===void 0?(d(),t(`div`,sn,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(d(),a(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(d(!0),t(s,null,e(n.tasks?.items,(e,t)=>(d(),a(p,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(d(),t(`div`,cn,[o(v)])):m(``,!0)],64)}var un=r({name:`VeoIndex`,components:{ConfigPanel:Pt,Layout:pe,RecentPanel:I(on,[[`render`,ln]])},mixins:[H],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.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 re({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(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e={...this.config,async:!0},t=this.credential?.token;if(!t){console.error(`no token specified`);return}if(e.action===`image2video`&&!(e.image_urls&&e.image_urls.length>0)){R.warning(this.$t(`veo.message.imageRequired`));return}(!e.image_urls||e.image_urls.length===0)&&delete e.image_urls,R.info(this.$t(`veo.message.startingTask`)),ne(`veo`,F.generate(e,{token:t})).then(()=>{R.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?R.error(this.$t(`veo.message.usedUp`)):R.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dn(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),u=h(`layout`);return d(),a(u,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var fn=I(un,[[`render`,dn]]);export{fn as default};
|