@camera.ui/server 0.0.13-alpha.8 → 0.0.13
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/interface/{assets/@mdi-DdmeckA1.js → @mdi.jq8isxax.0.0.13.js} +1 -1
- package/dist/interface/@tanstack.rNNqDXib.0.0.13.js +1 -0
- package/dist/interface/{assets/@vee-validate-CmTVjJBY.js → @vee-validate.CMWfUAIL.0.0.13.js} +1 -1
- package/dist/interface/@vueform.CaTOdvWk.0.0.13.js +1 -0
- package/dist/interface/@vueuse.RXnPbHnz.0.0.13.js +1 -0
- package/dist/interface/Account.BqE7RvC3.0.0.13.js +1 -0
- package/dist/interface/Adminpanel.hllL_vUx.0.0.13.js +2 -0
- package/dist/interface/Appearance.BvWFogEk.0.0.13.js +1 -0
- package/dist/interface/Backup.DS1_0koP.0.0.13.js +1 -0
- package/dist/interface/Camera.CDpzE3tI.0.0.13.js +1 -0
- package/dist/interface/Cameras.ImtUGnay.0.0.13.js +1 -0
- package/dist/interface/Camview.CIDDigUd.0.0.13.js +1 -0
- package/dist/interface/Config.Dx7qqjix.0.0.13.js +1 -0
- package/dist/interface/Console.IkajRlkS.0.0.13.js +4 -0
- package/dist/interface/FirstSteps.gB36CAPV.0.0.13.js +1 -0
- package/dist/interface/{assets/NewCamera-Zu8RFyo6.js → NewCamera.D3fS-Ayi.0.0.13.js} +18 -18
- package/dist/interface/Plugin.Dmdq7eg2.0.0.13.js +1 -0
- package/dist/interface/Plugins.BlsT_Ctm.0.0.13.js +1 -0
- package/dist/interface/Recordings.NJkfLyST.0.0.13.js +1 -0
- package/dist/interface/Recordings.d-XiMIJY.0.0.13.js +1 -0
- package/dist/interface/Settings.CtjsmS-K.0.0.13.js +1 -0
- package/dist/interface/System.CKjKL2-m.0.0.13.js +4 -0
- package/dist/interface/User.B7z96rxB.0.0.13.js +1 -0
- package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.KV9Arktd.0.0.13.js +2 -0
- package/dist/interface/VConsole.B_ucNfW8.0.0.13.js +1 -0
- package/dist/interface/VPlayer.DLxaA6uJ.0.0.13.js +1 -0
- package/dist/interface/VPluginCard.rN1DHn_c.0.0.13.js +4 -0
- package/dist/interface/{assets/ace-builds-Jtyk_kwI.js → ace-builds.DW_mO3FQ.0.0.13.js} +1 -1
- package/dist/interface/assets/FirstSteps.0.0.13.LZWhAsRR.css +1 -0
- package/dist/interface/assets/NewCamera.0.0.13.DJ3tUBT_.css +1 -0
- package/dist/interface/assets/{Plugin-Dv0H228i.css → Plugin.0.0.13.BGZE7hpr.css} +1 -1
- package/dist/interface/assets/Plugins.0.0.13.Cwu0aGUO.css +1 -0
- package/dist/interface/assets/{VPlayer-4vWU8KqJ.css → VPlayer.0.0.13.H4sGdlHU.css} +1 -1
- package/dist/interface/assets/VPluginCard.0.0.13.B4G51MYn.css +1 -0
- package/dist/interface/assets/main.0.0.13.BPl82sqN.css +1 -0
- package/dist/interface/dnd-core.gediqdsP.0.0.13.js +1 -0
- package/dist/interface/{assets/draggabilly-YEGzHR3_.js → draggabilly.9bsDBvd2.0.0.13.js} +1 -1
- package/dist/interface/engine.io-client.jWnV_OQN.0.0.13.js +1 -0
- package/dist/interface/ev-emitter.BnUBws8R.0.0.13.js +1 -0
- package/dist/interface/fast-deep-equal.ChQuHYG8.0.0.13.js +1 -0
- package/dist/interface/{assets/highlight.js-fBaokXp-.js → highlight.js.DhQG6_ss.0.0.13.js} +1 -1
- package/dist/interface/index.html +33 -33
- package/dist/interface/linkify-it.CGqg1utY.0.0.13.js +1 -0
- package/dist/interface/main.D-udRFe6.0.0.13.js +9 -0
- package/dist/interface/{assets/markdown-it-DI8MEbma.js → markdown-it.CYBQYH34.0.0.13.js} +1 -1
- package/dist/interface/{assets/nprogress-QK5AFhFr.js → nprogress.BFdCzr-7.0.0.13.js} +1 -1
- package/dist/interface/{assets/pinia-B_gX_pHL.js → pinia.Bga1JTi8.0.0.13.js} +1 -1
- package/dist/interface/plugins.GodGbcuD.0.0.13.js +1 -0
- package/dist/interface/{assets/qrcode-SHonoxyK.js → qrcode.BcRvH17-.0.0.13.js} +1 -1
- package/dist/interface/react-dnd-touch-backend.Ch5f5vRm.0.0.13.js +1 -0
- package/dist/interface/{assets/rxjs-DmqiRszP.js → rxjs.CmasQk-X.0.0.13.js} +1 -1
- package/dist/interface/socket.io-client.C_MSFRzn.0.0.13.js +1 -0
- package/dist/interface/socket.io-parser.DoUhVOYo.0.0.13.js +1 -0
- package/dist/interface/sw.js +1 -1
- package/dist/interface/system.CJsZbAvb.0.0.13.js +1 -0
- package/dist/interface/ui.Bnc_R-SN.0.0.13.js +1 -0
- package/dist/interface/{assets/unidragger-91TYirAP.js → unidragger.DdVxANhH.0.0.13.js} +1 -1
- package/dist/interface/v-calendar.CxnDxlOi.0.0.13.js +1 -0
- package/dist/interface/{assets/vee-validate-DHjm38DY.js → vee-validate.D2wCUJfh.0.0.13.js} +1 -1
- package/dist/interface/{assets/vue-i18n-CHUfunSC.js → vue-i18n.DryJT-yG.0.0.13.js} +1 -1
- package/dist/interface/vue-inline-svg.va799EvK.0.0.13.js +1 -0
- package/dist/interface/{assets/vue-router-C55prZ5l.js → vue-router.DqihDWFz.0.0.13.js} +1 -1
- package/dist/interface/{assets/vue3-apexcharts-BMpXn58Z.js → vue3-apexcharts.BHMHoOx8.0.0.13.js} +1 -1
- package/dist/interface/vue3-dnd.ZjtawZir.0.0.13.js +1 -0
- package/dist/interface/vue3-toastify.CudLrsQ6.0.0.13.js +1 -0
- package/dist/interface/{assets/vuetify-B_vGZaGi.js → vuetify.BenoxTsr.0.0.13.js} +1 -1
- package/dist/server/package.json +1 -1
- package/dist/server/src/api/controllers/users.controller.js +14 -0
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +6 -2
- package/dist/server/src/api/database/index.js +64 -29
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +5 -4
- package/dist/server/src/api/schemas/cameras.schema.js +44 -2
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +2 -2
- package/dist/server/src/api/schemas/users.schema.js +13 -8
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/services/users.service.js +2 -1
- package/dist/server/src/api/services/users.service.js.map +1 -1
- package/dist/server/src/camera/streaming/peer-connection.js +1 -0
- package/dist/server/src/camera/streaming/peer-connection.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +22 -22
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +2 -0
- package/dist/server/src/services/config/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/interface/assets/@tanstack-DPd4-F0t.js +0 -1
- package/dist/interface/assets/@vueform-B8BH3_sM.js +0 -1
- package/dist/interface/assets/@vueuse-DbPVvJxZ.js +0 -1
- package/dist/interface/assets/Account-ZiKqQHX6.js +0 -1
- package/dist/interface/assets/Adminpanel-Cg18OqW-.js +0 -2
- package/dist/interface/assets/Appearance-C7Ndxx_B.js +0 -1
- package/dist/interface/assets/Backup-Bv_3SH2Z.js +0 -1
- package/dist/interface/assets/Camera-DK9kXD1O.js +0 -1
- package/dist/interface/assets/Cameras-gnINcipz.js +0 -1
- package/dist/interface/assets/Camview-ChB4TxwO.js +0 -1
- package/dist/interface/assets/Config-CoCKV5Be.js +0 -1
- package/dist/interface/assets/Console-pBrl68Lm.js +0 -4
- package/dist/interface/assets/FirstSteps-43_Gw1p8.css +0 -1
- package/dist/interface/assets/FirstSteps-BpRbkRcl.js +0 -1
- package/dist/interface/assets/NewCamera-C7naTyF1.css +0 -1
- package/dist/interface/assets/Plugin-5bCp3WWh.js +0 -1
- package/dist/interface/assets/Plugins-BYNW9Ebl.css +0 -1
- package/dist/interface/assets/Plugins-CRX_4x4v.js +0 -1
- package/dist/interface/assets/Recordings-CRkD0oFF.js +0 -1
- package/dist/interface/assets/Recordings-DcdGNthn.js +0 -1
- package/dist/interface/assets/Settings-DFvCIOU_.js +0 -1
- package/dist/interface/assets/System-DM54C-lb.js +0 -4
- package/dist/interface/assets/User-CqO0vCkm.js +0 -1
- package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-DoYWC5QN.js +0 -2
- package/dist/interface/assets/VConsole-B5SAtszq.js +0 -1
- package/dist/interface/assets/VPlayer-DxUydCDj.js +0 -1
- package/dist/interface/assets/VPluginCard-CgebF8Ml.js +0 -4
- package/dist/interface/assets/VPluginCard-DsbuLNH9.css +0 -1
- package/dist/interface/assets/dnd-core-SnWOpY0X.js +0 -1
- package/dist/interface/assets/engine.io-client-DBBxzneW.js +0 -1
- package/dist/interface/assets/ev-emitter-t78oQA8k.js +0 -1
- package/dist/interface/assets/fast-deep-equal-Bs1__Kao.js +0 -1
- package/dist/interface/assets/linkify-it-DmNjr4Kv.js +0 -1
- package/dist/interface/assets/main-CXQ__khI.css +0 -1
- package/dist/interface/assets/main-GKvN044v.js +0 -9
- package/dist/interface/assets/plugins-Cij0rj3_.js +0 -1
- package/dist/interface/assets/react-dnd-touch-backend-NgACaG8W.js +0 -1
- package/dist/interface/assets/socket.io-client-Bq_SHkin.js +0 -1
- package/dist/interface/assets/socket.io-parser-BBkuslX-.js +0 -1
- package/dist/interface/assets/system--ZtvyuQf.js +0 -1
- package/dist/interface/assets/ui-CdiPlYMM.js +0 -1
- package/dist/interface/assets/v-calendar-CbEkwI4D.js +0 -1
- package/dist/interface/assets/vue-inline-svg-DDdr3aAz.js +0 -1
- package/dist/interface/assets/vue3-dnd-Dn4SH4Ex.js +0 -1
- package/dist/interface/assets/vue3-toastify-Cy6dUyKO.js +0 -1
- /package/dist/interface/{assets/@babel-l0sNRNKZ.js → @babel.l0sNRNKZ.0.0.13.js} +0 -0
- /package/dist/interface/{assets/@intlify-YW_pt133.js → @intlify.YW_pt133.0.0.13.js} +0 -0
- /package/dist/interface/{assets/@popperjs-BQBsAJpH.js → @popperjs.BQBsAJpH.0.0.13.js} +0 -0
- /package/dist/interface/{assets/@react-dnd-CcwRs9xb.js → @react-dnd.CcwRs9xb.0.0.13.js} +0 -0
- /package/dist/interface/{assets/@socket.io-Dkula2eQ.js → @socket.io.Dkula2eQ.0.0.13.js} +0 -0
- /package/dist/interface/{assets/@vue-CIFymae3.js → @vue.CIFymae3.0.0.13.js} +0 -0
- /package/dist/interface/{assets/@xterm-LO7TPXYg.js → @xterm.hsdrI-pt.0.0.13.js} +0 -0
- /package/dist/interface/assets/{@vueform-h7tNX9p6.css → @vueform.0.0.13.h7tNX9p6.css} +0 -0
- /package/dist/interface/assets/{@xterm-CGrrDQr5.css → @xterm.0.0.13.CGrrDQr5.css} +0 -0
- /package/dist/interface/assets/{Account-DlOUWknb.css → Account.0.0.13.DlOUWknb.css} +0 -0
- /package/dist/interface/assets/{Adminpanel-BHh3IMeu.css → Adminpanel.0.0.13.BHh3IMeu.css} +0 -0
- /package/dist/interface/assets/{Backup-BIwaSlv3.css → Backup.0.0.13.BIwaSlv3.css} +0 -0
- /package/dist/interface/assets/{Camera-B5hAZmeQ.css → Camera.0.0.13.B5hAZmeQ.css} +0 -0
- /package/dist/interface/assets/{Cameras-D7bnvH42.css → Cameras.0.0.13.D7bnvH42.css} +0 -0
- /package/dist/interface/assets/{Camview-cgjDTjXy.css → Camview.0.0.13.cgjDTjXy.css} +0 -0
- /package/dist/interface/assets/{Config-CncRTcjC.css → Config.0.0.13.CncRTcjC.css} +0 -0
- /package/dist/interface/assets/{Console-DWrfRWs9.css → Console.0.0.13.DWrfRWs9.css} +0 -0
- /package/dist/interface/assets/{Settings-BfSP_zcY.css → Settings.0.0.13.BfSP_zcY.css} +0 -0
- /package/dist/interface/assets/{User-BHWFyck9.css → User.0.0.13.BHWFyck9.css} +0 -0
- /package/dist/interface/assets/{VConsole-BZT1WyS-.css → VConsole.0.0.13.BZT1WyS-.css} +0 -0
- /package/dist/interface/assets/{highlight-DgoK_Xib.css → highlight.0.0.13.DgoK_Xib.css} +0 -0
- /package/dist/interface/assets/{logo-256-BCQk9H1-.png → logo-256.0.0.13.BCQk9H1-.png} +0 -0
- /package/dist/interface/assets/{logo-512-DLKVOU2S.png → logo-512.0.0.13.DLKVOU2S.png} +0 -0
- /package/dist/interface/assets/{logo-DmEiRk0z.png → logo.0.0.13.DmEiRk0z.png} +0 -0
- /package/dist/interface/assets/{mode-json-Br7xisR1.js → mode-json.0.0.13.Br7xisR1.js} +0 -0
- /package/dist/interface/assets/{mode-yaml-CIYL8U3d.js → mode-yaml.0.0.13.CIYL8U3d.js} +0 -0
- /package/dist/interface/assets/{v-calendar-CtSuDYZU.css → v-calendar.0.0.13.CtSuDYZU.css} +0 -0
- /package/dist/interface/assets/{vue3-toastify-DTY1DMRs.css → vue3-toastify.0.0.13.DTY1DMRs.css} +0 -0
- /package/dist/interface/assets/{vuetify-DPyVfAPv.css → vuetify.0.0.13.DPyVfAPv.css} +0 -0
- /package/dist/interface/{assets/axios-BI2i94Vb.js → axios.BI2i94Vb.0.0.13.js} +0 -0
- /package/dist/interface/{assets/compare-versions-DqEOhma6.js → compare-versions.DqEOhma6.0.0.13.js} +0 -0
- /package/dist/interface/{assets/dijkstrajs-D_NXgYpA.js → dijkstrajs.D_NXgYpA.0.0.13.js} +0 -0
- /package/dist/interface/{assets/engine.io-parser-BiEtp6m2.js → engine.io-parser.BiEtp6m2.0.0.13.js} +0 -0
- /package/dist/interface/{assets/entities-C20TfXL6.js → entities.C20TfXL6.0.0.13.js} +0 -0
- /package/dist/interface/{assets/get-size-D1dS-IaP.js → get-size.D1dS-IaP.0.0.13.js} +0 -0
- /package/dist/interface/{assets/mdurl-k9Sl0PQj.js → mdurl.k9Sl0PQj.0.0.13.js} +0 -0
- /package/dist/interface/{assets/punycode.js-Dj65hjkv.js → punycode.js.Dj65hjkv.0.0.13.js} +0 -0
- /package/dist/interface/{assets/react-dnd-html5-backend-1HQjlkwI.js → react-dnd-html5-backend.1HQjlkwI.0.0.13.js} +0 -0
- /package/dist/interface/{assets/redux-CuxFRhX_.js → redux.CuxFRhX_.0.0.13.js} +0 -0
- /package/dist/interface/{assets/tslib-9k7AwCpt.js → tslib.9k7AwCpt.0.0.13.js} +0 -0
- /package/dist/interface/{assets/uc.micro-kMc2yuuw.js → uc.micro.kMc2yuuw.0.0.13.js} +0 -0
- /package/dist/interface/{assets/utils-BvINh1mj.js → utils.BvINh1mj.0.0.13.js} +0 -0
- /package/dist/interface/{assets/uuid-DvF23Exx.js → uuid.DvF23Exx.0.0.13.js} +0 -0
- /package/dist/interface/{assets/vue-l0sNRNKZ.js → vue.l0sNRNKZ.0.0.13.js} +0 -0
- /package/dist/interface/{assets/zod-BaF2dDCd.js → zod.BaF2dDCd.0.0.13.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as ne,r as g,U as ft,e as r,f as F,j as i,M as n,R as l,V as W,T as y,u as e,q as Z,t as fe,c as N,w as J,X as pe,O as E,Q as ue,N as ve,aa as pt,l as H,an as gt,n as me,W as _t,i as ke,m as Ee,ai as wt,aj as yt}from"./@vue.CIFymae3.0.0.13.js";import{J as Qe,K as ht,L as xt,s as bt,M as je,E as Vt,F as kt,N as Ct,O as Dt,P as $t,Q as zt,R as Mt,S as Pt,T as St,U as Ft,V as It,W as At}from"./@mdi.jq8isxax.0.0.13.js";import{e as G,b as ee,o as $e,G as Oe,H as We,f as we,j as Re,V as Tt,c as Be,n as Le,I as Et,J as Rt}from"./vuetify.BenoxTsr.0.0.13.js";import{d as ie,s as He,f as Ce,t as ye,u as Bt,U as Lt,v as Ut,w as Qt}from"./main.D-udRFe6.0.0.13.js";import{F as Ue,a as jt}from"./vee-validate.D2wCUJfh.0.0.13.js";import{_ as Pe,C as Ot}from"./VPlayer.DLxaA6uJ.0.0.13.js";import{H as Ne}from"./react-dnd-html5-backend.1HQjlkwI.0.0.13.js";import{T as Xe}from"./react-dnd-touch-backend.Ch5f5vRm.0.0.13.js";import{u as Ye,a as qe,D as Ge}from"./vue3-dnd.ZjtawZir.0.0.13.js";import{u as Je}from"./ui.Bnc_R-SN.0.0.13.js";import{s as ze}from"./pinia.Bga1JTi8.0.0.13.js";import{m as Ke,v as Ze,k as et,w as tt}from"./@vueuse.RXnPbHnz.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./qrcode.BcRvH17-.0.0.13.js";import"./dijkstrajs.D_NXgYpA.0.0.13.js";import"./plugins.GodGbcuD.0.0.13.js";import"./draggabilly.9bsDBvd2.0.0.13.js";import"./get-size.D1dS-IaP.0.0.13.js";import"./unidragger.DdVxANhH.0.0.13.js";import"./ev-emitter.BnUBws8R.0.0.13.js";import"./@react-dnd.CcwRs9xb.0.0.13.js";import"./dnd-core.gediqdsP.0.0.13.js";import"./redux.CuxFRhX_.0.0.13.js";import"./fast-deep-equal.ChQuHYG8.0.0.13.js";const Wt={class:"mt-auto flex flex-col"},Ht={class:"relative flex flex-col items-center justify-center"},Nt=ne({__name:"VAudioVisualizer",emits:["listening"],setup(X,{emit:R}){const Y=R,M=g(),I=g(null),T=g(),m=g(!1),u=()=>{var o,s;(o=M.value)==null||o.close(),M.value=void 0,(s=T.value)==null||s.forEach(k=>k.stop()),T.value=void 0,m.value=!1,Y("listening",!1)},x=(o,s,k,U,V,L)=>{const P=o.createLinearGradient(s,k,U,V);P.addColorStop(0,"#5b040f"),P.addColorStop(.5,"#b50b21"),P.addColorStop(.9,"#df2a4c"),P.addColorStop(1,"#df6380"),o.lineWidth=L,o.strokeStyle=P,o.beginPath(),o.moveTo(s,k),o.lineTo(U,V),o.stroke(),o.closePath()},b=async()=>{var o;if(m.value)u();else try{M.value&&u();let s;try{s=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(z){console.warn("Can not enable AudioVisualizer",z);return}m.value=!0,Y("listening",!0),M.value=new AudioContext;let k=M.value.createAnalyser();k.fftSize=1024,T.value=s.getTracks(),M.value.createMediaStreamSource(s).connect(k);const V=90;let L=3,P;const $=(o=I.value)==null?void 0:o.getContext("2d"),S=()=>{if(I.value&&$){const z=[],C=[];$.clearRect(0,0,I.value.width,I.value.height),requestAnimationFrame(S);let v=k.frequencyBinCount,_=new Uint8Array(v);k.getByteFrequencyData(_),z.push(_);for(let p=0;p<z[0].length;p++)C.push(0),z.forEach(Q=>{C[p]+=Q[p]});const h=I.value.width/2,c=I.value.height/2,f=30;$.beginPath(),$.arc(h,c,f,0,2*Math.PI),$.lineWidth=1,$.stroke(),$.closePath();for(let p=0;p<V;p++){P=C[p]*.4;let Q=Math.PI*2/V,j=h+Math.cos(Q*p)*f,le=c+Math.sin(Q*p)*f,re=h+Math.cos(Q*p)*(f+P),he=c+Math.sin(Q*p)*(f+P);x($,j,le,re,he,L)}m.value||$.clearRect(0,0,I.value.width,I.value.height)}};S()}catch(s){u(),console.error(s)}};return ft(()=>{u()}),(o,s)=>(r(),F("div",Wt,[i("div",Ht,[n(ee,{class:"mic-button",variant:"elevated",color:"white",icon:"",size:"60",onClick:Z(b,["prevent"])},{default:l(()=>[n(G,{size:"35"},{default:l(()=>[W(y(e(Qe)),1)]),_:1})]),_:1}),i("canvas",{ref_key:"canvas",ref:I,height:"300",width:"300"},null,512)])]))}}),Xt=ie(Nt,[["__scopeId","data-v-5c30fb5d"]]),Yt=["data-handler-id"],qt=ne({__name:"VDnDCard",props:{id:{},index:{},camera:{},moveCard:{type:Function}},setup(X,{expose:R}){const Y=Je(),M=X,{camera:I}=fe(M),{uiSettings:T}=ze(Y),m=g(),u=g(),x=g(null);let b=null,o=0,s=0;const k=N(()=>T.value.camview.dragDisabled===!1),{x:U,y:V,sourceType:L}=Ke(),{top:P,left:$}=Ze(x),[S,z]=Ye({accept:"camera",collect(D){return{handlerId:D.getHandlerId()}},hover(D,se){var be;if(!m.value)return;const ae=D.index,ce=M.index;if(ae===ce)return;const ge=(be=m.value)==null?void 0:be.getBoundingClientRect(),te=(ge.bottom-ge.top)/2,xe=se.getClientOffset().y-ge.top;ae<ce&&xe<te||ae>ce&&xe>te||(M.moveCard(ae,ce),D.index=ce)}}),[C,v]=qe({type:"camera",canDrag(){return k.value},item:()=>({id:M.id,index:M.index}),collect:D=>({isDragging:D.isDragging()})}),{handlerId:_}=fe(S.value),h=N(()=>C.value.isDragging),c=N(()=>h.value&&L.value==="touch"),f=N(()=>e(h)?0:1);J(c,D=>{D?(b=p(),o=U.value-$.value,s=V.value-P.value):(j(b),b=null)}),J([U,V],()=>{Q(b,o,s)});const p=()=>{if(x.value){const D=x.value.cloneNode(!0);return D.classList.add("drag-preview"),document.body.appendChild(D),D}return null},Q=(D,se,ae)=>{D&&(D.style.left=`${U.value-se}px`,D.style.top=`${V.value-ae}px`)},j=D=>{D&&document.body.removeChild(D)},le=D=>{m.value=v(z(D))};return R({togglePlayerMute:D=>{var se;(se=u.value)==null||se.toggleMute(D)},toggleMicrophone:async(D,se)=>{var ae;await((ae=u.value)==null?void 0:ae.toggleMicrophone(D,se))}}),(D,se)=>(r(),F("div",{ref_key:"boxEl",ref:x},[i("div",{ref:le,class:"camera-card",style:pe({opacity:e(f),color:"#000",cursor:e(T).camview.dragDisabled?"default":"grab"}),"data-handler-id":e(_)},[n(Pe,{ref_key:"playerRef",ref:u,"current-camera":e(I).name,"border-radius":0,target:"stream","show-camera-name":"","enable-control":"","auto-hide-control":"","source-role":"low-resolution","show-mode":!1},null,8,["current-camera"])],12,Yt)],512))}}),Gt=ie(qt,[["__scopeId","data-v-a157f34a"]]),Jt={class:"conference"},Kt=ne({__name:"VDnD",props:{cameras:{},dbCameras:{}},emits:["drag"],setup(X,{expose:R,emit:Y}){const{isTouch:M}=He(),{smallMobileActive:I}=Ce(),T=Y,m=X,{cameras:u,dbCameras:x}=fe(m),b=g(null),o=g(null),s=g("16:9"),k=g(2),U=et(o),V=g([]),L=g(),{isFullscreen:P,toggle:$}=tt(b);J(u,c=>{V.value=ye(c).sort((f,p)=>f.index-p.index)},{immediate:!0,deep:!0});const S=(c,f)=>{const p=V.value[c];V.value.splice(c,1),V.value.splice(f,0,p),V.value=V.value.map((Q,j)=>(Q.index=j,Q)).sort((Q,j)=>Q.index-j.index),T("drag",V.value)},z=c=>{const f=U.height.value-k.value*2,p=U.width.value-k.value*2,Q=parseInt(s.value.split(":")[1])/parseInt(s.value.split(":")[0]);let j=0,le=0,re=c*Q+k.value*2;for(;j<V.value.length;)le+c>p&&(le=0,re=re+c*Q+k.value*2),le=le+c+k.value*2,j++;return re>f||c>p?!1:c},C=N(()=>{if(I.value)return"100%";let c=0,f=1;for(;f<5e3;){if(z(f)===!1){c=f-1;break}f++}return c=c-k.value,`${c}px`});return R({toggleFullscreen:async()=>{await $()},togglePlayerMute:c=>{for(const f of L.value||[])f.togglePlayerMute(c)},togglePlayerMicrophone:async(c,f)=>{for(const p of L.value||[])await p.toggleMicrophone(c,f)},isFullscreen:P,selectedCameras:V}),(c,f)=>(r(),E(e(Ge),{backend:e(M)?e(Xe):e(Ne)},{default:l(()=>[i("div",{ref_key:"cameraDnd",ref:b,class:"scenary"},[i("div",Jt,[n(pt,{ref_key:"dishEl",ref:o,name:"list",tag:"div",class:"dish"},{default:l(()=>[(r(!0),F(ve,null,ue(e(V),(p,Q)=>(r(),E(Gt,{id:p.cameraId,ref_for:!0,ref_key:"dndCards",ref:L,key:p.cameraId,index:Q,camera:e(x).find(j=>j._id===p.cameraId),"move-card":S,style:pe({width:e(C)})},null,8,["id","index","camera","style"]))),128))]),_:1},512)])],512)]),_:1},8,["backend"]))}}),Zt=ie(Kt,[["__scopeId","data-v-c22c99a6"]]),ea={class:"camera-snapshot"},ta={class:"camera-info flex flex-row items-center"},aa={class:"text-passive truncate"},sa=ne({__name:"VViewDrag",props:{camera:{},isDropped:{type:Boolean},canDrag:{type:Boolean}},setup(X){const R=X,{isDropped:Y,camera:M,canDrag:I}=fe(R),T=g(null);let m=null,u=0,x=0;const{x:b,y:o,sourceType:s}=Ke(),{top:k,left:U}=Ze(T),[V,L]=qe(()=>({type:"camera",options:{dropEffect:"copy"},item:M.value,canDrag:I.value,collect:v=>({style:{opacity:v.isDragging()?.4:1},isDragging:v.isDragging()})})),P=N(()=>V.value.isDragging),$=N(()=>P.value&&s.value==="touch");J($,v=>{v?(m=S(),u=b.value-U.value,x=o.value-k.value):(C(m),m=null)}),J([b,o],()=>{z(m,u,x)});const S=()=>{if(T.value){const v=T.value.cloneNode(!0);return v.classList.add("drag-preview"),document.body.appendChild(v),v}return null},z=(v,_,h)=>{v&&(v.style.left=`${b.value-_}px`,v.style.top=`${o.value-h}px`)},C=v=>{v&&document.body.removeChild(v)};return(v,_)=>{const h=Pe;return r(),F("div",{ref_key:"boxEl",ref:T},[i("div",{ref:e(L),style:pe({...e(V).style,cursor:e(Y)?"default":"grab"}),class:"drag-box p-2 flex flex-row items-center relative"},[n(G,{size:"20",class:"text-passive mr-2"},{default:l(()=>[W(y(e(ht)),1)]),_:1}),i("div",ea,[n(h,{"current-camera":e(M).name,"border-radius":6,target:"snapshot","show-mode":!1},null,8,["current-camera"])]),i("div",ta,[i("span",aa,y(e(M).name),1),e(Y)?(r(),E(G,{key:0,size:"25",class:"ml-auto text-green mr-4"},{default:l(()=>[W(y(e(xt)),1)]),_:1})):H("",!0)])],4)],512)}}}),la=ie(sa,[["__scopeId","data-v-7dfa63f3"]]),Me={WIDTH:400},oa={class:"camera-view-edit flex flex-col p-2"},ra={class:"mb-4 text-lg"},na={class:"text-passive mb-5 mt-5"},ia={class:"camera-container py-3"},ca=ne({__name:"VViewSidebar",props:{cameras:{},droppedCameras:{},title:{}},setup(X){gt(x=>({"7ea40162":e(T)}));const R=X,{cameras:Y,droppedCameras:M,title:I}=fe(R),T=g(`${Me.WIDTH}px`),m=g(!1),u=x=>M.value.some(b=>b.name===x.name);return(x,b)=>{const o=la;return r(),F("div",oa,[i("b",ra,y(e(I)),1),i("span",na,y(x.$t("components.view_box.available_streams")),1),i("div",ia,[(r(!0),F(ve,null,ue(e(Y),(s,k)=>(r(),F("div",{key:k,class:"mb-4"},[n(o,{camera:s,"is-dropped":u(s),"can-drag":!u(s),class:me({shake:e(m)})},null,8,["camera","is-dropped","can-drag","class"])]))),128))])])}}}),da=ie(ca,[["__scopeId","data-v-420802a2"]]),ua={key:0,class:"overlay-button-text truncate",color:"#fff"},va={key:1,class:"w-full h-full flex items-center justify-center"},ma=ne({__name:"VViewCard",props:{lastDroppedCamera:{},editMode:{type:Boolean},cameras:{},droppedCameras:{},onDrop:{type:Function}},emits:["drop","remove"],setup(X,{expose:R,emit:Y}){const{desktopActive:M}=Ce(),I=Y,T=X,{lastDroppedCamera:m,editMode:u,cameras:x,droppedCameras:b}=fe(T),o=g(null),s=g(),{width:k}=et(o),[U,V]=Ye({accept:"camera",drop:T.onDrop,collect:_=>({isOver:_.isOver(),canDrop:_.canDrop()&&m.value===void 0}),canDrop:()=>m.value===void 0}),L=N(()=>U.value.canDrop&&U.value.isOver),P=N(()=>u.value?L.value?"#171717":"#202020":"#000"),$=N(()=>k.value<=200),S=N(()=>x.value.filter(_=>!z(_))),z=_=>b.value.some(h=>h.name===_.name);return R({togglePlayerMute:_=>{var h;(h=s.value)==null||h.toggleMute(_)},toggleMicrophone:async(_,h)=>{var c;await((c=s.value)==null?void 0:c.toggleMicrophone(_,h))}}),(_,h)=>(r(),F("div",{ref:e(V),style:pe({backgroundColor:e(P)}),class:"overflow-hidden"},[e(m)?(r(),F("div",{key:0,ref_key:"container",ref:o,class:"w-full h-full flex items-center justify-center relative"},[e(u)?(r(),E(ee,{key:0,icon:e($),size:e($)?32:void 0,class:"overlay-button flex items-center justify-center",color:"#df2a4c",onClick:h[0]||(h[0]=Z(c=>I("remove",e(m)),["prevent"]))},{default:l(()=>[n(G,{size:"18"},{default:l(()=>[W(y(e(bt)),1)]),_:1}),e($)?H("",!0):(r(),F("span",ua,y(e(m).name),1))]),_:1},8,["icon","size"])):H("",!0),n(_t,{name:"fade",mode:"in-out"},{default:l(()=>[e(m)?(r(),E(Pe,{key:0,ref_key:"playerRef",ref:s,class:me({"camera-overlay":e(u)}),"current-camera":e(m).name,"border-radius":0,target:e(u)?"snapshot":"stream",style:pe({opacity:e(u)?.2:1}),"show-camera-name":!e(u),"enable-control":!e(u),"auto-hide-control":"","source-role":"low-resolution","show-mode":!1},null,8,["class","current-camera","target","style","show-camera-name","enable-control"])):H("",!0)]),_:1})],512)):!e(M)&&e(u)?(r(),F("div",va,[n(ee,{icon:"",size:"32",color:"#df2a4c"},{default:l(()=>[n(G,{size:"18",color:"#ffff"},{default:l(()=>[W(y(e(je)),1)]),_:1}),n($e,{activator:"parent",class:"select-menu"},{default:l(()=>[n(Oe,{"onClick:select":h[1]||(h[1]=c=>I("drop",c.id))},{default:l(()=>[(r(!0),F(ve,null,ue(e(S),(c,f)=>(r(),E(we,{key:f,value:c},{default:l(()=>[n(We,null,{default:l(()=>[W(y(c.name),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})])):H("",!0)],4))}}),fa=ie(ma,[["__scopeId","data-v-5b755b3b"]]),pa=ne({__name:"VView",props:{cameras:{},viewSize:{},cards:{},title:{},editMode:{type:Boolean,default:!1}},emits:["drop","remove"],setup(X,{expose:R,emit:Y}){const{isTouch:M}=He(),{desktopActive:I}=Ce(),T=Y,m=X,{cameras:u,editMode:x,viewSize:b,cards:o,title:s}=fe(m),k=g(null),U=g(`${Me.WIDTH}px`),V=g(),{isFullscreen:L,toggle:P}=tt(k),$=N(()=>o.value.filter(v=>v.lastDroppedCamera).map(v=>v.lastDroppedCamera));return R({toggleFullscreen:async()=>{await P()},togglePlayerMute:v=>{for(const _ of V.value||[])_.togglePlayerMute(v)},togglePlayerMicrophone:async(v,_)=>{for(const h of V.value||[])await h.toggleMicrophone(v,_)},isFullscreen:L}),(v,_)=>{const h=da;return r(),E(e(Ge),{backend:e(M)?e(Xe):e(Ne)},{default:l(()=>[i("div",{ref_key:"cameraView",ref:k,class:"view-container flex items-center mx-2",style:pe({width:e(x)&&e(I)?`calc(100% - ${e(U)})`:void 0})},[i("div",{class:me(`view-wrap w-full camera-view-${e(b)}`)},[(r(!0),F(ve,null,ue(e(o),(c,f)=>(r(),E(fa,{ref_for:!0,ref_key:"dragContainer",ref:V,key:f,class:me(`div${f+1}-${e(b)}`),"last-dropped-camera":c.lastDroppedCamera,cameras:e(u),"dropped-cameras":e($),"edit-mode":e(x),onDrop:p=>T("drop",f,p),onRemove:_[0]||(_[0]=p=>T("remove",p))},null,8,["class","last-dropped-camera","cameras","dropped-cameras","edit-mode","onDrop"]))),128))],2)],4),e(x)&&e(I)?(r(),E(h,{key:0,cameras:e(u),"dropped-cameras":e($),title:e(s),class:"view-box",style:pe({"margin-right":e(x)?"0px":`-${e(Me).WIDTH}px`})},null,8,["cameras","dropped-cameras","title","style"])):H("",!0)]),_:1},8,["backend"])}}}),ga=ie(pa,[["__scopeId","data-v-8ef83e91"]]),at=X=>(wt("data-v-ebd2ec2a"),X=X(),yt(),X),_a={class:"w-full h-full"},wa={class:"camview-topbar p-2 flex flex-row items-center"},ya={class:"flex w-full justify-start items-center"},ha={class:"camview-title truncate"},xa={style:{margin:"5px"}},ba={class:"flex flex-row w-full justify-start items-center"},Va={class:"menu-item"},ka={class:"flex w-full justify-start items-center"},Ca={class:"camview-title truncate"},Da=at(()=>i("div",{class:"ml-auto"},null,-1)),$a={style:{margin:"5px"}},za={class:"flex flex-row w-full justify-start items-center"},Ma={class:"icon-wrapper"},Pa={class:"menu-item ml-2"},Sa=at(()=>i("div",{class:"my-1"},null,-1)),Fa={class:"flex flex-row w-full justify-start items-center"},Ia={class:"icon-wrapper"},Aa={class:"menu-item ml-2"},Ta={key:9,class:"flex flex-row items-center"},Ea={class:"text-white"},Ra={class:"h-full w-full inline-size mb-safe"},Ba={key:0,class:"h-full w-full flex items-center justify-center"},La={key:1,class:"w-full h-full"},Ua={key:0,class:"w-full h-full relative"},Qa={key:1,class:"w-full h-full flex flex-row"},ja={key:2,class:"flex flex-col items-center justify-center w-full h-full"},Oa={class:"mt-5",style:{color:"#525252"}},Wa={class:"flex flex-col h-full w-full"},Ha={class:"relative"},Na={for:"name",class:"v-label"},Xa={key:0,class:"text-red text-center mb-5"},Ya={class:"view-scroll-container"},qa={class:"view-select-container"},Ga=["onClick"],Ja={class:"flex flex-col h-full w-full"},Ka={class:"relative"},Za={for:"name",class:"v-label"},es={key:0,class:"text-red text-center mb-5"},ts={class:"flex flex-col"},as=ne({__name:"Camview",setup(X){var Se;const R=new Lt,Y=new Ot,{smallMobileActive:M}=Ce(),I=Bt(),T=Je(),{uiSettings:m}=ze(T),{loginState:u}=ze(I),x=g(),b=g(),o=g(),s=g({}),k=g(!1),U=g({page:1,pageSize:-1}),V=g([1,4,6,7,9,10,12,13,15,16,20,26]),L=g(!1),P=g(!1),$=g(!0),S=g(!1),z=g(!1),C=g(!1),v=g(!1),_=g(!1),h=g(!1),c=g([]),f=g([]),{data:p,isLoading:Q}=Y.getCamerasQuery(U),{data:j,isLoading:le}=R.getViewsQuery(((Se=u.value.user)==null?void 0:Se.username)||"",U),{mutate:re,isPending:he}=R.removeViewQuery(),{mutateAsync:D,isPending:se}=R.createViewQuery(),{mutateAsync:ae,isPending:ce}=R.patchViewQuery(),{mutateAsync:ge}=R.patchViewQuerySilent(),te=N(()=>S.value||C.value||z.value),oe=N(()=>Q.value||le.value||he.value||se.value||ce.value),xe=N(()=>{var a,t;return((a=b.value)==null?void 0:a.isFullscreen)||((t=b.value)==null?void 0:t.isFullscreen)||!1}),be=N(()=>navigator.mediaDevices!==void 0),A=N(()=>{var t,w;const a=((t=j.value)==null?void 0:t.result.find(B=>B._id===m.value.camview.viewid))||((w=j.value)==null?void 0:w.result[0]);return a?(s.value=a,m.value.camview.viewid=a._id):s.value={},a}),De=N(()=>te.value&&s.value.viewSize>0?s.value.viewSize:A.value?A.value.viewSize:1);J(u,a=>{R.toggleQueryActivator("getUserQuery",a!==null)}),J([De,A,p,te,m],()=>{var t,w,B;if(((t=A.value)==null?void 0:t.type)==="dnd"&&!S.value&&!C.value)return;const a=Array.from({length:De.value}).map((O,K)=>({accept:"camera",index:K,lastDroppedCamera:void 0}));if(!C.value&&!v.value)for(const O of((w=A.value)==null?void 0:w.cameras)||[])a[O.index].lastDroppedCamera=(B=p.value)==null?void 0:B.result.find(K=>K._id===O.cameraId);c.value=a},{deep:!0,immediate:!0}),J(s,a=>{var t,w,B;if(Object.keys(a).length===0)(t=o.value)==null||t.resetForm(),L.value=!1,P.value=!1;else{for(const[O,K]of Object.entries(a))(w=o.value)==null||w.setFieldValue(O,K);a.viewSize&&(L.value=!1),(B=a.cameras)!=null&&B.length&&(P.value=!1)}},{deep:!0}),J([v,C],([a,t])=>{(!a&&!t||a)&&(s.value={},L.value=!1)}),J([_,z],()=>{z.value||(f.value=[],s.value={},P.value=!1)}),J(_,a=>{a||(z.value=!1)}),J(z,a=>{var t;a?(f.value=((t=p.value)==null?void 0:t.result.filter(w=>{var B;return(B=A.value)==null?void 0:B.cameras.some(O=>O.cameraId===w._id)}))||[],_.value=!0):(f.value=[],_.value=!1)}),J(f,a=>{a.length&&(P.value=!1)}),J(te,a=>{a&&A.value&&!C.value&&(s.value=ye(A.value))}),J(u,a=>{a.user?R.toggleQueryActivator("getUserQuery",!0):R.toggleQueryActivator("getUserQuery",!1)},{immediate:!0,deep:!0});const st=async a=>{if(!A.value||!u.value.user)return;const t=ye(A.value);t.cameras=a;const w=await ge({username:u.value.user.username,viewid:t._id,viewData:t});_e(w)},lt=(a,t)=>{c.value[a].lastDroppedCamera=t},ot=a=>{c.value=c.value.map(t=>{var w;return((w=t.lastDroppedCamera)==null?void 0:w.name)===a.name&&(t.lastDroppedCamera=void 0),t})},rt=async()=>{var w;if(!o.value||!u.value.user)return;const a=f.value.map((B,O)=>({cameraId:B._id,index:O}));s.value.cameras=a,s.value.type="dnd",s.value.viewSize=1,o.value.setFieldValue("type","dnd"),o.value.setFieldValue("viewSize",1),o.value.setFieldValue("cameras",a);const t=await o.value.validate();if(t){if(((w=j.value)==null?void 0:w.result.find(K=>K.name===s.value.name))&&!z.value){o.value.setFieldError("name","View already exists");return}if(a.length===0){P.value=!0;return}if(!t.valid)return;const O=ye(s.value);if(O._id){const K=await ae({username:u.value.user.username,viewid:O._id,viewData:O});_e(K)}else{const K=await D({username:u.value.user.username,viewData:O});_e(K)}_.value=!1}},nt=async()=>{var t,w;if(!o.value)return;s.value.cameras=[],s.value.type="view",o.value.setFieldValue("type","view"),o.value.setFieldValue("cameras",[]);const a=await o.value.validate();if(a){if((t=j.value)==null?void 0:t.result.find(O=>O.name===s.value.name)){o.value.setFieldError("name","View already exists");return}if(!a.valid){((w=a.results.viewSize)==null?void 0:w.valid)===!1&&(L.value=!0);return}v.value=!1,C.value=!0}},it=async()=>{if(!o.value||!u.value.user||Object.keys(s.value).length===0)return;const a=c.value.filter(w=>w.lastDroppedCamera).map(w=>({cameraId:w.lastDroppedCamera._id,index:w.index})).sort((w,B)=>w.index-B.index);if(!a.length)return;o.value.setFieldValue("name",s.value.name),o.value.setFieldValue("cameras",a);const t=await o.value.validate();if(t!=null&&t.valid){const w=ye(s.value);if(w.cameras=a,w._id){const B=await ae({username:u.value.user.username,viewid:w._id,viewData:w});_e(B)}else{const B=await D({username:u.value.user.username,viewData:w});_e(B)}}},_e=a=>{m.value.camview.viewid=a._id,v.value=!1,_.value=!1,C.value=!1,S.value=!1},ct=()=>{!A.value||!u.value.user||re({username:u.value.user.username,viewid:A.value._id},{onSuccess:a=>{a.length?m.value.camview.viewid=a[0]._id:m.value.camview.viewid=void 0}})},dt=a=>{m.value.camview.viewid=a._id},ut=async()=>{b.value?await b.value.toggleFullscreen():x.value&&await x.value.toggleFullscreen()},vt=()=>{$.value=!$.value,b.value?b.value.togglePlayerMute($.value):x.value&&x.value.togglePlayerMute($.value)},mt=async a=>{b.value?await b.value.togglePlayerMicrophone(a):x.value&&await x.value.togglePlayerMicrophone(a)};return(a,t)=>{const w=Qt,B=Xt;return r(),F("main",_a,[n(e(jt),{ref_key:"viewVeeForm",ref:o,class:"h-full w-full","validation-schema":e(Ut),"initial-values":e(s)},{default:l(()=>{var O,K,Fe,Ie,Ae,Te;return[i("div",wa,[!e(C)&&e(A)?(r(),E(ee,{key:0,size:"small",variant:"flat",style:{background:"rgba(var(--color-rgb), 0.1)","padding-left":"8px"}},{default:l(()=>[i("div",ya,[e(te)?H("",!0):(r(),E(G,{key:0,size:"18",class:"text-color mr-1"},{default:l(()=>[W(y(e(k)?e(Vt):e(kt)),1)]),_:1})),i("span",ha,y(e(A).name),1)]),e(te)?H("",!0):(r(),E($e,{key:0,activator:"parent",width:"324",offset:"5",location:"bottom",class:"select-menu","onUpdate:modelValue":t[0]||(t[0]=d=>k.value=d)},{default:l(()=>[n(Re,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:l(()=>{var d;return[i("div",xa,[(r(!0),F(ve,null,ue(((d=e(j))==null?void 0:d.result)||[],(q,de)=>(r(),E(we,{key:de,active:q._id===e(A)._id,value:q,style:{"border-radius":"5px !important"},disabled:e(oe),onClick:Z(Ve=>dt(q),["prevent"])},{default:l(()=>[i("div",ba,[i("span",Va,y(q.name),1)])]),_:2},1032,["active","value","disabled","onClick"]))),128))])]}),_:1})]),_:1}))]),_:1})):e(C)&&e(s).name?(r(),E(ee,{key:1,size:"small",variant:"flat",style:{background:"rgba(var(--color-rgb), 0.1)","padding-left":"8px"}},{default:l(()=>[i("div",ka,[i("span",Ca,y(e(s).name),1)])]),_:1})):H("",!0),Da,!e(te)&&((O=e(A))==null?void 0:O.type)==="dnd"?(r(),E(ee,{key:2,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[1]||(t[1]=Z(d=>e(m).camview.dragDisabled=!e(m).camview.dragDisabled,["prevent"]))},{default:l(()=>[n(G,{size:"18"},{default:l(()=>[W(y(e(m).camview.dragDisabled?e(Ct):e(Dt)),1)]),_:1})]),_:1})):H("",!0),!e(te)&&e(A)?(r(),E(ee,{key:3,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[2]||(t[2]=Z(d=>vt(),["prevent"]))},{default:l(()=>[n(G,{size:"22"},{default:l(()=>[W(y(e($)?e($t):e(zt)),1)]),_:1})]),_:1})):H("",!0),!e(te)&&e(A)&&e(be)?(r(),E(ee,{key:4,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[3]||(t[3]=Z(d=>h.value=!0,["prevent"]))},{default:l(()=>[n(G,{size:"22"},{default:l(()=>[W(y(e(Qe)),1)]),_:1})]),_:1})):H("",!0),!e(te)&&e(A)?(r(),E(ee,{key:5,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[4]||(t[4]=Z(d=>ut(),["prevent"]))},{default:l(()=>[n(G,{size:"22"},{default:l(()=>[W(y(e(xe)?e(Mt):e(Pt)),1)]),_:1})]),_:1})):H("",!0),!e(te)&&e(A)?(r(),E(ee,{key:6,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[5]||(t[5]=Z(d=>ct(),["prevent"]))},{default:l(()=>[n(G,{size:"20"},{default:l(()=>[W(y(e(St)),1)]),_:1})]),_:1})):H("",!0),!e(z)&&!e(S)&&!e(C)&&e(A)?(r(),E(ee,{key:7,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[6]||(t[6]=Z(d=>{var q;return((q=e(A))==null?void 0:q.type)==="dnd"?z.value=!e(z):S.value=!e(S)},["prevent"]))},{default:l(()=>[n(G,{size:"19"},{default:l(()=>[W(y(e(Ft)),1)]),_:1})]),_:1})):H("",!0),!e(z)&&!e(S)&&!e(C)?(r(),E(ee,{key:8,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text"},{default:l(()=>[n(G,{size:"22"},{default:l(()=>[W(y(e(je)),1)]),_:1}),n($e,{activator:"parent",offset:"5",location:"bottom",class:"select-menu"},{default:l(()=>[n(Re,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:l(()=>[i("div",$a,[n(we,{style:{"border-radius":"5px !important"},disabled:e(oe),onClick:t[7]||(t[7]=Z(d=>v.value=!0,["prevent"]))},{default:l(()=>[i("div",za,[i("div",Ma,[n(G,{size:"20",class:"text-passive"},{default:l(()=>[W(y(e(It)),1)]),_:1})]),i("span",Pa,y(a.$t("views.camview.new_view")),1)])]),_:1},8,["disabled"]),Sa,n(we,{style:{"border-radius":"5px !important"},disabled:e(oe),onClick:t[8]||(t[8]=Z(d=>_.value=!0,["prevent"]))},{default:l(()=>[i("div",Fa,[i("div",Ia,[n(G,{size:"20",class:"text-passive"},{default:l(()=>[W(y(e(At)),1)]),_:1})]),i("span",Aa,y(a.$t("views.camview.new_dnd")),1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})):H("",!0),e(S)||e(C)?(r(),F("div",Ta,[n(ee,{class:"disabled-text mr-2",size:"small",variant:"flat",border:"",onClick:t[9]||(t[9]=Z(d=>e(S)?S.value=!1:C.value=!1,["prevent"]))},{default:l(()=>[W(y(a.$t("components.form.button.cancel")),1)]),_:1}),n(ee,{disabled:e(c).every(d=>d.lastDroppedCamera===void 0),class:"disabled-text",size:"small",color:"#df2a4c",variant:"flat",border:"",onClick:t[10]||(t[10]=Z(d=>it(),["prevent"]))},{default:l(()=>[i("span",Ea,y(a.$t("components.form.button.save")),1)]),_:1},8,["disabled"])])):H("",!0)]),i("div",{class:me(["camview-container",{"px-0":e(M)}])},[i("div",Ra,[e(oe)||!e(j)?(r(),F("div",Ba,[n(Tt,{color:"#df2a4c",indeterminate:""})])):(r(),F("div",La,[!e(C)&&!e(S)&&(e(z)||((K=e(A))==null?void 0:K.type)==="dnd")?(r(),F("div",Ua,[n(Zt,{ref_key:"dndRef",ref:x,cameras:((Fe=e(A))==null?void 0:Fe.cameras)||[],"db-cameras":((Ie=e(p))==null?void 0:Ie.result)||[],onDrag:st},null,8,["cameras","db-cameras"])])):!e(z)&&(e(C)||e(S)||((Ae=e(A))==null?void 0:Ae.type)==="view")?(r(),F("div",Qa,[(r(),E(ga,{ref_key:"viewRef",ref:b,key:e(m).camview.viewid+(e(C)?"-new":e(S)?"-edit":"-view"),cameras:((Te=e(p))==null?void 0:Te.result)||[],"edit-mode":e(C)||e(S),"view-size":e(C)?e(s).viewSize:e(De),title:e(s).name,cards:e(c),onDrop:lt,onRemove:ot},null,8,["cameras","edit-mode","view-size","title","cards"]))])):(r(),F("div",ja,[i("span",Oa,y(a.$t("views.camview.no_views_configured")),1)]))]))])],2),n(w,{modelValue:e(v),"onUpdate:modelValue":t[12]||(t[12]=d=>ke(v)?v.value=d:null),title:a.$t("components.dialog.title.new_view"),"confirm-text":"components.form.button.next",loading:e(oe),onConfirm:t[13]||(t[13]=d=>nt())},{content:l(()=>[i("div",Wa,[i("div",Ha,[n(e(Ue),{modelValue:e(s).name,"onUpdate:modelValue":t[11]||(t[11]=d=>e(s).name=d),name:"name"},{default:l(({field:d,errorMessage:q,errors:de})=>[i("label",Na,y(a.$t("components.form.label.name")),1),n(Be,Ee({loading:e(oe),variant:"outlined",name:"name",type:"text",density:"compact"},d,{error:de.length>0,"error-messages":q}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),n(Le,{class:"my-5"}),e(L)?(r(),F("span",Xa,y(a.$t("components.form.error.no_view_selected")),1)):H("",!0),i("div",Ya,[i("div",qa,[(r(!0),F(ve,null,ue(e(V),d=>(r(),F("div",{key:d,class:"view-select-item h-full w-full",onClick:Z(q=>e(s).viewSize=d,["prevent"])},[i("div",{class:me(["view-select-item-icon w-full h-full p-3",{"selected-view":e(s).viewSize===d}])},[n(G,{class:"disabled-text",style:{width:"100%",height:"100%"}},{default:l(()=>[W(y(`$cuiGrid${d}`),1)]),_:2},1024)],2),i("span",{class:me(["view-select-item-label disabled-text mt-2 px-2 py-1",{"selected-view-label":e(s).viewSize===d}])},y(d)+" "+y(a.$t("views.camview.cameras")),3)],8,Ga))),128))])])])]),_:1},8,["modelValue","title","loading"]),n(w,{modelValue:e(_),"onUpdate:modelValue":t[16]||(t[16]=d=>ke(_)?_.value=d:null),title:a.$t("components.dialog.title.new_dnd"),"confirm-text":"components.form.button.save",loading:e(oe),onConfirm:t[17]||(t[17]=d=>rt())},{content:l(()=>[i("div",Ja,[i("div",Ka,[n(e(Ue),{modelValue:e(s).name,"onUpdate:modelValue":t[14]||(t[14]=d=>e(s).name=d),name:"name"},{default:l(({field:d,errorMessage:q,errors:de})=>[i("label",Za,y(a.$t("components.form.label.name")),1),n(Be,Ee({loading:e(oe),variant:"outlined",name:"name",type:"text",density:"compact"},d,{error:de.length>0,"error-messages":q}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),n(Le,{class:"mb-10 mt-5"}),e(P)?(r(),F("span",es,y(a.$t("components.form.error.no_cameras_selected")),1)):H("",!0),n(Oe,{selected:e(f),"onUpdate:selected":t[15]||(t[15]=d=>ke(f)?f.value=d:null),"select-strategy":"classic",class:"py-0 mb-5",density:"compact"},{default:l(()=>{var d;return[(r(!0),F(ve,null,ue(((d=e(p))==null?void 0:d.result)||[],(q,de)=>(r(),E(we,{key:de,value:q,active:e(f).some(Ve=>Ve.name===q.name)},{prepend:l(({isActive:Ve})=>[n(Et,{start:""},{default:l(()=>[n(Rt,{"model-value":Ve,color:"#df2a4c"},null,8,["model-value"])]),_:2},1024)]),default:l(()=>[n(We,null,{default:l(()=>[W(y(q.name),1)]),_:2},1024)]),_:2},1032,["value","active"]))),128))]}),_:1},8,["selected"])])]),_:1},8,["modelValue","title","loading"]),n(w,{modelValue:e(h),"onUpdate:modelValue":t[18]||(t[18]=d=>ke(h)?h.value=d:null),title:a.$t("components.dialog.title.intercom"),loading:e(oe),"hide-confirm-button":""},{content:l(()=>[i("div",ts,[i("span",null,y(a.$t("components.dialog.message.intercom_info")),1),n(B,{onListening:mt})])]),_:1},8,["modelValue","title","loading"])]}),_:1},8,["validation-schema","initial-values"])])}}}),Xs=ie(as,[["__scopeId","data-v-ebd2ec2a"]]);export{Xs as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var se=Object.defineProperty;var ie=(n,t,o)=>t in n?se(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o;var R=(n,t,o)=>ie(n,typeof t!="symbol"?t+"":t,o);import{i as Q,x as C,a as re,f as ce,y as le,w as ue,B as me,d as fe}from"./main.D-udRFe6.0.0.13.js";import{_ as ge}from"./VConfigEditor.vue_vue_type_script_setup_true_lang.KV9Arktd.0.0.13.js";import{r as l,u as e,F as de,c as I,w as K,x as pe,e as c,f as O,O as d,M as s,l as ye,ae as Ce,j,R as a,X as _e,ar as ve,i as F,m as he,V as p,T as f,q as V,g as P,v as E}from"./@vue.CIFymae3.0.0.13.js";import{_ as be,$ as we,I as Qe,H as Ve}from"./@mdi.jq8isxax.0.0.13.js";import{i as x}from"./vue3-toastify.CudLrsQ6.0.0.13.js";import{u as xe,a as N,b as k}from"./@tanstack.rNNqDXib.0.0.13.js";import{r as ke}from"./system.CJsZbAvb.0.0.13.js";import{u as qe}from"./ui.Bnc_R-SN.0.0.13.js";import{s as ze}from"./utils.BvINh1mj.0.0.13.js";import{s as U}from"./pinia.Bga1JTi8.0.0.13.js";import{P as Se,Q as Re,e as y,b as q}from"./vuetify.BenoxTsr.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";import"./ace-builds.DW_mO3FQ.0.0.13.js";const Fe=async({json:n,signal:t})=>(await C.get("/config",{params:{json:n},signal:t})).data,Ge=async({json:n,signal:t})=>(await C.get("/config/go2rtc",{params:{json:n},signal:t})).data,Ae=async({configData:n})=>(await C.patch("/config",n,{headers:{"Content-Type":"text/yaml"}})).data,Le=async({configData:n})=>(await C.patch("/config/go2rtc",n,{headers:{"Content-Type":"text/yaml"}})).data,Me=async()=>(await C.delete("/config")).data,Te=async()=>(await C.delete("/config/go2rtc")).data;class Be{constructor(){R(this,"_queryClient",xe());R(this,"queryActivator",l([{name:"getConfigQuery",enabled:!0},{name:"getGo2RtcConfigQuery",enabled:!0}]))}get queryClient(){return this._queryClient}getConfigQuery(t=!1){return N({queryKey:["config",{json:t}],queryFn:({signal:o})=>Fe({json:e(t),signal:o}),enabled:()=>this.queryActivator.value.some(o=>o.name==="getConfigQuery"&&o.enabled)})}getGo2RtcConfigQuery(t=!1){return N({queryKey:["go2rtcConfig"],queryFn:({signal:o})=>Ge({json:e(t),signal:o}),enabled:()=>this.queryActivator.value.some(o=>o.name==="getGo2RtcConfigQuery"&&o.enabled)})}patchConfigQuery(){return k({mutationFn:Ae,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),x.success(Q.global.t("components.toast.config_updated"))}})}patchGo2RtcConfigQuery(){return k({mutationFn:Le,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),x.success(Q.global.t("components.toast.config_go2rtc_updated"))}})}delteConfigQuery(){return k({mutationFn:Me,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),x.success(Q.global.t("components.toast.config_deleted"))}})}delteGo2RtcConfigQuery(){return k({mutationFn:Te,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),x.success(Q.global.t("components.toast.config_go2rtc_deleted"))}})}toggleQueryActivator(t,o){const w=this.queryActivator.value.find(z=>z.name===t);w&&(w.enabled=o)}}const De={class:"w-full h-full"},$e={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},Ie=de({__name:"Config",setup(n){const t=new Be,o=re(),w=qe(),{extraSmallMobileActive:z}=ce(),{theme:G}=U(o),{uiSettings:u}=U(w),g=l("camera.ui"),_=l(""),v=l(""),A=l(!1),S=l(!1),L=l(!1),h=l(!1),M=I(()=>({fontSize:u.value.config.zoom})),{data:T,isLoading:H}=t.getConfigQuery(A),{data:B,isLoading:X}=t.getGo2RtcConfigQuery(A),{mutateAsync:Z,isPending:J}=t.patchConfigQuery(),{mutateAsync:W,isPending:Y}=t.patchGo2RtcConfigQuery(),m=I(()=>H.value||X.value||J.value||Y.value);K(T,()=>{_.value=T.value||""},{deep:!0,immediate:!0}),K(B,()=>{v.value=B.value||""},{deep:!0,immediate:!0});const D=async b=>{g.value==="camera.ui"?(await Z({configData:_.value}),b&&(L.value=!0,ke())):await W({configData:v.value}),b||(h.value=!1)},ee=()=>{g.value=g.value==="camera.ui"?"go2rtc":"camera.ui"},te=()=>{u.value.config.zoom!==8&&u.value.config.zoom--},oe=()=>{u.value.config.zoom!==20&&u.value.config.zoom++};return pe(async()=>{await ze(100),S.value=!0}),(b,i)=>{const ne=le,$=ge,ae=ue;return c(),O("main",De,[(c(),d(Ce,{to:".app"},[e(L)?(c(),O("div",$e,[s(ne,{reload:""})])):ye("",!0)])),j("div",{class:"text-editor-buttons flex flex-row justify-center",style:_e(e(z)?`bottom: calc(1rem + ${e(me).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"bottom: calc(1rem + env(safe-area-inset-bottom, 0px))")},[s(Se,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:a(({props:r})=>[s(Re,he(r,{size:"default",icon:""}),{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(be)),1)]),_:1})]),_:2},1040)]),default:a(()=>[s(q,{key:"1",loading:e(m),color:"success",icon:"",onClick:i[0]||(i[0]=V(r=>e(g)==="go2rtc"?D(!1):h.value=!0,["prevent"]))},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(we)),1)]),_:1})]),_:1},8,["loading"]),s(q,{key:"2",loading:e(m),color:"#df2a4c",icon:"",onClick:V(ee,["prevent"])},{default:a(()=>[e(g)==="camera.ui"?(c(),d(y,{key:0,size:"20"},{default:a(()=>[p(f("$cuiLogo"))]),_:1})):(c(),d(y,{key:1,size:"30"},{default:a(()=>[p(f("$cuiGo2rtc"))]),_:1}))]),_:1},8,["loading"]),s(q,{key:"3",loading:e(m),icon:"",disabled:e(u).config.zoom===20,onClick:V(oe,["prevent"])},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(Qe)),1)]),_:1})]),_:1},8,["loading","disabled"]),s(q,{key:"4",loading:e(m),disabled:e(u).config.zoom===8,icon:"",onClick:V(te,["prevent"])},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(Ve)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),(c(),d(ve,null,{default:a(()=>[e(g)==="camera.ui"?P((c(),d($,{key:0,modelValue:e(_),"onUpdate:modelValue":i[1]||(i[1]=r=>F(_)?_.value=r:null),lang:"yaml",theme:e(G),options:e(M),"read-only":e(m),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[E,e(S)]]):P((c(),d($,{key:1,modelValue:e(v),"onUpdate:modelValue":i[2]||(i[2]=r=>F(v)?v.value=r:null),lang:"yaml",theme:e(G),options:e(M),"read-only":e(m),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[E,e(S)]])]),_:1})),s(ae,{modelValue:e(h),"onUpdate:modelValue":i[3]||(i[3]=r=>F(h)?h.value=r:null),title:b.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.save_and_restart",loading:e(m),onConfirm:i[4]||(i[4]=r=>D(!0))},{content:a(()=>[j("span",null,f(b.$t("components.dialog.message.confirm_restart_server")),1)]),_:1},8,["modelValue","title","loading"])])}}}),bt=fe(Ie,[["__scopeId","data-v-7cc49202"]]);export{bt as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{z as O,f as U,w as E,B as $,d as N}from"./main.D-udRFe6.0.0.13.js";import{F as P,r as k,c as z,a3 as h,U as j,e as H,f as F,M as t,u as o,j as S,R as n,X as q,i as G,m as W,V as f,T as m,q as y}from"./@vue.CIFymae3.0.0.13.js";import{_ as X,a0 as Z,a1 as J,I as K,H as Y}from"./@mdi.jq8isxax.0.0.13.js";import{S as oo}from"./system.CJsZbAvb.0.0.13.js";import{V as eo}from"./VConsole.B_ucNfW8.0.0.13.js";import{u as to}from"./ui.Bnc_R-SN.0.0.13.js";import{s as no}from"./pinia.Bga1JTi8.0.0.13.js";import{P as ao,Q as so,e as g,b as _}from"./vuetify.BenoxTsr.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";const lo={class:"w-full h-full"},io=P({__name:"Console",setup(ro){const u=new oo,L=O(),V=to(),{extraSmallMobileActive:x}=U(),{uiSettings:i}=no(V),v=k(null),c=k(),d=k(!1),C=z(()=>({fontSize:i.value.console.zoom}));u.toggleQueryActivator("downloadLogQuery",!1);const{data:w,isLoading:Q,suspense:B}=u.downloadLogQuery(),{mutate:T,isPending:M}=u.clearLogQuery(),p=z(()=>Q.value||M.value),R=async()=>{T(void 0,{onSuccess:()=>{d.value=!1}})},D=async()=>{try{if(u.toggleQueryActivator("downloadLogQuery",!0),await B(),w.value){const a=w.value,e=window.URL.createObjectURL(new Blob([a])),s=document.createElement("a");s.href=e,s.setAttribute("download","camera.ui.log.txt"),document.body.appendChild(s),s.click(),s.remove()}}finally{u.toggleQueryActivator("downloadLogQuery",!1)}},I=()=>{i.value.console.zoom!==8&&i.value.console.zoom--},A=()=>{i.value.console.zoom!==20&&i.value.console.zoom++};return h(()=>{var a,e,s,l;c.value=L.connectToNamespace("/logs"),(a=c.value)==null||a.socket.on("stdout",r=>{var b;(b=v.value)==null||b.writeTerminal(r)}),(e=c.value)==null||e.socket.on("disconnect",()=>{var r;(r=v.value)==null||r.writeTerminal(`
|
|
2
|
+
\rWebsocket failed to connect! Is the server running?
|
|
3
|
+
\r
|
|
4
|
+
\r`)}),(s=c.value)==null||s.socket.on("clear-log",()=>{var r;(r=v.value)==null||r.clearTerminal()}),(l=c.value)==null||l.socket.emit("get-log")}),j(()=>{var a,e;(e=(a=c.value)==null?void 0:a.end)==null||e.call(a)}),(a,e)=>{const s=E;return H(),F("main",lo,[t(eo,{ref_key:"consoleRef",ref:v,class:"text-editor",options:o(C)},null,8,["options"]),S("div",{class:"text-editor-buttons flex flex-row justify-center",style:q(o(x)?`bottom: calc(1rem + ${o($).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"bottom: calc(1rem + env(safe-area-inset-bottom, 0px))")},[t(ao,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:n(({props:l})=>[t(so,W(l,{size:"default",icon:""}),{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(X)),1)]),_:1})]),_:2},1040)]),default:n(()=>[t(_,{key:"1",loading:o(p),color:"success",icon:"",onClick:y(D,["prevent"])},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(Z)),1)]),_:1})]),_:1},8,["loading"]),t(_,{key:"2",loading:o(p),color:"red",icon:"",onClick:e[0]||(e[0]=y(l=>d.value=!0,["prevent"]))},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(J)),1)]),_:1})]),_:1},8,["loading"]),t(_,{key:"3",loading:o(p),icon:"",disabled:o(i).console.zoom===20,onClick:y(A,["prevent"])},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(K)),1)]),_:1})]),_:1},8,["loading","disabled"]),t(_,{key:"4",loading:o(p),disabled:o(i).console.zoom===8,icon:"",onClick:y(I,["prevent"])},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(Y)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),t(s,{modelValue:o(d),"onUpdate:modelValue":e[1]||(e[1]=l=>G(d)?d.value=l:null),title:a.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.clear",loading:o(p),onConfirm:e[2]||(e[2]=l=>R())},{content:n(()=>[S("span",null,m(a.$t("components.dialog.message.confirm_clear_log")),1)]),_:1},8,["modelValue","title","loading"])])}}}),Po=N(io,[["__scopeId","data-v-b446efca"]]);export{Po as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as re,a as ne,b as ie,i as de,g as me,c as ce,r as ue,_ as pe,d as fe}from"./main.D-udRFe6.0.0.13.js";import{F as ve,r as p,b as ge,c as Q,w as he,e as v,f as j,j as t,u as e,O as E,q as M,l as z,T as c,N as be,Q as _e,M as l,R as m,n as we,i as V,m as b,V as B,ai as ye,aj as xe}from"./@vue.CIFymae3.0.0.13.js";import{m as G,a as H}from"./@mdi.jq8isxax.0.0.13.js";import{F as g,a as ke}from"./vee-validate.D2wCUJfh.0.0.13.js";import{I as Ve}from"./vue-inline-svg.va799EvK.0.0.13.js";import{a as Se}from"./vue-router.DqihDWFz.0.0.13.js";import{s as L}from"./pinia.Bga1JTi8.0.0.13.js";import{b as S,w as $e,x as N,y as J,d as P,c as T,z as K}from"./vuetify.BenoxTsr.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";const q=_=>(ye("data-v-bc39fe50"),_=_(),xe(),_),Ce={class:"w-full h-full"},Fe={class:"firststeps-progress flex flex-col items-center p-5 w-full"},Ie={class:"firststeps-progress-inner pt-safe flex flex-col h-full w-full"},Re={class:"flex flex-row items-center"},Ue={class:"firststeps-progress-title mt-3"},je={class:"firststeps-progress-text mt-1"},Ee={class:"flex flex-row gap-2 mt-3 mb-3"},Me={class:"firststeps flex flex-col items-center p-5 w-full h-full hide-scrollbar"},ze={class:"relative"},Be={for:"theme",class:"v-label"},Le=q(()=>t("div",{class:"py-2"},null,-1)),Ne={class:"ml-auto flex"},Pe=q(()=>t("div",{class:"py-3"},null,-1)),Te={class:"relative"},qe={for:"language",class:"v-label"},Oe={class:"flex flex-row relative"},Ae={class:"w-100 mr-5"},De={for:"username",class:"v-label"},We={class:"image-upload ml-auto mt-3"},Qe={for:"file-input"},Ge={class:"relative mt-5"},He={for:"password",class:"v-label"},Je={class:"relative"},Ke={for:"password",class:"v-label"},Xe={class:"ml-auto flex"},Ye=q(()=>t("div",{class:"py-3"},null,-1)),Ze={class:"ml-auto flex"},es={class:"w-full flex flex-col justify-center items-center"},ss={class:"text-center mt-10 firststeps-info"},ts=ve({__name:"FirstSteps",setup(_){const $=re(),X=ne(),Y=ie(),Z=Se(),{t:C}=de.global,{loading:h}=L($),{locale:F,languages:ee}=L(Y),{colors:se,theme:I,autoMode:w}=L(X),i=p(0),O=p(),R=p(),y=p(!1),x=p(!1),f=p(),A=p(!1),k=ge([{title:C("views.firststeps.step_appearance")},{title:C("views.firststeps.step_account")},{title:C("views.firststeps.step_finish")}]),te=Q(()=>Math.round((i.value+1)/k.length*100)),U=Q(()=>i.value===k.length-1);he(i,a=>{a===0&&(A.value=!1)});const oe=async a=>{var d;const s=(d=a.target)==null?void 0:d.files;R.value=s==null?void 0:s[0],O.value=await ue(a)},ae=async()=>{var a,s;try{await $.logout()}catch(d){console.error(((s=(a=d.response)==null?void 0:a.data)==null?void 0:s.message)??d.message??d)}},D=async()=>{var a,s,d,o,r;if(i.value>0){const n=(a=f.value)==null?void 0:a.getValues();if(n){if(!n.password||!n.passwordConfirm){(s=f.value)==null||s.setFieldError("password","Required"),(d=f.value)==null||d.setFieldError("passwordConfirm","Required");return}if(!n.username){(o=f.value)==null||o.setFieldError("username","Required");return}}const u=await((r=f.value)==null?void 0:r.validate());u!=null&&u.valid&&!U.value&&i.value++}else i.value++},le=async a=>{var s,d;if(A.value=!0,U.value){let o;const r={...a};r.firstLogin=!1,delete r.upload;try{h.value=!0,R.value&&(o=new FormData,o.append("upload",R.value)),await $.updateUser(r,o,!0),Z.push({path:"/cameras"})}catch(n){console.error(((d=(s=n.response)==null?void 0:s.data)==null?void 0:d.message)??n.message??n)}}},W=()=>{i.value>0&&i.value--};return(a,s)=>{const d=pe;return v(),j("main",Ce,[t("div",Fe,[t("div",Ie,[t("div",Re,[e(i)>0?(v(),E(S,{key:0,density:"compact",class:"firststeps-button no-drag",variant:"tonal",color:"tonal",text:a.$t("components.form.button.previous"),loading:e(h),onClick:s[0]||(s[0]=M(o=>W(),["prevent"]))},null,8,["text","loading"])):z("",!0),e(i)===0?(v(),E(S,{key:1,density:"compact",class:"firststeps-button no-drag",variant:"tonal",color:"white",text:a.$t("components.form.button.logout"),loading:e(h),onClick:s[1]||(s[1]=M(o=>ae(),["prevent"]))},null,8,["text","loading"])):z("",!0),e(U)?z("",!0):(v(),E(S,{key:2,density:"compact",class:"firststeps-button ml-auto no-drag",variant:"tonal",color:"white",text:a.$t("components.form.button.next"),loading:e(h),onClick:s[2]||(s[2]=M(o=>D(),["prevent"]))},null,8,["text","loading"]))]),t("h1",Ue,c(e(k)[e(i)].title),1),t("h1",je,[t("b",null,c(e(te))+"%",1),t("span",null,c(a.$t("views.firststeps.complete")),1)]),t("div",Ee,[(v(!0),j(be,null,_e(e(k),(o,r)=>(v(),j("div",{key:r,class:we(["firststeps-step-bar",{"firststeps-step-bar-active":e(i)===r}])},null,2))),128))])])]),t("div",Me,[l(e(ke),{ref_key:"userForm",ref:f,class:"firststeps-form flex flex-col h-full w-full","validation-schema":e(ce),onSubmit:s[10]||(s[10]=o=>le(o))},{default:m(()=>[l($e,{modelValue:e(i),"onUpdate:modelValue":s[9]||(s[9]=o=>V(i)?i.value=o:null),class:"window",touch:{left:D,right:W}},{default:m(()=>[l(N,{value:0,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[t("div",ze,[t("label",Be,c(a.$t("components.form.label.theme")),1),l(J,{modelValue:e(I),"onUpdate:modelValue":s[3]||(s[3]=o=>V(I)?I.value=o:null),variant:"outlined",name:"theme","hide-details":"",density:"compact",items:e(se),disabled:e(w)},null,8,["modelValue","items","disabled"])]),Le,t("div",null,[t("div",Ne,[l(P,{modelValue:e(w),"onUpdate:modelValue":s[4]||(s[4]=o=>V(w)?w.value=o:null),color:"#df2a4c",type:"checkbox",label:a.$t("components.form.label.system_preference"),"hide-details":""},null,8,["modelValue","label"])])]),Pe,t("div",Te,[t("label",qe,c(a.$t("components.form.label.language")),1),l(J,{modelValue:e(F),"onUpdate:modelValue":s[5]||(s[5]=o=>V(F)?F.value=o:null),variant:"outlined",name:"language","hide-details":"",density:"compact",items:e(ee)},null,8,["modelValue","items"])])]),_:1}),l(N,{value:1,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[t("div",Oe,[t("div",Ae,[t("label",De,c(a.$t("components.form.label.username")),1),l(e(g),{name:"username"},{default:m(({field:o,errorMessage:r,errors:n})=>[l(T,b({name:"username",variant:"outlined",density:"compact"},o,{type:"text",error:n.length>0,"error-messages":r}),null,16,["error","error-messages"])]),_:1})]),t("div",We,[t("label",Qe,[l(d,{src:e(O),size:"4rem",style:{"border-radius":"4rem",border:"1px solid var(--border)"}},null,8,["src"]),l(e(g),{id:"file-input",type:"file",name:"upload",accept:"image/png,image/jpeg,image/jpg",onChange:s[6]||(s[6]=o=>oe(o))})])])]),t("div",Ge,[t("label",He,c(a.$t("components.form.label.new_password")),1),l(e(g),{name:"password"},{default:m(({field:o,errorMessage:r,errors:n})=>[l(T,b({variant:"outlined"},o,{name:"password",type:e(y)?"text":"password",error:n.length>0,"error-messages":r,density:"compact","append-inner-icon":e(y)?e(G):e(H),"onClick:appendInner":s[7]||(s[7]=u=>y.value=!e(y))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1})]),t("div",Je,[t("label",Ke,c(a.$t("components.form.label.new_password_confirm")),1),l(e(g),{name:"passwordConfirm"},{default:m(({field:o,errorMessage:r,errors:n})=>[l(T,b({variant:"outlined"},o,{name:"passwordConfirm",type:e(x)?"text":"password",error:n.length>0,"error-messages":r,density:"compact","append-inner-icon":e(x)?e(G):e(H),"onClick:appendInner":s[8]||(s[8]=u=>x.value=!e(x))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1})]),t("div",null,[t("div",Xe,[l(e(g),{name:"oneLogin",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:m(({field:o,errorMessage:r,errors:n,value:u})=>[l(P,b(o,{name:"oneLogin",color:"#df2a4c",type:"checkbox",error:n.length>0,"error-messages":r,value:u,label:a.$t("components.form.label.one_login"),"hide-details":""}),null,16,["error","error-messages","value","label"])]),_:1})]),l(K,{theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:m(()=>[B(c(a.$t("components.form.hint.one_login")),1)]),_:1})]),Ye,t("div",null,[t("div",Ze,[l(e(g),{name:"rememberMe",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:m(({field:o,errorMessage:r,errors:n,value:u})=>[l(P,b({name:"rememberMe"},o,{color:"#df2a4c",type:"checkbox",error:n.length>0,"error-messages":r,value:u,label:a.$t("components.form.label.remember_me"),"hide-details":""}),null,16,["error","error-messages","value","label"])]),_:1})]),l(K,{class:"mb-safe",theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:m(()=>[B(c(a.$t("components.form.hint.remember_me")),1)]),_:1})])]),_:1}),l(N,{value:2,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[t("div",es,[l(e(Ve),{src:e(me)("logo_animated.svg"),width:"78px",height:"84px",title:"camera.ui","aria-label":"camera.ui"},null,8,["src"]),t("p",ss,c(a.$t("views.firststeps.finish_message")),1),l(S,{class:"mt-7 text-white",type:"submit",elevation:"1",color:"#df2a4c",loading:e(h)},{default:m(()=>[B(c(a.$t("views.firststeps.enjoy")),1)]),_:1},8,["loading"])])]),_:1})]),_:1},8,["modelValue","touch"])]),_:1},8,["validation-schema"])])])}}}),Us=fe(ts,[["__scopeId","data-v-bc39fe50"]]);export{Us as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{C as
|
|
1
|
+
import{C as xe,c as ke,_ as Se}from"./VPlayer.DLxaA6uJ.0.0.13.js";import{f as Te,w as Pe,d as Re}from"./main.D-udRFe6.0.0.13.js";import{F as Ae,r as v,D as Ie,c as Ce,w as Ve,e as d,f as k,M as n,R as a,u as e,i as G,n as Y,j as u,T as l,V as h,m as V,N as K,Q as q,O as P,q as _,l as M,X as He}from"./@vue.CIFymae3.0.0.13.js";import{H as A,t as je,y as Ee,j as Oe,p as Ge}from"./highlight.js.DhQG6_ss.0.0.13.js";import{e as J,s as Me,E as Ue,F as $e,X,Y as Le,Z as We}from"./@mdi.jq8isxax.0.0.13.js";import{j as De}from"./@vueuse.RXnPbHnz.0.0.13.js";import{M as Be}from"./markdown-it.CYBQYH34.0.0.13.js";import{F as I,a as Fe}from"./vee-validate.D2wCUJfh.0.0.13.js";import{s as ze}from"./utils.BvINh1mj.0.0.13.js";import{a as Ne}from"./vue-router.DqihDWFz.0.0.13.js";import{b as S,e as x,K as Q,L as Z,M as ee,N as te,c as oe,y as L,m as Ye,O as Ke,V as ae}from"./vuetify.BenoxTsr.0.0.13.js";import"./qrcode.BcRvH17-.0.0.13.js";import"./dijkstrajs.D_NXgYpA.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./plugins.GodGbcuD.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./draggabilly.9bsDBvd2.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./get-size.D1dS-IaP.0.0.13.js";import"./unidragger.DdVxANhH.0.0.13.js";import"./ev-emitter.BnUBws8R.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./mdurl.k9Sl0PQj.0.0.13.js";import"./uc.micro.kMc2yuuw.0.0.13.js";import"./entities.C20TfXL6.0.0.13.js";import"./linkify-it.CGqg1utY.0.0.13.js";import"./punycode.js.Dj65hjkv.0.0.13.js";const ne=["bubble://","dvrip://","echo:","exec:","expr:","ffmpeg:","gopro://","hass:","homekit://","http://","https://","httpx://","isapi://","ivideon:","kasa://","nest:","onvif://","roborock://","rtmp://","rtsp://","rtspx://","tapo://","tcp://","webrtc:","webtorrent:"],qe=["#backchannel=0","#header=","#media=audio","#media=video","#timeout=10","#timeout=20","#timeout=30","#transport="],se=["#audio=aac","#audio=aac/16000","#audio=mp3","#audio=opus","#audio=pcm","#audio=pcm/8000","#audio=pcm/16000","#audio=pcm/48000","#audio=pcma","#audio=pcma/8000","#audio=pcma/16000","#audio=pcma/48000","#audio=pcml","#audio=pcml/8000","#audio=pcml/44100","#audio=pcmu","#audio=pcmu/8000","#audio=pcmu/16000","#audio=pcmu/48000","#drawtext","#hardware","#hardware=cuda","#hardware=dxva2","#hardware=rkmpp","#hardware=v4l2m2m","#hardware=vaapi","#hardware=videotoolbox","#height=","#raw=","#rotate=-90","#rotate=90","#rotate=180","#rotate=270","#video=copy","#video=h264","#video=h265","#video=mjpeg","#width="],Je=["client_id=","client_private=","device_id=","device_public="],Xe=["#header="],Qe=["client_id=","client_secret=","refresh_token=","project_id=","device_id="],Ze=["#client_id=","#format=openipc","#format=wyze","#format=kinesis","#ice_servers="],et="#### Source: Bubble\n\nOther names: [ESeeCloud](http://www.eseecloud.com/), [dvr163](http://help.dvr163.com/).\n\n- you can skip `username`, `password`, `port`, `ch` and `stream` if they are default\n- setup separate streams for different channels and streams\n\n```yaml\nstreams:\n camera1: bubble://username:password@192.168.1.123:34567/bubble/live?ch=0&stream=0\n```\n\n_Source: [Go2Rtc Bubble](https://github.com/AlexxIT/go2rtc#source-bubble)_\n",tt="#### Source: DVRIP\n\nOther names: DVR-IP, NetSurveillance, Sofia protocol (NETsurveillance ActiveX plugin XMeye SDK).\n\n- you can skip `username`, `password`, `port`, `channel` and `subtype` if they are default\n- setup separate streams for different channels\n- use `subtype=0` for Main stream, and `subtype=1` for Extra1 stream\n- only the TCP protocol is supported\n\n```yaml\nstreams:\n only_stream: dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n only_tts: dvrip://username:password@192.168.1.123:34567?backchannel=1\n two_way_audio:\n - dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n - dvrip://username:password@192.168.1.123:34567?backchannel=1\n```\n\n_Source: [Go2Rtc DVRIP](https://github.com/AlexxIT/go2rtc#source-dvrip)_\n",ot=`#### Source: Echo
|
|
2
2
|
|
|
3
3
|
Some sources may have a dynamic link. And you will need to get it using a bash or python script. Your script should echo a link to the source. RTSP, FFmpeg or any of the [supported sources](https://github.com/AlexxIT/go2rtc#module-streams).
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ streams:
|
|
|
11
11
|
\`\`\`
|
|
12
12
|
|
|
13
13
|
_Source: [Go2Rtc Echo](https://github.com/AlexxIT/go2rtc#source-echo)_
|
|
14
|
-
`,
|
|
14
|
+
`,at=`#### Source: Exec
|
|
15
15
|
|
|
16
16
|
Exec source can run any external application and expect data from it. Two transports are supported - **pipe** and **RTSP**.
|
|
17
17
|
|
|
@@ -34,7 +34,7 @@ streams:
|
|
|
34
34
|
\`\`\`
|
|
35
35
|
|
|
36
36
|
_Source: [Go2Rtc Exec](https://github.com/AlexxIT/go2rtc#source-exec)_
|
|
37
|
-
`,
|
|
37
|
+
`,nt=`#### Source: Expr
|
|
38
38
|
|
|
39
39
|
[Expr](https://github.com/antonmedv/expr) - expression language and expression evaluation for Go.
|
|
40
40
|
|
|
@@ -125,7 +125,7 @@ streams:
|
|
|
125
125
|
| r.json() | r.json() | await r.json() |
|
|
126
126
|
| r.headers | r.headers | r.headers |
|
|
127
127
|
| let m = match(text, "abc") | m = re.search("abc", text) | let m = text.match(/abc/) |
|
|
128
|
-
`,
|
|
128
|
+
`,st="#### Source: FFmpeg\n\nYou can get any stream or file or device via FFmpeg and push it to go2rtc. The app will automatically start FFmpeg with the proper arguments when someone starts watching the stream.\n\n- FFmpeg preistalled for **Docker** and **Hass Add-on** users\n- **Hass Add-on** users can target files from [/media](https://www.home-assistant.io/more-info/local-media/setup-media/) folder\n\nFormat: `ffmpeg:{input}#{param1}#{param2}#{param3}`. Examples:\n\n```yaml\nstreams:\n # [FILE] all tracks will be copied without transcoding codecs\n file1: ffmpeg:/media/BigBuckBunny.mp4\n\n # [FILE] video will be transcoded to H264, audio will be skipped\n file2: ffmpeg:/media/BigBuckBunny.mp4#video=h264\n\n # [FILE] video will be copied, audio will be transcoded to pcmu\n file3: ffmpeg:/media/BigBuckBunny.mp4#video=copy#audio=pcmu\n\n # [HLS] video will be copied, audio will be skipped\n hls: ffmpeg:https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear5/prog_index.m3u8#video=copy\n\n # [MJPEG] video will be transcoded to H264\n mjpeg: ffmpeg:http://185.97.122.128/cgi-bin/faststream.jpg#video=h264\n\n # [RTSP] video with rotation, should be transcoded, so select H264\n rotate: ffmpeg:rtsp://rtsp:12345678@192.168.1.123/av_stream/ch0#video=h264#rotate=90\n```\n\nAll trascoding formats has [built-in templates](https://github.com/AlexxIT/go2rtc/blob/master/internal/ffmpeg/ffmpeg.go): `h264`, `h265`, `opus`, `pcmu`, `pcmu/16000`, `pcmu/48000`, `pcma`, `pcma/16000`, `pcma/48000`, `aac`, `aac/16000`.\n\nBut you can override them via YAML config. You can also add your own formats to config and use them with source params.\n\n```yaml\nffmpeg:\n bin: ffmpeg # path to ffmpeg binary\n h264: '-codec:v libx264 -g:v 30 -preset:v superfast -tune:v zerolatency -profile:v main -level:v 4.1'\n mycodec: '-any args that supported by ffmpeg...'\n myinput: '-fflags nobuffer -flags low_delay -timeout 5000000 -i {input}'\n myraw: '-ss 00:00:20'\n```\n\n- You can use go2rtc stream name as ffmpeg input (ex. `ffmpeg:camera1#video=h264`)\n- You can use `video` and `audio` params multiple times (ex. `#video=copy#audio=copy#audio=pcmu`)\n- You can use `rotate` param with `90`, `180`, `270` or `-90` values, important with transcoding (ex. `#video=h264#rotate=90`)\n- You can use `width` and/or `height` params, important with transcoding (ex. `#video=h264#width=1280`)\n- You can use `drawtext` to add a timestamp (ex. `drawtext=x=2:y=2:fontsize=12:fontcolor=white:box=1:boxcolor=black`)\n - This will greatly increase the CPU of the server, even with hardware acceleration\n- You can use `raw` param for any additional FFmpeg arguments (ex. `#raw=-vf transpose=1`)\n- You can use `input` param to override default input template (ex. `#input=rtsp/udp` will change RTSP transport from TCP to UDP+TCP)\n - You can use raw input value (ex. `#input=-timeout 5000000 -i {input}`)\n - You can add your own input templates\n\nRead more about [hardware acceleration](https://github.com/AlexxIT/go2rtc/wiki/Hardware-acceleration).\n\n**PS.** It is recommended to check the available hardware in the WebUI add page.\n\n<hr>\n\n#### Source: FFmpeg Device\n\nYou can get video from any USB-camera or Webcam as RTSP or WebRTC stream. This is part of FFmpeg integration.\n\n- check available devices in Web interface\n- `video_size` and `framerate` must be supported by your camera!\n- for Linux supported only video for now\n- for macOS you can stream Facetime camera or whole Desktop!\n- for macOS important to set right framerate\n\nFormat: `ffmpeg:device?{input-params}#{param1}#{param2}#{param3}`\n\n```yaml\nstreams:\n linux_usbcam: ffmpeg:device?video=0&video_size=1280x720#video=h264\n windows_webcam: ffmpeg:device?video=0#video=h264\n macos_facetime: ffmpeg:device?video=0&audio=1&video_size=1280x720&framerate=30#video=h264#audio=pcma\n```\n\n**PS.** It is recommended to check the available devices in the WebUI add page.\n\n_Source: [Go2Rtc FFmpeg](https://github.com/AlexxIT/go2rtc#source-ffmpeg) & [Go2Rtc FFmpeg Device](https://github.com/AlexxIT/go2rtc#source-ffmpeg-device)_\n",rt=`#### Source: GoPro
|
|
129
129
|
|
|
130
130
|
Supported models: HERO9, HERO10, HERO11, HERO12.
|
|
131
131
|
Supported OS: Linux, Mac, Windows, [HassOS](https://www.home-assistant.io/installation/)
|
|
@@ -152,7 +152,7 @@ streams:
|
|
|
152
152
|
- https://gopro.github.io/OpenGoPro/
|
|
153
153
|
|
|
154
154
|
_Source: [Go2Rtc Hass](https://github.com/AlexxIT/go2rtc#source-hass)_
|
|
155
|
-
`,
|
|
155
|
+
`,it=`#### Source: Hass
|
|
156
156
|
|
|
157
157
|
Support import camera links from [Home Assistant](https://www.home-assistant.io/) config files:
|
|
158
158
|
|
|
@@ -189,7 +189,7 @@ streams:
|
|
|
189
189
|
By default, the Home Assistant API does not allow you to get dynamic RTSP link to a camera stream. So more cameras, like [Tuya](https://www.home-assistant.io/integrations/tuya/), and possibly others can also be imported by using [this method](https://github.com/felipecrs/hass-expose-camera-stream-source#importing-home-assistant-cameras-to-go2rtc-andor-frigate).
|
|
190
190
|
|
|
191
191
|
_Source: [Go2Rtc Hass](https://github.com/AlexxIT/go2rtc#source-hass)_
|
|
192
|
-
`,
|
|
192
|
+
`,ct=`#### Source: HomeKit
|
|
193
193
|
|
|
194
194
|
**Important:**
|
|
195
195
|
|
|
@@ -223,7 +223,7 @@ RTSP link with "normal" audio for any player: \`rtsp://192.168.1.123:8554/aqara_
|
|
|
223
223
|
**This source is in active development!** Tested only with [Aqara Camera Hub G3](https://www.aqara.com/eu/product/camera-hub-g3) (both EU and CN versions).
|
|
224
224
|
|
|
225
225
|
_Source: [Go2Rtc HomeKit](https://github.com/AlexxIT/go2rtc#source-homekit)_
|
|
226
|
-
`,
|
|
226
|
+
`,lt=`#### Source: HTTP
|
|
227
227
|
|
|
228
228
|
Support Content-Type:
|
|
229
229
|
|
|
@@ -267,7 +267,7 @@ streams:
|
|
|
267
267
|
\`\`\`
|
|
268
268
|
|
|
269
269
|
_Source: [Go2Rtc Isapi](https://github.com/AlexxIT/go2rtc#source-isapi)_
|
|
270
|
-
`,
|
|
270
|
+
`,ut=`#### Source: Ivideon
|
|
271
271
|
|
|
272
272
|
Support public cameras from service [Ivideon](https://tv.ivideon.com/).
|
|
273
273
|
|
|
@@ -277,7 +277,7 @@ streams:
|
|
|
277
277
|
\`\`\`
|
|
278
278
|
|
|
279
279
|
_Source: [Go2Rtc Ivideon](https://github.com/AlexxIT/go2rtc#source-ivideon)_
|
|
280
|
-
`,
|
|
280
|
+
`,pt=`#### Source: Kasa
|
|
281
281
|
|
|
282
282
|
[TP-Link Kasa](https://www.kasasmart.com/) non-standard protocol [more info](https://medium.com/@hu3vjeen/reverse-engineering-tp-link-kc100-bac4641bf1cd).
|
|
283
283
|
|
|
@@ -287,7 +287,7 @@ streams:
|
|
|
287
287
|
\`\`\`
|
|
288
288
|
|
|
289
289
|
_Source: [Go2Rtc Kasa](https://github.com/AlexxIT/go2rtc#source-kasa)_
|
|
290
|
-
`,
|
|
290
|
+
`,dt=`#### Source: Nest
|
|
291
291
|
|
|
292
292
|
Currently only WebRTC cameras are supported. Stream reconnects every 5 minutes.
|
|
293
293
|
|
|
@@ -299,7 +299,7 @@ streams:
|
|
|
299
299
|
\`\`\`
|
|
300
300
|
|
|
301
301
|
_Source: [Go2Rtc Nest](https://github.com/AlexxIT/go2rtc#source-nest)_
|
|
302
|
-
`,
|
|
302
|
+
`,ht=`#### Source: ONVIF
|
|
303
303
|
|
|
304
304
|
The source is not very useful if you already know RTSP and snapshot links for your camera. But it can be useful if you don't.
|
|
305
305
|
|
|
@@ -313,7 +313,7 @@ streams:
|
|
|
313
313
|
\`\`\`
|
|
314
314
|
|
|
315
315
|
_Source: [Go2Rtc Onvif](https://github.com/AlexxIT/go2rtc#source-onvif)_
|
|
316
|
-
`,
|
|
316
|
+
`,gt=`#### Source: Roborock
|
|
317
317
|
|
|
318
318
|
This source type support Roborock vacuums with cameras. Known working models:
|
|
319
319
|
|
|
@@ -325,7 +325,7 @@ Source support load Roborock credentials from Home Assistant [custom integration
|
|
|
325
325
|
If you have graphic pin for your vacuum - add it as numeric pin (lines: 123, 456, 678) to the end of the roborock-link.
|
|
326
326
|
|
|
327
327
|
_Source: [Go2Rtc Roborock](https://github.com/AlexxIT/go2rtc#source-roborock)_
|
|
328
|
-
`,
|
|
328
|
+
`,ft=`#### Source: RTMP
|
|
329
329
|
|
|
330
330
|
You can get stream from RTMP server, for example [Frigate](https://docs.frigate.video/configuration/rtmp).
|
|
331
331
|
|
|
@@ -335,7 +335,7 @@ streams:
|
|
|
335
335
|
\`\`\`
|
|
336
336
|
|
|
337
337
|
_Source: [Go2Rtc RTMP](https://github.com/AlexxIT/go2rtc#source-rtmp)_
|
|
338
|
-
`,
|
|
338
|
+
`,bt=`#### Source: RTSP
|
|
339
339
|
|
|
340
340
|
\`\`\`yaml
|
|
341
341
|
streams:
|
|
@@ -382,7 +382,7 @@ streams:
|
|
|
382
382
|
\`\`\`
|
|
383
383
|
|
|
384
384
|
_Source: [Go2Rtc RTSP](https://github.com/AlexxIT/go2rtc#source-rtsp)_
|
|
385
|
-
`,
|
|
385
|
+
`,wt=`#### Source: Tapo
|
|
386
386
|
|
|
387
387
|
[TP-Link Tapo](https://www.tapo.com/) proprietary camera protocol with **two way audio** support.
|
|
388
388
|
|
|
@@ -399,7 +399,7 @@ streams:
|
|
|
399
399
|
\`\`\`
|
|
400
400
|
|
|
401
401
|
_Source: [Go2Rtc Tapo](https://github.com/AlexxIT/go2rtc#source-tapo)_
|
|
402
|
-
`,
|
|
402
|
+
`,vt=`#### Source: WebRTC
|
|
403
403
|
|
|
404
404
|
This source type support four connection formats.
|
|
405
405
|
|
|
@@ -435,7 +435,7 @@ streams:
|
|
|
435
435
|
**PS.** For \`kinesis\` sources you can use [echo](https://github.com/AlexxIT/go2rtc#source-echo) to get connection params using \`bash\`/\`python\` or any other script language.
|
|
436
436
|
|
|
437
437
|
_Source: [Go2Rtc WebRTC](https://github.com/AlexxIT/go2rtc#source-webrtc)_
|
|
438
|
-
`,
|
|
438
|
+
`,_t=`#### Source: WebTorrent
|
|
439
439
|
|
|
440
440
|
This source can get a stream from another go2rtc via [WebTorrent](https://github.com/AlexxIT/go2rtc#module-webtorrent) protocol.
|
|
441
441
|
|
|
@@ -445,4 +445,4 @@ streams:
|
|
|
445
445
|
\`\`\`
|
|
446
446
|
|
|
447
447
|
_Source: [Go2Rtc Webtorrent](https://github.com/AlexxIT/go2rtc#source-webtorrent)_
|
|
448
|
-
`,_t={class:"page-title"},yt={class:"window"},xt={class:"subview-title text-color"},kt={class:"relative"},St={for:"name",class:"v-label"},Tt={class:"mt-5"},Pt={class:"subview-title text-color"},Rt={class:"flex flex-row items-center justify-center ml-auto"},It={class:"relative w-full flex flex-col"},At=["for"],Ct=["for"],Ht=["for"],Vt={class:"w-full flex flex-row justify-center my-1"},jt={class:"ml-2 flex items-center justify-center",style:{"max-height":"44px"}},Et={class:"flex items-center ml-auto"},Ot={class:"flex flex-row w-full items-center justify-center mt-3"},Gt={key:0,class:"w-full h-full flex items-center justify-center"},Mt=["innerHTML"],Ut={key:1,class:"w-full h-full flex items-center justify-center"},Ft={key:0,class:"w-full h-full flex items-center justify-center"},$t=Se({__name:"NewCamera",setup(Lt){P.registerLanguage("typescript",Ce),P.registerLanguage("yaml",He),P.registerLanguage("json",Ve),P.registerLanguage("python",je);const{smallMobileActive:H}=ye(),ee=Be(),U=new we,te=w(new Set),oe=w(),ae=w(!1),M=w(0),V=w([0]),T=w(),ne=w(["high-resolution","mid-resolution","low-resolution","snapshot"]),j=Te(),R=w(!1),E=w(!1),g=w({disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}],recording:{enabled:!1},interface:{streamingMode:"webrtc"},extensions:{hub:[],plugins:[]}}),{mutate:se,isPending:re}=U.createCameraQuery(),{mutateAsync:ie,isPending:ce}=U.previewCameraQuery(),u=Pe(()=>re.value||ae.value),F=Le("commonmark",{highlight(o,e){if(e&&P.getLanguage(e))try{return'<pre><code class="hljs">'+P.highlight(o,{language:e,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+F.utils.escapeHtml(o)+"</code></pre>"}});Re(R,o=>{o||setTimeout(()=>{j.value={presets:[],md:void 0}},300)});const me=o=>{g.value.sources[o].urls.push({protocol:"rtsp://",url:[]})},le=(o,e)=>{g.value.sources[o].urls.splice(e,1)},ue=()=>{g.value.sources.push({name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}),V.value=[g.value.sources.length]},pe=o=>{g.value.sources.splice(o,1)},$=o=>{let e,s,b;switch(o){case"bubble://":e=[],s=Object.assign({"../markdowns/bubble.md":Ze});break;case"dvrip://":e=[],s=Object.assign({"../markdowns/dvrip.md":et});break;case"echo:":e=[],s=Object.assign({"../markdowns/echo.md":tt});break;case"exec:":e=[],s=Object.assign({"../markdowns/exec.md":ot});break;case"expr:":e=[],s=Object.assign({"../markdowns/expr.md":at});break;case"ffmpeg:":e=Z,s=Object.assign({"../markdowns/ffmpeg.md":nt});break;case"gopro://":e=Z,s=Object.assign({"../markdowns/gopro.md":st});break;case"hass:":e=[],s=Object.assign({"../markdowns/hass.md":rt});break;case"homekit://":e=qe,s=Object.assign({"../markdowns/homekit.md":it});break;case"http://":case"https://":case"httpx://":case"tcp://":e=Je,s=Object.assign({"../markdowns/http.md":ct});break;case"isapi://":e=[],s=Object.assign({"../markdowns/isapi.md":mt});break;case"ivideon:":e=[],s=Object.assign({"../markdowns/ivideon.md":lt});break;case"kasa://":e=[],s=Object.assign({"../markdowns/kasa.md":ut});break;case"nest:":e=Xe,s=Object.assign({"../markdowns/nest.md":pt});break;case"onvif://":e=[],s=Object.assign({"../markdowns/onvif.md":dt});break;case"roborock://":e=[],s=Object.assign({"../markdowns/roborock.md":ht});break;case"rtmp://":e=[],s=Object.assign({"../markdowns/rtmp.md":gt});break;case"rtsp://":case"rtspx://":e=Ke,s=Object.assign({"../markdowns/rtsp.md":ft});break;case"tapo://":e=[],s=Object.assign({"../markdowns/tapo.md":bt});break;case"webrtc:":e=Qe,s=Object.assign({"../markdowns/webrtc.md":wt});break;case"webtorrent:":e=[],s=Object.assign({"../markdowns/webtorrent.md":vt});break;default:e=[],s=void 0;break}return s&&(b=Object.values(s)[0]),j.value={presets:e,md:b},{presets:e,md:b}},de=o=>{$(o),R.value=!0},he=async o=>{T.value=void 0,E.value=!0;const e=o.url.join(""),b={url:e.includes(o.protocol)?e:`${o.protocol}${e}`},r=await ie({cameraData:b});T.value=r?`data:image/jpeg;base64,${r}`:"ERROR",T.value!=="ERROR"&&te.value.add(b.url)},ge=o=>({...o,pluginId:"native",type:"camera",isCloud:!1,hasLight:!1,hasSiren:!1,hasBinarySensor:!1,hasBattery:!1,activityZones:[],activitySettings:{motion:{timeout:20},object:{confidence:.7}},frameWorkerSettings:{decoder:"wasm",fps:10,resolution:640},sources:o.sources.map(s=>{let b=s.urls.map(r=>{if(r.url){const c=r.url.join("");return c.includes(r.protocol)?c:`${r.protocol}${c}`}}).filter(Boolean);return{_id:"",...s,urls:b}})}),fe=o=>{const{isLoading:e}=$e(0,{parent:".topbar"});e.value=!0;let s=ge(o);se({cameraData:s},{onSuccess:async()=>{e.value=!1,await De(500),ee.push({path:"/cameras"})}})},be=(o,e)=>{e.protocol=o};return(o,e)=>{const s=xe,b=_e;return h(),k("main",{class:W(["w-full h-full",{"px-0":t(H)}])},[a(t(We),{ref_key:"cameraVeeForm",ref:oe,class:"firststeps-form flex flex-col h-full w-full","validation-schema":t(ve),"initial-values":t(g),onSubmit:e[3]||(e[3]=r=>fe(r))},{default:n(()=>[l("div",{class:W(["mb-3 flex items-center",{"mx-2":t(H)}]),style:{height:"30px"}},[l("h1",_t,m(o.$t("views.new_camera.title")),1),a(S,{loading:t(u),variant:"text",color:"green",type:"submit",class:"ml-auto"},{default:n(()=>[a(y,{size:"15",class:"mr-1"},{default:n(()=>[d(m(t(z)),1)]),_:1}),d(" "+m(o.$t("components.form.button.add")),1)]),_:1},8,["loading"])],2),l("div",yt,[l("div",null,[l("span",xt,m(o.$t("components.form.label.camera")),1),a(N,{modelValue:t(M),"onUpdate:modelValue":e[1]||(e[1]=r=>O(M)?M.value=r:null),class:"inner-component mt-2"},{default:n(()=>[a(Y,{elevation:"0",value:1},{default:n(()=>[a(K,{style:{height:"48px"},class:"truncate"},{default:n(()=>[d(m(o.$t("views.new_camera.camera")),1)]),_:1}),a(q,{eager:""},{default:n(()=>[l("div",kt,[a(t(C),{modelValue:t(g).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(g).name=r),name:"name"},{default:n(({field:r,errorMessage:c,errors:i})=>[l("label",St,m(o.$t("components.form.label.camera_name")),1),a(J,G({loading:t(u),variant:"outlined",name:"name",type:"text",density:"compact"},r,{error:i.length>0,"error-messages":c}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),l("div",Tt,[l("span",Pt,m(o.$t("components.form.label.camera_sources")),1),a(N,{modelValue:t(V),"onUpdate:modelValue":e[2]||(e[2]=r=>O(V)?V.value=r:null),class:"inner-component mt-2",multiple:"",variant:"accordion"},{default:n(()=>[(h(!0),k(D,null,B(t(g).sources,(r,c)=>(h(),A(Y,{key:c,value:c+1,elevation:"0",style:Ae(t(H)?"border-radius: 0px !important":"")},{default:n(()=>[a(K,{style:{height:"48px"},class:"truncate"},{actions:n(({expanded:i})=>[l("div",Rt,[a(S,{disabled:t(g).sources.length<2||t(u),size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:_(f=>pe(c),["stop"])},{default:n(()=>[a(y,null,{default:n(()=>[d(m(t(Ee)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),i?(h(),A(y,{key:0,size:"22.5"},{default:n(()=>[d(m(t(Oe)),1)]),_:1})):(h(),A(y,{key:1,size:"22.5"},{default:n(()=>[d(m(t(Ge)),1)]),_:1}))])]),default:n(()=>[d(m(o.$t("views.new_camera.source")+": "+c)+" ",1)]),_:2},1024),a(q,{eager:""},{default:n(()=>[l("div",It,[a(t(C),{modelValue:r.name,"onUpdate:modelValue":i=>r.name=i,name:`sources[${c}].name`},{default:n(({field:i,errorMessage:f,errors:p})=>[l("label",{for:`sources[${c}].name`,class:"v-label"},m(o.$t("components.form.label.source_name")),9,At),a(J,G({loading:t(u),variant:"outlined",name:`sources[${c}].name`,type:"text",density:"compact",ref_for:!0},i,{error:p.length>0,"error-messages":f}),null,16,["loading","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),a(t(C),{modelValue:r.roles,"onUpdate:modelValue":i=>r.roles=i,name:`sources[${c}].roles`},{default:n(({field:i,errorMessage:f,errors:p})=>[l("label",{for:`sources[${c}].roles`,class:"v-label"},m(o.$t("components.form.label.source_role")),9,Ct),a(X,G({loading:t(u),items:t(ne).filter(x=>!t(g).sources.some((I,v)=>{var L;return((L=I.roles)==null?void 0:L.includes(x))&&v!==c})),variant:"outlined",name:`sources[${c}].roles`,type:"text",density:"compact",chips:"",multiple:"",clearable:"",ref_for:!0},i,{error:p.length>0,"error-messages":f,"model-value":i.value,onKeydown:_(()=>null,["prevent"])}),{chip:n(({item:x})=>[a(ze,{color:"#df2a4c"},{default:n(()=>[d(m(x.title),1)]),_:2},1024)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),l("label",{for:`sources[${c}].urls[].url`,class:"v-label"},m(o.$t("components.form.label.camera_sources")),9,Ht),(h(!0),k(D,null,B(r.urls,(i,f)=>(h(),k("div",{key:f},[l("div",Vt,[a(t(C),{modelValue:i.protocol,"onUpdate:modelValue":p=>i.protocol=p,name:`sources[${c}].urls[${f}].protocol`},{default:n(({field:p,errors:x,errorMessage:I})=>[a(X,G({loading:t(u),items:t(Ye),"hide-no-data":"","hide-details":"",variant:"outlined",name:`sources[${c}].urls[${f}].protocol`,type:"text",density:"compact",style:{"min-width":"125px","max-width":"125px","min-height":"40px","max-height":"40px"},class:"camera-protocol",ref_for:!0},p,{error:x.length>0,"error-messages":I,"model-value":p.value,onKeydown:_(()=>null,["prevent"]),"onUpdate:modelValue":v=>be(v,i)}),null,16,["loading","items","name","error","error-messages","model-value","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),a(t(C),{modelValue:i.url,"onUpdate:modelValue":p=>i.url=p,name:`sources[${c}].urls[${f}].url`},{default:n(({field:p,errorMessage:x,errors:I})=>[a(Ne,{modelValue:i.url,"onUpdate:modelValue":[v=>i.url=v,v=>p.value=v],loading:t(u),clearable:"",chips:"",multiple:"",items:$(i.protocol).presets,variant:"outlined",name:`sources[${c}].urls[${f}].url`,type:"text",density:"compact",class:"camera-source",error:I.length>0,"error-messages":x},{"append-inner":n(()=>[r.urls.length>1?(h(),A(S,{key:0,size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:r.urls.length<2||t(u),onClick:_(v=>le(c,f),["prevent"])},{default:n(()=>[a(y,{size:"20"},{default:n(()=>[d(m(t(Me)),1)]),_:1})]),_:2},1032,["disabled","onClick"])):Ie("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","loading","items","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),l("div",jt,[a(S,{disabled:!i.protocol||!i.url.length||t(u),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:_(p=>he(i),["prevent"])},{default:n(()=>[a(y,{size:"20"},{default:n(()=>[d(m(t(Ue)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),a(S,{disabled:t(u),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:_(p=>de(i.protocol),["prevent"])},{default:n(()=>[a(y,{size:"20"},{default:n(()=>[d(m(t(Fe)),1)]),_:1})]),_:2},1032,["disabled","onClick"])])])]))),128)),l("div",Et,[a(S,{disabled:t(u),color:"#df2a4c",variant:"flat",onClick:_(i=>me(c),["prevent"])},{default:n(()=>[d(m(o.$t("components.form.button.add_source")),1)]),_:2},1032,["disabled","onClick"])])])]),_:2},1024)]),_:2},1032,["value","style"]))),128))]),_:1},8,["modelValue"]),l("div",Ot,[a(S,{disabled:t(u),variant:"text",color:"#df2a4c",icon:"",onClick:_(ue,["prevent"])},{default:n(()=>[a(y,{size:"30"},{default:n(()=>[d(m(t(z)),1)]),_:1})]),_:1},8,["disabled"])])])])]),_:1},8,["validation-schema","initial-values"]),a(s,{modelValue:t(R),"onUpdate:modelValue":e[4]||(e[4]=r=>O(R)?R.value=r:null),title:o.$t("components.dialog.title.information"),loading:t(u),"hide-confirm-button":""},{content:n(()=>{var r;return[(r=t(j))!=null&&r.md?(h(),k("div",Gt,[l("div",{class:"w-full markdown-body",innerHTML:t(F).render(t(j).md)},null,8,Mt)])):(h(),k("div",Ut,[a(Q,{color:"#df2a4c",indeterminate:""})]))]}),_:1},8,["modelValue","title","loading"]),a(s,{modelValue:t(E),"onUpdate:modelValue":e[5]||(e[5]=r=>O(E)?E.value=r:null),title:o.$t("components.dialog.title.preview"),loading:t(u),"hide-confirm-button":""},{content:n(()=>[!t(T)||t(ce)?(h(),k("div",Ft,[a(Q,{color:"#df2a4c",indeterminate:""})])):(h(),A(b,{key:1,class:"mt-5 inner-component","show-camera-name":"","current-camera":t(T),"border-radius":t(H)?0:3,border:!1,target:"preview","preview-src":t(T),"button-elevation":"1"},null,8,["current-camera","border-radius","preview-src"]))]),_:1},8,["modelValue","title","loading"])],2)}}}),jo=ke($t,[["__scopeId","data-v-d2dfec8d"]]);export{jo as default};
|
|
448
|
+
`,yt={class:"page-title"},xt={class:"window"},kt={class:"subview-title text-color"},St={class:"relative"},Tt={for:"name",class:"v-label"},Pt={class:"mt-5"},Rt={class:"subview-title text-color"},At={class:"flex flex-row items-center justify-center ml-auto"},It={class:"relative w-full flex flex-col"},Ct=["for"],Vt=["for"],Ht=["for"],jt={key:0,class:"w-full flex flex-row justify-center my-1"},Et={class:"ml-2 flex items-center justify-center",style:{"max-height":"44px"}},Ot={class:"w-full flex flex-row justify-center my-1"},Gt={class:"ml-2 flex items-center justify-center",style:{"max-height":"44px"}},Mt={class:"flex items-center ml-auto"},Ut={class:"flex flex-row w-full items-center justify-center mt-3"},$t={key:0,class:"w-full h-full"},Lt=["innerHTML"],Wt={key:1,class:"w-full h-full flex items-center justify-center"},Dt={key:0,class:"w-full h-full flex items-center justify-center"},Bt=Ae({__name:"NewCamera",setup(Ft){A.registerLanguage("typescript",je),A.registerLanguage("yaml",Ee),A.registerLanguage("json",Oe),A.registerLanguage("python",Ge);const{smallMobileActive:H,extraSmallMobileActive:U}=Te(),re=Ne(),W=new xe,ie=v(new Set),ce=v(),le=v(!1),$=v(0),j=v([0]),R=v(),me=v(["high-resolution","mid-resolution","low-resolution","snapshot"]),E=Ie(),C=v(!1),O=v(!1),f=v({disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}],recording:{enabled:!1},interface:{streamingMode:"webrtc"},extensions:{hub:[],plugins:[]}}),{mutate:ue,isPending:pe}=W.createCameraQuery(),{mutateAsync:de,isPending:he}=W.previewCameraQuery(),p=Ce(()=>pe.value||le.value),D=Be("commonmark",{highlight(o,t){if(t&&A.getLanguage(t))try{return'<pre><code class="hljs">'+A.highlight(o,{language:t,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+D.utils.escapeHtml(o)+"</code></pre>"}});Ve(C,o=>{o||setTimeout(()=>{E.value={presets:[],md:void 0}},300)});const ge=o=>{f.value.sources[o].urls.push({protocol:"rtsp://",url:[]})},fe=(o,t)=>{f.value.sources[o].urls.splice(t,1)},be=()=>{f.value.sources.push({name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}),j.value=[f.value.sources.length]},we=o=>{f.value.sources.splice(o,1)},B=o=>{let t,s,b;switch(o){case"bubble://":t=[],s=Object.assign({"../markdowns/bubble.md":et});break;case"dvrip://":t=[],s=Object.assign({"../markdowns/dvrip.md":tt});break;case"echo:":t=[],s=Object.assign({"../markdowns/echo.md":ot});break;case"exec:":t=[],s=Object.assign({"../markdowns/exec.md":at});break;case"expr:":t=[],s=Object.assign({"../markdowns/expr.md":nt});break;case"ffmpeg:":t=se,s=Object.assign({"../markdowns/ffmpeg.md":st});break;case"gopro://":t=se,s=Object.assign({"../markdowns/gopro.md":rt});break;case"hass:":t=[],s=Object.assign({"../markdowns/hass.md":it});break;case"homekit://":t=Je,s=Object.assign({"../markdowns/homekit.md":ct});break;case"http://":case"https://":case"httpx://":case"tcp://":t=Xe,s=Object.assign({"../markdowns/http.md":lt});break;case"isapi://":t=[],s=Object.assign({"../markdowns/isapi.md":mt});break;case"ivideon:":t=[],s=Object.assign({"../markdowns/ivideon.md":ut});break;case"kasa://":t=[],s=Object.assign({"../markdowns/kasa.md":pt});break;case"nest:":t=Qe,s=Object.assign({"../markdowns/nest.md":dt});break;case"onvif://":t=[],s=Object.assign({"../markdowns/onvif.md":ht});break;case"roborock://":t=[],s=Object.assign({"../markdowns/roborock.md":gt});break;case"rtmp://":t=[],s=Object.assign({"../markdowns/rtmp.md":ft});break;case"rtsp://":case"rtspx://":t=qe,s=Object.assign({"../markdowns/rtsp.md":bt});break;case"tapo://":t=[],s=Object.assign({"../markdowns/tapo.md":wt});break;case"webrtc:":t=Ze,s=Object.assign({"../markdowns/webrtc.md":vt});break;case"webtorrent:":t=[],s=Object.assign({"../markdowns/webtorrent.md":_t});break;default:t=[],s=void 0;break}return s&&(b=Object.values(s)[0]),E.value={presets:t,md:b},{presets:t,md:b}},F=o=>{B(o),C.value=!0},ve=async o=>{R.value=void 0,O.value=!0;const t=o.url.join(""),b={url:t.includes(o.protocol)?t:`${o.protocol}${t}`},r=await de({cameraData:b});R.value=r?`data:image/jpeg;base64,${r}`:"ERROR",R.value!=="ERROR"&&ie.value.add(b.url)},_e=o=>({...o,pluginId:"native",type:"camera",isCloud:!1,hasLight:!1,hasSiren:!1,hasBinarySensor:!1,hasBattery:!1,activityZones:[],activitySettings:{motion:{timeout:20},object:{confidence:.7}},frameWorkerSettings:{decoder:"wasm",fps:10,resolution:640},sources:o.sources.map(s=>{let b=s.urls.map(r=>{if(r.url){const c=r.url.join("");return c.includes(r.protocol)?c:`${r.protocol}${c}`}}).filter(Boolean);return{_id:"",...s,urls:b}})}),ye=o=>{const{isLoading:t}=De(0,{parent:".topbar"});t.value=!0;let s=_e(o);ue({cameraData:s},{onSuccess:async()=>{t.value=!1,await ze(500),re.push({path:"/cameras"})}})},z=(o,t)=>{t.protocol=o};return(o,t)=>{const s=Pe,b=Se;return d(),k("main",{class:Y(["w-full h-full",{"px-0":e(H)}])},[n(e(Fe),{ref_key:"cameraVeeForm",ref:ce,class:"firststeps-form flex flex-col h-full w-full","validation-schema":e(ke),"initial-values":e(f),onSubmit:t[3]||(t[3]=r=>ye(r))},{default:a(()=>[u("div",{class:Y(["mb-3 flex items-center",{"mx-2":e(H)}]),style:{height:"30px"}},[u("h1",yt,l(o.$t("views.new_camera.title")),1),n(S,{loading:e(p),variant:"text",color:"green",type:"submit",class:"ml-auto"},{default:a(()=>[n(x,{size:"15",class:"mr-1"},{default:a(()=>[h(l(e(J)),1)]),_:1}),h(" "+l(o.$t("components.form.button.add")),1)]),_:1},8,["loading"])],2),u("div",xt,[u("div",null,[u("span",kt,l(o.$t("components.form.label.camera")),1),n(Q,{modelValue:e($),"onUpdate:modelValue":t[1]||(t[1]=r=>G($)?$.value=r:null),class:"inner-component mt-2"},{default:a(()=>[n(Z,{elevation:"0",value:1},{default:a(()=>[n(ee,{style:{height:"48px"},class:"truncate"},{default:a(()=>[h(l(o.$t("views.new_camera.camera")),1)]),_:1}),n(te,{eager:""},{default:a(()=>[u("div",St,[n(e(I),{modelValue:e(f).name,"onUpdate:modelValue":t[0]||(t[0]=r=>e(f).name=r),name:"name"},{default:a(({field:r,errorMessage:c,errors:i})=>[u("label",Tt,l(o.$t("components.form.label.camera_name")),1),n(oe,V({loading:e(p),variant:"outlined",name:"name",type:"text",density:"compact"},r,{error:i.length>0,"error-messages":c}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),u("div",Pt,[u("span",Rt,l(o.$t("components.form.label.camera_sources")),1),n(Q,{modelValue:e(j),"onUpdate:modelValue":t[2]||(t[2]=r=>G(j)?j.value=r:null),class:"inner-component mt-2",multiple:"",variant:"accordion"},{default:a(()=>[(d(!0),k(K,null,q(e(f).sources,(r,c)=>(d(),P(Z,{key:c,value:c+1,elevation:"0",style:He(e(H)?"border-radius: 0px !important":"")},{default:a(()=>[n(ee,{style:{height:"48px"},class:"truncate"},{actions:a(({expanded:i})=>[u("div",At,[n(S,{disabled:e(f).sources.length<2||e(p),size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:_(g=>we(c),["stop"])},{default:a(()=>[n(x,null,{default:a(()=>[h(l(e(Me)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),i?(d(),P(x,{key:0,size:"22.5"},{default:a(()=>[h(l(e(Ue)),1)]),_:1})):(d(),P(x,{key:1,size:"22.5"},{default:a(()=>[h(l(e($e)),1)]),_:1}))])]),default:a(()=>[h(l(o.$t("views.new_camera.source")+": "+c)+" ",1)]),_:2},1024),n(te,{eager:""},{default:a(()=>[u("div",It,[n(e(I),{modelValue:r.name,"onUpdate:modelValue":i=>r.name=i,name:`sources[${c}].name`},{default:a(({field:i,errorMessage:g,errors:m})=>[u("label",{for:`sources[${c}].name`,class:"v-label"},l(o.$t("components.form.label.source_name")),9,Ct),n(oe,V({loading:e(p),variant:"outlined",name:`sources[${c}].name`,type:"text",density:"compact",ref_for:!0},i,{error:m.length>0,"error-messages":g}),null,16,["loading","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),n(e(I),{modelValue:r.roles,"onUpdate:modelValue":i=>r.roles=i,name:`sources[${c}].roles`},{default:a(({field:i,errorMessage:g,errors:m})=>[u("label",{for:`sources[${c}].roles`,class:"v-label"},l(o.$t("components.form.label.source_role")),9,Vt),n(L,V({loading:e(p),items:e(me).filter(y=>!e(f).sources.some((T,w)=>{var N;return((N=T.roles)==null?void 0:N.includes(y))&&w!==c})),variant:"outlined",name:`sources[${c}].roles`,type:"text",density:"compact",chips:"",multiple:"",clearable:"",ref_for:!0},i,{error:m.length>0,"error-messages":g,"model-value":i.value,onKeydown:_(()=>null,["prevent"])}),{chip:a(({item:y})=>[n(Ye,{color:"#df2a4c"},{default:a(()=>[h(l(y.title),1)]),_:2},1024)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),u("label",{for:`sources[${c}].urls[].url`,class:"v-label"},l(o.$t("components.form.label.camera_sources")),9,Ht),(d(!0),k(K,null,q(r.urls,(i,g)=>(d(),k("div",{key:g},[e(U)?(d(),k("div",jt,[n(e(I),{modelValue:i.protocol,"onUpdate:modelValue":m=>i.protocol=m,name:`sources[${c}].urls[${g}].protocol`},{default:a(({field:m,errors:y,errorMessage:T})=>[n(L,V({loading:e(p),items:e(ne),"hide-no-data":"","hide-details":"",variant:"outlined",name:`sources[${c}].urls[${g}].protocol`,type:"text",density:"compact",class:"camera-protocol",ref_for:!0},m,{error:y.length>0,"error-messages":T,"model-value":m.value,onKeydown:_(()=>null,["prevent"]),"onUpdate:modelValue":w=>z(w,i)}),null,16,["loading","items","name","error","error-messages","model-value","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),u("div",Et,[n(S,{disabled:e(p),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:_(m=>F(i.protocol),["prevent"])},{default:a(()=>[n(x,{size:"20"},{default:a(()=>[h(l(e(X)),1)]),_:1})]),_:2},1032,["disabled","onClick"])])])):M("",!0),u("div",Ot,[e(U)?M("",!0):(d(),P(e(I),{key:0,modelValue:i.protocol,"onUpdate:modelValue":m=>i.protocol=m,name:`sources[${c}].urls[${g}].protocol`},{default:a(({field:m,errors:y,errorMessage:T})=>[n(L,V({loading:e(p),items:e(ne),"hide-no-data":"","hide-details":"",variant:"outlined",name:`sources[${c}].urls[${g}].protocol`,type:"text",density:"compact",style:{"min-width":"125px","max-width":"125px","min-height":"40px","max-height":"40px"},class:"camera-protocol",ref_for:!0},m,{error:y.length>0,"error-messages":T,"model-value":m.value,onKeydown:_(()=>null,["prevent"]),"onUpdate:modelValue":w=>z(w,i)}),null,16,["loading","items","name","error","error-messages","model-value","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"])),n(e(I),{modelValue:i.url,"onUpdate:modelValue":m=>i.url=m,name:`sources[${c}].urls[${g}].url`},{default:a(({field:m,errorMessage:y,errors:T})=>[n(Ke,{modelValue:i.url,"onUpdate:modelValue":[w=>i.url=w,w=>m.value=w],loading:e(p),clearable:"",chips:"",multiple:"",items:B(i.protocol).presets,variant:"outlined",name:`sources[${c}].urls[${g}].url`,type:"text",density:"compact",class:"camera-source",error:T.length>0,"error-messages":y},{"append-inner":a(()=>[r.urls.length>1?(d(),P(S,{key:0,size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:r.urls.length<2||e(p),onClick:_(w=>fe(c,g),["prevent"])},{default:a(()=>[n(x,{size:"20"},{default:a(()=>[h(l(e(Le)),1)]),_:1})]),_:2},1032,["disabled","onClick"])):M("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","loading","items","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),u("div",Gt,[n(S,{disabled:!i.protocol||!i.url.length||e(p),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:_(m=>ve(i),["prevent"])},{default:a(()=>[n(x,{size:"20"},{default:a(()=>[h(l(e(We)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),e(U)?M("",!0):(d(),P(S,{key:0,disabled:e(p),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:_(m=>F(i.protocol),["prevent"])},{default:a(()=>[n(x,{size:"20"},{default:a(()=>[h(l(e(X)),1)]),_:1})]),_:2},1032,["disabled","onClick"]))])])]))),128)),u("div",Mt,[n(S,{disabled:e(p),color:"#df2a4c",variant:"flat",onClick:_(i=>ge(c),["prevent"])},{default:a(()=>[h(l(o.$t("components.form.button.add_source")),1)]),_:2},1032,["disabled","onClick"])])])]),_:2},1024)]),_:2},1032,["value","style"]))),128))]),_:1},8,["modelValue"]),u("div",Ut,[n(S,{disabled:e(p),variant:"text",color:"#df2a4c",icon:"",onClick:_(be,["prevent"])},{default:a(()=>[n(x,{size:"30"},{default:a(()=>[h(l(e(J)),1)]),_:1})]),_:1},8,["disabled"])])])])]),_:1},8,["validation-schema","initial-values"]),n(s,{modelValue:e(C),"onUpdate:modelValue":t[4]||(t[4]=r=>G(C)?C.value=r:null),title:o.$t("components.dialog.title.information"),loading:e(p),"hide-confirm-button":""},{content:a(()=>{var r;return[(r=e(E))!=null&&r.md?(d(),k("div",$t,[u("div",{class:"w-full markdown-body",innerHTML:e(D).render(e(E).md)},null,8,Lt)])):(d(),k("div",Wt,[n(ae,{color:"#df2a4c",indeterminate:""})]))]}),_:1},8,["modelValue","title","loading"]),n(s,{modelValue:e(O),"onUpdate:modelValue":t[5]||(t[5]=r=>G(O)?O.value=r:null),title:o.$t("components.dialog.title.preview"),loading:e(p),"hide-confirm-button":""},{content:a(()=>[!e(R)||e(he)?(d(),k("div",Dt,[n(ae,{color:"#df2a4c",indeterminate:""})])):(d(),P(b,{key:1,class:"mt-5 inner-component","show-camera-name":"","current-camera":e(R),"border-radius":e(H)?0:3,border:!1,target:"preview","preview-src":e(R),"button-elevation":"1"},null,8,["current-camera","border-radius","preview-src"]))]),_:1},8,["modelValue","title","loading"])],2)}}}),Go=Re(Bt,[["__scopeId","data-v-65da19aa"]]);export{Go as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as we,b as lt,C as at,d as it,e as rt,g as ut}from"./VPlayer.DLxaA6uJ.0.0.13.js";import{_ as ct}from"./VPluginCard.rN1DHn_c.0.0.13.js";import{F as $e,t as Ee,r as l,c as H,w as Y,e as a,f as u,j as s,u as e,T as d,l as y,n as G,V as J,M as f,R as g,q as P,y as te,i as fe,a3 as dt,U as ft,X as Qe,O as B,N as Pe,Q as De}from"./@vue.CIFymae3.0.0.13.js";import{Y as Fe,k as ce,i as oe,c as Be}from"./@mdi.jq8isxax.0.0.13.js";import{i as ze}from"./vue3-toastify.CudLrsQ6.0.0.13.js";import{P as Ie}from"./plugins.GodGbcuD.0.0.13.js";import{A as Me,M as Ve,i as Ue,d as ke,C as Je,D as je,w as Ye,E as Re,F as Le,z as mt,f as pt,G as vt}from"./main.D-udRFe6.0.0.13.js";import{e as le,b as me,V as de,U as gt,W as _t,C as ht,w as yt,G as qe,f as He,I as bt,J as xt,n as wt,x as $t}from"./vuetify.BenoxTsr.0.0.13.js";import{H as se,t as It,y as kt,j as Ct,p as St}from"./highlight.js.DhQG6_ss.0.0.13.js";import{M as Pt}from"./markdown-it.CYBQYH34.0.0.13.js";import{u as Dt}from"./vue-router.DqihDWFz.0.0.13.js";import{x as Vt}from"./@vueuse.RXnPbHnz.0.0.13.js";import"./qrcode.BcRvH17-.0.0.13.js";import"./dijkstrajs.D_NXgYpA.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./draggabilly.9bsDBvd2.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./get-size.D1dS-IaP.0.0.13.js";import"./unidragger.DdVxANhH.0.0.13.js";import"./ev-emitter.BnUBws8R.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./VConfigEditor.vue_vue_type_script_setup_true_lang.KV9Arktd.0.0.13.js";import"./ace-builds.DW_mO3FQ.0.0.13.js";import"./@vueform.CaTOdvWk.0.0.13.js";import"./system.CJsZbAvb.0.0.13.js";import"./VConsole.B_ucNfW8.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./mdurl.k9Sl0PQj.0.0.13.js";import"./uc.micro.kMc2yuuw.0.0.13.js";import"./entities.C20TfXL6.0.0.13.js";import"./linkify-it.CGqg1utY.0.0.13.js";import"./punycode.js.Dj65hjkv.0.0.13.js";const jt={class:"w-full"},Lt={key:0,class:"w-full"},zt={class:"flex flex-col justify-center items-center mb-5"},Et={for:"restoreInput",class:"cursor-pointer text-center text-sm"},Ft=["accept"],Ot={key:0,class:"text-red text-sm"},Tt={key:1,class:"w-full flex flex-col items-center justify-center"},At={class:"relative mb-4 w-full"},Nt=["src","type"],Qt={class:"flex items-center justify-center"},Bt={class:"mx-2"},Mt={class:"disabled-text"},Ut={class:"mt-10"},Jt={class:"box-title w-full mb-3"},Rt={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},qt=$e({__name:"VAudioDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=l([]),x=l(!1),p=l(!1),D=l(!1),b=l(!1),$=l(null),I=l(null),z=l(Me.join(",")),F=l(""),S=l({}),h=l(!1),V=l(),_=l(!0),{mutateAsync:E,isPending:A}=O.detectAudioQuery(),{data:M,isLoading:X}=O.getPluginInterfaceQuery(T.value,{type:"audioDetection"}),R=H(()=>A.value||X.value||h.value),w=n=>{const t=i.value.findIndex(o=>o.name===n);t>-1&&(i.value.splice(t,1),W(),F.value="",V.value=void 0)},j=n=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],n.dataTransfer)if(n.dataTransfer.files.length>1)p.value=!0;else{const t=n.dataTransfer.files[0];Me.includes(t.type)&&t.size<=Ve?(i.value.push(t),te(()=>{k(t)})):t.size>Ve?b.value=!0:p.value=!0}},K=n=>{var o;p.value=!1,b.value=!1,i.value=[];const t=n.target;if(t&&t.files){if(((o=t.files)==null?void 0:o.length)>1)p.value=!0;else if(t.files.length===1){const m=t.files[0];m.size<=Ve?(i.value.push(m),te(()=>{k(m)})):b.value=!0}}},W=()=>{$.value&&($.value.value="")},Z=n=>n<1024?n+" bytes":n<1048576?(n/1024).toFixed(1)+" KB":(n/1048576).toFixed(1)+" MB",k=n=>{h.value=!0;const t=new Audio;t.src=URL.createObjectURL(n),t.onloadedmetadata=()=>{V.value={mimeType:n.type},h.value=!1}},q=async n=>{if(!i.value.length){D.value=!0;return}h.value=!0;const t=new FormData;t.append("upload",i.value[0]),t.append("config",JSON.stringify(n)),t.append("metadata",JSON.stringify(V.value));try{await E({pluginName:T.value,formData:t})?ze.info(Ue.global.t("components.detection_interface.audio_detected")):ze.info(Ue.global.t("components.detection_interface.audio_not_detected"))}catch(o){console.error("Error detecting audio",o)}finally{h.value=!1}};return Y(i,n=>{n.length>0?(D.value=!1,_.value=!1):(F.value="",V.value=void 0,_.value=!0)},{immediate:!0,deep:!0}),(n,t)=>{const o=we;return a(),u("div",jt,[s("div",{class:"file-upload-box p-4",onDrop:t[1]||(t[1]=P(m=>j(m),["prevent"])),onDragover:t[2]||(t[2]=P(m=>x.value=!0,["prevent"])),onDragenter:t[3]||(t[3]=P(m=>x.value=!0,["prevent"])),onDragleave:t[4]||(t[4]=P(m=>x.value=!1,["prevent"]))},[e(i).length?(a(),u("div",Tt,[s("div",At,[s("audio",{ref_key:"audioPlayer",ref:I,controls:"",class:"w-full"},[s("source",{src:e(F),type:e(i)[0].type},null,8,Nt),J(" Your browser does not support the audio element. ")],512)]),s("div",Qt,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:t[0]||(t[0]=P(m=>w(e(i)[0].name),["stop"]))},{default:g(()=>[f(le,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",Bt,d(e(i)[0].name),1),s("span",Mt,"("+d(Z(e(i)[0].size))+")",1)])])):(a(),u("div",Lt,[s("div",zt,[s("label",Et,d(n.$t("components.detection_interface.drop_or_select_audio_to_detect")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(z),onChange:K},null,40,Ft),e(p)?(a(),u("p",Ot,d(n.$t("components.detection_interface.only_one_audio_allowed")),1)):y("",!0),e(D)?(a(),u("p",{key:1,class:G(["text-red text-sm",{"mt-2":e(p)}])},d(n.$t("components.detection_interface.audio_required")),3)):y("",!0),e(b)?(a(),u("p",{key:2,class:G(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(n.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",Ut,[s("div",Jt,d(n.$t("components.detection_interface.interface_config")),1),e(S)&&Object.keys(e(S)).length?y("",!0):(a(),u("div",Rt,d(n.$t("components.detection_interface.no_interface_config")),1)),f(o,{config:e(S),"ui-schema":e(M),loading:e(R),"save-button-label":n.$t("components.detection_interface.detect_audio"),"disable-button":e(_),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:q},null,8,["config","ui-schema","loading","save-button-label","disable-button"])])])}}}),Ht=ke(qt,[["__scopeId","data-v-c1c7820f"]]),Yt={class:"w-full"},Gt={key:0,class:"w-full"},Xt={class:"flex flex-col justify-center items-center mb-5"},Kt={for:"restoreInput",class:"cursor-pointer text-center text-sm"},Wt=["accept"],Zt={key:0,class:"text-red text-sm"},en={key:1,class:"w-full flex flex-col items-center justify-center"},tn={class:"relative mb-4"},nn=["src"],on={class:"flex items-center justify-center"},sn={class:"mx-2"},ln={class:"disabled-text"},an={class:"mt-10"},rn={class:"box-title w-full mb-3"},un={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},cn={class:"relative"},dn=["src"],fn=$e({__name:"VObjectDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=l([]),x=l(!1),p=l(!1),D=l(!1),b=l(!1),$=l(null),I=l(Je.join(",")),z=l(""),F=l({}),S=l(!1),h=l(),V=l([]),_=l(!1),E=l(!0),{mutateAsync:A,isPending:M}=O.detectObjectsQuery(),{data:X,isLoading:R}=O.getPluginInterfaceQuery(T.value,{type:"objectDetection"}),w=H(()=>M.value||R.value||S.value),j=t=>{const o=i.value.findIndex(m=>m.name===t);o>-1&&(i.value.splice(o,1),Z(),z.value="",h.value=void 0)},K=t=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],t.dataTransfer)if(t.dataTransfer.files.length>1)p.value=!0;else{const o=t.dataTransfer.files[0];Je.includes(o.type)&&o.size<=je?(i.value.push(o),te(()=>{k(o)})):o.size>je?b.value=!0:p.value=!0}},W=t=>{var m;p.value=!1,b.value=!1,i.value=[];const o=t.target;if(o&&o.files){if(((m=o.files)==null?void 0:m.length)>1)p.value=!0;else if(o.files.length===1){const L=o.files[0];L.size<=je?(i.value.push(L),te(()=>{k(L)})):b.value=!0}}},Z=()=>{$.value&&($.value.value="")},k=t=>{S.value=!0;const o=new Image;o.src=URL.createObjectURL(t),o.onload=()=>{z.value=o.src,h.value={width:o.width,height:o.height},S.value=!1}},q=t=>t<1024?t+" bytes":t<1048576?(t/1024).toFixed(1)+" KB":(t/1048576).toFixed(1)+" MB",n=async t=>{if(!i.value.length){D.value=!0;return}S.value=!0;const o=new FormData;o.append("upload",i.value[0]),o.append("config",JSON.stringify(t)),o.append("metadata",JSON.stringify(h.value));try{const m=await A({pluginName:T.value,formData:o});_.value=!0,setTimeout(()=>{V.value=m},300)}catch(m){console.error("Error detecting objects",m)}finally{S.value=!1}};return Y(i,t=>{t.length>0?(D.value=!1,E.value=!1):(z.value="",h.value=void 0,E.value=!0)},{immediate:!0,deep:!0}),(t,o)=>{const m=we,L=lt,Ce=Ye;return a(),u("div",Yt,[s("div",{class:"file-upload-box p-4",onDrop:o[1]||(o[1]=P(U=>K(U),["prevent"])),onDragover:o[2]||(o[2]=P(U=>x.value=!0,["prevent"])),onDragenter:o[3]||(o[3]=P(U=>x.value=!0,["prevent"])),onDragleave:o[4]||(o[4]=P(U=>x.value=!1,["prevent"]))},[e(i).length?(a(),u("div",en,[s("div",tn,[s("img",{src:e(z),alt:"Preview",class:"w-full"},null,8,nn)]),s("div",on,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:o[0]||(o[0]=P(U=>j(e(i)[0].name),["stop"]))},{default:g(()=>[f(le,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",sn,d(e(i)[0].name),1),s("span",ln,"("+d(q(e(i)[0].size))+")",1)])])):(a(),u("div",Gt,[s("div",Xt,[s("label",Kt,d(t.$t("components.detection_interface.drop_or_select_image_to_detect_objects")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(I),onChange:W},null,40,Wt),e(p)?(a(),u("p",Zt,d(t.$t("components.detection_interface.only_one_image_allowed")),1)):y("",!0),e(D)?(a(),u("p",{key:1,class:G(["text-red text-sm",{"mt-2":e(p)}])},d(t.$t("components.detection_interface.image_required")),3)):y("",!0),e(b)?(a(),u("p",{key:2,class:G(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(t.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",an,[s("div",rn,d(t.$t("components.detection_interface.interface_config")),1),e(F)&&Object.keys(e(F)).length?y("",!0):(a(),u("div",un,d(t.$t("components.detection_interface.no_interface_config")),1)),f(m,{config:e(F),"ui-schema":e(X),loading:e(w),"save-button-label":t.$t("components.detection_interface.detect_objects"),"disable-button":e(E),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:n},null,8,["config","ui-schema","loading","save-button-label","disable-button"])]),f(Ce,{modelValue:e(_),"onUpdate:modelValue":o[5]||(o[5]=U=>fe(_)?_.value=U:null),title:t.$t("components.dialog.title.result"),"hide-confirm-button":"",width:"auto"},{content:g(()=>[s("div",cn,[f(L,{detections:e(V)},null,8,["detections"]),s("img",{src:e(z),alt:"Preview",class:"w-full"},null,8,dn)])]),_:1},8,["modelValue","title"])])}}}),mn=ke(fn,[["__scopeId","data-v-453d8b3d"]]),pn={class:"w-full"},vn={key:0,class:"w-full"},gn={class:"flex flex-col justify-center items-center mb-5"},_n={for:"restoreInput",class:"cursor-pointer text-center text-sm"},hn=["accept"],yn={key:0,class:"text-red text-sm"},bn={key:1,class:"w-full flex flex-col items-center justify-center"},xn={class:"relative mb-4 w-full"},wn={class:"flex items-center justify-center"},$n={class:"mx-2"},In={class:"disabled-text"},kn={class:"mt-10"},Cn={class:"box-title w-full mb-3"},Sn={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},Pn={class:"relative"},Dn=$e({__name:"VMotionDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=l([]),x=l(!1),p=l(!1),D=l(!1),b=l(!1),$=l(null),I=l(null),z=l(null),F=l(Re.join(",")),S=l({}),h=l(!1),V=l(!1),_=l(!0),{mutateAsync:E,isPending:A}=O.detectMotionQuery(),{data:M,isLoading:X}=O.getPluginInterfaceQuery(T.value,{type:"motionDetection"}),R=H(()=>A.value||X.value||h.value),w=n=>{const t=i.value.findIndex(o=>o.name===n);t>-1&&(i.value.splice(t,1),W(),I.value.src="")},j=n=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],n.dataTransfer)if(n.dataTransfer.files.length>1)p.value=!0;else{const t=n.dataTransfer.files[0];Re.includes(t.type)&&t.size<=Le?(i.value.push(t),te(()=>{k(t)})):t.size>Le?b.value=!0:p.value=!0}},K=n=>{var o;p.value=!1,b.value=!1,i.value=[];const t=n.target;if(t&&t.files){if(((o=t.files)==null?void 0:o.length)>1)p.value=!0;else if(t.files.length===1){const m=t.files[0];m.size<=Le?(i.value.push(m),te(()=>{k(m)})):b.value=!0}}},W=()=>{$.value&&($.value.value="")},Z=n=>n<1024?n+" bytes":n<1048576?(n/1024).toFixed(1)+" KB":(n/1048576).toFixed(1)+" MB",k=n=>{h.value=!0,I.value.src=URL.createObjectURL(n),I.value.load(),I.value.onloadeddata=()=>{h.value=!1}},q=async n=>{if(!i.value.length){D.value=!0;return}h.value=!0;const t=new FormData;t.append("upload",i.value[0]),t.append("config",JSON.stringify(n));try{const o=await E({pluginName:T.value,formData:t}),m=new Blob([o],{type:"video/mp4"});V.value=!0,setTimeout(()=>{z.value&&(z.value.src=URL.createObjectURL(m),z.value.load())},300)}catch(o){console.error("Error detecting motion",o)}finally{h.value=!1}};return Y(i,n=>{n.length>0?(D.value=!1,_.value=!1):_.value=!0},{immediate:!0,deep:!0}),(n,t)=>{const o=we,m=Ye;return a(),u("div",pn,[s("div",{class:"file-upload-box p-4",onDrop:t[1]||(t[1]=P(L=>j(L),["prevent"])),onDragover:t[2]||(t[2]=P(L=>x.value=!0,["prevent"])),onDragenter:t[3]||(t[3]=P(L=>x.value=!0,["prevent"])),onDragleave:t[4]||(t[4]=P(L=>x.value=!1,["prevent"]))},[e(i).length?(a(),u("div",bn,[s("div",xn,[s("video",{ref_key:"videoPlayer",ref:I,controls:"",class:"w-full"},"Your browser does not support the video tag.",512)]),s("div",wn,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:t[0]||(t[0]=P(L=>w(e(i)[0].name),["stop"]))},{default:g(()=>[f(le,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",$n,d(e(i)[0].name),1),s("span",In,"("+d(Z(e(i)[0].size))+")",1)])])):(a(),u("div",vn,[s("div",gn,[s("label",_n,d(n.$t("components.detection_interface.drop_or_select_video_to_detect_motion")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(F),onChange:K},null,40,hn),e(p)?(a(),u("p",yn,d(n.$t("components.detection_interface.only_one_video_allowed")),1)):y("",!0),e(D)?(a(),u("p",{key:1,class:G(["text-red text-sm",{"mt-2":e(p)}])},d(n.$t("components.detection_interface.video_required")),3)):y("",!0),e(b)?(a(),u("p",{key:2,class:G(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(n.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",kn,[s("div",Cn,d(n.$t("components.detection_interface.interface_config")),1),e(S)&&Object.keys(e(S)).length?y("",!0):(a(),u("div",Sn,d(n.$t("components.detection_interface.no_interface_config")),1)),f(o,{config:e(S),"ui-schema":e(M),loading:e(R),"save-button-label":n.$t("components.detection_interface.detect_motion"),"disable-button":e(_),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:q},null,8,["config","ui-schema","loading","save-button-label","disable-button"])]),f(m,{modelValue:e(V),"onUpdate:modelValue":t[5]||(t[5]=L=>fe(V)?V.value=L:null),title:n.$t("components.dialog.title.result"),"hide-confirm-button":"",width:"auto"},{content:g(()=>[s("div",Pn,[s("video",{ref_key:"videoPlayerResult",ref:z,controls:"",class:"w-full"},"Your browser does not support the video tag.",512)])]),_:1},8,["modelValue","title"])])}}}),Vn=ke(Dn,[["__scopeId","data-v-b825f442"]]),jn={key:0,class:"flex items-center justify-center w-full h-full"},Ln={key:1,class:"h-full w-full"},zn={class:"page-title"},En={class:"flex flex-col flex-1 inner-component mt-0 p-4"},Fn={class:"box-title w-full mb-3"},On={key:0,class:"w-full h-full flex items-center justify-center"},Tn={key:1},An={class:"options-segments flex items-center justify-between"},Nn={class:"flex flex-col items-center justify-center"},Qn={class:"options-segments-text mt-2"},Bn={key:1},Mn={key:2},Un={key:3},Jn={key:4},Rn={class:"w-full full-inner-height"},qn={class:"flex flex-col md:flex-row gap-2 h-full"},Hn={class:"flex flex-col flex-1",style:{height:"200px","max-height":"200px"}},Yn={key:0,class:"w-full h-full flex items-center justify-center inner-component mt-0"},Gn={class:"flex flex-col flex-1 inner-component mt-0 p-4"},Xn={class:"box-title w-full mb-3"},Kn={key:0,class:"w-full h-full flex items-center justify-center"},Wn=["innerHTML"],Zn={class:"flex flex-col flex-1 inner-component mt-0 p-4"},eo={class:"box-title w-full mb-3"},to={key:0,class:"w-full h-full flex items-center justify-center"},no=["innerHTML"],oo=["data-ignore-id"],so=$e({__name:"Plugin",setup(ne){se.registerLanguage("typescript",It),se.registerLanguage("yaml",kt),se.registerLanguage("json",Ct),se.registerLanguage("python",St);const O=new at,C=new Ie,T=mt(),i=Dt(),{mobileActive:x,smallMobileActive:p}=pt(),D=l(vt()),b=l(),$=l(!1),I=l([]),z=l(!1),F=l(i.params.scope),S=l(i.params.pluginname),h=l(),V=l([]),_=l({name:"settings",icon:ce,isInterface:!1}),E=l(!1),A=l(),M=l(),[X,R]=Vt(),w=H(()=>F.value?`${F.value}/${S.value}`:S.value);C.toggleQueryActivator("getPluginContractQuery",!1);const{data:j,isLoading:K}=C.getPluginQuery(w),{data:W,isLoading:Z}=C.getPluginConfigJsonQuery(w),{data:k,isLoading:q}=C.getPluginSchemaQuery(w),{data:n}=C.getPluginContractQuery(w),{data:t,isLoading:o}=C.getPluginReadmeQuery(w),{data:m,isLoading:L}=C.getPluginChangelogQuery(w),{mutateAsync:Ce,isPending:U}=C.actionButtonQuery(),{mutate:Ge,isPending:Xe}=C.patchPluginConfigQuery(),{mutate:Ke,isPending:We}=O.addCameraExtensionQuery(),{mutate:Ze,isPending:et}=O.removeCameraExtensionQuery(),Oe=H(()=>!!(K.value||Z.value||q.value||o.value||L.value)),pe=H(()=>!!(We.value||et.value)),ae=H(()=>!!($.value||U.value||Xe.value)),ve=H(()=>{var r,c,N;return!!(k.value||(r=n.value)!=null&&r.cameras.length||(c=n.value)!=null&&c.contract.extension||(N=n.value)!=null&&N.contract.supportAdditionalCameras)}),Se=Pt("commonmark",{highlight(r,c){if(c&&se.getLanguage(c))try{return'<pre><code class="hljs">'+se.highlight(r,{language:c,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+Se.utils.escapeHtml(r)+"</code></pre>"}});Y(()=>i.params.pluginname,()=>{S.value=i.params.pluginname},{deep:!0,immediate:!0}),Y(h,r=>{te(()=>z.value=!!r)}),Y(k,()=>{q.value?C.toggleQueryActivator("getPluginContractQuery",!1):C.toggleQueryActivator("getPluginContractQuery",!0)},{deep:!0,immediate:!0}),Y(n,()=>{var ge,_e,he,ye,be,xe,ie,re,ue,v;const r=[];let c=!1,N=!1;((ge=n.value)==null?void 0:ge.contract.extension)==="motionDetection"&&(N=!0,r.push({name:"motion_detection",icon:oe,isInterface:!0}),_.value={name:"motion_detection",icon:oe,isInterface:!0}),((_e=n.value)==null?void 0:_e.contract.extension)==="objectDetection"&&(N=!0,r.push({name:"object_detection",icon:oe,isInterface:!0}),_.value={name:"object_detection",icon:oe,isInterface:!0}),((he=n.value)==null?void 0:he.contract.extension)==="audioDetection"&&(N=!0,r.push({name:"audio_detection",icon:oe,isInterface:!0}),_.value={name:"audio_detection",icon:oe,isInterface:!0}),k.value&&k.value.schema&&Object.keys(k.value.schema).length&&(r.push({name:"settings",icon:ce,isInterface:!1}),c=!0,N||(_.value={name:"settings",icon:ce,isInterface:!1})),((ye=n.value)!=null&&ye.cameras.length||(be=n.value)!=null&&be.contract.extension||(xe=n.value)!=null&&xe.contract.supportAdditionalCameras)&&(r.push({name:"cameras",icon:Be,isInterface:!1}),!c&&!N&&(_.value={name:"cameras",icon:Be,isInterface:!1})),V.value=r,((ie=n.value)!=null&&ie.contract.extension||(re=n.value)!=null&&re.contract.supportAdditionalCameras)&&((ue=n.value)!=null&&ue.cameras.length)&&(I.value=(v=n.value)==null?void 0:v.cameras.filter(ee=>ee.extensions.plugins.includes(w.value)).map(ee=>ee.name))},{deep:!0,immediate:!0}),Y(E,r=>{r||(A.value=void 0,M.value=void 0)});const tt=async r=>{if(!k.value)return;$.value=!0;const c=ut(k.value.schema,r);Ge({pluginName:w.value,configData:c},{onSettled:()=>{$.value=!1}})},nt=async r=>{$.value=!0,await Ce({pluginName:w.value,actionId:r.actionId,payload:r.payload},{onSuccess:c=>{c!=null&&c.toast&&ze[c.toast.type](c.toast.message),c!=null&&c.schema&&Object.keys(c.schema).length&&(M.value=r.payload,A.value=c,E.value=!0)},onSettled:()=>{$.value=!1}})},ot=async r=>{j.value&&(I.value.includes(r.name)?Ze({cameraname:r.name,pluginname:j.value.pluginName},{onSuccess:()=>{I.value=I.value.filter(c=>c!==r.name)}}):Ke({cameraname:r.name,pluginname:j.value.pluginName},{onSuccess:()=>{I.value=[...I.value,r.name]}}))};return dt(()=>{b.value=T.connectToNamespace("/plugins")}),ft(()=>{var r,c;(c=(r=b.value)==null?void 0:r.end)==null||c.call(r)}),(r,c)=>{var ie,re,ue;const N=we,ge=Vn,_e=mn,he=Ht,ye=ct,be=it,xe=rt;return a(),u("main",{class:G(["w-full h-full",{"px-0":e(p)}])},[e(Oe)?(a(),u("div",jn,[f(de,{color:"#df2a4c",indeterminate:""})])):(a(),u("div",Ln,[s("div",{class:G(["mb-3 flex w-full items-center",{"px-2":e(p)}]),style:{height:"30px"}},[s("h1",zn,d((ie=e(j))==null?void 0:ie.displayName),1)],2),f(e(X),null,{default:g(()=>[s("div",{class:"plugin-settings-box flex flex-col gap-2 h-full",style:Qe({width:e(ve)&&!e(x)?"40%":"100%"})},[s("div",En,[s("div",Fn,d(r.$t("views.plugin.plugin_settings")),1),e(j)?(a(),u("div",Tn,[s("div",An,[f(gt,{modelValue:e(_),"onUpdate:modelValue":c[0]||(c[0]=v=>fe(_)?_.value=v:null),height:"100%",grow:"","slider-color":"#df2a4c","hide-slider":e(pe)||e(ae)},{default:g(()=>[(a(!0),u(Pe,null,De(e(V),(v,ee)=>(a(),B(_t,{key:ee,value:v,disabled:e(Oe)||v.isInterface&&e(j).disabled,"min-width":"auto"},{default:g(()=>[s("div",Nn,[f(le,{size:"20"},{default:g(()=>[J(d(v.icon),1)]),_:2},1024),s("span",Qn,d(v.isInterface?r.$t("views.plugin.segment_tab_interface"):r.$t(`views.plugin.segment_tab_${v.name.toLowerCase()}`)),1)])]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","hide-slider"])]),e(pe)||e(ae)?(a(),B(ht,{key:0,height:"2",color:"#df2a4c",indeterminate:"",style:{"margin-top":"-2px"}})):y("",!0),f(yt,{modelValue:e(_),"onUpdate:modelValue":c[1]||(c[1]=v=>fe(_)?_.value=v:null),class:"box-content w-full flex-1 mt-3",continuous:""},{default:g(()=>[(a(!0),u(Pe,null,De(e(V),(v,ee)=>(a(),B($t,{key:ee,value:{name:v.name,icon:v.icon,isInterface:v.isInterface},disabled:v.isInterface&&e(j).disabled},{default:g(()=>{var Te;return[v.name==="settings"&&e(k)?(a(),B(N,{key:0,config:e(W)||{},"ui-schema":e(k),loading:e(ae),onOnFormSubmit:tt,onOnSubmit:nt},null,8,["config","ui-schema","loading"])):y("",!0),v.name==="cameras"?(a(),u("div",Bn,[(a(!0),u(Pe,null,De((Te=e(n))==null?void 0:Te.cameras,Q=>{var Ae,Ne;return a(),u("div",{key:Q.name},[!((Ae=e(n))!=null&&Ae.contract.extension)&&!((Ne=e(n))!=null&&Ne.contract.supportAdditionalCameras)?(a(),B(qe,{key:0,"select-strategy":"classic",class:"py-0",disabled:e(pe)||e(ae),"onClick:select":()=>r.$router.push(`/cameras/${Q.name}`)},{default:g(()=>[f(He,{value:Q.name,class:"px-2"},{append:g(()=>[f(me,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:P(st=>h.value=Q.name,["stop"])},{default:g(()=>[f(le,{size:"18"},{default:g(()=>[J(d(e(ce)),1)]),_:1})]),_:2},1032,["onClick"])]),default:g(()=>[J(d(Q.name)+" ",1)]),_:2},1032,["value"])]),_:2},1032,["disabled","onClick:select"])):(a(),B(qe,{key:1,"select-strategy":"classic",class:"py-0",disabled:e(pe)||e(ae),"onUpdate:selected":()=>ot(Q)},{default:g(()=>[f(He,{class:"px-2",value:e(j).pluginName,active:e(I).includes(Q.name)},{prepend:g(()=>[f(bt,{start:""},{default:g(()=>[f(xt,{"model-value":e(I).includes(Q.name),color:"#df2a4c"},null,8,["model-value"])]),_:2},1024)]),append:g(()=>[f(me,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:P(st=>h.value=Q.name,["stop"])},{default:g(()=>[f(le,{size:"18"},{default:g(()=>[J(d(e(ce)),1)]),_:1})]),_:2},1032,["onClick"])]),default:g(()=>[J(d(Q.name)+" ",1)]),_:2},1032,["value","active"])]),_:2},1032,["disabled","onUpdate:selected"])),f(wt,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})])}),128))])):y("",!0),v.name==="motion_detection"?(a(),u("div",Mn,[f(ge,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0),v.name==="object_detection"?(a(),u("div",Un,[f(_e,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0),v.name==="audio_detection"?(a(),u("div",Jn,[f(he,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0)]}),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue"])])):(a(),u("div",On,[f(de,{color:"#df2a4c",indeterminate:""})]))])],4)]),_:1}),s("div",Rn,[s("div",qn,[s("div",{class:"w-full flex flex-col gap-2 h-full",style:Qe({width:e(ve)&&!e(x)?"60%":"100%"})},[s("div",Hn,[e(j)?(a(),B(ye,{key:1,ref:"pluginRef",plugin:e(j),"min-height":"175px",height:"100%",width:"100%","border-radius":"4px","show-toggle":"","show-settings":"","show-logo":"","show-plugin-status":"","show-logs":"","show-configs":"",onIsLoading:c[2]||(c[2]=v=>$.value=v)},null,8,["plugin"])):(a(),u("div",Yn,[f(de,{color:"#df2a4c",indeterminate:""})]))]),e(ve)&&e(x)?(a(),B(e(R),{key:0})):y("",!0),s("div",Gn,[s("div",Xn,d(r.$t("views.plugin.readme")),1),e(o)?(a(),u("div",Kn,[f(de,{color:"#df2a4c",indeterminate:""})])):(a(),u("div",{key:1,class:"box-content w-full h-full flex-1 markdown-body pt-1",innerHTML:e(Se).render(e(t)||r.$t("views.plugin.no_readme"))},null,8,Wn))]),s("div",Zn,[s("div",eo,d(r.$t("views.plugin.changelog")),1),e(L)?(a(),u("div",to,[f(de,{color:"#df2a4c",indeterminate:""})])):(a(),u("div",{key:1,class:"box-content w-full h-full flex-1 markdown-body pt-1",innerHTML:e(Se).render(e(m)||r.$t("views.plugin.no_changelog"))},null,8,no))])],4),e(ve)&&!e(x)?(a(),B(e(R),{key:0})):y("",!0)])])])),e(h)?(a(),u("div",{key:2,"data-ignore-id":e(D)},[f(be,{"camera-name":e(h),show:e(z),onClose:c[3]||(c[3]=v=>h.value=void 0)},null,8,["camera-name","show"])],8,oo)):y("",!0),(ue=(re=e(A))==null?void 0:re.schema)!=null&&ue.config?(a(),B(xe,{key:3,modelValue:e(E),"onUpdate:modelValue":c[4]||(c[4]=v=>fe(E)?E.value=v:null),"ui-schema":{schema:e(A).schema},"plugin-config":e(M)||{},"plugin-name":e(w)},null,8,["modelValue","ui-schema","plugin-config","plugin-name"])):y("",!0)],2)}}}),ts=ke(so,[["__scopeId","data-v-5c59e760"]]);export{ts as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as S,d as C,z as j,w as D}from"./main.D-udRFe6.0.0.13.js";import{_ as z}from"./VPluginCard.rN1DHn_c.0.0.13.js";import{P as B}from"./plugins.GodGbcuD.0.0.13.js";import{c as F,S as I,m as R,n as U,C as A,b as q,A as E,e as G}from"./vuetify.BenoxTsr.0.0.13.js";import{F as L,r,w as X,e as s,f as i,M as l,R as f,j as a,T as c,u as e,i as M,V as N,X as k,N as P,Q as $,l as H,a3 as J,U as K,n as b,aa as O,q as W}from"./@vue.CIFymae3.0.0.13.js";import{e as Y}from"./@mdi.jq8isxax.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";import"./VConfigEditor.vue_vue_type_script_setup_true_lang.KV9Arktd.0.0.13.js";import"./ace-builds.DW_mO3FQ.0.0.13.js";import"./@vueform.CaTOdvWk.0.0.13.js";import"./system.CJsZbAvb.0.0.13.js";import"./VConsole.B_ucNfW8.0.0.13.js";const Z={class:"v-label"},ee={class:"flex flex-row items-center justify-center w-full mt-8"},te={class:"flex flex-col items-center justify-center w-full mt-3"},le={key:0,class:"my-3"},oe={key:1,class:"search-container w-full overflow-scroll hide-scrollbar"},se=L({__name:"VPluginSearch",setup(Q){const n=new B,{smallMobileActive:v}=S(),y=r({page:1,pageSize:-1}),w=r({}),u=r(""),d=r([]),{data:g,isLoading:m}=n.searchPluginsQuery(w,y);X(g,t=>{t!=null&&t.result&&(d.value=t.result.filter(o=>!o.installPath))},{immediate:!0,deep:!0});const h=t=>{t.preventDefault(),w.value.pluginname=u.value??""};return(t,o)=>{const x=z;return s(),i("div",null,[l(I,{class:"ml-auto",onSubmit:h},{default:f(()=>[a("label",Z,c(t.$t("components.form.label.name")),1),l(F,{modelValue:e(u),"onUpdate:modelValue":o[0]||(o[0]=_=>M(u)?u.value=_:null),placeholder:"camera-ui-","hide-details":"",clearable:"",solo:"",variant:"outlined",density:"comfortable","onClick:clear":h},null,8,["modelValue"])]),_:1}),a("div",ee,[a("h3",null,c(t.$t("components.plugin_search.plugins")),1),l(R,{size:"small",class:"ml-auto",color:"#df2a4c"},{default:f(()=>[N(c(e(d).length),1)]),_:1})]),l(U,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"mt-3"}),l(A,{active:e(m),indeterminate:e(m),color:"#df2a4c",height:"2px"},null,8,["active","indeterminate"]),a("div",te,[!e(m)&&!e(d).length?(s(),i("div",le,c(t.$t("views.plugins.no_plugins")),1)):e(m)?H("",!0):(s(),i("div",oe,[a("div",{class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(v)?"100%":"450px"}, 1fr))`)},[(s(!0),i(P,null,$(e(d),(_,p)=>(s(),i("div",{key:p,class:"relative"},[l(x,{plugin:_,height:"200px","max-height":"200px",width:"100%",background:"var(--background-inner-component-card)","min-width":e(v)?"100%":"450px","show-install-button":"","show-plugin-type":!1,"show-plugin-code":!1,"show-full-plugin-name":""},null,8,["plugin","min-width"])]))),128))],4)]))])])}}}),ie=C(se,[["__scopeId","data-v-0d35625b"]]),ne={class:"page-title"},ae={class:"w-full flex justify-center items-center mt-3"},re=L({__name:"Plugins",setup(Q){const{smallMobileActive:n}=S(),v=j(),y=new B,w=r(null),u=r(),d=r({page:1,pageSize:-1}),g=r(!1),{data:m,isLoading:h}=y.getPluginsQuery(d);return J(()=>{u.value=v.connectToNamespace("/plugins")}),K(()=>{var t,o;(o=(t=u.value)==null?void 0:t.end)==null||o.call(t)}),(t,o)=>{const x=ie,_=D;return s(),i("main",{class:b(["w-full h-full",{"px-0":e(n)}])},[a("div",{class:b(["mb-3 flex w-full items-center",{"px-2":e(n)}]),style:{height:"30px"}},[a("h1",ne,c(t.$t(`views.${String(t.$route.name).toLowerCase()}.title`)),1)],2),l(O,{name:"fade",tag:"div"},{default:f(()=>{var p;return[e(h)?(s(),i("div",{key:0,class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(n)?"100%":"450px"}, 1fr))`)},[(s(),i(P,null,$(15,V=>l(E,{key:V,elevation:1,type:"image",class:"relative",style:{"border-radius":"8px",overflow:"hidden"},height:175})),64))],4)):(p=e(m))!=null&&p.result.length?(s(),i("div",{key:2,class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(n)?"100%":"450px"}, 1fr))`)},[(s(!0),i(P,null,$(e(m).result,(V,T)=>(s(),i("div",{key:T,class:"relative"},[l(z,{ref_for:!0,ref_key:"pluginRef",ref:w,plugin:V,height:"200px","max-height":"200px",width:"100%","min-width":e(n)?"100%":"450px","border-radius":e(n)?"0px":"8px","show-toggle":"","show-settings":"","show-logo":"","show-plugin-status":"","show-logs":"","show-configs":""},null,8,["plugin","min-width","border-radius"])]))),128))],4)):(s(),i("div",{key:1,class:b(["disabled-text",{"px-2":e(n)}])},c(t.$t("views.plugins.no_plugins")),3))]}),_:1}),a("div",ae,[l(q,{variant:"text",color:"#df2a4c",icon:"",onClick:o[0]||(o[0]=W(p=>g.value=!0,["prevent"]))},{default:f(()=>[l(G,{size:"30"},{default:f(()=>[N(c(e(Y)),1)]),_:1})]),_:1})]),l(_,{modelValue:e(g),"onUpdate:modelValue":o[1]||(o[1]=p=>M(g)?g.value=p:null),title:t.$t("components.dialog.title.search_plugin"),"hide-confirm-button":"",loading:e(h),fullscreen:""},{content:f(()=>[l(x)]),_:1},8,["modelValue","title","loading"])],2)}}}),Ee=C(re,[["__scopeId","data-v-8648604f"]]);export{Ee as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as r}from"./main.D-udRFe6.0.0.13.js";import{f as o,e as t}from"./@vue.CIFymae3.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./vuetify.BenoxTsr.0.0.13.js";import"./@mdi.jq8isxax.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";const i={};function m(p,e){return t(),o("div",null,"Test")}const G=r(i,[["render",m]]);export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as p}from"./main.D-udRFe6.0.0.13.js";import{F as m,e as s,f as a,j as r,T as l,n as i,u as e}from"./@vue.CIFymae3.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./vuetify.BenoxTsr.0.0.13.js";import"./@mdi.jq8isxax.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";const n={class:"page-title"},G=m({__name:"Recordings",setup(c){const{smallMobileActive:t}=p();return(o,f)=>(s(),a("main",{class:i(["w-full h-full",{"px-0":e(t)}])},[r("div",{class:i(["flex w-full items-center",{"px-2":e(t)}]),style:{height:"30px"}},[r("h1",n,l(o.$t(`views.${String(o.$route.name).toLowerCase()}.title`)),1)],2)],2))}});export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as q,t as Z,r as u,c as B,w as _,a3 as Y,x as U,J as G,e as d,f as h,j as s,N as L,Q as ee,O as V,R as g,M as x,V as te,T as C,u as o,l as N,X as A,W as J,b as oe,n as z,q as ae,S as se}from"./@vue.CIFymae3.0.0.13.js";import{f as K,S as O,T as ne,V as ie,d as P,W as F,h as j}from"./main.D-udRFe6.0.0.13.js";import{u as Q,a as re}from"./vue-router.DqihDWFz.0.0.13.js";import{o as le,f as ce,g as ue}from"./@vueuse.RXnPbHnz.0.0.13.js";import{e as de,b as pe}from"./vuetify.BenoxTsr.0.0.13.js";import{B as fe,G as me}from"./@mdi.jq8isxax.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";var M=(m=>(m[m.MAXWIDTH=280]="MAXWIDTH",m))(M||{});const ve={class:"flex flex-col w-full pb-safe"},_e={class:"flex flex-row navigation-text"},be={class:"ml-5"},he={class:"navigation-title"},ge={key:0},xe={key:0,class:"overlay"},Se=q({__name:"VSubNavigation",props:{routes:{},description:{type:Boolean,default:!1},state:{type:Boolean,default:!1}},emits:["inner-sidebar-state"],setup(m,{emit:S}){const{desktopActive:r,mobileActive:y}=K(),k=Q(),l=ce(ie),R=S,w=m,{routes:n,state:I,description:b}=Z(w),$=u(null),a=u(),c=u(),T=B(()=>{let e=`calc(${t.value}px + env(safe-area-inset-left, 0px))`;return c.value==="closed"&&a.value==="closed"&&(e=`calc(${t.value}px - env(safe-area-inset-left, 0px))`),e}),t=B(()=>{let e=0;switch(c.value){case"opened":e=O.MAXWIDTH;break;case"minified":e=O.MINWIDTH;break;case"closed":e=0;break}return!r.value&&!I.value&&(e-=M.MAXWIDTH),e});return le($,e=>{if(r.value||a.value==="closed")return;e.target.closest(".no-outside")||(a.value="closed")}),l.on(e=>{e.sidebarState&&(c.value=e.sidebarState)}),_(r,e=>{a.value=e?"opened":"closed"}),_(I,e=>{a.value=e?r.value?"opened":"overlay":"closed"}),_(a,e=>{e&&(l.emit({subNavigationState:e}),R("inner-sidebar-state",e))}),Y(()=>{var e;y.value||(e=k.meta)!=null&&e.ui.noMinifiedSidebar?c.value="closed":c.value="minified"}),U(()=>{var p;a.value=r.value?"opened":"closed";const e=(p=k.name)==null?void 0:p.toString().toLowerCase(),v=document.getElementById(e);v&&setTimeout(()=>{v.scrollIntoView({behavior:"smooth"})},100)}),(e,v)=>{const p=G("router-link");return d(),h(L,null,[s("div",{ref_key:"innerSidebar",ref:$,class:"inner-sidebar-settings pb-safe",style:A({left:o(T),maxWidth:`${o(M).MAXWIDTH}px`,height:`calc(100dvh - ${o(ne).MINHEIGHT}px)`})},[s("div",ve,[(d(!0),h(L,null,ee(o(n),(i,f)=>{var D;return d(),V(p,{id:(D=i.name)==null?void 0:D.toString().toLowerCase(),key:f,class:"navigation-inner",to:i.path,style:A({"border-bottom":f!==o(n).length-1?"1px solid var(--border)":void 0})},{default:g(()=>{var W,H,X;return[s("div",_e,[x(de,{size:((W=i.meta)==null?void 0:W.navigation.iconSize)||"20",class:"navigation-icon"},{default:g(()=>{var E;return[te(C((E=i.meta)==null?void 0:E.navigation.icon),1)]}),_:2},1032,["size"]),s("div",be,[s("b",he,C(e.$t(`navigation.${(H=i.meta)==null?void 0:H.name}`)),1),o(b)?(d(),h("p",ge,C(e.$t(`navigation_description.${(X=i.meta)==null?void 0:X.description}`)),1)):N("",!0)])])]}),_:2},1032,["id","to","style"])}),128))])],4),x(J,{name:"overlay-fade",mode:"in-out"},{default:g(()=>[o(a)==="overlay"?(d(),h("div",xe)):N("",!0)]),_:1})],64)}}}),ye=P(Se,[["__scopeId","data-v-7a51011d"]]),ke={class:"w-full h-full flex flex-row"},we={class:"flex flex-row items-center"},Ie=q({__name:"Settings",setup(m){const S=Q(),r=re(),{desktopActive:y,smallMobileActive:k}=K(),l=u(),R=u(null),w=u(null),n=u(!1),I=u(0),b=oe(F.find(t=>t.name==="Settings").children.filter(t=>j(t))),$=B(()=>F.find(t=>t.name==="Settings").children.filter(t=>j(t))),{isSwiping:a,direction:c}=ue(w),T=B(()=>{let t="0px";switch(l.value){case"closed":case"overlay":t="0px";break;case"opened":t=`${M.MAXWIDTH}px`;break}return`padding-left: ${t}`});return _([a,c],()=>{if(a.value){const t=b.findIndex(e=>e.path===S.path.split("/settings/")[1]);switch(c.value){case"right":{const e=b[t-1];e&&r.push({path:e.path})}break;case"left":{const e=b[t+1];e&&r.push({path:e.path})}break}}}),_(l,()=>{n.value=l.value!=="closed"}),_(S,()=>{y.value||(n.value=!1)},{deep:!0}),(t,e)=>{var i;const v=ye,p=G("router-view");return d(),h("main",ke,[x(v,{description:"",state:o(n),routes:o($),onInnerSidebarState:e[0]||(e[0]=f=>l.value=f)},null,8,["state","routes"]),s("div",{class:"router-container",style:A(`transition: 0.2s all ease-in-out;${o(T)};`)},[s("div",{ref_key:"routerContainer",ref:R,class:"router-container-inner h-full w-full flex flex-col"},[s("div",we,[o(y)?N("",!0):(d(),V(pe,{key:0,ref:"innerSidebarButton",density:"compact",icon:o(n)?o(fe):o(me),class:z(["no-outside",{"ml-2":o(k)}]),elevation:"0",style:{border:"1px solid rgba(var(--border-rgb), 0.75)"},onClick:e[1]||(e[1]=ae(f=>n.value=!o(n),["prevent"]))},null,8,["icon","class"])),s("h1",{class:z(["page-title text-color",{"mx-3":o(l)!=="opened"}])},C(t.$t(`views.settings.title_${(i=t.$route.meta)==null?void 0:i.name}`)),3)]),s("div",{ref_key:"subviewContainer",ref:w,class:"h-full"},[x(p,{class:"mt-10 pb-5",style:{height:"calc(100% - 40px)"}},{default:g(({Component:f})=>[x(J,{name:"fade",mode:"out-in"},{default:g(()=>[(d(),V(se(f),{key:o(I)}))]),_:2},1024)]),_:1})],512)],512)],4)])}}}),et=P(Ie,[["__scopeId","data-v-838a0f39"]]);export{et as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{z as se,f as ne,s as ae,Y as le,y as ie,w as re}from"./main.D-udRFe6.0.0.13.js";import{F as ue,r as a,c as L,w as R,U as de,e as u,f,O as Q,u as o,M as l,l as me,ae as ce,j as n,T as i,g as pe,R as v,q as F,i as $,V as P}from"./@vue.CIFymae3.0.0.13.js";import{S as ve,r as fe}from"./system.CJsZbAvb.0.0.13.js";import{V as ge}from"./VConsole.B_ucNfW8.0.0.13.js";import{s as O}from"./utils.BvINh1mj.0.0.13.js";import{av as _e}from"./@mdi.jq8isxax.0.0.13.js";import{c as ye}from"./compare-versions.DqEOhma6.0.0.13.js";import{T as Ve,b as W,V as q,e as we,y as be}from"./vuetify.BenoxTsr.0.0.13.js";import"./vue-inline-svg.va799EvK.0.0.13.js";import"./vue3-toastify.CudLrsQ6.0.0.13.js";import"./vue-i18n.DryJT-yG.0.0.13.js";import"./@intlify.YW_pt133.0.0.13.js";import"./axios.BI2i94Vb.0.0.13.js";import"./@tanstack.rNNqDXib.0.0.13.js";import"./pinia.Bga1JTi8.0.0.13.js";import"./vue-router.DqihDWFz.0.0.13.js";import"./@vueuse.RXnPbHnz.0.0.13.js";import"./nprogress.BFdCzr-7.0.0.13.js";import"./@xterm.hsdrI-pt.0.0.13.js";import"./vee-validate.D2wCUJfh.0.0.13.js";import"./@vee-validate.CMWfUAIL.0.0.13.js";import"./zod.BaF2dDCd.0.0.13.js";import"./uuid.DvF23Exx.0.0.13.js";import"./socket.io-client.C_MSFRzn.0.0.13.js";import"./engine.io-client.jWnV_OQN.0.0.13.js";import"./engine.io-parser.BiEtp6m2.0.0.13.js";import"./@socket.io.Dkula2eQ.0.0.13.js";import"./socket.io-parser.DoUhVOYo.0.0.13.js";import"./rxjs.CmasQk-X.0.0.13.js";import"./tslib.9k7AwCpt.0.0.13.js";import"./v-calendar.CxnDxlOi.0.0.13.js";import"./@popperjs.BQBsAJpH.0.0.13.js";const ke={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},he={class:"subview-title text-color"},$e={class:"inner-component p-4"},xe={class:"flex"},Ce={class:"text-sm"},Se={class:"text-sm ml-auto text-right"},Te={key:1},Ue=n("div",{class:"my-8"},null,-1),Le={class:"flex items-center justify-center"},Re={key:0,class:"flex flex-row items-center"},Ie={class:"text-disabled"},Me={key:1,class:"flex flex-col items-center justify-center"},Ne={class:"text-disabled mb-3"},Qe={key:2,class:"text-disabled"},Be=n("div",{class:"p-5"},[n("span",null,"WIP: Release Notes")],-1),je={class:"p-5 flex w-full items-center justify-center"},ze={class:"v-label"},yt=ue({__name:"System",setup(Ae){const E=new le,B=new ve,Y=se(),{smallMobileActive:j}=ne(),{isTouch:G}=ae(),m=a(!1),g=a(!1),_=a(!1),x=a(""),I=a(!1),y=a(null),c=a(),V=a(!1),d=a(""),w=a(!1),b=a(""),H=L(()=>S.value||I.value),J=L(()=>({fontSize:j.value?12:14})),z=L(()=>k.value&&d.value?ye(d.value,k.value.version)===1:!1),K=L(()=>{var e;return((e=M.value)==null?void 0:e.versions.toReversed())||[]}),{data:k,isLoading:X}=E.apiInfoQuery(),{data:M,isLoading:C}=B.checkVersionQuery(),{mutateAsync:A,isPending:S}=B.updateSystemQuery();R(k,()=>{var e,t;x.value=((e=k.value)==null?void 0:e.version)||"",b.value=((t=k.value)==null?void 0:t.version)||""},{deep:!0,immediate:!0}),R(M,()=>{var e;d.value=((e=M.value)==null?void 0:e["dist-tags"].alpha)||""},{deep:!0,immediate:!0}),R(m,e=>{N(e),!e&&!V.value&&setTimeout(()=>{_.value=!0},300)}),R(j,()=>{Z()});const N=e=>{var t,T,p,s,U,D;e?(c.value=Y.connectToNamespace("/logs"),(t=c.value)==null||t.socket.on("stdout/@camera.ui/server",r=>{var h;(h=y.value)==null||h.writeTerminal(r)}),(T=c.value)==null||T.socket.on("stdout",r=>{var h;(h=y.value)==null||h.writeTerminal(r)}),(p=c.value)==null||p.socket.on("disconnect",()=>{var r;(r=y.value)==null||r.writeTerminal(`
|
|
2
|
+
\rWebsocket failed to connect! Is the server running?
|
|
3
|
+
\r
|
|
4
|
+
\r`)}),(s=c.value)==null||s.socket.on("clear-log",()=>{var r;(r=y.value)==null||r.clearTerminal()})):(D=(U=c.value)==null?void 0:U.end)==null||D.call(U)},Z=()=>{m.value&&(N(!1),N(!0))},ee=async()=>{if(g.value=!1,V.value=!1,!(!z.value||!d.value)){await O(300),m.value=!0;try{await A({pluginData:{pluginname:"@camera.ui/server",pluginversion:d.value}}),x.value=d.value}catch{V.value=!0}}},te=async e=>{w.value=!1,V.value=!1,await O(300),m.value=!0;try{await A({pluginData:{pluginname:"@camera.ui/server",pluginversion:e}}),x.value=e}catch{V.value=!0}},oe=async()=>{_.value=!1,I.value=!0,await fe()};return de(()=>{var e,t;(t=(e=c.value)==null?void 0:e.end)==null||t.call(e)}),(e,t)=>{const T=ie,p=re;return u(),f("div",null,[(u(),Q(ce,{to:".app"},[o(I)?(u(),f("div",ke,[l(T,{reload:""})])):me("",!0)])),n("div",null,[n("span",he,i(e.$t("views.settings.current_version")),1),n("div",$e,[n("div",xe,[n("span",Ce,i(e.$t("views.settings.current_version_info")),1),n("span",Se,[o(X)?(u(),Q(q,{key:0,color:"#df2a4c",indeterminate:""})):(u(),f("span",Te,[n("b",null,i(o(x)),1)])),pe((u(),Q(W,{density:"compact",loading:o(S),icon:"",variant:"text",class:"ml-2",onClick:t[0]||(t[0]=F(s=>w.value=!0,["prevent"]))},{default:v(()=>[l(we,{size:"20",class:"text-passive"},{default:v(()=>[P(i(o(_e)),1)]),_:1})]),_:1},8,["loading"])),[[Ve,{disabled:o(G),text:e.$t("components.form.tooltip.restart")}]])])])]),Ue,n("div",Le,[o(C)?(u(),f("div",Re,[l(q,{color:"#df2a4c",indeterminate:"",class:"mr-3",size:"15",width:"2"}),n("span",Ie,i(e.$t("views.settings.searching_updates")),1)])):o(z)?(u(),f("div",Me,[n("span",Ne,i(e.$t("views.settings.available_updates_info")),1),l(W,{loading:o(S),color:"#df2a4c",onClick:t[1]||(t[1]=F(s=>g.value=!0,["prevent"]))},{default:v(()=>[P("v"+i(o(d)),1)]),_:1},8,["loading"])])):(u(),f("span",Qe,i(e.$t("views.settings.not_available_updates_info")),1))])]),l(p,{modelValue:o(g),"onUpdate:modelValue":t[2]||(t[2]=s=>$(g)?g.value=s:null),title:`${e.$t("components.dialog.title.update")}: ${o(d)}`,"fullscreen-content":"",loading:o(S),"confirm-text":"components.form.button.update",onConfirm:ee},{content:v(()=>[Be]),_:1},8,["modelValue","title","loading"]),l(p,{modelValue:o(m),"onUpdate:modelValue":t[3]||(t[3]=s=>$(m)?m.value=s:null),title:e.$t("components.dialog.title.log"),"fullscreen-content":"","hide-confirm-button":""},{content:v(()=>[l(ge,{ref_key:"consoleRef",ref:y,class:"text-editor",options:o(J)},null,8,["options"])]),_:1},8,["modelValue","title"]),l(p,{modelValue:o(_),"onUpdate:modelValue":t[4]||(t[4]=s=>$(_)?_.value=s:null),title:e.$t("components.dialog.title.restart"),"confirm-text":"components.form.button.restart",loading:o(H),onConfirm:t[5]||(t[5]=s=>oe())},{content:v(()=>[n("div",je,[n("span",null,i(e.$t("components.dialog.message.restart_server_info")),1)])]),_:1},8,["modelValue","title","loading"]),l(p,{modelValue:o(w),"onUpdate:modelValue":t[7]||(t[7]=s=>$(w)?w.value=s:null),title:e.$t("components.dialog.title.install_version"),"confirm-text":"components.form.button.install",loading:o(C),onConfirm:t[8]||(t[8]=s=>te(o(b)))},{content:v(()=>[n("label",ze,i(e.$t("components.form.label.server_version")),1),l(be,{modelValue:o(b),"onUpdate:modelValue":t[6]||(t[6]=s=>$(b)?b.value=s:null),"hide-details":"",solo:"",variant:"outlined",density:"compact",items:o(K),disabled:o(C),loading:o(C)},null,8,["modelValue","items","disabled","loading"])]),_:1},8,["modelValue","title","loading"])])}}});export{yt as default};
|