@camera.ui/server 0.0.59 → 0.0.61
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/{main.CuA7U3df.0.0.59.css → main.DYKKLRxP.0.0.61.css} +1 -1
- package/dist/interface/index.html +44 -44
- package/dist/interface/js/{@primevue.B74XGlz4.0.0.59.js → @primevue.BCjih5Jf.0.0.61.js} +1 -1
- package/dist/interface/js/{@tanstack.CmhkBmOY.0.0.59.js → @tanstack.D99l6E9D.0.0.61.js} +1 -1
- package/dist/interface/js/{@vee-validate.Pql1j7iK.0.0.59.js → @vee-validate.EIHvDDjD.0.0.61.js} +1 -1
- package/dist/interface/js/{@vueuse.MbjtYQmZ.0.0.59.js → @vueuse.uEhQJBbY.0.0.61.js} +1 -1
- package/dist/interface/js/{Adminpanel.DgxPa7cC.0.0.59.js → Adminpanel.B4jkiwrP.0.0.61.js} +1 -1
- package/dist/interface/js/{Camera.B402UNR2.0.0.59.js → Camera.BkLsxcR-.0.0.61.js} +1 -1
- package/dist/interface/js/{Cameras.Dyir9gg1.0.0.59.js → Cameras.DtEBLp5m.0.0.61.js} +20 -20
- package/dist/interface/js/Cammesh.bGgkO63R.0.0.61.js +1 -0
- package/dist/interface/js/{Camview.3JR8srqY.0.0.59.js → Camview.D-IvXLV3.0.0.61.js} +1 -1
- package/dist/interface/js/{Config.XkULRDWR.0.0.59.js → Config.CtXXT-Do.0.0.61.js} +2 -2
- package/dist/interface/js/{Console.W83jr373.0.0.59.js → Console.DQOt2sIv.0.0.61.js} +1 -1
- package/dist/interface/js/{CuiConsole.CND1i8s8.0.0.59.js → CuiConsole.DeZ-MzML.0.0.61.js} +1 -1
- package/dist/interface/js/{CuiPluginCard.CJOUye4J.0.0.59.js → CuiPluginCard.DezF1f0t.0.0.61.js} +1 -1
- package/dist/interface/js/{CuiTimeline.B3BXMmEx.0.0.59.js → CuiTimeline.D4mj5YgA.0.0.61.js} +1 -1
- package/dist/interface/js/{FirstSteps.5K7O1GAZ.0.0.59.js → FirstSteps.CtklksNa.0.0.61.js} +1 -1
- package/dist/interface/js/{Plugin.C5n1wOvc.0.0.59.js → Plugin.Bl13kRv2.0.0.61.js} +1 -1
- package/dist/interface/js/{Plugins.BrRVAbdG.0.0.59.js → Plugins.DHBlVBB7.0.0.61.js} +1 -1
- package/dist/interface/js/Recordings.BEeLINfz.0.0.61.js +1 -0
- package/dist/interface/js/{Settings.Y_HQYita.0.0.59.js → Settings.Dklbbz5F.0.0.61.js} +1 -1
- package/dist/interface/js/{SettingsAccount.CI8zj-Zp.0.0.59.js → SettingsAccount.D0cjzLwD.0.0.61.js} +1 -1
- package/dist/interface/js/SettingsAppearance.CAQJrg2a.0.0.61.js +1 -0
- package/dist/interface/js/{SettingsAppearance.vue_vue_type_script_setup_true_lang.T86Wmd9I.0.0.59.js → SettingsAppearance.vue_vue_type_script_setup_true_lang.WRd5bDHc.0.0.61.js} +1 -1
- package/dist/interface/js/{SettingsBackup.YnQZKJSH.0.0.59.js → SettingsBackup.B8kGhPQf.0.0.61.js} +1 -1
- package/dist/interface/js/SettingsRecordings.CrN2f7Is.0.0.61.js +1 -0
- package/dist/interface/js/{SettingsRemote.Cd9txrZR.0.0.59.js → SettingsRemote.Cvuc0y3_.0.0.61.js} +1 -1
- package/dist/interface/js/{SettingsSystem.-M-CWxQc.0.0.59.js → SettingsSystem.BZkvJEbH.0.0.61.js} +1 -1
- package/dist/interface/js/{SettingsUsers.CttAtlXd.0.0.59.js → SettingsUsers.Dg0QZnzZ.0.0.61.js} +1 -1
- package/dist/interface/js/{VersionsHandler.vue_vue_type_script_setup_true_lang.DH0uiBR8.0.0.59.js → VersionsHandler.vue_vue_type_script_setup_true_lang.CVqvnFk3.0.0.61.js} +1 -1
- package/dist/interface/js/{ace-builds.ioqWNkDH.0.0.59.js → ace-builds.CcaXDAKP.0.0.61.js} +2 -2
- package/dist/interface/js/{ace.config.c_YyPkWD.0.0.59.js → ace.config.s0d-WgbN.0.0.61.js} +1 -1
- package/dist/interface/js/{backup.D5BdFpxO.0.0.59.js → backup.B23_7BMw.0.0.61.js} +1 -1
- package/dist/interface/js/{chart.js.DaX6hBgw.0.0.59.js → chart.js.Dw6g9QT7.0.0.61.js} +1 -1
- package/dist/interface/js/{close-circle._MYhhzAG.0.0.59.js → close-circle.823JIsO_.0.0.61.js} +1 -1
- package/dist/interface/js/{dnd-core.DMsKrAl-.0.0.59.js → dnd-core.Db-HcoIY.0.0.61.js} +1 -1
- package/dist/interface/js/{draggabilly.B9oSznOL.0.0.59.js → draggabilly.DkQ715sX.0.0.61.js} +1 -1
- package/dist/interface/js/{engine.io-client.BlXqqnuj.0.0.59.js → engine.io-client.DQUYKGS-.0.0.61.js} +1 -1
- package/dist/interface/js/{fast-deep-equal.FBO3y2GY.0.0.59.js → fast-deep-equal.C5fZjIYh.0.0.61.js} +1 -1
- package/dist/interface/js/{highlight.js.cQ_7Ex6r.0.0.59.js → highlight.js.CTb4uGfg.0.0.61.js} +1 -1
- package/dist/interface/js/{linkify-it.BqQkZkf1.0.0.59.js → linkify-it.CkKeZgHJ.0.0.61.js} +1 -1
- package/dist/interface/js/main.CSFn75gu.0.0.61.js +31 -0
- package/dist/interface/js/{markdown-it.B8xTmVBR.0.0.59.js → markdown-it.BEChFoJn.0.0.61.js} +1 -1
- package/dist/interface/js/{nprogress.C28vLvLy.0.0.59.js → nprogress.C6jqyYpl.0.0.61.js} +1 -1
- package/dist/interface/js/{pinia.DwJk4SJ-.0.0.59.js → pinia.Ce2AoJ4B.0.0.61.js} +1 -1
- package/dist/interface/js/{primevue.DbIzNwuR.0.0.59.js → primevue.BQCl5r00.0.0.61.js} +1 -1
- package/dist/interface/js/{qrcode.DixdAggJ.0.0.59.js → qrcode.DX-tYXEz.0.0.61.js} +1 -1
- package/dist/interface/js/{react-dnd-touch-backend.vzY2aEPv.0.0.59.js → react-dnd-touch-backend.BdqRsRh9.0.0.61.js} +1 -1
- package/dist/interface/js/{refresh-rounded.DLGFWUn0.0.0.59.js → refresh-rounded.q0OnYLAP.0.0.61.js} +1 -1
- package/dist/interface/js/{rxjs.DFrQz5Mr.0.0.59.js → rxjs.DhvUQXhg.0.0.61.js} +1 -1
- package/dist/interface/js/{socket.io-client.M9yU1uIE.0.0.59.js → socket.io-client.DEvptqVI.0.0.61.js} +1 -1
- package/dist/interface/js/{socket.io-parser.w7I_ynfs.0.0.59.js → socket.io-parser.B2tx1dXn.0.0.61.js} +1 -1
- package/dist/interface/js/{system.DxdNf12K.0.0.59.js → system.4lHR4EfE.0.0.61.js} +1 -1
- package/dist/interface/js/{trash-fill.DpvFEJ-X.0.0.59.js → trash-fill.BBGj1D_i.0.0.61.js} +1 -1
- package/dist/interface/js/{unidragger.CTTiht5n.0.0.59.js → unidragger.YOf5ngrS.0.0.61.js} +1 -1
- package/dist/interface/js/{vee-validate.Td-CaRMY.0.0.59.js → vee-validate.B28I0c16.0.0.61.js} +1 -1
- package/dist/interface/js/{vue-chartjs.Bc2RfUSm.0.0.59.js → vue-chartjs.D-mURj5c.0.0.61.js} +1 -1
- package/dist/interface/js/{vue-i18n.DEKQrOB4.0.0.59.js → vue-i18n.Bx27003X.0.0.61.js} +1 -1
- package/dist/interface/js/{vue-inline-svg.Bw3375gC.0.0.59.js → vue-inline-svg.BGBQlK38.0.0.61.js} +1 -1
- package/dist/interface/js/{vue-router.BaktRwHe.0.0.59.js → vue-router.WaP3pgu4.0.0.61.js} +1 -1
- package/dist/interface/js/{vue-zoomable.DPOsbt78.0.0.59.js → vue-zoomable.BPwZ2ziD.0.0.61.js} +1 -1
- package/dist/interface/js/{vue3-dnd.12c13v_q.0.0.59.js → vue3-dnd.D3M4so--.0.0.61.js} +1 -1
- package/dist/interface/js/{zoom-out.CapG5H39.0.0.59.js → zoom-out.CbXGHD2f.0.0.61.js} +1 -1
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +5 -5
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +8 -4
- package/dist/server/src/api/database/index.d.ts +1 -1
- package/dist/server/src/api/database/index.js +1 -1
- package/dist/server/src/api/database/migration.js +26 -1
- package/dist/server/src/api/database/migration.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +37 -6
- package/dist/server/src/api/schemas/cameras.schema.js +8 -1
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.js +7 -7
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api.js +3 -3
- package/dist/server/src/api.js.map +1 -1
- package/dist/server/src/camera/controller.js +2 -2
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/index.d.ts +2 -2
- package/dist/server/src/camera/index.js +3 -3
- package/dist/server/src/camera/index.js.map +1 -1
- package/dist/server/src/camera/interfaces.d.ts +2 -2
- package/dist/server/src/camera/interfaces.js +4 -4
- package/dist/server/src/camera/interfaces.js.map +1 -1
- package/dist/server/src/camera/python/interfaces.py +4 -3
- package/dist/server/src/go2rtc/types.d.ts +1 -1
- package/dist/server/src/go2rtc/types.js +2 -0
- package/dist/server/src/go2rtc/types.js.map +1 -1
- package/dist/server/src/manager/deviceManager.js +10 -20
- package/dist/server/src/manager/deviceManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +3 -3
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +13 -4
- package/package.json +5 -5
- package/dist/interface/js/Cammesh.CeRcBXPZ.0.0.59.js +0 -1
- package/dist/interface/js/Recordings.CENwhYx8.0.0.59.js +0 -1
- package/dist/interface/js/SettingsAppearance.qKyWDUrO.0.0.59.js +0 -1
- package/dist/interface/js/SettingsRecordings.DgWGltTw.0.0.59.js +0 -1
- package/dist/interface/js/main.DHd_dMb6.0.0.59.js +0 -31
- /package/dist/interface/assets/{@xterm.DYP7pi_n.0.0.59.css → @xterm.DYP7pi_n.0.0.61.css} +0 -0
- /package/dist/interface/assets/{Adminpanel.BKek2EMH.0.0.59.css → Adminpanel.BKek2EMH.0.0.61.css} +0 -0
- /package/dist/interface/assets/{Cameras.BDWZJqPN.0.0.59.css → Cameras.BDWZJqPN.0.0.61.css} +0 -0
- /package/dist/interface/assets/{Camview.Cvhuou6V.0.0.59.css → Camview.Cvhuou6V.0.0.61.css} +0 -0
- /package/dist/interface/assets/{CuiConsole.DCYyxdVg.0.0.59.css → CuiConsole.DCYyxdVg.0.0.61.css} +0 -0
- /package/dist/interface/assets/{CuiPluginCard.yF8V0SZY.0.0.59.css → CuiPluginCard.yF8V0SZY.0.0.61.css} +0 -0
- /package/dist/interface/assets/{CuiTimeline.BkIwlYtw.0.0.59.css → CuiTimeline.BkIwlYtw.0.0.61.css} +0 -0
- /package/dist/interface/assets/{Plugin.DJElsAn5.0.0.59.css → Plugin.DJElsAn5.0.0.61.css} +0 -0
- /package/dist/interface/assets/{Plugins.BwPlcRrV.0.0.59.css → Plugins.BwPlcRrV.0.0.61.css} +0 -0
- /package/dist/interface/assets/{Settings.CkgfRkQr.0.0.59.css → Settings.CkgfRkQr.0.0.61.css} +0 -0
- /package/dist/interface/assets/{SettingsAccount.CDZT7gN-.0.0.59.css → SettingsAccount.CDZT7gN-.0.0.61.css} +0 -0
- /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.59.css → SettingsBackup.CX0rT0QJ.0.0.61.css} +0 -0
- /package/dist/interface/assets/{highlight.Ch2EwETz.0.0.59.css → highlight.Ch2EwETz.0.0.61.css} +0 -0
- /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.59.png → logo-256.BCQk9H1-.0.0.61.png} +0 -0
- /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.59.png → logo-512.DLKVOU2S.0.0.61.png} +0 -0
- /package/dist/interface/assets/{logo.DmEiRk0z.0.0.59.png → logo.DmEiRk0z.0.0.61.png} +0 -0
- /package/dist/interface/assets/{mode-json.Br7xisR1.0.0.59.js → mode-json.Br7xisR1.0.0.61.js} +0 -0
- /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.59.js → mode-yaml.CIYL8U3d.0.0.61.js} +0 -0
- /package/dist/interface/assets/{worker-base.jEXLGV2h.0.0.59.js → worker-base.jEXLGV2h.0.0.61.js} +0 -0
- /package/dist/interface/assets/{worker-json.DgwNIOck.0.0.59.js → worker-json.DgwNIOck.0.0.61.js} +0 -0
- /package/dist/interface/assets/{worker-yaml.B3uUYINB.0.0.59.js → worker-yaml.B3uUYINB.0.0.61.js} +0 -0
- /package/dist/interface/js/{@babel.l0sNRNKZ.0.0.59.js → @babel.l0sNRNKZ.0.0.61.js} +0 -0
- /package/dist/interface/js/{@intlify.BkGPX90O.0.0.59.js → @intlify.BkGPX90O.0.0.61.js} +0 -0
- /package/dist/interface/js/{@kurkle.D8fDXNIl.0.0.59.js → @kurkle.D8fDXNIl.0.0.61.js} +0 -0
- /package/dist/interface/js/{@primeuix.BkBDkSvZ.0.0.59.js → @primeuix.BkBDkSvZ.0.0.61.js} +0 -0
- /package/dist/interface/js/{@react-dnd.CcwRs9xb.0.0.59.js → @react-dnd.CcwRs9xb.0.0.61.js} +0 -0
- /package/dist/interface/js/{@socket.io.Dkula2eQ.0.0.59.js → @socket.io.Dkula2eQ.0.0.61.js} +0 -0
- /package/dist/interface/js/{@vue.Dh6viqaK.0.0.59.js → @vue.Dh6viqaK.0.0.61.js} +0 -0
- /package/dist/interface/js/{@xterm.IuPb7RlQ.0.0.59.js → @xterm.Cx3O7Ekx.0.0.61.js} +0 -0
- /package/dist/interface/js/{axios.DHr9lByg.0.0.59.js → axios.DHr9lByg.0.0.61.js} +0 -0
- /package/dist/interface/js/{birpc.l0sNRNKZ.0.0.59.js → birpc.l0sNRNKZ.0.0.61.js} +0 -0
- /package/dist/interface/js/{compare-versions.DqEOhma6.0.0.59.js → compare-versions.DqEOhma6.0.0.61.js} +0 -0
- /package/dist/interface/js/{dijkstrajs.C00ieaqj.0.0.59.js → dijkstrajs.C00ieaqj.0.0.61.js} +0 -0
- /package/dist/interface/js/{engine.io-parser.BiEtp6m2.0.0.59.js → engine.io-parser.BiEtp6m2.0.0.61.js} +0 -0
- /package/dist/interface/js/{entities.C20TfXL6.0.0.59.js → entities.C20TfXL6.0.0.61.js} +0 -0
- /package/dist/interface/js/{ev-emitter.X5f1qa-c.0.0.59.js → ev-emitter.X5f1qa-c.0.0.61.js} +0 -0
- /package/dist/interface/js/{get-size.D1dS-IaP.0.0.59.js → get-size.D1dS-IaP.0.0.61.js} +0 -0
- /package/dist/interface/js/{hookable.l0sNRNKZ.0.0.59.js → hookable.l0sNRNKZ.0.0.61.js} +0 -0
- /package/dist/interface/js/{mdurl.k9Sl0PQj.0.0.59.js → mdurl.k9Sl0PQj.0.0.61.js} +0 -0
- /package/dist/interface/js/{perfect-debounce.l0sNRNKZ.0.0.59.js → perfect-debounce.l0sNRNKZ.0.0.61.js} +0 -0
- /package/dist/interface/js/{primelocale.Bga3dOQu.0.0.59.js → primelocale.Bga3dOQu.0.0.61.js} +0 -0
- /package/dist/interface/js/{punycode.js.Dj65hjkv.0.0.59.js → punycode.js.Dj65hjkv.0.0.61.js} +0 -0
- /package/dist/interface/js/{react-dnd-html5-backend.1HQjlkwI.0.0.59.js → react-dnd-html5-backend.1HQjlkwI.0.0.61.js} +0 -0
- /package/dist/interface/js/{redux.BFxtlG_c.0.0.59.js → redux.BFxtlG_c.0.0.61.js} +0 -0
- /package/dist/interface/js/{tslib.9k7AwCpt.0.0.59.js → tslib.9k7AwCpt.0.0.61.js} +0 -0
- /package/dist/interface/js/{uc.micro.kMc2yuuw.0.0.59.js → uc.micro.kMc2yuuw.0.0.61.js} +0 -0
- /package/dist/interface/js/{uuid.C6aID195.0.0.59.js → uuid.C6aID195.0.0.61.js} +0 -0
- /package/dist/interface/js/{vue.l0sNRNKZ.0.0.59.js → vue.l0sNRNKZ.0.0.61.js} +0 -0
- /package/dist/interface/js/{zod.sy4ilHCy.0.0.59.js → zod.sy4ilHCy.0.0.61.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{L as
|
|
1
|
+
import{L as Ue,r as je,l as De,e as qe,m as Fe,b as ke,a as to,M as no,N as ao,c as Ee,f as so,t as ro,u as io,v as co,k as lo,w as uo,p as mo,n as po,j as ho,O as fo}from"./primevue.BQCl5r00.0.0.61.js";import{_ as We,a as _o}from"./refresh-rounded.q0OnYLAP.0.0.61.js";import{e as go,s as vo,_ as bo,f as wo,h as Le,C as Ce,r as ye,d as He,i as ze,j as yo,k as xo,c as Ne,a as Ke,l as ko,m as Co,n as Ye,o as So,p as To,q as $o,t as Ro,B as Po,b as we,v as Ao,S as Io,w as Mo}from"./main.CSFn75gu.0.0.61.js";import{i as Ho}from"./@vueuse.uEhQJBbY.0.0.61.js";import{B as se,t as Ve,ac as de,r as D,k as Q,o as Xe,c as p,d as s,e as a,h as e,X as ue,Z as me,R as o,I as w,i as Qe,y as Je,a7 as jo,F as J,ab as Eo,w as Ze,N as t,f as ne,M as g,L as G,O as _,m as X,V as N,P as xe,H as Be,$ as Lo,a1 as Vo,W as Ie}from"./@vue.Dh6viqaK.0.0.61.js";import{_ as Go}from"./CuiConsole.DeZ-MzML.0.0.61.js";import{F as eo,a as F,E as K}from"./vee-validate.B28I0c16.0.0.61.js";import{u as Ge}from"./vue-i18n.Bx27003X.0.0.61.js";import{s as Bo}from"./pinia.Ce2AoJ4B.0.0.61.js";import"./@primeuix.BkBDkSvZ.0.0.61.js";import"./@primevue.BCjih5Jf.0.0.61.js";import"./@tanstack.D99l6E9D.0.0.61.js";import"./axios.DHr9lByg.0.0.61.js";import"./vue-router.WaP3pgu4.0.0.61.js";import"./vue-inline-svg.BGBQlK38.0.0.61.js";import"./@vee-validate.EIHvDDjD.0.0.61.js";import"./zod.sy4ilHCy.0.0.61.js";import"./uuid.C6aID195.0.0.61.js";import"./socket.io-client.DEvptqVI.0.0.61.js";import"./engine.io-client.DQUYKGS-.0.0.61.js";import"./engine.io-parser.BiEtp6m2.0.0.61.js";import"./@socket.io.Dkula2eQ.0.0.61.js";import"./socket.io-parser.B2tx1dXn.0.0.61.js";import"./rxjs.DhvUQXhg.0.0.61.js";import"./tslib.9k7AwCpt.0.0.61.js";import"./highlight.js.CTb4uGfg.0.0.61.js";import"./@xterm.Cx3O7Ekx.0.0.61.js";import"./markdown-it.BEChFoJn.0.0.61.js";import"./mdurl.k9Sl0PQj.0.0.61.js";import"./uc.micro.kMc2yuuw.0.0.61.js";import"./entities.C20TfXL6.0.0.61.js";import"./linkify-it.CkKeZgHJ.0.0.61.js";import"./punycode.js.Dj65hjkv.0.0.61.js";import"./qrcode.DX-tYXEz.0.0.61.js";import"./dijkstrajs.C00ieaqj.0.0.61.js";import"./draggabilly.DkQ715sX.0.0.61.js";import"./get-size.D1dS-IaP.0.0.61.js";import"./unidragger.YOf5ngrS.0.0.61.js";import"./ev-emitter.X5f1qa-c.0.0.61.js";import"./vue-zoomable.BPwZ2ziD.0.0.61.js";import"./primelocale.Bga3dOQu.0.0.61.js";import"./nprogress.C6jqyYpl.0.0.61.js";import"./@intlify.BkGPX90O.0.0.61.js";const Oe=["bubble://","cui://","doorbird://","dvrip://","echo:","eseecloud://","exec:","expr:","ffmpeg:","flussonic://","gopro://","hass:","homekit://","http://","https://","httpx://","isapi://","ivideon:","kasa://","nest:","onvif://","ring:","roborock://","rtmp://","rtsp://","rtspx://","tapo://","tcp://","tuya://","webrtc:","webtorrent:"],Oo=["#backchannel=","#header=","#media=audio","#media=video","#timeout=10","#timeout=20","#timeout=30","#transport="],Me=["#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="],Uo=["client_id=","client_private=","device_id=","device_public="],Do=["#header="],qo=["client_id=","client_secret=","refresh_token=","project_id=","device_id="],Fo=["device_id=","refresh_token="],Wo=["#client_id=","#format=openipc","#format=wyze","#format=kinesis","#ice_servers="],zo={class:"relative h-[165px]"},No={key:0,class:"flex w-full h-full"},Ko={class:"flex w-full items-center justify-center mt-[5px]"},Yo={key:1,class:"flex w-full h-full"},Xo=["onClick"],Qo={class:"w-full text-center"},Jo={class:"text-xs text-muted"},Zo=se({__name:"CuiCameraEvents",props:{cameraId:{}},setup(T){const{isTouch:c}=go(),j=T,{cameraId:E}=Ve(j),R=de("scrollContainerRef"),B=D(!0);let P,$=!1;const L=Array.from({length:50},(m,C)=>({id:C.toString(),camera:"Kamera "+(C%5+1),title:"Event "+(C+1),type:"motion",image:"test",timestamp:Date.now()-C*6e4})),M=Q(()=>E.value?L.filter(m=>m.camera===E.value):L),O=()=>{Ho(R,{disableTextSelect:!0,threshold:10,onSwipe:m=>{var C,H;(C=R.value)==null||C.classList.add("cursor-grabbing"),$=!0,(H=R.value)==null||H.scrollBy({left:-m.movementX,behavior:"smooth"})},onSwipeEnd:()=>{var m;(m=R.value)==null||m.classList.remove("cursor-grabbing"),clearTimeout(P),P=setTimeout(()=>{$=!1},10)}})},b=m=>new Date(m).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"}),y=m=>{$||console.log(m)};return Xe(async()=>{await vo(1500),B.value=!1,c.value||O()}),(m,C)=>{const H=Ue,u=bo;return s(),p("div",zo,[a("div",{ref_key:"scrollContainerRef",ref:R,class:"w-full max-w-full overflow-x-auto overflow-y-hidden snap-x snap-mandatory hide-scrollbar"},[e(B)?(s(),p("div",No,[(s(),p(ue,null,me(50,S=>a("div",{key:S,class:"flex-none w-[140px] mr-3 snap-start"},[o(H,{width:"140px",height:"140px"}),a("div",Ko,[o(H,{width:"40px",height:"12px"})])])),64))])):(s(),p("div",Yo,[(s(!0),p(ue,null,me(e(M),S=>(s(),p("div",{key:S.id,class:"flex-none w-[140px] mr-3 snap-start"},[a("div",{class:"bg-neutral-900 rounded overflow-hidden cursor-pointer w-[140px] h-[140px]",onClick:f=>y(S)},[o(u,{src:S.image,class:"pointer-events-none w-full h-full",cover:"",alt:"Event Vorschau",width:"140px",height:"140px","image-container-class":"w-full h-full"},null,8,["src"])],8,Xo),a("div",Qo,[a("span",Jo,w(b(S.timestamp)),1)])]))),128))]))],512),C[0]||(C[0]=a("div",{class:"absolute -top-[3px] right-0 w-10 h-[171px] pointer-events-none",style:{background:"linear-gradient(to right, transparent, var(--ground-background))"}},null,-1))])}}}),et=se({__name:"CameraConsole",props:{cameraName:{}},setup(T,{expose:c}){const j=new Ce,E=wo(),{mdBreakpoint:R}=Le(),B=Qe("dialogRefProps"),P=T,{cameraName:$}=Ve(P),L=de("consoleRef"),M=Je(),{data:O,isFetching:b,suspense:y}=j.downloadLogQuery($),m=Q(()=>{var u;return!!((u=B.loading)!=null&&u.value||b.value)}),C=Q(()=>({fontSize:R.value?12:14})),H=async()=>{try{if(j.toggleQueryActivator("downloadLogQuery",!0),await y(),O.value){const u=O.value,S=window.URL.createObjectURL(new Blob([u])),f=document.createElement("a");f.href=S,f.setAttribute("download",`camera.ui.${$.value}.log.txt`),document.body.appendChild(f),f.click(),f.remove()}}finally{j.toggleQueryActivator("downloadLogQuery",!1)}};return Xe(()=>{var u,S,f,W,oe;M.value=E.connectToNamespace("/logs"),(u=M.value)==null||u.socket.on(`stdout/${$.value}`,A=>{var Z;(Z=L.value)==null||Z.writeTerminal(A)}),(S=M.value)==null||S.socket.on("stdout",A=>{var Z;(Z=L.value)==null||Z.writeTerminal(A)}),(f=M.value)==null||f.socket.on("disconnect",()=>{var A;(A=L.value)==null||A.writeTerminal(`\r
|
|
2
2
|
Websocket failed to connect! Is the server running?\r
|
|
3
3
|
\r
|
|
4
|
-
`)}),(W=M.value)==null||W.socket.on("clear-log",()=>{var A;(A=L.value)==null||A.clearTerminal()}),(oe=M.value)==null||oe.socket.emit("get-camera-log",T.value,{sinceLastStart:!0})}),Eo(()=>{var u,S;(S=(u=M.value)==null?void 0:u.end)==null||S.call(u)}),i({isLoading:m,onConfirm:H}),(u,S)=>{const f=Bo;return s(),p("div",null,[o(f,{ref_key:"consoleRef",ref:L,options:e(C),class:"bg-black !w-full"},null,8,["options"])])}}}),ot={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"},tt=["id"],nt=["mask"];function at($,i){return s(),p("svg",ot,[n("defs",null,[n("mask",{id:$.idMap.ipSGopro0},i[0]||(i[0]=[jo('<g fill="none"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M5 7h13v34H5z"></path><rect width="19" height="22" x="24" y="13" fill="#fff" stroke="#fff" stroke-width="4" rx="3"></rect><circle cx="33.5" cy="24.5" r="3.5" fill="#000" stroke="#000" stroke-width="4"></circle><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M18 24h6"></path><rect width="5" height="5" x="9" y="15" fill="#fff" rx="2.5"></rect></g>',1)]),8,tt)]),n("path",{fill:"currentColor",d:"M0 0h48v48H0z",mask:"url(#"+$.idMap.ipSGopro0+")"},null,8,nt)])}const st=X({name:"icon-park-solid-gopro",render:at,setup(){return{idMap:{ipSGopro0:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),rt={viewBox:"0 0 256 295",width:"1.05em",height:"1.2em"};function it($,i){return s(),p("svg",rt,i[0]||(i[0]=[n("path",{fill:"#EB324B",d:"M125.331 293.51c-3.118-1.658-121.475-70.037-122.633-70.849c-2.463-1.729-2.297 3.704-2.297-75.23c0-78.936-.166-73.502 2.297-75.232c.61-.427 28.67-16.687 62.355-36.133C107.32 11.668 126.75.658 127.751.54c1.811-.214-4.43-3.711 67.33 37.72c42.38 24.468 59.226 34.391 59.85 35.255l.869 1.202v145.427l-.869 1.202c-.624.864-17.465 10.784-59.851 35.255c-67.06 38.716-65.522 37.846-66.92 37.853c-.573.004-1.846-.421-2.829-.944"},null,-1),n("path",{fill:"#333943",d:"M126.397 275.238c-.44-.188-24.952-14.3-54.47-31.361c-34.351-19.855-53.962-31.413-54.485-32.113c-.813-1.09-.816-1.326-.816-64.334c0-63.047.002-63.243.818-64.335c.525-.703 20.06-12.217 54.485-32.112c29.517-17.06 54.116-31.194 54.665-31.411s1.553-.29 2.232-.163c.967.181 104.484 59.604 108.805 62.458c.584.386 1.247 1.188 1.475 1.783c.276.722.456 22.028.54 64.05l.129 62.968l-.839 1.132c-.553.747-12.01 7.575-33.653 20.056c-81.042 46.735-75.862 43.807-77.41 43.75c-.37-.015-1.035-.18-1.476-.368m2.77-69.648c1.108-2.144 5.303-7.487 8.675-11.05c1.858-1.962 8.967-8.558 15.798-14.658c15.764-14.076 20.858-19.385 26.141-27.244c6.775-10.078 10.003-22.102 8.497-31.649c-1.65-10.458-8.018-19.169-17.411-23.816c-4.05-2.004-6.983-2.692-12.42-2.914c-3.993-.163-5.418-.051-8.413.66c-8.679 2.059-16.207 7.752-20.303 15.353c-.683 1.267-1.394 2.304-1.58 2.304s-.785-.883-1.332-1.962c-1.429-2.82-5.446-7.664-7.916-9.544c-6.925-5.274-12.884-7.18-21.304-6.817c-5.447.235-8.748 1.08-13.113 3.36c-7.469 3.9-13.574 11.516-15.849 19.77c-.893 3.24-.993 13.34-.169 17.027c1.92 8.59 6.36 17.046 13.251 25.24c3.87 4.6 11.215 11.695 22.243 21.481c13.554 12.028 18.433 17.105 22.404 23.312c.802 1.254 1.628 2.28 1.836 2.28s.642-.51.964-1.133"},null,-1),n("path",{fill:"#252A32",d:"M151.605 228.562c-12.322-11.157-22.463-20.551-22.536-20.877c-.146-.653 1.673-3.682 4.067-6.771c3.656-4.717 8.413-9.417 20.1-19.861c19.503-17.427 24.871-23.372 30.363-33.623c3.733-6.968 5.5-13.982 5.49-21.786c-.007-5.914-.768-9.263-3.275-14.435c-.632-1.303-1.099-2.488-1.037-2.635c.113-.268 52.387 48.13 53.696 49.715c.651.788.7 2.65.699 26.344c-.002 23.55-.056 25.582-.701 26.626c-.512.829-9.06 5.96-31.948 19.182c-17.187 9.928-31.534 18.13-31.882 18.228c-.41.115-8.524-6.968-23.036-20.107"},null,-1)]))}const ct=X({name:"logos-webtorrent",render:it}),lt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100"},dt=["id"],ut=["id"],mt=["fill","mask"],pt=se({__name:"CuiOnvifIcon",setup($){const i=F(ye(10)),E=F(ye(10));return(j,R)=>(s(),p("svg",lt,[n("defs",null,[n("linearGradient",{id:e(i),x1:"0%",y1:"0%",x2:"100%",y2:"100%"},R[0]||(R[0]=[n("stop",{offset:"0%",style:{"stop-color":"#29abe2"}},null,-1),n("stop",{offset:"100%",style:{"stop-color":"#4f2d7f"}},null,-1)]),8,dt),n("mask",{id:e(E)},R[1]||(R[1]=[n("rect",{width:"100%",height:"100%",fill:"white"},null,-1),n("circle",{cx:"54",cy:"46",r:"32",fill:"black"},null,-1)]),8,ut)]),n("circle",{cx:"50",cy:"50",r:"40",fill:`url(#${e(i)})`,mask:`url(#${e(E)})`},null,8,mt)]))}}),ht={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function ft($,i){return s(),p("svg",ht,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M201.459 35.184L93.114 161.545v53.47L254.041 30.733L512 8.902L133.866 406.659l49.874 2.877l274.62-283.015v268.646l-30.716 28.864l78.027 4.612v74.455l-243.583-20.63l123.746-120.395v-59.74L209.185 478L0 460.29L336.764 93.876l-55.874 3.3L37.697 366.981V137.742l22.881-27.544l-56.254 3.326V51.871z"},null,-1)]))}const gt=X({name:"file-icons-ffmpeg",render:ft}),_t={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vt($,i){return s(),p("svg",_t,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M11.971.302a.72.72 0 0 0-.444.155L.984 8.82a.7.7 0 0 0-.139.146c.11-.156.037-.046-.048.015c-.084.06-.2.136-.313.22a2 2 0 0 0-.178.141c-.064.057-.143.098-.24.32a.76.76 0 0 0-.026.549c.08.233.277.384.405.441c.253.114.353.079.463.071c.399.022.737-.019.922 0c.077.009.087.017.097.02c.032 3.58.004 7.167.014 10.76a1 1 0 0 0 .014.14c0-.002-.027.367-.033.764c-.003.199-.009.43.137.721c.147.29.565.551.909.559h14.717c1.148-.035 2.39.083 3.686-.07a.717.717 0 0 0 .632-.712v-1.493a2.7 2.7 0 0 0 0-.514v-.025c-.007-2.132-.002-4.268 0-6.406v-1.993l-.002.054c.059-.776-.031-1.39.053-1.803c.041-.01.1-.013.216-.014c.24-.002.601.065 1.055.008l.072-.013a.74.74 0 0 0 .33-.16a.83.83 0 0 0 .27-.524c.027-.383-.132-.498-.202-.58c-.14-.164-.237-.22-.344-.297c-.106-.078-.213-.15-.291-.207c-.08-.058-.143-.133-.076-.05a1 1 0 0 0-.064-.07c-.351-.334-.713-.553-.974-.76c-.23-.18-.358-.33-.434-.497V4.802a1.5 1.5 0 0 0 .023-.493a1.1 1.1 0 0 0-.344-.65c-.344-.297-.711-.293-1.036-.24c-.247-.027-.551.012-.779.23c-.294.28-.29.573-.291.748c-.002.174.017.304.026.398c.008.093-.009.152.012.066a.7.7 0 0 0-.007.313c.034.168-.022.475-.074.583l-.008-.004L12.416.456a.72.72 0 0 0-.445-.154m-.05 2.058c.18-.001.368.043.537.124c2.047 1.552 4.053 3.19 6.103 4.79l-.037-.031c.498.445 1.033.776 1.411 1.115c.375.336.575.614.615 1.025c.007.563.003 1.127.006 1.69q-.017.385.003.716c.004.891.012 1.781.01 2.673v6.867a1.2 1.2 0 0 1-.157.468c-.136.215-.272.314-.523.318c-5.108.018-10.22.003-15.332.008a1 1 0 0 0-.115.009a1.08 1.08 0 0 1-.758-.175c-.2-.143-.305-.31-.303-.562v-.008c-.016-3.27-.002-6.545-.007-9.822l-.002.05c.047-.678-.027-1.31-.004-1.836c.022-.51.11-.872.378-1.183c2.52-2.058 5.115-4.05 7.68-6.093a.84.84 0 0 1 .495-.143m.053 3.088a.72.72 0 0 0-.445.153L7.586 8.706l-.047.04c-.318.3-1.048.59-1.515 1.39a.7.7 0 0 0-.098.354c-.027 2.82-.004 5.633-.012 8.44a.717.717 0 0 0 .717.717h10.682a.717.717 0 0 0 .717-.716v-3.438c-.025-1.683.053-3.415-.042-5.166a.72.72 0 0 0-.26-.514c-.222-.184-.45-.358-.673-.539c-.06-.052-.118-.108-.177-.155c-.124-.102-.24-.184-.358-.272c-.64-.512-1.278-1.026-1.921-1.53q-.314-.253-.644-.505c-.513-.402-1.029-.803-1.536-1.208a.72.72 0 0 0-.445-.156m.016 1.89a.9.9 0 0 1 .325.06c.858.563 1.673 1.31 2.598 2.006l-.06-.05c.297.28.591.486.856.68l.356.283c.218.19.368.365.438.562c.063 1.936.01 3.9.029 5.886v.037c.023.358.006.751-.068.975c-.069.207-.078.248-.27.284c-2.468.053-4.956.008-7.458.023l-.041.002c-.365.023-.765.005-.985-.071c-.211-.073-.244-.069-.275-.297c-.05-1.596-.008-3.22-.023-4.863l-.002.063c.079-.997-.077-1.768.13-2.264c.794-.76 1.788-1.412 2.753-2.206l-.068.05c.436-.281.76-.606 1.047-.827c.284-.217.491-.321.718-.333M.84 9.283c.005 0 .025.009.03.01H.82c-.008 0-.007-.01.022-.01m11.131.79a.7.7 0 0 0-.43.143l-1.824 1.368a.72.72 0 0 0-.286.573v3.191a.717.717 0 0 0 .729.717L13.809 16a.717.717 0 0 0 .703-.717v-3.126a.72.72 0 0 0-.286-.573l-1.824-1.368a.7.7 0 0 0-.43-.144m-10.677.31c-.02.022-.03.023-.03.023zm10.679 1.446c.353.166.668.434.976.782c.107.485.045 1.12.048 1.86c-.006-.002-.022-.012-.088.005c-.141.037-.442.037-.748.026l.02.001c-.455-.029-.856.022-1.078-.007a.5.5 0 0 1-.157-.042l-.002-.006c-.004-.705-.052-1.323.045-1.81c.346-.349.682-.655.984-.809m1.036 2.57c-.012.062-.002.073-.006.072z"},null,-1)]))}const bt=X({name:"cbi-homekit",render:vt}),wt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function yt($,i){return s(),p("svg",wt,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M22.939 10.627L13.061.749a1.505 1.505 0 0 0-2.121 0l-9.879 9.878C.478 11.21 0 12.363 0 13.187v9c0 .826.675 1.5 1.5 1.5h9.227l-4.063-4.062a2 2 0 0 1-.664.113c-1.13 0-2.05-.92-2.05-2.05s.92-2.05 2.05-2.05s2.05.92 2.05 2.05c0 .233-.041.456-.113.665l3.163 3.163V9.928a2.05 2.05 0 0 1-1.15-1.84c0-1.13.92-2.05 2.05-2.05s2.05.92 2.05 2.05a2.05 2.05 0 0 1-1.15 1.84v8.127l3.146-3.146A2.05 2.05 0 0 1 18 12.239c1.13 0 2.05.92 2.05 2.05s-.92 2.05-2.05 2.05a2 2 0 0 1-.709-.13L12.9 20.602v3.088h9.6c.825 0 1.5-.675 1.5-1.5v-9c0-.825-.477-1.977-1.061-2.561z"},null,-1)]))}const xt=X({name:"simple-icons-homeassistant",render:yt}),kt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ct($,i){return s(),p("svg",kt,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M12 2C7.342 2 3.44 5.19 2.328 9.5h6.733A3.01 3.01 0 0 1 12 7.1a3.01 3.01 0 0 1 2.94 2.4h6.732C20.56 5.19 16.658 2 12 2m0 6.1c-1.11 0-2 .89-2 2s.89 2 2 2s2-.89 2-2s-.89-2-2-2m-9.875 2.4C2.051 10.99 2 11.489 2 12q.005.877.162 1.74l2.535-.451c.465 2.165 1.752 4.026 3.553 5.139a7.1 7.1 0 0 0 7.5 0c1.802-1.113 3.089-2.976 3.553-5.14l2.543.452A10 10 0 0 0 22 12c0-.511-.05-1.01-.125-1.5h-6.916c-.199 1.462-1.445 2.6-2.959 2.6s-2.76-1.138-2.959-2.6zm17.846 4.43a8.5 8.5 0 0 1-7.97 5.57a8.5 8.5 0 0 1-7.971-5.568l-1.495.267A10 10 0 0 0 12 22a10 10 0 0 0 9.463-6.803z"},null,-1)]))}const St=X({name:"cbi-roborock",render:Ct}),$t={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Tt($,i){return s(),p("svg",$t,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M24 16.375a3.05 3.05 0 0 1-.246 1.231a3.1 3.1 0 0 1-1.672 1.66a3.1 3.1 0 0 1-1.225.247a3.7 3.7 0 0 1-.71-.073a4 4 0 0 1-.739-.218a3.2 3.2 0 0 1-.676-.37a2 2 0 0 1-.507-.515a.46.46 0 0 1-.08-.275a.44.44 0 0 1 .152-.346a.5.5 0 0 1 .346-.138a.6.6 0 0 1 .201.04a.4.4 0 0 1 .186.17a.05.05 0 0 0 .016.032l.064.065a1.8 1.8 0 0 0 .798.507a3 3 0 0 0 .943.154a2.1 2.1 0 0 0 .846-.17a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .176-.841v-1.109a3.1 3.1 0 0 1-.985.637a3.1 3.1 0 0 1-1.193.234a3.05 3.05 0 0 1-1.231-.246a3.14 3.14 0 0 1-1.66-1.66a3 3 0 0 1-.247-1.232v-2.544a3.1 3.1 0 0 1 .247-1.225a3.2 3.2 0 0 1 .668-1a3.2 3.2 0 0 1 .986-.669a3.15 3.15 0 0 1 2.463 0a3.1 3.1 0 0 1 1.668 1.668a3.1 3.1 0 0 1 .246 1.225v5.92zm-.967-5.92a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.166 1.16a2.1 2.1 0 0 0-.168.845v2.531a2.1 2.1 0 0 0 .168.853a2.2 2.2 0 0 0 .468.693a2.2 2.2 0 0 0 .694.467a2.2 2.2 0 0 0 1.692 0a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .174-.853zm-7.252 5.356a.44.44 0 0 1-.154.363a.51.51 0 0 1-.66 0a.43.43 0 0 1-.153-.363v-5.356a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.16 1.16a2.1 2.1 0 0 0-.17.846v5.356a.43.43 0 0 1-.152.363a.51.51 0 0 1-.661 0a.43.43 0 0 1-.153-.363v-5.356a3.1 3.1 0 0 1 .246-1.225a3.2 3.2 0 0 1 .67-1a3.2 3.2 0 0 1 .984-.669a3.15 3.15 0 0 1 2.464 0a3.1 3.1 0 0 1 1.667 1.668a3.1 3.1 0 0 1 .247 1.225zm-8.383 0a.44.44 0 0 1-.152.363a.51.51 0 0 1-.662 0a.43.43 0 0 1-.152-.363V7.956a.44.44 0 0 1 .152-.363a.51.51 0 0 1 .662 0a.44.44 0 0 1 .152.363zM4.982 8.44a.46.46 0 0 1-.145.338a.48.48 0 0 1-.355.142a.5.5 0 0 1-.339-.145l-.016-.017a.2.2 0 0 0-.032-.024a.1.1 0 0 1-.033-.025a1.9 1.9 0 0 0-1.24-.43q-.871 0-1.363.595q-.491.596-.492 1.693v5.243a.44.44 0 0 1-.153.363a.53.53 0 0 1-.33.123a.53.53 0 0 1-.33-.123a.43.43 0 0 1-.153-.363v-5.243A4.4 4.4 0 0 1 .18 9.303a3 3 0 0 1 .53-1.031a2.55 2.55 0 0 1 .878-.706a2.8 2.8 0 0 1 1.231-.257a3.1 3.1 0 0 1 1.065.209a2.6 2.6 0 0 1 .934.58a.48.48 0 0 1 .163.343zm2.76-3.128a.826.826 0 0 1-.826.827a.826.826 0 0 1-.827-.827a.826.826 0 0 1 .827-.826a.826.826 0 0 1 .826.826"},null,-1)]))}const Rt=X({name:"simple-icons-ring",render:Tt}),Pt={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"};function At($,i){return s(),p("svg",Pt,i[0]||(i[0]=[n("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8c-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C12.955 4 4 12.955 4 24s8.955 20 20 20s20-8.955 20-20c0-1.341-.138-2.65-.389-3.917"},null,-1),n("path",{fill:"#FF3D00",d:"m6.306 14.691l6.571 4.819C14.655 15.108 18.961 12 24 12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C16.318 4 9.656 8.337 6.306 14.691"},null,-1),n("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.9 11.9 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44"},null,-1),n("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002l6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917"},null,-1)]))}const It=X({name:"flat-color-icons-google",render:At}),Mt={class:"flex flex-col gap-6 w-full h-full"},Ht={class:"flex flex-col w-full h-full gap-6"},Et={class:"h-[70px]"},jt={class:"cui-label"},Lt={class:"flex flex-col w-full h-[calc(100%-70px-1.25rem)]"},Vt={key:0,class:"flex w-full h-full items-center justify-center"},Bt={key:1,class:"flex flex-col w-full h-full items-center justify-center gap-4"},Gt={class:"text-muted"},Ot={class:"flex flex-col"},Dt={class:"font-medium truncate"},Ft={key:0,class:"text-xs text-muted truncate"},qt={key:1,class:"text-xs text-muted truncate"},Ut={key:0,class:"flex flex-col w-full py-4 gap-6"},Wt={for:"name",class:"cui-label"},zt={for:"url",class:"cui-label"},Nt={for:"username",class:"cui-label"},Kt={for:"password",class:"cui-label"},Yt={for:"pin",class:"cui-label"},Qt=se({__name:"DiscoverCameras",setup($){const i=new Ce,E=Ne(),{t:j}=Be(),{data:R,isFetching:G,refetch:P,isRefetching:T}=i.discoverCamerasQuery(),{mutateAsync:L,isPending:M}=i.pairCameraQuery(),O=de("formRef"),b=F(""),y=F(),m=F({}),C=F(),H=F(),u=F(),S=F(),f=J(()=>G.value||T.value),W=J(()=>M.value),oe=J(()=>{var h;return!!((h=y.value)!=null&&h.url.includes("user:pass"))}),A=J(()=>{var h,v,V;return((h=y.value)==null?void 0:h.type)==="Google"||((v=y.value)==null?void 0:v.type)==="Roborock"||((V=y.value)==null?void 0:V.type)==="Ring"}),Z=J(()=>{var V,c;if(!((c=(V=R.value)==null?void 0:V.sources)!=null&&c.length))return[];let h=[{name:"Google Nest",type:"Google",url:"nest?:"},{name:"Ring",type:"Ring",url:"ring?:"},{name:"Roborock",type:"Roborock",url:"roborock://"},...He(R.value.sources)];if(!b.value)return h;const v=b.value.toLowerCase();return h=R.value.sources.filter(a=>(a.name??a.id??"Unknown").toLowerCase().includes(v)||a.url.toLowerCase().includes(v)||a.type&&a.type.toLowerCase().includes(v)),h});Ze(y,h=>{C.value=void 0,H.value=void 0,u.value=void 0,S.value=void 0,re(h==null?void 0:h.url)});const re=h=>{if(!h){m.value={};return}m.value[h]?m.value={}:m.value={[h]:!0}},ie=async()=>{try{y.value=void 0,await P()}catch{}},ce=async()=>{var v;const h=await((v=O.value)==null?void 0:v.validate());if(h!=null&&h.valid&&h.values)try{await L({cameraData:h.values}),await P()}catch{}else E.add({severity:"error",summary:j("components.toast.title_error"),detail:j("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",h)};return(h,v)=>{const V=qe,c=ze,a=ke,l=We,I=Ue,D=Fe,pe=to,ae=It,ee=Rt,Se=St,he=xt,ge=bt,_e=gt,ve=pt,fe=ct,$e=st,Te=yo,be=ao,Re=so,Pe=no,Ae=Ee,Y=je;return s(),p("div",Mt,[o(Ae,{class:"cui-card",pt:{body:{class:"h-full"},content:{class:"h-full"}}},{content:t(()=>{var le,x;return[n("div",Ht,[n("div",Et,[n("label",jt,w(h.$t("components.dialog.components.new_camera.search_camera")),1),o(D,null,{default:t(()=>[o(V,{modelValue:e(b),"onUpdate:modelValue":v[0]||(v[0]=r=>ne(b)?b.value=r:null),modelModifiers:{trim:!0},loading:e(f),type:"text"},null,8,["modelValue","loading"]),o(I,null,{default:t(()=>[o(a,{text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:v[1]||(v[1]=r=>b.value="")},{icon:t(()=>[o(c)]),_:1},8,["disabled"]),o(a,{text:"",rounded:"",severity:"secondary",disabled:e(f),onClick:ie},{icon:t(()=>[o(l)]),_:1},8,["disabled"])]),_:1})]),_:1})]),n("div",Lt,[e(f)?(s(),p("div",Vt,[o(pe,{class:"w-[30px] h-[30px] m-0","stroke-width":"5"})])):(x=(le=e(R))==null?void 0:le.sources)!=null&&x.length?(s(),_(Pe,{key:2,selection:e(y),"onUpdate:selection":v[6]||(v[6]=r=>ne(y)?y.value=r:null),"expanded-rows":e(m),"onUpdate:expandedRows":v[7]||(v[7]=r=>ne(m)?m.value=r:null),value:e(Z),"data-key":"url",loading:e(f),scrollable:"","selection-mode":"single",class:"h-full",pt:{root:{class:"h-full"},tableContainer:{class:"h-full"},table:{class:"table-fixed"}}},{expansion:t(r=>[e(A)?(s(),p("div",Ut,"WIP")):g("",!0),o(e(eo),{ref_key:"formRef",ref:O,class:"flex flex-col w-full py-4 gap-6","validation-schema":e(xo)},{default:t(()=>[e(A)?g("",!0):(s(),_(e(U),{key:0,modelValue:e(C),"onUpdate:modelValue":v[2]||(v[2]=d=>ne(C)?C.value=d:null),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",Wt,w(h.$t("components.form.label.name")),1),o(D,null,{default:t(()=>[o(V,Q(d,{invalid:k.length>0,loading:e(W),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])),e(A)?g("",!0):(s(),_(e(U),{key:1,"model-value":r.data.url,name:"url",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",zt,w(h.$t("components.form.label.url")),1),o(D,null,{default:t(()=>[o(V,Q(d,{invalid:k.length>0,loading:e(W),type:"text",readonly:""}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"url",class:"cui-input-error"})]),_:1})]),_:2},1032,["model-value"])),e(oe)?(s(),_(e(U),{key:2,modelValue:e(u),"onUpdate:modelValue":v[3]||(v[3]=d=>ne(u)?u.value=d:null),modelModifiers:{trim:!0},name:"username",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",Nt,w(h.$t("components.form.label.username")),1),o(D,null,{default:t(()=>[o(V,Q(d,{invalid:k.length>0,loading:e(W),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"username",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):g("",!0),e(oe)?(s(),_(e(U),{key:3,modelValue:e(S),"onUpdate:modelValue":v[4]||(v[4]=d=>ne(S)?S.value=d:null),name:"password",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",Kt,w(h.$t("components.form.label.password")),1),o(D,null,{default:t(()=>[o(Re,Q({invalid:k.length>0},d,{loading:e(W),feedback:!1,"toggle-mask":""}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"password",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):g("",!0),r.data.type==="HomeKit"?(s(),_(e(U),{key:4,modelValue:e(H),"onUpdate:modelValue":v[5]||(v[5]=d=>ne(H)?H.value=d:null),modelModifiers:{trim:!0},name:"pin",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",Yt,w(h.$t("components.form.label.pin")),1),o(D,null,{default:t(()=>[o(V,Q(d,{invalid:k.length>0,loading:e(W),type:"text",maxlength:8}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"pin",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):g("",!0),o(e(U),{modelValue:r.data.type,"onUpdate:modelValue":d=>r.data.type=d,name:"type",as:"div",class:"hidden"},null,8,["modelValue","onUpdate:modelValue"]),e(A)?g("",!0):(s(),_(a,{key:5,loading:e(W),label:h.$t("components.dialog.components.new_camera.add_camera"),class:"cui-button-md w-full md:w-auto md:ml-auto",onClick:ce},null,8,["loading","label"]))]),_:2},1032,["validation-schema"])]),default:t(()=>[o(be,{"header-class":"w-10"},{body:t(r=>[r.data.type==="Google"?B((s(),_(a,{key:0,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Google Nest"}]]):g("",!0),r.data.type==="Ring"?B((s(),_(a,{key:1,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ee,{class:"text-blue-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Ring"}]]):g("",!0),r.data.type==="Roborock"?B((s(),_(a,{key:2,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(Se,{class:"text-red-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Roborock"}]]):g("",!0),r.data.type==="Hass"?B((s(),_(a,{key:3,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(he,{class:"text-sky-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Home Assistant"}]]):g("",!0),r.data.type==="HomeKit"?B((s(),_(a,{key:4,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ge,{class:"text-yellow-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"HomeKit"}]]):g("",!0),r.data.type==="FFmpeg"?B((s(),_(a,{key:5,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(_e,{class:"text-green-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"FFmpeg"}]]):g("",!0),r.data.type==="Onvif"?B((s(),_(a,{key:6,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ve,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Onvif"}]]):g("",!0),r.data.type==="Webtorrent"?B((s(),_(a,{key:7,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(fe,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"WebTorrent"}]]):g("",!0),r.data.type==="GoPro"?B((s(),_(a,{key:8,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o($e,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"GoPro"}]]):g("",!0),r.data.type==="DVRip"?B((s(),_(a,{key:9,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(Te,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"DVRip"}]]):g("",!0)]),_:1}),o(be,{field:"name",header:h.$t("components.form.label.camera")},{body:t(r=>[n("div",Ot,[n("span",Dt,w(r.data.name),1),r.data.type!=="Google"&&r.data.type!=="Roborock"&&r.data.type!=="Ring"?(s(),p("span",Ft,w(r.data.url),1)):g("",!0),r.data.info?(s(),p("span",qt,w(r.data.info),1)):g("",!0)])]),_:1},8,["header"])]),_:1},8,["selection","expanded-rows","value","loading"])):(s(),p("div",Bt,[n("span",Gt,w(h.$t("components.dialog.components.new_camera.no_cameras_found")),1),o(a,{severity:"primary",label:h.$t("components.dialog.components.new_camera.scan_again"),onClick:ie},null,8,["label"])]))])])]}),_:1})])}}}),Jt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xt($,i){return s(),p("svg",Jt,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M12.5 9q-.275 0-.425-.25t0-.5L15 3.175q.2-.325.5-.387t.65.112q1.725.775 3.05 2.162T21.25 8.2q.125.325-.038.563T20.7 9zm-3.575 1.225l-3-5.2q-.2-.325-.1-.65t.4-.525Q7.425 3 8.888 2.5T12 2q.375 0 .825.038t.75.087q.35.05.463.3t-.063.55L9.8 10.225q-.15.25-.437.25t-.438-.25M2.85 14q-.275 0-.5-.187t-.275-.463t-.062-.6T2 12q0-1.575.513-3.137T4.1 5.9q.275-.35.638-.35t.562.375l4.2 7.325q.15.25-.012.5T9.05 14zm5 7.1q-1.65-.8-3.025-2.175T2.75 15.8q-.125-.325.05-.562T3.325 15h8.15q.275 0 .425.25t0 .5l-2.875 5.025q-.2.325-.5.425t-.675-.1M12 22q-.35 0-.788-.038t-.762-.087q-.35-.05-.475-.3t.05-.55l4.125-7.2q.15-.25.5-.25t.5.25l2.95 5.125q.175.275.113.6t-.413.6q-1.15.85-2.687 1.35T12 22m6.775-3.875l-4.25-7.375q-.15-.25.013-.5t.437-.25h6.175q.275 0 .5.188t.275.462t.062.6T22 12q0 1.575-.513 3.163T19.9 18.125q-.2.275-.575.288t-.55-.288"},null,-1)]))}const Zt=X({name:"material-symbols-camera-rounded",render:Xt}),en={viewBox:"0 0 12 12",width:"1.2em",height:"1.2em"};function on($,i){return s(),p("svg",en,i[0]||(i[0]=[n("path",{fill:"currentColor",d:"M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 0 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06"},null,-1)]))}const tn=X({name:"fluent-chevron-down12-filled",render:on}),nn="#### 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",an=`#### Source: Doorbird
|
|
4
|
+
`)}),(W=M.value)==null||W.socket.on("clear-log",()=>{var A;(A=L.value)==null||A.clearTerminal()}),(oe=M.value)==null||oe.socket.emit("get-camera-log",$.value,{sinceLastStart:!0})}),jo(()=>{var u,S;(S=(u=M.value)==null?void 0:u.end)==null||S.call(u)}),c({isLoading:m,onConfirm:H}),(u,S)=>{const f=Go;return s(),p("div",null,[o(f,{ref_key:"consoleRef",ref:L,options:e(C),class:"bg-black !w-full"},null,8,["options"])])}}}),ot={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"},tt=["id"],nt=["mask"];function at(T,c){return s(),p("svg",ot,[a("defs",null,[a("mask",{id:T.idMap.ipSGopro0},c[0]||(c[0]=[Eo('<g fill="none"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M5 7h13v34H5z"></path><rect width="19" height="22" x="24" y="13" fill="#fff" stroke="#fff" stroke-width="4" rx="3"></rect><circle cx="33.5" cy="24.5" r="3.5" fill="#000" stroke="#000" stroke-width="4"></circle><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M18 24h6"></path><rect width="5" height="5" x="9" y="15" fill="#fff" rx="2.5"></rect></g>',1)]),8,tt)]),a("path",{fill:"currentColor",d:"M0 0h48v48H0z",mask:"url(#"+T.idMap.ipSGopro0+")"},null,8,nt)])}const st=J({name:"icon-park-solid-gopro",render:at,setup(){return{idMap:{ipSGopro0:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),rt={viewBox:"0 0 256 295",width:"1.05em",height:"1.2em"};function it(T,c){return s(),p("svg",rt,c[0]||(c[0]=[a("path",{fill:"#EB324B",d:"M125.331 293.51c-3.118-1.658-121.475-70.037-122.633-70.849c-2.463-1.729-2.297 3.704-2.297-75.23c0-78.936-.166-73.502 2.297-75.232c.61-.427 28.67-16.687 62.355-36.133C107.32 11.668 126.75.658 127.751.54c1.811-.214-4.43-3.711 67.33 37.72c42.38 24.468 59.226 34.391 59.85 35.255l.869 1.202v145.427l-.869 1.202c-.624.864-17.465 10.784-59.851 35.255c-67.06 38.716-65.522 37.846-66.92 37.853c-.573.004-1.846-.421-2.829-.944"},null,-1),a("path",{fill:"#333943",d:"M126.397 275.238c-.44-.188-24.952-14.3-54.47-31.361c-34.351-19.855-53.962-31.413-54.485-32.113c-.813-1.09-.816-1.326-.816-64.334c0-63.047.002-63.243.818-64.335c.525-.703 20.06-12.217 54.485-32.112c29.517-17.06 54.116-31.194 54.665-31.411s1.553-.29 2.232-.163c.967.181 104.484 59.604 108.805 62.458c.584.386 1.247 1.188 1.475 1.783c.276.722.456 22.028.54 64.05l.129 62.968l-.839 1.132c-.553.747-12.01 7.575-33.653 20.056c-81.042 46.735-75.862 43.807-77.41 43.75c-.37-.015-1.035-.18-1.476-.368m2.77-69.648c1.108-2.144 5.303-7.487 8.675-11.05c1.858-1.962 8.967-8.558 15.798-14.658c15.764-14.076 20.858-19.385 26.141-27.244c6.775-10.078 10.003-22.102 8.497-31.649c-1.65-10.458-8.018-19.169-17.411-23.816c-4.05-2.004-6.983-2.692-12.42-2.914c-3.993-.163-5.418-.051-8.413.66c-8.679 2.059-16.207 7.752-20.303 15.353c-.683 1.267-1.394 2.304-1.58 2.304s-.785-.883-1.332-1.962c-1.429-2.82-5.446-7.664-7.916-9.544c-6.925-5.274-12.884-7.18-21.304-6.817c-5.447.235-8.748 1.08-13.113 3.36c-7.469 3.9-13.574 11.516-15.849 19.77c-.893 3.24-.993 13.34-.169 17.027c1.92 8.59 6.36 17.046 13.251 25.24c3.87 4.6 11.215 11.695 22.243 21.481c13.554 12.028 18.433 17.105 22.404 23.312c.802 1.254 1.628 2.28 1.836 2.28s.642-.51.964-1.133"},null,-1),a("path",{fill:"#252A32",d:"M151.605 228.562c-12.322-11.157-22.463-20.551-22.536-20.877c-.146-.653 1.673-3.682 4.067-6.771c3.656-4.717 8.413-9.417 20.1-19.861c19.503-17.427 24.871-23.372 30.363-33.623c3.733-6.968 5.5-13.982 5.49-21.786c-.007-5.914-.768-9.263-3.275-14.435c-.632-1.303-1.099-2.488-1.037-2.635c.113-.268 52.387 48.13 53.696 49.715c.651.788.7 2.65.699 26.344c-.002 23.55-.056 25.582-.701 26.626c-.512.829-9.06 5.96-31.948 19.182c-17.187 9.928-31.534 18.13-31.882 18.228c-.41.115-8.524-6.968-23.036-20.107"},null,-1)]))}const ct=J({name:"logos-webtorrent",render:it}),lt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100"},dt=["id"],ut=["id"],mt=["fill","mask"],pt=se({__name:"CuiOnvifIcon",setup(T){const c=D(ye(10)),j=D(ye(10));return(E,R)=>(s(),p("svg",lt,[a("defs",null,[a("linearGradient",{id:e(c),x1:"0%",y1:"0%",x2:"100%",y2:"100%"},R[0]||(R[0]=[a("stop",{offset:"0%",style:{"stop-color":"#29abe2"}},null,-1),a("stop",{offset:"100%",style:{"stop-color":"#4f2d7f"}},null,-1)]),8,dt),a("mask",{id:e(j)},R[1]||(R[1]=[a("rect",{width:"100%",height:"100%",fill:"white"},null,-1),a("circle",{cx:"54",cy:"46",r:"32",fill:"black"},null,-1)]),8,ut)]),a("circle",{cx:"50",cy:"50",r:"40",fill:`url(#${e(c)})`,mask:`url(#${e(j)})`},null,8,mt)]))}}),ht={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function ft(T,c){return s(),p("svg",ht,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M201.459 35.184L93.114 161.545v53.47L254.041 30.733L512 8.902L133.866 406.659l49.874 2.877l274.62-283.015v268.646l-30.716 28.864l78.027 4.612v74.455l-243.583-20.63l123.746-120.395v-59.74L209.185 478L0 460.29L336.764 93.876l-55.874 3.3L37.697 366.981V137.742l22.881-27.544l-56.254 3.326V51.871z"},null,-1)]))}const _t=J({name:"file-icons-ffmpeg",render:ft}),gt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vt(T,c){return s(),p("svg",gt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M11.971.302a.72.72 0 0 0-.444.155L.984 8.82a.7.7 0 0 0-.139.146c.11-.156.037-.046-.048.015c-.084.06-.2.136-.313.22a2 2 0 0 0-.178.141c-.064.057-.143.098-.24.32a.76.76 0 0 0-.026.549c.08.233.277.384.405.441c.253.114.353.079.463.071c.399.022.737-.019.922 0c.077.009.087.017.097.02c.032 3.58.004 7.167.014 10.76a1 1 0 0 0 .014.14c0-.002-.027.367-.033.764c-.003.199-.009.43.137.721c.147.29.565.551.909.559h14.717c1.148-.035 2.39.083 3.686-.07a.717.717 0 0 0 .632-.712v-1.493a2.7 2.7 0 0 0 0-.514v-.025c-.007-2.132-.002-4.268 0-6.406v-1.993l-.002.054c.059-.776-.031-1.39.053-1.803c.041-.01.1-.013.216-.014c.24-.002.601.065 1.055.008l.072-.013a.74.74 0 0 0 .33-.16a.83.83 0 0 0 .27-.524c.027-.383-.132-.498-.202-.58c-.14-.164-.237-.22-.344-.297c-.106-.078-.213-.15-.291-.207c-.08-.058-.143-.133-.076-.05a1 1 0 0 0-.064-.07c-.351-.334-.713-.553-.974-.76c-.23-.18-.358-.33-.434-.497V4.802a1.5 1.5 0 0 0 .023-.493a1.1 1.1 0 0 0-.344-.65c-.344-.297-.711-.293-1.036-.24c-.247-.027-.551.012-.779.23c-.294.28-.29.573-.291.748c-.002.174.017.304.026.398c.008.093-.009.152.012.066a.7.7 0 0 0-.007.313c.034.168-.022.475-.074.583l-.008-.004L12.416.456a.72.72 0 0 0-.445-.154m-.05 2.058c.18-.001.368.043.537.124c2.047 1.552 4.053 3.19 6.103 4.79l-.037-.031c.498.445 1.033.776 1.411 1.115c.375.336.575.614.615 1.025c.007.563.003 1.127.006 1.69q-.017.385.003.716c.004.891.012 1.781.01 2.673v6.867a1.2 1.2 0 0 1-.157.468c-.136.215-.272.314-.523.318c-5.108.018-10.22.003-15.332.008a1 1 0 0 0-.115.009a1.08 1.08 0 0 1-.758-.175c-.2-.143-.305-.31-.303-.562v-.008c-.016-3.27-.002-6.545-.007-9.822l-.002.05c.047-.678-.027-1.31-.004-1.836c.022-.51.11-.872.378-1.183c2.52-2.058 5.115-4.05 7.68-6.093a.84.84 0 0 1 .495-.143m.053 3.088a.72.72 0 0 0-.445.153L7.586 8.706l-.047.04c-.318.3-1.048.59-1.515 1.39a.7.7 0 0 0-.098.354c-.027 2.82-.004 5.633-.012 8.44a.717.717 0 0 0 .717.717h10.682a.717.717 0 0 0 .717-.716v-3.438c-.025-1.683.053-3.415-.042-5.166a.72.72 0 0 0-.26-.514c-.222-.184-.45-.358-.673-.539c-.06-.052-.118-.108-.177-.155c-.124-.102-.24-.184-.358-.272c-.64-.512-1.278-1.026-1.921-1.53q-.314-.253-.644-.505c-.513-.402-1.029-.803-1.536-1.208a.72.72 0 0 0-.445-.156m.016 1.89a.9.9 0 0 1 .325.06c.858.563 1.673 1.31 2.598 2.006l-.06-.05c.297.28.591.486.856.68l.356.283c.218.19.368.365.438.562c.063 1.936.01 3.9.029 5.886v.037c.023.358.006.751-.068.975c-.069.207-.078.248-.27.284c-2.468.053-4.956.008-7.458.023l-.041.002c-.365.023-.765.005-.985-.071c-.211-.073-.244-.069-.275-.297c-.05-1.596-.008-3.22-.023-4.863l-.002.063c.079-.997-.077-1.768.13-2.264c.794-.76 1.788-1.412 2.753-2.206l-.068.05c.436-.281.76-.606 1.047-.827c.284-.217.491-.321.718-.333M.84 9.283c.005 0 .025.009.03.01H.82c-.008 0-.007-.01.022-.01m11.131.79a.7.7 0 0 0-.43.143l-1.824 1.368a.72.72 0 0 0-.286.573v3.191a.717.717 0 0 0 .729.717L13.809 16a.717.717 0 0 0 .703-.717v-3.126a.72.72 0 0 0-.286-.573l-1.824-1.368a.7.7 0 0 0-.43-.144m-10.677.31c-.02.022-.03.023-.03.023zm10.679 1.446c.353.166.668.434.976.782c.107.485.045 1.12.048 1.86c-.006-.002-.022-.012-.088.005c-.141.037-.442.037-.748.026l.02.001c-.455-.029-.856.022-1.078-.007a.5.5 0 0 1-.157-.042l-.002-.006c-.004-.705-.052-1.323.045-1.81c.346-.349.682-.655.984-.809m1.036 2.57c-.012.062-.002.073-.006.072z"},null,-1)]))}const bt=J({name:"cbi-homekit",render:vt}),wt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function yt(T,c){return s(),p("svg",wt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M22.939 10.627L13.061.749a1.505 1.505 0 0 0-2.121 0l-9.879 9.878C.478 11.21 0 12.363 0 13.187v9c0 .826.675 1.5 1.5 1.5h9.227l-4.063-4.062a2 2 0 0 1-.664.113c-1.13 0-2.05-.92-2.05-2.05s.92-2.05 2.05-2.05s2.05.92 2.05 2.05c0 .233-.041.456-.113.665l3.163 3.163V9.928a2.05 2.05 0 0 1-1.15-1.84c0-1.13.92-2.05 2.05-2.05s2.05.92 2.05 2.05a2.05 2.05 0 0 1-1.15 1.84v8.127l3.146-3.146A2.05 2.05 0 0 1 18 12.239c1.13 0 2.05.92 2.05 2.05s-.92 2.05-2.05 2.05a2 2 0 0 1-.709-.13L12.9 20.602v3.088h9.6c.825 0 1.5-.675 1.5-1.5v-9c0-.825-.477-1.977-1.061-2.561z"},null,-1)]))}const xt=J({name:"simple-icons-homeassistant",render:yt}),kt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ct(T,c){return s(),p("svg",kt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M12 2C7.342 2 3.44 5.19 2.328 9.5h6.733A3.01 3.01 0 0 1 12 7.1a3.01 3.01 0 0 1 2.94 2.4h6.732C20.56 5.19 16.658 2 12 2m0 6.1c-1.11 0-2 .89-2 2s.89 2 2 2s2-.89 2-2s-.89-2-2-2m-9.875 2.4C2.051 10.99 2 11.489 2 12q.005.877.162 1.74l2.535-.451c.465 2.165 1.752 4.026 3.553 5.139a7.1 7.1 0 0 0 7.5 0c1.802-1.113 3.089-2.976 3.553-5.14l2.543.452A10 10 0 0 0 22 12c0-.511-.05-1.01-.125-1.5h-6.916c-.199 1.462-1.445 2.6-2.959 2.6s-2.76-1.138-2.959-2.6zm17.846 4.43a8.5 8.5 0 0 1-7.97 5.57a8.5 8.5 0 0 1-7.971-5.568l-1.495.267A10 10 0 0 0 12 22a10 10 0 0 0 9.463-6.803z"},null,-1)]))}const St=J({name:"cbi-roborock",render:Ct}),Tt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function $t(T,c){return s(),p("svg",Tt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M24 16.375a3.05 3.05 0 0 1-.246 1.231a3.1 3.1 0 0 1-1.672 1.66a3.1 3.1 0 0 1-1.225.247a3.7 3.7 0 0 1-.71-.073a4 4 0 0 1-.739-.218a3.2 3.2 0 0 1-.676-.37a2 2 0 0 1-.507-.515a.46.46 0 0 1-.08-.275a.44.44 0 0 1 .152-.346a.5.5 0 0 1 .346-.138a.6.6 0 0 1 .201.04a.4.4 0 0 1 .186.17a.05.05 0 0 0 .016.032l.064.065a1.8 1.8 0 0 0 .798.507a3 3 0 0 0 .943.154a2.1 2.1 0 0 0 .846-.17a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .176-.841v-1.109a3.1 3.1 0 0 1-.985.637a3.1 3.1 0 0 1-1.193.234a3.05 3.05 0 0 1-1.231-.246a3.14 3.14 0 0 1-1.66-1.66a3 3 0 0 1-.247-1.232v-2.544a3.1 3.1 0 0 1 .247-1.225a3.2 3.2 0 0 1 .668-1a3.2 3.2 0 0 1 .986-.669a3.15 3.15 0 0 1 2.463 0a3.1 3.1 0 0 1 1.668 1.668a3.1 3.1 0 0 1 .246 1.225v5.92zm-.967-5.92a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.166 1.16a2.1 2.1 0 0 0-.168.845v2.531a2.1 2.1 0 0 0 .168.853a2.2 2.2 0 0 0 .468.693a2.2 2.2 0 0 0 .694.467a2.2 2.2 0 0 0 1.692 0a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .174-.853zm-7.252 5.356a.44.44 0 0 1-.154.363a.51.51 0 0 1-.66 0a.43.43 0 0 1-.153-.363v-5.356a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.16 1.16a2.1 2.1 0 0 0-.17.846v5.356a.43.43 0 0 1-.152.363a.51.51 0 0 1-.661 0a.43.43 0 0 1-.153-.363v-5.356a3.1 3.1 0 0 1 .246-1.225a3.2 3.2 0 0 1 .67-1a3.2 3.2 0 0 1 .984-.669a3.15 3.15 0 0 1 2.464 0a3.1 3.1 0 0 1 1.667 1.668a3.1 3.1 0 0 1 .247 1.225zm-8.383 0a.44.44 0 0 1-.152.363a.51.51 0 0 1-.662 0a.43.43 0 0 1-.152-.363V7.956a.44.44 0 0 1 .152-.363a.51.51 0 0 1 .662 0a.44.44 0 0 1 .152.363zM4.982 8.44a.46.46 0 0 1-.145.338a.48.48 0 0 1-.355.142a.5.5 0 0 1-.339-.145l-.016-.017a.2.2 0 0 0-.032-.024a.1.1 0 0 1-.033-.025a1.9 1.9 0 0 0-1.24-.43q-.871 0-1.363.595q-.491.596-.492 1.693v5.243a.44.44 0 0 1-.153.363a.53.53 0 0 1-.33.123a.53.53 0 0 1-.33-.123a.43.43 0 0 1-.153-.363v-5.243A4.4 4.4 0 0 1 .18 9.303a3 3 0 0 1 .53-1.031a2.55 2.55 0 0 1 .878-.706a2.8 2.8 0 0 1 1.231-.257a3.1 3.1 0 0 1 1.065.209a2.6 2.6 0 0 1 .934.58a.48.48 0 0 1 .163.343zm2.76-3.128a.826.826 0 0 1-.826.827a.826.826 0 0 1-.827-.827a.826.826 0 0 1 .827-.826a.826.826 0 0 1 .826.826"},null,-1)]))}const Rt=J({name:"simple-icons-ring",render:$t}),Pt={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"};function At(T,c){return s(),p("svg",Pt,c[0]||(c[0]=[a("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8c-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C12.955 4 4 12.955 4 24s8.955 20 20 20s20-8.955 20-20c0-1.341-.138-2.65-.389-3.917"},null,-1),a("path",{fill:"#FF3D00",d:"m6.306 14.691l6.571 4.819C14.655 15.108 18.961 12 24 12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C16.318 4 9.656 8.337 6.306 14.691"},null,-1),a("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.9 11.9 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44"},null,-1),a("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002l6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917"},null,-1)]))}const It=J({name:"flat-color-icons-google",render:At}),Mt={class:"flex flex-col gap-6 w-full h-full"},Ht={class:"flex flex-col w-full h-full gap-6"},jt={class:"h-[70px]"},Et={class:"cui-label"},Lt={class:"flex flex-col w-full h-[calc(100%-70px-1.25rem)]"},Vt={key:0,class:"flex w-full h-full items-center justify-center"},Gt={key:1,class:"flex flex-col w-full h-full items-center justify-center gap-4"},Bt={class:"text-muted"},Ot={class:"flex flex-col"},Ut={class:"font-medium truncate"},Dt={key:0,class:"text-xs text-muted truncate"},qt={key:1,class:"text-xs text-muted truncate"},Ft={key:0,class:"flex flex-col w-full py-4 gap-6"},Wt={for:"name",class:"cui-label"},zt={for:"url",class:"cui-label"},Nt={for:"username",class:"cui-label"},Kt={for:"password",class:"cui-label"},Yt={for:"pin",class:"cui-label"},Xt=se({__name:"DiscoverCameras",setup(T){const c=new Ce,j=Ne(),{t:E}=Ge(),{data:R,isFetching:B,refetch:P,isRefetching:$}=c.discoverCamerasQuery(),{mutateAsync:L,isPending:M}=c.pairCameraQuery(),O=de("formRef"),b=D(""),y=D(),m=D({}),C=D(),H=D(),u=D(),S=D(),f=Q(()=>B.value||$.value),W=Q(()=>M.value),oe=Q(()=>{var h;return!!((h=y.value)!=null&&h.url.includes("user:pass"))}),A=Q(()=>{var h,v,V;return((h=y.value)==null?void 0:h.type)==="Google"||((v=y.value)==null?void 0:v.type)==="Roborock"||((V=y.value)==null?void 0:V.type)==="Ring"}),Z=Q(()=>{var V,l;if(!((l=(V=R.value)==null?void 0:V.sources)!=null&&l.length))return[];let h=[{name:"Google Nest",type:"Google",url:"nest?:"},{name:"Ring",type:"Ring",url:"ring?:"},{name:"Roborock",type:"Roborock",url:"roborock://"},...He(R.value.sources)];if(!b.value)return h;const v=b.value.toLowerCase();return h=R.value.sources.filter(n=>(n.name??n.id??"Unknown").toLowerCase().includes(v)||n.url.toLowerCase().includes(v)||n.type&&n.type.toLowerCase().includes(v)),h});Ze(y,h=>{C.value=void 0,H.value=void 0,u.value=void 0,S.value=void 0,re(h==null?void 0:h.url)});const re=h=>{if(!h){m.value={};return}m.value[h]?m.value={}:m.value={[h]:!0}},ie=async()=>{try{y.value=void 0,await P()}catch{}},ce=async()=>{var v;const h=await((v=O.value)==null?void 0:v.validate());if(h!=null&&h.valid&&h.values)try{await L({cameraData:h.values}),await P()}catch{}else j.add({severity:"error",summary:E("components.toast.title_error"),detail:E("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",h)};return(h,v)=>{const V=qe,l=ze,n=ke,i=We,I=Fe,U=De,pe=to,ae=It,ee=Rt,Se=St,he=xt,_e=bt,ge=_t,ve=pt,fe=ct,Te=st,$e=yo,be=ao,Re=so,Pe=no,Ae=je,Y=Ee;return s(),p("div",Mt,[o(Ae,{class:"cui-card",pt:{body:{class:"h-full"},content:{class:"h-full"}}},{content:t(()=>{var le,x;return[a("div",Ht,[a("div",jt,[a("label",Et,w(h.$t("components.dialog.components.new_camera.search_camera")),1),o(U,null,{default:t(()=>[o(V,{modelValue:e(b),"onUpdate:modelValue":v[0]||(v[0]=r=>ne(b)?b.value=r:null),modelModifiers:{trim:!0},loading:e(f),type:"text"},null,8,["modelValue","loading"]),o(I,null,{default:t(()=>[o(n,{text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:v[1]||(v[1]=r=>b.value="")},{icon:t(()=>[o(l)]),_:1},8,["disabled"]),o(n,{text:"",rounded:"",severity:"secondary",disabled:e(f),onClick:ie},{icon:t(()=>[o(i)]),_:1},8,["disabled"])]),_:1})]),_:1})]),a("div",Lt,[e(f)?(s(),p("div",Vt,[o(pe,{class:"w-[30px] h-[30px] m-0","stroke-width":"5"})])):(x=(le=e(R))==null?void 0:le.sources)!=null&&x.length?(s(),g(Pe,{key:2,selection:e(y),"onUpdate:selection":v[6]||(v[6]=r=>ne(y)?y.value=r:null),"expanded-rows":e(m),"onUpdate:expandedRows":v[7]||(v[7]=r=>ne(m)?m.value=r:null),value:e(Z),"data-key":"url",loading:e(f),scrollable:"","selection-mode":"single",class:"h-full",pt:{root:{class:"h-full"},tableContainer:{class:"h-full"},table:{class:"table-fixed"}}},{expansion:t(r=>[e(A)?(s(),p("div",Ft,"WIP")):_("",!0),o(e(eo),{ref_key:"formRef",ref:O,class:"flex flex-col w-full py-4 gap-6","validation-schema":e(xo)},{default:t(()=>[e(A)?_("",!0):(s(),g(e(F),{key:0,modelValue:e(C),"onUpdate:modelValue":v[2]||(v[2]=d=>ne(C)?C.value=d:null),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Wt,w(h.$t("components.form.label.name")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])),e(A)?_("",!0):(s(),g(e(F),{key:1,"model-value":r.data.url,name:"url",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",zt,w(h.$t("components.form.label.url")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text",readonly:""}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"url",class:"cui-input-error"})]),_:1})]),_:2},1032,["model-value"])),e(oe)?(s(),g(e(F),{key:2,modelValue:e(u),"onUpdate:modelValue":v[3]||(v[3]=d=>ne(u)?u.value=d:null),modelModifiers:{trim:!0},name:"username",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Nt,w(h.$t("components.form.label.username")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"username",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),e(oe)?(s(),g(e(F),{key:3,modelValue:e(S),"onUpdate:modelValue":v[4]||(v[4]=d=>ne(S)?S.value=d:null),name:"password",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Kt,w(h.$t("components.form.label.password")),1),o(U,null,{default:t(()=>[o(Re,X({invalid:k.length>0},d,{loading:e(W),feedback:!1,"toggle-mask":""}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"password",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),r.data.type==="HomeKit"?(s(),g(e(F),{key:4,modelValue:e(H),"onUpdate:modelValue":v[5]||(v[5]=d=>ne(H)?H.value=d:null),modelModifiers:{trim:!0},name:"pin",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Yt,w(h.$t("components.form.label.pin")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text",maxlength:8}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"pin",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),o(e(F),{modelValue:r.data.type,"onUpdate:modelValue":d=>r.data.type=d,name:"type",as:"div",class:"hidden"},null,8,["modelValue","onUpdate:modelValue"]),e(A)?_("",!0):(s(),g(n,{key:5,loading:e(W),label:h.$t("components.dialog.components.new_camera.add_camera"),class:"cui-button-md w-full md:w-auto md:ml-auto",onClick:ce},null,8,["loading","label"]))]),_:2},1032,["validation-schema"])]),default:t(()=>[o(be,{"header-class":"w-10"},{body:t(r=>[r.data.type==="Google"?G((s(),g(n,{key:0,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Google Nest"}]]):_("",!0),r.data.type==="Ring"?G((s(),g(n,{key:1,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ee,{class:"text-blue-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Ring"}]]):_("",!0),r.data.type==="Roborock"?G((s(),g(n,{key:2,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(Se,{class:"text-red-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Roborock"}]]):_("",!0),r.data.type==="Hass"?G((s(),g(n,{key:3,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(he,{class:"text-sky-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Home Assistant"}]]):_("",!0),r.data.type==="HomeKit"?G((s(),g(n,{key:4,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(_e,{class:"text-yellow-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"HomeKit"}]]):_("",!0),r.data.type==="FFmpeg"?G((s(),g(n,{key:5,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ge,{class:"text-green-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"FFmpeg"}]]):_("",!0),r.data.type==="Onvif"?G((s(),g(n,{key:6,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ve,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Onvif"}]]):_("",!0),r.data.type==="Webtorrent"?G((s(),g(n,{key:7,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(fe,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"WebTorrent"}]]):_("",!0),r.data.type==="GoPro"?G((s(),g(n,{key:8,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(Te,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"GoPro"}]]):_("",!0),r.data.type==="DVRip"?G((s(),g(n,{key:9,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o($e,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"DVRip"}]]):_("",!0)]),_:1}),o(be,{field:"name",header:h.$t("components.form.label.camera")},{body:t(r=>[a("div",Ot,[a("span",Ut,w(r.data.name),1),r.data.type!=="Google"&&r.data.type!=="Roborock"&&r.data.type!=="Ring"?(s(),p("span",Dt,w(r.data.url),1)):_("",!0),r.data.info?(s(),p("span",qt,w(r.data.info),1)):_("",!0)])]),_:1},8,["header"])]),_:1},8,["selection","expanded-rows","value","loading"])):(s(),p("div",Gt,[a("span",Bt,w(h.$t("components.dialog.components.new_camera.no_cameras_found")),1),o(n,{severity:"primary",label:h.$t("components.dialog.components.new_camera.scan_again"),onClick:ie},null,8,["label"])]))])])]}),_:1})])}}}),Qt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jt(T,c){return s(),p("svg",Qt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M12.5 9q-.275 0-.425-.25t0-.5L15 3.175q.2-.325.5-.387t.65.112q1.725.775 3.05 2.162T21.25 8.2q.125.325-.038.563T20.7 9zm-3.575 1.225l-3-5.2q-.2-.325-.1-.65t.4-.525Q7.425 3 8.888 2.5T12 2q.375 0 .825.038t.75.087q.35.05.463.3t-.063.55L9.8 10.225q-.15.25-.437.25t-.438-.25M2.85 14q-.275 0-.5-.187t-.275-.463t-.062-.6T2 12q0-1.575.513-3.137T4.1 5.9q.275-.35.638-.35t.562.375l4.2 7.325q.15.25-.012.5T9.05 14zm5 7.1q-1.65-.8-3.025-2.175T2.75 15.8q-.125-.325.05-.562T3.325 15h8.15q.275 0 .425.25t0 .5l-2.875 5.025q-.2.325-.5.425t-.675-.1M12 22q-.35 0-.788-.038t-.762-.087q-.35-.05-.475-.3t.05-.55l4.125-7.2q.15-.25.5-.25t.5.25l2.95 5.125q.175.275.113.6t-.413.6q-1.15.85-2.687 1.35T12 22m6.775-3.875l-4.25-7.375q-.15-.25.013-.5t.437-.25h6.175q.275 0 .5.188t.275.462t.062.6T22 12q0 1.575-.513 3.163T19.9 18.125q-.2.275-.575.288t-.55-.288"},null,-1)]))}const Zt=J({name:"material-symbols-camera-rounded",render:Jt}),en={viewBox:"0 0 12 12",width:"1.2em",height:"1.2em"};function on(T,c){return s(),p("svg",en,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 0 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06"},null,-1)]))}const tn=J({name:"fluent-chevron-down12-filled",render:on}),nn="#### 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",an='#### Source: CUI\n\nThis source can be used to stream dynamically generated, go2rtc compatible, URLs. The source is just a placeholder for a `https://` URL.\n\n```yaml\nstreams:\n camera1: cui://192.168.1.123:34567/some-identifier-if-you-want\n```\n\nThe URL will be changed to `https://192.168.1.123:34567/some-identifier-if-you-want` and the response must be like this:\n\n```json\n{\n {\n "streamUrl": "rtsp://192.168.1.1:554/stream",\n }\n}\n```\n\nGo2rtc will then use the `streamUrl` to stream the video. The `streamUrl` can be any URL that is compatible with go2rtc. The response must be a valid JSON object with the `streamUrl` key.\n',sn=`#### Source: Doorbird
|
|
5
5
|
|
|
6
6
|
[Doorbird](https://www.doorbird.com/) proprietary camera protocol with **two way audio** support.
|
|
7
7
|
|
|
@@ -17,7 +17,7 @@ streams:
|
|
|
17
17
|
mjpeg-video:
|
|
18
18
|
- doorbird://user:pass@123.123.123.123?media=video
|
|
19
19
|
\`\`\`
|
|
20
|
-
`,
|
|
20
|
+
`,rn="#### 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",cn=`#### Source: Echo
|
|
21
21
|
|
|
22
22
|
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).
|
|
23
23
|
|
|
@@ -30,7 +30,7 @@ streams:
|
|
|
30
30
|
\`\`\`
|
|
31
31
|
|
|
32
32
|
_Source: [Go2Rtc Echo](https://github.com/AlexxIT/go2rtc#source-echo)_
|
|
33
|
-
`,
|
|
33
|
+
`,ln=`#### Source: Exec
|
|
34
34
|
|
|
35
35
|
Exec source can run any external application and expect data from it. Two transports are supported - **pipe** and **RTSP**.
|
|
36
36
|
|
|
@@ -58,7 +58,7 @@ streams:
|
|
|
58
58
|
\`\`\`
|
|
59
59
|
|
|
60
60
|
_Source: [Go2Rtc Exec](https://github.com/AlexxIT/go2rtc#source-exec)_
|
|
61
|
-
`,
|
|
61
|
+
`,dn=`#### Source: Expr
|
|
62
62
|
|
|
63
63
|
[Expr](https://github.com/antonmedv/expr) - expression language and expression evaluation for Go.
|
|
64
64
|
|
|
@@ -151,7 +151,7 @@ streams:
|
|
|
151
151
|
| let m = match(text, "abc") | m = re.search("abc", text) | let m = text.match(/abc/) |
|
|
152
152
|
|
|
153
153
|
_Source: [Go2Rtc Expr](https://github.com/AlexxIT/go2rtc#source-expr)_
|
|
154
|
-
`,
|
|
154
|
+
`,un="#### 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",mn=`#### Source: GoPro
|
|
155
155
|
|
|
156
156
|
Supported models: HERO9, HERO10, HERO11, HERO12.
|
|
157
157
|
Supported OS: Linux, Mac, Windows, [HassOS](https://www.home-assistant.io/installation/)
|
|
@@ -178,7 +178,7 @@ streams:
|
|
|
178
178
|
- https://gopro.github.io/OpenGoPro/
|
|
179
179
|
|
|
180
180
|
_Source: [Go2Rtc Hass](https://github.com/AlexxIT/go2rtc#source-hass)_
|
|
181
|
-
`,
|
|
181
|
+
`,pn=`#### Source: Hass
|
|
182
182
|
|
|
183
183
|
Support import camera links from [Home Assistant](https://www.home-assistant.io/) config files:
|
|
184
184
|
|
|
@@ -215,7 +215,7 @@ streams:
|
|
|
215
215
|
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).
|
|
216
216
|
|
|
217
217
|
_Source: [Go2Rtc Hass](https://github.com/AlexxIT/go2rtc#source-hass)_
|
|
218
|
-
`,
|
|
218
|
+
`,hn=`#### Source: HomeKit
|
|
219
219
|
|
|
220
220
|
**Important:**
|
|
221
221
|
|
|
@@ -249,7 +249,7 @@ RTSP link with "normal" audio for any player: \`rtsp://192.168.1.123:8554/aqara_
|
|
|
249
249
|
**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).
|
|
250
250
|
|
|
251
251
|
_Source: [Go2Rtc HomeKit](https://github.com/AlexxIT/go2rtc#source-homekit)_
|
|
252
|
-
`,
|
|
252
|
+
`,fn=`#### Source: HTTP
|
|
253
253
|
|
|
254
254
|
Support Content-Type:
|
|
255
255
|
|
|
@@ -281,7 +281,7 @@ streams:
|
|
|
281
281
|
**PS.** Dahua camera has bug: if you select MJPEG codec for RTSP second stream - snapshot won't work.
|
|
282
282
|
|
|
283
283
|
_Source: [Go2Rtc Http](https://github.com/AlexxIT/go2rtc#source-http)_
|
|
284
|
-
`,
|
|
284
|
+
`,_n=`#### Source: ISAPI
|
|
285
285
|
|
|
286
286
|
This source type support only backchannel audio for Hikvision ISAPI protocol. So it should be used as second source in addition to the RTSP protocol.
|
|
287
287
|
|
|
@@ -303,7 +303,7 @@ streams:
|
|
|
303
303
|
\`\`\`
|
|
304
304
|
|
|
305
305
|
_Source: [Go2Rtc Ivideon](https://github.com/AlexxIT/go2rtc#source-ivideon)_
|
|
306
|
-
`,
|
|
306
|
+
`,vn="#### Source: Kasa\n\n[TP-Link Kasa](https://www.kasasmart.com/) non-standard protocol [more info](https://medium.com/@hu3vjeen/reverse-engineering-tp-link-kc100-bac4641bf1cd).\n\n- `username` - urlsafe email, `alex@gmail.com` -> `alex%40gmail.com`\n- `password` - base64password, `secret1` -> `c2VjcmV0MQ==`\n\n```yaml\nstreams:\n kc401: kasa://username:password@192.168.1.123:19443/https/stream/mixed\n```\n\nTested: KD110, KC200, KC401, KC420WS, EC71.\n\n_Source: [Go2Rtc Kasa](https://github.com/AlexxIT/go2rtc#source-kasa)_\n",bn=`#### Source: Nest
|
|
307
307
|
|
|
308
308
|
Currently only WebRTC cameras are supported.
|
|
309
309
|
|
|
@@ -315,7 +315,7 @@ streams:
|
|
|
315
315
|
\`\`\`
|
|
316
316
|
|
|
317
317
|
_Source: [Go2Rtc Nest](https://github.com/AlexxIT/go2rtc#source-nest)_
|
|
318
|
-
`,
|
|
318
|
+
`,wn=`#### Source: ONVIF
|
|
319
319
|
|
|
320
320
|
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.
|
|
321
321
|
|
|
@@ -329,7 +329,7 @@ streams:
|
|
|
329
329
|
\`\`\`
|
|
330
330
|
|
|
331
331
|
_Source: [Go2Rtc Onvif](https://github.com/AlexxIT/go2rtc#source-onvif)_
|
|
332
|
-
`,
|
|
332
|
+
`,yn=`#### Source: Ring
|
|
333
333
|
|
|
334
334
|
This source type support Ring cameras.
|
|
335
335
|
|
|
@@ -340,7 +340,7 @@ This source type support Ring cameras.
|
|
|
340
340
|
streams:
|
|
341
341
|
ring: ring:?device_id=***&refresh_token=***
|
|
342
342
|
\`\`\`
|
|
343
|
-
`,
|
|
343
|
+
`,xn=`#### Source: Roborock
|
|
344
344
|
|
|
345
345
|
This source type support Roborock vacuums with cameras. Known working models:
|
|
346
346
|
|
|
@@ -353,7 +353,7 @@ Source support load Roborock credentials from Home Assistant [custom integration
|
|
|
353
353
|
If you have graphic pin for your vacuum - add it as numeric pin (lines: 123, 456, 789) to the end of the roborock-link.
|
|
354
354
|
|
|
355
355
|
_Source: [Go2Rtc Roborock](https://github.com/AlexxIT/go2rtc#source-roborock)_
|
|
356
|
-
`,
|
|
356
|
+
`,kn=`#### Source: RTMP
|
|
357
357
|
|
|
358
358
|
You can get stream from RTMP server, for example [Nginx with nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module).
|
|
359
359
|
|
|
@@ -363,7 +363,7 @@ streams:
|
|
|
363
363
|
\`\`\`
|
|
364
364
|
|
|
365
365
|
_Source: [Go2Rtc RTMP](https://github.com/AlexxIT/go2rtc#source-rtmp)_
|
|
366
|
-
`,
|
|
366
|
+
`,Cn=`#### Source: RTSP
|
|
367
367
|
|
|
368
368
|
\`\`\`yaml
|
|
369
369
|
streams:
|
|
@@ -408,7 +408,7 @@ streams:
|
|
|
408
408
|
\`\`\`
|
|
409
409
|
|
|
410
410
|
_Source: [Go2Rtc RTSP](https://github.com/AlexxIT/go2rtc#source-rtsp)_
|
|
411
|
-
`,
|
|
411
|
+
`,Sn=`#### Source: Tapo
|
|
412
412
|
|
|
413
413
|
[TP-Link Tapo](https://www.tapo.com/) proprietary camera protocol with **two way audio** support.
|
|
414
414
|
|
|
@@ -433,7 +433,7 @@ echo -n "cloud password" | shasum -a 256 | awk '{print toupper($0)}'
|
|
|
433
433
|
\`\`\`
|
|
434
434
|
|
|
435
435
|
_Source: [Go2Rtc Tapo](https://github.com/AlexxIT/go2rtc#source-tapo)_
|
|
436
|
-
`,
|
|
436
|
+
`,Tn="#### Source: Tuya\n\n[Tuya](https://www.tuya.com/solution/hardware/ip-camera) proprietary camera protocol with **two way audio** support.\n\n```yaml\nstreams:\n camera1: tuya://openapi.tuyaus.com?device_id=XXX&uid=XXX&client_id=XXX&secret=XXX\n```\n\n- `device_id` - The device ID of the Tuya camera\n- `uid` - User ID (UID) of the linked app account\n- `client_id` - Access/Client ID of the cloud project\n- `secret` - Access/Client secret of the cloud project\n- `resolution` - Optional, can be `0` (HD) or `1` (SD). Not all cameras support this option\n- `use_rtsp` - Optional, can be `1` or `0`. Use RTSP stream instead of Tuya's proprietary protocol. Not all cameras support this option\n\nMore information about the webrtc integration can be found in the [Tuya documentation](https://developer.tuya.com/en/docs/iot/webrtc?id=Kacsd4x2hl0se) and [Supported Tuya Regions](https://developer.tuya.com/en/docs/iot/api-request?id=Ka4a8uuo1j4t4#title-1-Endpoints)\n",$n=`#### Source: WebRTC
|
|
437
437
|
|
|
438
438
|
This source type support four connection formats.
|
|
439
439
|
|
|
@@ -469,7 +469,7 @@ streams:
|
|
|
469
469
|
**PS.** For \`kinesis\` sources you can use [echo](#source-echo) to get connection params using \`bash\`/\`python\` or any other script language.
|
|
470
470
|
|
|
471
471
|
_Source: [Go2Rtc WebRTC](https://github.com/AlexxIT/go2rtc#source-webrtc)_
|
|
472
|
-
|
|
472
|
+
`,Rn=`#### Source: WebTorrent
|
|
473
473
|
|
|
474
474
|
This source can get a stream from another go2rtc via [WebTorrent](#module-webtorrent) protocol.
|
|
475
475
|
|
|
@@ -479,4 +479,4 @@ streams:
|
|
|
479
479
|
\`\`\`
|
|
480
480
|
|
|
481
481
|
_Source: [Go2Rtc Webtorrent](https://github.com/AlexxIT/go2rtc#source-webtorrent)_
|
|
482
|
-
`,oo={disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{_id:ye(8),name:"",role:"high-resolution",urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!1}],recording:{enabled:!1},interface:{streamingMode:"auto",streamingSource:"auto",aspectRatio:"16:9"},extensions:{hub:[],plugins:[]}},Tn={class:"card-title"},Rn={class:"flex flex-col gap-6"},Pn={for:"name",class:"cui-label"},An={class:"card-title"},In={class:"flex gap-2 items-center w-full"},Mn={class:"flex gap-2 items-center w-full"},Hn={class:"text-color text-sm"},En={class:"flex flex-col gap-6"},jn=["for"],Ln=["for"],Vn={class:"flex items-center gap-4"},Bn={class:"flex flex-col field-switch-gap"},Gn=["for"],On={class:"flex items-center gap-4"},Dn={class:"flex flex-col field-switch-gap"},Fn=["for"],qn={class:"flex flex-col gap-6"},Un=["for"],Wn={class:"w-full flex flex-row my-1"},zn={class:"w-full flex items-center justify-center"},Nn=se({__name:"AddCamera",props:{camera:{default:()=>oo}},setup($,{expose:i}){const E=new Ce,j=Ke(),R=Ne(),{t:G}=Be(),{xsBreakpoint:P}=Le(),T=$,{camera:L}=Ve(T),M=de("formRef"),O=F(["high-resolution","mid-resolution","low-resolution","snapshot"]),b=F([0]),y=F([]),m=F(He(L.value)),{mutateAsync:C,isPending:H}=E.createCameraQuery(),{mutateAsync:u,isPending:S}=E.previewCameraQuery(),f=J(()=>H.value||S.value),W=c=>{m.value.sources[c].urls.push({protocol:"rtsp://",url:[]})},oe=(c,a)=>{m.value.sources[c].urls.splice(a,1)},A=()=>{m.value.sources.push({_id:ye(8),name:"",role:null,urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!1}),b.value=[m.value.sources.length]},Z=c=>{m.value.sources.splice(c,1)},re=c=>{let a,l,I;switch(c){case"bubble://":a=[],l=Object.assign({"../../../../../markdowns/bubble.md":nn});break;case"doorbird://":a=[],l=Object.assign({"../../../../../markdowns/doorbird.md":an});break;case"dvrip://":a=[],l=Object.assign({"../../../../../markdowns/dvrip.md":sn});break;case"echo:":a=[],l=Object.assign({"../../../../../markdowns/echo.md":rn});break;case"eseecloud://":a=[],l=Object.assign({});break;case"exec:":a=[],l=Object.assign({"../../../../../markdowns/exec.md":cn});break;case"expr:":a=[],l=Object.assign({"../../../../../markdowns/expr.md":ln});break;case"ffmpeg:":a=Me,l=Object.assign({"../../../../../markdowns/ffmpeg.md":dn});break;case"flussonic://":a=Me,l=Object.assign({});break;case"gopro://":a=Me,l=Object.assign({"../../../../../markdowns/gopro.md":un});break;case"hass:":a=[],l=Object.assign({"../../../../../markdowns/hass.md":mn});break;case"homekit://":a=Do,l=Object.assign({"../../../../../markdowns/homekit.md":pn});break;case"http://":case"https://":case"httpx://":case"tcp://":a=Fo,l=Object.assign({"../../../../../markdowns/http.md":hn});break;case"isapi://":a=[],l=Object.assign({"../../../../../markdowns/isapi.md":fn});break;case"ivideon:":a=[],l=Object.assign({"../../../../../markdowns/ivideon.md":gn});break;case"kasa://":a=[],l=Object.assign({"../../../../../markdowns/kasa.md":_n});break;case"nest:":a=qo,l=Object.assign({"../../../../../markdowns/nest.md":vn});break;case"onvif://":a=[],l=Object.assign({"../../../../../markdowns/onvif.md":bn});break;case"ring:":a=Uo,l=Object.assign({"../../../../../markdowns/ring.md":wn});break;case"roborock://":a=[],l=Object.assign({"../../../../../markdowns/roborock.md":yn});break;case"rtmp://":a=[],l=Object.assign({"../../../../../markdowns/rtmp.md":xn});break;case"rtsp://":case"rtspx://":a=Oo,l=Object.assign({"../../../../../markdowns/rtsp.md":kn});break;case"tapo://":a=[],l=Object.assign({"../../../../../markdowns/tapo.md":Cn});break;case"webrtc:":a=Wo,l=Object.assign({"../../../../../markdowns/webrtc.md":Sn});break;case"webtorrent:":a=[],l=Object.assign({"../../../../../markdowns/webtorrent.md":$n});break;default:a=[],l=void 0;break}return l&&(I=Object.values(l)[0]),{presets:a,md:I}},ie=c=>{y.value=c},ce=(c,a)=>{a.protocol=c},h=async(c,a)=>{if(!(!c&&!a)){if(c){const l={url:v(c)};try{const I=await u({cameraData:l});j.openImageDialog({data:{title:G("components.dialog.title.preview"),src:`data:image/jpeg;base64,${I}`,hideConfirmButton:!0}})}catch{}}else if(a){const l=re(a);if(!l.md)return;j.openTextDialog({data:{title:G("components.dialog.title.information"),hideConfirmButton:!0,contentText:l.md,markdown:!0}})}}},v=c=>{let a=c.url.join("");switch(c.protocol){case"nest:":case"ring:":case"webtorrent:":!a.startsWith("?")&&!a.startsWith(c.protocol)&&(a=`?${a}`)}return a.startsWith(c.protocol)?a:`${c.protocol}${a}`};return i({isLoading:f,onSave:async()=>{var I;const c=await((I=M.value)==null?void 0:I.validate());if(!(c!=null&&c.valid))return R.add({severity:"error",summary:G("components.toast.title_error"),detail:G("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",c),null;const a=He(m.value),l={...a,pluginId:"native",type:"camera",isCloud:!1,snapshotTTL:600,detectionZones:[],detectionSettings:{motion:{timeout:60},object:{confidence:.7}},frameWorkerSettings:{decoder:"rust",fps:10,resolution:"320x180"},sources:a.sources.map(D=>{const pe=D.urls.map(ae=>{if(ae.url)return v(ae)}).filter(Boolean);return{...D,urls:pe}})};await C({cameraData:l})}}),(c,a)=>{const l=qe,I=Fe,D=Ee,pe=lo,ae=ze,ee=ke,Se=co,he=mo,ge=po,_e=ho,ve=Co,fe=Ue,$e=tn,Te=fo,be=Zt,Re=uo,Pe=io,Ae=ro,Y=Ye,le=je;return s(),p("div",null,[o(e(eo),{ref_key:"formRef",ref:M,class:"flex flex-col w-full gap-6","validation-schema":e(ko)},{default:t(()=>[n("div",null,[n("span",Tn,w(c.$t("components.dialog.components.new_camera.camera")),1),o(D,{class:"cui-card"},{content:t(()=>[n("div",Rn,[o(e(U),{modelValue:e(m).name,"onUpdate:modelValue":a[0]||(a[0]=x=>e(m).name=x),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:x,errors:r})=>[n("label",Pn,w(c.$t("components.form.label.name")),1),o(I,null,{default:t(()=>[o(l,Q(x,{invalid:r.length>0,loading:e(f),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),n("div",null,[n("span",An,w(c.$t("components.form.label.sources")),1),o(D,{class:"cui-card border-color-inner",pt:{body:{class:"pb-0"}}},{content:t(()=>[o(Ae,{value:e(b),"onUpdate:value":a[2]||(a[2]=x=>ne(b)?b.value=x:null),multiple:""},{default:t(()=>[(s(!0),p(ue,null,me(e(m).sources,(x,r)=>(s(),_(Pe,{key:r,value:r,class:xe({"border-b-0":r===e(m).sources.length-1})},{default:t(()=>[o(Se,{class:xe({"px-0 pt-0":r===0,"px-0":r!==0,"pb-5":r===e(m).sources.length-1})},{default:t(()=>[n("div",In,[n("div",Mn,[n("span",Hn,w(c.$t("components.dialog.components.new_camera.source")+": "),1),o(pe,{class:"text-color text-xs border-[1px] bg-primary-500/20 border-primary-500/30 py-2 px-3 rounded-full overflow-hidden",label:x.name!==""?x.name:c.$t("components.dialog.components.new_camera.unknown")},null,8,["label"])]),e(m).sources.length>1?(s(),_(ee,{key:0,text:"",rounded:"",severity:"danger",class:"cui-icon-md ml-auto mr-2",loading:e(f),onClick:d=>Z(r)},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["loading","onClick"])):g("",!0)])]),_:2},1032,["class"]),o(Re,{pt:{content:{class:{"px-0":!0,"pb-5":r===e(m).sources.length-1}}}},{default:t(()=>[n("div",En,[o(e(U),{modelValue:x.name,"onUpdate:modelValue":d=>x.name=d,modelModifiers:{trim:!0},name:`sources[${r}].name`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",{for:`sources[${r}].name`,class:"cui-label"},w(c.$t("components.form.label.source_name")),9,jn),o(I,null,{default:t(()=>[o(l,Q({ref_for:!0},d,{invalid:k.length>0,loading:e(f),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].name`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),o(e(U),{"model-value":x.role,name:`sources[${r}].role`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("label",{for:`sources[${r}].role`,class:"cui-label"},w(c.$t("components.form.label.source_role")),9,Ln),o(I,null,{default:t(()=>[o(he,Q({"model-value":x.role,ref_for:!0},d,{options:e(O).filter(z=>!e(m).sources.some(te=>te.role===z&&te._id!==x._id)),invalid:k.length>0,loading:e(f),onValueChange:z=>x.role=z}),null,16,["model-value","options","invalid","loading","onValueChange"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].role`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"]),x.role!=="snapshot"&&e(m).sources.length>1&&!e(m).sources.some(d=>(d.useForSnapshot||d.role==="snapshot")&&d._id!==x._id)?(s(),_(e(U),{key:0,"model-value":x.useForSnapshot,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].useForSnapshot`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("div",Vn,[n("div",Bn,[n("label",{for:`sources[${r}].useForSnapshot`,class:"cui-label-switch"},w(c.$t("components.form.label.use_for_snapshot")),9,Gn),o(ge,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[Ge(w(c.$t("components.form.hint.use_for_snapshot")),1)]),_:1}),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].useForSnapshot`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(_e,Q({"model-value":x.useForSnapshot,ref_for:!0},d,{invalid:k.length>0,loading:e(f),class:"ml-auto shrink-0",onValueChange:z=>x.useForSnapshot=z}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):g("",!0),x.role!=="snapshot"?(s(),_(e(U),{key:1,"model-value":x.hotMode,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].hotMode`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[n("div",On,[n("div",Dn,[n("label",{for:`sources[${r}].hotMode`,class:"cui-label-switch"},w(c.$t("components.form.label.hot_mode")),9,Fn),o(ge,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[Ge(w(c.$t("components.form.hint.hot_mode")),1)]),_:1}),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].hotMode`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(_e,Q({"model-value":x.hotMode,ref_for:!0},d,{invalid:k.length>0,loading:e(f),class:"ml-auto shrink-0",onValueChange:z=>x.hotMode=z}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):g("",!0),n("div",qn,[(s(!0),p(ue,null,me(x.urls,(d,k)=>(s(),p("div",{key:k},[n("label",{for:`sources[${r}].urls[]`,class:"cui-label"},w(c.$t("components.form.label.source")),9,Un),e(P)?(s(),_(e(U),{key:0,"model-value":d.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(he,Q({"model-value":d.protocol,ref_for:!0},z,{options:e(Oe),invalid:te.length>0,loading:e(f),"onUpdate:modelValue":q=>ce(q,d)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"]),o(fe,null,{default:t(()=>[B((s(),_(ee,{text:"",rounded:"",severity:"secondary",loading:e(f),onClick:q=>h(void 0,d.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["loading","onClick"])),[[le,{value:c.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]])]),_:2},1024)]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])):g("",!0),n("div",Wn,[e(P)?g("",!0):(s(),_(e(U),{key:0,"model-value":d.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(he,Q({"model-value":d.protocol,ref_for:!0},z,{options:e(Oe),invalid:te.length>0,loading:e(f),pt:{root:{class:"rounded-r-none"}},"onUpdate:modelValue":q=>ce(q,d)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])),o(e(U),{"model-value":d.url,name:`sources[${r}].urls[${k}].url`,as:"div",class:"flex flex-col field-gap w-full"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(Te,{"model-value":d.url,invalid:te.length>0,loading:e(f),multiple:"",fluid:"",typeahead:!1,suggestions:e(y),pt:{inputMultiple:{class:"rounded-none overflow-y-scroll max-h-[42px]"}},onComplete:q=>ie(re(d.protocol).presets),onHide:a[1]||(a[1]=q=>y.value=[]),onValueChange:q=>(z.value=q)&&(d.url=q)},{dropdown:t(({toggleCallback:q})=>[o(fe,null,{default:t(()=>[o(ee,{text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:q},{icon:t(()=>[e(f)?g("",!0):(s(),_($e,{key:0}))]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["model-value","invalid","loading","suggestions","onComplete","onValueChange"]),o(fe,null,{default:t(()=>[e(P)?g("",!0):B((s(),_(ee,{key:0,text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:q=>h(void 0,d.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["disabled","onClick"])),[[le,{value:c.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]]),B((s(),_(ee,{text:"",rounded:"",severity:"secondary",disabled:!d.protocol||!d.url.length||e(f),class:"border-right-color",onClick:q=>h(d)},{icon:t(()=>[o(be,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])),[[le,{value:c.$t("components.dialog.components.new_camera.test_source")},void 0,{top:!0}]]),x.urls.length>1?(s(),_(ee,{key:1,text:"",rounded:"",severity:"danger",disabled:e(f),onClick:Lo(q=>oe(r,k),["prevent"])},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])):g("",!0)]),_:2},1024)]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].url`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])])]))),128)),o(ee,{loading:e(f),label:c.$t("components.form.button.add_source"),class:"ml-auto cui-button-medium",onClick:d=>W(r)},null,8,["loading","label","onClick"])])])]),_:2},1032,["pt"])]),_:2},1032,["value","class"]))),128))]),_:1},8,["value"])]),_:1})]),n("div",zn,[o(ee,{text:"",rounded:"",loading:e(f),class:"cui-icon-2xl",onClick:A},{icon:t(()=>[o(Y,{width:"100%",height:"100%"})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])])}}}),Kn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Yn($,i){return s(),p("svg",Kn,i[0]||(i[0]=[n("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",color:"currentColor"},[n("path",{d:"M2.5 12c0-4.478 0-6.718 1.391-8.109S7.521 2.5 12 2.5c4.478 0 6.718 0 8.109 1.391S21.5 7.521 21.5 12c0 4.478 0 6.718-1.391 8.109S16.479 21.5 12 21.5c-4.478 0-6.718 0-8.109-1.391S2.5 16.479 2.5 12"}),n("path",{d:"m15 15l2 2m-1-5.5a4.5 4.5 0 1 0-9 0a4.5 4.5 0 0 0 9 0"})],-1)]))}const Qn=X({name:"hugeicons-search-square",render:Yn}),Jn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xn($,i){return s(),p("svg",Jn,i[0]||(i[0]=[n("path",{fill:"currentColor","fill-rule":"evenodd",d:"M9.451 3.25h.098c1.602 0 2.872 0 3.876.119c1.03.122 1.88.377 2.588.96q.361.296.659.658c.582.709.837 1.557.96 2.588q.04.348.064.739c.786-.392 1.452-.714 2.007-.896c.652-.213 1.343-.299 1.98.095s.87 1.05.97 1.728c.097.655.097 1.516.097 2.551v.416c0 1.035 0 1.896-.097 2.55c-.1.679-.333 1.335-.97 1.729s-1.328.308-1.98.095c-.555-.182-1.221-.504-2.007-.896q-.023.391-.065.739c-.122 1.03-.377 1.88-.96 2.588q-.296.361-.658.659c-.709.582-1.557.837-2.588.96c-1.005.118-2.274.118-3.876.118H9.45c-1.602 0-2.872 0-3.876-.119c-1.03-.122-1.88-.377-2.588-.96a5 5 0 0 1-.659-.658c-.582-.709-.837-1.557-.96-2.588c-.118-1.005-.118-2.274-.118-3.876V11.45c0-1.602 0-2.872.119-3.876c.122-1.03.377-1.88.96-2.588a5 5 0 0 1 .658-.659c.709-.582 1.557-.837 2.588-.96C6.58 3.25 7.85 3.25 9.451 3.25m6.799 9.25v-1c0-1.662-.001-2.843-.108-3.749c-.105-.889-.304-1.415-.63-1.813a3.3 3.3 0 0 0-.45-.45c-.398-.326-.924-.525-1.813-.63c-.906-.107-2.087-.108-3.749-.108s-2.843.001-3.749.108c-.889.105-1.415.304-1.813.63a3.3 3.3 0 0 0-.45.45c-.326.398-.525.924-.63 1.813c-.107.906-.108 2.087-.108 3.749v1c0 1.662.001 2.843.108 3.749c.105.889.304 1.415.63 1.813q.203.247.45.45c.398.326.924.525 1.813.63c.906.107 2.087.108 3.749.108s2.843-.001 3.749-.108c.889-.105 1.415-.304 1.813-.63q.247-.203.45-.45c.326-.398.525-.924.63-1.813c.107-.906.108-2.087.108-3.749m1.5 1.537l.244.121c.995.498 1.666.831 2.176.998c.499.163.65.1.724.055s.198-.153.275-.673c.079-.53.081-1.28.081-2.392v-.292c0-1.113-.002-1.862-.08-2.392c-.078-.52-.202-.627-.276-.673s-.225-.108-.724.055c-.51.167-1.18.5-2.176.998l-.244.122v4.072M9.5 8.75a.75.75 0 0 1 .75.75v1.75H12a.75.75 0 0 1 0 1.5h-1.75v1.75a.75.75 0 0 1-1.5 0v-1.75H7a.75.75 0 0 1 0-1.5h1.75V9.5a.75.75 0 0 1 .75-.75","clip-rule":"evenodd"},null,-1)]))}const Zn=X({name:"solar-videocamera-add-outline",render:Xn}),ea={key:0,class:"flex flex-col items-center justify-center rounded-md",style:{background:"color-mix(in srgb, var(--card-inner-background), transparent 50%)"}},oa={class:"font-semibold text-base text-color"},ta={class:"text-xs text-muted"},na={class:"font-semibold text-base text-color"},aa={class:"text-xs text-muted"},sa={key:1,class:"w-full h-full"},ra={key:2,class:"w-full h-full"},ia=se({__name:"NewCamera",setup($,{expose:i}){const E=Je("dialogRefProps"),j=de("addRef"),R=de("discoverRef"),G=F(oo),{currentTab:P,goToTab:T}=So(),L=J(()=>{var b,y;return!!((b=E.loading)!=null&&b.value||(y=j.value)!=null&&y.isLoading)});Ze(P,()=>{E.hideConfirmButton.value=P.value!=="add"},{immediate:!0});const M=b=>{G.value=b,T("add")};return i({isLoading:L,onConfirm:async()=>{var b;return(b=j.value)==null?void 0:b.onSave()}}),(b,y)=>{const m=Zn,C=ke,H=Qn,u=Nn,S=Qt;return s(),p("div",null,[e(P)?g("",!0):(s(),p("div",ea,[o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 rounded-b-none pb-6 border-b-[1px] border-color",onClick:y[0]||(y[0]=f=>e(T)("add"))},{default:t(()=>[o(m,{width:"60px",height:"60px",class:"text-primary"}),n("span",oa,w(b.$t("components.dialog.components.new_camera.add_camera")),1),n("span",ta,w(b.$t("components.dialog.components.new_camera.add_camera_description")),1)]),_:1}),o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 py-3 rounded-t-none border-[1px] border-t-0 border-color",onClick:y[1]||(y[1]=f=>e(T)("discover"))},{default:t(()=>[o(H,{width:"60px",height:"60px",class:"text-primary"}),n("span",na,w(b.$t("components.dialog.components.new_camera.discover_cameras")),1),n("span",aa,w(b.$t("components.dialog.components.new_camera.discover_cameras_description")),1)]),_:1})])),e(P)==="add"?(s(),p("div",sa,[o(u,{ref_key:"addRef",ref:j,camera:e(G)},null,8,["camera"])])):g("",!0),e(P)==="discover"?(s(),p("div",ra,[o(S,{ref_key:"discoverRef",ref:R,onAddCamera:M},null,512)])):g("",!0)])}}}),ca={class:"py-4 pb-1 sm:p-0"},la={key:0,class:"page-title pl-4 sm:pl-0"},da={class:"page-title pl-4 sm:pl-0"},ua={class:"w-full h-[60px] p-4 absolute bottom-0 z-1 flex items-center gap-1 justify-between pointer-events-none"},ma={class:"text-xs font-semibold p-2 bg-black/60 rounded-full text-white"},pa={key:0},ha={class:"flex items-center justify-center w-full h-full"},fa={key:1,class:"text-muted"},ss=se({__name:"Cameras",setup($){const i=new Ce,E=$o(),j=Ke(),R=To(),G=Ro(),{t:P}=Be(),{smBreakpoint:T}=Le(),{uiSettings:L}=Go(R),M=Xe({}),{data:O,isFetching:b}=i.getCamerasQuery({page:1,pageSize:-1}),y=J(()=>b.value),m=J(()=>G.showBottombar.value?Po.HEIGHT:0),C=u=>{j.openComponentDialog(et,{data:{title:P("components.dialog.title.log"),confirmText:P("components.form.button.download"),loading:y,stayActive:!0,contentProps:{cameraName:u},dialogContentClass:"not-md:px-0 h-full md:h-[50vh]"}})},H=()=>{j.openStepperDialog(ia,{data:{title:P("components.dialog.components.new_camera.title"),fullscreen:!0,tabs:[{id:"add",title:P("components.dialog.components.new_camera.add_camera")},{id:"discover",title:P("components.dialog.components.new_camera.discover_cameras")}],contentProps:{}}})};return(u,S)=>{const f=Zo,W=De,oe=We,A=ke,Z=Ao,re=Io,ie=Mo,ce=Ye,h=Ee,v=go,V=je;return s(),p("div",ca,[e(L).cameras.showEvents?(s(),p("h1",la,w(u.$t("views.cameras.events")),1)):g("",!0),e(L).cameras.showEvents?(s(),_(f,{key:1,class:"flex w-full mb-3 px-1 sm:px-0"})):g("",!0),n("h1",da,w(u.$t(`views.${String(u.$route.name).toLowerCase()}.title`)),1),o(Vo,{name:"fade-2"},{default:t(()=>{var c,a;return[e(y)?(s(),p("div",{key:"loading",class:"grid w-full gap-2",style:Ie({gridTemplateColumns:`repeat(auto-fill, minmax(${e(T)?"100%":"300px"}, 1fr))`})},[(s(),p(ue,null,me(15,l=>o(W,{key:l,class:xe(["aspect-video !h-auto cui-card",{"!rounded-none !border-0":e(T)}])},null,8,["class"])),64))],4)):(s(),p("div",{key:"cameraCards",class:"grid w-full gap-1",style:Ie({gridTemplateColumns:`repeat(auto-fill, minmax(${e(T)?"100%":"300px"}, 1fr)) ${!e(O)||e(O).result.length<2?"50%":""}`})},[(s(!0),p(ue,null,me((c=e(O))==null?void 0:c.result,l=>(s(),p("div",{key:l.name,class:xe(["dark-mode rounded-xl overflow-hidden border-[1px] border-color relative",{"!border-0 !rounded-none":e(T)}])},[n("div",ua,[n("span",ma,w(l.name),1),B((s(),_(A,{severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto ml-auto",onClick:I=>{var D;return(D=e(M)[l.name])==null?void 0:D.refresh()}},{icon:t(()=>[o(oe,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.refresh_snapshot")},void 0,{top:!0}]]),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?B((s(),_(A,{key:0,severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto",onClick:I=>C(l.name)},{icon:t(()=>[o(Z,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.log")},void 0,{top:!0}]]):g("",!0),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?B((s(),_(A,{key:1,rounded:"",severity:"secondary",class:"cui-icon-md pointer-events-auto",onClick:I=>e(E).open({cameraName:l.name})},{icon:t(()=>[o(re,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.settings")},void 0,{top:!0}]]):g("",!0)]),o(ie,{ref_for:!0,ref:I=>{e(M)[l.name]=I},"camera-name":l.name,class:"cursor-pointer","image-container-class":"w-full h-full",onClick:I=>u.$router.push(`/cameras/${l.name}`)},null,8,["camera-name","onClick"])],2))),128)),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")&&!e(T)?(s(),p("div",pa,[o(h,{class:"cui-card aspect-video",pt:{root:{class:{"!rounded-none !border-0":e(T)}},body:{class:"h-full flex items-center justify-center"}}},{content:t(()=>[n("div",ha,[o(A,{text:"",rounded:"",class:"w-16 h-16 dark-mode",onClick:H},{icon:t(()=>[o(ce,{width:"100%",height:"100%"})]),_:1})])]),_:1},8,["pt"])])):!((a=e(O))!=null&&a.result.length)&&("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"user",!0)?(s(),p("span",fa,w(u.$t("views.cameras.no_cameras")),1)):g("",!0)],4))]}),_:1}),e(T)?B((s(),_(A,{key:2,rounded:"",class:"transition-all cui-icon-3xl fixed right-safe-offset-5 z-10 shadow-lg text-white",style:Ie({bottom:`calc(${e(m)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`}),onClick:H},{icon:t(()=>[o(v,{width:"30px",height:"30px"})]),_:1},8,["style"])),[[V,{value:u.$t("views.cameras.add_camera")},void 0,{top:!0}]]):g("",!0)])}}});export{ss as default};
|
|
482
|
+
`,oo={disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{_id:ye(8),name:"",role:"high-resolution",urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!1}],recording:{enabled:!1},interface:{streamingMode:"auto",streamingSource:"auto",aspectRatio:"16:9"},extensions:{hub:[],plugins:[]}},Pn={class:"card-title"},An={class:"flex flex-col gap-6"},In={for:"name",class:"cui-label"},Mn={class:"card-title"},Hn={class:"flex gap-2 items-center w-full"},jn={class:"flex gap-2 items-center w-full"},En={class:"text-color text-sm"},Ln={class:"flex flex-col gap-6"},Vn=["for"],Gn=["for"],Bn={class:"flex items-center gap-4"},On={class:"flex flex-col field-switch-gap"},Un=["for"],Dn={class:"flex items-center gap-4"},qn={class:"flex flex-col field-switch-gap"},Fn=["for"],Wn={class:"flex flex-col gap-6"},zn=["for"],Nn={class:"w-full flex flex-row my-1"},Kn={class:"w-full flex items-center justify-center"},Yn=se({__name:"AddCamera",props:{camera:{default:()=>oo}},setup(T,{expose:c}){const j=new Ce,E=Ke(),R=Ne(),{t:B}=Ge(),{xsBreakpoint:P}=Le(),$=T,{camera:L}=Ve($),M=de("formRef"),O=D(["high-resolution","mid-resolution","low-resolution","snapshot"]),b=D([0]),y=D([]),m=D(He(L.value)),{mutateAsync:C,isPending:H}=j.createCameraQuery(),{mutateAsync:u,isPending:S}=j.previewCameraQuery(),f=Q(()=>H.value||S.value),W=l=>{m.value.sources[l].urls.push({protocol:"rtsp://",url:[]})},oe=(l,n)=>{m.value.sources[l].urls.splice(n,1)},A=()=>{m.value.sources.push({_id:ye(8),name:"",role:null,urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!1}),b.value=[m.value.sources.length]},Z=l=>{m.value.sources.splice(l,1)},re=l=>{let n,i,I;switch(l){case"bubble://":n=[],i=Object.assign({"../../../../../markdowns/bubble.md":nn});break;case"cui://":n=[],i=Object.assign({"../../../../../markdowns/cui.md":an});break;case"doorbird://":n=[],i=Object.assign({"../../../../../markdowns/doorbird.md":sn});break;case"dvrip://":n=[],i=Object.assign({"../../../../../markdowns/dvrip.md":rn});break;case"echo:":n=[],i=Object.assign({"../../../../../markdowns/echo.md":cn});break;case"eseecloud://":n=[],i=Object.assign({});break;case"exec:":n=[],i=Object.assign({"../../../../../markdowns/exec.md":ln});break;case"expr:":n=[],i=Object.assign({"../../../../../markdowns/expr.md":dn});break;case"ffmpeg:":n=Me,i=Object.assign({"../../../../../markdowns/ffmpeg.md":un});break;case"flussonic://":n=Me,i=Object.assign({});break;case"gopro://":n=Me,i=Object.assign({"../../../../../markdowns/gopro.md":mn});break;case"hass:":n=[],i=Object.assign({"../../../../../markdowns/hass.md":pn});break;case"homekit://":n=Uo,i=Object.assign({"../../../../../markdowns/homekit.md":hn});break;case"http://":case"https://":case"httpx://":case"tcp://":n=Do,i=Object.assign({"../../../../../markdowns/http.md":fn});break;case"isapi://":n=[],i=Object.assign({"../../../../../markdowns/isapi.md":_n});break;case"ivideon:":n=[],i=Object.assign({"../../../../../markdowns/ivideon.md":gn});break;case"kasa://":n=[],i=Object.assign({"../../../../../markdowns/kasa.md":vn});break;case"nest:":n=qo,i=Object.assign({"../../../../../markdowns/nest.md":bn});break;case"onvif://":n=[],i=Object.assign({"../../../../../markdowns/onvif.md":wn});break;case"ring:":n=Fo,i=Object.assign({"../../../../../markdowns/ring.md":yn});break;case"roborock://":n=[],i=Object.assign({"../../../../../markdowns/roborock.md":xn});break;case"rtmp://":n=[],i=Object.assign({"../../../../../markdowns/rtmp.md":kn});break;case"rtsp://":case"rtspx://":n=Oo,i=Object.assign({"../../../../../markdowns/rtsp.md":Cn});break;case"tapo://":n=[],i=Object.assign({"../../../../../markdowns/tapo.md":Sn});break;case"tuya://":n=[],i=Object.assign({"../../../../../markdowns/tuya.md":Tn});break;case"webrtc:":n=Wo,i=Object.assign({"../../../../../markdowns/webrtc.md":$n});break;case"webtorrent:":n=[],i=Object.assign({"../../../../../markdowns/webtorrent.md":Rn});break;default:n=[],i=void 0;break}return i&&(I=Object.values(i)[0]),{presets:n,md:I}},ie=l=>{y.value=l},ce=(l,n)=>{n.protocol=l},h=async(l,n)=>{if(!(!l&&!n)){if(l){const i={url:v(l)};try{const I=await u({cameraData:i});E.openImageDialog({data:{title:B("components.dialog.title.preview"),src:`data:image/jpeg;base64,${I}`,hideConfirmButton:!0}})}catch{}}else if(n){const i=re(n);if(!i.md)return;E.openTextDialog({data:{title:B("components.dialog.title.information"),hideConfirmButton:!0,contentText:i.md,markdown:!0}})}}},v=l=>{let n=l.url.join("");switch(l.protocol){case"nest:":case"ring:":case"webtorrent:":!n.startsWith("?")&&!n.startsWith(l.protocol)&&(n=`?${n}`)}return n.startsWith(l.protocol)?n:`${l.protocol}${n}`};return c({isLoading:f,onSave:async()=>{var I;const l=await((I=M.value)==null?void 0:I.validate());if(!(l!=null&&l.valid))return R.add({severity:"error",summary:B("components.toast.title_error"),detail:B("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",l),null;const n=He(m.value),i={...n,type:"camera",isCloud:!1,snapshotTTL:600,detectionZones:[],detectionSettings:{motion:{timeout:60},object:{confidence:.7}},frameWorkerSettings:{decoder:"rust",fps:10,resolution:"320x180"},sources:n.sources.map(U=>{const pe=U.urls.map(ae=>{if(ae.url)return v(ae)}).filter(Boolean);return{...U,urls:pe}})};await C({cameraData:i})}}),(l,n)=>{const i=qe,I=De,U=je,pe=lo,ae=ze,ee=ke,Se=co,he=mo,_e=po,ge=ho,ve=Co,fe=Fe,Te=tn,$e=fo,be=Zt,Re=uo,Pe=io,Ae=ro,Y=Ye,le=Ee;return s(),p("div",null,[o(e(eo),{ref_key:"formRef",ref:M,class:"flex flex-col w-full gap-6","validation-schema":e(ko)},{default:t(()=>[a("div",null,[a("span",Pn,w(l.$t("components.dialog.components.new_camera.camera")),1),o(U,{class:"cui-card"},{content:t(()=>[a("div",An,[o(e(F),{modelValue:e(m).name,"onUpdate:modelValue":n[0]||(n[0]=x=>e(m).name=x),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:x,errors:r})=>[a("label",In,w(l.$t("components.form.label.name")),1),o(I,null,{default:t(()=>[o(i,X(x,{invalid:r.length>0,loading:e(f),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),a("div",null,[a("span",Mn,w(l.$t("components.form.label.sources")),1),o(U,{class:"cui-card border-color-inner",pt:{body:{class:"pb-0"}}},{content:t(()=>[o(Ae,{value:e(b),"onUpdate:value":n[2]||(n[2]=x=>ne(b)?b.value=x:null),multiple:""},{default:t(()=>[(s(!0),p(ue,null,me(e(m).sources,(x,r)=>(s(),g(Pe,{key:r,value:r,class:xe({"border-b-0":r===e(m).sources.length-1})},{default:t(()=>[o(Se,{class:xe({"px-0 pt-0":r===0,"px-0":r!==0,"pb-5":r===e(m).sources.length-1})},{default:t(()=>[a("div",Hn,[a("div",jn,[a("span",En,w(l.$t("components.dialog.components.new_camera.source")+": "),1),o(pe,{class:"text-color text-xs border-[1px] bg-primary-500/20 border-primary-500/30 py-2 px-3 rounded-full overflow-hidden",label:x.name!==""?x.name:l.$t("components.dialog.components.new_camera.unknown")},null,8,["label"])]),e(m).sources.length>1?(s(),g(ee,{key:0,text:"",rounded:"",severity:"danger",class:"cui-icon-md ml-auto mr-2",loading:e(f),onClick:d=>Z(r)},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["loading","onClick"])):_("",!0)])]),_:2},1032,["class"]),o(Re,{pt:{content:{class:{"px-0":!0,"pb-5":r===e(m).sources.length-1}}}},{default:t(()=>[a("div",Ln,[o(e(F),{modelValue:x.name,"onUpdate:modelValue":d=>x.name=d,modelModifiers:{trim:!0},name:`sources[${r}].name`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",{for:`sources[${r}].name`,class:"cui-label"},w(l.$t("components.form.label.source_name")),9,Vn),o(I,null,{default:t(()=>[o(i,X({ref_for:!0},d,{invalid:k.length>0,loading:e(f),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].name`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),o(e(F),{"model-value":x.role,name:`sources[${r}].role`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",{for:`sources[${r}].role`,class:"cui-label"},w(l.$t("components.form.label.source_role")),9,Gn),o(I,null,{default:t(()=>[o(he,X({"model-value":x.role,ref_for:!0},d,{options:e(O).filter(z=>!e(m).sources.some(te=>te.role===z&&te._id!==x._id)),invalid:k.length>0,loading:e(f),onValueChange:z=>x.role=z}),null,16,["model-value","options","invalid","loading","onValueChange"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].role`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"]),x.role!=="snapshot"&&e(m).sources.length>1&&!e(m).sources.some(d=>(d.useForSnapshot||d.role==="snapshot")&&d._id!==x._id)?(s(),g(e(F),{key:0,"model-value":x.useForSnapshot,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].useForSnapshot`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("div",Bn,[a("div",On,[a("label",{for:`sources[${r}].useForSnapshot`,class:"cui-label-switch"},w(l.$t("components.form.label.use_for_snapshot")),9,Un),o(_e,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[Be(w(l.$t("components.form.hint.use_for_snapshot")),1)]),_:1}),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].useForSnapshot`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(ge,X({"model-value":x.useForSnapshot,ref_for:!0},d,{invalid:k.length>0,loading:e(f),class:"ml-auto shrink-0",onValueChange:z=>x.useForSnapshot=z}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),x.role!=="snapshot"?(s(),g(e(F),{key:1,"model-value":x.hotMode,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].hotMode`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("div",Dn,[a("div",qn,[a("label",{for:`sources[${r}].hotMode`,class:"cui-label-switch"},w(l.$t("components.form.label.hot_mode")),9,Fn),o(_e,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[Be(w(l.$t("components.form.hint.hot_mode")),1)]),_:1}),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].hotMode`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(ge,X({"model-value":x.hotMode,ref_for:!0},d,{invalid:k.length>0,loading:e(f),class:"ml-auto shrink-0",onValueChange:z=>x.hotMode=z}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),a("div",Wn,[(s(!0),p(ue,null,me(x.urls,(d,k)=>(s(),p("div",{key:k},[a("label",{for:`sources[${r}].urls[]`,class:"cui-label"},w(l.$t("components.form.label.source")),9,zn),e(P)?(s(),g(e(F),{key:0,"model-value":d.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(he,X({"model-value":d.protocol,ref_for:!0},z,{options:e(Oe),invalid:te.length>0,loading:e(f),"onUpdate:modelValue":q=>ce(q,d)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"]),o(fe,null,{default:t(()=>[G((s(),g(ee,{text:"",rounded:"",severity:"secondary",loading:e(f),onClick:q=>h(void 0,d.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["loading","onClick"])),[[le,{value:l.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]])]),_:2},1024)]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])):_("",!0),a("div",Nn,[e(P)?_("",!0):(s(),g(e(F),{key:0,"model-value":d.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(he,X({"model-value":d.protocol,ref_for:!0},z,{options:e(Oe),invalid:te.length>0,loading:e(f),pt:{root:{class:"rounded-r-none"}},"onUpdate:modelValue":q=>ce(q,d)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])),o(e(F),{"model-value":d.url,name:`sources[${r}].urls[${k}].url`,as:"div",class:"flex flex-col field-gap w-full"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o($e,{"model-value":d.url,invalid:te.length>0,loading:e(f),multiple:"",fluid:"",typeahead:!1,suggestions:e(y),pt:{inputMultiple:{class:"rounded-none overflow-y-scroll max-h-[42px]"}},onComplete:q=>ie(re(d.protocol).presets),onHide:n[1]||(n[1]=q=>y.value=[]),onValueChange:q=>(z.value=q)&&(d.url=q)},{dropdown:t(({toggleCallback:q})=>[o(fe,null,{default:t(()=>[o(ee,{text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:q},{icon:t(()=>[e(f)?_("",!0):(s(),g(Te,{key:0}))]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["model-value","invalid","loading","suggestions","onComplete","onValueChange"]),o(fe,null,{default:t(()=>[e(P)?_("",!0):G((s(),g(ee,{key:0,text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:q=>h(void 0,d.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["disabled","onClick"])),[[le,{value:l.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]]),G((s(),g(ee,{text:"",rounded:"",severity:"secondary",disabled:!d.protocol||!d.url.length||e(f),class:"border-right-color",onClick:q=>h(d)},{icon:t(()=>[o(be,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])),[[le,{value:l.$t("components.dialog.components.new_camera.test_source")},void 0,{top:!0}]]),x.urls.length>1?(s(),g(ee,{key:1,text:"",rounded:"",severity:"danger",disabled:e(f),onClick:Lo(q=>oe(r,k),["prevent"])},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])):_("",!0)]),_:2},1024)]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].url`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])])]))),128)),o(ee,{loading:e(f),label:l.$t("components.form.button.add_source"),class:"ml-auto cui-button-medium",onClick:d=>W(r)},null,8,["loading","label","onClick"])])])]),_:2},1032,["pt"])]),_:2},1032,["value","class"]))),128))]),_:1},8,["value"])]),_:1})]),a("div",Kn,[o(ee,{text:"",rounded:"",loading:e(f),class:"cui-icon-2xl",onClick:A},{icon:t(()=>[o(Y,{width:"100%",height:"100%"})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])])}}}),Xn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qn(T,c){return s(),p("svg",Xn,c[0]||(c[0]=[a("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",color:"currentColor"},[a("path",{d:"M2.5 12c0-4.478 0-6.718 1.391-8.109S7.521 2.5 12 2.5c4.478 0 6.718 0 8.109 1.391S21.5 7.521 21.5 12c0 4.478 0 6.718-1.391 8.109S16.479 21.5 12 21.5c-4.478 0-6.718 0-8.109-1.391S2.5 16.479 2.5 12"}),a("path",{d:"m15 15l2 2m-1-5.5a4.5 4.5 0 1 0-9 0a4.5 4.5 0 0 0 9 0"})],-1)]))}const Jn=J({name:"hugeicons-search-square",render:Qn}),Zn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ea(T,c){return s(),p("svg",Zn,c[0]||(c[0]=[a("path",{fill:"currentColor","fill-rule":"evenodd",d:"M9.451 3.25h.098c1.602 0 2.872 0 3.876.119c1.03.122 1.88.377 2.588.96q.361.296.659.658c.582.709.837 1.557.96 2.588q.04.348.064.739c.786-.392 1.452-.714 2.007-.896c.652-.213 1.343-.299 1.98.095s.87 1.05.97 1.728c.097.655.097 1.516.097 2.551v.416c0 1.035 0 1.896-.097 2.55c-.1.679-.333 1.335-.97 1.729s-1.328.308-1.98.095c-.555-.182-1.221-.504-2.007-.896q-.023.391-.065.739c-.122 1.03-.377 1.88-.96 2.588q-.296.361-.658.659c-.709.582-1.557.837-2.588.96c-1.005.118-2.274.118-3.876.118H9.45c-1.602 0-2.872 0-3.876-.119c-1.03-.122-1.88-.377-2.588-.96a5 5 0 0 1-.659-.658c-.582-.709-.837-1.557-.96-2.588c-.118-1.005-.118-2.274-.118-3.876V11.45c0-1.602 0-2.872.119-3.876c.122-1.03.377-1.88.96-2.588a5 5 0 0 1 .658-.659c.709-.582 1.557-.837 2.588-.96C6.58 3.25 7.85 3.25 9.451 3.25m6.799 9.25v-1c0-1.662-.001-2.843-.108-3.749c-.105-.889-.304-1.415-.63-1.813a3.3 3.3 0 0 0-.45-.45c-.398-.326-.924-.525-1.813-.63c-.906-.107-2.087-.108-3.749-.108s-2.843.001-3.749.108c-.889.105-1.415.304-1.813.63a3.3 3.3 0 0 0-.45.45c-.326.398-.525.924-.63 1.813c-.107.906-.108 2.087-.108 3.749v1c0 1.662.001 2.843.108 3.749c.105.889.304 1.415.63 1.813q.203.247.45.45c.398.326.924.525 1.813.63c.906.107 2.087.108 3.749.108s2.843-.001 3.749-.108c.889-.105 1.415-.304 1.813-.63q.247-.203.45-.45c.326-.398.525-.924.63-1.813c.107-.906.108-2.087.108-3.749m1.5 1.537l.244.121c.995.498 1.666.831 2.176.998c.499.163.65.1.724.055s.198-.153.275-.673c.079-.53.081-1.28.081-2.392v-.292c0-1.113-.002-1.862-.08-2.392c-.078-.52-.202-.627-.276-.673s-.225-.108-.724.055c-.51.167-1.18.5-2.176.998l-.244.122v4.072M9.5 8.75a.75.75 0 0 1 .75.75v1.75H12a.75.75 0 0 1 0 1.5h-1.75v1.75a.75.75 0 0 1-1.5 0v-1.75H7a.75.75 0 0 1 0-1.5h1.75V9.5a.75.75 0 0 1 .75-.75","clip-rule":"evenodd"},null,-1)]))}const oa=J({name:"solar-videocamera-add-outline",render:ea}),ta={key:0,class:"flex flex-col items-center justify-center rounded-md",style:{background:"color-mix(in srgb, var(--card-inner-background), transparent 50%)"}},na={class:"font-semibold text-base text-color"},aa={class:"text-xs text-muted"},sa={class:"font-semibold text-base text-color"},ra={class:"text-xs text-muted"},ia={key:1,class:"w-full h-full"},ca={key:2,class:"w-full h-full"},la=se({__name:"NewCamera",setup(T,{expose:c}){const j=Qe("dialogRefProps"),E=de("addRef"),R=de("discoverRef"),B=D(oo),{currentTab:P,goToTab:$}=So(),L=Q(()=>{var b,y;return!!((b=j.loading)!=null&&b.value||(y=E.value)!=null&&y.isLoading)});Ze(P,()=>{j.hideConfirmButton.value=P.value!=="add"},{immediate:!0});const M=b=>{B.value=b,$("add")};return c({isLoading:L,onConfirm:async()=>{var b;return(b=E.value)==null?void 0:b.onSave()}}),(b,y)=>{const m=oa,C=ke,H=Jn,u=Yn,S=Xt;return s(),p("div",null,[e(P)?_("",!0):(s(),p("div",ta,[o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 rounded-b-none pb-6 border-b-[1px] border-color",onClick:y[0]||(y[0]=f=>e($)("add"))},{default:t(()=>[o(m,{width:"60px",height:"60px",class:"text-primary"}),a("span",na,w(b.$t("components.dialog.components.new_camera.add_camera")),1),a("span",aa,w(b.$t("components.dialog.components.new_camera.add_camera_description")),1)]),_:1}),o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 py-3 rounded-t-none border-[1px] border-t-0 border-color",onClick:y[1]||(y[1]=f=>e($)("discover"))},{default:t(()=>[o(H,{width:"60px",height:"60px",class:"text-primary"}),a("span",sa,w(b.$t("components.dialog.components.new_camera.discover_cameras")),1),a("span",ra,w(b.$t("components.dialog.components.new_camera.discover_cameras_description")),1)]),_:1})])),e(P)==="add"?(s(),p("div",ia,[o(u,{ref_key:"addRef",ref:E,camera:e(B)},null,8,["camera"])])):_("",!0),e(P)==="discover"?(s(),p("div",ca,[o(S,{ref_key:"discoverRef",ref:R,onAddCamera:M},null,512)])):_("",!0)])}}}),da={class:"py-4 pb-1 sm:p-0"},ua={key:0,class:"page-title pl-4 sm:pl-0"},ma={class:"page-title pl-4 sm:pl-0"},pa={class:"w-full h-[60px] p-4 absolute bottom-0 z-1 flex items-center gap-1 justify-between pointer-events-none"},ha={class:"text-xs font-semibold p-2 bg-black/60 rounded-full text-white"},fa={key:0},_a={class:"flex items-center justify-center w-full h-full"},ga={key:1,class:"text-muted"},is=se({__name:"Cameras",setup(T){const c=new Ce,j=To(),E=Ke(),R=$o(),B=Ro(),{t:P}=Ge(),{smBreakpoint:$}=Le(),{uiSettings:L}=Bo(R),M=Je({}),{data:O,isFetching:b}=c.getCamerasQuery({page:1,pageSize:-1}),y=Q(()=>b.value),m=Q(()=>B.showBottombar.value?Po.HEIGHT:0),C=u=>{E.openComponentDialog(et,{data:{title:P("components.dialog.title.log"),confirmText:P("components.form.button.download"),loading:y,stayActive:!0,contentProps:{cameraName:u},dialogContentClass:"not-md:px-0 h-full md:h-[50vh]"}})},H=()=>{E.openStepperDialog(la,{data:{title:P("components.dialog.components.new_camera.title"),fullscreen:!0,tabs:[{id:"add",title:P("components.dialog.components.new_camera.add_camera")},{id:"discover",title:P("components.dialog.components.new_camera.discover_cameras")}],contentProps:{}}})};return(u,S)=>{const f=Zo,W=Ue,oe=We,A=ke,Z=Ao,re=Io,ie=Mo,ce=Ye,h=je,v=_o,V=Ee;return s(),p("div",da,[e(L).cameras.showEvents?(s(),p("h1",ua,w(u.$t("views.cameras.events")),1)):_("",!0),e(L).cameras.showEvents?(s(),g(f,{key:1,class:"flex w-full mb-3 px-1 sm:px-0"})):_("",!0),a("h1",ma,w(u.$t(`views.${String(u.$route.name).toLowerCase()}.title`)),1),o(Vo,{name:"fade-2"},{default:t(()=>{var l,n;return[e(y)?(s(),p("div",{key:"loading",class:"grid w-full gap-2",style:Ie({gridTemplateColumns:`repeat(auto-fill, minmax(${e($)?"100%":"300px"}, 1fr))`})},[(s(),p(ue,null,me(15,i=>o(W,{key:i,class:xe(["aspect-video !h-auto cui-card",{"!rounded-none !border-0":e($)}])},null,8,["class"])),64))],4)):(s(),p("div",{key:"cameraCards",class:"grid w-full gap-1",style:Ie({gridTemplateColumns:`repeat(auto-fill, minmax(${e($)?"100%":"300px"}, 1fr)) ${!e(O)||e(O).result.length<2?"50%":""}`})},[(s(!0),p(ue,null,me((l=e(O))==null?void 0:l.result,i=>(s(),p("div",{key:i.name,class:xe(["dark-mode rounded-xl overflow-hidden border-[1px] border-color relative",{"!border-0 !rounded-none":e($)}])},[a("div",pa,[a("span",ha,w(i.name),1),G((s(),g(A,{severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto ml-auto",onClick:I=>{var U;return(U=e(M)[i.name])==null?void 0:U.refresh()}},{icon:t(()=>[o(oe,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.refresh_snapshot")},void 0,{top:!0}]]),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?G((s(),g(A,{key:0,severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto",onClick:I=>C(i.name)},{icon:t(()=>[o(Z,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.log")},void 0,{top:!0}]]):_("",!0),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?G((s(),g(A,{key:1,rounded:"",severity:"secondary",class:"cui-icon-md pointer-events-auto",onClick:I=>e(j).open({cameraName:i.name})},{icon:t(()=>[o(re,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.settings")},void 0,{top:!0}]]):_("",!0)]),o(ie,{ref_for:!0,ref:I=>{e(M)[i.name]=I},"camera-name":i.name,class:"cursor-pointer","image-container-class":"w-full h-full",onClick:I=>u.$router.push(`/cameras/${i.name}`)},null,8,["camera-name","onClick"])],2))),128)),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")&&!e($)?(s(),p("div",fa,[o(h,{class:"cui-card aspect-video",pt:{root:{class:{"!rounded-none !border-0":e($)}},body:{class:"h-full flex items-center justify-center"}}},{content:t(()=>[a("div",_a,[o(A,{text:"",rounded:"",class:"w-16 h-16 dark-mode",onClick:H},{icon:t(()=>[o(ce,{width:"100%",height:"100%"})]),_:1})])]),_:1},8,["pt"])])):!((n=e(O))!=null&&n.result.length)&&("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"user",!0)?(s(),p("span",ga,w(u.$t("views.cameras.no_cameras")),1)):_("",!0)],4))]}),_:1}),e($)?G((s(),g(A,{key:2,rounded:"",class:"transition-all cui-icon-3xl fixed right-safe-offset-5 z-10 shadow-lg text-white",style:Ie({bottom:`calc(${e(m)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`}),onClick:H},{icon:t(()=>[o(v,{width:"30px",height:"30px"})]),_:1},8,["style"])),[[V,{value:u.$t("views.cameras.add_camera")},void 0,{top:!0}]]):_("",!0)])}}});export{is as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as i}from"./main.CSFn75gu.0.0.61.js";import{c as m,d as p,e as r,I as e}from"./@vue.Dh6viqaK.0.0.61.js";import"./@tanstack.D99l6E9D.0.0.61.js";import"./primevue.BQCl5r00.0.0.61.js";import"./@primeuix.BkBDkSvZ.0.0.61.js";import"./@primevue.BCjih5Jf.0.0.61.js";import"./@vueuse.uEhQJBbY.0.0.61.js";import"./nprogress.C6jqyYpl.0.0.61.js";import"./@xterm.Cx3O7Ekx.0.0.61.js";import"./axios.DHr9lByg.0.0.61.js";import"./vue-i18n.Bx27003X.0.0.61.js";import"./@intlify.BkGPX90O.0.0.61.js";import"./pinia.Ce2AoJ4B.0.0.61.js";import"./vue-router.WaP3pgu4.0.0.61.js";import"./vue-inline-svg.BGBQlK38.0.0.61.js";import"./vee-validate.B28I0c16.0.0.61.js";import"./@vee-validate.EIHvDDjD.0.0.61.js";import"./zod.sy4ilHCy.0.0.61.js";import"./uuid.C6aID195.0.0.61.js";import"./socket.io-client.DEvptqVI.0.0.61.js";import"./engine.io-client.DQUYKGS-.0.0.61.js";import"./engine.io-parser.BiEtp6m2.0.0.61.js";import"./@socket.io.Dkula2eQ.0.0.61.js";import"./socket.io-parser.B2tx1dXn.0.0.61.js";import"./rxjs.DhvUQXhg.0.0.61.js";import"./tslib.9k7AwCpt.0.0.61.js";import"./highlight.js.CTb4uGfg.0.0.61.js";import"./markdown-it.BEChFoJn.0.0.61.js";import"./mdurl.k9Sl0PQj.0.0.61.js";import"./uc.micro.kMc2yuuw.0.0.61.js";import"./entities.C20TfXL6.0.0.61.js";import"./linkify-it.CkKeZgHJ.0.0.61.js";import"./punycode.js.Dj65hjkv.0.0.61.js";import"./qrcode.DX-tYXEz.0.0.61.js";import"./dijkstrajs.C00ieaqj.0.0.61.js";import"./draggabilly.DkQ715sX.0.0.61.js";import"./get-size.D1dS-IaP.0.0.61.js";import"./unidragger.YOf5ngrS.0.0.61.js";import"./ev-emitter.X5f1qa-c.0.0.61.js";import"./vue-zoomable.BPwZ2ziD.0.0.61.js";import"./primelocale.Bga3dOQu.0.0.61.js";const s={},a={class:"page-title"};function n(t,o){return p(),m("div",null,[r("h1",a,e(t.$t(`views.${String(t.$route.name).toLowerCase()}.title`)),1),o[0]||(o[0]=r("span",{class:"text-muted"},"WIP",-1))])}const X=i(s,[["render",n]]);export{X as default};
|