@acedatacloud/nexior 3.88.0 → 3.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Auth-DrZZ3SeK.js → Auth-C-XrvTWM.js} +1 -1
- package/dist/assets/{BotPlaceholder-DGoHs3OO.js → BotPlaceholder-DTdZq2kH.js} +1 -1
- package/dist/assets/{Callback-NHaeadCF.js → Callback-B4nupg_0.js} +1 -1
- package/dist/assets/{Console-3lOdZPom.js → Console-DbkRd8JV.js} +1 -1
- package/dist/assets/{Consumption-98bh7-Af.js → Consumption-Cy8Mteic.js} +1 -1
- package/dist/assets/{Conversation-BmP7aHPG.js → Conversation-Cu7w76v-.js} +1 -1
- package/dist/assets/{CopyToClipboard-aJVlmG7i.js → CopyToClipboard-C04ZOzPS.js} +1 -1
- package/dist/assets/{Detail-DaxpbRaz.js → Detail-CoasdQig.js} +2 -2
- package/dist/assets/{EditArray-pB28UCYc.js → EditArray-ConvNLQT.js} +1 -1
- package/dist/assets/{Extra-DaV6z-Ap.js → Extra-AKGA3sTy.js} +1 -1
- package/dist/assets/{FilePreview-DjVcc49f.js → FilePreview-DdZIRkJ6.js} +1 -1
- package/dist/assets/{History-DHgR59jq.js → History-C6Y-deoU.js} +1 -1
- package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-Cbr8-_Hg.js → IconPark.vue_vue_type_script_setup_true_lang-6f_gppak.js} +1 -1
- package/dist/assets/{ImagePreview-BeWsfeNk.js → ImagePreview-Bq0KGy5V.js} +1 -1
- package/dist/assets/{ImageWrapper-t0iyC2_F.js → ImageWrapper-yInMKsPR.js} +1 -1
- package/dist/assets/{Index-CmTVkwV5.js → Index-B102Q-7b.js} +1 -1
- package/dist/assets/{Index-DMwLsTV6.js → Index-B1sYmuKz.js} +1 -1
- package/dist/assets/{Index-ChyXlBXq.js → Index-Bhiees4i.js} +1 -1
- package/dist/assets/{Index-_82xgw4U.js → Index-BoI7llee.js} +1 -1
- package/dist/assets/{Index-DvSMKYq4.js → Index-C-aJnE_P.js} +1 -1
- package/dist/assets/{Index-Cfv06lkl.js → Index-C3gqN9lC.js} +1 -1
- package/dist/assets/{Index-auU9uxU7.js → Index-CMBJ3Ubw.js} +1 -1
- package/dist/assets/{Index-C4cawRcH.js → Index-CStVZ931.js} +1 -1
- package/dist/assets/{Index-D5LzBDLx.js → Index-CkdG-dsp.js} +1 -1
- package/dist/assets/{Index-pz7h8uOn.js → Index-CtCtoAhf.js} +1 -1
- package/dist/assets/{Index-MXCgEG3W.js → Index-CwBBmgoL.js} +1 -1
- package/dist/assets/{Index-D47bcR6T.css → Index-D1zi3VjW.css} +1 -1
- package/dist/assets/{Index-BnTn8tzp.js → Index-D6gdIs5o.js} +1 -1
- package/dist/assets/{Index-kyjd_1v7.js → Index-DN76bEuk.js} +1 -1
- package/dist/assets/{Index-DHmMauai.js → Index-D_MLHPoD.js} +1 -1
- package/dist/assets/{Index-C8B1Hcin.js → Index-DgF25WCt.js} +1 -1
- package/dist/assets/{Index-DmL3XJWe.js → Index-Dr85BTcB.js} +1 -1
- package/dist/assets/{Index-C3OMemA4.js → Index-M26Ugimj.js} +1 -1
- package/dist/assets/{Index-DKh_LZs3.js → Index-Mapyst1Y.js} +1 -1
- package/dist/assets/{Index-DDv936FH.js → Index-QV6LKrVs.js} +1 -1
- package/dist/assets/{Index-CJ8h2Qbx.js → Index-Sy7yob8p.js} +1 -1
- package/dist/assets/{Index-czvvwpJy.js → Index-T69OmN8m.js} +1 -1
- package/dist/assets/{Index-tTfVi5QE.js → Index-UgwlV3Da.js} +1 -1
- package/dist/assets/{Index-B00ooWzV.js → Index-W4lE0G1J.js} +1 -1
- package/dist/assets/{Index-BWA_Jp1t.js → Index-Wt3iyoe_.js} +1 -1
- package/dist/assets/{Index-Cs09Sc6n.js → Index-xjIloRVL.js} +1 -1
- package/dist/assets/{Invitees-DkjwBxvx.js → Invitees-DWN7dmBY.js} +1 -1
- package/dist/assets/{List-D5Cq5fY5.js → List-3W8L7v0L.js} +1 -1
- package/dist/assets/{List-CcSLsDC7.js → List-B9j2GtdE.js} +1 -1
- package/dist/assets/{List-CUx_8nWV.js → List-BjAvsrzC.js} +1 -1
- package/dist/assets/{List-Gju659JU.js → List-BoecurQF.js} +1 -1
- package/dist/assets/{Main-DGFO_5Qi.js → Main-CW3_iYHV.js} +1 -1
- package/dist/assets/{Navigator-TaVLAUkI.js → Navigator-CVoxXIJK.js} +1 -1
- package/dist/assets/{NoTasks-BzrlLtXg.js → NoTasks-BRLJTbpH.js} +1 -1
- package/dist/assets/{NotFound-DUavfHXB.js → NotFound-Da2xtjK5.js} +1 -1
- package/dist/assets/{OAuthCallback-8151hey3.js → OAuthCallback-Co93Apft.js} +1 -1
- package/dist/assets/{Pagination-Jg4UThwK.js → Pagination-CYoCHC2N.js} +1 -1
- package/dist/assets/{ScrollList-BOpzsSMs.js → ScrollList-B-Kj1kLR.js} +1 -1
- package/dist/assets/{Status-9YKfMLP0.js → Status-5Wf19zJs.js} +1 -1
- package/dist/assets/{Subscribe-DvhDUoop.js → Subscribe-CpzZytTk.js} +1 -1
- package/dist/assets/{TransportWebHID-4Qy1v_Cj.js → TransportWebHID-SxJD5cWx.js} +1 -1
- package/dist/assets/{VideoPlayer-CvzD97_k.js → VideoPlayer-DcHrMVgM.js} +1 -1
- package/dist/assets/{_Uint8Array-BLlXLAO2.js → _Uint8Array-0RhRtRGu.js} +1 -1
- package/dist/assets/{_baseClone-Bh3JK93r.js → _baseClone-BZXxYXdF.js} +1 -1
- package/dist/assets/{_baseIteratee-Cg1nAllN.js → _baseIteratee-5bMPcoR7.js} +1 -1
- package/dist/assets/{_initCloneObject-1g0v6DQg.js → _initCloneObject-B2kwKJ_I.js} +1 -1
- package/dist/assets/{add-BqKQ4Tl3.js → add-CLJUN5bb.js} +1 -1
- package/dist/assets/{all-wallets-D1-1giut.js → all-wallets-D-rqoZxm.js} +1 -1
- package/dist/assets/{app-store-BIVYoXtH.js → app-store-BhVmaUep.js} +1 -1
- package/dist/assets/{apple-BLhEzrMW.js → apple-D_DgZ3GF.js} +1 -1
- package/dist/assets/{arrow-bottom-BxnzfPCR.js → arrow-bottom-B3hVzHWM.js} +1 -1
- package/dist/assets/{arrow-bottom-circle-DTqDCHrp.js → arrow-bottom-circle-BxsmJ-KI.js} +1 -1
- package/dist/assets/{arrow-left-9HdBLUig.js → arrow-left-C1TI1HJR.js} +1 -1
- package/dist/assets/{arrow-right-oeEsan_r.js → arrow-right-B8c0_R4R.js} +1 -1
- package/dist/assets/{arrow-top-Msz1gfQZ.js → arrow-top-BtWOcdN9.js} +1 -1
- package/dist/assets/{avatar-CLBUZd__.js → avatar-DetbA60-.js} +1 -1
- package/dist/assets/{bank-CUeajQgm.js → bank-Cs3Nh3ng.js} +1 -1
- package/dist/assets/{basic-qDQ5QF4t.js → basic-BWwU7sBr.js} +1 -1
- package/dist/assets/{browser-Db_vH3I3.js → browser-B6fkakwU.js} +1 -1
- package/dist/assets/{byokCredential-CAIF7mF3.js → byokCredential-Cu_acIzi.js} +1 -1
- package/dist/assets/{card-BpNf3qr4.js → card-BMYIDdG4.js} +1 -1
- package/dist/assets/{castArray-yAIf1Ihj.js → castArray-CnoZia7q.js} +1 -1
- package/dist/assets/{chat-DymjKjb4.js → chat-Bjq_3DAO.js} +1 -1
- package/dist/assets/{checkmark-D4w-F3Al.js → checkmark-Dsbdfz0v.js} +1 -1
- package/dist/assets/{checkmark-bold-85je45kg.js → checkmark-bold-B1bo_oPD.js} +1 -1
- package/dist/assets/{chevron-bottom-DBm0iuzI.js → chevron-bottom-BluQsZ0B.js} +1 -1
- package/dist/assets/{chevron-left-CY6_OVAk.js → chevron-left-D-mruXSp.js} +1 -1
- package/dist/assets/{chevron-right-DfBC2f4i.js → chevron-right-B7lBr0bE.js} +1 -1
- package/dist/assets/{chevron-top-CciHjxfQ.js → chevron-top-D_Q8hwRY.js} +1 -1
- package/dist/assets/{chrome-store-09ILKxbR.js → chrome-store-DkA08Gj4.js} +1 -1
- package/dist/assets/{clock-DF99hSFF.js → clock-Mxo7hdYe.js} +1 -1
- package/dist/assets/{close-BOVP4UZ7.js → close-BiBXCBT5.js} +1 -1
- package/dist/assets/{coinPlaceholder-RFGKetCY.js → coinPlaceholder-DdoE19qw.js} +1 -1
- package/dist/assets/{compass-BxUPI0Ub.js → compass-DARtJI5l.js} +1 -1
- package/dist/assets/{copy-CFt1K_3e.js → copy-EOIzpsCF.js} +1 -1
- package/dist/assets/{cursor-BHvydPmD.js → cursor-BCkndKb3.js} +1 -1
- package/dist/assets/{cursor-transparent-CGIkop_p.js → cursor-transparent-BjN4Ceeq.js} +1 -1
- package/dist/assets/{debounce-kCVbleAy.js → debounce-BYulEKvt.js} +1 -1
- package/dist/assets/{desktop-D2hmpt68.js → desktop-BCcDQFme.js} +1 -1
- package/dist/assets/{disconnect-DfSuuExl.js → disconnect-Cyo39ZGN.js} +1 -1
- package/dist/assets/{discord-CXZvowlL.js → discord-ZtzbWI25.js} +1 -1
- package/dist/assets/{distribution-CMZ_WhYo.js → distribution-DytG9XNS.js} +1 -1
- package/dist/assets/{dropdown-C5px9ey3.js → dropdown-CrejjKNE.js} +1 -1
- package/dist/assets/{etherscan-DhRquZVa.js → etherscan-Df0wVq4r.js} +1 -1
- package/dist/assets/{exclamation-triangle-xzgjuJ2z.js → exclamation-triangle-Dkoj7vNM.js} +1 -1
- package/dist/assets/{extension-C3MbmfZr.js → extension-D8NejEbg.js} +1 -1
- package/dist/assets/{external-link-ew_70T9o.js → external-link-PNx2xh2M.js} +1 -1
- package/dist/assets/{facebook-CAW6Grh0.js → facebook-DKdEMznt.js} +1 -1
- package/dist/assets/{farcaster-CDoz6qjD.js → farcaster-DenGJgrB.js} +1 -1
- package/dist/assets/{filters-CwiH-o2p.js → filters-Df4h3e2F.js} +1 -1
- package/dist/assets/{flux-By1EnuCr.js → flux-QmmC8GT1.js} +1 -1
- package/dist/assets/{github-BtsXc-KS.js → github-DFSofEUh.js} +1 -1
- package/dist/assets/{google-D3i-E3lZ.js → google-BTRkXDUm.js} +1 -1
- package/dist/assets/{hailuo-A33z0cPm.js → hailuo-DrQRNJhk.js} +1 -1
- package/dist/assets/{headshots-Dxph8juL.js → headshots-cAj5uvGQ.js} +1 -1
- package/dist/assets/{help-circle-CtRMRiO5.js → help-circle-DUremZ2V.js} +1 -1
- package/dist/assets/{id-CgLCy2TZ.js → id-DIHHLCi9.js} +1 -1
- package/dist/assets/{image-BXBXFM9e.js → image-BhNskdQC.js} +1 -1
- package/dist/assets/{index-ByFt43Wz.js → index-5Ds300_C.js} +1 -1
- package/dist/assets/{index-BLBMDJiy.js → index-6b1XxUX-.js} +1 -1
- package/dist/assets/{index-aK6rv_gD.js → index-6d44Eb2n.js} +1 -1
- package/dist/assets/{index-BCdvtZQG.js → index-B5jl052i.js} +1 -1
- package/dist/assets/{index-BD7Q4G-q.js → index-BA725btA.js} +1 -1
- package/dist/assets/{index-ChzvNzFS.js → index-BGn0A-r6.js} +1 -1
- package/dist/assets/{index-DJUQSF0A.js → index-BIMvFxYm.js} +1 -1
- package/dist/assets/{index-C4jCFUIP.js → index-BSWTwIvQ.js} +1 -1
- package/dist/assets/{index-D6rIKr0a.js → index-BSvug3AN.js} +1 -1
- package/dist/assets/{index-D83vqHYw.js → index-Bbcg_VL1.js} +1 -1
- package/dist/assets/{index-CIlIdIjP.js → index-BfUsFAWV.js} +1 -1
- package/dist/assets/{index-DzF8VUd9.js → index-BhT4v_x9.js} +1 -1
- package/dist/assets/{index-D5P6dASJ.js → index-Bll8JTHP.js} +1 -1
- package/dist/assets/{index-DDzYKBgP.js → index-BqSzBW6X.js} +1 -1
- package/dist/assets/{index-dyGUihGe.js → index-BsV65dZA.js} +1 -1
- package/dist/assets/{index-BB1bhGIK.js → index-Bv-ObcpC.js} +1 -1
- package/dist/assets/{index-7xh8EwUI.js → index-By3f5hkV.js} +1 -1
- package/dist/assets/{index-Bn7YDYmR.js → index-C-BFvYVr.js} +3 -3
- package/dist/assets/{index-DBolTNmi.js → index-C0p2lUGt.js} +1 -1
- package/dist/assets/{index-BS-SPe39.js → index-C1RBh9eY.js} +1 -1
- package/dist/assets/{index-9NI9JARq.js → index-C26cT6VO.js} +6 -6
- package/dist/assets/{index-hsR5obiv.js → index-C4dQyheM.js} +1 -1
- package/dist/assets/{index-D14VANp0.js → index-C5gLyNyO.js} +1 -1
- package/dist/assets/{index-DdZsYKJE.js → index-C8xzto8F.js} +1 -1
- package/dist/assets/{index-CNJ7VZAR.js → index-C9MCki7p.js} +1 -1
- package/dist/assets/{index-Dj8usySr.js → index-C9uDgr-B.js} +1 -1
- package/dist/assets/{index-D6ZURyuw.js → index-CEz7iwTL.js} +1 -1
- package/dist/assets/{index-CbW-RUg3.js → index-CMXjexAl.js} +1 -1
- package/dist/assets/{index-zHy_Tns_.js → index-CSFWZ8TW.js} +1 -1
- package/dist/assets/{index-D37lqh67.js → index-CWVKY-hX.js} +1 -1
- package/dist/assets/{index-CFt0C_sM.js → index-CX47aqSL.js} +1 -1
- package/dist/assets/{index-Dl6KqLVE.js → index-CZRS8Pfe.js} +1 -1
- package/dist/assets/{index-BfRP23SC.js → index-CZmMZPJB.js} +1 -1
- package/dist/assets/{index-E62TYRnl.js → index-CddVo93y.js} +1 -1
- package/dist/assets/{index-CE4Z4cSI.js → index-CirmwZJ0.js} +1 -1
- package/dist/assets/{index-BGI6Spj1.js → index-Cnb8mdET.js} +1 -1
- package/dist/assets/{index-Cw58JqNP.js → index-CpimsOIw.js} +1 -1
- package/dist/assets/{index-B5NSQZlK.js → index-CtrYSQ08.js} +1 -1
- package/dist/assets/{index-CxtLZDhr.js → index-Cx2yq1Hr.js} +3 -3
- package/dist/assets/{index-FcsFTRum.js → index-DEl7Jf-g.js} +1 -1
- package/dist/assets/{index-CGLEnOu2.js → index-DHTO4qxT.js} +1 -1
- package/dist/assets/{index-B0ItWdvx.js → index-DJ1l-dKG.js} +1 -1
- package/dist/assets/{index-y73PzSA7.js → index-DQFJE3vX.js} +1 -1
- package/dist/assets/{index-DLEICRsh.js → index-DcgghNrB.js} +1 -1
- package/dist/assets/{index-DEhQFSab.js → index-Denf2RlU.js} +1 -1
- package/dist/assets/{index-BaJAYhld.js → index-DjHlHIMC.js} +1 -1
- package/dist/assets/{index-B_F67Bxw.js → index-DkeqcX9q.js} +1 -1
- package/dist/assets/{index-DJ-_S05x.js → index-DuMh1ig3.js} +1 -1
- package/dist/assets/{index-DgaVFMsP.js → index-DuWpLKta.js} +1 -1
- package/dist/assets/{index-CaNwHQ-J.js → index-Dzc3inPz.js} +1 -1
- package/dist/assets/{index-D61gLAb1.js → index-EsaUn5-o.js} +1 -1
- package/dist/assets/{index-O5yoMNr2.js → index-H5j-O6nZ.js} +1 -1
- package/dist/assets/{index-DWb61zkI.js → index-MYbCJyOl.js} +1 -1
- package/dist/assets/{index-D1K0_HK6.js → index-T_jQk2SK.js} +1 -1
- package/dist/assets/{index-DgysfsHq.js → index-WLnVbCSu.js} +1 -1
- package/dist/assets/{index-KHi_aXm4.js → index-WZtXS9FS.js} +1 -1
- package/dist/assets/{index-BePdGa0C.js → index-XubXDD_u.js} +1 -1
- package/dist/assets/{index-Cjt-x7eL.js → index-bTXCEfKs.js} +1 -1
- package/dist/assets/{index-g-OqTOL-.js → index-meSLa91K.js} +1 -1
- package/dist/assets/{index-x9pEAxsV.js → index-o-K9lIjq.js} +1 -1
- package/dist/assets/{index-9xOZyswe.js → index-x4zDcUjg.js} +1 -1
- package/dist/assets/{index.browser.esm-4nMuWTJ0.js → index.browser.esm-BIGZA6Dy.js} +1 -1
- package/dist/assets/{index.es-2lzQ8vMU.js → index.es-DygHzaFn.js} +1 -1
- package/dist/assets/{info-CVa8MXln.js → info-BslOc1zP.js} +1 -1
- package/dist/assets/{info-circle-CfZ5ZazO.js → info-circle-CBlBM9pC.js} +1 -1
- package/dist/assets/{isEqual-BQxacRy6.js → isEqual-t6MQLHrP.js} +1 -1
- package/dist/assets/{isPlainObject-DyQHv-ss.js → isPlainObject-UHNWDVqK.js} +1 -1
- package/dist/assets/{kling-YItZ28uZ.js → kling-B16HucR8.js} +1 -1
- package/dist/assets/{lightbulb-COZKfAP-.js → lightbulb-Pj4K23mq.js} +1 -1
- package/dist/assets/{luma-4F111AZZ.js → luma-DSdqvg_P.js} +1 -1
- package/dist/assets/{mail-BWF_Qu1P.js → mail-x7sG4lkE.js} +1 -1
- package/dist/assets/{midjourney-BmELElHZ.js → midjourney-CwsIp-p0.js} +1 -1
- package/dist/assets/{mobile-QlS1VxAQ.js → mobile-sbn_WqBz.js} +1 -1
- package/dist/assets/{more-D9D19_N2.js → more-BTe5RZmd.js} +1 -1
- package/dist/assets/{nanobanana-BpcJ7AYx.js → nanobanana-JhqOy40x.js} +1 -1
- package/dist/assets/{network-placeholder-BOdZnNYp.js → network-placeholder-Brf3xgQj.js} +1 -1
- package/dist/assets/{nftPlaceholder-BxaGOflq.js → nftPlaceholder-BLsum08K.js} +1 -1
- package/dist/assets/{off-CG_Whjd3.js → off-BbdXMuHx.js} +1 -1
- package/dist/assets/{openaiimage-Ddtnh0Pd.js → openaiimage-C12DENhZ.js} +1 -1
- package/dist/assets/{order-DxnJPtaO.js → order-DkOT6Xf9.js} +1 -1
- package/dist/assets/{pika-CCAfX_7V.js → pika-CB3sm9RR.js} +1 -1
- package/dist/assets/{pixverse-CFOX0og5.js → pixverse-D3AZRw_v.js} +1 -1
- package/dist/assets/{play-store-B0FPrAAW.js → play-store-DsUTXjSA.js} +1 -1
- package/dist/assets/{plus-BETge7H4.js → plus-D3r_QKtz.js} +1 -1
- package/dist/assets/{price-C9hkxRAq.js → price-DTknWM2g.js} +1 -1
- package/dist/assets/{producer-CuNQ-FCt.js → producer-wBIEgfWz.js} +1 -1
- package/dist/assets/{qr-code-CdPIJqzM.js → qr-code-Q4GaAuqi.js} +1 -1
- package/dist/assets/{qrart-DObq-iNj.js → qrart-OJbjb8K7.js} +1 -1
- package/dist/assets/{recycle-horizontal-DCyUKw0-.js → recycle-horizontal-Bhxo566k.js} +1 -1
- package/dist/assets/{refresh-BqcAS5hO.js → refresh-BelB3cmp.js} +1 -1
- package/dist/assets/{reown-logo-D9WowJvj.js → reown-logo-Dr9NXSYr.js} +1 -1
- package/dist/assets/{search-DtLGOmFP.js → search-C9QblGeI.js} +1 -1
- package/dist/assets/{secp256k1-BgVAK5lM.js → secp256k1-B5e0Dl6Q.js} +1 -1
- package/dist/assets/{secp256k1-CuU1ALfW.js → secp256k1-CyhpHTXy.js} +1 -1
- package/dist/assets/{seedance-BIR_tgZM.js → seedance-dJ755zvg.js} +1 -1
- package/dist/assets/{seedream-Bvs-gKIK.js → seedream-CjzfZHxH.js} +1 -1
- package/dist/assets/{send-uwyeMpUj.js → send-g2ycCmbu.js} +1 -1
- package/dist/assets/{service-_xzZIOOH.js → service-DTq1JX0u.js} +1 -1
- package/dist/assets/{solana-wallets-BLLnJ9zj.js → solana-wallets-DMj22tAB.js} +2 -2
- package/dist/assets/{solana-wallets-vue-CxU5M1TU.js → solana-wallets-vue-4sTP9ttb.js} +1 -1
- package/dist/assets/{solanaEmbed.esm-DmEmhgnu.js → solanaEmbed.esm-DguAaQKH.js} +1 -1
- package/dist/assets/{sora-C9mX73Ee.js → sora-DxlKabej.js} +1 -1
- package/dist/assets/{string_decoder-7NmhSOKI.js → string_decoder-An-9xQta.js} +1 -1
- package/dist/assets/{suno-D5VfyNFw.js → suno-gMxVXNT0.js} +1 -1
- package/dist/assets/{swapHorizontal-CvulxYeD.js → swapHorizontal-DhptE_yk.js} +1 -1
- package/dist/assets/{swapHorizontalBold-THFFIvhB.js → swapHorizontalBold-y0gSuh29.js} +1 -1
- package/dist/assets/{swapHorizontalMedium-C2YTJTGt.js → swapHorizontalMedium-gHyFoLIK.js} +1 -1
- package/dist/assets/{swapHorizontalRoundedBold-BRHb7ScJ.js → swapHorizontalRoundedBold-rXZFtVsK.js} +1 -1
- package/dist/assets/{swapVertical-C8yPQrd8.js → swapVertical-DzVpPxih.js} +1 -1
- package/dist/assets/{telegram-B3gXffF8.js → telegram-MqMdcpze.js} +1 -1
- package/dist/assets/{three-dots-BJFR7I3h.js → three-dots-BcDX2b6w.js} +1 -1
- package/dist/assets/{twitch-CE8xzUb5.js → twitch-BAAsxSym.js} +1 -1
- package/dist/assets/{twitterIcon-BVqBO1iA.js → twitterIcon-QtgzNYW6.js} +1 -1
- package/dist/assets/{typescript-CoAxGsjg.js → typescript-BM7P3jg4.js} +1 -1
- package/dist/assets/{use-form-item-DTGT08pf.js → use-form-item-Bap1cNNT.js} +1 -1
- package/dist/assets/validator-DyJoR1pm.js +1 -0
- package/dist/assets/{veo-j7T6USux.js → veo-ByKmoh6-.js} +1 -1
- package/dist/assets/{verify-BOnw63CT.js → verify-CvX9uDdX.js} +1 -1
- package/dist/assets/{verify-filled-CRwvy1s8.js → verify-filled-B1Dtk4zK.js} +1 -1
- package/dist/assets/{w3m-modal-B6G0Jfls.js → w3m-modal-C83-vwbi.js} +1 -1
- package/dist/assets/{wallet-CrOaaRs4.js → wallet-CyorXMJK.js} +1 -1
- package/dist/assets/{wallet-placeholder-DlazbE81.js → wallet-placeholder-CTOK62Q8.js} +1 -1
- package/dist/assets/{walletconnect-BhKJBXFH.js → walletconnect-CKeQNhde.js} +1 -1
- package/dist/assets/{wan-Cex4PaIs.js → wan-Dyq2yd6V.js} +1 -1
- package/dist/assets/{warning-circle-BJcdHGFq.js → warning-circle-D0-0IIrc.js} +1 -1
- package/dist/assets/{web-DvbAs-ze.js → web-CBGilpRO.js} +1 -1
- package/dist/assets/{web-B-gVreKu.js → web-SB4tZHu3.js} +1 -1
- package/dist/assets/{x-Bp-WBKC_.js → x-fjnI89S5.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/validator-CV9JtUBJ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as T}from"./index.es-2lzQ8vMU.js";import{E as L}from"./index-Dl6KqLVE.js";import{E as j}from"./index-aK6rv_gD.js";import{d as $,H as i,E as l,z as S,C as t,y as f,D as s,q as a,F as r,O as V,N as I,x as w,I as h,J as x,Q as U}from"./vendor-vue-C5BV5QrY.js";import{D as v,b1 as D,ao as A}from"./index-Bn7YDYmR.js";import{a as F,b as M,c as B}from"./flux-BDAe6Szo.js";import{a as G,E as P}from"./index-D37lqh67.js";import{I as C,S as O}from"./ScrollList-BOpzsSMs.js";import{E as N,a as q}from"./index-BS-SPe39.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as X}from"./ImagePreview-BeWsfeNk.js";import{E as H}from"./index-DdZsYKJE.js";import{E as y}from"./index-DEhQFSab.js";import{E as J}from"./index-CGLEnOu2.js";import{C as K}from"./Consumption-98bh7-Af.js";import{a as Q}from"./price-C9hkxRAq.js";import{b as W}from"./errorCode-Cqj9Td_Z.js";import{f as Y}from"./flux-By1EnuCr.js";import{C as Z}from"./CopyToClipboard-aJVlmG7i.js";import{I as ee}from"./ImageWrapper-t0iyC2_F.js";import{E as te}from"./index-D6rIKr0a.js";import{E as oe}from"./index-C4jCFUIP.js";import{B as se}from"./BotPlaceholder-DGoHs3OO.js";import{N as ne}from"./NoTasks-BzrlLtXg.js";import{l as le}from"./pagination-D5yjLyAE.js";import"./use-form-item-DTGT08pf.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-g-OqTOL-.js";import"./index-BfRP23SC.js";import"./typescript-CoAxGsjg.js";import"./index-zHy_Tns_.js";import"./strings-DGr9fDRd.js";import"./isEqual-BQxacRy6.js";import"./_Uint8Array-BLlXLAO2.js";import"./castArray-yAIf1Ihj.js";import"./debounce-kCVbleAy.js";import"./_baseIteratee-Cg1nAllN.js";import"./index-BLBMDJiy.js";import"./index-D-qg-A9-.js";import"./index-ChzvNzFS.js";import"./_baseClone-Bh3JK93r.js";import"./_initCloneObject-1g0v6DQg.js";import"./index-DLEICRsh.js";import"./index-y73PzSA7.js";const ae=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),re={class:"main flex flex-row flex-1"},ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ce={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ue(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",re,[l("div",ie,[S(e.$slots,"config",{},void 0,!0)]),l("div",ce,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=v(ae,[["render",ue],["__scopeId","data-v-3c0d2b44"]]),pe=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=F)}}),me={class:"field"},fe={class:"title font-bold"};function _e(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",me,[l("h2",fe,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=v(pe,[["render",_e],["__scopeId","data-v-8df4b8a7"]]),ge=$({name:"CountSelector",components:{ElSlider:q,InfoIcon:C,ElInputNumber:N},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=M)}}),$e={class:"flex justify-between"},ve={class:"flex justify-start items-center"},be={class:"text-sm font-bold"},ke={class:"flex justify-end items-center"},xe={class:"w-full"};function we(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",$e,[l("div",ve,[l("span",be,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",ke,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",xe,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const ye=v(ge,[["render",we]]),Ve=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=B)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ee,[l("h2",Te,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=v(Ve,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Le=$({name:"ImageUrlInput",components:{ElUpload:H,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:X},mixins:[z],emits:["change"],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)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Ue={class:"relative"},Ce={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},Ge={class:"text-sm font-bold"};function Pe(e,o,m,d,b,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Ue,[l("div",Ce,[l("div",Ae,[l("span",Ge,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Re=v(Le,[["render",Pe],["__scopeId","data-v-1b692c6e"]]),je="",De=$({name:"PromptInput",components:{ElInput:J,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),Fe={class:"field"},Me={class:"box"},Be={class:"title font-bold"};function Oe(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",Fe,[l("div",Me,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ne=v(De,[["render",Oe],["__scopeId","data-v-96df0218"]]),qe=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:Ne,ModelSelector:he,CountSelector:ye,Consumption:K,ActionSelector:Se,ImageUrlInput:Re},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ze={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},He={class:"flex flex-col items-center justify-center px-5 pb-5"};function Je(e,o,m,d,b,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),E=s("font-awesome-icon"),R=s("el-button");return a(),i("div",ze,[l("div",Xe,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):x("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",He,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ke=v(qe,[["render",Je]]),Qe=$({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:T,ElAlert:te,ImageWrapper:ee},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),We={class:"preview"},Ye={class:"left"},Ze={class:"main"},et={class:"bot"},tt={class:"datetime"},ot={class:"info"},st={key:0,class:"prompt mt-2"},nt={key:0},lt={key:0,class:U({content:!0,failed:!0})},at={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},it={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ct={key:1,class:U({content:!0})},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},mt={key:2,class:U({content:!0})},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function _t(e,o,m,d,b,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",We,[l("div",Ye,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ze,[l("div",et,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",tt,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ot,[e.modelValue?.request?.prompt?(a(),i("p",st,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",nt," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",lt,[l("div",at,[(a(!0),i(V,null,I(e.images,(_,E)=>(a(),w(u,{key:E,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",rt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",it,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?.success===!1?(a(),i("div",ct,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ut,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",pt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?x("",!0):(a(),i("div",mt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ft,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const ht=v(Qe,[["render",_t],["__scopeId","data-v-74c3c3a5"]]),gt=$({name:"RecentPanel",components:{TaskPreview:ht,BotPlaceholder:se,NoTasks:ne,ScrollList:O},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),$t={key:0},vt={key:2,class:"w-full h-full flex items-center justify-center"};function bt(e,o,m,d,b,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",$t,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):x("",!0),e.tasks?.items?.length===0?(a(),i("div",vt,[t(p)])):x("",!0)],64)}const kt=v(gt,[["render",bt]]),xt="https://webhook.acedata.cloud/flux",wt=$({name:"FluxIndex",components:{ConfigPanel:Ke,Layout:de,RecentPanel:kt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await le({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:xt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),Y.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===W?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,o,m,d,b,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const vo=v(wt,[["render",yt]]);export{vo as default};
|
|
1
|
+
import{F as T}from"./index.es-DygHzaFn.js";import{E as L}from"./index-CZRS8Pfe.js";import{E as j}from"./index-6d44Eb2n.js";import{d as $,H as i,E as l,z as S,C as t,y as f,D as s,q as a,F as r,O as V,N as I,x as w,I as h,J as x,Q as U}from"./vendor-vue-C5BV5QrY.js";import{D as v,b1 as D,ao as A}from"./index-C-BFvYVr.js";import{a as F,b as M,c as B}from"./flux-BDAe6Szo.js";import{a as G,E as P}from"./index-CWVKY-hX.js";import{I as C,S as O}from"./ScrollList-B-Kj1kLR.js";import{E as N,a as q}from"./index-C1RBh9eY.js";import{p as z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as X}from"./ImagePreview-Bq0KGy5V.js";import{E as H}from"./index-C8xzto8F.js";import{E as y}from"./index-Denf2RlU.js";import{E as J}from"./index-DHTO4qxT.js";import{C as K}from"./Consumption-Cy8Mteic.js";import{a as Q}from"./price-DTknWM2g.js";import{b as W}from"./errorCode-Cqj9Td_Z.js";import{f as Y}from"./flux-QmmC8GT1.js";import{C as Z}from"./CopyToClipboard-C04ZOzPS.js";import{I as ee}from"./ImageWrapper-yInMKsPR.js";import{E as te}from"./index-BSvug3AN.js";import{E as oe}from"./index-BSWTwIvQ.js";import{B as se}from"./BotPlaceholder-DTdZq2kH.js";import{N as ne}from"./NoTasks-BRLJTbpH.js";import{l as le}from"./pagination-D5yjLyAE.js";import"./use-form-item-Bap1cNNT.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-meSLa91K.js";import"./index-CZmMZPJB.js";import"./typescript-BM7P3jg4.js";import"./index-CSFWZ8TW.js";import"./strings-DGr9fDRd.js";import"./isEqual-t6MQLHrP.js";import"./_Uint8Array-0RhRtRGu.js";import"./castArray-CnoZia7q.js";import"./debounce-BYulEKvt.js";import"./_baseIteratee-5bMPcoR7.js";import"./index-6b1XxUX-.js";import"./index-D-qg-A9-.js";import"./index-BGn0A-r6.js";import"./_baseClone-BZXxYXdF.js";import"./_initCloneObject-B2kwKJ_I.js";import"./index-DcgghNrB.js";import"./index-DQFJE3vX.js";const ae=$({name:"LayoutFlux",components:{ElDrawer:j,ElButton:L,FontAwesomeIcon:T},data(){return{drawer:!1}}}),re={class:"main flex flex-row flex-1"},ie={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ce={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ue(e,o,m,d,b,k){const c=s("font-awesome-icon"),u=s("el-button"),n=s("el-drawer");return a(),i("div",re,[l("div",ie,[S(e.$slots,"config",{},void 0,!0)]),l("div",ce,[S(e.$slots,"result",{},void 0,!0)]),t(u,{circle:"",class:"menu",onClick:o[0]||(o[0]=p=>e.drawer=!0)},{default:f(()=>[t(c,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":o[1]||(o[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:f(()=>[S(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=v(ae,[["render",ue],["__scopeId","data-v-3c0d2b44"]]),pe=$({name:"ModelSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"flux-dev",label:"flux-dev"},{value:"flux-pro",label:"flux-pro"},{value:"flux-pro-1.1",label:"flux-pro-1.1"},{value:"flux-pro-1.1-ultra",label:"flux-pro-1.1-ultra"},{value:"flux-kontext-pro",label:"flux-kontext-pro"},{value:"flux-kontext-max",label:"flux-kontext-max"}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||(this.value=F)}}),me={class:"field"},fe={class:"title font-bold"};function _e(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",me,[l("h2",fe,r(e.$t("flux.name.model")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=v(pe,[["render",_e],["__scopeId","data-v-8df4b8a7"]]),ge=$({name:"CountSelector",components:{ElSlider:q,InfoIcon:C,ElInputNumber:N},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug("set count",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||(this.value=M)}}),$e={class:"flex justify-between"},ve={class:"flex justify-start items-center"},be={class:"text-sm font-bold"},ke={class:"flex justify-end items-center"},xe={class:"w-full"};function we(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input-number"),n=s("el-slider");return a(),i("div",null,[l("div",$e,[l("div",ve,[l("span",be,r(e.$t("flux.name.numbers")),1),t(c,{content:e.$t("flux.description.numbers")},null,8,["content"])]),l("div",ke,[t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=p=>e.value=p),"controls-position":"right"},null,8,["modelValue"])])]),l("div",xe,[t(n,{modelValue:e.value,"onUpdate:modelValue":o[1]||(o[1]=p=>e.value=p),min:1,max:4,step:1},null,8,["modelValue"])])])}const ye=v(ge,[["render",we]]),Ve=$({name:"ActionSelector",components:{ElSelect:P,ElOption:G},props:{modelValue:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{options:[{value:"generate",label:this.$t("flux.name.generate")},{value:"edits",label:this.$t("flux.name.edits")}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||(this.value=B)}}),Ee={class:"field"},Te={class:"title font-bold"};function Ie(e,o,m,d,b,k){const c=s("el-option"),u=s("el-select");return a(),i("div",Ee,[l("h2",Te,r(e.$t("flux.name.task")),1),t(u,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=n=>e.value=n),class:"value",placeholder:e.$t("flux.placeholder.select")},{default:f(()=>[(a(!0),i(V,null,I(e.options,n=>(a(),w(c,{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Se=v(Ve,[["render",Ie],["__scopeId","data-v-81fd05e5"]]),Le=$({name:"ImageUrlInput",components:{ElUpload:H,ElButton:L,InfoIcon:C,FontAwesomeIcon:T,ImagePreview:X},mixins:[z],emits:["change"],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)}},watch:{urls:{handler(e){console.debug("URLs changed:",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){y.warning(this.$t("flux.message.uploadStartImageExceed"))},onError(){y.error(this.$t("flux.message.uploadStartImageError"))}}}),Ue={class:"relative"},Ce={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},Ge={class:"text-sm font-bold"};function Pe(e,o,m,d,b,k){const c=s("info-icon"),u=s("image-preview"),n=s("font-awesome-icon"),p=s("el-button"),g=s("el-upload");return a(),i("div",Ue,[l("div",Ce,[l("div",Ae,[l("span",Ge,r(e.$t("flux.name.imageUrl")),1),t(c,{content:e.$t("flux.description.imageUrl")},null,8,["content"])])]),t(g,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":o[0]||(o[0]=_=>e.fileList=_),name:"file",limit:5,class:"upload-wrapper",accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",multiple:!0,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:f(({file:_})=>[t(u,{url:_.url||_.response?.file_url,name:_.name,percentage:_.percentage,onRemove:E=>e.fileList.splice(e.fileList.indexOf(_),1)},null,8,["url","name","percentage","onRemove"])]),default:f(()=>[t(p,{round:"",type:"primary",size:"small",class:"btn btn-upload"},{default:f(()=>[t(n,{icon:"fa-solid fa-upload",class:"icon mr-1"}),h(" "+r(e.$t("flux.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","headers"])])}const Re=v(Le,[["render",Pe],["__scopeId","data-v-1b692c6e"]]),je="",De=$({name:"PromptInput",components:{ElInput:J,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("flux/setConfig",{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=je)}}),Fe={class:"field"},Me={class:"box"},Be={class:"title font-bold"};function Oe(e,o,m,d,b,k){const c=s("info-icon"),u=s("el-input");return a(),i("div",Fe,[l("div",Me,[l("h2",Be,r(e.$t("flux.name.prompt")),1),t(c,{content:e.$t("flux.description.prompt"),class:"info"},null,8,["content"])]),t(u,{modelValue:e.prompt,"onUpdate:modelValue":o[0]||(o[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("flux.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ne=v(De,[["render",Oe],["__scopeId","data-v-96df0218"]]),qe=$({name:"PresetPanel",components:{ElButton:L,FontAwesomeIcon:T,PromptInput:Ne,ModelSelector:he,CountSelector:ye,Consumption:K,ActionSelector:Se,ImageUrlInput:Re},emits:["generate"],computed:{config(){return this.$store.state.flux?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit("generate")}}}),ze={class:"flex flex-col h-full"},Xe={class:"flex-1 overflow-y-auto p-5"},He={class:"flex flex-col items-center justify-center px-5 pb-5"};function Je(e,o,m,d,b,k){const c=s("action-selector"),u=s("prompt-input"),n=s("image-url-input"),p=s("model-selector"),g=s("count-selector"),_=s("consumption"),E=s("font-awesome-icon"),R=s("el-button");return a(),i("div",ze,[l("div",Xe,[t(c,{class:"mb-4"}),t(u,{class:"mb-4"}),e.config?.action==="edits"?(a(),w(n,{key:0,class:"mb-4"})):x("",!0),t(p,{class:"mb-4"}),t(g,{class:"mb-4"})]),l("div",He,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),t(R,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:f(()=>[t(E,{icon:"fa-solid fa-magic",class:"mr-2"}),h(" "+r(e.$t("flux.button.generate")),1)]),_:1},8,["onClick"])])])}const Ke=v(qe,[["render",Je]]),Qe=$({name:"TaskPreview",components:{ElImage:oe,CopyToClipboard:Z,FontAwesomeIcon:T,ElAlert:te,ImageWrapper:ee},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[];const o=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(m=>{let d=m;o&&(d.action=o),e.push(d)}),e}},methods:{onDownload(e,o){e.stopPropagation(),console.log("on download"),window.open(o,"_blank")},onOpenImage(e){window.open(e,"_blank")}}}),We={class:"preview"},Ye={class:"left"},Ze={class:"main"},et={class:"bot"},tt={class:"datetime"},ot={class:"info"},st={key:0,class:"prompt mt-2"},nt={key:0},lt={key:0,class:U({content:!0,failed:!0})},at={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},it={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ct={key:1,class:U({content:!0})},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},dt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},mt={key:2,class:U({content:!0})},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function _t(e,o,m,d,b,k){const c=s("el-image"),u=s("image-wrapper"),n=s("font-awesome-icon"),p=s("copy-to-clipboard"),g=s("el-alert");return a(),i("div",We,[l("div",Ye,[t(c,{src:"https://cdn.acedata.cloud/ogm2oa.png",class:"avatar"})]),l("div",Ze,[l("div",et,[h(r(e.$t("flux.name.fluxBot"))+" ",1),l("span",tt,r(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),l("div",ot,[e.modelValue?.request?.prompt?(a(),i("p",st,[h(r(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?x("",!0):(a(),i("span",nt," - ("+r(e.$t("flux.status.pending"))+") ",1))])):x("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",lt,[l("div",at,[(a(!0),i(V,null,I(e.images,(_,E)=>(a(),w(u,{key:E,src:_?.image_url,"raw-src":_?.image_url,"model-value":_},null,8,["src","raw-src","model-value"]))),128))]),t(g,{closable:!1,class:"mt-2 success"},{default:f(()=>[l("p",rt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.model"))+": "+r(e.modelValue?.request?.model),1)]),l("p",it,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?.success===!1?(a(),i("div",ct,[t(g,{closable:!1,class:"failure"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ut,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),l("p",dt,[t(n,{icon:"fa-solid fa-circle-info",class:"mr-1"}),h(" "+r(e.$t("flux.name.failureReason"))+": "+r(e.modelValue?.response?.error?.message)+" ",1),t(p,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),l("p",pt,[t(n,{icon:"fa-solid fa-hashtag",class:"mr-1"}),h(" "+r(e.$t("flux.name.traceId"))+": "+r(e.modelValue?.response?.trace_id)+" ",1),t(p,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])]),_:1})])):x("",!0),e.modelValue?.response?x("",!0):(a(),i("div",mt,[t(g,{closable:!1,class:"info"},{template:f(()=>[t(n,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),h(" "+r(e.$t("flux.name.failure")),1)]),default:f(()=>[l("p",ft,[t(n,{icon:"fa-solid fa-magic",class:"mr-1"}),h(" "+r(e.$t("flux.name.taskId"))+": "+r(e.modelValue?.id)+" ",1),t(p,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const ht=v(Qe,[["render",_t],["__scopeId","data-v-74c3c3a5"]]),gt=$({name:"RecentPanel",components:{TaskPreview:ht,BotPlaceholder:se,NoTasks:ne,ScrollList:O},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),$t={key:0},vt={key:2,class:"w-full h-full flex items-center justify-center"};function bt(e,o,m,d,b,k){const c=s("bot-placeholder"),u=s("task-preview"),n=s("scroll-list"),p=s("no-tasks");return a(),i(V,null,[e.tasks?.items===void 0?(a(),i("div",$t,[t(c)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(n,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:o[0]||(o[0]=g=>e.$emit("reach-top"))},{default:f(()=>[(a(!0),i(V,null,I(e.tasks?.items,g=>(a(),w(u,{key:g.id,"model-value":g},null,8,["model-value"]))),128))]),_:1},8,["loading"])):x("",!0),e.tasks?.items?.length===0?(a(),i("div",vt,[t(p)])):x("",!0)],64)}const kt=v(gt,[["render",bt]]),xt="https://webhook.acedata.cloud/flux",wt=$({name:"FluxIndex",components:{ConfigPanel:Ke,Layout:de,RecentPanel:kt},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,o){e?.items?.length>o?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await le({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("flux/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("flux/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:o=5,createdAtMin:m,createdAtMax:d}=e||{};console.debug("limit",o,"createdAtMin",m,"createdAtMax",d),this.fetchingTasks=!0;try{await this.$store.dispatch("flux/getTasks",{limit:o,createdAtMin:m,createdAtMax:d})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:xt},o=this.credential?.token;if(!o){console.error("no token specified");return}y.info(this.$t("flux.message.startingTask")),Y.generate(e,{token:o}).then(()=>{y.success(this.$t("flux.message.startTaskSuccess"))}).catch(m=>{const d=m?.response?.data;d?.error?.code===W?y.error(this.$t("flux.message.usedUp")):y.error(this.$t("flux.message.startTaskFailed")+d?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function yt(e,o,m,d,b,k){const c=s("config-panel"),u=s("recent-panel"),n=s("layout");return a(),w(n,null,{config:f(()=>[t(c,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:f(()=>[t(u,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const vo=v(wt,[["render",yt]]);export{vo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as S,d as V}from"./avatar-
|
|
1
|
+
import{L as S,d as V}from"./avatar-DetbA60-.js";import{bc as q,b8 as A,bd as G,be as M,b2 as j,bb as O,D as w,bf as P}from"./index-C-BFvYVr.js";import{b as z,E as J,a as K}from"./index-BIMvFxYm.js";import{E as W}from"./index-CZRS8Pfe.js";import{E as X,a as Y}from"./index-C4dQyheM.js";import{a as L,E as R}from"./index-C5gLyNyO.js";import{d as g,x as u,y as n,C as o,G as i,J as p,I as _,F as m,H as I,E as f,D as t,K as Q,q as r}from"./vendor-vue-C5BV5QrY.js";import{F as Z}from"./index.es-DygHzaFn.js";import{a as N,b as x,c as ee,E as oe}from"./index-BqSzBW6X.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-BM7P3jg4.js";import"./index-CX47aqSL.js";import"./index-meSLa91K.js";import"./index-CZmMZPJB.js";import"./index-BuyEbX8F.js";import"./index-6b1XxUX-.js";import"./use-form-item-Bap1cNNT.js";import"./index-CSFWZ8TW.js";import"./dropdown-CrejjKNE.js";import"./castArray-CnoZia7q.js";const te=g({name:"TopHeader",components:{ElCol:R,Logo:S,ElRow:L,ElDropdown:Y,ElMenu:K,ElMenuItem:J,ElDropdownItem:X,ElButton:W,ElSubMenu:z},data(){return{defaultAvatar:V,products:"chat"}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated}},methods:{openTab(e){window.open(e,"_blank")},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:j})},onLogin(){this.$router.push({name:M})},onDownload(){this.$router.push({name:G})},onProfile(){const e=O();window.open(A(`${e}/user/profile`),"_blank")},onVerify(){const e=O();window.open(A(`${e}/user/verify`),"_blank")},onConsole(){this.$router.push({name:q})},async onLogout(){this.$store.dispatch("logout")}}}),ne={key:0,class:"mt-4 pr-10"},ae={key:1,class:"float-right"},se=["src"];function re(e,s,C,E,y,D){const h=t("logo"),c=t("el-col"),a=t("el-menu-item"),b=t("el-sub-menu"),$=t("el-menu"),v=t("el-button"),k=t("language-selector"),U=t("dark-selector"),T=t("el-dropdown-item"),B=t("el-dropdown-menu"),F=t("el-dropdown"),H=t("el-row"),l=Q("t");return r(),u(H,{class:"header"},{default:n(()=>[o(c,{md:4,xs:24,class:"brand-col"},{default:n(()=>[o(h,{onClick:e.onHome},null,8,["onClick"])]),_:1}),o(c,{md:16,xs:13},{default:n(()=>[o($,{"default-active":e.active,mode:"horizontal",class:"menu",ellipsis:!0,onSelect:e.onSelect},{default:n(()=>[o(b,{index:e.products},{title:n(()=>[_(m(e.$t("common.nav.products")),1)]),default:n(()=>[e.site?.features?.chatgpt?.enabled?i((r(),u(a,{key:0,index:"/chat"},null,512)),[[l,"index.title.chat"]]):p("",!0),e.site?.features?.midjourney?.enabled?i((r(),u(a,{key:1,index:"/midjourney"},null,512)),[[l,"index.title.midjourney"]]):p("",!0),e.site?.features?.qrart?.enabled?i((r(),u(a,{key:2,index:"/qrart"},null,512)),[[l,"index.title.qrart"]]):p("",!0),e.site?.features?.suno?.enabled?i((r(),u(a,{key:3,index:"/suno"},null,512)),[[l,"index.title.suno"]]):p("",!0),e.site?.features?.luma?.enabled?i((r(),u(a,{key:4,index:"/luma"},null,512)),[[l,"index.title.luma"]]):p("",!0),e.site?.features?.headshots?.enabled?i((r(),u(a,{key:5,index:"/headshots"},null,512)),[[l,"index.title.headshots"]]):p("",!0)]),_:1},8,["index"]),i(o(a,{onRoute:d=>{},onClick:e.onDownload},null,8,["onClick"]),[[l,"common.nav.mobileApp"]]),i(o(a,{onRoute:d=>{},onClick:s[0]||(s[0]=d=>e.openTab("https://platform.acedata.cloud"))},null,512),[[l,"common.nav.apiPlatform"]]),i(o(a,{onRoute:d=>{},onClick:s[1]||(s[1]=d=>e.openTab("https://platform.acedata.cloud/support"))},null,512),[[l,"common.nav.support"]]),i(o(a,{onRoute:d=>{},onClick:s[2]||(s[2]=d=>e.openTab("https://platform.acedata.cloud/earning"))},null,512),[[l,"common.nav.referral"]])]),_:1},8,["default-active","onSelect"])]),_:1}),o(c,{md:4,xs:11},{default:n(()=>[e.authenticated?(r(),I("div",ae,[f("div",{class:"console",onClick:s[3]||(s[3]=(...d)=>e.onConsole&&e.onConsole(...d))},m(e.$t("common.button.console")),1),o(F,{trigger:"click"},{dropdown:n(()=>[o(B,null,{default:n(()=>[o(T,{onClick:e.onProfile},{default:n(()=>[_(m(e.$t("common.button.profile")),1)]),_:1},8,["onClick"]),o(T,{onClick:e.onLogout},{default:n(()=>[_(m(e.$t("common.button.logout")),1)]),_:1},8,["onClick"])]),_:1})]),default:n(()=>[f("img",{src:e.user?.avatar||e.defaultAvatar,class:"avatar"},null,8,se)]),_:1})])):(r(),I("div",ne,[o(v,{type:"primary",class:"float-right",size:"small",round:"",onClick:e.onLogin},{default:n(()=>[_(m(e.$t("common.button.login")),1)]),_:1},8,["onClick"]),o(k,{class:"locale float-right mr-4"}),o(U,{class:"float-right mr-4"})]))]),_:1})]),_:1})}const le=w(te,[["render",re]]),ie=g({name:"BottomFooter",components:{ElContainer:N,ElRow:L,ElCol:R,FontAwesomeIcon:Z},data(){return{faGithub:P}},computed:{},methods:{}}),ue={href:"/download"},me={href:"https://platform.acedata.cloud"},ce=["title"];function de(e,s,C,E,y,D){const h=t("font-awesome-icon"),c=t("el-col"),a=t("el-row"),b=t("el-container");return r(),u(b,{id:"footer",class:"footer"},{default:n(()=>[o(a,{class:"w-full"},{default:n(()=>[o(c,{class:"container",span:18,offset:3},{default:n(()=>[o(a,null,{default:n(()=>[o(c,{span:24,class:"text-center"},{default:n(()=>[f("p",null,[f("a",ue,m(e.$t("common.nav.mobileApp")),1),s[0]||(s[0]=_(" · ",-1)),f("a",me,m(e.$t("common.entity.website")),1),_(" © "+m(new Date().getFullYear())+" "+m(e.$t("common.entity.copyright"))+" · ",1),f("a",{href:"https://github.com/AceDataCloud/Nexior",target:"_blank",rel:"noopener noreferrer",class:"github-link",title:e.$t("common.nav.github")},[o(h,{icon:e.faGithub},null,8,["icon"])],8,ce)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const pe=w(ie,[["render",de],["__scopeId","data-v-f6b91b08"]]),_e=g({name:"LayoutIndex",components:{TopHeader:le,BottomFooter:pe,ElContainer:N,ElMain:oe,ElFooter:ee,ElHeader:x}});function fe(e,s,C,E,y,D){const h=t("top-header"),c=t("el-header"),a=t("router-view"),b=t("el-main"),$=t("bottom-footer"),v=t("el-footer"),k=t("el-container");return r(),u(k,{class:"wrapper min-h-[100vh]"},{default:n(()=>[o(c,{class:"header p-0 h-auto"},{default:n(()=>[o(h)]),_:1}),o(b,{class:"main"},{default:n(()=>[o(a)]),_:1}),o(v,{class:"footer p-0 h-auto"},{default:n(()=>[o($)]),_:1})]),_:1})}const Se=w(_e,[["render",fe]]);export{Se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as x}from"./index.es-2lzQ8vMU.js";import{E as A}from"./index-Dl6KqLVE.js";import{E as O}from"./index-aK6rv_gD.js";import{d as h,H as o,E as r,z as E,C as d,y as k,D as i,q as t,F as a,I,J as c,O as b,N as y,x as v,P as z}from"./vendor-vue-C5BV5QrY.js";import{D as m,ao as V}from"./index-Bn7YDYmR.js";import{E as U}from"./index-CGLEnOu2.js";import{a as N,E as P}from"./index-D37lqh67.js";import{C as L}from"./Consumption-98bh7-Af.js";import{a as D}from"./price-C9hkxRAq.js";import{E as G,a as B}from"./index-D5P6dASJ.js";import{b as T}from"./errorCode-Cqj9Td_Z.js";import{E as w}from"./index-DEhQFSab.js";import"./use-form-item-DTGT08pf.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-CoAxGsjg.js";import"./index-BfRP23SC.js";import"./index-DLEICRsh.js";import"./index-g-OqTOL-.js";import"./index-zHy_Tns_.js";import"./strings-DGr9fDRd.js";import"./isEqual-BQxacRy6.js";import"./_Uint8Array-BLlXLAO2.js";import"./castArray-yAIf1Ihj.js";import"./debounce-kCVbleAy.js";import"./_baseIteratee-Cg1nAllN.js";import"./index-BLBMDJiy.js";import"./index-CFt0C_sM.js";const K=h({name:"LayoutSerp",components:{ElDrawer:O,ElButton:A,FontAwesomeIcon:x},data(){return{drawer:!1}}}),Q={class:"main flex flex-row flex-1"},H={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},J={class:"result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function M(e,n,p,_,f,g){const s=i("font-awesome-icon"),l=i("el-button"),u=i("el-drawer");return t(),o("div",Q,[r("div",H,[E(e.$slots,"config",{},void 0,!0)]),r("div",J,[E(e.$slots,"result",{},void 0,!0)]),d(l,{circle:"",class:"menu",onClick:n[0]||(n[0]=$=>e.drawer=!0)},{default:k(()=>[d(s,{icon:"fa-solid fa-search"})]),_:1}),d(u,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:k(()=>[E(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const W=m(K,[["render",M],["__scopeId","data-v-99dba970"]]),X=h({name:"QueryInput",components:{ElInput:U},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit("serp/setConfig",{...this.$store.state.serp?.config,query:e})}}}}),Y={class:"field"},Z={class:"box"},ee={class:"title font-bold"};function te(e,n,p,_,f,g){const s=i("el-input");return t(),o("div",Y,[r("div",Z,[r("h2",ee,a(e.$t("serp.name.query")),1)]),d(s,{modelValue:e.query,"onUpdate:modelValue":n[0]||(n[0]=l=>e.query=l),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("serp.placeholder.query")},null,8,["modelValue","placeholder"])])}const se=m(X,[["render",te],["__scopeId","data-v-3582b195"]]),oe=h({name:"TypeSelector",components:{ElSelect:P,ElOption:N},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||(this.value="search")}}),re={class:"field"},ae={class:"title font-bold"};function ne(e,n,p,_,f,g){const s=i("el-option"),l=i("el-select");return t(),o("div",re,[r("h2",ae,a(e.$t("serp.name.type")),1),d(l,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=u=>e.value=u),class:"value"},{default:k(()=>[d(s,{value:"search",label:e.$t("serp.type.search")},null,8,["label"]),d(s,{value:"images",label:e.$t("serp.type.images")},null,8,["label"]),d(s,{value:"news",label:e.$t("serp.type.news")},null,8,["label"]),d(s,{value:"videos",label:e.$t("serp.type.videos")},null,8,["label"])]),_:1},8,["modelValue"])])}const le=m(oe,[["render",ne],["__scopeId","data-v-2913fb62"]]),ie=h({name:"CountryInput",components:{ElInput:U},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||(this.value="US")}}),ce={class:"field"},de={class:"title font-bold"};function ue(e,n,p,_,f,g){const s=i("el-input");return t(),o("div",ce,[r("h2",de,a(e.$t("serp.name.country")),1),d(s,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("serp.placeholder.country")},null,8,["modelValue","placeholder"])])}const pe=m(ie,[["render",ue],["__scopeId","data-v-f0672cc6"]]),he=h({name:"LanguageInput",components:{ElInput:U},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||(this.value="en")}}),me={class:"field"},_e={class:"title font-bold"};function fe(e,n,p,_,f,g){const s=i("el-input");return t(),o("div",me,[r("h2",_e,a(e.$t("serp.name.language")),1),d(s,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("serp.placeholder.language")},null,8,["modelValue","placeholder"])])}const ge=m(he,[["render",fe],["__scopeId","data-v-dc1c94b7"]]),$e=h({name:"SearchPanel",components:{ElButton:A,FontAwesomeIcon:x,QueryInput:se,TypeSelector:le,CountryInput:pe,LanguageInput:ge,Consumption:L},emits:["search"],computed:{config(){return this.$store.state.serp?.config},consumption(){return D(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===V.Request}},methods:{onSearch(){this.$emit("search")}}}),ve={class:"flex flex-col h-full"},be={class:"flex-1 overflow-y-auto p-5"},ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function ke(e,n,p,_,f,g){const s=i("query-input"),l=i("type-selector"),u=i("country-input"),$=i("language-input"),S=i("consumption"),R=i("font-awesome-icon"),q=i("el-button");return t(),o("div",ve,[r("div",be,[d(s,{class:"mb-4"}),d(l,{class:"mb-4"}),d(u,{class:"mb-4"}),d($,{class:"mb-4"})]),r("div",ye,[d(S,{value:e.consumption,service:e.service},null,8,["value","service"]),d(q,{type:"primary",class:"btn w-full",round:"",loading:e.searching,onClick:e.onSearch},{default:k(()=>[d(R,{icon:"fa-solid fa-search",class:"mr-2"}),I(" "+a(e.$t("serp.button.search")),1)]),_:1},8,["loading","onClick"])])])}const we=m($e,[["render",ke]]),xe=h({name:"KnowledgeGraph",props:{data:{type:Object,required:!0}}}),Se={class:"knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Re={class:"flex flex-row gap-4"},qe=["src","alt"],Ce={class:"flex-1 min-w-0"},Ee={key:0,class:"text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide"},Ve={class:"text-xl font-bold mb-1.5"},Ie={key:1,class:"text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed"},Ue=["href"],Ae={key:2,class:"text-sm"},je={class:"text-[var(--el-text-color-disabled)] flex-none font-medium"},Fe={class:"text-[var(--el-text-color-regular)]"};function Oe(e,n,p,_,f,g){return t(),o("div",Se,[r("div",Re,[e.data.image_url?(t(),o("img",{key:0,src:e.data.image_url,alt:e.data.title,class:"w-28 h-28 rounded-lg object-cover flex-none shadow-sm"},null,8,qe)):c("",!0),r("div",Ce,[e.data.type?(t(),o("div",Ee,a(e.data.type),1)):c("",!0),r("h3",Ve,a(e.data.title),1),e.data.description?(t(),o("p",Ie,[I(a(e.data.description)+" ",1),e.data.description_link?(t(),o("a",{key:0,href:e.data.description_link,target:"_blank",rel:"noopener noreferrer",class:"text-[var(--el-color-primary)] hover:underline ml-1"},a(e.data.description_source||"Source"),9,Ue)):c("",!0)])):c("",!0),e.data.attributes&&Object.keys(e.data.attributes).length?(t(),o("div",Ae,[(t(!0),o(b,null,y(e.data.attributes,(s,l)=>(t(),o("div",{key:l,class:"flex gap-2 mb-1 py-0.5"},[r("span",je,a(l)+":",1),r("span",Fe,a(s),1)]))),128))])):c("",!0)])])])}const ze=m(xe,[["render",Oe]]),Ne=h({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{const 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"}}}),Pe={class:"organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]"},Le={key:0,class:"flex items-center gap-2 mb-1.5"},De=["src","alt"],Ge={class:"text-xs text-[var(--el-text-color-secondary)] truncate"},Be={class:"text-xs text-[var(--el-text-color-disabled)]"},Te=["href"],Ke={key:1,class:"text-xs text-[var(--el-text-color-disabled)] mt-1"},Qe={key:2,class:"text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3"},He={key:3,class:"mt-3 flex flex-wrap gap-x-4 gap-y-1"},Je=["href"];function Me(e,n,p,_,f,g){return t(),o("div",Pe,[e.displayUrl?(t(),o("div",Le,[r("img",{src:e.faviconUrl,alt:e.hostname,class:"w-4 h-4 rounded-sm flex-none",loading:"lazy",onError:n[0]||(n[0]=(...s)=>e.onFaviconError&&e.onFaviconError(...s))},null,40,De),r("span",Ge,a(e.hostname),1),r("span",Be,a(e.pathname),1)])):c("",!0),r("a",{href:e.data.link,target:"_blank",rel:"noopener noreferrer",class:"text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block"},a(e.data.title),9,Te),e.data.date?(t(),o("div",Ke,a(e.data.date),1)):c("",!0),e.data.snippet?(t(),o("p",Qe,a(e.data.snippet),1)):c("",!0),e.data.sitelinks?.length?(t(),o("div",He,[(t(!0),o(b,null,y(e.data.sitelinks,(s,l)=>(t(),o("a",{key:l,href:s.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"},a(s.title),9,Je))),128))])):c("",!0)])}const We=m(Ne,[["render",Me]]),Xe=h({name:"ImageResults",props:{data:{type:Array,required:!0}}}),Ye={class:"rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Ze={class:"text-base font-bold mb-3"},et={class:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3"},tt=["href"],st=["src","alt"],ot={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"},rt={class:"text-xs text-white line-clamp-2"};function at(e,n,p,_,f,g){return t(),o("div",Ye,[r("h3",Ze,a(e.$t("serp.name.imageResults")),1),r("div",et,[(t(!0),o(b,null,y(e.data,(s,l)=>(t(),o("a",{key:l,href:s.link,target:"_blank",rel:"noopener noreferrer",class:"group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square"},[s.image_url?(t(),o("img",{key:0,src:s.image_url,alt:s.title,class:"w-full h-full object-cover transition-transform duration-300 group-hover:scale-105",loading:"lazy"},null,8,st)):c("",!0),r("div",ot,[r("span",rt,a(s.title),1)])],8,tt))),128))])])}const nt=m(Xe,[["render",at]]),lt=h({name:"VideoResults",props:{data:{type:Array,required:!0}}}),it={class:"text-base font-bold mb-3"},ct={class:"space-y-4"},dt=["href"],ut={class:"relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800"},pt=["src","alt"],ht={key:1,class:"absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded"},mt={class:"flex-1 min-w-0"},_t={class:"text-blue-600 group-hover:underline font-medium line-clamp-2"},ft={class:"text-xs text-gray-400 mt-1"},gt={key:0},$t={key:1},vt={key:2},bt={key:0,class:"text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2"};function yt(e,n,p,_,f,g){return t(),o("div",null,[r("h3",it,a(e.$t("serp.name.videoResults")),1),r("div",ct,[(t(!0),o(b,null,y(e.data,(s,l)=>(t(),o("a",{key:l,href:s.link,target:"_blank",rel:"noopener noreferrer",class:"flex gap-4 group"},[r("div",ut,[s.image_url?(t(),o("img",{key:0,src:s.image_url,alt:s.title,class:"w-full h-full object-cover",loading:"lazy"},null,8,pt)):c("",!0),s.duration?(t(),o("div",ht,a(s.duration),1)):c("",!0)]),r("div",mt,[r("div",_t,a(s.title),1),r("div",ft,[s.source?(t(),o("span",gt,a(s.source),1)):c("",!0),s.channel?(t(),o("span",$t," · "+a(s.channel),1)):c("",!0),s.date?(t(),o("span",vt," · "+a(s.date),1)):c("",!0)]),s.snippet?(t(),o("p",bt,a(s.snippet),1)):c("",!0)])],8,dt))),128))])])}const kt=m(lt,[["render",yt]]),wt=h({name:"NewsResults",props:{data:{type:Array,required:!0}}}),xt={class:"text-base font-bold mb-3"},St={class:"space-y-4"},Rt=["href"],qt={class:"flex-1 min-w-0"},Ct={class:"text-blue-600 group-hover:underline font-medium line-clamp-2"},Et={class:"text-xs text-gray-400 mt-1"},Vt={key:0},It={key:1},Ut={key:0,class:"text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2"},At={key:0,class:"flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800"},jt=["src","alt"];function Ft(e,n,p,_,f,g){return t(),o("div",null,[r("h3",xt,a(e.$t("serp.name.newsResults")),1),r("div",St,[(t(!0),o(b,null,y(e.data,(s,l)=>(t(),o("a",{key:l,href:s.link,target:"_blank",rel:"noopener noreferrer",class:"flex gap-4 group"},[r("div",qt,[r("div",Ct,a(s.title),1),r("div",Et,[s.source?(t(),o("span",Vt,a(s.source),1)):c("",!0),s.date?(t(),o("span",It," · "+a(s.date),1)):c("",!0)]),s.snippet?(t(),o("p",Ut,a(s.snippet),1)):c("",!0)]),s.image_url?(t(),o("div",At,[r("img",{src:s.image_url,alt:s.title,class:"w-full h-full object-cover",loading:"lazy"},null,8,jt)])):c("",!0)],8,Rt))),128))])])}const Ot=m(wt,[["render",Ft]]),zt=h({name:"PeopleAlsoAsk",components:{ElCollapse:B,ElCollapseItem:G},props:{data:{type:Array,required:!0}}}),Nt={class:"rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Pt={class:"text-base font-bold mb-3"},Lt={key:0,class:"text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed"},Dt=["href"];function Gt(e,n,p,_,f,g){const s=i("el-collapse-item"),l=i("el-collapse");return t(),o("div",Nt,[r("h3",Pt,a(e.$t("serp.name.peopleAlsoAsk")),1),d(l,null,{default:k(()=>[(t(!0),o(b,null,y(e.data,(u,$)=>(t(),v(s,{key:$,title:u.question||u.title||""},{default:k(()=>[u.snippet?(t(),o("p",Lt,a(u.snippet),1)):c("",!0),u.link?(t(),o("a",{key:1,href:u.link,target:"_blank",rel:"noopener noreferrer",class:"text-xs text-[var(--el-color-primary)] hover:underline"},a(u.title||u.link),9,Dt)):c("",!0)]),_:2},1032,["title"]))),128))]),_:1})])}const Bt=m(zt,[["render",Gt]]),Tt=h({name:"RelatedSearches",components:{FontAwesomeIcon:x},props:{data:{type:Array,required:!0}},emits:["search"],methods:{onSearch(e){e&&this.$emit("search",e)}}}),Kt={class:"rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Qt={class:"text-base font-bold mb-3"},Ht={class:"flex flex-wrap gap-2"},Jt=["onClick"];function Mt(e,n,p,_,f,g){const s=i("font-awesome-icon");return t(),o("div",Kt,[r("h3",Qt,a(e.$t("serp.name.relatedSearches")),1),r("div",Ht,[(t(!0),o(b,null,y(e.data,(l,u)=>(t(),o("button",{key:u,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:$=>e.onSearch(l.query)},[d(s,{icon:"fa-solid fa-magnifying-glass",class:"text-xs opacity-50"}),I(" "+a(l.query),1)],8,Jt))),128))])])}const Wt=m(Tt,[["render",Mt]]),Xt=h({name:"ResultPanel",components:{FontAwesomeIcon:x,KnowledgeGraph:ze,OrganicResult:We,ImageResults:nt,VideoResults:kt,NewsResults:Ot,PeopleAlsoAsk:Bt,RelatedSearches:Wt},emits:["related-search"],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===V.Request},noResults(){return this.$store.state.serp?.status?.search===V.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)}}}),Yt={class:"h-full overflow-y-auto p-6"},Zt={key:0,class:"max-w-3xl mx-auto py-8"},es={key:1,class:"flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]"},ts={class:"text-base"},ss={key:2,class:"max-w-3xl mx-auto"},os={key:1,class:"mb-6"},rs={key:3,class:"flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]"},as={class:"text-base"};function ns(e,n,p,_,f,g){const s=i("font-awesome-icon"),l=i("knowledge-graph"),u=i("organic-result"),$=i("image-results"),S=i("video-results"),R=i("news-results"),q=i("people-also-ask"),j=i("related-searches");return t(),o("div",Yt,[e.searching?(t(),o("div",Zt,[(t(),o(b,null,y(4,C=>r("div",{key:C,class:"mb-6 animate-pulse"},[...n[0]||(n[0]=[z('<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))])):e.noResults?(t(),o("div",es,[d(s,{icon:"fa-solid fa-face-meh",class:"text-5xl mb-4 opacity-40"}),r("p",ts,a(e.$t("serp.message.noResults")),1)])):e.results?(t(),o("div",ss,[e.results.knowledge_graph?.title?(t(),v(l,{key:0,data:e.results.knowledge_graph,class:"mb-6"},null,8,["data"])):c("",!0),e.results.organic?.length?(t(),o("div",os,[(t(!0),o(b,null,y(e.results.organic,(C,F)=>(t(),v(u,{key:F,data:C,class:"mb-1"},null,8,["data"]))),128))])):c("",!0),e.results.images?.length?(t(),v($,{key:2,data:e.results.images,class:"mb-6"},null,8,["data"])):c("",!0),e.results.videos?.length?(t(),v(S,{key:3,data:e.results.videos,class:"mb-6"},null,8,["data"])):c("",!0),e.results.news?.length?(t(),v(R,{key:4,data:e.results.news,class:"mb-6"},null,8,["data"])):c("",!0),e.results.people_also_ask?.length?(t(),v(q,{key:5,data:e.results.people_also_ask,class:"mb-6"},null,8,["data"])):c("",!0),e.results.related_searches?.length?(t(),v(j,{key:6,data:e.results.related_searches,class:"mb-6",onSearch:e.onRelatedSearch},null,8,["data","onSearch"])):c("",!0)])):(t(),o("div",rs,[d(s,{icon:"fa-solid fa-globe",class:"text-5xl mb-4 opacity-30"}),r("p",as,a(e.$t("serp.description.query")),1)]))])}const ls=m(Xt,[["render",ns]]),is=h({name:"SerpIndex",components:{Layout:W,SearchPanel:we,ResultPanel:ls},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(n){n?.response?.data?.error?.code===T?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 cs(e,n,p,_,f,g){const s=i("search-panel"),l=i("result-panel"),u=i("layout");return t(),v(u,null,{config:k(()=>[d(s,{onSearch:e.onSearch},null,8,["onSearch"])]),result:k(()=>[d(l,{onRelatedSearch:e.onRelatedSearch},null,8,["onRelatedSearch"])]),_:1})}const Ls=m(is,[["render",cs]]);export{Ls as default};
|
|
1
|
+
import{F as x}from"./index.es-DygHzaFn.js";import{E as A}from"./index-CZRS8Pfe.js";import{E as O}from"./index-6d44Eb2n.js";import{d as h,H as o,E as r,z as E,C as d,y as k,D as i,q as t,F as a,I,J as c,O as b,N as y,x as v,P as z}from"./vendor-vue-C5BV5QrY.js";import{D as m,ao as V}from"./index-C-BFvYVr.js";import{E as U}from"./index-DHTO4qxT.js";import{a as N,E as P}from"./index-CWVKY-hX.js";import{C as L}from"./Consumption-Cy8Mteic.js";import{a as D}from"./price-DTknWM2g.js";import{E as G,a as B}from"./index-Bll8JTHP.js";import{b as T}from"./errorCode-Cqj9Td_Z.js";import{E as w}from"./index-Denf2RlU.js";import"./use-form-item-Bap1cNNT.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-BM7P3jg4.js";import"./index-CZmMZPJB.js";import"./index-DcgghNrB.js";import"./index-meSLa91K.js";import"./index-CSFWZ8TW.js";import"./strings-DGr9fDRd.js";import"./isEqual-t6MQLHrP.js";import"./_Uint8Array-0RhRtRGu.js";import"./castArray-CnoZia7q.js";import"./debounce-BYulEKvt.js";import"./_baseIteratee-5bMPcoR7.js";import"./index-6b1XxUX-.js";import"./index-CX47aqSL.js";const K=h({name:"LayoutSerp",components:{ElDrawer:O,ElButton:A,FontAwesomeIcon:x},data(){return{drawer:!1}}}),Q={class:"main flex flex-row flex-1"},H={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},J={class:"result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function M(e,n,p,_,f,g){const s=i("font-awesome-icon"),l=i("el-button"),u=i("el-drawer");return t(),o("div",Q,[r("div",H,[E(e.$slots,"config",{},void 0,!0)]),r("div",J,[E(e.$slots,"result",{},void 0,!0)]),d(l,{circle:"",class:"menu",onClick:n[0]||(n[0]=$=>e.drawer=!0)},{default:k(()=>[d(s,{icon:"fa-solid fa-search"})]),_:1}),d(u,{modelValue:e.drawer,"onUpdate:modelValue":n[1]||(n[1]=$=>e.drawer=$),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:k(()=>[E(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const W=m(K,[["render",M],["__scopeId","data-v-99dba970"]]),X=h({name:"QueryInput",components:{ElInput:U},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit("serp/setConfig",{...this.$store.state.serp?.config,query:e})}}}}),Y={class:"field"},Z={class:"box"},ee={class:"title font-bold"};function te(e,n,p,_,f,g){const s=i("el-input");return t(),o("div",Y,[r("div",Z,[r("h2",ee,a(e.$t("serp.name.query")),1)]),d(s,{modelValue:e.query,"onUpdate:modelValue":n[0]||(n[0]=l=>e.query=l),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("serp.placeholder.query")},null,8,["modelValue","placeholder"])])}const se=m(X,[["render",te],["__scopeId","data-v-3582b195"]]),oe=h({name:"TypeSelector",components:{ElSelect:P,ElOption:N},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||(this.value="search")}}),re={class:"field"},ae={class:"title font-bold"};function ne(e,n,p,_,f,g){const s=i("el-option"),l=i("el-select");return t(),o("div",re,[r("h2",ae,a(e.$t("serp.name.type")),1),d(l,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=u=>e.value=u),class:"value"},{default:k(()=>[d(s,{value:"search",label:e.$t("serp.type.search")},null,8,["label"]),d(s,{value:"images",label:e.$t("serp.type.images")},null,8,["label"]),d(s,{value:"news",label:e.$t("serp.type.news")},null,8,["label"]),d(s,{value:"videos",label:e.$t("serp.type.videos")},null,8,["label"])]),_:1},8,["modelValue"])])}const le=m(oe,[["render",ne],["__scopeId","data-v-2913fb62"]]),ie=h({name:"CountryInput",components:{ElInput:U},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||(this.value="US")}}),ce={class:"field"},de={class:"title font-bold"};function ue(e,n,p,_,f,g){const s=i("el-input");return t(),o("div",ce,[r("h2",de,a(e.$t("serp.name.country")),1),d(s,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("serp.placeholder.country")},null,8,["modelValue","placeholder"])])}const pe=m(ie,[["render",ue],["__scopeId","data-v-f0672cc6"]]),he=h({name:"LanguageInput",components:{ElInput:U},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||(this.value="en")}}),me={class:"field"},_e={class:"title font-bold"};function fe(e,n,p,_,f,g){const s=i("el-input");return t(),o("div",me,[r("h2",_e,a(e.$t("serp.name.language")),1),d(s,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),class:"value",placeholder:e.$t("serp.placeholder.language")},null,8,["modelValue","placeholder"])])}const ge=m(he,[["render",fe],["__scopeId","data-v-dc1c94b7"]]),$e=h({name:"SearchPanel",components:{ElButton:A,FontAwesomeIcon:x,QueryInput:se,TypeSelector:le,CountryInput:pe,LanguageInput:ge,Consumption:L},emits:["search"],computed:{config(){return this.$store.state.serp?.config},consumption(){return D(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===V.Request}},methods:{onSearch(){this.$emit("search")}}}),ve={class:"flex flex-col h-full"},be={class:"flex-1 overflow-y-auto p-5"},ye={class:"flex flex-col items-center justify-center px-5 pb-5"};function ke(e,n,p,_,f,g){const s=i("query-input"),l=i("type-selector"),u=i("country-input"),$=i("language-input"),S=i("consumption"),R=i("font-awesome-icon"),q=i("el-button");return t(),o("div",ve,[r("div",be,[d(s,{class:"mb-4"}),d(l,{class:"mb-4"}),d(u,{class:"mb-4"}),d($,{class:"mb-4"})]),r("div",ye,[d(S,{value:e.consumption,service:e.service},null,8,["value","service"]),d(q,{type:"primary",class:"btn w-full",round:"",loading:e.searching,onClick:e.onSearch},{default:k(()=>[d(R,{icon:"fa-solid fa-search",class:"mr-2"}),I(" "+a(e.$t("serp.button.search")),1)]),_:1},8,["loading","onClick"])])])}const we=m($e,[["render",ke]]),xe=h({name:"KnowledgeGraph",props:{data:{type:Object,required:!0}}}),Se={class:"knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Re={class:"flex flex-row gap-4"},qe=["src","alt"],Ce={class:"flex-1 min-w-0"},Ee={key:0,class:"text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide"},Ve={class:"text-xl font-bold mb-1.5"},Ie={key:1,class:"text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed"},Ue=["href"],Ae={key:2,class:"text-sm"},je={class:"text-[var(--el-text-color-disabled)] flex-none font-medium"},Fe={class:"text-[var(--el-text-color-regular)]"};function Oe(e,n,p,_,f,g){return t(),o("div",Se,[r("div",Re,[e.data.image_url?(t(),o("img",{key:0,src:e.data.image_url,alt:e.data.title,class:"w-28 h-28 rounded-lg object-cover flex-none shadow-sm"},null,8,qe)):c("",!0),r("div",Ce,[e.data.type?(t(),o("div",Ee,a(e.data.type),1)):c("",!0),r("h3",Ve,a(e.data.title),1),e.data.description?(t(),o("p",Ie,[I(a(e.data.description)+" ",1),e.data.description_link?(t(),o("a",{key:0,href:e.data.description_link,target:"_blank",rel:"noopener noreferrer",class:"text-[var(--el-color-primary)] hover:underline ml-1"},a(e.data.description_source||"Source"),9,Ue)):c("",!0)])):c("",!0),e.data.attributes&&Object.keys(e.data.attributes).length?(t(),o("div",Ae,[(t(!0),o(b,null,y(e.data.attributes,(s,l)=>(t(),o("div",{key:l,class:"flex gap-2 mb-1 py-0.5"},[r("span",je,a(l)+":",1),r("span",Fe,a(s),1)]))),128))])):c("",!0)])])])}const ze=m(xe,[["render",Oe]]),Ne=h({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{const 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"}}}),Pe={class:"organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]"},Le={key:0,class:"flex items-center gap-2 mb-1.5"},De=["src","alt"],Ge={class:"text-xs text-[var(--el-text-color-secondary)] truncate"},Be={class:"text-xs text-[var(--el-text-color-disabled)]"},Te=["href"],Ke={key:1,class:"text-xs text-[var(--el-text-color-disabled)] mt-1"},Qe={key:2,class:"text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3"},He={key:3,class:"mt-3 flex flex-wrap gap-x-4 gap-y-1"},Je=["href"];function Me(e,n,p,_,f,g){return t(),o("div",Pe,[e.displayUrl?(t(),o("div",Le,[r("img",{src:e.faviconUrl,alt:e.hostname,class:"w-4 h-4 rounded-sm flex-none",loading:"lazy",onError:n[0]||(n[0]=(...s)=>e.onFaviconError&&e.onFaviconError(...s))},null,40,De),r("span",Ge,a(e.hostname),1),r("span",Be,a(e.pathname),1)])):c("",!0),r("a",{href:e.data.link,target:"_blank",rel:"noopener noreferrer",class:"text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block"},a(e.data.title),9,Te),e.data.date?(t(),o("div",Ke,a(e.data.date),1)):c("",!0),e.data.snippet?(t(),o("p",Qe,a(e.data.snippet),1)):c("",!0),e.data.sitelinks?.length?(t(),o("div",He,[(t(!0),o(b,null,y(e.data.sitelinks,(s,l)=>(t(),o("a",{key:l,href:s.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"},a(s.title),9,Je))),128))])):c("",!0)])}const We=m(Ne,[["render",Me]]),Xe=h({name:"ImageResults",props:{data:{type:Array,required:!0}}}),Ye={class:"rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Ze={class:"text-base font-bold mb-3"},et={class:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3"},tt=["href"],st=["src","alt"],ot={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"},rt={class:"text-xs text-white line-clamp-2"};function at(e,n,p,_,f,g){return t(),o("div",Ye,[r("h3",Ze,a(e.$t("serp.name.imageResults")),1),r("div",et,[(t(!0),o(b,null,y(e.data,(s,l)=>(t(),o("a",{key:l,href:s.link,target:"_blank",rel:"noopener noreferrer",class:"group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square"},[s.image_url?(t(),o("img",{key:0,src:s.image_url,alt:s.title,class:"w-full h-full object-cover transition-transform duration-300 group-hover:scale-105",loading:"lazy"},null,8,st)):c("",!0),r("div",ot,[r("span",rt,a(s.title),1)])],8,tt))),128))])])}const nt=m(Xe,[["render",at]]),lt=h({name:"VideoResults",props:{data:{type:Array,required:!0}}}),it={class:"text-base font-bold mb-3"},ct={class:"space-y-4"},dt=["href"],ut={class:"relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800"},pt=["src","alt"],ht={key:1,class:"absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded"},mt={class:"flex-1 min-w-0"},_t={class:"text-blue-600 group-hover:underline font-medium line-clamp-2"},ft={class:"text-xs text-gray-400 mt-1"},gt={key:0},$t={key:1},vt={key:2},bt={key:0,class:"text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2"};function yt(e,n,p,_,f,g){return t(),o("div",null,[r("h3",it,a(e.$t("serp.name.videoResults")),1),r("div",ct,[(t(!0),o(b,null,y(e.data,(s,l)=>(t(),o("a",{key:l,href:s.link,target:"_blank",rel:"noopener noreferrer",class:"flex gap-4 group"},[r("div",ut,[s.image_url?(t(),o("img",{key:0,src:s.image_url,alt:s.title,class:"w-full h-full object-cover",loading:"lazy"},null,8,pt)):c("",!0),s.duration?(t(),o("div",ht,a(s.duration),1)):c("",!0)]),r("div",mt,[r("div",_t,a(s.title),1),r("div",ft,[s.source?(t(),o("span",gt,a(s.source),1)):c("",!0),s.channel?(t(),o("span",$t," · "+a(s.channel),1)):c("",!0),s.date?(t(),o("span",vt," · "+a(s.date),1)):c("",!0)]),s.snippet?(t(),o("p",bt,a(s.snippet),1)):c("",!0)])],8,dt))),128))])])}const kt=m(lt,[["render",yt]]),wt=h({name:"NewsResults",props:{data:{type:Array,required:!0}}}),xt={class:"text-base font-bold mb-3"},St={class:"space-y-4"},Rt=["href"],qt={class:"flex-1 min-w-0"},Ct={class:"text-blue-600 group-hover:underline font-medium line-clamp-2"},Et={class:"text-xs text-gray-400 mt-1"},Vt={key:0},It={key:1},Ut={key:0,class:"text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2"},At={key:0,class:"flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800"},jt=["src","alt"];function Ft(e,n,p,_,f,g){return t(),o("div",null,[r("h3",xt,a(e.$t("serp.name.newsResults")),1),r("div",St,[(t(!0),o(b,null,y(e.data,(s,l)=>(t(),o("a",{key:l,href:s.link,target:"_blank",rel:"noopener noreferrer",class:"flex gap-4 group"},[r("div",qt,[r("div",Ct,a(s.title),1),r("div",Et,[s.source?(t(),o("span",Vt,a(s.source),1)):c("",!0),s.date?(t(),o("span",It," · "+a(s.date),1)):c("",!0)]),s.snippet?(t(),o("p",Ut,a(s.snippet),1)):c("",!0)]),s.image_url?(t(),o("div",At,[r("img",{src:s.image_url,alt:s.title,class:"w-full h-full object-cover",loading:"lazy"},null,8,jt)])):c("",!0)],8,Rt))),128))])])}const Ot=m(wt,[["render",Ft]]),zt=h({name:"PeopleAlsoAsk",components:{ElCollapse:B,ElCollapseItem:G},props:{data:{type:Array,required:!0}}}),Nt={class:"rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Pt={class:"text-base font-bold mb-3"},Lt={key:0,class:"text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed"},Dt=["href"];function Gt(e,n,p,_,f,g){const s=i("el-collapse-item"),l=i("el-collapse");return t(),o("div",Nt,[r("h3",Pt,a(e.$t("serp.name.peopleAlsoAsk")),1),d(l,null,{default:k(()=>[(t(!0),o(b,null,y(e.data,(u,$)=>(t(),v(s,{key:$,title:u.question||u.title||""},{default:k(()=>[u.snippet?(t(),o("p",Lt,a(u.snippet),1)):c("",!0),u.link?(t(),o("a",{key:1,href:u.link,target:"_blank",rel:"noopener noreferrer",class:"text-xs text-[var(--el-color-primary)] hover:underline"},a(u.title||u.link),9,Dt)):c("",!0)]),_:2},1032,["title"]))),128))]),_:1})])}const Bt=m(zt,[["render",Gt]]),Tt=h({name:"RelatedSearches",components:{FontAwesomeIcon:x},props:{data:{type:Array,required:!0}},emits:["search"],methods:{onSearch(e){e&&this.$emit("search",e)}}}),Kt={class:"rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]"},Qt={class:"text-base font-bold mb-3"},Ht={class:"flex flex-wrap gap-2"},Jt=["onClick"];function Mt(e,n,p,_,f,g){const s=i("font-awesome-icon");return t(),o("div",Kt,[r("h3",Qt,a(e.$t("serp.name.relatedSearches")),1),r("div",Ht,[(t(!0),o(b,null,y(e.data,(l,u)=>(t(),o("button",{key:u,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:$=>e.onSearch(l.query)},[d(s,{icon:"fa-solid fa-magnifying-glass",class:"text-xs opacity-50"}),I(" "+a(l.query),1)],8,Jt))),128))])])}const Wt=m(Tt,[["render",Mt]]),Xt=h({name:"ResultPanel",components:{FontAwesomeIcon:x,KnowledgeGraph:ze,OrganicResult:We,ImageResults:nt,VideoResults:kt,NewsResults:Ot,PeopleAlsoAsk:Bt,RelatedSearches:Wt},emits:["related-search"],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===V.Request},noResults(){return this.$store.state.serp?.status?.search===V.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)}}}),Yt={class:"h-full overflow-y-auto p-6"},Zt={key:0,class:"max-w-3xl mx-auto py-8"},es={key:1,class:"flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]"},ts={class:"text-base"},ss={key:2,class:"max-w-3xl mx-auto"},os={key:1,class:"mb-6"},rs={key:3,class:"flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]"},as={class:"text-base"};function ns(e,n,p,_,f,g){const s=i("font-awesome-icon"),l=i("knowledge-graph"),u=i("organic-result"),$=i("image-results"),S=i("video-results"),R=i("news-results"),q=i("people-also-ask"),j=i("related-searches");return t(),o("div",Yt,[e.searching?(t(),o("div",Zt,[(t(),o(b,null,y(4,C=>r("div",{key:C,class:"mb-6 animate-pulse"},[...n[0]||(n[0]=[z('<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))])):e.noResults?(t(),o("div",es,[d(s,{icon:"fa-solid fa-face-meh",class:"text-5xl mb-4 opacity-40"}),r("p",ts,a(e.$t("serp.message.noResults")),1)])):e.results?(t(),o("div",ss,[e.results.knowledge_graph?.title?(t(),v(l,{key:0,data:e.results.knowledge_graph,class:"mb-6"},null,8,["data"])):c("",!0),e.results.organic?.length?(t(),o("div",os,[(t(!0),o(b,null,y(e.results.organic,(C,F)=>(t(),v(u,{key:F,data:C,class:"mb-1"},null,8,["data"]))),128))])):c("",!0),e.results.images?.length?(t(),v($,{key:2,data:e.results.images,class:"mb-6"},null,8,["data"])):c("",!0),e.results.videos?.length?(t(),v(S,{key:3,data:e.results.videos,class:"mb-6"},null,8,["data"])):c("",!0),e.results.news?.length?(t(),v(R,{key:4,data:e.results.news,class:"mb-6"},null,8,["data"])):c("",!0),e.results.people_also_ask?.length?(t(),v(q,{key:5,data:e.results.people_also_ask,class:"mb-6"},null,8,["data"])):c("",!0),e.results.related_searches?.length?(t(),v(j,{key:6,data:e.results.related_searches,class:"mb-6",onSearch:e.onRelatedSearch},null,8,["data","onSearch"])):c("",!0)])):(t(),o("div",rs,[d(s,{icon:"fa-solid fa-globe",class:"text-5xl mb-4 opacity-30"}),r("p",as,a(e.$t("serp.description.query")),1)]))])}const ls=m(Xt,[["render",ns]]),is=h({name:"SerpIndex",components:{Layout:W,SearchPanel:we,ResultPanel:ls},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(n){n?.response?.data?.error?.code===T?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 cs(e,n,p,_,f,g){const s=i("search-panel"),l=i("result-panel"),u=i("layout");return t(),v(u,null,{config:k(()=>[d(s,{onSearch:e.onSearch},null,8,["onSearch"])]),result:k(()=>[d(l,{onRelatedSearch:e.onRelatedSearch},null,8,["onRelatedSearch"])]),_:1})}const Ls=m(is,[["render",cs]]);export{Ls as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as R,z as A,u as x,H as ee,ae as te,S as se,A as ie,h as V,E as ae,aZ as O,D as M,an as U,bN as oe}from"./index-Bn7YDYmR.js";import{E as ne}from"./index-x9pEAxsV.js";import{E as Z}from"./index-CGLEnOu2.js";import{E as G,a as q}from"./index-D83vqHYw.js";import{d as C,q as c,H as g,E as s,u as r,z as F,C as n,R as le,Q as I,F as o,J as w,c as P,x as _,y as a,G as H,O as re,N as de,M as j,I as h,K as W,D as u,a7 as ue}from"./vendor-vue-C5BV5QrY.js";import{E as J}from"./index-Dl6KqLVE.js";import{E as K}from"./index-CbW-RUg3.js";import{E as p}from"./index-DEhQFSab.js";import{E as me,a as ce}from"./index-FcsFTRum.js";import{E as pe}from"./index-DgysfsHq.js";import{E as fe,a as he}from"./index-D14VANp0.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-CoAxGsjg.js";import"./index-BfRP23SC.js";import"./index-DLEICRsh.js";import"./use-form-item-DTGT08pf.js";import"./castArray-yAIf1Ihj.js";import"./_baseClone-Bh3JK93r.js";import"./_Uint8Array-BLlXLAO2.js";import"./_initCloneObject-1g0v6DQg.js";import"./index-BuyEbX8F.js";import"./validator-CV9JtUBJ.js";import"./index-zHy_Tns_.js";import"./index-g-OqTOL-.js";import"./isPlainObject-DyQHv-ss.js";import"./_baseIteratee-Cg1nAllN.js";import"./isEqual-BQxacRy6.js";import"./debounce-kCVbleAy.js";import"./index-KHi_aXm4.js";import"./index-BLBMDJiy.js";const ge=C({name:"ImgEmpty"}),be=C({...ge,setup(e){const t=A("empty"),i=x();return(d,b)=>(c(),g("svg",{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[s("defs",null,[s("linearGradient",{id:`linearGradient-1-${r(i)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("linearGradient",{id:`linearGradient-2-${r(i)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("rect",{id:`path-3-${r(i)}`,x:"0",y:"0",width:"17",height:"36"},null,8,["id"])]),s("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[s("g",{transform:"translate(-1268.000000, -535.000000)"},[s("g",{transform:"translate(1268.000000, 535.000000)"},[s("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${r(t).cssVarBlockName("fill-color-3")})`},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,["fill"]),s("g",{transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},[s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,["fill"]),s("rect",{fill:`url(#linearGradient-1-${r(i)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,["fill"])]),s("rect",{fill:`url(#linearGradient-2-${r(i)})`,x:"13",y:"45",width:"40",height:"36"},null,8,["fill"]),s("g",{transform:"translate(53.000000, 45.000000)"},[s("use",{fill:`var(${r(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${r(i)}`},null,8,["fill","xlink:href"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${r(i)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,["fill","mask"])]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,["fill"])])])])]))}});var ye=R(be,[["__file","img-empty.vue"]]);const $e=ee({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),_e=C({name:"ElEmpty"}),ke=C({..._e,props:$e,setup(e){const t=e,{t:i}=te(),d=A("empty"),b=P(()=>t.description||i("el.table.emptyText")),k=P(()=>({width:se(t.imageSize)}));return(f,y)=>(c(),g("div",{class:I(r(d).b())},[s("div",{class:I(r(d).e("image")),style:le(r(k))},[f.image?(c(),g("img",{key:0,src:f.image,ondragstart:"return false"},null,8,["src"])):F(f.$slots,"image",{key:1},()=>[n(ye)])],6),s("div",{class:I(r(d).e("description"))},[f.$slots.description?F(f.$slots,"description",{key:0}):(c(),g("p",{key:1},o(r(b)),1))],2),f.$slots.default?(c(),g("div",{key:0,class:I(r(d).e("bottom"))},[F(f.$slots,"default")],2)):w("v-if",!0)],2))}});var ve=R(ke,[["__file","empty.vue"]]);const Q=ie(ve);class we{key="site-domains";async getAll(t={}){return await V.get(`/${this.key}/`,{params:t})}async get(t){return await V.get(`/${this.key}/${t}`)}async create(t){return await V.post(`/${this.key}/`,t)}async verify(t){return await V.post(`/${this.key}/${t}/verify/`)}async delete(t){return await V.delete(`/${this.key}/${t}`)}}const E=new we,Ce=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,Ve=["acedata.cloud","surl.id","localhost"];function Ee(e){let t=(e||"").trim().toLowerCase();if(!t)return{ok:!1,reason:"empty"};if(t.includes("://"))try{t=new URL(t).hostname||""}catch{return{ok:!1,reason:"invalid_url"}}if(t=t.replace(/\/.*$/,"").split(":")[0],!t)return{ok:!1,reason:"empty"};if(!t.includes("."))return{ok:!1,reason:"no_dot"};for(const d of Ve)if(t===d||t.endsWith("."+d))return{ok:!1,reason:"reserved"};const i=t.split(".");if(i.length<2)return{ok:!1,reason:"too_few_labels"};for(const d of i)if(!d||!Ce.test(d))return{ok:!1,reason:"bad_label"};return{ok:!0,value:t}}const De=C({name:"DomainsDialog",components:{ElDialog:O,ElButton:J,ElEmpty:Q,ElForm:q,ElFormItem:G,ElInput:Z,ElTag:ae,ElDivider:ne},props:{modelValue:{type:Boolean,required:!0},site:{type:Object,default:null}},emits:["update:modelValue"],data(){return{loading:!1,domains:[],bind:{hostname:""},binding:!1,busyId:null}},watch:{modelValue(e){e&&this.site?.id?this.fetchDomains():e||(this.domains=[],this.bind.hostname="",this.busyId=null)}},methods:{async fetchDomains(){if(this.site?.id){this.loading=!0;try{const{data:e}=await E.getAll({site:this.site.id});this.domains=e?.items||[]}catch(e){console.error("failed to load domains",e),p.error(this.$t("subsite.message.domainsLoadFailed"))}finally{this.loading=!1}}},async onBind(){if(!this.site?.id)return;const e=Ee(this.bind.hostname);if(!e.ok){p.warning(this.$t("subsite.message.hostnameInvalid"));return}this.binding=!0;try{const{data:t}=await E.create({site:this.site.id,hostname:e.value});p.success(this.$t("subsite.message.domainCreated")),this.domains=[t,...this.domains],this.bind.hostname=""}catch(t){const i=t?.response?.data?.hostname||t?.response?.data?.detail||t?.response?.data?.site||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainCreateFailed"))}finally{this.binding=!1}},async onVerify(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.verify(e.id);this.replaceRow(t),t.status==="Active"?p.success(this.$t("subsite.message.domainActive")):t.status==="Failed"?p.error(t.status_reason||this.$t("subsite.message.domainFailed")):p.info(this.$t("subsite.message.domainProgressed"))}catch(t){const i=t?.response?.data?.verification||t?.response?.data?.edgeone||t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainVerifyFailed"))}finally{this.busyId=null}}},async onRefresh(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.get(e.id);this.replaceRow(t)}catch(t){console.error("refresh failed",t)}finally{this.busyId=null}}},async onDelete(e){if(!(!e.id||!e.hostname)){try{await K.confirm(this.$t("subsite.message.domainDeleteConfirm",{hostname:e.hostname}),this.$t("common.button.delete"),{type:"warning",confirmButtonText:this.$t("common.button.delete"),cancelButtonText:this.$t("common.button.cancel")})}catch{return}this.busyId=e.id;try{await E.delete(e.id),this.domains=this.domains.filter(t=>t.id!==e.id)}catch(t){const i=t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainDeleteFailed"))}finally{this.busyId=null}}},replaceRow(e){const t=this.domains.findIndex(i=>i.id===e.id);t>=0?this.domains.splice(t,1,e):this.domains=[e,...this.domains]},canVerify(e){return e.status==="PendingDnsVerification"||e.status==="ProvisioningEo"||e.status==="ProvisioningCert"},verifyButtonLabel(e){return e==="PendingDnsVerification"?this.$t("subsite.button.verify"):this.$t("subsite.button.checkProgress")},statusLabel(e){if(!e)return"-";const t=`subsite.status.${e.charAt(0).toLowerCase()+e.slice(1)}`;return this.$t(t)},statusTagType(e){return e==="Active"?"success":e==="Failed"?"danger":e==="PendingDnsVerification"?"info":"warning"}}}),Se={class:"domains-body"},Be={class:"tip"},Ie={class:"domain-row-head"},Ne={class:"hostname"},ze={class:"row-actions"},Te={key:0,class:"status-reason error"},Fe={key:1,class:"dns-instructions"},Le={class:"instructions"},Ue={class:"dns-record"},Pe={class:"break"},Re={class:"bind-title"},Ae={class:"tip"};function Oe(e,t,i,d,b,k){const f=u("el-empty"),y=u("el-tag"),$=u("el-button"),N=u("el-divider"),v=u("el-input"),z=u("el-form-item"),T=u("el-form"),D=u("el-dialog"),S=W("loading");return c(),_(D,{"model-value":e.modelValue,title:e.$t("subsite.title.domains",{origin:e.site?.origin||""}),width:"640px",class:"domains-dialog","onUpdate:modelValue":t[3]||(t[3]=l=>e.$emit("update:modelValue",l))},{footer:a(()=>[s("span",null,[n($,{round:"",onClick:t[2]||(t[2]=l=>e.$emit("update:modelValue",!1))},{default:a(()=>[h(o(e.$t("common.button.close")),1)]),_:1}),n($,{round:"",type:"primary",loading:e.binding,disabled:!e.bind.hostname.trim(),onClick:e.onBind},{default:a(()=>[h(o(e.$t("subsite.button.bindDomain")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:a(()=>[H((c(),g("div",Se,[s("p",Be,o(e.$t("subsite.message.domainsIntro")),1),!e.loading&&e.domains.length===0?(c(),_(f,{key:0,description:e.$t("subsite.message.domainsEmpty")},null,8,["description"])):w("",!0),(c(!0),g(re,null,de(e.domains,l=>(c(),g("div",{key:l.id,class:"domain-row"},[s("div",Ie,[s("strong",Ne,o(l.hostname),1),n(y,{type:e.statusTagType(l.status),size:"small",class:"status-tag"},{default:a(()=>[h(o(e.statusLabel(l.status)),1)]),_:2},1032,["type"]),s("span",ze,[e.canVerify(l)?(c(),_($,{key:0,size:"small",type:"primary",loading:e.busyId===l.id,link:"",onClick:B=>e.onVerify(l)},{default:a(()=>[h(o(e.verifyButtonLabel(l.status)),1)]),_:2},1032,["loading","onClick"])):w("",!0),l.status!=="Active"?(c(),_($,{key:1,size:"small",link:"",loading:e.busyId===l.id,onClick:B=>e.onRefresh(l)},{default:a(()=>[h(o(e.$t("subsite.button.refresh")),1)]),_:1},8,["loading","onClick"])):w("",!0),n($,{size:"small",link:"",type:"danger",loading:e.busyId===l.id,onClick:B=>e.onDelete(l)},{default:a(()=>[h(o(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])])]),l.status_reason?(c(),g("div",Te,o(l.status_reason),1)):w("",!0),l.dns_instructions?(c(),g("div",Fe,[s("p",Le,o(l.dns_instructions.instructions),1),s("table",Ue,[s("tr",null,[s("th",null,o(e.$t("subsite.field.recordType")),1),s("td",null,[s("code",null,o(l.dns_instructions.record_type),1)])]),s("tr",null,[s("th",null,o(e.$t("subsite.field.recordName")),1),s("td",null,[s("code",null,o(l.dns_instructions.record_name),1)])]),s("tr",null,[s("th",null,o(e.$t("subsite.field.recordValue")),1),s("td",null,[s("code",Pe,o(l.dns_instructions.record_value),1)])])])])):w("",!0)]))),128)),n(N),s("h4",Re,o(e.$t("subsite.title.bindDomain")),1),n(T,{model:e.bind,"label-width":"auto",class:"form",onSubmit:t[1]||(t[1]=j(()=>{},["prevent"]))},{default:a(()=>[n(z,{label:e.$t("subsite.field.hostname"),required:""},{default:a(()=>[n(v,{modelValue:e.bind.hostname,"onUpdate:modelValue":t[0]||(t[0]=l=>e.bind.hostname=l),placeholder:e.$t("subsite.placeholder.hostname"),maxlength:"253",autofocus:""},null,8,["modelValue","placeholder"]),s("span",Ae,o(e.$t("subsite.message.hostnameTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])])),[[S,e.loading]])]),_:1},8,["model-value","title"])}const Me=M(De,[["render",Oe],["__scopeId","data-v-28d4f7c7"]]),Ze=/^(?!.*--)[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$/,Ge=C({name:"SubsiteIndex",components:{ElRow:he,ElCol:fe,ElCard:pe,ElButton:J,ElTable:ce,ElTableColumn:me,ElEmpty:Q,ElDialog:O,ElForm:q,ElFormItem:G,ElInput:Z,DomainsDialog:Me},data(){return{Plus:ue(oe),loading:!1,items:[],creating:{visible:!1,submitting:!1,form:{slug:"",title:""}},domainsDialog:{visible:!1,site:null}}},computed:{parentSite(){return this.$store.state.site},user(){return this.$store.getters.user},subdomainZone(){return this.parentSite?.features?.subsite?.subdomain_zone||this.parentSite?.origin||""},maxSubsitesPerUser(){const e=this.parentSite?.features?.subsite?.max_subsites_per_user;return typeof e=="number"&&e>0?e:5},canCreate(){return!!this.parentSite?.features?.subsite?.enabled&&!!this.subdomainZone&&!!this.user?.id&&this.items.length<this.maxSubsitesPerUser}},mounted(){if(!this.parentSite?.features?.subsite?.enabled){this.$router.replace("/");return}this.fetchSubsites()},methods:{async fetchSubsites(){const e=this.user?.id;if(!e){this.items=[];return}this.loading=!0;try{const{data:t}=await U.getAll({user_id:e}),i=t?.items||[],d=this.parentSite?.id;this.items=i.filter(b=>{if(b.id===d)return!1;const k=b.metadata||{};return d&&k.parent_site_id?k.parent_site_id===d:!!(b.origin&&this.subdomainZone&&b.origin.endsWith(`.${this.subdomainZone}`))})}catch(t){console.error("failed to load subsites",t),p.error(this.$t("subsite.message.loadFailed"))}finally{this.loading=!1}},onOpenCreate(){this.creating.form.slug="",this.creating.form.title="",this.creating.visible=!0},onCancelCreate(){this.creating.visible=!1},async onSubmitCreate(){const e=this.creating.form.slug.trim().toLowerCase();if(!Ze.test(e)){p.warning(this.$t("subsite.message.slugInvalid"));return}if(!this.subdomainZone){p.error(this.$t("subsite.message.zoneMissing"));return}const t=`${e}.${this.subdomainZone}`;this.creating.submitting=!0;try{const{data:i}=await U.create({origin:t,title:this.creating.form.title.trim()||void 0});p.success(this.$t("subsite.message.created")),this.creating.visible=!1,this.items=[i,...this.items],K.confirm(this.$t("subsite.message.openNowConfirm",{origin:t}),this.$t("subsite.title.openNow"),{confirmButtonText:this.$t("subsite.button.open"),cancelButtonText:this.$t("common.button.cancel"),type:"success"}).then(()=>window.open(`https://${t}/`,"_blank","noopener")).catch(()=>{})}catch(i){const d=i?.response?.data?.origin||i?.response?.data?.detail||i?.message;p.error(typeof d=="string"?d:this.$t("subsite.message.createFailed"))}finally{this.creating.submitting=!1}},onOpenSite(e){e.origin&&window.open(`https://${e.origin}/`,"_blank","noopener")},onManageSite(e){e.origin&&window.open(`https://${e.origin}/site`,"_blank","noopener")},onOpenDomains(e){this.domainsDialog.site=e,this.domainsDialog.visible=!0},rowUrl(e){return e.origin?`https://${e.origin}/`:"#"},formatDate(e){if(!e)return"-";try{return new Date(e).toLocaleString()}catch{return e}}}}),qe={class:"title"},He={class:"tip"},je=["href"],We={class:"tip"};function Je(e,t,i,d,b,k){const f=u("el-col"),y=u("el-button"),$=u("el-row"),N=u("el-empty"),v=u("el-table-column"),z=u("el-table"),T=u("el-card"),D=u("el-input"),S=u("el-form-item"),l=u("el-form"),B=u("el-dialog"),X=u("domains-dialog"),Y=W("loading");return c(),_($,{class:"panel"},{default:a(()=>[n(f,{span:24},{default:a(()=>[n($,{class:"header",justify:"space-between",align:"middle"},{default:a(()=>[n(f,{md:16,xs:24},{default:a(()=>[s("h2",qe,o(e.$t("subsite.title.index")),1),s("p",He,o(e.$t("subsite.message.indexTip")),1)]),_:1}),n(f,{md:8,xs:24,class:"header-actions"},{default:a(()=>[n(y,{type:"primary",round:"",icon:e.Plus,disabled:!e.canCreate,onClick:e.onOpenCreate},{default:a(()=>[h(o(e.$t("subsite.button.create")),1)]),_:1},8,["icon","disabled","onClick"])]),_:1})]),_:1}),H((c(),_(T,{shadow:"hover",class:"list-card"},{default:a(()=>[!e.loading&&e.items.length===0?(c(),_(N,{key:0,description:e.$t("subsite.message.empty")},null,8,["description"])):(c(),_(z,{key:1,data:e.items,stripe:""},{default:a(()=>[n(v,{label:e.$t("subsite.field.origin"),prop:"origin"},{default:a(({row:m})=>[s("a",{href:e.rowUrl(m),target:"_blank",rel:"noopener",class:"origin-link"},o(m.origin),9,je)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.title"),prop:"title"},{default:a(({row:m})=>[s("span",null,o(m.title||"-"),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.createdAt"),prop:"created_at",width:"180"},{default:a(({row:m})=>[s("span",null,o(e.formatDate(m.created_at)),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.actions"),width:"260",fixed:"right"},{default:a(({row:m})=>[n(y,{size:"small",link:"",type:"primary",onClick:L=>e.onOpenSite(m)},{default:a(()=>[h(o(e.$t("subsite.button.open")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:L=>e.onManageSite(m)},{default:a(()=>[h(o(e.$t("subsite.button.manage")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:L=>e.onOpenDomains(m)},{default:a(()=>[h(o(e.$t("subsite.button.domains")),1)]),_:1},8,["onClick"])]),_:1},8,["label"])]),_:1},8,["data"]))]),_:1})),[[Y,e.loading]])]),_:1}),n(B,{modelValue:e.creating.visible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.creating.visible=m),title:e.$t("subsite.title.create"),width:"480px",class:"create-dialog"},{footer:a(()=>[s("span",null,[n(y,{round:"",onClick:e.onCancelCreate},{default:a(()=>[h(o(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(y,{round:"",type:"primary",loading:e.creating.submitting,disabled:!e.creating.form.slug.trim(),onClick:e.onSubmitCreate},{default:a(()=>[h(o(e.$t("common.button.confirm")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:a(()=>[n(l,{model:e.creating.form,"label-width":"auto",class:"form",onSubmit:t[2]||(t[2]=j(()=>{},["prevent"]))},{default:a(()=>[n(S,{label:e.$t("subsite.field.slug"),required:""},{default:a(()=>[n(D,{modelValue:e.creating.form.slug,"onUpdate:modelValue":t[0]||(t[0]=m=>e.creating.form.slug=m),placeholder:e.$t("subsite.placeholder.slug"),maxlength:"32","show-word-limit":"",autofocus:""},{append:a(()=>[h("."+o(e.subdomainZone),1)]),_:1},8,["modelValue","placeholder"]),s("span",We,o(e.$t("subsite.message.slugTip")),1)]),_:1},8,["label"]),n(S,{label:e.$t("subsite.field.title")},{default:a(()=>[n(D,{modelValue:e.creating.form.title,"onUpdate:modelValue":t[1]||(t[1]=m=>e.creating.form.title=m),placeholder:e.$t("subsite.placeholder.title"),maxlength:"80"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),n(X,{modelValue:e.domainsDialog.visible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.domainsDialog.visible=m),site:e.domainsDialog.site},null,8,["modelValue","site"])]),_:1})}const Dt=M(Ge,[["render",Je],["__scopeId","data-v-5e9a2d4b"]]);export{Dt as default};
|
|
1
|
+
import{y as R,z as A,u as x,H as ee,ae as te,S as se,A as ie,h as V,E as oe,aZ as O,D as M,an as U,bN as ae}from"./index-C-BFvYVr.js";import{E as ne}from"./index-o-K9lIjq.js";import{E as Z}from"./index-DHTO4qxT.js";import{E as G,a as q}from"./index-Bbcg_VL1.js";import{d as C,q as c,H as g,E as s,u as r,z as F,C as n,R as le,Q as I,F as a,J as w,c as P,x as _,y as o,G as H,O as re,N as de,M as j,I as h,K as W,D as u,a7 as ue}from"./vendor-vue-C5BV5QrY.js";import{E as J}from"./index-CZRS8Pfe.js";import{E as K}from"./index-CMXjexAl.js";import{E as p}from"./index-Denf2RlU.js";import{E as me,a as ce}from"./index-DEl7Jf-g.js";import{E as pe}from"./index-WLnVbCSu.js";import{E as fe,a as he}from"./index-C5gLyNyO.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-BM7P3jg4.js";import"./index-CZmMZPJB.js";import"./index-DcgghNrB.js";import"./use-form-item-Bap1cNNT.js";import"./castArray-CnoZia7q.js";import"./_baseClone-BZXxYXdF.js";import"./_Uint8Array-0RhRtRGu.js";import"./_initCloneObject-B2kwKJ_I.js";import"./index-BuyEbX8F.js";import"./validator-DyJoR1pm.js";import"./index-CSFWZ8TW.js";import"./index-meSLa91K.js";import"./isPlainObject-UHNWDVqK.js";import"./_baseIteratee-5bMPcoR7.js";import"./isEqual-t6MQLHrP.js";import"./debounce-BYulEKvt.js";import"./index-WZtXS9FS.js";import"./index-6b1XxUX-.js";const ge=C({name:"ImgEmpty"}),be=C({...ge,setup(e){const t=A("empty"),i=x();return(d,b)=>(c(),g("svg",{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[s("defs",null,[s("linearGradient",{id:`linearGradient-1-${r(i)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("linearGradient",{id:`linearGradient-2-${r(i)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),s("stop",{"stop-color":`var(${r(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),s("rect",{id:`path-3-${r(i)}`,x:"0",y:"0",width:"17",height:"36"},null,8,["id"])]),s("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[s("g",{transform:"translate(-1268.000000, -535.000000)"},[s("g",{transform:"translate(1268.000000, 535.000000)"},[s("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${r(t).cssVarBlockName("fill-color-3")})`},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,["fill"]),s("g",{transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},[s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,["fill"]),s("rect",{fill:`url(#linearGradient-1-${r(i)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,["fill"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,["fill"])]),s("rect",{fill:`url(#linearGradient-2-${r(i)})`,x:"13",y:"45",width:"40",height:"36"},null,8,["fill"]),s("g",{transform:"translate(53.000000, 45.000000)"},[s("use",{fill:`var(${r(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${r(i)}`},null,8,["fill","xlink:href"]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${r(i)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,["fill","mask"])]),s("polygon",{fill:`var(${r(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,["fill"])])])])]))}});var ye=R(be,[["__file","img-empty.vue"]]);const $e=ee({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),_e=C({name:"ElEmpty"}),ke=C({..._e,props:$e,setup(e){const t=e,{t:i}=te(),d=A("empty"),b=P(()=>t.description||i("el.table.emptyText")),k=P(()=>({width:se(t.imageSize)}));return(f,y)=>(c(),g("div",{class:I(r(d).b())},[s("div",{class:I(r(d).e("image")),style:le(r(k))},[f.image?(c(),g("img",{key:0,src:f.image,ondragstart:"return false"},null,8,["src"])):F(f.$slots,"image",{key:1},()=>[n(ye)])],6),s("div",{class:I(r(d).e("description"))},[f.$slots.description?F(f.$slots,"description",{key:0}):(c(),g("p",{key:1},a(r(b)),1))],2),f.$slots.default?(c(),g("div",{key:0,class:I(r(d).e("bottom"))},[F(f.$slots,"default")],2)):w("v-if",!0)],2))}});var ve=R(ke,[["__file","empty.vue"]]);const Q=ie(ve);class we{key="site-domains";async getAll(t={}){return await V.get(`/${this.key}/`,{params:t})}async get(t){return await V.get(`/${this.key}/${t}`)}async create(t){return await V.post(`/${this.key}/`,t)}async verify(t){return await V.post(`/${this.key}/${t}/verify/`)}async delete(t){return await V.delete(`/${this.key}/${t}`)}}const E=new we,Ce=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,Ve=["acedata.cloud","surl.id","localhost"];function Ee(e){let t=(e||"").trim().toLowerCase();if(!t)return{ok:!1,reason:"empty"};if(t.includes("://"))try{t=new URL(t).hostname||""}catch{return{ok:!1,reason:"invalid_url"}}if(t=t.replace(/\/.*$/,"").split(":")[0],!t)return{ok:!1,reason:"empty"};if(!t.includes("."))return{ok:!1,reason:"no_dot"};for(const d of Ve)if(t===d||t.endsWith("."+d))return{ok:!1,reason:"reserved"};const i=t.split(".");if(i.length<2)return{ok:!1,reason:"too_few_labels"};for(const d of i)if(!d||!Ce.test(d))return{ok:!1,reason:"bad_label"};return{ok:!0,value:t}}const De=C({name:"DomainsDialog",components:{ElDialog:O,ElButton:J,ElEmpty:Q,ElForm:q,ElFormItem:G,ElInput:Z,ElTag:oe,ElDivider:ne},props:{modelValue:{type:Boolean,required:!0},site:{type:Object,default:null}},emits:["update:modelValue"],data(){return{loading:!1,domains:[],bind:{hostname:""},binding:!1,busyId:null}},watch:{modelValue(e){e&&this.site?.id?this.fetchDomains():e||(this.domains=[],this.bind.hostname="",this.busyId=null)}},methods:{async fetchDomains(){if(this.site?.id){this.loading=!0;try{const{data:e}=await E.getAll({site:this.site.id});this.domains=e?.items||[]}catch(e){console.error("failed to load domains",e),p.error(this.$t("subsite.message.domainsLoadFailed"))}finally{this.loading=!1}}},async onBind(){if(!this.site?.id)return;const e=Ee(this.bind.hostname);if(!e.ok){p.warning(this.$t("subsite.message.hostnameInvalid"));return}this.binding=!0;try{const{data:t}=await E.create({site:this.site.id,hostname:e.value});p.success(this.$t("subsite.message.domainCreated")),this.domains=[t,...this.domains],this.bind.hostname=""}catch(t){const i=t?.response?.data?.hostname||t?.response?.data?.detail||t?.response?.data?.site||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainCreateFailed"))}finally{this.binding=!1}},async onVerify(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.verify(e.id);this.replaceRow(t),t.status==="Active"?p.success(this.$t("subsite.message.domainActive")):t.status==="Failed"?p.error(t.status_reason||this.$t("subsite.message.domainFailed")):p.info(this.$t("subsite.message.domainProgressed"))}catch(t){const i=t?.response?.data?.verification||t?.response?.data?.edgeone||t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainVerifyFailed"))}finally{this.busyId=null}}},async onRefresh(e){if(e.id){this.busyId=e.id;try{const{data:t}=await E.get(e.id);this.replaceRow(t)}catch(t){console.error("refresh failed",t)}finally{this.busyId=null}}},async onDelete(e){if(!(!e.id||!e.hostname)){try{await K.confirm(this.$t("subsite.message.domainDeleteConfirm",{hostname:e.hostname}),this.$t("common.button.delete"),{type:"warning",confirmButtonText:this.$t("common.button.delete"),cancelButtonText:this.$t("common.button.cancel")})}catch{return}this.busyId=e.id;try{await E.delete(e.id),this.domains=this.domains.filter(t=>t.id!==e.id)}catch(t){const i=t?.response?.data?.detail||t?.message;p.error(typeof i=="string"?i:this.$t("subsite.message.domainDeleteFailed"))}finally{this.busyId=null}}},replaceRow(e){const t=this.domains.findIndex(i=>i.id===e.id);t>=0?this.domains.splice(t,1,e):this.domains=[e,...this.domains]},canVerify(e){return e.status==="PendingDnsVerification"||e.status==="ProvisioningEo"||e.status==="ProvisioningCert"},verifyButtonLabel(e){return e==="PendingDnsVerification"?this.$t("subsite.button.verify"):this.$t("subsite.button.checkProgress")},statusLabel(e){if(!e)return"-";const t=`subsite.status.${e.charAt(0).toLowerCase()+e.slice(1)}`;return this.$t(t)},statusTagType(e){return e==="Active"?"success":e==="Failed"?"danger":e==="PendingDnsVerification"?"info":"warning"}}}),Se={class:"domains-body"},Be={class:"tip"},Ie={class:"domain-row-head"},Ne={class:"hostname"},ze={class:"row-actions"},Te={key:0,class:"status-reason error"},Fe={key:1,class:"dns-instructions"},Le={class:"instructions"},Ue={class:"dns-record"},Pe={class:"break"},Re={class:"bind-title"},Ae={class:"tip"};function Oe(e,t,i,d,b,k){const f=u("el-empty"),y=u("el-tag"),$=u("el-button"),N=u("el-divider"),v=u("el-input"),z=u("el-form-item"),T=u("el-form"),D=u("el-dialog"),S=W("loading");return c(),_(D,{"model-value":e.modelValue,title:e.$t("subsite.title.domains",{origin:e.site?.origin||""}),width:"640px",class:"domains-dialog","onUpdate:modelValue":t[3]||(t[3]=l=>e.$emit("update:modelValue",l))},{footer:o(()=>[s("span",null,[n($,{round:"",onClick:t[2]||(t[2]=l=>e.$emit("update:modelValue",!1))},{default:o(()=>[h(a(e.$t("common.button.close")),1)]),_:1}),n($,{round:"",type:"primary",loading:e.binding,disabled:!e.bind.hostname.trim(),onClick:e.onBind},{default:o(()=>[h(a(e.$t("subsite.button.bindDomain")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:o(()=>[H((c(),g("div",Se,[s("p",Be,a(e.$t("subsite.message.domainsIntro")),1),!e.loading&&e.domains.length===0?(c(),_(f,{key:0,description:e.$t("subsite.message.domainsEmpty")},null,8,["description"])):w("",!0),(c(!0),g(re,null,de(e.domains,l=>(c(),g("div",{key:l.id,class:"domain-row"},[s("div",Ie,[s("strong",Ne,a(l.hostname),1),n(y,{type:e.statusTagType(l.status),size:"small",class:"status-tag"},{default:o(()=>[h(a(e.statusLabel(l.status)),1)]),_:2},1032,["type"]),s("span",ze,[e.canVerify(l)?(c(),_($,{key:0,size:"small",type:"primary",loading:e.busyId===l.id,link:"",onClick:B=>e.onVerify(l)},{default:o(()=>[h(a(e.verifyButtonLabel(l.status)),1)]),_:2},1032,["loading","onClick"])):w("",!0),l.status!=="Active"?(c(),_($,{key:1,size:"small",link:"",loading:e.busyId===l.id,onClick:B=>e.onRefresh(l)},{default:o(()=>[h(a(e.$t("subsite.button.refresh")),1)]),_:1},8,["loading","onClick"])):w("",!0),n($,{size:"small",link:"",type:"danger",loading:e.busyId===l.id,onClick:B=>e.onDelete(l)},{default:o(()=>[h(a(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])])]),l.status_reason?(c(),g("div",Te,a(l.status_reason),1)):w("",!0),l.dns_instructions?(c(),g("div",Fe,[s("p",Le,a(l.dns_instructions.instructions),1),s("table",Ue,[s("tr",null,[s("th",null,a(e.$t("subsite.field.recordType")),1),s("td",null,[s("code",null,a(l.dns_instructions.record_type),1)])]),s("tr",null,[s("th",null,a(e.$t("subsite.field.recordName")),1),s("td",null,[s("code",null,a(l.dns_instructions.record_name),1)])]),s("tr",null,[s("th",null,a(e.$t("subsite.field.recordValue")),1),s("td",null,[s("code",Pe,a(l.dns_instructions.record_value),1)])])])])):w("",!0)]))),128)),n(N),s("h4",Re,a(e.$t("subsite.title.bindDomain")),1),n(T,{model:e.bind,"label-width":"auto",class:"form",onSubmit:t[1]||(t[1]=j(()=>{},["prevent"]))},{default:o(()=>[n(z,{label:e.$t("subsite.field.hostname"),required:""},{default:o(()=>[n(v,{modelValue:e.bind.hostname,"onUpdate:modelValue":t[0]||(t[0]=l=>e.bind.hostname=l),placeholder:e.$t("subsite.placeholder.hostname"),maxlength:"253",autofocus:""},null,8,["modelValue","placeholder"]),s("span",Ae,a(e.$t("subsite.message.hostnameTip")),1)]),_:1},8,["label"])]),_:1},8,["model"])])),[[S,e.loading]])]),_:1},8,["model-value","title"])}const Me=M(De,[["render",Oe],["__scopeId","data-v-28d4f7c7"]]),Ze=/^(?!.*--)[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$/,Ge=C({name:"SubsiteIndex",components:{ElRow:he,ElCol:fe,ElCard:pe,ElButton:J,ElTable:ce,ElTableColumn:me,ElEmpty:Q,ElDialog:O,ElForm:q,ElFormItem:G,ElInput:Z,DomainsDialog:Me},data(){return{Plus:ue(ae),loading:!1,items:[],creating:{visible:!1,submitting:!1,form:{slug:"",title:""}},domainsDialog:{visible:!1,site:null}}},computed:{parentSite(){return this.$store.state.site},user(){return this.$store.getters.user},subdomainZone(){const e=this.parentSite?.features?.subsite?.subdomain_zone;return e||(typeof window<"u"&&window.location?.host?window.location.host.split(":")[0]:this.parentSite?.origin||"")},maxSubsitesPerUser(){const e=this.parentSite?.features?.subsite?.max_subsites_per_user;return typeof e=="number"&&e>0?e:5},canCreate(){return!!this.subdomainZone&&!!this.user?.id&&this.items.length<this.maxSubsitesPerUser}},mounted(){this.fetchSubsites()},methods:{async fetchSubsites(){const e=this.user?.id;if(!e){this.items=[];return}this.loading=!0;try{const{data:t}=await U.getAll({user_id:e}),i=t?.items||[],d=this.parentSite?.id;this.items=i.filter(b=>{if(b.id===d)return!1;const k=b.metadata||{};return d&&k.parent_site_id?k.parent_site_id===d:!!(b.origin&&this.subdomainZone&&b.origin.endsWith(`.${this.subdomainZone}`))})}catch(t){console.error("failed to load subsites",t),p.error(this.$t("subsite.message.loadFailed"))}finally{this.loading=!1}},onOpenCreate(){this.creating.form.slug="",this.creating.form.title="",this.creating.visible=!0},onCancelCreate(){this.creating.visible=!1},async onSubmitCreate(){const e=this.creating.form.slug.trim().toLowerCase();if(!Ze.test(e)){p.warning(this.$t("subsite.message.slugInvalid"));return}if(!this.subdomainZone){p.error(this.$t("subsite.message.zoneMissing"));return}const t=`${e}.${this.subdomainZone}`;this.creating.submitting=!0;try{const{data:i}=await U.create({origin:t,title:this.creating.form.title.trim()||void 0});p.success(this.$t("subsite.message.created")),this.creating.visible=!1,this.items=[i,...this.items],K.confirm(this.$t("subsite.message.openNowConfirm",{origin:t}),this.$t("subsite.title.openNow"),{confirmButtonText:this.$t("subsite.button.open"),cancelButtonText:this.$t("common.button.cancel"),type:"success"}).then(()=>window.open(`https://${t}/`,"_blank","noopener")).catch(()=>{})}catch(i){const d=i?.response?.data?.origin||i?.response?.data?.detail||i?.message;p.error(typeof d=="string"?d:this.$t("subsite.message.createFailed"))}finally{this.creating.submitting=!1}},onOpenSite(e){e.origin&&window.open(`https://${e.origin}/`,"_blank","noopener")},onManageSite(e){e.origin&&window.open(`https://${e.origin}/site`,"_blank","noopener")},onOpenDomains(e){this.domainsDialog.site=e,this.domainsDialog.visible=!0},rowUrl(e){return e.origin?`https://${e.origin}/`:"#"},formatDate(e){if(!e)return"-";try{return new Date(e).toLocaleString()}catch{return e}}}}),qe={class:"title"},He={class:"tip"},je=["href"],We={class:"tip"};function Je(e,t,i,d,b,k){const f=u("el-col"),y=u("el-button"),$=u("el-row"),N=u("el-empty"),v=u("el-table-column"),z=u("el-table"),T=u("el-card"),D=u("el-input"),S=u("el-form-item"),l=u("el-form"),B=u("el-dialog"),X=u("domains-dialog"),Y=W("loading");return c(),_($,{class:"panel"},{default:o(()=>[n(f,{span:24},{default:o(()=>[n($,{class:"header",justify:"space-between",align:"middle"},{default:o(()=>[n(f,{md:16,xs:24},{default:o(()=>[s("h2",qe,a(e.$t("subsite.title.index")),1),s("p",He,a(e.$t("subsite.message.indexTip")),1)]),_:1}),n(f,{md:8,xs:24,class:"header-actions"},{default:o(()=>[n(y,{type:"primary",round:"",icon:e.Plus,disabled:!e.canCreate,onClick:e.onOpenCreate},{default:o(()=>[h(a(e.$t("subsite.button.create")),1)]),_:1},8,["icon","disabled","onClick"])]),_:1})]),_:1}),H((c(),_(T,{shadow:"hover",class:"list-card"},{default:o(()=>[!e.loading&&e.items.length===0?(c(),_(N,{key:0,description:e.$t("subsite.message.empty")},null,8,["description"])):(c(),_(z,{key:1,data:e.items,stripe:""},{default:o(()=>[n(v,{label:e.$t("subsite.field.origin"),prop:"origin"},{default:o(({row:m})=>[s("a",{href:e.rowUrl(m),target:"_blank",rel:"noopener",class:"origin-link"},a(m.origin),9,je)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.title"),prop:"title"},{default:o(({row:m})=>[s("span",null,a(m.title||"-"),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.createdAt"),prop:"created_at",width:"180"},{default:o(({row:m})=>[s("span",null,a(e.formatDate(m.created_at)),1)]),_:1},8,["label"]),n(v,{label:e.$t("subsite.field.actions"),width:"260",fixed:"right"},{default:o(({row:m})=>[n(y,{size:"small",link:"",type:"primary",onClick:L=>e.onOpenSite(m)},{default:o(()=>[h(a(e.$t("subsite.button.open")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:L=>e.onManageSite(m)},{default:o(()=>[h(a(e.$t("subsite.button.manage")),1)]),_:1},8,["onClick"]),n(y,{size:"small",link:"",type:"primary",onClick:L=>e.onOpenDomains(m)},{default:o(()=>[h(a(e.$t("subsite.button.domains")),1)]),_:1},8,["onClick"])]),_:1},8,["label"])]),_:1},8,["data"]))]),_:1})),[[Y,e.loading]])]),_:1}),n(B,{modelValue:e.creating.visible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.creating.visible=m),title:e.$t("subsite.title.create"),width:"480px",class:"create-dialog"},{footer:o(()=>[s("span",null,[n(y,{round:"",onClick:e.onCancelCreate},{default:o(()=>[h(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),n(y,{round:"",type:"primary",loading:e.creating.submitting,disabled:!e.creating.form.slug.trim(),onClick:e.onSubmitCreate},{default:o(()=>[h(a(e.$t("common.button.confirm")),1)]),_:1},8,["loading","disabled","onClick"])])]),default:o(()=>[n(l,{model:e.creating.form,"label-width":"auto",class:"form",onSubmit:t[2]||(t[2]=j(()=>{},["prevent"]))},{default:o(()=>[n(S,{label:e.$t("subsite.field.slug"),required:""},{default:o(()=>[n(D,{modelValue:e.creating.form.slug,"onUpdate:modelValue":t[0]||(t[0]=m=>e.creating.form.slug=m),placeholder:e.$t("subsite.placeholder.slug"),maxlength:"32","show-word-limit":"",autofocus:""},{append:o(()=>[h("."+a(e.subdomainZone),1)]),_:1},8,["modelValue","placeholder"]),s("span",We,a(e.$t("subsite.message.slugTip")),1)]),_:1},8,["label"]),n(S,{label:e.$t("subsite.field.title")},{default:o(()=>[n(D,{modelValue:e.creating.form.title,"onUpdate:modelValue":t[1]||(t[1]=m=>e.creating.form.title=m),placeholder:e.$t("subsite.placeholder.title"),maxlength:"80"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),n(X,{modelValue:e.domainsDialog.visible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.domainsDialog.visible=m),site:e.domainsDialog.site},null,8,["modelValue","site"])]),_:1})}const Dt=M(Ge,[["render",Je],["__scopeId","data-v-b054ab8b"]]);export{Dt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as g}from"./Pagination-
|
|
1
|
+
import{P as g}from"./Pagination-CYoCHC2N.js";import{C as b}from"./CopyToClipboard-C04ZOzPS.js";import{ak as v,D as w}from"./index-C-BFvYVr.js";import{E as C}from"./index-WLnVbCSu.js";import{E as $,a as y}from"./index-DEl7Jf-g.js";import{E as D,a as E}from"./index-C5gLyNyO.js";import{d as I,x as d,y as e,C as o,E as i,F as s,G as k,D as n,K as F,q as c}from"./vendor-vue-C5BV5QrY.js";import"./index-CWVKY-hX.js";import"./index-meSLa91K.js";import"./index-CZmMZPJB.js";import"./typescript-BM7P3jg4.js";import"./index-CSFWZ8TW.js";import"./strings-DGr9fDRd.js";import"./isEqual-t6MQLHrP.js";import"./_Uint8Array-0RhRtRGu.js";import"./castArray-CnoZia7q.js";import"./use-form-item-Bap1cNNT.js";import"./index-DHTO4qxT.js";import"./index-DcgghNrB.js";import"./debounce-BYulEKvt.js";import"./_baseIteratee-5bMPcoR7.js";import"./index-6b1XxUX-.js";import"./index.es-DygHzaFn.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./_initCloneObject-B2kwKJ_I.js";import"./isPlainObject-UHNWDVqK.js";import"./index-WZtXS9FS.js";const P=I({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:E,ElCol:D,ElTable:y,ElTableColumn:$,ElCard:C},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{page:t}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){const{data:t}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=t.items,this.total=t.count}}}),q={class:"title"},B={class:"key"},S={class:"copy"},T={class:"description"},j={class:"description"},z={class:"description"},N={class:"created-at"},V={class:"pagination m-v-lg"};function G(t,J,K,O,R,A){const r=n("el-col"),p=n("el-row"),m=n("copy-to-clipboard"),l=n("el-table-column"),_=n("el-table"),u=n("el-card"),h=n("pagination"),f=F("loading");return c(),d(p,{class:"panel"},{default:e(()=>[o(r,{span:24},{default:e(()=>[o(p,null,{default:e(()=>[o(r,{span:24},{default:e(()=>[i("h2",q,s(t.$t("common.title.invitee")),1)]),_:1})]),_:1}),o(p,null,{default:e(()=>[o(r,{span:24},{default:e(()=>[o(u,{shadow:"hover"},{default:e(()=>[k((c(),d(_,{data:t.invitees,stripe:""},{default:e(()=>[o(l,{prop:"id",label:t.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:e(a=>[i("span",B,s(a.row.id),1),i("span",S,[o(m,{content:a.row.id},null,8,["content"])])]),_:1},8,["label"]),o(l,{label:t.$t("user.field.username"),width:"300px"},{default:e(a=>[i("span",T,s(a.row?.username),1)]),_:1},8,["label"]),o(l,{label:t.$t("user.field.email"),width:"300px"},{default:e(a=>[i("span",j,s(a.row?.email),1)]),_:1},8,["label"]),o(l,{label:t.$t("user.field.nickname"),width:"200px"},{default:e(a=>[i("span",z,s(a.row.nickname),1)]),_:1},8,["label"]),o(l,{label:t.$t("user.field.dateJoined")},{default:e(a=>[i("span",N,s(t.$dayjs.format(a.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,t.loading]])]),_:1})]),_:1})]),_:1}),o(p,null,{default:e(()=>[o(r,{span:10,offset:14},{default:e(()=>[i("div",V,[o(h,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const vt=w(P,[["render",G],["__scopeId","data-v-4556864d"]]);export{vt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a5 as u,E as G,a6 as A,a7 as T,a8 as L,a9 as F,D as B}from"./index-
|
|
1
|
+
import{a5 as u,E as G,a6 as A,a7 as T,a8 as L,a9 as F,D as B}from"./index-C-BFvYVr.js";import{I as V,a as N}from"./credential-CEfFFZzi.js";import{P as O}from"./Pagination-CYoCHC2N.js";import{C as P}from"./CopyToClipboard-C04ZOzPS.js";import{F as z}from"./index.es-DygHzaFn.js";import{E as q}from"./index-WLnVbCSu.js";import{E as M,a as R}from"./index-DEl7Jf-g.js";import{E as j}from"./index-Dzc3inPz.js";import{a as H}from"./index-DQFJE3vX.js";import{E as J,a as K}from"./index-C5gLyNyO.js";import{E as X}from"./index-CZRS8Pfe.js";import{E as w}from"./index-Denf2RlU.js";import{d as Q,x as p,y as o,C as t,E as l,F as i,H as $,I as m,J as b,G as W,D as s,K as Y,q as r}from"./vendor-vue-C5BV5QrY.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-CWVKY-hX.js";import"./index-meSLa91K.js";import"./index-CZmMZPJB.js";import"./typescript-BM7P3jg4.js";import"./index-CSFWZ8TW.js";import"./strings-DGr9fDRd.js";import"./isEqual-t6MQLHrP.js";import"./_Uint8Array-0RhRtRGu.js";import"./castArray-CnoZia7q.js";import"./use-form-item-Bap1cNNT.js";import"./index-DHTO4qxT.js";import"./index-DcgghNrB.js";import"./debounce-BYulEKvt.js";import"./_baseIteratee-5bMPcoR7.js";import"./index-6b1XxUX-.js";import"./_initCloneObject-B2kwKJ_I.js";import"./isPlainObject-UHNWDVqK.js";import"./index-WZtXS9FS.js";import"./validator-DyJoR1pm.js";import"./index-BuyEbX8F.js";const Z=Q({name:"ConsoleApplicationList",components:{Pagination:O,CopyToClipboard:P,ElTable:R,ElRow:K,ElButton:X,ElCol:J,ElTag:G,ElSkeleton:H,ElSwitch:j,ElTableColumn:M,ElCard:q,FontAwesomeIcon:z},data(){return{credentialType:N,serviceType:V,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:F,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:L,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:T.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:T.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},oe={class:"icon-wrapper"},ae={class:"label"},ie={class:"value"},le={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},re={class:"flex justify-start items-center gap-2 mb-2 w-full"},pe={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},fe={class:"flex flex-col items-end gap-2"},he={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const f=s("el-col"),g=s("el-row"),k=s("el-skeleton"),h=s("font-awesome-icon"),v=s("el-card"),E=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),I=s("el-tag"),D=s("el-switch"),S=s("el-table"),U=s("pagination"),x=Y("loading");return r(),p(g,{class:"panel p-[30px]"},{default:o(()=>[t(f,{span:24},{default:o(()=>[t(g,null,{default:o(()=>[t(f,{span:24},{default:o(()=>[l("h2",ee,i(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:o(()=>[t(f,{md:12,xs:24},{default:o(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:o(()=>[e.loading?(r(),p(k,{key:0})):(r(),$("div",te,[l("div",oe,[t(h,{icon:"fa-solid fa-cubes-stacked"})]),l("p",ae,i(e.$t("application.title.count")),1),l("p",ie,i(e.individualApplicationsTotal),1),l("p",le,i(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(r(),p(f,{key:0,md:12,xs:24},{default:o(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:o(()=>[e.loading?(r(),p(k,{key:0})):(r(),$("div",ne,[l("div",se,[l("div",re,[l("div",pe,[t(h,{icon:"fa-solid fa-wallet"})]),l("span",de,[m(i(e.$t("application.field.id"))+": "+i(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(r(),p(E,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),l("p",ce,i(e.$t("application.title.globalBalance")),1),l("p",ue,i(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+i(e.$t("service.unit.credits")),1),l("p",me,i(e.$t("application.message.globalBalanceDescription")),1)]),l("div",fe,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=a=>e.onGoUsage(e.globalApplications?.[0]))},{default:o(()=>[t(h,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+i(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=a=>e.onBuyMore(e.globalApplications?.[0]))},{default:o(()=>[t(h,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+i(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:o(()=>[t(f,{span:24},{default:o(()=>[t(v,{shadow:"hover"},{default:o(()=>[W((r(),p(S,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:o(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:o(a=>[l("span",null,i(a.row.id),1),l("span",he,[t(E,{content:a?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:o(a=>[a.row?.type==="Period"?(r(),p(I,{key:0,type:"success",effect:"dark",round:""},{default:o(()=>[m(i(e.$t("application.type.period")),1)]),_:1})):a.row?.type==="Usage"?(r(),p(I,{key:1,effect:"dark",round:""},{default:o(()=>[m(i(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:o(a=>[l("span",null,i(a.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:o(a=>[l("span",null,i(e.getRemainingAmount(a.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:o(a=>[l("span",null,i(e.getUsedAmount(a.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:o(a=>[a.row.service?.type===e.serviceType.API?(r(),p(D,{key:0,modelValue:a.row.allow_consume_global,"onUpdate:modelValue":_=>a.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(a.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:o(a=>[a.row.expired_at?(r(),$("span",ge,i(e.$dayjs.format(a.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:o(a=>[l("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(a?.row)},{default:o(()=>[t(h,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+i(e.$t("application.button.usage")),1)]),_:1},8,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(a?.row)},{default:o(()=>[t(h,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+i(e.$t("application.button.buyMore")),1)]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[x,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:o(()=>[t(f,{span:24},{default:o(()=>[l("div",be,[t(U,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const it=B(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{it as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as B}from"./index.es-2lzQ8vMU.js";import{d as A}from"./vendor-dayjs-Cvgzdobq.js";import{aZ as D,D as F,b0 as T,E as P}from"./index-Bn7YDYmR.js";import{b as h}from"./byokCredential-CAIF7mF3.js";import{E as N,a as j}from"./index-D37lqh67.js";import{E as z}from"./index-CGLEnOu2.js";import{E as H,a as L}from"./index-D83vqHYw.js";import{E as V}from"./index-Dl6KqLVE.js";import{E as f}from"./index-DEhQFSab.js";import{d as K,x as $,y as l,C as t,H as b,N as M,O as R,E as g,F as s,J as U,I as k,D as i,q as d,G as q,K as G}from"./vendor-vue-C5BV5QrY.js";import{E as J,a as Z}from"./index-FcsFTRum.js";import{E as Q}from"./index-CaNwHQ-J.js";import{a as W,E as X}from"./index-D14VANp0.js";import{E as x}from"./index-DgysfsHq.js";import{E as ee}from"./index-CbW-RUg3.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-g-OqTOL-.js";import"./index-BfRP23SC.js";import"./typescript-CoAxGsjg.js";import"./index-zHy_Tns_.js";import"./strings-DGr9fDRd.js";import"./isEqual-BQxacRy6.js";import"./_Uint8Array-BLlXLAO2.js";import"./castArray-yAIf1Ihj.js";import"./use-form-item-DTGT08pf.js";import"./debounce-kCVbleAy.js";import"./_baseIteratee-Cg1nAllN.js";import"./index-BLBMDJiy.js";import"./index-DLEICRsh.js";import"./_baseClone-Bh3JK93r.js";import"./_initCloneObject-1g0v6DQg.js";import"./index-BuyEbX8F.js";import"./isPlainObject-DyQHv-ss.js";import"./index-KHi_aXm4.js";import"./validator-CV9JtUBJ.js";const te=K({name:"BYOKDialog",components:{ElButton:V,ElDialog:D,ElForm:L,ElFormItem:H,ElInput:z,ElOption:j,ElSelect:N,FontAwesomeIcon:B},props:{visible:{type:Boolean,default:!1},credential:{type:Object,default:null},providers:{type:Array,default:()=>[]},token:{type:String,default:""}},emits:["update:visible","saved"],data(){return{form:{provider:"",api_key:"",base_url:"",label:""},advancedOpen:!1,saving:!1}},computed:{rules(){return{provider:[{required:!0,message:this.$t("byok.field.provider"),trigger:"change"}],api_key:[{required:!this.credential,message:this.$t("byok.field.apiKeyPlaceholder"),trigger:"blur"}]}},placeholderBaseUrl(){const e=this.form.provider;return this.providers.find(n=>n.id===e)?.default_base_url??this.$t("byok.field.baseUrlPlaceholder")}},watch:{credential:{immediate:!0,handler(e){e?(this.form={provider:e.provider,api_key:"",base_url:e.base_url??"",label:e.label??""},this.advancedOpen=!!e.base_url):(this.form={provider:this.providers?.[0]?.id??"",api_key:"",base_url:"",label:""},this.advancedOpen=!1)}}},methods:{onClose(e){(e===!1||e===void 0)&&this.$emit("update:visible",!1)},async onSubmit(){const e=this.$refs.formRef;if(e)try{await e.validate()}catch{return}if(this.token){this.saving=!0;try{const o=this.form.base_url.trim(),n=this.form.label.trim(),_=this.form.api_key.trim();if(this.credential){const p={};if(_&&(p.api_key=_),o!==(this.credential.base_url??"")&&(p.base_url=o),n!==(this.credential.label??"")&&(p.label=n),Object.keys(p).length===0){this.$emit("saved");return}await h.update(this.credential.id,p,{token:this.token})}else{if(!this.form.provider)return;const p={provider:this.form.provider,api_key:_,...o?{base_url:o}:{},...n?{label:n}:{}};await h.create(p,{token:this.token})}f.success(this.$t("byok.message.saveSuccess")),this.$emit("saved")}catch(o){const n=o?.response?.data?.message||(o instanceof Error?o.message:"unknown error");console.error("Failed to save BYOK credential",o),f.error(this.$t("byok.message.saveFailed")+": "+n)}finally{this.saving=!1}}}}}),oe={key:0,class:"advanced-section"},le={class:"hint"};function ae(e,o,n,_,p,I){const y=i("el-option"),v=i("el-select"),m=i("el-form-item"),u=i("el-input"),E=i("font-awesome-icon"),c=i("el-form"),w=i("el-button"),O=i("el-dialog");return d(),$(O,{"model-value":e.visible,title:e.credential?e.$t("byok.title.editCredential"):e.$t("byok.title.addCredential"),width:"560px","close-on-click-modal":!1,"onUpdate:modelValue":e.onClose},{footer:l(()=>[t(w,{onClick:o[5]||(o[5]=r=>e.onClose(!1))},{default:l(()=>[k(s(e.$t("byok.button.cancel")),1)]),_:1}),t(w,{type:"primary",loading:e.saving,onClick:e.onSubmit},{default:l(()=>[k(s(e.$t("byok.button.save")),1)]),_:1},8,["loading","onClick"])]),default:l(()=>[t(c,{ref:"formRef",model:e.form,rules:e.rules,"label-position":"top"},{default:l(()=>[t(m,{label:e.$t("byok.field.provider"),prop:"provider"},{default:l(()=>[t(v,{modelValue:e.form.provider,"onUpdate:modelValue":o[0]||(o[0]=r=>e.form.provider=r),placeholder:e.$t("byok.field.provider"),disabled:!!e.credential,class:"w-full"},{default:l(()=>[(d(!0),b(R,null,M(e.providers,r=>(d(),$(y,{key:r.id,label:r.label,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])]),_:1},8,["label"]),t(m,{label:e.$t("byok.field.label")},{default:l(()=>[t(u,{modelValue:e.form.label,"onUpdate:modelValue":o[1]||(o[1]=r=>e.form.label=r),placeholder:e.$t("byok.field.labelPlaceholder"),maxlength:"64","show-word-limit":""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),t(m,{label:e.$t("byok.field.apiKey"),prop:"api_key"},{default:l(()=>[t(u,{modelValue:e.form.api_key,"onUpdate:modelValue":o[2]||(o[2]=r=>e.form.api_key=r),type:"password",autocomplete:"new-password","show-password":"",placeholder:e.credential?e.$t("byok.field.apiKeyEditPlaceholder"):e.$t("byok.field.apiKeyPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),g("div",{class:"advanced-toggle",onClick:o[3]||(o[3]=r=>e.advancedOpen=!e.advancedOpen)},[t(E,{icon:e.advancedOpen?"fa-solid fa-chevron-down":"fa-solid fa-chevron-right",class:"text-[10px]"},null,8,["icon"]),g("span",null,s(e.$t("byok.message.advancedToggle")),1)]),e.advancedOpen?(d(),b("div",oe,[t(m,{label:e.$t("byok.field.baseUrl"),prop:"base_url"},{default:l(()=>[t(u,{modelValue:e.form.base_url,"onUpdate:modelValue":o[4]||(o[4]=r=>e.form.base_url=r),placeholder:e.placeholderBaseUrl},null,8,["modelValue","placeholder"]),g("p",le,s(e.$t("byok.message.baseUrlHelp")),1)]),_:1},8,["label"])])):U("",!0)]),_:1},8,["model","rules"])]),_:1},8,["model-value","title","onUpdate:modelValue"])}const ie=F(te,[["render",ae],["__scopeId","data-v-a5e553dd"]]),se=K({name:"BYOKList",components:{ElButton:V,ElCard:x,ElCol:X,ElRow:W,ElSwitch:Q,ElTable:Z,ElTableColumn:J,ElTag:P,FontAwesomeIcon:B,"byok-dialog":ie},directives:{loading:T},data(){return{loading:!1,credentials:[],providers:[],togglingId:null,testingId:null,dialog:{visible:!1,credential:null}}},computed:{token(){return this.$store?.state?.chat?.credential?.token}},watch:{token:{immediate:!0,handler(e){e&&this.bootstrap()}}},async mounted(){if(!this.token)try{await this.$store.dispatch("chat/getApplications");const e=this.$store?.state?.chat?.applications;Array.isArray(e)&&e.length>0&&await this.$store.dispatch("chat/setApplication",e[0])}catch(e){console.error("Failed to bootstrap chat application for BYOK",e)}},methods:{formatTime(e){return A.unix(e).format("YYYY-MM-DD HH:mm")},async bootstrap(){await Promise.all([this.loadProviders(),this.loadCredentials()])},async loadProviders(){if(this.token)try{const{data:e}=await h.providers({token:this.token});this.providers=e?.providers??[]}catch(e){console.error("Failed to load BYOK providers",e)}},async loadCredentials(){if(this.token){this.loading=!0;try{const{data:e}=await h.list({token:this.token});this.credentials=e?.items??[]}catch(e){console.error("Failed to load BYOK credentials",e),f.error(this.$t("byok.message.loadFailed"))}finally{this.loading=!1}}},onAdd(){this.dialog.credential=null,this.dialog.visible=!0},onEdit(e){this.dialog.credential=e,this.dialog.visible=!0},async onSaved(){this.dialog.visible=!1,this.dialog.credential=null,await this.loadCredentials()},async onToggleActive(e,o){if(this.token){this.togglingId=e.id;try{await h.update(e.id,{is_active:o},{token:this.token}),await this.loadCredentials()}catch(n){console.error("Failed to toggle BYOK credential",n),f.error(this.$t("byok.message.saveFailed"))}finally{this.togglingId=null}}},async onTest(e){if(this.token){this.testingId=e.id;try{const{data:o}=await h.test(e.id,{token:this.token});o?.ok?f.success(this.$t("byok.message.testSuccess")):f.error(this.$t("byok.message.testFailed",{message:o?.message??"unknown error"}))}catch(o){const n=o instanceof Error?o.message:"unknown error";f.error(this.$t("byok.message.testFailed",{message:n}))}finally{this.testingId=null}}},async onDelete(e){if(this.token){try{await ee.confirm(this.$t("byok.message.deleteConfirm",{provider:e.provider_label}),this.$t("byok.title.deleteCredential"),{type:"warning"})}catch{return}try{await h.delete(e.id,{token:this.token}),f.success(this.$t("byok.message.deleteSuccess")),await this.loadCredentials()}catch(o){console.error("Failed to delete BYOK credential",o),f.error(this.$t("byok.message.saveFailed"))}}}}}),re={class:"title"},ne={class:"text-sm text-[var(--el-text-color-regular)] mt-2 mb-4 max-w-[760px] leading-relaxed"},de={key:0,class:"break-all"},pe={key:1,class:"text-[var(--el-text-color-placeholder)]"},me={class:"text-xs text-[var(--el-text-color-regular)]"},ce={key:0,class:"break-all text-xs"},fe={key:1,class:"text-[var(--el-text-color-placeholder)]"},ue={key:0,class:"text-xs"},be={key:1,class:"text-[var(--el-text-color-placeholder)]"};function he(e,o,n,_,p,I){const y=i("el-col"),v=i("el-row"),m=i("font-awesome-icon"),u=i("el-button"),E=i("el-tag"),c=i("el-table-column"),w=i("el-switch"),O=i("el-table"),r=i("el-card"),S=i("byok-dialog"),Y=G("loading");return d(),$(v,{class:"panel p-[30px]"},{default:l(()=>[t(y,{span:24},{default:l(()=>[t(v,null,{default:l(()=>[t(y,{span:24},{default:l(()=>[g("h2",re,s(e.$t("byok.title.list")),1),g("p",ne,s(e.$t("byok.description.list")),1)]),_:1})]),_:1}),t(v,null,{default:l(()=>[t(y,{span:24,class:"flex justify-end mb-3"},{default:l(()=>[t(u,{type:"primary",round:"",size:"default",disabled:!e.token,onClick:e.onAdd},{default:l(()=>[t(m,{icon:"fa-solid fa-plus",class:"mr-1 text-[12px]"}),k(" "+s(e.$t("byok.button.add")),1)]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),t(v,null,{default:l(()=>[t(y,{span:24},{default:l(()=>[t(r,{shadow:"hover"},{default:l(()=>[q((d(),$(O,{data:e.credentials,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("byok.message.empty")},{default:l(()=>[t(c,{label:e.$t("byok.field.provider"),width:"160px"},{default:l(a=>[t(E,{type:a.row.is_active?"success":"info",effect:"dark",round:""},{default:l(()=>[k(s(a.row.provider_label),1)]),_:2},1032,["type"])]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.label"),"min-width":"160px"},{default:l(a=>[a.row.label?(d(),b("span",de,s(a.row.label),1)):(d(),b("span",pe,"—"))]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.apiKey"),width:"180px"},{default:l(a=>[g("code",me,s(a.row.api_key_masked),1)]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.baseUrl"),"min-width":"200px"},{default:l(a=>[a.row.base_url?(d(),b("span",ce,s(a.row.base_url),1)):(d(),b("span",fe,s(e.$t("byok.value.default")),1))]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.isActive"),width:"100px","class-name":"text-center"},{default:l(a=>[t(w,{"model-value":a.row.is_active,loading:e.togglingId===a.row.id,onChange:C=>e.onToggleActive(a.row,!!C)},null,8,["model-value","loading","onChange"])]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.lastUsedAt"),width:"170px"},{default:l(a=>[a.row.last_used_at?(d(),b("span",ue,s(e.formatTime(a.row.last_used_at)),1)):(d(),b("span",be,s(e.$t("byok.value.never")),1))]),_:1},8,["label"]),t(c,{label:e.$t("common.field.operations"),width:"220px",fixed:"right"},{default:l(a=>[t(u,{size:"small",loading:e.testingId===a.row.id,onClick:C=>e.onTest(a.row)},{default:l(()=>[t(m,{icon:"fa-solid fa-plug",class:"mr-1 text-[10px]"}),k(" "+s(e.$t("byok.button.test")),1)]),_:1},8,["loading","onClick"]),t(u,{size:"small",onClick:C=>e.onEdit(a.row)},{default:l(()=>[t(m,{icon:"fa-solid fa-pen",class:"mr-1 text-[10px]"}),k(" "+s(e.$t("byok.button.edit")),1)]),_:1},8,["onClick"]),t(u,{size:"small",type:"danger",plain:"",onClick:C=>e.onDelete(a.row)},{default:l(()=>[t(m,{icon:"fa-solid fa-trash",class:"mr-1 text-[10px]"}),k(" "+s(e.$t("byok.button.delete")),1)]),_:1},8,["onClick"])]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[Y,e.loading]])]),_:1})]),_:1})]),_:1})]),_:1}),e.dialog.visible?(d(),$(S,{key:0,visible:e.dialog.visible,"onUpdate:visible":o[0]||(o[0]=a=>e.dialog.visible=a),credential:e.dialog.credential,providers:e.providers,token:e.token,onSaved:e.onSaved},null,8,["visible","credential","providers","token","onSaved"])):U("",!0)]),_:1})}const xe=F(se,[["render",he],["__scopeId","data-v-afe60adf"]]);export{xe as default};
|
|
1
|
+
import{F as B}from"./index.es-DygHzaFn.js";import{d as A}from"./vendor-dayjs-Cvgzdobq.js";import{aZ as D,D as F,b0 as T,E as P}from"./index-C-BFvYVr.js";import{b as h}from"./byokCredential-Cu_acIzi.js";import{E as N,a as j}from"./index-CWVKY-hX.js";import{E as z}from"./index-DHTO4qxT.js";import{E as H,a as L}from"./index-Bbcg_VL1.js";import{E as V}from"./index-CZRS8Pfe.js";import{E as f}from"./index-Denf2RlU.js";import{d as K,x as $,y as l,C as t,H as b,N as M,O as R,E as g,F as s,J as U,I as k,D as i,q as d,G as q,K as G}from"./vendor-vue-C5BV5QrY.js";import{E as J,a as Z}from"./index-DEl7Jf-g.js";import{E as Q}from"./index-Dzc3inPz.js";import{a as W,E as X}from"./index-C5gLyNyO.js";import{E as x}from"./index-WLnVbCSu.js";import{E as ee}from"./index-CMXjexAl.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-meSLa91K.js";import"./index-CZmMZPJB.js";import"./typescript-BM7P3jg4.js";import"./index-CSFWZ8TW.js";import"./strings-DGr9fDRd.js";import"./isEqual-t6MQLHrP.js";import"./_Uint8Array-0RhRtRGu.js";import"./castArray-CnoZia7q.js";import"./use-form-item-Bap1cNNT.js";import"./debounce-BYulEKvt.js";import"./_baseIteratee-5bMPcoR7.js";import"./index-6b1XxUX-.js";import"./index-DcgghNrB.js";import"./_baseClone-BZXxYXdF.js";import"./_initCloneObject-B2kwKJ_I.js";import"./index-BuyEbX8F.js";import"./isPlainObject-UHNWDVqK.js";import"./index-WZtXS9FS.js";import"./validator-DyJoR1pm.js";const te=K({name:"BYOKDialog",components:{ElButton:V,ElDialog:D,ElForm:L,ElFormItem:H,ElInput:z,ElOption:j,ElSelect:N,FontAwesomeIcon:B},props:{visible:{type:Boolean,default:!1},credential:{type:Object,default:null},providers:{type:Array,default:()=>[]},token:{type:String,default:""}},emits:["update:visible","saved"],data(){return{form:{provider:"",api_key:"",base_url:"",label:""},advancedOpen:!1,saving:!1}},computed:{rules(){return{provider:[{required:!0,message:this.$t("byok.field.provider"),trigger:"change"}],api_key:[{required:!this.credential,message:this.$t("byok.field.apiKeyPlaceholder"),trigger:"blur"}]}},placeholderBaseUrl(){const e=this.form.provider;return this.providers.find(n=>n.id===e)?.default_base_url??this.$t("byok.field.baseUrlPlaceholder")}},watch:{credential:{immediate:!0,handler(e){e?(this.form={provider:e.provider,api_key:"",base_url:e.base_url??"",label:e.label??""},this.advancedOpen=!!e.base_url):(this.form={provider:this.providers?.[0]?.id??"",api_key:"",base_url:"",label:""},this.advancedOpen=!1)}}},methods:{onClose(e){(e===!1||e===void 0)&&this.$emit("update:visible",!1)},async onSubmit(){const e=this.$refs.formRef;if(e)try{await e.validate()}catch{return}if(this.token){this.saving=!0;try{const o=this.form.base_url.trim(),n=this.form.label.trim(),_=this.form.api_key.trim();if(this.credential){const p={};if(_&&(p.api_key=_),o!==(this.credential.base_url??"")&&(p.base_url=o),n!==(this.credential.label??"")&&(p.label=n),Object.keys(p).length===0){this.$emit("saved");return}await h.update(this.credential.id,p,{token:this.token})}else{if(!this.form.provider)return;const p={provider:this.form.provider,api_key:_,...o?{base_url:o}:{},...n?{label:n}:{}};await h.create(p,{token:this.token})}f.success(this.$t("byok.message.saveSuccess")),this.$emit("saved")}catch(o){const n=o?.response?.data?.message||(o instanceof Error?o.message:"unknown error");console.error("Failed to save BYOK credential",o),f.error(this.$t("byok.message.saveFailed")+": "+n)}finally{this.saving=!1}}}}}),oe={key:0,class:"advanced-section"},le={class:"hint"};function ae(e,o,n,_,p,I){const y=i("el-option"),v=i("el-select"),m=i("el-form-item"),u=i("el-input"),E=i("font-awesome-icon"),c=i("el-form"),w=i("el-button"),O=i("el-dialog");return d(),$(O,{"model-value":e.visible,title:e.credential?e.$t("byok.title.editCredential"):e.$t("byok.title.addCredential"),width:"560px","close-on-click-modal":!1,"onUpdate:modelValue":e.onClose},{footer:l(()=>[t(w,{onClick:o[5]||(o[5]=r=>e.onClose(!1))},{default:l(()=>[k(s(e.$t("byok.button.cancel")),1)]),_:1}),t(w,{type:"primary",loading:e.saving,onClick:e.onSubmit},{default:l(()=>[k(s(e.$t("byok.button.save")),1)]),_:1},8,["loading","onClick"])]),default:l(()=>[t(c,{ref:"formRef",model:e.form,rules:e.rules,"label-position":"top"},{default:l(()=>[t(m,{label:e.$t("byok.field.provider"),prop:"provider"},{default:l(()=>[t(v,{modelValue:e.form.provider,"onUpdate:modelValue":o[0]||(o[0]=r=>e.form.provider=r),placeholder:e.$t("byok.field.provider"),disabled:!!e.credential,class:"w-full"},{default:l(()=>[(d(!0),b(R,null,M(e.providers,r=>(d(),$(y,{key:r.id,label:r.label,value:r.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])]),_:1},8,["label"]),t(m,{label:e.$t("byok.field.label")},{default:l(()=>[t(u,{modelValue:e.form.label,"onUpdate:modelValue":o[1]||(o[1]=r=>e.form.label=r),placeholder:e.$t("byok.field.labelPlaceholder"),maxlength:"64","show-word-limit":""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),t(m,{label:e.$t("byok.field.apiKey"),prop:"api_key"},{default:l(()=>[t(u,{modelValue:e.form.api_key,"onUpdate:modelValue":o[2]||(o[2]=r=>e.form.api_key=r),type:"password",autocomplete:"new-password","show-password":"",placeholder:e.credential?e.$t("byok.field.apiKeyEditPlaceholder"):e.$t("byok.field.apiKeyPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),g("div",{class:"advanced-toggle",onClick:o[3]||(o[3]=r=>e.advancedOpen=!e.advancedOpen)},[t(E,{icon:e.advancedOpen?"fa-solid fa-chevron-down":"fa-solid fa-chevron-right",class:"text-[10px]"},null,8,["icon"]),g("span",null,s(e.$t("byok.message.advancedToggle")),1)]),e.advancedOpen?(d(),b("div",oe,[t(m,{label:e.$t("byok.field.baseUrl"),prop:"base_url"},{default:l(()=>[t(u,{modelValue:e.form.base_url,"onUpdate:modelValue":o[4]||(o[4]=r=>e.form.base_url=r),placeholder:e.placeholderBaseUrl},null,8,["modelValue","placeholder"]),g("p",le,s(e.$t("byok.message.baseUrlHelp")),1)]),_:1},8,["label"])])):U("",!0)]),_:1},8,["model","rules"])]),_:1},8,["model-value","title","onUpdate:modelValue"])}const ie=F(te,[["render",ae],["__scopeId","data-v-a5e553dd"]]),se=K({name:"BYOKList",components:{ElButton:V,ElCard:x,ElCol:X,ElRow:W,ElSwitch:Q,ElTable:Z,ElTableColumn:J,ElTag:P,FontAwesomeIcon:B,"byok-dialog":ie},directives:{loading:T},data(){return{loading:!1,credentials:[],providers:[],togglingId:null,testingId:null,dialog:{visible:!1,credential:null}}},computed:{token(){return this.$store?.state?.chat?.credential?.token}},watch:{token:{immediate:!0,handler(e){e&&this.bootstrap()}}},async mounted(){if(!this.token)try{await this.$store.dispatch("chat/getApplications");const e=this.$store?.state?.chat?.applications;Array.isArray(e)&&e.length>0&&await this.$store.dispatch("chat/setApplication",e[0])}catch(e){console.error("Failed to bootstrap chat application for BYOK",e)}},methods:{formatTime(e){return A.unix(e).format("YYYY-MM-DD HH:mm")},async bootstrap(){await Promise.all([this.loadProviders(),this.loadCredentials()])},async loadProviders(){if(this.token)try{const{data:e}=await h.providers({token:this.token});this.providers=e?.providers??[]}catch(e){console.error("Failed to load BYOK providers",e)}},async loadCredentials(){if(this.token){this.loading=!0;try{const{data:e}=await h.list({token:this.token});this.credentials=e?.items??[]}catch(e){console.error("Failed to load BYOK credentials",e),f.error(this.$t("byok.message.loadFailed"))}finally{this.loading=!1}}},onAdd(){this.dialog.credential=null,this.dialog.visible=!0},onEdit(e){this.dialog.credential=e,this.dialog.visible=!0},async onSaved(){this.dialog.visible=!1,this.dialog.credential=null,await this.loadCredentials()},async onToggleActive(e,o){if(this.token){this.togglingId=e.id;try{await h.update(e.id,{is_active:o},{token:this.token}),await this.loadCredentials()}catch(n){console.error("Failed to toggle BYOK credential",n),f.error(this.$t("byok.message.saveFailed"))}finally{this.togglingId=null}}},async onTest(e){if(this.token){this.testingId=e.id;try{const{data:o}=await h.test(e.id,{token:this.token});o?.ok?f.success(this.$t("byok.message.testSuccess")):f.error(this.$t("byok.message.testFailed",{message:o?.message??"unknown error"}))}catch(o){const n=o instanceof Error?o.message:"unknown error";f.error(this.$t("byok.message.testFailed",{message:n}))}finally{this.testingId=null}}},async onDelete(e){if(this.token){try{await ee.confirm(this.$t("byok.message.deleteConfirm",{provider:e.provider_label}),this.$t("byok.title.deleteCredential"),{type:"warning"})}catch{return}try{await h.delete(e.id,{token:this.token}),f.success(this.$t("byok.message.deleteSuccess")),await this.loadCredentials()}catch(o){console.error("Failed to delete BYOK credential",o),f.error(this.$t("byok.message.saveFailed"))}}}}}),re={class:"title"},ne={class:"text-sm text-[var(--el-text-color-regular)] mt-2 mb-4 max-w-[760px] leading-relaxed"},de={key:0,class:"break-all"},pe={key:1,class:"text-[var(--el-text-color-placeholder)]"},me={class:"text-xs text-[var(--el-text-color-regular)]"},ce={key:0,class:"break-all text-xs"},fe={key:1,class:"text-[var(--el-text-color-placeholder)]"},ue={key:0,class:"text-xs"},be={key:1,class:"text-[var(--el-text-color-placeholder)]"};function he(e,o,n,_,p,I){const y=i("el-col"),v=i("el-row"),m=i("font-awesome-icon"),u=i("el-button"),E=i("el-tag"),c=i("el-table-column"),w=i("el-switch"),O=i("el-table"),r=i("el-card"),S=i("byok-dialog"),Y=G("loading");return d(),$(v,{class:"panel p-[30px]"},{default:l(()=>[t(y,{span:24},{default:l(()=>[t(v,null,{default:l(()=>[t(y,{span:24},{default:l(()=>[g("h2",re,s(e.$t("byok.title.list")),1),g("p",ne,s(e.$t("byok.description.list")),1)]),_:1})]),_:1}),t(v,null,{default:l(()=>[t(y,{span:24,class:"flex justify-end mb-3"},{default:l(()=>[t(u,{type:"primary",round:"",size:"default",disabled:!e.token,onClick:e.onAdd},{default:l(()=>[t(m,{icon:"fa-solid fa-plus",class:"mr-1 text-[12px]"}),k(" "+s(e.$t("byok.button.add")),1)]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),t(v,null,{default:l(()=>[t(y,{span:24},{default:l(()=>[t(r,{shadow:"hover"},{default:l(()=>[q((d(),$(O,{data:e.credentials,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("byok.message.empty")},{default:l(()=>[t(c,{label:e.$t("byok.field.provider"),width:"160px"},{default:l(a=>[t(E,{type:a.row.is_active?"success":"info",effect:"dark",round:""},{default:l(()=>[k(s(a.row.provider_label),1)]),_:2},1032,["type"])]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.label"),"min-width":"160px"},{default:l(a=>[a.row.label?(d(),b("span",de,s(a.row.label),1)):(d(),b("span",pe,"—"))]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.apiKey"),width:"180px"},{default:l(a=>[g("code",me,s(a.row.api_key_masked),1)]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.baseUrl"),"min-width":"200px"},{default:l(a=>[a.row.base_url?(d(),b("span",ce,s(a.row.base_url),1)):(d(),b("span",fe,s(e.$t("byok.value.default")),1))]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.isActive"),width:"100px","class-name":"text-center"},{default:l(a=>[t(w,{"model-value":a.row.is_active,loading:e.togglingId===a.row.id,onChange:C=>e.onToggleActive(a.row,!!C)},null,8,["model-value","loading","onChange"])]),_:1},8,["label"]),t(c,{label:e.$t("byok.field.lastUsedAt"),width:"170px"},{default:l(a=>[a.row.last_used_at?(d(),b("span",ue,s(e.formatTime(a.row.last_used_at)),1)):(d(),b("span",be,s(e.$t("byok.value.never")),1))]),_:1},8,["label"]),t(c,{label:e.$t("common.field.operations"),width:"220px",fixed:"right"},{default:l(a=>[t(u,{size:"small",loading:e.testingId===a.row.id,onClick:C=>e.onTest(a.row)},{default:l(()=>[t(m,{icon:"fa-solid fa-plug",class:"mr-1 text-[10px]"}),k(" "+s(e.$t("byok.button.test")),1)]),_:1},8,["loading","onClick"]),t(u,{size:"small",onClick:C=>e.onEdit(a.row)},{default:l(()=>[t(m,{icon:"fa-solid fa-pen",class:"mr-1 text-[10px]"}),k(" "+s(e.$t("byok.button.edit")),1)]),_:1},8,["onClick"]),t(u,{size:"small",type:"danger",plain:"",onClick:C=>e.onDelete(a.row)},{default:l(()=>[t(m,{icon:"fa-solid fa-trash",class:"mr-1 text-[10px]"}),k(" "+s(e.$t("byok.button.delete")),1)]),_:1},8,["onClick"])]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[Y,e.loading]])]),_:1})]),_:1})]),_:1})]),_:1}),e.dialog.visible?(d(),$(S,{key:0,visible:e.dialog.visible,"onUpdate:visible":o[0]||(o[0]=a=>e.dialog.visible=a),credential:e.dialog.credential,providers:e.providers,token:e.token,onSaved:e.onSaved},null,8,["visible","credential","providers","token","onSaved"])):U("",!0)]),_:1})}const xe=F(se,[["render",he],["__scopeId","data-v-afe60adf"]]);export{xe as default};
|