@camera.ui/server 0.0.40 → 0.0.41

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.
Files changed (142) hide show
  1. package/dist/interface/{@tanstack.DN6xEWwc.0.0.40.js → @tanstack.BMdKtFKV.0.0.41.js} +1 -1
  2. package/dist/interface/{@vee-validate.DGExY8om.0.0.40.js → @vee-validate.BN6pp7gT.0.0.41.js} +1 -1
  3. package/dist/interface/{@vue.PV_2gLoq.0.0.40.js → @vue.HgptpWSe.0.0.41.js} +1 -1
  4. package/dist/interface/{@vueform.NhOuWDxV.0.0.40.js → @vueform.o-ddyf2r.0.0.41.js} +1 -1
  5. package/dist/interface/{@vueuse.C9nAp_qw.0.0.40.js → @vueuse.0AqyrsW4.0.0.41.js} +1 -1
  6. package/dist/interface/{Account.BDkqURwa.0.0.40.js → Account.rWnoeynZ.0.0.41.js} +1 -1
  7. package/dist/interface/{Adminpanel.BnV2YgBI.0.0.40.js → Adminpanel.DmVBZO7B.0.0.41.js} +2 -2
  8. package/dist/interface/{Appearance.Doe36b4o.0.0.40.js → Appearance.CWq9SdBF.0.0.41.js} +1 -1
  9. package/dist/interface/{Backup.TzSY6VNu.0.0.40.js → Backup.gg2dY5Kw.0.0.41.js} +1 -1
  10. package/dist/interface/{Camera.D8oBQGzz.0.0.40.js → Camera.DC8dTFKj.0.0.41.js} +1 -1
  11. package/dist/interface/{Cameras.okZ80wIv.0.0.40.js → Cameras.BTbXKjiK.0.0.41.js} +1 -1
  12. package/dist/interface/{Camview.bUHs3eEA.0.0.40.js → Camview.9qmsYNcJ.0.0.41.js} +1 -1
  13. package/dist/interface/{Config.BFoCyyZM.0.0.40.js → Config.B6iyCBiG.0.0.41.js} +1 -1
  14. package/dist/interface/{Console.DrZjod9p.0.0.40.js → Console.D8_i4IrL.0.0.41.js} +1 -1
  15. package/dist/interface/{FirstSteps.BRAFBtOM.0.0.40.js → FirstSteps.CNdfoio6.0.0.41.js} +1 -1
  16. package/dist/interface/{NewCamera.BRR6R8Aq.0.0.40.js → NewCamera.DboRF8X5.0.0.41.js} +2 -2
  17. package/dist/interface/{Plugin.XHcOtD_R.0.0.40.js → Plugin.CtbpXA8-.0.0.41.js} +1 -1
  18. package/dist/interface/{Plugins.eTb8FApS.0.0.40.js → Plugins.C-h6Ohpb.0.0.41.js} +1 -1
  19. package/dist/interface/Recordings.DDez2bDG.0.0.41.js +1 -0
  20. package/dist/interface/Recordings.nAMAxDb-.0.0.41.js +1 -0
  21. package/dist/interface/{Settings.CzbuyfYr.0.0.40.js → Settings.BLIeDAua.0.0.41.js} +1 -1
  22. package/dist/interface/{System.CKIo2_uX.0.0.40.js → System.ttFMkejl.0.0.41.js} +1 -1
  23. package/dist/interface/{User.CeRd6RLu.0.0.40.js → User.ByejsWGp.0.0.41.js} +1 -1
  24. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.B68gG-Th.0.0.40.js → VConfigEditor.vue_vue_type_script_setup_true_lang.Cl2zDL7n.0.0.41.js} +2 -2
  25. package/dist/interface/{VConsole.BTHoxSrh.0.0.40.js → VConsole.C_RAZERN.0.0.41.js} +1 -1
  26. package/dist/interface/VPlayer.C-i6REq9.0.0.41.js +4 -0
  27. package/dist/interface/{VPluginCard.BskYYx6z.0.0.40.js → VPluginCard.DuHfeDOo.0.0.41.js} +1 -1
  28. package/dist/interface/{ace-builds.IHJvJWwn.0.0.40.js → ace-builds.CJ5_HA6k.0.0.41.js} +1 -1
  29. package/dist/interface/{apexcharts.CChAu4xp.0.0.40.js → apexcharts.BvzAjsR8.0.0.41.js} +1 -1
  30. package/dist/interface/assets/NewCamera.0.0.41.C7CL-ujd.css +1 -0
  31. package/dist/interface/assets/{VPlayer.0.0.40.ZIghSLhp.css → VPlayer.0.0.41.C4lm2rVR.css} +1 -1
  32. package/dist/interface/assets/{vuetify.0.0.40.BMU5FWcv.css → vuetify.0.0.41.Dua9WSqa.css} +1 -1
  33. package/dist/interface/{backup.DANuXByh.0.0.40.js → backup.Eqa_gnBJ.0.0.41.js} +1 -1
  34. package/dist/interface/{dnd-core.ZmlET4hC.0.0.40.js → dnd-core.DlR0vdws.0.0.41.js} +1 -1
  35. package/dist/interface/{draggabilly.DAhNCk3u.0.0.40.js → draggabilly.MGblyd4O.0.0.41.js} +1 -1
  36. package/dist/interface/{engine.io-client.Cq18b4el.0.0.40.js → engine.io-client.Bmv4tt9j.0.0.41.js} +1 -1
  37. package/dist/interface/{fast-deep-equal.DrH0s-yy.0.0.40.js → fast-deep-equal.CltXOu8w.0.0.41.js} +1 -1
  38. package/dist/interface/{highlight.js.ChmOd23J.0.0.40.js → highlight.js.BI1DQKiW.0.0.41.js} +1 -1
  39. package/dist/interface/index.html +32 -32
  40. package/dist/interface/{linkify-it.C4Rswv8X.0.0.40.js → linkify-it.DIqOOItF.0.0.41.js} +1 -1
  41. package/dist/interface/main.DGoYNhZz.0.0.41.js +5 -0
  42. package/dist/interface/{markdown-it.BWOplVxV.0.0.40.js → markdown-it.BoSfr4I_.0.0.41.js} +1 -1
  43. package/dist/interface/{nprogress.BwLMR6Bn.0.0.40.js → nprogress.B4qekFjh.0.0.41.js} +1 -1
  44. package/dist/interface/{pinia.Iog12xl6.0.0.40.js → pinia.CzEXGLAe.0.0.41.js} +1 -1
  45. package/dist/interface/{plugins.CnjfokBM.0.0.40.js → plugins.5zIS5blM.0.0.41.js} +1 -1
  46. package/dist/interface/{qrcode.DP_K3922.0.0.40.js → qrcode.BIXps75H.0.0.41.js} +1 -1
  47. package/dist/interface/{react-dnd-touch-backend.BKYEIvTJ.0.0.40.js → react-dnd-touch-backend.BP3qju5g.0.0.41.js} +1 -1
  48. package/dist/interface/{rxjs.CZM8Xehd.0.0.40.js → rxjs.Dq5nE0it.0.0.41.js} +1 -1
  49. package/dist/interface/{socket.io-client.BneKYXJS.0.0.40.js → socket.io-client.Dd2M9OF7.0.0.41.js} +1 -1
  50. package/dist/interface/{socket.io-parser.BsC63_fg.0.0.40.js → socket.io-parser.BP9NTxl9.0.0.41.js} +1 -1
  51. package/dist/interface/sw.js +1 -1
  52. package/dist/interface/{system.BDb0ERWC.0.0.40.js → system.CX3eZanU.0.0.41.js} +1 -1
  53. package/dist/interface/{unidragger.BhtCwpmU.0.0.40.js → unidragger.Coz7gnad.0.0.41.js} +1 -1
  54. package/dist/interface/{vee-validate.CKoVC6cx.0.0.40.js → vee-validate.rx6EoM-V.0.0.41.js} +1 -1
  55. package/dist/interface/{vue-i18n.Cb6M-BsS.0.0.40.js → vue-i18n.CLbC5t4S.0.0.41.js} +1 -1
  56. package/dist/interface/{vue-inline-svg.Dw0gABtu.0.0.40.js → vue-inline-svg.BHDMo3hs.0.0.41.js} +1 -1
  57. package/dist/interface/{vue-router.BM3kqO61.0.0.40.js → vue-router.BlIBZAV8.0.0.41.js} +1 -1
  58. package/dist/interface/{vue3-apexcharts.BQqssCBa.0.0.40.js → vue3-apexcharts.CJu6sQGy.0.0.41.js} +1 -1
  59. package/dist/interface/{vue3-dnd.CCcL66LF.0.0.40.js → vue3-dnd.CKocKVAc.0.0.41.js} +1 -1
  60. package/dist/interface/{vue3-toastify.Dpy6t0fy.0.0.40.js → vue3-toastify.B344fBI7.0.0.41.js} +1 -1
  61. package/dist/interface/vuetify.cl53-mu0.0.0.41.js +5 -0
  62. package/dist/server/package.json +5 -5
  63. package/dist/server/requirements.txt +2 -2
  64. package/dist/server/src/api/controllers/cameras.controller.js +10 -4
  65. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  66. package/dist/server/src/api/database/index.d.ts +1 -1
  67. package/dist/server/src/api/database/index.js +1 -1
  68. package/dist/server/src/api/database/index.js.map +1 -1
  69. package/dist/server/src/api/database/migration.js +49 -0
  70. package/dist/server/src/api/database/migration.js.map +1 -1
  71. package/dist/server/src/api/routes/cameras.routes.js +3 -3
  72. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  73. package/dist/server/src/api/schemas/cameras.schema.d.ts +14 -14
  74. package/dist/server/src/api/schemas/cameras.schema.js +28 -6
  75. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  76. package/dist/server/src/api/services/cameras.service.d.ts +0 -1
  77. package/dist/server/src/api/services/cameras.service.js +17 -60
  78. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  79. package/dist/server/src/camera/controller.js +2 -1
  80. package/dist/server/src/camera/controller.js.map +1 -1
  81. package/package.json +5 -5
  82. package/dist/interface/Recordings.0cfZFrTe.0.0.40.js +0 -1
  83. package/dist/interface/Recordings.D50AM95m.0.0.40.js +0 -1
  84. package/dist/interface/VPlayer.CD-JtKvf.0.0.40.js +0 -4
  85. package/dist/interface/assets/NewCamera.0.0.40.C5BFv264.css +0 -1
  86. package/dist/interface/main.VdZiMYnS.0.0.40.js +0 -5
  87. package/dist/interface/vuetify.CkITUpvd.0.0.40.js +0 -5
  88. /package/dist/interface/{@babel.l0sNRNKZ.0.0.40.js → @babel.l0sNRNKZ.0.0.41.js} +0 -0
  89. /package/dist/interface/{@intlify.Do1-T-x0.0.0.40.js → @intlify.Do1-T-x0.0.0.41.js} +0 -0
  90. /package/dist/interface/{@mdi.CbjpODVZ.0.0.40.js → @mdi.CbjpODVZ.0.0.41.js} +0 -0
  91. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.40.js → @react-dnd.CcwRs9xb.0.0.41.js} +0 -0
  92. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.40.js → @socket.io.Dkula2eQ.0.0.41.js} +0 -0
  93. /package/dist/interface/{@turf.l0sNRNKZ.0.0.40.js → @turf.l0sNRNKZ.0.0.41.js} +0 -0
  94. /package/dist/interface/{@xterm.oesufn9X.0.0.40.js → @xterm.ChIdrMXz.0.0.41.js} +0 -0
  95. /package/dist/interface/assets/{@vueform.0.0.40.CroAHJs8.css → @vueform.0.0.41.CroAHJs8.css} +0 -0
  96. /package/dist/interface/assets/{@xterm.0.0.40.CFbL2ovg.css → @xterm.0.0.41.CFbL2ovg.css} +0 -0
  97. /package/dist/interface/assets/{Account.0.0.40.Bnw6Lbtd.css → Account.0.0.41.Bnw6Lbtd.css} +0 -0
  98. /package/dist/interface/assets/{Adminpanel.0.0.40.a3t1v3MB.css → Adminpanel.0.0.41.a3t1v3MB.css} +0 -0
  99. /package/dist/interface/assets/{Backup.0.0.40.CX0rT0QJ.css → Backup.0.0.41.CX0rT0QJ.css} +0 -0
  100. /package/dist/interface/assets/{Camera.0.0.40.Br9s6-lM.css → Camera.0.0.41.Br9s6-lM.css} +0 -0
  101. /package/dist/interface/assets/{Cameras.0.0.40.Buf1Dgce.css → Cameras.0.0.41.Buf1Dgce.css} +0 -0
  102. /package/dist/interface/assets/{Camview.0.0.40.B7Cja2ry.css → Camview.0.0.41.B7Cja2ry.css} +0 -0
  103. /package/dist/interface/assets/{Config.0.0.40.DNGo2krN.css → Config.0.0.41.DNGo2krN.css} +0 -0
  104. /package/dist/interface/assets/{Console.0.0.40.Bh8l9QnM.css → Console.0.0.41.Bh8l9QnM.css} +0 -0
  105. /package/dist/interface/assets/{FirstSteps.0.0.40.Mu8VPl13.css → FirstSteps.0.0.41.Mu8VPl13.css} +0 -0
  106. /package/dist/interface/assets/{Plugin.0.0.40.YIpAU1_n.css → Plugin.0.0.41.YIpAU1_n.css} +0 -0
  107. /package/dist/interface/assets/{Plugins.0.0.40.DXSoO9M1.css → Plugins.0.0.41.DXSoO9M1.css} +0 -0
  108. /package/dist/interface/assets/{Settings.0.0.40.CVmui2kE.css → Settings.0.0.41.CVmui2kE.css} +0 -0
  109. /package/dist/interface/assets/{User.0.0.40.BiGtIFqt.css → User.0.0.41.BiGtIFqt.css} +0 -0
  110. /package/dist/interface/assets/{VConsole.0.0.40.BCqKHpmJ.css → VConsole.0.0.41.BCqKHpmJ.css} +0 -0
  111. /package/dist/interface/assets/{VPluginCard.0.0.40.C8Lj6X-J.css → VPluginCard.0.0.41.C8Lj6X-J.css} +0 -0
  112. /package/dist/interface/assets/{highlight.0.0.40.Ch2EwETz.css → highlight.0.0.41.Ch2EwETz.css} +0 -0
  113. /package/dist/interface/assets/{logo-256.0.0.40.BCQk9H1-.png → logo-256.0.0.41.BCQk9H1-.png} +0 -0
  114. /package/dist/interface/assets/{logo-512.0.0.40.DLKVOU2S.png → logo-512.0.0.41.DLKVOU2S.png} +0 -0
  115. /package/dist/interface/assets/{logo.0.0.40.DmEiRk0z.png → logo.0.0.41.DmEiRk0z.png} +0 -0
  116. /package/dist/interface/assets/{main.0.0.40.OJngntGT.css → main.0.0.41.OJngntGT.css} +0 -0
  117. /package/dist/interface/assets/{mode-json.0.0.40.Br7xisR1.js → mode-json.0.0.41.Br7xisR1.js} +0 -0
  118. /package/dist/interface/assets/{mode-yaml.0.0.40.CIYL8U3d.js → mode-yaml.0.0.41.CIYL8U3d.js} +0 -0
  119. /package/dist/interface/assets/{vue3-toastify.0.0.40.DHXAGmwn.css → vue3-toastify.0.0.41.DHXAGmwn.css} +0 -0
  120. /package/dist/interface/{axios.CG9kBweI.0.0.40.js → axios.CG9kBweI.0.0.41.js} +0 -0
  121. /package/dist/interface/{birpc.l0sNRNKZ.0.0.40.js → birpc.l0sNRNKZ.0.0.41.js} +0 -0
  122. /package/dist/interface/{compare-versions.DqEOhma6.0.0.40.js → compare-versions.DqEOhma6.0.0.41.js} +0 -0
  123. /package/dist/interface/{dijkstrajs.C00ieaqj.0.0.40.js → dijkstrajs.C00ieaqj.0.0.41.js} +0 -0
  124. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.40.js → engine.io-parser.BiEtp6m2.0.0.41.js} +0 -0
  125. /package/dist/interface/{entities.C20TfXL6.0.0.40.js → entities.C20TfXL6.0.0.41.js} +0 -0
  126. /package/dist/interface/{ev-emitter.X5f1qa-c.0.0.40.js → ev-emitter.X5f1qa-c.0.0.41.js} +0 -0
  127. /package/dist/interface/{get-size.D1dS-IaP.0.0.40.js → get-size.D1dS-IaP.0.0.41.js} +0 -0
  128. /package/dist/interface/{hookable.B8xFkYCm.0.0.40.js → hookable.B8xFkYCm.0.0.41.js} +0 -0
  129. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.40.js → mdurl.k9Sl0PQj.0.0.41.js} +0 -0
  130. /package/dist/interface/{perfect-debounce.Cp2ysxOb.0.0.40.js → perfect-debounce.Cp2ysxOb.0.0.41.js} +0 -0
  131. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.40.js → point-in-polygon-hao.l0sNRNKZ.0.0.41.js} +0 -0
  132. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.40.js → punycode.js.Dj65hjkv.0.0.41.js} +0 -0
  133. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.40.js → react-dnd-html5-backend.1HQjlkwI.0.0.41.js} +0 -0
  134. /package/dist/interface/{redux.BFxtlG_c.0.0.40.js → redux.BFxtlG_c.0.0.41.js} +0 -0
  135. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.40.js → sweepline-intersections.l0sNRNKZ.0.0.41.js} +0 -0
  136. /package/dist/interface/{tslib.9k7AwCpt.0.0.40.js → tslib.9k7AwCpt.0.0.41.js} +0 -0
  137. /package/dist/interface/{types.Cz9TaZAP.0.0.40.js → types.Cz9TaZAP.0.0.41.js} +0 -0
  138. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.40.js → uc.micro.kMc2yuuw.0.0.41.js} +0 -0
  139. /package/dist/interface/{utils.mAKpSMLY.0.0.40.js → utils.mAKpSMLY.0.0.41.js} +0 -0
  140. /package/dist/interface/{uuid.Ch9TGLTe.0.0.40.js → uuid.Ch9TGLTe.0.0.41.js} +0 -0
  141. /package/dist/interface/{vue.l0sNRNKZ.0.0.40.js → vue.l0sNRNKZ.0.0.41.js} +0 -0
  142. /package/dist/interface/{zod.Bn-rxnIN.0.0.40.js → zod.Bn-rxnIN.0.0.41.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{X as we,y as be,j as Ve,Y as ke,v as he,e as $e}from"./main.VdZiMYnS.0.0.40.js";import{G as _e,r,c as g,w as R,R as Ce,b as U,aa as E,ab as i,f as s,a9 as n,u as o,d as Se,g as te,p as y,a7 as w,k as xe,P as d,m as Ae,i as b}from"./@vue.PV_2gLoq.0.0.40.js";import{F as Le,a as Te}from"./vee-validate.CKoVC6cx.0.0.40.js";import{S as Ie,d as Qe}from"./system.BDb0ERWC.0.0.40.js";import{V as Re}from"./VConsole.BTHoxSrh.0.0.40.js";import{t as Ue}from"./@vee-validate.DGExY8om.0.0.40.js";import{s as oe}from"./utils.mAKpSMLY.0.0.40.js";import{c as Y}from"./compare-versions.DqEOhma6.0.0.40.js";import{a as q,b as P,z as se,l as Pe}from"./vuetify.CkITUpvd.0.0.40.js";import"./vue3-toastify.Dpy6t0fy.0.0.40.js";import"./vue-i18n.Cb6M-BsS.0.0.40.js";import"./@intlify.Do1-T-x0.0.0.40.js";import"./axios.CG9kBweI.0.0.40.js";import"./@tanstack.DN6xEWwc.0.0.40.js";import"./pinia.Iog12xl6.0.0.40.js";import"./vue-router.BM3kqO61.0.0.40.js";import"./@vueuse.C9nAp_qw.0.0.40.js";import"./nprogress.BwLMR6Bn.0.0.40.js";import"./@xterm.oesufn9X.0.0.40.js";import"./@mdi.CbjpODVZ.0.0.40.js";import"./zod.Bn-rxnIN.0.0.40.js";import"./uuid.Ch9TGLTe.0.0.40.js";import"./socket.io-client.BneKYXJS.0.0.40.js";import"./engine.io-client.Cq18b4el.0.0.40.js";import"./engine.io-parser.BiEtp6m2.0.0.40.js";import"./@socket.io.Dkula2eQ.0.0.40.js";import"./socket.io-parser.BsC63_fg.0.0.40.js";import"./rxjs.CZM8Xehd.0.0.40.js";import"./tslib.9k7AwCpt.0.0.40.js";import"./vue-inline-svg.Dw0gABtu.0.0.40.js";import"./perfect-debounce.Cp2ysxOb.0.0.40.js";import"./hookable.B8xFkYCm.0.0.40.js";const Be=Ue(we),Ne={class:"subview-title text-color"},Me={class:"inner-component p-4"},ze={class:"flex items-center"},Fe={class:"text-sm"},De={class:"text-sm ml-auto text-right"},je={key:1},Ee={class:"subview-title text-color"},Ke={class:"inner-component p-4 flex flex-col"},Oe={class:"text-sm"},We={class:"relative mt-5"},Ge={for:"serverAddresses",class:"v-label"},Xe={class:"subview-title text-color"},Ye={class:"inner-component p-4 flex flex-col"},qe={class:"text-sm"},He={class:"relative mt-5 ml-auto"},Je={class:"subview-title text-color"},Ze={class:"inner-component p-4 flex flex-col"},et={class:"text-sm"},tt={class:"relative mt-5 ml-auto"},ot={class:"p-5 flex w-full items-center justify-center"},st={class:"v-label"},Nt=_e({__name:"System",setup(at){const ae=new ke,V=new Ie,le=be(),{smallMobileActive:B}=Ve(),v=r(!1),k=r(!1),p=r(!1),N=r(""),h=r(null),c=r(),$=r(!1),_=r(""),C=r(""),S=r(""),x=r(!1),A=r(""),M=r([]),z=r(!1),K=r(!1),L=g(()=>G.value||de.value||me.value||K.value),ne=g(()=>({fontSize:B.value?12:14})),O=g(()=>m.value&&C.value?Y(C.value,m.value.version)===1:!1),W=g(()=>m.value&&_.value?Y(_.value,m.value.version)===1:!1),H=g(()=>m.value&&S.value?Y(S.value,m.value.version)===1:!1),re=g(()=>{var t;const e=((t=T.value)==null?void 0:t.versions.toReversed())||[];return A.value=e[0],e}),{data:F,isLoading:J}=V.getSystemInfoQuery(),{data:m,isLoading:Z}=ae.apiInfoQuery(),{data:T,isLoading:D}=V.checkVersionQuery(),{mutateAsync:ee,isPending:G}=V.updateServerQuery(),{mutateAsync:ie,isPending:de}=V.patchSystemInfoQuery(),{mutateAsync:ue,isPending:me}=V.restartServerQuery();R(F,()=>{if(F.value){const{networkAddresses:e,...t}=F.value;M.value=(he(t).serverAddresses||[]).filter(l=>l!=="")}},{deep:!0,immediate:!0}),R(m,()=>{var e;N.value=((e=m.value)==null?void 0:e.version)||""},{deep:!0,immediate:!0}),R(T,()=>{var e,t,l;C.value=((e=T.value)==null?void 0:e["dist-tags"].latest)||"",_.value=((t=T.value)==null?void 0:t["dist-tags"].alpha)||"",S.value=((l=T.value)==null?void 0:l["dist-tags"].test)||""},{deep:!0,immediate:!0}),R(v,e=>{X(e),!e&&!$.value&&setTimeout(()=>{p.value=!0},300)}),R(B,()=>{ve()});const X=e=>{var t,l,a,j,f,I;e?(c.value=le.connectToNamespace("/logs"),(t=c.value)==null||t.socket.on("stdout/server",u=>{var Q;(Q=h.value)==null||Q.writeTerminal(u)}),(l=c.value)==null||l.socket.on("stdout",u=>{var Q;(Q=h.value)==null||Q.writeTerminal(u)}),(a=c.value)==null||a.socket.on("disconnect",()=>{var u;(u=h.value)==null||u.writeTerminal(`
1
+ import{X as we,y as be,j as Ve,Y as ke,v as he,e as $e}from"./main.DGoYNhZz.0.0.41.js";import{G as _e,r,c as g,w as R,R as Ce,b as U,aa as E,ab as i,f as s,a9 as n,u as o,d as Se,g as te,p as y,a7 as w,k as xe,P as d,m as Ae,i as b}from"./@vue.HgptpWSe.0.0.41.js";import{F as Le,a as Te}from"./vee-validate.rx6EoM-V.0.0.41.js";import{S as Ie,d as Qe}from"./system.CX3eZanU.0.0.41.js";import{V as Re}from"./VConsole.C_RAZERN.0.0.41.js";import{t as Ue}from"./@vee-validate.BN6pp7gT.0.0.41.js";import{s as oe}from"./utils.mAKpSMLY.0.0.41.js";import{c as Y}from"./compare-versions.DqEOhma6.0.0.41.js";import{a as q,b as P,z as se,l as Pe}from"./vuetify.cl53-mu0.0.0.41.js";import"./vue3-toastify.B344fBI7.0.0.41.js";import"./vue-i18n.CLbC5t4S.0.0.41.js";import"./@intlify.Do1-T-x0.0.0.41.js";import"./axios.CG9kBweI.0.0.41.js";import"./@tanstack.BMdKtFKV.0.0.41.js";import"./pinia.CzEXGLAe.0.0.41.js";import"./vue-router.BlIBZAV8.0.0.41.js";import"./@vueuse.0AqyrsW4.0.0.41.js";import"./nprogress.B4qekFjh.0.0.41.js";import"./@xterm.ChIdrMXz.0.0.41.js";import"./@mdi.CbjpODVZ.0.0.41.js";import"./zod.Bn-rxnIN.0.0.41.js";import"./uuid.Ch9TGLTe.0.0.41.js";import"./socket.io-client.Dd2M9OF7.0.0.41.js";import"./engine.io-client.Bmv4tt9j.0.0.41.js";import"./engine.io-parser.BiEtp6m2.0.0.41.js";import"./@socket.io.Dkula2eQ.0.0.41.js";import"./socket.io-parser.BP9NTxl9.0.0.41.js";import"./rxjs.Dq5nE0it.0.0.41.js";import"./tslib.9k7AwCpt.0.0.41.js";import"./vue-inline-svg.BHDMo3hs.0.0.41.js";import"./perfect-debounce.Cp2ysxOb.0.0.41.js";import"./hookable.B8xFkYCm.0.0.41.js";const Be=Ue(we),Ne={class:"subview-title text-color"},Me={class:"inner-component p-4"},ze={class:"flex items-center"},Fe={class:"text-sm"},De={class:"text-sm ml-auto text-right"},je={key:1},Ee={class:"subview-title text-color"},Ke={class:"inner-component p-4 flex flex-col"},Oe={class:"text-sm"},We={class:"relative mt-5"},Ge={for:"serverAddresses",class:"v-label"},Xe={class:"subview-title text-color"},Ye={class:"inner-component p-4 flex flex-col"},qe={class:"text-sm"},He={class:"relative mt-5 ml-auto"},Je={class:"subview-title text-color"},Ze={class:"inner-component p-4 flex flex-col"},et={class:"text-sm"},tt={class:"relative mt-5 ml-auto"},ot={class:"p-5 flex w-full items-center justify-center"},st={class:"v-label"},Nt=_e({__name:"System",setup(at){const ae=new ke,V=new Ie,le=be(),{smallMobileActive:B}=Ve(),v=r(!1),k=r(!1),p=r(!1),N=r(""),h=r(null),c=r(),$=r(!1),_=r(""),C=r(""),S=r(""),x=r(!1),A=r(""),M=r([]),z=r(!1),K=r(!1),L=g(()=>G.value||de.value||me.value||K.value),ne=g(()=>({fontSize:B.value?12:14})),O=g(()=>m.value&&C.value?Y(C.value,m.value.version)===1:!1),W=g(()=>m.value&&_.value?Y(_.value,m.value.version)===1:!1),H=g(()=>m.value&&S.value?Y(S.value,m.value.version)===1:!1),re=g(()=>{var t;const e=((t=T.value)==null?void 0:t.versions.toReversed())||[];return A.value=e[0],e}),{data:F,isLoading:J}=V.getSystemInfoQuery(),{data:m,isLoading:Z}=ae.apiInfoQuery(),{data:T,isLoading:D}=V.checkVersionQuery(),{mutateAsync:ee,isPending:G}=V.updateServerQuery(),{mutateAsync:ie,isPending:de}=V.patchSystemInfoQuery(),{mutateAsync:ue,isPending:me}=V.restartServerQuery();R(F,()=>{if(F.value){const{networkAddresses:e,...t}=F.value;M.value=(he(t).serverAddresses||[]).filter(l=>l!=="")}},{deep:!0,immediate:!0}),R(m,()=>{var e;N.value=((e=m.value)==null?void 0:e.version)||""},{deep:!0,immediate:!0}),R(T,()=>{var e,t,l;C.value=((e=T.value)==null?void 0:e["dist-tags"].latest)||"",_.value=((t=T.value)==null?void 0:t["dist-tags"].alpha)||"",S.value=((l=T.value)==null?void 0:l["dist-tags"].test)||""},{deep:!0,immediate:!0}),R(v,e=>{X(e),!e&&!$.value&&setTimeout(()=>{p.value=!0},300)}),R(B,()=>{ve()});const X=e=>{var t,l,a,j,f,I;e?(c.value=le.connectToNamespace("/logs"),(t=c.value)==null||t.socket.on("stdout/server",u=>{var Q;(Q=h.value)==null||Q.writeTerminal(u)}),(l=c.value)==null||l.socket.on("stdout",u=>{var Q;(Q=h.value)==null||Q.writeTerminal(u)}),(a=c.value)==null||a.socket.on("disconnect",()=>{var u;(u=h.value)==null||u.writeTerminal(`
2
2
  \rWebsocket failed to connect! Is the server running?\r
3
3
  \r
4
4
  `)}),(j=c.value)==null||j.socket.on("clear-log",()=>{var u;(u=h.value)==null||u.clearTerminal()})):(I=(f=c.value)==null?void 0:f.end)==null||I.call(f)},ve=()=>{v.value&&(X(!1),X(!0))},ce=async()=>{k.value=!1,$.value=!1;const e=O.value?C.value:W.value?_.value:H.value?S.value:"";if(e){await oe(300),v.value=!0;try{await ee({pluginData:{version:e}}),N.value=e}catch{$.value=!0}}},pe=async e=>{x.value=!1,$.value=!1,await oe(300),v.value=!0;try{await ee({pluginData:{version:e}}),N.value=e}catch{$.value=!0}},fe=async()=>{if(!z.value){z.value=!0;try{const e=await Qe(),t=window.URL.createObjectURL(new Blob([e],{type:"application/x-x509-ca-cert"})),l=document.createElement("a");l.href=t,l.setAttribute("download","cert.pem"),document.body.appendChild(l),l.click(),l.remove()}catch(e){console.log(e)}z.value=!1}},ge=async()=>{p.value=!1;try{K.value=!0,await ue()}catch{K.value=!1}},ye=async e=>{await ie(e)};return Ce(()=>{var e,t;(t=(e=c.value)==null?void 0:e.end)==null||t.call(e)}),(e,t)=>{const l=$e;return U(),E(o(Te),{ref:"form",class:"flex flex-col w-full","validation-schema":o(Be),onSubmit:t[12]||(t[12]=a=>ye(a))},{default:i(()=>[s("div",null,[s("span",Ne,n(e.$t("views.settings.version")),1),s("div",Me,[s("div",ze,[s("span",Fe,n(e.$t("views.settings.version_info")),1),s("span",De,[o(Z)?(U(),E(q,{key:0,color:"#df2a4c",indeterminate:""})):(U(),Se("span",je,[s("b",null,n(o(N)),1)]))])]),s("div",{class:te(["flex w-full mt-5 items-center",{"mr-3":o(B)}])},[t[13]||(t[13]=s("div",{class:"ml-auto"},null,-1)),o(Z)||o(D)?(U(),E(q,{key:0,size:"20",width:"3",color:"#df2a4c",indeterminate:""})):o(O)||o(W)||o(H)?(U(),E(P,{key:1,loading:o(L),elevation:"0",tonal:"",class:"text-white bg-color-primary",style:{border:"1px solid var(--color-primary-darken-2)"},onClick:t[0]||(t[0]=y(a=>k.value=!0,["prevent"]))},{default:i(()=>[w(n(e.$t("components.form.button.update")),1)]),_:1},8,["loading"])):xe("",!0),d(P,{loading:o(G),elevation:"0",tonal:"",class:"ml-3 text-white bg-color-primary",style:{border:"1px solid var(--color-primary-darken-2)"},onClick:t[1]||(t[1]=y(a=>x.value=!0,["prevent"]))},{default:i(()=>[w(n(e.$t("components.form.button.manage")),1)]),_:1},8,["loading"])],2)]),t[14]||(t[14]=s("div",{class:"my-8"},null,-1)),s("span",Ee,n(e.$t("views.settings.network")),1),s("div",Ke,[s("span",Oe,n(e.$t("views.settings.network_info")),1),s("div",We,[s("label",Ge,n(e.$t("components.form.label.server_addresses")),1),d(o(Le),{modelValue:o(M),"onUpdate:modelValue":t[2]||(t[2]=a=>b(M)?M.value=a:null),name:"serverAddresses"},{default:i(({field:a,errorMessage:j,errors:f})=>{var I;return[d(se,Ae({"model-value":a.value,variant:"outlined",density:"compact",name:"serverAddresses","item-title":"address","item-value":"address",chips:"",multiple:"",clearable:""},a,{loading:o(J),disabled:o(J),items:((I=o(F))==null?void 0:I.networkAddresses)||[],error:f.length>0,"error-messages":j,onKeydown:y(()=>null,["prevent"])}),{chip:i(({item:u})=>[d(Pe,{color:"#df2a4c"},{default:i(()=>[w(n(u.title),1)]),_:2},1024)]),_:2},1040,["model-value","loading","disabled","items","error","error-messages"])]}),_:1},8,["modelValue"])]),d(P,{class:te(["text-white bg-color-primary ml-auto",{"mr-2":o(B)}]),loading:o(L),elevation:"0",tonal:"",style:{border:"1px solid var(--color-primary-darken-2)"},type:"submit"},{loader:i(()=>[d(q,{color:"#fff",size:"14",width:"2",indeterminate:""})]),default:i(()=>[w(n(e.$t("components.form.button.save")),1)]),_:1},8,["loading","class"])]),t[15]||(t[15]=s("div",{class:"my-8"},null,-1)),s("span",Xe,n(e.$t("views.settings.certificate")),1),s("div",Ye,[s("span",qe,n(e.$t("views.settings.certificate_info")),1),s("div",He,[d(P,{loading:o(z)||o(L),elevation:"0",tonal:"",class:"text-white bg-color-primary",style:{border:"1px solid var(--color-primary-darken-2)"},onClick:t[3]||(t[3]=y(a=>fe(),["prevent"]))},{default:i(()=>[w(n(e.$t("components.form.button.download")),1)]),_:1},8,["loading"])])]),t[16]||(t[16]=s("div",{class:"my-8"},null,-1)),s("span",Je,n(e.$t("views.settings.restart_server")),1),s("div",Ze,[s("span",et,n(e.$t("views.settings.restart_server_info")),1),s("div",tt,[d(P,{loading:o(L),elevation:"0",tonal:"",class:"text-white bg-color-primary",style:{border:"1px solid var(--color-primary-darken-2)"},onClick:t[4]||(t[4]=y(a=>p.value=!0,["prevent"]))},{default:i(()=>[w(n(e.$t("components.form.button.restart")),1)]),_:1},8,["loading"])])])]),d(l,{modelValue:o(k),"onUpdate:modelValue":t[5]||(t[5]=a=>b(k)?k.value=a:null),title:`${e.$t("components.dialog.title.update")}: ${o(O)?o(C):o(W)?o(_):o(S)}`,"fullscreen-content":"",loading:o(G),"confirm-text":"components.form.button.update",onConfirm:ce},{content:i(()=>t[17]||(t[17]=[s("div",{class:"p-5"},[s("span",null,"WIP: Release Notes")],-1)])),_:1},8,["modelValue","title","loading"]),d(l,{modelValue:o(v),"onUpdate:modelValue":t[6]||(t[6]=a=>b(v)?v.value=a:null),title:e.$t("components.dialog.title.log"),"fullscreen-content":"","hide-confirm-button":""},{content:i(()=>[d(Re,{ref_key:"consoleRef",ref:h,class:"text-editor",options:o(ne)},null,8,["options"])]),_:1},8,["modelValue","title"]),d(l,{modelValue:o(p),"onUpdate:modelValue":t[7]||(t[7]=a=>b(p)?p.value=a:null),title:e.$t("components.dialog.title.restart"),"confirm-text":"components.form.button.restart",loading:o(L),onConfirm:t[8]||(t[8]=a=>ge())},{content:i(()=>[s("div",ot,[s("span",null,n(e.$t("components.dialog.message.confirm_restart_server")),1)])]),_:1},8,["modelValue","title","loading"]),d(l,{modelValue:o(x),"onUpdate:modelValue":t[10]||(t[10]=a=>b(x)?x.value=a:null),title:e.$t("components.dialog.title.install_version"),"confirm-text":"components.form.button.install",loading:o(D),onConfirm:t[11]||(t[11]=a=>pe(o(A)))},{content:i(()=>[s("label",st,n(e.$t("components.form.label.server_version")),1),d(se,{modelValue:o(A),"onUpdate:modelValue":t[9]||(t[9]=a=>b(A)?A.value=a:null),"hide-details":"",solo:"",variant:"outlined",density:"compact",items:o(re),disabled:o(D),loading:o(D),onKeydown:y(()=>null,["prevent"])},null,8,["modelValue","items","disabled","loading"])]),_:1},8,["modelValue","title","loading"])]),_:1},8,["validation-schema"])}}});export{Nt as default};
@@ -1 +1 @@
1
- import{i as ne,j as ie,U as de,_ as me,d as ue,e as pe,W as ce,f as ve}from"./main.VdZiMYnS.0.0.40.js";import{G as fe,r as p,F as ge,c as z,b as _e,d as be,f as a,a9 as d,P as o,u as e,i as B,ab as r,p as b,a7 as w,m as c,g as he}from"./@vue.PV_2gLoq.0.0.40.js";import{aD as we,T as ye,aB as xe,m as $,a as U}from"./@mdi.CbjpODVZ.0.0.40.js";import{a as M,F as g}from"./vee-validate.CKoVC6cx.0.0.40.js";import{c as h,$ as Ve,o as Ce,j as $e,f as Q,e as D,b as O,a0 as Ue,z as j,l as T}from"./vuetify.CkITUpvd.0.0.40.js";import"./vue3-toastify.Dpy6t0fy.0.0.40.js";import"./vue-i18n.Cb6M-BsS.0.0.40.js";import"./@intlify.Do1-T-x0.0.0.40.js";import"./axios.CG9kBweI.0.0.40.js";import"./@tanstack.DN6xEWwc.0.0.40.js";import"./pinia.Iog12xl6.0.0.40.js";import"./vue-router.BM3kqO61.0.0.40.js";import"./@vueuse.C9nAp_qw.0.0.40.js";import"./nprogress.BwLMR6Bn.0.0.40.js";import"./@xterm.oesufn9X.0.0.40.js";import"./@vee-validate.DGExY8om.0.0.40.js";import"./zod.Bn-rxnIN.0.0.40.js";import"./uuid.Ch9TGLTe.0.0.40.js";import"./socket.io-client.BneKYXJS.0.0.40.js";import"./engine.io-client.Cq18b4el.0.0.40.js";import"./engine.io-parser.BiEtp6m2.0.0.40.js";import"./@socket.io.Dkula2eQ.0.0.40.js";import"./socket.io-parser.BsC63_fg.0.0.40.js";import"./rxjs.CZM8Xehd.0.0.40.js";import"./tslib.9k7AwCpt.0.0.40.js";import"./vue-inline-svg.Dw0gABtu.0.0.40.js";import"./perfect-debounce.Cp2ysxOb.0.0.40.js";import"./hookable.B8xFkYCm.0.0.40.js";const ke={class:"subview-title text-color"},Pe={class:"inner-component p-4"},Se={class:"flex flex-row items-center w-full"},ze={class:"flex flex-col"},De={class:"text-base"},Fe={class:"text-disabled"},Ie={class:"ml-auto"},Ee={style:{margin:"5px"}},Le={class:"flex flex-row w-full justify-start items-center"},Ne={class:"icon-wrapper"},Be={class:"menu-item ml-2"},Me={class:"flex flex-row w-full justify-start items-center"},Qe={class:"icon-wrapper"},Oe={class:"menu-item ml-2",style:{color:"#ef4444 !important"}},je={class:"text-center pt-2"},Te={class:"relative"},Ae={for:"username",class:"v-label"},Je={class:"relative"},Ke={for:"password",class:"v-label"},Re={class:"relative"},Ge={for:"passwordConfirm",class:"v-label"},He={class:"relative"},We={for:"role",class:"v-label"},qe={class:"relative"},Xe={for:"username",class:"v-label"},Ye={class:"relative"},Ze={for:"password",class:"v-label"},es={class:"relative"},ss={for:"passwordConfirm",class:"v-label"},as={class:"relative"},os={for:"role",class:"v-label"},ts=fe({__name:"User",setup(ls){const{t:A}=ne.global,{smallMobileActive:J}=ie(),x=new de,u=p({pageSize:5,page:1}),y=p(!1),_=p(),v=p(!1),f=p(!1),F=p(["user","admin"]),k=p(),I=p(),V=p(),K=ge([{title:A("views.settings.title_user"),align:"start",key:"username",value:"username",width:"100%",sortable:!0}]),n=z(()=>G.value||Y.value||q.value||ee.value),R=z(()=>{var l;const s=Math.ceil((((l=E.value)==null?void 0:l.pagination.totalItems)||0)/u.value.pageSize);return s===1&&(u.value.page=1),s}),{data:E,isLoading:G,isPlaceholderData:H}=x.getUsersQuery(u),{mutate:W,isPending:q}=x.createUserQuery(),{mutate:X,isPending:Y}=x.patchUserQuery(),{mutate:Z,isPending:ee}=x.removeUserQuery(),P=z(()=>{if(!_.value)return;const s=JSON.parse(JSON.stringify(_.value));return delete s._id,delete s.avatar,s}),se=()=>{u.value.page=Math.max(u.value.page-1,1)},ae=()=>{H.value||(u.value.page=u.value.page+1)},oe=async()=>{var l,C;const s=await((l=k.value)==null?void 0:l.validate());s!=null&&s.valid?re((C=k.value)==null?void 0:C.values):console.error("result",s)},te=async()=>{var l;if(!_.value||!P.value)throw new Error("No user to edit");const s=await((l=I.value)==null?void 0:l.validate());s!=null&&s.valid?X({username:_.value.username,userData:P.value}):console.error("result",s)},le=async s=>{Z({username:s.username})},re=async s=>{W({userData:s},{onSuccess:()=>{y.value=!1}})};return(s,l)=>{var N;const C=me,L=pe;return _e(),be("div",null,[a("div",null,[a("span",ke,d(s.$t("views.settings.registered_users")),1),a("div",Pe,[o(h,{modelValue:e(V),"onUpdate:modelValue":l[0]||(l[0]=t=>B(V)?V.value=t:null),placeholder:s.$t("views.settings.search_by_name"),type:"text",density:"comfortable",variant:"outlined","hide-details":"",class:"mb-5",loading:e(n)},null,8,["modelValue","placeholder","loading"]),o(Ue,{"items-per-page":e(u).pageSize,headers:e(K),items:(N=e(E))==null?void 0:N.result,class:"elevation-0","item-value":"username","hide-default-footer":"","hide-default-header":"",search:e(V),hover:""},{"item.username":r(({item:t})=>[a("div",Se,[o(C,{src:t.avatar,size:"4rem",style:{"border-radius":"4rem",border:"1px solid var(--border)"},class:"mr-3"},null,8,["src"]),a("div",ze,[a("span",De,d(t.username),1),a("span",Fe,d(t.role),1)]),a("div",Ie,[o(Ce,{offset:"2"},{activator:r(({props:i})=>[o(O,c(i,{disabled:e(n),size:"30",class:"text-disabled",elevation:"0",icon:"",loading:e(n)}),{default:r(()=>[o(D,{size:"22"},{default:r(()=>[w(d(e(xe)),1)]),_:1})]),_:2},1040,["disabled","loading"])]),default:r(()=>[o($e,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:r(()=>[a("div",Ee,[o(Q,{style:{"border-radius":"5px !important"},disabled:e(n),onClick:b(i=>_.value=t,["prevent"])},{default:r(()=>[a("div",Le,[a("div",Ne,[o(D,{size:"20",class:"text-passive"},{default:r(()=>[w(d(e(we)),1)]),_:1})]),a("span",Be,d(s.$t("views.settings.edit")),1)])]),_:2},1032,["disabled","onClick"]),l[11]||(l[11]=a("div",{class:"my-1"},null,-1)),o(Q,{style:{color:"#ef4444 !important","border-radius":"5px !important"},disabled:e(n),onClick:b(i=>le(t),["prevent"])},{default:r(()=>[a("div",Me,[a("div",Qe,[o(D,{size:"20",color:"red"},{default:r(()=>[w(d(e(ye)),1)]),_:1})]),a("span",Oe,d(s.$t("views.settings.remove")),1)])]),_:2},1032,["disabled","onClick"])])]),_:2},1024)]),_:2},1024)])])]),bottom:r(()=>[a("div",je,[o(Ve,{modelValue:e(u).page,"onUpdate:modelValue":l[1]||(l[1]=t=>e(u).page=t),length:e(R),onPrev:b(se,["prevent"]),onNext:b(ae,["prevent"])},null,8,["modelValue","length"])])]),_:1},8,["items-per-page","headers","items","search"])])]),a("div",{class:he(["flex flex-row my-5",{"mr-3":e(J)}])},[o(O,{color:"success",class:"ml-auto",loading:e(n),onClick:l[2]||(l[2]=b(t=>y.value=!0,["prevent"]))},{default:r(()=>[w(d(s.$t("components.form.button.create_new_user")),1)]),_:1},8,["loading"])],2),o(L,{"model-value":e(_)!==void 0,title:s.$t("components.dialog.title.edit_user"),"confirm-text":"components.form.button.save",loading:e(n),onConfirm:l[5]||(l[5]=t=>te()),onClose:l[6]||(l[6]=t=>_.value=void 0)},{content:r(()=>[o(e(M),{ref_key:"userVeeFormEdit",ref:I,class:"flex flex-col w-full h-full px-3","validation-schema":e(ue),"initial-values":e(P)},{default:r(()=>[a("div",null,[a("div",Te,[a("label",Ae,d(s.$t("components.form.label.username")),1),o(e(g),{name:"username"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"username",variant:"outlined",density:"compact"},t,{type:"text",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i}),null,16,["loading","disabled","error","error-messages"])]),_:1})]),a("div",Je,[a("label",Ke,d(s.$t("components.form.label.new_password")),1),o(e(g),{name:"password"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"password",variant:"outlined",density:"compact"},t,{type:e(v)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(v)?e($):e(U),"onClick:appendInner":l[3]||(l[3]=S=>v.value=!e(v))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",Re,[a("label",Ge,d(s.$t("components.form.label.new_password_confirm")),1),o(e(g),{name:"passwordConfirm"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"passwordConfirm",variant:"outlined",density:"compact"},t,{type:e(f)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(f)?e($):e(U),"onClick:appendInner":l[4]||(l[4]=S=>f.value=!e(f))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",He,[a("label",We,d(s.$t("components.form.label.role")),1),o(e(g),{name:"role"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(j,c({"model-value":t.value,variant:"outlined",density:"compact",name:"role",chips:""},t,{loading:e(n),disabled:e(n),items:e(F),error:m.length>0,"error-messages":i,onKeydown:b(()=>null,["prevent"])}),{chip:r(()=>[o(T,{color:"#df2a4c"},{default:r(()=>[w(d(t.value),1)]),_:2},1024)]),_:2},1040,["model-value","loading","disabled","items","error","error-messages"])]),_:1})])])]),_:1},8,["validation-schema","initial-values"])]),_:1},8,["model-value","title","loading"]),o(L,{modelValue:e(y),"onUpdate:modelValue":l[9]||(l[9]=t=>B(y)?y.value=t:null),title:s.$t("components.dialog.title.create_new_user"),"confirm-text":"components.form.button.add",loading:e(n),onConfirm:l[10]||(l[10]=t=>oe())},{content:r(()=>[o(e(M),{ref_key:"userVeeForm",ref:k,class:"flex flex-col w-full h-full px-3","validation-schema":e(ce)},{default:r(()=>[a("div",null,[a("div",qe,[a("label",Xe,d(s.$t("components.form.label.username")),1),o(e(g),{name:"username"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"username",variant:"outlined",density:"compact"},t,{type:"text",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i}),null,16,["loading","disabled","error","error-messages"])]),_:1})]),a("div",Ye,[a("label",Ze,d(s.$t("components.form.label.new_password")),1),o(e(g),{name:"password"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"password",variant:"outlined",density:"compact"},t,{type:e(v)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(v)?e($):e(U),"onClick:appendInner":l[7]||(l[7]=S=>v.value=!e(v))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",es,[a("label",ss,d(s.$t("components.form.label.new_password_confirm")),1),o(e(g),{name:"passwordConfirm"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"passwordConfirm",variant:"outlined",density:"compact"},t,{type:e(f)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(f)?e($):e(U),"onClick:appendInner":l[8]||(l[8]=S=>f.value=!e(f))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",as,[a("label",os,d(s.$t("components.form.label.role")),1),o(e(g),{name:"role"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(j,c({variant:"outlined",density:"compact",name:"role",chips:""},t,{loading:e(n),disabled:e(n),items:e(F),error:m.length>0,"error-messages":i,onKeydown:b(()=>null,["prevent"])}),{chip:r(()=>[o(T,{color:"#df2a4c"},{default:r(()=>[w(d(t.value),1)]),_:2},1024)]),_:2},1040,["loading","disabled","items","error","error-messages"])]),_:1})])])]),_:1},8,["validation-schema"])]),_:1},8,["modelValue","title","loading"])])}}}),Es=ve(ts,[["__scopeId","data-v-76f26e89"]]);export{Es as default};
1
+ import{i as ne,j as ie,U as de,_ as me,d as ue,e as pe,W as ce,f as ve}from"./main.DGoYNhZz.0.0.41.js";import{G as fe,r as p,F as ge,c as z,b as _e,d as be,f as a,a9 as d,P as o,u as e,i as B,ab as r,p as b,a7 as w,m as c,g as he}from"./@vue.HgptpWSe.0.0.41.js";import{aD as we,T as ye,aB as xe,m as $,a as U}from"./@mdi.CbjpODVZ.0.0.41.js";import{a as M,F as g}from"./vee-validate.rx6EoM-V.0.0.41.js";import{c as h,$ as Ve,o as Ce,j as $e,f as Q,e as D,b as O,a0 as Ue,z as j,l as T}from"./vuetify.cl53-mu0.0.0.41.js";import"./vue3-toastify.B344fBI7.0.0.41.js";import"./vue-i18n.CLbC5t4S.0.0.41.js";import"./@intlify.Do1-T-x0.0.0.41.js";import"./axios.CG9kBweI.0.0.41.js";import"./@tanstack.BMdKtFKV.0.0.41.js";import"./pinia.CzEXGLAe.0.0.41.js";import"./vue-router.BlIBZAV8.0.0.41.js";import"./@vueuse.0AqyrsW4.0.0.41.js";import"./nprogress.B4qekFjh.0.0.41.js";import"./@xterm.ChIdrMXz.0.0.41.js";import"./@vee-validate.BN6pp7gT.0.0.41.js";import"./zod.Bn-rxnIN.0.0.41.js";import"./uuid.Ch9TGLTe.0.0.41.js";import"./socket.io-client.Dd2M9OF7.0.0.41.js";import"./engine.io-client.Bmv4tt9j.0.0.41.js";import"./engine.io-parser.BiEtp6m2.0.0.41.js";import"./@socket.io.Dkula2eQ.0.0.41.js";import"./socket.io-parser.BP9NTxl9.0.0.41.js";import"./rxjs.Dq5nE0it.0.0.41.js";import"./tslib.9k7AwCpt.0.0.41.js";import"./vue-inline-svg.BHDMo3hs.0.0.41.js";import"./perfect-debounce.Cp2ysxOb.0.0.41.js";import"./hookable.B8xFkYCm.0.0.41.js";const ke={class:"subview-title text-color"},Pe={class:"inner-component p-4"},Se={class:"flex flex-row items-center w-full"},ze={class:"flex flex-col"},De={class:"text-base"},Fe={class:"text-disabled"},Ie={class:"ml-auto"},Ee={style:{margin:"5px"}},Le={class:"flex flex-row w-full justify-start items-center"},Ne={class:"icon-wrapper"},Be={class:"menu-item ml-2"},Me={class:"flex flex-row w-full justify-start items-center"},Qe={class:"icon-wrapper"},Oe={class:"menu-item ml-2",style:{color:"#ef4444 !important"}},je={class:"text-center pt-2"},Te={class:"relative"},Ae={for:"username",class:"v-label"},Je={class:"relative"},Ke={for:"password",class:"v-label"},Re={class:"relative"},Ge={for:"passwordConfirm",class:"v-label"},He={class:"relative"},We={for:"role",class:"v-label"},qe={class:"relative"},Xe={for:"username",class:"v-label"},Ye={class:"relative"},Ze={for:"password",class:"v-label"},es={class:"relative"},ss={for:"passwordConfirm",class:"v-label"},as={class:"relative"},os={for:"role",class:"v-label"},ts=fe({__name:"User",setup(ls){const{t:A}=ne.global,{smallMobileActive:J}=ie(),x=new de,u=p({pageSize:5,page:1}),y=p(!1),_=p(),v=p(!1),f=p(!1),F=p(["user","admin"]),k=p(),I=p(),V=p(),K=ge([{title:A("views.settings.title_user"),align:"start",key:"username",value:"username",width:"100%",sortable:!0}]),n=z(()=>G.value||Y.value||q.value||ee.value),R=z(()=>{var l;const s=Math.ceil((((l=E.value)==null?void 0:l.pagination.totalItems)||0)/u.value.pageSize);return s===1&&(u.value.page=1),s}),{data:E,isLoading:G,isPlaceholderData:H}=x.getUsersQuery(u),{mutate:W,isPending:q}=x.createUserQuery(),{mutate:X,isPending:Y}=x.patchUserQuery(),{mutate:Z,isPending:ee}=x.removeUserQuery(),P=z(()=>{if(!_.value)return;const s=JSON.parse(JSON.stringify(_.value));return delete s._id,delete s.avatar,s}),se=()=>{u.value.page=Math.max(u.value.page-1,1)},ae=()=>{H.value||(u.value.page=u.value.page+1)},oe=async()=>{var l,C;const s=await((l=k.value)==null?void 0:l.validate());s!=null&&s.valid?re((C=k.value)==null?void 0:C.values):console.error("result",s)},te=async()=>{var l;if(!_.value||!P.value)throw new Error("No user to edit");const s=await((l=I.value)==null?void 0:l.validate());s!=null&&s.valid?X({username:_.value.username,userData:P.value}):console.error("result",s)},le=async s=>{Z({username:s.username})},re=async s=>{W({userData:s},{onSuccess:()=>{y.value=!1}})};return(s,l)=>{var N;const C=me,L=pe;return _e(),be("div",null,[a("div",null,[a("span",ke,d(s.$t("views.settings.registered_users")),1),a("div",Pe,[o(h,{modelValue:e(V),"onUpdate:modelValue":l[0]||(l[0]=t=>B(V)?V.value=t:null),placeholder:s.$t("views.settings.search_by_name"),type:"text",density:"comfortable",variant:"outlined","hide-details":"",class:"mb-5",loading:e(n)},null,8,["modelValue","placeholder","loading"]),o(Ue,{"items-per-page":e(u).pageSize,headers:e(K),items:(N=e(E))==null?void 0:N.result,class:"elevation-0","item-value":"username","hide-default-footer":"","hide-default-header":"",search:e(V),hover:""},{"item.username":r(({item:t})=>[a("div",Se,[o(C,{src:t.avatar,size:"4rem",style:{"border-radius":"4rem",border:"1px solid var(--border)"},class:"mr-3"},null,8,["src"]),a("div",ze,[a("span",De,d(t.username),1),a("span",Fe,d(t.role),1)]),a("div",Ie,[o(Ce,{offset:"2"},{activator:r(({props:i})=>[o(O,c(i,{disabled:e(n),size:"30",class:"text-disabled",elevation:"0",icon:"",loading:e(n)}),{default:r(()=>[o(D,{size:"22"},{default:r(()=>[w(d(e(xe)),1)]),_:1})]),_:2},1040,["disabled","loading"])]),default:r(()=>[o($e,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:r(()=>[a("div",Ee,[o(Q,{style:{"border-radius":"5px !important"},disabled:e(n),onClick:b(i=>_.value=t,["prevent"])},{default:r(()=>[a("div",Le,[a("div",Ne,[o(D,{size:"20",class:"text-passive"},{default:r(()=>[w(d(e(we)),1)]),_:1})]),a("span",Be,d(s.$t("views.settings.edit")),1)])]),_:2},1032,["disabled","onClick"]),l[11]||(l[11]=a("div",{class:"my-1"},null,-1)),o(Q,{style:{color:"#ef4444 !important","border-radius":"5px !important"},disabled:e(n),onClick:b(i=>le(t),["prevent"])},{default:r(()=>[a("div",Me,[a("div",Qe,[o(D,{size:"20",color:"red"},{default:r(()=>[w(d(e(ye)),1)]),_:1})]),a("span",Oe,d(s.$t("views.settings.remove")),1)])]),_:2},1032,["disabled","onClick"])])]),_:2},1024)]),_:2},1024)])])]),bottom:r(()=>[a("div",je,[o(Ve,{modelValue:e(u).page,"onUpdate:modelValue":l[1]||(l[1]=t=>e(u).page=t),length:e(R),onPrev:b(se,["prevent"]),onNext:b(ae,["prevent"])},null,8,["modelValue","length"])])]),_:1},8,["items-per-page","headers","items","search"])])]),a("div",{class:he(["flex flex-row my-5",{"mr-3":e(J)}])},[o(O,{color:"success",class:"ml-auto",loading:e(n),onClick:l[2]||(l[2]=b(t=>y.value=!0,["prevent"]))},{default:r(()=>[w(d(s.$t("components.form.button.create_new_user")),1)]),_:1},8,["loading"])],2),o(L,{"model-value":e(_)!==void 0,title:s.$t("components.dialog.title.edit_user"),"confirm-text":"components.form.button.save",loading:e(n),onConfirm:l[5]||(l[5]=t=>te()),onClose:l[6]||(l[6]=t=>_.value=void 0)},{content:r(()=>[o(e(M),{ref_key:"userVeeFormEdit",ref:I,class:"flex flex-col w-full h-full px-3","validation-schema":e(ue),"initial-values":e(P)},{default:r(()=>[a("div",null,[a("div",Te,[a("label",Ae,d(s.$t("components.form.label.username")),1),o(e(g),{name:"username"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"username",variant:"outlined",density:"compact"},t,{type:"text",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i}),null,16,["loading","disabled","error","error-messages"])]),_:1})]),a("div",Je,[a("label",Ke,d(s.$t("components.form.label.new_password")),1),o(e(g),{name:"password"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"password",variant:"outlined",density:"compact"},t,{type:e(v)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(v)?e($):e(U),"onClick:appendInner":l[3]||(l[3]=S=>v.value=!e(v))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",Re,[a("label",Ge,d(s.$t("components.form.label.new_password_confirm")),1),o(e(g),{name:"passwordConfirm"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"passwordConfirm",variant:"outlined",density:"compact"},t,{type:e(f)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(f)?e($):e(U),"onClick:appendInner":l[4]||(l[4]=S=>f.value=!e(f))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",He,[a("label",We,d(s.$t("components.form.label.role")),1),o(e(g),{name:"role"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(j,c({"model-value":t.value,variant:"outlined",density:"compact",name:"role",chips:""},t,{loading:e(n),disabled:e(n),items:e(F),error:m.length>0,"error-messages":i,onKeydown:b(()=>null,["prevent"])}),{chip:r(()=>[o(T,{color:"#df2a4c"},{default:r(()=>[w(d(t.value),1)]),_:2},1024)]),_:2},1040,["model-value","loading","disabled","items","error","error-messages"])]),_:1})])])]),_:1},8,["validation-schema","initial-values"])]),_:1},8,["model-value","title","loading"]),o(L,{modelValue:e(y),"onUpdate:modelValue":l[9]||(l[9]=t=>B(y)?y.value=t:null),title:s.$t("components.dialog.title.create_new_user"),"confirm-text":"components.form.button.add",loading:e(n),onConfirm:l[10]||(l[10]=t=>oe())},{content:r(()=>[o(e(M),{ref_key:"userVeeForm",ref:k,class:"flex flex-col w-full h-full px-3","validation-schema":e(ce)},{default:r(()=>[a("div",null,[a("div",qe,[a("label",Xe,d(s.$t("components.form.label.username")),1),o(e(g),{name:"username"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"username",variant:"outlined",density:"compact"},t,{type:"text",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i}),null,16,["loading","disabled","error","error-messages"])]),_:1})]),a("div",Ye,[a("label",Ze,d(s.$t("components.form.label.new_password")),1),o(e(g),{name:"password"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"password",variant:"outlined",density:"compact"},t,{type:e(v)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(v)?e($):e(U),"onClick:appendInner":l[7]||(l[7]=S=>v.value=!e(v))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",es,[a("label",ss,d(s.$t("components.form.label.new_password_confirm")),1),o(e(g),{name:"passwordConfirm"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(h,c({name:"passwordConfirm",variant:"outlined",density:"compact"},t,{type:e(f)?"text":"password",loading:e(n),disabled:e(n),error:m.length>0,"error-messages":i,"append-inner-icon":e(f)?e($):e(U),"onClick:appendInner":l[8]||(l[8]=S=>f.value=!e(f))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),a("div",as,[a("label",os,d(s.$t("components.form.label.role")),1),o(e(g),{name:"role"},{default:r(({field:t,errorMessage:i,errors:m})=>[o(j,c({variant:"outlined",density:"compact",name:"role",chips:""},t,{loading:e(n),disabled:e(n),items:e(F),error:m.length>0,"error-messages":i,onKeydown:b(()=>null,["prevent"])}),{chip:r(()=>[o(T,{color:"#df2a4c"},{default:r(()=>[w(d(t.value),1)]),_:2},1024)]),_:2},1040,["loading","disabled","items","error","error-messages"])]),_:1})])])]),_:1},8,["validation-schema"])]),_:1},8,["modelValue","title","loading"])])}}}),Es=ve(ts,[["__scopeId","data-v-76f26e89"]]);export{Es as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["ace-builds.IHJvJWwn.0.0.40.js","@xterm.oesufn9X.0.0.40.js","assets/@xterm.0.0.40.CFbL2ovg.css"])))=>i.map(i=>d[i]);
2
- import{N as T}from"./main.VdZiMYnS.0.0.40.js";import{t as k,b as V,m as B,c as L}from"./ace-builds.IHJvJWwn.0.0.40.js";import{z as C}from"./@vueuse.C9nAp_qw.0.0.40.js";import{G as P,an as z,ae as A,t as R,r as n,w as l,C as x,L as D,b as G,d as N,af as b}from"./@vue.PV_2gLoq.0.0.40.js";const F=P({__name:"VConfigEditor",props:b({lang:{default:"yaml"},readOnly:{type:Boolean,default:!1},printMargin:{type:[Number,Boolean],default:!1},theme:{default:"light"},options:{},placeholder:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:b(["init","blur","input","change","changeSelectionStyle","changeSession","copy","focus","paste","update:value"],["update:modelValue"]),async setup(p,{emit:w}){let s,f;const u=([s,f]=z(()=>T(()=>import("./ace-builds.IHJvJWwn.0.0.40.js").then(e=>e.a),__vite__mapDeps([0,1,2]))),s=await s,f(),s),c=A(p,"modelValue"),o=w,U={useWorker:!1,wrap:!0,showPrintMargin:!1,tabSize:2,highlightGutterLine:!0,useSoftTabs:!0,dragEnabled:!1,showGutter:!0,scrollPastEnd:.1},E=p,{theme:d,readOnly:h,options:g,lang:y,printMargin:_,placeholder:S}=R(E),a=n(),r=n(),i=n(),m=n(!1),v=n("");C(i,()=>{a.value&&a.value.resize(!0)}),l(c,e=>{var t;if(v.value!==e){try{m.value=!0,(t=a.value)==null||t.setValue(e,1)}finally{m.value=!1}v.value=e}}),l(d,()=>{setTimeout(()=>{M()},10)}),l(y,e=>{var t;(t=a.value)==null||t.setOption("mode","ace/mode/"+e),e==="json"?u.config.setModuleUrl("ace/mode/json",B):u.config.setModuleUrl("ace/mode/yaml",L)},{immediate:!0}),l(g,e=>{var t;e&&((t=a.value)==null||t.setOptions(e))}),l(S,e=>{var t;e!==void 0&&((t=a.value)==null||t.setOption("placeholder",e))}),l(h,e=>{var t;(t=a.value)==null||t.setReadOnly(e)}),l(_,e=>{var t;(t=a.value)==null||t.setOption("printMargin",e)});const M=()=>{var O;const e=d.value==="dark"?"twilight":"tomorrow",t=d.value==="dark"?k:V;u.config.setModuleUrl(`ace/theme/${e}`,t),r.value=e,(O=a.value)==null||O.setTheme(`ace/theme/${r.value}`)};return x(()=>{i.value&&(a.value=u.edit(i.value,{placeholder:S.value,readOnly:h.value,value:c.value,mode:"ace/mode/"+y.value,theme:r.value?"ace/theme/"+r.value:void 0,printMargin:_.value,...U,...g.value}),M(),a.value.on("change",()=>{if(m.value)return;const e=a.value.getValue();v.value=e,c.value=e}),a.value.on("blur",e=>{o("blur",e)}),a.value.on("input",()=>{o("input")}),a.value.on("change",e=>{o("change",e)}),a.value.on("changeSelectionStyle",e=>{o("changeSelectionStyle",e)}),a.value.on("changeSession",e=>{o("changeSession",e)}),a.value.on("copy",e=>{o("copy",e)}),a.value.on("focus",e=>{o("focus",e)}),a.value.on("paste",e=>{o("paste",e)}),o("init",a.value))}),D(()=>{var e,t;(e=a.value)==null||e.removeAllListeners(),(t=a.value)==null||t.destroy()}),(e,t)=>(G(),N("div",{ref_key:"editorEl",ref:i},null,512))}});export{F as _};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["ace-builds.CJ5_HA6k.0.0.41.js","@xterm.ChIdrMXz.0.0.41.js","assets/@xterm.0.0.41.CFbL2ovg.css"])))=>i.map(i=>d[i]);
2
+ import{N as T}from"./main.DGoYNhZz.0.0.41.js";import{t as k,b as V,m as B,c as L}from"./ace-builds.CJ5_HA6k.0.0.41.js";import{z as C}from"./@vueuse.0AqyrsW4.0.0.41.js";import{G as P,an as z,ae as A,t as R,r as n,w as l,C as x,L as D,b as G,d as N,af as b}from"./@vue.HgptpWSe.0.0.41.js";const F=P({__name:"VConfigEditor",props:b({lang:{default:"yaml"},readOnly:{type:Boolean,default:!1},printMargin:{type:[Number,Boolean],default:!1},theme:{default:"light"},options:{},placeholder:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:b(["init","blur","input","change","changeSelectionStyle","changeSession","copy","focus","paste","update:value"],["update:modelValue"]),async setup(p,{emit:w}){let s,f;const u=([s,f]=z(()=>T(()=>import("./ace-builds.CJ5_HA6k.0.0.41.js").then(e=>e.a),__vite__mapDeps([0,1,2]))),s=await s,f(),s),c=A(p,"modelValue"),o=w,U={useWorker:!1,wrap:!0,showPrintMargin:!1,tabSize:2,highlightGutterLine:!0,useSoftTabs:!0,dragEnabled:!1,showGutter:!0,scrollPastEnd:.1},E=p,{theme:d,readOnly:h,options:g,lang:y,printMargin:_,placeholder:S}=R(E),a=n(),r=n(),i=n(),m=n(!1),v=n("");C(i,()=>{a.value&&a.value.resize(!0)}),l(c,e=>{var t;if(v.value!==e){try{m.value=!0,(t=a.value)==null||t.setValue(e,1)}finally{m.value=!1}v.value=e}}),l(d,()=>{setTimeout(()=>{M()},10)}),l(y,e=>{var t;(t=a.value)==null||t.setOption("mode","ace/mode/"+e),e==="json"?u.config.setModuleUrl("ace/mode/json",B):u.config.setModuleUrl("ace/mode/yaml",L)},{immediate:!0}),l(g,e=>{var t;e&&((t=a.value)==null||t.setOptions(e))}),l(S,e=>{var t;e!==void 0&&((t=a.value)==null||t.setOption("placeholder",e))}),l(h,e=>{var t;(t=a.value)==null||t.setReadOnly(e)}),l(_,e=>{var t;(t=a.value)==null||t.setOption("printMargin",e)});const M=()=>{var O;const e=d.value==="dark"?"twilight":"tomorrow",t=d.value==="dark"?k:V;u.config.setModuleUrl(`ace/theme/${e}`,t),r.value=e,(O=a.value)==null||O.setTheme(`ace/theme/${r.value}`)};return x(()=>{i.value&&(a.value=u.edit(i.value,{placeholder:S.value,readOnly:h.value,value:c.value,mode:"ace/mode/"+y.value,theme:r.value?"ace/theme/"+r.value:void 0,printMargin:_.value,...U,...g.value}),M(),a.value.on("change",()=>{if(m.value)return;const e=a.value.getValue();v.value=e,c.value=e}),a.value.on("blur",e=>{o("blur",e)}),a.value.on("input",()=>{o("input")}),a.value.on("change",e=>{o("change",e)}),a.value.on("changeSelectionStyle",e=>{o("changeSelectionStyle",e)}),a.value.on("changeSession",e=>{o("changeSession",e)}),a.value.on("copy",e=>{o("copy",e)}),a.value.on("focus",e=>{o("focus",e)}),a.value.on("paste",e=>{o("paste",e)}),o("init",a.value))}),D(()=>{var e,t;(e=a.value)==null||e.removeAllListeners(),(t=a.value)==null||t.destroy()}),(e,t)=>(G(),N("div",{ref_key:"editorEl",ref:i},null,512))}});export{F as _};
@@ -1 +1 @@
1
- import{x as D,a as P,b as V}from"./@xterm.oesufn9X.0.0.40.js";import{Q as F,f as O}from"./main.VdZiMYnS.0.0.40.js";import{d as R,e as G,f as H}from"./@vueuse.C9nAp_qw.0.0.40.js";import{G as Q,t as U,r as u,c as j,w as f,C as q,R as J,b as K,d as N}from"./@vue.PV_2gLoq.0.0.40.js";const X=Q({__name:"VConsole",props:{options:{default:()=>({fontSize:14})}},setup(E,{expose:B}){const L=E,g=H(F),C=R(),p=G({listenOrientation:!1}),{options:d}=U(L),s=u(null),i=u(null),h=u(null),e=u(null),w=u(0);let b,c;const M=j(()=>{if(!e.value)return!0;const o=e.value.buffer.active.length-e.value.rows;return w.value>=o});f(d,()=>{e.value&&(e.value.options=d.value,r())},{deep:!0}),f(C.orientation,()=>{r()},{deep:!0}),f([p.height,p.width],()=>{r()},{deep:!0}),g.on(t=>{try{t.sidebarState&&(clearTimeout(b),b=setTimeout(()=>{r()},150))}catch{}});const a=()=>{e.value&&(w.value=e.value.buffer.active.viewportY)},T=()=>{var t,o,l;(o=(t=e.value)==null?void 0:t._core)!=null&&o.viewport&&(e.value._core.viewport.scrollBarWidth=0),(l=s.value)==null||l.fit(),a()},r=()=>{setTimeout(()=>{var t;T(),(t=e.value)==null||t.scrollToBottom(),a()})},Y=()=>{var t;(t=e.value)==null||t.clear(),a()},A=t=>{var o;(o=e.value)==null||o.write(t),a()},I=()=>{var t;(t=e.value)==null||t.scrollToBottom(),a()},z=()=>{if(!e.value||!e.value.element)return;let t=0,o=0,l=0,n=0,m=!1;const x=1,W=10;e.value.element.addEventListener("touchstart",v=>{clearInterval(c),t=v.touches[0].clientY,o=t,l=0,n=Date.now(),m=!1}),e.value.element.addEventListener("touchmove",v=>{v.preventDefault();const S=v.touches[0].clientY,_=Date.now(),k=S-o,y=_-n;n=_,o=S,l=Math.max(-x,Math.min(k/y,x)),m=!0,a()}),e.value.element.addEventListener("touchend",()=>{m&&Math.abs(l)>.5&&(c=setInterval(()=>{if(!e.value){clearInterval(c);return}e.value.scrollLines(-Math.round(l*W)),l*=.9,a(),Math.abs(l)<.1&&clearInterval(c)},16))})};return q(()=>{var t;e.value=new D.Terminal(d.value),s.value=new P.FitAddon,i.value=new V.WebglAddon,e.value.loadAddon(i.value),e.value.loadAddon(s.value),e.value.open(h.value),s.value.activate(e.value),T(),z(),(t=e.value.element)==null||t.addEventListener("wheel",a),i.value.onContextLoss(()=>{var o;(o=i.value)==null||o.dispose()})}),J(()=>{var t,o,l,n;try{(o=(t=e.value)==null?void 0:t.element)==null||o.removeEventListener("wheel",a),(l=e.value)==null||l.dispose(),(n=s.value)==null||n.dispose()}catch{}}),B({clearTerminal:Y,writeTerminal:A,resizeHandler:r,scrollToBottom:I,atBottom:M}),(t,o)=>(K(),N("div",{ref_key:"terminalContainer",ref:h,class:"console"},null,512))}}),oe=O(X,[["__scopeId","data-v-87ec8e2a"]]);export{oe as V};
1
+ import{x as D,a as P,b as V}from"./@xterm.ChIdrMXz.0.0.41.js";import{Q as F,f as O}from"./main.DGoYNhZz.0.0.41.js";import{d as R,e as G,f as H}from"./@vueuse.0AqyrsW4.0.0.41.js";import{G as Q,t as U,r as u,c as j,w as f,C as q,R as J,b as K,d as N}from"./@vue.HgptpWSe.0.0.41.js";const X=Q({__name:"VConsole",props:{options:{default:()=>({fontSize:14})}},setup(E,{expose:B}){const L=E,g=H(F),C=R(),p=G({listenOrientation:!1}),{options:d}=U(L),s=u(null),i=u(null),h=u(null),e=u(null),w=u(0);let b,c;const M=j(()=>{if(!e.value)return!0;const o=e.value.buffer.active.length-e.value.rows;return w.value>=o});f(d,()=>{e.value&&(e.value.options=d.value,r())},{deep:!0}),f(C.orientation,()=>{r()},{deep:!0}),f([p.height,p.width],()=>{r()},{deep:!0}),g.on(t=>{try{t.sidebarState&&(clearTimeout(b),b=setTimeout(()=>{r()},150))}catch{}});const a=()=>{e.value&&(w.value=e.value.buffer.active.viewportY)},T=()=>{var t,o,l;(o=(t=e.value)==null?void 0:t._core)!=null&&o.viewport&&(e.value._core.viewport.scrollBarWidth=0),(l=s.value)==null||l.fit(),a()},r=()=>{setTimeout(()=>{var t;T(),(t=e.value)==null||t.scrollToBottom(),a()})},Y=()=>{var t;(t=e.value)==null||t.clear(),a()},A=t=>{var o;(o=e.value)==null||o.write(t),a()},I=()=>{var t;(t=e.value)==null||t.scrollToBottom(),a()},z=()=>{if(!e.value||!e.value.element)return;let t=0,o=0,l=0,n=0,m=!1;const x=1,W=10;e.value.element.addEventListener("touchstart",v=>{clearInterval(c),t=v.touches[0].clientY,o=t,l=0,n=Date.now(),m=!1}),e.value.element.addEventListener("touchmove",v=>{v.preventDefault();const S=v.touches[0].clientY,_=Date.now(),k=S-o,y=_-n;n=_,o=S,l=Math.max(-x,Math.min(k/y,x)),m=!0,a()}),e.value.element.addEventListener("touchend",()=>{m&&Math.abs(l)>.5&&(c=setInterval(()=>{if(!e.value){clearInterval(c);return}e.value.scrollLines(-Math.round(l*W)),l*=.9,a(),Math.abs(l)<.1&&clearInterval(c)},16))})};return q(()=>{var t;e.value=new D.Terminal(d.value),s.value=new P.FitAddon,i.value=new V.WebglAddon,e.value.loadAddon(i.value),e.value.loadAddon(s.value),e.value.open(h.value),s.value.activate(e.value),T(),z(),(t=e.value.element)==null||t.addEventListener("wheel",a),i.value.onContextLoss(()=>{var o;(o=i.value)==null||o.dispose()})}),J(()=>{var t,o,l,n;try{(o=(t=e.value)==null?void 0:t.element)==null||o.removeEventListener("wheel",a),(l=e.value)==null||l.dispose(),(n=s.value)==null||n.dispose()}catch{}}),B({clearTerminal:Y,writeTerminal:A,resizeHandler:r,scrollToBottom:I,atBottom:M}),(t,o)=>(K(),N("div",{ref_key:"terminalContainer",ref:h,class:"console"},null,512))}}),oe=O(X,[["__scopeId","data-v-87ec8e2a"]]);export{oe as V};
@@ -0,0 +1,4 @@
1
+ var co=Object.defineProperty;var mo=(t,n,s)=>n in t?co(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var Kt=(t,n,s)=>mo(t,typeof n!="symbol"?n+"":n,s);import{i as ft,x as Be,G as po,H as vo,I as fo,J as go,K as yo,e as Nt,f as nt,a as ho,h as Va,v as za,t as Rt,L as Pa,s as Dt,c as fa,u as bo,U as _o,j as Ta,F as wo,y as $o}from"./main.DGoYNhZz.0.0.41.js";import{r as g,u as e,G as Ne,t as Ke,c as oe,w as ve,C as Mt,b as i,aa as M,ab as a,d as y,P as r,f as m,n as pt,g as Tt,Q as Se,ad as Te,p as J,a9 as c,a7 as E,k as N,m as ze,i as Me,ah as ko,j as qt,$ as Ea,ae as Ma,a5 as Ht,am as It,e as Ze,v as Et,ac as ot,af as Yt,S as Ba,L as Da,I as Co,a8 as xo,R as So}from"./@vue.HgptpWSe.0.0.41.js";import{L as Vo,_ as zo,U as La,a2 as Po,a3 as To,a4 as Eo,a5 as Mo,c as Wt,a6 as ga,a7 as Bo,a8 as Do,a9 as ya,s as xt,aa as ea,m as Lo,a as Fo,E as Fa,M as Ia,X as ha,e as qa,ab as Io,ac as qo,ad as Qo,ae as Oo,i as Ao,Y as No,af as Ro,ag as Uo,ah as Zo,ai as jo,aj as Ko,ak as Ho,al as Yo,am as Wo,an as Xo,h as Jo,ao as Go,ap as en,aq as tn,ar as an,P as on,Q as nn,I as sn,as as ln,at as rn,au as un,av as cn,R as dn,S as mn}from"./@mdi.CbjpODVZ.0.0.41.js";import{D as Qa}from"./draggabilly.MGblyd4O.0.0.41.js";import{F as Pe,a as Qt}from"./vee-validate.rx6EoM-V.0.0.41.js";import{i as rt}from"./vue3-toastify.B344fBI7.0.0.41.js";import{u as pn,b as Xe,a as gt}from"./@tanstack.BMdKtFKV.0.0.41.js";import{t as Ut}from"./@vee-validate.BN6pp7gT.0.0.41.js";import{z as tt,c as Pt}from"./zod.Bn-rxnIN.0.0.41.js";import{j as Ft,o as ta,v as vn,w as fn,x as gn,s as Oa,p as Lt,y as yn}from"./@vueuse.0AqyrsW4.0.0.41.js";import{a as je,l as Je,f as Aa,J as Na,m as Ye,z as mt,b as ie,p as lt,e as G,X as ba,W as hn,U as bn,x as aa,y as oa,c as He,d as Ra,M as yt,N as ht,L as bt,K as _t,Y as $t,D as _n,T as it,G as wn,I as $n,Z as kn,o as _a}from"./vuetify.cl53-mu0.0.0.41.js";import{q as Cn}from"./qrcode.BIXps75H.0.0.41.js";import{s as Ua}from"./pinia.CzEXGLAe.0.0.41.js";import{P as na}from"./plugins.5zIS5blM.0.0.41.js";import{u as xn,a as Za}from"./vue-router.BlIBZAV8.0.0.41.js";import{V as Sn}from"./VConsole.C_RAZERN.0.0.41.js";const Vn=t=>{const n={};return Object.entries(t.schema).forEach(([s,v])=>{n[s]=Ot(v)}),n},Ot=t=>{switch(t.type){case"string":case"number":case"boolean":return Xt(t)?t.multiple?t.defaultValue!==void 0?[t.defaultValue]:void 0:t.defaultValue!==void 0?t.defaultValue:t.required?t.enum[0]:void 0:t.defaultValue;case"object":return t.properties?Object.entries(t.properties).reduce((n,[s,v])=>(n[s]=Ot(v),n),{}):{};case"array":return t.items?[Ot(t.items)].filter(Boolean):[];default:return}},zn=(t={},n)=>{const s=n.split(".").reduce((S,w)=>{if(w.includes("[")){const[Z,p]=w.split("[");S.push(Z,p.slice(0,-1))}else S.push(w);return S},[]);let v=t;for(const S of s){if(v===void 0)return;v=v[S]}return v},ut=t=>t.type==="string"&&!("enum"in t),wa=t=>t.type==="number"&&!("enum"in t),$a=t=>t.type==="boolean"&&!("enum"in t),Xt=t=>"enum"in t,ja=t=>t.type==="object",ka=t=>ja(t)&&"buttons"in t,Ca=t=>t.type==="array",Jt=t=>t.type==="button",Pn=t=>ut(t)&&t.format!=="qrCode"&&t.format!=="image",Tn=t=>t.type==="string"&&!("enum"in t),En=t=>t.type==="number"&&!("enum"in t),Mn=t=>"enum"in t,St=t=>t.type==="object",Vt=t=>t.type==="array",Gt=t=>/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?)?$/.test(t),Ka=(t,n)=>(n.mode==="withSeconds"?/^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/:/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/).test(t),Ha=t=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(t),Ya=t=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(t),At=(t,n)=>(n===4?/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/:/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/).test(t),sa=t=>{switch(!0){case t===void 0:case typeof t>"u":case typeof t=="function":case typeof t=="symbol":case t instanceof Date:throw new TypeError(`Invalid JSON value: ${String(t)}`);case typeof t=="number":return Ln();case typeof t=="boolean":return Fn();case typeof t=="string":return In(t);case Array.isArray(t):return t.every(s=>typeof s=="string"||typeof s=="number"||typeof s=="boolean")?qn(t):On(t);case t instanceof Object:return Qn(t);default:throw new TypeError(`Invalid JSON value: ${t}`)}},Bn=t=>{const n={};return Object.entries(t).forEach(([s,v])=>{n[s]=sa(v)}),{schema:n}},Xu=(t,n)=>{const s={},v=(S,w)=>{if(St(S)&&S.properties){const Z={};return Object.entries(S.properties).forEach(([p,B])=>{const q=v(B,w==null?void 0:w[p]);q!==void 0&&(Z[p]=q)}),Object.keys(Z).length>0?Z:void 0}else if(Vt(S)&&S.items&&Array.isArray(w)){const Z=w.map(p=>v(S.items,p)).filter(p=>p!==void 0);return Z.length>0?Z:void 0}else if(S.store)return w};return Object.entries(t).forEach(([S,w])=>{const Z=v(w,n[S]);Z!==void 0&&(s[S]=Z)}),s},kt=(t,n)=>n?!t.group||t.group!==n?!0:t.group===n?St(t)&&t.properties?Object.values(t.properties).every(v=>kt(v)):Vt(t)&&t.items?kt(t.items,n):t.readonly??!1:St(t)&&t.properties?Object.values(t.properties).filter(v=>v.group===n).every(v=>kt(v,n)):Vt(t)&&t.items?kt(t.items,n):!1:t.readonly!==void 0?t.readonly:St(t)&&t.properties?Object.values(t.properties).some(s=>kt(s)):Vt(t)&&t.items?kt(t.items):!1,Ct=(t,n)=>n?!t.group||t.group!==n?!1:t.group===n?St(t)&&t.properties?Object.values(t.properties).some(v=>Ct(v)):Vt(t)&&t.items?Ct(t.items,n):t.store??!1:St(t)&&t.properties?Object.values(t.properties).filter(v=>v.group===n).some(v=>Ct(v)):Vt(t)&&t.items?Ct(t.items,n):!1:t.store!==void 0?t.store:St(t)&&t.properties?Object.values(t.properties).some(s=>Ct(s)):Vt(t)&&t.items?Ct(t.items):!1,Dn=t=>{const n={};return Object.entries(t.schema).forEach(([s,v])=>{n[s]=la(v)}),tt.object(n).strict()},la=t=>{switch(t.type){case"string":case"number":case"boolean":return Mn(t)?Un(t):Tn(t)?An(t):En(t)?Nn(t):Rn(t);case"object":return Zn(t);case"array":return jn(t);case"button":return tt.any()}},Ln=()=>({type:"number"}),Fn=()=>({type:"boolean"}),In=t=>{const n={type:"string"};return Gt(t)&&(n.format=t.includes("T")?"date-time":"date"),Ka(t.split("+")[0],{mode:"withSeconds"})&&(n.format="time"),Ha(t)&&(n.format="email"),Ya(t)&&(n.format="uuid"),At(t,4)&&(n.format="ipv4"),At(t,6)&&(n.format="ipv6"),n},qn=t=>({type:"string",enum:t.map(n=>n.toString())}),Qn=t=>{if(!Object.keys(t).length)return{type:"object"};const n={};return Object.entries(t).forEach(([s,v])=>{const S=sa(v);S.key=s,S.description=S.description??`Description for ${s}`,S.required=S.required??!0,S.readonly=S.readonly??!1,n[s]=S}),{type:"object",properties:n}},On=t=>{if(t.length===0)return{type:"array"};const n=t.every(S=>typeof S=="object"&&S!==null&&!Array.isArray(S)),s=t.every(S=>typeof S=="string"),v=t.every(S=>typeof S=="number");if(n){const S={},w={};return t.forEach(Z=>{Object.keys(Z).forEach(p=>{w[p]=(w[p]||0)+1})}),t.forEach(Z=>{Object.entries(Z).forEach(([p,B])=>{if(!S[p]){const q=w[p]===t.length;S[p]={...sa(B),required:q,title:p,description:`Description for ${p}`,readonly:!1}}})}),{type:"array",items:{type:"object",properties:S}}}else return s?{type:"array",items:{type:"string"}}:v?{type:"array",items:{type:"number"}}:{type:"array",items:{type:"boolean"}}},An=t=>{let n=tt.string();if(t.required&&(n=n.nonempty("Required")),t.minLength!==void 0&&(n=n.min(t.minLength)),t.maxLength!==void 0&&(n=n.max(t.maxLength)),t.format)switch(t.format){case"date-time":n=n.refine(s=>Gt(s)&&s.includes("T"),{message:"Invalid date-time"});break;case"date":n=n.refine(s=>Gt(s),{message:"Invalid date"});break;case"time":n=n.refine(s=>Ka(s.split("+")[0],{mode:"withSeconds"}),{message:"Invalid time"});break;case"email":n=n.refine(s=>Ha(s),{message:"Invalid email"});break;case"uuid":n=n.refine(s=>Ya(s),{message:"Invalid uuid"});break;case"ipv4":n=n.refine(s=>At(s,4),{message:"Invalid ipv4"});break;case"ipv6":n=n.refine(s=>At(s,6),{message:"Invalid ipv6"});break}return t.required?n:n.optional()},Nn=t=>{let n=tt.number();return t.minimum!==void 0&&(n=n.min(t.minimum)),t.maximum!==void 0&&(n=n.max(t.maximum)),t.required&&(n=n.refine(s=>s!==void 0&&typeof s=="number",{message:"Required"})),t.required?n:n.optional()},Rn=t=>{const n=tt.boolean();return t.required?n:n.optional()},Un=t=>{const n=t.enum.map(v=>t.required?tt.literal(v):tt.literal(v).optional()),s=t.required?tt.union(n):tt.any().transform(v=>!v||v===""||!t.enum.some(S=>S===v)?void 0:v);return t.multiple?t.required?s.array():s.array().optional():t.required?s:s.optional()},Zn=t=>{let n;if(t.properties){const s=Object.entries(t.properties).reduce((v,[S,w])=>(v[S]=la(w),v),{});n=tt.object(s).strict()}else n=tt.record(tt.any());return t.required?n:n.optional()},jn=t=>{let n;return t.items?n=la(t.items).array():n=tt.any().array(),t.required?n:n.optional()},Kn=async({cameraData:t})=>(await Be.post("/cameras",t)).data,Hn=async({cameraData:t})=>(await Be.post("/cameras/preview",t)).data,Wa=async({cameraname:t,signal:n})=>(await Be.get(`/cameras/${t}`,{signal:n})).data,Yn=async({cameraname:t})=>(await Be.delete(`/cameras/${t}/log`)).data,Wn=async({cameraname:t,signal:n})=>(await Be.get(`/cameras/${t}/log/download`,{signal:n})).data,Xn=async({cameraname:t,sourcename:n,signal:s})=>(await Be.get(`/cameras/${t}/probe/${n}`,{signal:s})).data,Jn=async({cameraname:t,forceNew:n,signal:s})=>(await Be.get(`/cameras/${t}/snapshot`,{signal:s,params:{forceNew:n}})).data,Gn=async({parameter:t,signal:n})=>(await Be.get("/cameras",{params:t,signal:n})).data,es=async({cameraname:t,cameraData:n})=>(await Be.patch(`/cameras/${t}`,n)).data,ts=async({cameraname:t,signal:n})=>(await Be.get(`/cameras/${t}/extensions`,{signal:n})).data,as=async({cameraname:t,pluginname:n,signal:s})=>(await Be.get(`/cameras/${t}/${n}`,{signal:s})).data,os=async({cameraname:t,pluginname:n,configData:s})=>(await Be.patch(`/cameras/${t}/${n}`,s)).data,ns=async({cameraname:t,pluginname:n,configPath:s})=>(await Be.post(`/cameras/${t}/${n}/submit`,{configPath:s})).data,ss=async({cameraname:t,pluginname:n,type:s})=>(await Be.put(`/cameras/${t}/${n}/enable`,null,{params:{type:s}})).data,ls=async({cameraname:t,pluginname:n,type:s})=>(await Be.put(`/cameras/${t}/${n}/disable`,null,{params:{type:s}})).data,rs=async({cameraname:t,pluginname:n})=>(await Be.post(`/cameras/${t}/${n}`)).data,is=async({cameraname:t,pluginname:n})=>(await Be.delete(`/cameras/${t}/${n}`)).data,us=async({cameraname:t,zonename:n,signal:s})=>(await Be.get(`/cameras/${t}/zones/${n}`,{signal:s})).data,cs=async({cameraname:t,zoneData:n})=>(await Be.post(`/cameras/${t}/zones`,n)).data,ds=async({cameraname:t,zonename:n,zoneData:s})=>(await Be.patch(`/cameras/${t}/zones/${n}`,s)).data,ms=async({cameraname:t,zonename:n})=>(await Be.delete(`/cameras/${t}/zones/${n}`)).data,ps=async({cameraname:t})=>(await Be.delete(`/cameras/${t}`)).data,vs=async()=>(await Be.delete("/cameras")).data;class vt{constructor(){Kt(this,"_queryClient",pn());Kt(this,"queryActivator",g([{name:"getCameraQuery",enabled:!0},{name:"getCamerasQuery",enabled:!0},{name:"getCameraSnapshotQuery",enabled:!0},{name:"getCameraExtensionsQuery",enabled:!0},{name:"getCameraExtensionConfigQuery",enabled:!0},{name:"getZoneQuery",enabled:!0},{name:"probeCameraSourceQuery",enabled:!0},{name:"downloadLogQuery",enabled:!0}]))}get queryClient(){return this._queryClient}createCameraQuery(){return Xe({mutationFn:Kn,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),rt.success(ft.global.t("components.toast.camera_added"))}})}previewCameraQuery(){return Xe({mutationFn:Hn})}getCameraQuery(n){return gt({queryKey:["cameras",n],queryFn:({signal:s})=>Wa({cameraname:e(n),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="getCameraQuery"&&s.enabled)})}getCameraExtensionsQuery(n){return gt({queryKey:["camerasExtensions",n],queryFn:({signal:s})=>ts({cameraname:e(n),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="getCameraExtensionsQuery"&&s.enabled)})}probeCameraSourceQuery(n,s){return gt({queryKey:["cameras",n,"probe",s],queryFn:({signal:v})=>Xn({cameraname:e(n),sourcename:e(s),signal:v}),enabled:()=>this.queryActivator.value.some(v=>v.name==="probeCameraSourceQuery"&&v.enabled)})}getCameraSnapshotQuery(n,s){return gt({queryKey:["camerasSnapshot",n],queryFn:({signal:v})=>Jn({cameraname:e(n),forceNew:e(s),signal:v}),enabled:()=>this.queryActivator.value.some(v=>v.name==="getCameraSnapshotQuery"&&v.enabled),retry:!1})}getCamerasQuery(n){return gt({queryKey:["camerasList",n],queryFn:({signal:s})=>Gn({parameter:e(n),signal:s}),placeholderData:s=>s,enabled:()=>this.queryActivator.value.some(s=>s.name==="getCamerasQuery"&&s.enabled)})}patchCameraQuery(){return Xe({mutationFn:es,onSuccess:async(n,s)=>{if(s.cameraData.name&&s.cameraData.name!==s.cameraname){const S=s.cameraname;await this._queryClient.invalidateQueries({queryKey:[S]}),await this._queryClient.refetchQueries({queryKey:["camerasList"]})}else await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",s.cameraname]});rt.success(ft.global.t("components.toast.camera_updated"))}})}getCameraExtensionConfigQuery(n,s,v){return gt({staleTime:0,queryKey:["cameras","extensions",n,s],queryFn:({signal:S})=>as({cameraname:e(n),pluginname:e(s),signal:S}),enabled:()=>this.queryActivator.value.some(S=>S.name==="getCameraExtensionConfigQuery"&&S.enabled),refetchInterval(){if(v.value)return 5e3}})}patchCameraExtensionConfigQuery(){return Xe({mutationFn:os,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}submitCameraExtensionConfigQuery(){return Xe({mutationFn:ns,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["cameras","extensions",s.cameraname]}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}enableCameraExtensionQuery(){return Xe({mutationFn:ss,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}disableCameraExtensionQuery(){return Xe({mutationFn:ls,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}addCameraExtensionQuery(){return Xe({mutationFn:rs,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}getZoneQuery(n,s){return gt({queryKey:["cameras",n,"zones",s],queryFn:({signal:v})=>us({cameraname:e(n),zonename:e(s),signal:v}),enabled:()=>this.queryActivator.value.some(v=>v.name==="getZoneQuery"&&v.enabled)})}addCameraZoneQuery(){return Xe({mutationFn:cs,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),rt.success(ft.global.t("components.toast.zone_added"))}})}patchCameraZoneQuery(){return Xe({mutationFn:ds,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),rt.success(ft.global.t("components.toast.zone_updated"))}})}removeCameraZoneQuery(){return Xe({mutationFn:ms,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),rt.success(ft.global.t("components.toast.zone_removed"))}})}removeCameraExtensionQuery(){return Xe({mutationFn:is,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["cameras",s.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:["camerasExtensions",s.cameraname]})}})}removeCameraQuery(){return Xe({mutationFn:ps,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),rt.success(ft.global.t("components.toast.camera_removed"))}})}removeCamerasQuery(){return Xe({mutationFn:vs,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["camerasList"]}),rt.success(ft.global.t("components.toast.cameras_removed"))}})}downloadLogQuery(n){return gt({queryKey:["logs",n],queryFn:({signal:s})=>Wn({cameraname:e(n),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="downloadLogQuery"&&s.enabled)})}clearLogQuery(){return Xe({mutationFn:Yn,onSuccess:async(n,s)=>{await this._queryClient.refetchQueries({queryKey:["logs",s.cameraname],exact:!0}),rt.success(ft.global.t("components.toast.log_cleared"))}})}toggleQueryActivator(n,s){const v=this.queryActivator.value.find(S=>S.name===n);v&&(v.enabled=s)}}const fs=Pt.object({protocol:fo,url:Pt.string().min(1,"Camera Source is required").array().nonempty("Camera Source is required")}).strict(),gs=Pt.object({name:Pt.string().min(1,"Camera Source Name is required"),roles:go.array().nonempty("Minimum one role is required"),urls:fs.array(),internal:Pt.boolean().default(!1)}).strict(),ys=gs.array(),hs=Pt.object({...yo.shape,sources:ys}).strict(),Ju=Ut(hs),xa=Ut(po),Xa=Ut(vo),bs={0:"person",1:"bicycle",2:"car",3:"motorcycle",4:"airplane",5:"bus",6:"train",7:"truck",8:"boat",9:"traffic light",10:"fire hydrant",11:"stop sign",12:"parking meter",13:"bench",14:"bird",15:"cat",16:"dog",17:"horse",18:"sheep",19:"cow",20:"elephant",21:"bear",22:"zebra",23:"giraffe",24:"backpack",25:"umbrella",26:"handbag",27:"tie",28:"suitcase",29:"frisbee",30:"skis",31:"snowboard",32:"sports ball",33:"kite",34:"baseball bat",35:"baseball glove",36:"skateboard",37:"surfboard",38:"tennis racket",39:"bottle",40:"wine glass",41:"cup",42:"fork",43:"knife",44:"spoon",45:"bowl",46:"banana",47:"apple",48:"sandwich",49:"orange",50:"broccoli",51:"carrot",52:"hot dog",53:"pizza",54:"donut",55:"cake",56:"chair",57:"couch",58:"potted plant",59:"bed",60:"dining table",61:"toilet",62:"tv",63:"laptop",64:"mouse",65:"remote",66:"keyboard",67:"cell phone",68:"microwave",69:"oven",70:"toaster",71:"sink",72:"refrigerator",73:"book",74:"clock",75:"vase",76:"scissors",77:"teddy bear",78:"hair drier",79:"toothbrush",100:"motion"},_s={key:0},ws={key:1,class:"flex flex-col justify-center items-center"},$s={class:"relative w-full"},ks={class:"w-full flex flex-col items-center justify-center"},Cs={class:"relative w-full flex flex-col items-center justify-center"},xs={class:"absolute top-0 left-0 right-0 bottom-0"},Ss={class:"playground-container flex w-full h-full"},Vs={class:"sandbox w-full h-full"},zs={class:"handles"},Ps=["data-id","data-coord","data-region","onDblclick"],Ts={class:"clipboard"},Es={width:"100%",height:"100%",class:"polygon-container"},Ms=["d","onClick","onDblclick","onMousedown","onTouchstart"],Bs={class:"flex align-center flex-column pa-6 zone-buttons"},Ds={class:"w-100"},Ls=["for"],Fs={key:1,class:"text-grey text-caption align-self-center"},Is={key:1,class:"w-100"},qs={class:"v-label"},Qs={key:0},Os={key:1},As={key:0},Ns={key:1},Rs={key:0},Us={key:1},Zs=Ne({__name:"VZoneEditor",props:{cameraName:{},zones:{},isNewZone:{type:Boolean}},emits:["show-modal"],setup(t,{emit:n}){const s=new vt,v=n,S=t,{cameraName:w,zones:Z,isNewZone:p}=Ke(S),B=g(!0),q=g(!1),b=g([]),k=g([]),K=g([]),D=g(null),u=g(),j=g(!1),P=g(0),h=g(-1),ae=g(null),re=g(-1),I=g(Object.values(bs).sort((l,o)=>l==="motion"?-1:o==="motion"?1:0));let te=!1;const le={x:0,y:0},de=Ft(D);ta(ae,l=>{const o=l.target,d=o.closest(".polygon"),C=o.closest(".edit-button"),U=o.closest(".remove-button"),Q=o.closest(".handle"),L=o.closest(".zone-buttons"),ge=o.closest(".coco-labels");!d&&!C&&!U&&!Q&&!q.value&&!L&&!ge&&(h.value=-1)});const{mutateAsync:fe,isPending:ne}=s.addCameraZoneQuery(),{mutateAsync:T,isPending:_}=s.patchCameraZoneQuery(),f=oe(()=>j.value||ne.value||_.value),x=oe(()=>{var l,o;return((o=(l=u.value)==null?void 0:l.regions[h.value])==null?void 0:o.classes.length)===I.value.length}),se=oe(()=>{var l,o;return(((o=(l=u.value)==null?void 0:l.regions[h.value])==null?void 0:o.classes.length)||0)>0}),V=oe(()=>{var o;const l=[];return q.value&&l.push("customizing"),(o=u.value)!=null&&o.regions.length||l.push("start"),l.join(" ")});ve(re,()=>{re.value=-1}),ve(Z,l=>{l&&(u.value=JSON.parse(JSON.stringify(l)))},{deep:!0,immediate:!0}),ve(u,l=>{l&&(b.value=l.regions.map((o,d)=>o.coords.map((C,U)=>({_id:C._id,regionIndex:d,coordIndex:U,coord:C.points}))).flat()||[])},{deep:!0,immediate:!0}),ve(B,l=>{l||setTimeout(()=>v("show-modal",!1),300)}),ve([de.width,de.height],()=>{z()});const Y=()=>{!u.value||!u.value.regions[h.value]||(x.value?u.value.regions[h.value].classes=[]:u.value.regions[h.value].classes=[...I.value])},ee=l=>{if("touches"in l){const o=l.touches[0];return{x:o.clientX,y:o.clientY}}return{x:l.clientX,y:l.clientY}},me=(l,o)=>{if(l.stopPropagation(),!D.value)return;he(q.value),te=!0,h.value=o;const d=D.value.getBoundingClientRect(),{x:C,y:U}=ee(l);le.x=(C-d.left)/d.width*100,le.y=(U-d.top)/d.height*100},ke=l=>{if(!te||!D.value||h.value===-1||!u.value)return;const o=D.value.getBoundingClientRect(),{x:d,y:C}=ee(l),U=(d-o.left)/o.width*100,Q=(C-o.top)/o.height*100,L=U-le.x,ge=Q-le.y,_e=u.value.regions[h.value].coords;let ce=!1;for(let A=0;A<_e.length;A++){const $e=_e[A].points[0]+L,We=_e[A].points[1]+ge;if($e<0||$e>100||We<0||We>100){ce=!0;break}}if(!ce)for(let A=0;A<_e.length;A++){_e[A].points[0]+=L,_e[A].points[1]+=ge,_e[A].points[0]=Math.max(0,Math.min(100,_e[A].points[0])),_e[A].points[1]=Math.max(0,Math.min(100,_e[A].points[1]));const $e=_e[A].points[0]/100*o.width,We=_e[A].points[1]/100*o.height,Ge=k.value.find(at=>at.id===_e[A]._id);Ge==null||Ge.setPosition($e,We)}le.x=U,le.y=Q},pe=()=>{setTimeout(()=>{te=!1},100)},ye=()=>{!u.value||h.value===-1||(u.value.regions[h.value].isPrivacyMask=!u.value.regions[h.value].isPrivacyMask)},H=()=>{!u.value||!u.value.regions[h.value]||(u.value.regions[h.value].filter=u.value.regions[h.value].filter==="include"?"exclude":"include")},we=()=>{!u.value||!u.value.regions[h.value]||(u.value.regions[h.value].type=u.value.regions[h.value].type==="intersect"?"contain":"intersect")},Ee=l=>{if(!q.value||!u.value||te)return;const o=P.value,d=Math.min(Math.max(Math.round((l.offsetX-10)/de.width.value*100),0),100),C=Math.min(Math.max(Math.round((l.offsetY-10)/de.height.value*100),0),100);u.value.regions[o]||u.value.regions.push({_id:Math.random().toString(36).substring(7),coords:[],filter:"include",type:"contain",classes:[],isPrivacyMask:!1});const U={_id:Math.random().toString(36).substring(7),points:[d,C]};u.value.regions[o].coords.push(U),pt(()=>{Qe({regionIndex:o,coordIndex:u.value.regions[o].coords.length-1,coord:[d,C]})})},Qe=l=>{var d;if(l.regionIndex===void 0||l.coordIndex===void 0)return;const o=(d=K.value)==null?void 0:d.filter(C=>C.dataset.coord===l.coordIndex.toString()&&C.dataset.region===l.regionIndex.toString());o.length!==0&&X(o[0],l.coord)},Oe=l=>{if(!u.value)return;const o=Math.round(l.coord[0]/de.width.value*100),d=Math.round(l.coord[1]/de.height.value*100),C={_id:l._id,points:[o,d]};u.value.regions[l.regionIndex].coords[l.coordIndex]=C},Ce=()=>{u.value&&(q.value=!0,P.value=u.value.regions.length||0)},he=l=>{var d;if(!u.value)return;q.value=l||!1;const o=P.value;!u.value.regions.length||!u.value.regions[o]||!u.value.regions[o].coords||(u.value.regions[o].coords.length<3?u.value.regions=u.value.regions.filter((C,U)=>U!==o):(d=K.value)==null||d.forEach(C=>be(C)))},Ae=()=>{q.value=!0,P.value=h.value},Fe=()=>{h.value===-1||!u.value||(u.value.regions=u.value.regions.filter((l,o)=>o!==h.value),h.value=-1)},Re=()=>{var d,C;if(!((d=u.value)!=null&&d.regions.length))return;const l=U=>{var Q,L,ge,_e,ce;(L=(Q=u.value)==null?void 0:Q.regions[U])!=null&&L.coords.length&&((_e=(ge=u.value.regions[U])==null?void 0:ge.coords)==null||_e.pop(),(ce=u.value.regions[U])!=null&&ce.coords.length||u.value.regions.pop())};let o=u.value.regions.length;(C=u.value.regions[o-1].coords)!=null&&C.length&&o--,!(o<0)&&l(o)},De=()=>{te=!1,q.value=!1,b.value=[],u.value&&(u.value.regions=[])},O=l=>{if(!l)return"";const o=l.map(C=>{const U=Math.round(C[0]/100*de.width.value),Q=Math.round(C[1]/100*de.height.value);return`${U+10},${Q+10}`});if(o.length===0)return"";let d=`M ${o[0]}`;for(let C=1;C<o.length;C++)d+=` L ${o[C]}`;return d+=" Z",d},R=l=>{q.value||(h.value=l)},z=()=>{$(),K.value.forEach(l=>{var d;if(!l.dataset.region||!l.dataset.coord||!u.value)return;const o=(d=u.value.regions[parseInt(l.dataset.region)])==null?void 0:d.coords[parseInt(l.dataset.coord)];X(l,o.points),be(l)})},$=()=>{k.value.forEach(l=>l.destroy()),k.value=[]},W=l=>{var o;!u.value||((o=u.value.regions[l.regionIndex])==null?void 0:o.coords.length)<4||u.value.regions[l.regionIndex].coords.splice(l.coordIndex,1)},X=(l,o)=>{Object.assign(l.style,xe(o))},xe=l=>({left:Math.round(l[0]/100*de.width.value)+"px",top:Math.round(l[1]/100*de.height.value)+"px"}),be=l=>{l.classList.add("draggable");const o=new Qa(l,{containment:!0,grid:[0,0]}).on("pointerDown",()=>{var d;(d=document.querySelectorAll('[data-point="'+l.dataset.region+"-"+l.dataset.coord+'"]')[0])==null||d.classList.add("changing")}).on("dragMove",()=>{if(!l.dataset.region||!l.dataset.coord||!l.dataset.id)return;const d=o.position.x,C=o.position.y;Oe({_id:l.dataset.id,coord:[d,C],coordIndex:parseInt(l.dataset.coord),regionIndex:parseInt(l.dataset.region)})}).on("pointerUp",()=>{document.querySelectorAll(".point").forEach(d=>d.classList.remove("changing"))});o.id=l.dataset.id,k.value.push(o)},Ue=async()=>{if(u.value)try{j.value=!0;const l=await Xa.parse(u.value);l.value?(p.value?await fe({cameraname:w.value,zoneData:u.value}):await T({cameraname:w.value,zonename:u.value.name,zoneData:u.value}),B.value=!1):rt.error(l.errors[0].errors[0])}catch(l){console.error(l)}finally{j.value=!1}};return Mt(async()=>{setTimeout(()=>{z()})}),(l,o)=>{const d=Ga,C=Nt;return i(),M(C,{modelValue:e(B),"onUpdate:modelValue":o[12]||(o[12]=U=>Me(B)?B.value=U:null),title:`${l.$t("components.zone_editor.zone")}: ${e(u)?e(u).name:l.$t("components.dialog.title.unknown")}`,loading:e(f),onConfirm:o[13]||(o[13]=U=>Ue())},{content:a(()=>{var U;return[e(u)?(i(),y("div",ws,[m("div",$s,[m("div",{ref_key:"outsideEl",ref:ae},null,512),m("div",ks,[m("div",Cs,[m("div",xs,[m("div",Ss,[m("section",{class:Tt(["playground w-full h-full",e(V)]),onClick:Ee},[m("div",Vs,[m("div",zs,[(i(!0),y(Se,null,Te(e(b),Q=>(i(),y("div",{key:Q._id,ref_for:!0,ref_key:"draggables",ref:K,class:"handle","data-id":Q._id,"data-coord":Q.coordIndex,"data-region":Q.regionIndex,onDblclick:J(L=>W(Q),["prevent"])},o[14]||(o[14]=[m("div",{class:"delete-point"},null,-1)]),40,Ps))),128)),m("div",Ts,[(i(),y("svg",Es,[(i(!0),y(Se,null,Te((U=e(u))==null?void 0:U.regions,(Q,L)=>(i(),y("path",{key:Q._id,d:O(Q.coords.map(ge=>ge.points)),class:Tt({polygon:Q.filter=="include"&&!Q.isPrivacyMask,"polygon-exclude":Q.filter=="exclude"&&!Q.isPrivacyMask,"polygon-privacy":Q.isPrivacyMask,dash:Q.type==="intersect"&&!Q.isPrivacyMask,selected:e(h)===L}),onClick:ge=>R(L),onDblclick:()=>Q.isPrivacyMask=!Q.isPrivacyMask,onMousedown:ge=>me(ge,L),onMousemove:ke,onMouseup:pe,onTouchstart:ge=>me(ge,L),onTouchmove:ke,onTouchend:pe},null,42,Ms))),128))]))])]),o[15]||(o[15]=m("div",{class:"shadowboard on"},null,-1))])],2)])]),m("div",{ref_key:"player",ref:D,class:"w-full h-full flex flex-col items-center justify-center",style:{width:"calc(100% - 20px)","margin-top":"10px","margin-bottom":"10px"}},[r(d,{mode:"webrtc",target:"stream","current-camera":e(w),"border-radius":0,border:"","source-role":"low-resolution"},null,8,["current-camera"])],512)]),m("div",Bs,[m("div",Ds,[e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]&&!e(u).regions[e(h)].isPrivacyMask?(i(),M(e(Pe),{key:0,modelValue:e(u).regions[e(h)].classes,"onUpdate:modelValue":o[0]||(o[0]=Q=>e(u).regions[e(h)].classes=Q),name:`regions[${e(h)}].classes`},{default:a(({field:Q,errorMessage:L,errors:ge})=>[m("label",{for:`regions[${e(h)}].classes`,class:"v-label"},c(l.$t("components.form.label.classes")),9,Ls),r(mt,ze({loading:e(f),items:e(I),class:"coco-labels w-100",variant:"outlined",name:`regions[${e(h)}].classes`,type:"text",density:"compact",chips:"",multiple:"",clearable:""},Q,{error:ge.length>0,"error-messages":L,"model-value":Q.value,"menu-props":{class:"coco-labels"},onKeydown:J(()=>null,["prevent"])}),{"prepend-item":a(()=>[r(Aa,{title:l.$t("components.form.label.select_all"),onClick:Y},{prepend:a(()=>[r(Na,{indeterminate:e(se)&&!e(x),"model-value":e(x)},null,8,["indeterminate","model-value"])]),_:1},8,["title"]),r(Ye,{class:"mt-2"})]),chip:a(({item:_e,index:ce})=>[ce<5?(i(),M(Je,{key:0,color:"#df2a4c"},{default:a(()=>[E(c(_e.title),1)]),_:2},1024)):N("",!0),ce===5?(i(),y("span",Fs," (+"+c(e(u).regions[e(h)].classes.length-2)+") ",1)):N("",!0)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:1},8,["modelValue","name"])):(i(),y("div",Is,[m("label",qs,c(l.$t("components.form.label.classes")),1),r(mt,{disabled:"",class:"w-100",variant:"outlined",type:"text",density:"compact",onKeydown:J(()=>null,["prevent"])})]))]),r(ba,{modelValue:e(re),"onUpdate:modelValue":o[7]||(o[7]=Q=>Me(re)?re.value=Q:null),variant:"outlined",divided:"",rounded:"xl",class:"mt-5"},{default:a(()=>[e(q)?(i(),M(ie,{key:1,loading:e(f),onClick:o[2]||(o[2]=J(Q=>he(!1),["prevent"]))},{default:a(()=>[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(l.$t("components.form.tooltip.finish")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(zo)),1)]),_:1})]),_:1},8,["loading"])):(i(),M(ie,{key:0,loading:e(f),onClick:o[1]||(o[1]=J(Q=>Ce(),["prevent"]))},{default:a(()=>[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(l.$t("components.form.tooltip.new")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(Vo)),1)]),_:1})]),_:1},8,["loading"])),r(ie,{loading:e(f),disabled:!e(u).regions.length||e(h)<0||e(q),onClick:o[3]||(o[3]=J(Q=>Ae(),["prevent"]))},{default:a(()=>[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(l.$t("components.form.tooltip.edit")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(La)),1)]),_:1})]),_:1},8,["loading","disabled"]),r(ie,{loading:e(f),disabled:!e(u).regions.length||e(h)<0,onClick:o[4]||(o[4]=J(Q=>Fe(),["prevent"]))},{default:a(()=>[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(l.$t("components.form.tooltip.delete")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(Po)),1)]),_:1})]),_:1},8,["loading","disabled"]),r(ie,{loading:e(f),disabled:!e(u).regions.length,onClick:o[5]||(o[5]=J(Q=>Re(),["prevent"]))},{default:a(()=>[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(l.$t("components.form.tooltip.undo")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(To)),1)]),_:1})]),_:1},8,["loading","disabled"]),r(ie,{loading:e(f),disabled:!e(u).regions.length,onClick:o[6]||(o[6]=J(Q=>De(),["prevent"]))},{default:a(()=>[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(l.$t("components.form.tooltip.clear")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(Eo)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1},8,["modelValue"]),r(ba,{modelValue:e(re),"onUpdate:modelValue":o[11]||(o[11]=Q=>Me(re)?re.value=Q:null),variant:"outlined",divided:"",rounded:"xl",class:"mt-5"},{default:a(()=>[r(ie,{disabled:!(e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]),loading:e(f),onClick:o[8]||(o[8]=J(Q=>ye(),["prevent"]))},{default:a(()=>[e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]?(i(),y("div",Qs,[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(e(u).regions[e(h)].isPrivacyMask?l.$t("components.form.tooltip.privacy_mask"):l.$t("components.form.tooltip.public_mask")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(u).regions[e(h)].isPrivacyMask?e(Mo):e(Wt)),1)]),_:1})])):(i(),y("div",Os,[r(G,{size:"20"},{default:a(()=>[E(c(e(Wt)),1)]),_:1})]))]),_:1},8,["disabled","loading"]),r(ie,{disabled:!(e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]&&!e(u).regions[e(h)].isPrivacyMask),loading:e(f),onClick:o[9]||(o[9]=J(Q=>H(),["prevent"]))},{default:a(()=>[e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]&&!e(u).regions[e(h)].isPrivacyMask?(i(),y("div",As,[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(e(u).regions[e(h)].filter==="include"?l.$t("components.form.tooltip.include"):l.$t("components.form.tooltip.exclude")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(u).regions[e(h)].filter==="include"?e(ga):e(Bo)),1)]),_:1})])):(i(),y("div",Ns,[r(G,{size:"20"},{default:a(()=>[E(c(e(ga)),1)]),_:1})]))]),_:1},8,["disabled","loading"]),r(ie,{disabled:!(e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]&&!e(u).regions[e(h)].isPrivacyMask),loading:e(f),onClick:o[10]||(o[10]=J(Q=>we(),["prevent"]))},{default:a(()=>[e(u)&&e(u).regions&&e(h)>=0&&e(u).regions[e(h)]&&!e(u).regions[e(h)].isPrivacyMask?(i(),y("div",Rs,[r(lt,{activator:"parent",location:"top"},{default:a(()=>[E(c(e(u).regions[e(h)].type==="intersect"?l.$t("components.form.tooltip.intersect"):l.$t("components.form.tooltip.contain")),1)]),_:1}),r(G,{size:"20"},{default:a(()=>[E(c(e(u).regions[e(h)].type==="intersect"?e(Do):e(ya)),1)]),_:1})])):(i(),y("div",Us,[r(G,{size:"20"},{default:a(()=>[E(c(e(ya)),1)]),_:1})]))]),_:1},8,["disabled","loading"])]),_:1},8,["modelValue"])])])])])):(i(),y("div",_s,[r(je,{indeterminate:"",color:"#df2a4c"})]))]}),_:1},8,["modelValue","title","loading"])}}}),js=nt(Zs,[["__scopeId","data-v-9f727bf9"]]),Ks={class:"flex flex-col w-full",style:{height:"calc(100% - 45px - env(safe-area-inset-bottom, 0px))"}},Hs={class:"flex w-full p-2 items-center"},Ys={key:0},Ws={class:"options-segments flex items-center justify-between"},Xs={class:"flex flex-col items-center justify-center"},Js={class:"options-segments-text"},Gs={key:0,class:"options-container flex justify-center items-center"},el={class:"mt-auto"},tl=Ne({__name:"VOptionsSidebar",props:{state:{type:Boolean,default:!1},title:{},segments:{default:()=>[{name:"default",eager:!0}]},selected:{},loading:{type:Boolean,default:!1},width:{default:400}},emits:["close","selected"],setup(t,{emit:n}){ko(u=>({"08bb651e":e(D)}));const s=t,v=n,{segments:S,state:w,title:Z,loading:p,width:B,selected:q}=Ke(s),b=g(null),k=g(q.value??S.value[0].name),K=g(!1),D=g(`${B.value}px`);return ve(w,()=>{K.value=w.value}),ve(K,()=>{K.value!==w.value&&setTimeout(()=>{v("close")},300)}),ve(k,u=>{v("selected",u)}),ta(b,u=>{const j=u.target,P=j.closest(".v-overlay-container"),h=j.closest(".Toastify");!P&&!h&&(K.value=!1)}),Mt(()=>{v("selected",k.value)}),(u,j)=>(i(),M(Ea,{name:"options-slide",mode:"out-in"},{default:a(()=>[e(K)?(i(),y("div",{key:0,ref_key:"optionsSidebar",ref:b,class:"options-sidebar"},[m("div",Ks,[m("div",Hs,[e(Z)?(i(),y("b",Ys,c(e(Z)),1)):N("",!0),r(ie,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:j[0]||(j[0]=J(P=>K.value=!1,["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:1})]),m("div",Ws,[r(bn,{modelValue:e(k),"onUpdate:modelValue":j[1]||(j[1]=P=>Me(k)?k.value=P:null),height:"100%",grow:"","slider-color":"#df2a4c"},{default:a(()=>[(i(!0),y(Se,null,Te(e(S),(P,h)=>(i(),M(hn,{key:h,value:P.name,disabled:e(p),"min-width":"auto"},{default:a(()=>[m("div",Xs,[qt(u.$slots,`segmentIcon.${P}`,{},()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(ea)),1)]),_:1})],!0),m("span",Js,c(u.$t(`components.options_sidebar.segment_tab_${P.name.toLowerCase()}`)),1)])]),_:2},1032,["value","disabled"]))),128))]),_:3},8,["modelValue"])]),e(p)?(i(),y("div",Gs,[r(je,{color:"#df2a4c",indeterminate:""})])):(i(),M(aa,{key:1,modelValue:e(k),"onUpdate:modelValue":j[2]||(j[2]=P=>Me(k)?k.value=P:null),class:"options-container",continuous:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(S),(P,h)=>(i(),M(oa,{key:h,value:P.name,class:"h-full pb-safe overflow-y-scroll",eager:P.eager,continuous:""},{default:a(()=>[qt(u.$slots,`body.${P.name}`,{},void 0,!0)]),_:2},1032,["value","eager"]))),128))]),_:3},8,["modelValue"])),m("div",el,[qt(u.$slots,"footer",{},void 0,!0)])])],512)):N("",!0)]),_:3}))}}),al=nt(tl,[["__scopeId","data-v-236163da"]]),ol={class:"relative mt-2"},nl={class:"v-label"},sl={class:"v-label"},ll={class:"v-label"},rl={class:"relative mt-2"},il={class:"v-label"},ul=Ne({__name:"VCameraSourceInfo",props:{cameraName:{},sourceName:{}},setup(t){const n=new vt,s=t,{cameraName:v,sourceName:S}=Ke(s),{data:w,isLoading:Z}=n.probeCameraSourceQuery(v.value,S.value),p=oe(()=>{var b;return((b=w.value)==null?void 0:b.probe.consumers.filter(k=>k.format_name!=="probe").length)||0}),B=oe(()=>{var K,D;const b=(K=w.value)==null?void 0:K.probe.consumers.find(u=>u.format_name==="probe"),k=(D=b==null?void 0:b.senders)==null?void 0:D.filter(u=>u.codec.codec_type==="video");return(k==null?void 0:k.map(u=>u.codec.codec_name))||[]}),q=oe(()=>{var K,D;const b=(K=w.value)==null?void 0:K.probe.consumers.find(u=>u.format_name==="probe"),k=(D=b==null?void 0:b.senders)==null?void 0:D.filter(u=>u.codec.codec_type==="audio");return(k==null?void 0:k.map(u=>u.codec.codec_name))||[]});return(b,k)=>{var K;return i(),y("div",null,[m("div",ol,[m("label",nl,c(b.$t("components.form.label.connections")),1),r(He,{value:e(p),loading:e(Z),readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value","loading"])]),(i(!0),y(Se,null,Te(e(B),D=>(i(),y("div",{key:D,class:"relative mt-2"},[m("label",sl,c(b.$t("components.form.label.video_codec")),1),r(He,{value:D,readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value"])]))),128)),(i(!0),y(Se,null,Te(e(q),D=>(i(),y("div",{key:D,class:"relative mt-2"},[m("label",ll,c(b.$t("components.form.label.audio_codec")),1),r(He,{value:D,readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value"])]))),128)),m("div",rl,[m("label",il,c(b.$t("components.form.label.rtsp_url")),1),r(He,{value:(K=e(w))==null?void 0:K.url,loading:e(Z),readonly:"",variant:"outlined",type:"text",density:"compact"},null,8,["value","loading"])])])}}}),cl={class:"w-full my-3"},dl=["for"],ml=["for"],pl=["for"],vl=["for"],fl=["for"],gl={class:"v-input__details",style:{"padding-inline":"16px"}},yl={class:"v-messages"},hl={key:0,class:"v-messages__message"},bl={class:"flex flex-row items-center justify-center ml-auto"},_l={key:0,class:"flex flex-col w-full items-center justify-center mt-3"},wl={class:"flex flex-row w-full items-center justify-center mt-3"},$l=Ne({__name:"VCustomField",props:Yt({schemaField:{},configKey:{},removable:{},loading:{type:Boolean,default:!1}},{modelValue:{type:Object,required:!0},modelModifiers:{}}),emits:Yt(["onChange","onSubmit","onAction","onTrigger"],["update:modelValue"]),setup(t,{emit:n}){const s=ho(),v=n,S=Ma(t,"modelValue"),w=t,{theme:Z}=Ua(s),{schemaField:p,configKey:B,removable:q,loading:b}=Ke(w),k=g(!1),K=g(0),D=g(0),u=g(p.value.opened===!0?[0]:[]);ve(S,()=>{K.value++},{deep:!0});const j=vn(async()=>{if(ut(p.value)&&p.value.format==="qrCode"){let T;return Z.value==="dark"?T={dark:"#FFFFFFFF",light:"#FF000000"}:T={dark:"#404040FF",light:"#FFFFFFFF"},await Cn.toDataURL(ne.value,{margin:.5,type:"image/png",color:T,scale:10})}},void 0,{lazy:!0}),P=oe(()=>{if(ut(p.value)&&p.value.format==="image")return ne.value}),h=(T,_,f)=>{const x=I(S.value,T);Array.isArray(x)&&x.splice(_,1),D.value++,v("onTrigger")},ae=T=>{let _=I(S.value,T);_||(te(S.value,T,[]),_=I(S.value,T));const f=p.value;if(Array.isArray(_)&&f&&Ca(f)&&f.items){const x=Ot(f.items);_.push(x)}D.value++},re=T=>{var _;return((_=T.match(/[^.[\]]+|\[\d+\]/g))==null?void 0:_.map(f=>f.startsWith("[")?parseInt(f.slice(1,-1)):f))||[]},I=(T,_)=>{const f=re(_);let x=T;for(const V of f){if(x==null)return;x=x[V]}if(!(x!=null)){const V=le(p.value,_);V&&"defaultValue"in V?x=V.defaultValue:x=void 0}return x},te=(T,_,f)=>{const x=re(_),se=x.pop(),V=x.reduce((Y,ee)=>(Y[ee]||(Y[ee]={}),Y[ee]),T);se!==void 0&&f!==void 0&&f!==null&&f!==""&&(V[se]=f)},le=(T,_)=>{const f=re(_);let x=T;for(const se of f)if(x.type==="object"&&x.properties)x=x.properties[se];else if(x.type==="array"&&x.items&&!("anyOf"in x.items))x=x.items;else return x;return x},de=T=>{const _=ut(T)&&T.format==="qrCode",f=ut(T)&&T.format==="image",x=Jt(T);return!_&&!f&&!x},fe=T=>!T.hidden||T.hidden&&de(T),ne=oe({get:()=>(K.value,I(S.value,B.value)),set:T=>{const _=p.value;let f=T;Xt(_)?_.multiple?f=Array.isArray(T)?T:[T]:f=T&&T.toString():ut(_)?f=T&&T.toString():wa(_)?f=parseFloat(T)||0:$a(_)?f=T==="true"||T===!0:f=T,te(S.value,B.value,f),K.value++}});return(T,_)=>{const f=Va,x=Ht("v-number-input"),se=Ht("VCustomField",!0);return i(),y("div",cl,[e(ut)(e(p))&&e(p).format==="qrCode"?(i(),y(Se,{key:0},[m("label",{for:e(B),class:"v-label"},c(e(p).title),9,dl),r(f,{src:e(j),class:"mb-3"},null,8,["src"])],64)):N("",!0),e(ut)(e(p))&&e(p).format==="image"?(i(),y(Se,{key:1},[m("label",{for:e(B),class:"v-label"},c(e(p).title),9,ml),r(f,{src:e(P),class:"mb-3"},null,8,["src"])],64)):e(Pn)(e(p))?(i(),M(e(Pe),{key:2,modelValue:e(ne),"onUpdate:modelValue":_[2]||(_[2]=V=>Me(ne)?ne.value=V:null),name:e(B)},{default:a(({field:V,errorMessage:Y,errors:ee})=>[m("label",{for:e(B),class:"v-label"},c(e(p).title),9,pl),r(He,ze({error:ee.length>0,"error-messages":Y,readonly:e(p).readonly,placeholder:e(p).placeholder,hint:e(p).description,"persistent-hint":""},V,{variant:"outlined",density:"compact",type:e(p).format==="password"?e(k)?"text":"password":"text","append-inner-icon":e(p).format==="password"?e(k)?e(Lo):e(Fo):void 0,"onClick:appendInner":_[1]||(_[1]=me=>k.value=!e(k))}),It({_:2},[e(q)?{name:"append-inner",fn:a(()=>[r(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:_[0]||(_[0]=J(me=>h(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[r(G,null,{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["error","error-messages","readonly","placeholder","hint","type","append-inner-icon"])]),_:1},8,["modelValue","name"])):e(wa)(e(p))?(i(),M(e(Pe),{key:3,modelValue:e(ne),"onUpdate:modelValue":_[4]||(_[4]=V=>Me(ne)?ne.value=V:null),name:e(B)},{default:a(({field:V,errorMessage:Y,errors:ee,value:me,setValue:ke})=>[m("label",{for:e(B),class:"v-label"},c(e(p).title),9,vl),r(x,ze({error:ee.length>0,"error-messages":Y,readonly:e(p).readonly,hint:e(p).description,step:e(p).step||1,min:e(p).minimum,max:e(p).maximum,"persistent-hint":""},V,{variant:"outlined",type:"number",density:"compact",onChange:()=>me===""?ke(e(p).defaultValue||e(p).minimum||0):void 0}),It({_:2},[e(q)?{name:"append-inner",fn:a(()=>[r(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:_[3]||(_[3]=J(pe=>h(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[r(G,null,{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["error","error-messages","readonly","hint","step","min","max","onChange"])]),_:1},8,["modelValue","name"])):e($a)(e(p))?(i(),M(e(Pe),{key:4,"model-value":e(ne),name:e(B),type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:a(({field:V,errors:Y,errorMessage:ee})=>[r(Ra,ze({"model-value":e(ne),class:"w-full"},V,{color:"#df2a4c",type:"checkbox","persistent-hint":"",label:e(p).title,error:Y.length>0,"error-messages":ee,hint:e(p).description,onChange:_[6]||(_[6]=me=>ne.value=!e(ne))}),It({_:2},[e(q)?{name:"append",fn:a(()=>[r(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:_[5]||(_[5]=J(me=>h(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[r(G,null,{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:1})]),key:"0"}:void 0]),1040,["model-value","label","error","error-messages","hint"])]),_:1},8,["model-value","name"])):e(Xt)(e(p))?(i(),M(e(Pe),{key:5,modelValue:e(ne),"onUpdate:modelValue":_[8]||(_[8]=V=>Me(ne)?ne.value=V:null),name:e(B)},{default:a(({field:V,errorMessage:Y,errors:ee})=>[m("label",{for:e(B),class:"v-label"},c(e(p).title),9,fl),r(mt,ze({items:e(p).enum,error:ee.length>0,"error-messages":Y,readonly:e(p).readonly,hint:e(p).description,"model-value":V.value,"persistent-hint":""},V,{variant:"outlined",density:"compact",chips:"",multiple:e(p).multiple,clearable:!e(p).required&&!e(p).readonly,onKeydown:_[7]||(_[7]=J(()=>{},["prevent"]))}),{chip:a(({item:me})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(me.title),1)]),_:2},1024)]),_:2},1040,["items","error","error-messages","readonly","hint","model-value","multiple","clearable"])]),_:1},8,["modelValue","name"])):e(Jt)(e(p))?(i(),y(Se,{key:6},[r(ie,{width:"100%",color:e(p).color?e(p).color:"#df2a4c",variant:"flat",class:"mt-3",loading:e(b),onClick:_[9]||(_[9]=J(V=>v("onAction",{configPath:e(B)}),["prevent"]))},{default:a(()=>[E(c(e(p).title),1)]),_:1},8,["color","loading"]),m("div",gl,[m("div",yl,[e(p).description?(i(),y("div",hl,c(e(p).description),1)):N("",!0)])])],64)):e(ja)(e(p))||e(ka)(e(p))?(i(),M(_t,{key:7,"model-value":e(u),class:"inner-component-2 mt-0 mb-3"},{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px",width:"-webkit-fill-available"},class:"truncate"},It({default:a(()=>[e(p).description?(i(),M(lt,{key:0,text:e(p).description,location:"top"},{activator:a(({props:V})=>[r(G,ze({size:"20"},V,{class:"mr-3 text-passive"}),{default:a(()=>[E(c(e(ha)),1)]),_:2},1040)]),_:1},8,["text"])):N("",!0),E(" "+c(e(p).title||e(B))+" ",1)]),_:2},[e(q)?{name:"actions",fn:a(({expanded:V})=>[m("div",bl,[r(ie,{size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:_[10]||(_[10]=J(Y=>h(e(q).path,e(q).index,!0),["stop"]))},{default:a(()=>[r(G,null,{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:1}),V?(i(),M(G,{key:0,size:"22.5"},{default:a(()=>[E(c(e(Fa)),1)]),_:1})):(i(),M(G,{key:1,size:"22.5"},{default:a(()=>[E(c(e(Ia)),1)]),_:1}))])]),key:"0"}:void 0]),1024),r(ht,{eager:""},{default:a(()=>{var V;return[(i(!0),y(Se,null,Te(e(p).properties,(Y,ee)=>(i(),y("div",{key:`${e(B)}.${ee}`},[fe(Y)?Ze((i(),M(se,{key:0,modelValue:S.value,"onUpdate:modelValue":_[11]||(_[11]=me=>S.value=me),"schema-field":Y,"config-key":`${e(B)}.${ee}`,loading:e(b),onOnSubmit:_[12]||(_[12]=me=>v("onSubmit",me)),onOnAction:_[13]||(_[13]=me=>v("onAction",me))},null,8,["modelValue","schema-field","config-key","loading"])),[[Et,!Y.hidden]]):N("",!0)]))),128)),e(ka)(e(p))&&((V=e(p).buttons)!=null&&V.length)?(i(),y("div",_l,[(i(!0),y(Se,null,Te(e(p).buttons,(Y,ee)=>(i(),M(ie,{key:`button-${ee}`,variant:"flat",loading:e(b),class:"px-0 w-100 my-2",style:ot({background:Y.color?Y.color:"rgba(141, 141, 141, 0.2)"}),onClick:J(()=>Y?v("onSubmit",{actionId:Y.onSubmit,payload:e(zn)(S.value,e(B))}):void 0,["prevent"])},{default:a(()=>[E(c(Y==null?void 0:Y.label),1)]),_:2},1032,["loading","style","onClick"]))),128))])):N("",!0)]}),_:1})]),_:1})]),_:1},8,["model-value"])):e(Ca)(e(p))&&e(p).items?(i(),M(_t,{key:8,"model-value":e(u),class:"inner-component-2 mt-0 mb-3"},{default:a(()=>[(i(),M(bt,{key:e(D),elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px",width:"-webkit-fill-available"},class:"truncate"},{default:a(()=>[e(p).description?(i(),M(lt,{key:0,text:e(p).description,location:"top"},{activator:a(({props:V})=>[r(G,ze({size:"20"},V,{class:"mr-3 text-passive"}),{default:a(()=>[E(c(e(ha)),1)]),_:2},1040)]),_:1},8,["text"])):N("",!0),E(" "+c(e(p).title||e(B)),1)]),_:1}),r(ht,{eager:""},{default:a(()=>[(i(!0),y(Se,null,Te(I(S.value,e(B)),(V,Y)=>(i(),y("div",{key:`item-${Y}-${(V==null?void 0:V.key)||V||Y}`,class:"w-full"},[fe(e(p))?Ze((i(),M(se,{key:0,modelValue:S.value,"onUpdate:modelValue":_[14]||(_[14]=ee=>S.value=ee),"schema-field":e(p).items,"config-key":`${e(B)}[${Y}]`,removable:{path:e(B),index:Y},loading:e(b),onOnSubmit:_[15]||(_[15]=ee=>v("onSubmit",ee)),onOnAction:_[16]||(_[16]=ee=>v("onAction",ee)),onOnTrigger:_[17]||(_[17]=()=>D.value++)},null,8,["modelValue","schema-field","config-key","removable","loading"])),[[Et,!e(p).hidden]]):N("",!0)]))),128)),m("div",wl,[r(ie,{variant:"text",color:"#df2a4c",icon:"",onClick:_[18]||(_[18]=J(V=>ae(e(B)),["prevent"]))},{default:a(()=>[r(G,{size:"30"},{default:a(()=>[E(c(e(qa)),1)]),_:1})]),_:1})])]),_:1})]),_:1}))]),_:1},8,["model-value"])):N("",!0)])}}}),kl=nt($l,[["__scopeId","data-v-a5e7123a"]]),Cl={key:0},xl={key:1},Ja=Ne({__name:"VJsonSchema",props:{config:{},uiSchema:{},loading:{type:Boolean,default:!1},disableButton:{type:Boolean},saveButton:{type:Boolean,default:!0},saveButtonLabel:{},saveButtonColor:{default:"green"},showButton:{type:Boolean,default:!1},buttonFullWidth:{type:Boolean,default:!0}},emits:["onSubmit","onAction","onFormSubmit","changeGroup"],setup(t,{emit:n}){const s=n,v=t,{uiSchema:S,config:w,loading:Z,saveButton:p,saveButtonLabel:B,showButton:q,disableButton:b,saveButtonColor:k,buttonFullWidth:K}=Ke(v),D=g(),u=g(),j=oe(()=>Object.keys(w.value).length?{...za(w.value)}:S.value?Vn(S.value):{}),P=oe(()=>S.value?S.value:Bn(w.value)),h=oe(()=>Dn(P.value)),ae=oe(()=>Ut(h.value)),re=oe(()=>Object.keys(P.value.schema).every(f=>kt(P.value.schema[f],u.value))),I=oe(()=>Object.keys(P.value.schema).some(f=>Ct(P.value.schema[f],u.value))),te=oe(()=>{const f=P.value,x=[];for(const[,se]of Object.entries(f.schema))se.group&&!se.hidden&&!x.includes(se.group)&&x.push(se.group);return x.length&&(u.value=x[0]),x});ve(u,f=>{f&&s("changeGroup",f)});const le=f=>{const x=ut(f)&&f.format==="qrCode",se=ut(f)&&f.format==="image",V=Jt(f);return!x&&!se&&!V},de=f=>!f.hidden||f.hidden&&le(f),fe=async()=>{var f;return await((f=D.value)==null?void 0:f.validate())},ne=async f=>{s("onAction",f)},T=async f=>{const x=await fe();x!=null&&x.valid?s("onSubmit",f):console.error("result",x)},_=async()=>{const f=await fe();f!=null&&f.valid&&(f!=null&&f.values)?s("onFormSubmit",f.values):console.error("result",f)};return(f,x)=>{const se=kl;return i(),y("div",null,[r(e(Qt),{ref_key:"formRef",ref:D,"validation-schema":e(ae),onSubmit:_},{default:a(()=>[e(te).length?(i(),y("div",Cl,[r($t,{modelValue:e(u),"onUpdate:modelValue":x[0]||(x[0]=V=>Me(u)?u.value=V:null),"selected-class":"primary-color",mandatory:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(te),V=>(i(),M(Je,{key:V,size:"small",value:V},{default:a(()=>[E(c(V),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),r(aa,{modelValue:e(u),"onUpdate:modelValue":x[2]||(x[2]=V=>Me(u)?u.value=V:null),mandatory:"",eager:"",class:"mt-3",touch:!1},{default:a(()=>[(i(!0),y(Se,null,Te(e(te),(V,Y)=>(i(),M(oa,{key:V,value:V,transition:"instant","reverse-transition":"instant"},{default:a(()=>[(i(!0),y(Se,null,Te(e(P).schema,(ee,me)=>(i(),y("div",{key:me},[de(ee)&&(ee.group===V||!ee.group&&Y===0)?Ze((i(),M(se,{key:0,modelValue:e(j),"onUpdate:modelValue":x[1]||(x[1]=ke=>Me(j)?j.value=ke:null),"schema-field":ee,"config-key":me.toString(),loading:e(Z),onOnSubmit:T,onOnAction:ne},null,8,["modelValue","schema-field","config-key","loading"])),[[Et,!ee.hidden]]):N("",!0)]))),128))]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):(i(),y("div",xl,[(i(!0),y(Se,null,Te(e(P).schema,(V,Y)=>(i(),y("div",{key:Y},[de(V)?Ze((i(),M(se,{key:0,modelValue:e(j),"onUpdate:modelValue":x[3]||(x[3]=ee=>Me(j)?j.value=ee:null),"schema-field":V,"config-key":Y.toString(),loading:e(Z),onOnSubmit:T,onOnAction:ne},null,8,["modelValue","schema-field","config-key","loading"])),[[Et,!V.hidden]]):N("",!0)]))),128))])),e(I)&&!e(re)&&e(p)||e(q)?(i(),M(ie,{key:2,class:"mt-7",style:ot({width:e(K)?"100%":"calc(100% - 2rem)"}),color:e(k),variant:"flat",type:"submit",loading:e(Z),disabled:e(b)},{default:a(()=>[E(c(e(B)||f.$t("components.form.button.save")),1)]),_:1},8,["style","color","loading","disabled"])):N("",!0)]),_:1},8,["validation-schema"])])}}}),Sl=Ne({__name:"VJsonSchemaDialog",props:Yt({pluginConfig:{},uiSchema:{},pluginName:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=new na,s=Ma(t,"modelValue"),v=t,S=g(!1),w=g(),{uiSchema:Z,pluginConfig:p,pluginName:B}=Ke(v),{mutateAsync:q,isPending:b}=n.actionButtonQuery(),k=oe(()=>S.value||b.value);ve(Z,D=>{w.value=D},{deep:!0,immediate:!0});const K=async D=>{S.value=!0;const u={...p.value,...D.payload};await q({pluginName:B.value,actionId:D.actionId,payload:u},{onSuccess:j=>{j!=null&&j.toast&&rt[j.toast.type](j.toast.message),j!=null&&j.schema&&Object.keys(j.schema).length&&w.value?w.value.schema.config=j.schema.config:s.value=!1},onSettled:()=>{S.value=!1}})};return(D,u)=>{const j=Ja,P=Nt;return i(),M(P,{modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=h=>s.value=h),title:D.$t("components.dialog.title.config"),loading:e(k),"hide-confirm-button":""},{content:a(()=>[r(j,{config:{},"ui-schema":e(w),loading:e(k),"save-button":!1,onOnSubmit:K},null,8,["ui-schema","loading"])]),_:1},8,["modelValue","title","loading"])}}}),Vl={class:"plugints-title p-2"},zl={class:"v-label"},Pl={key:0,class:"plugints-title p-2"},Tl={class:"v-label"},El={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Ml={class:"text-sm text-passive"},Bl={key:1,class:"plugints-title p-2"},Dl={class:"v-label"},Ll={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Fl={class:"text-sm text-passive"},Il={key:2,class:"plugints-title p-2"},ql={class:"v-label"},Ql={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Ol={class:"text-sm text-passive"},Al={key:3,class:"plugints-title p-2"},Nl={class:"v-label"},Rl={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Ul={class:"text-sm text-passive"},Zl={key:4,class:"plugints-title p-2"},jl={class:"v-label"},Kl={key:1,class:"w-full h-full flex items-center justify-center",style:{height:"43px"}},Hl={class:"text-sm text-passive"},Yl={class:"p-2"},Wl={key:0,class:"mb-4"},Xl={class:"v-label"},Jl={key:0,class:"w-full flex items-center justify-center"},Gl={key:1,class:"flex w-full items-center justify-center"},er={class:"text-sm text-passive"},tr={key:1},ar={class:"v-label"},or={key:0,class:"w-full flex items-center justify-center my-5"},nr={key:1,class:"w-full flex items-center justify-center my-5"},sr={class:"text-sm text-passive"},lr=Ne({__name:"extensions",props:{cameraName:{}},setup(t){const n=new vt,s=new na,{isTouch:v}=Rt(),S=t,{cameraName:w}=Ke(S),Z=g(!1),p=g(!1),B=g(),q=g(),b=g(""),k=g("hub"),K=g(),D=g(),u=g(),j=g(),P=g(),h=g(!0),ae=g({page:1,pageSize:-1}),re=g(["hub","motionDetection","objectDetection","audioDetection","ptz","more"]);n.toggleQueryActivator("getCameraExtensionConfigQuery",!1);const{data:I}=n.getCameraQuery(w),{data:te}=s.getPluginsQuery(ae),{data:le,isLoading:de,suspense:fe}=n.getCameraExtensionsQuery(w),{data:ne,isLoading:T}=n.getCameraExtensionConfigQuery(w.value,b,h),{data:_,isLoading:f}=s.getPluginsExtensionsQuery(ae),{mutate:x,isPending:se}=s.actionButtonQuery(),{mutate:V,isPending:Y}=n.patchCameraExtensionConfigQuery(),{mutate:ee,isPending:me}=n.submitCameraExtensionConfigQuery(),{mutateAsync:ke,isPending:pe}=n.addCameraExtensionQuery(),{mutateAsync:ye,isPending:H}=n.removeCameraExtensionQuery(),{mutateAsync:we,isPending:Ee}=n.enableCameraExtensionQuery(),{mutateAsync:Qe,isPending:Oe}=n.disableCameraExtensionQuery(),Ce=oe(()=>de.value||f.value||pe.value||H.value||Ee.value||Oe.value),he=oe(()=>Ce.value||Z.value||se.value||Y.value||me.value),Ae=oe(()=>{var d;const o=((d=le.value)==null?void 0:d.filter(C=>C.type.includes("hub")))||[];return o.length&&te.value&&te.value.result.some(C=>C.pluginName===o[0].pluginName&&!C.disabled)?(K.value=o[0].pluginName,b.value=o[0].pluginName):K.value=void 0,W(o)}),Fe=oe(()=>{var d,C,U;const o=((d=le.value)==null?void 0:d.filter(Q=>Q.type.includes("motionDetection")))||[];return o.length&&X((C=I==null?void 0:I.value)==null?void 0:C.extensions.motionDetection)?D.value=(U=I==null?void 0:I.value)==null?void 0:U.extensions.motionDetection:D.value=void 0,W(o)}),Re=oe(()=>{var d,C,U;const o=((d=le.value)==null?void 0:d.filter(Q=>Q.type.includes("audioDetection")))||[];return o.length&&X((C=I==null?void 0:I.value)==null?void 0:C.extensions.audioDetection)?u.value=(U=I==null?void 0:I.value)==null?void 0:U.extensions.audioDetection:u.value=void 0,W(o)}),De=oe(()=>{var d,C,U;const o=((d=le.value)==null?void 0:d.filter(Q=>Q.type.includes("objectDetection")))||[];return o.length&&X((C=I==null?void 0:I.value)==null?void 0:C.extensions.objectDetection)?j.value=(U=I==null?void 0:I.value)==null?void 0:U.extensions.objectDetection:j.value=void 0,W(o)}),O=oe(()=>{var d,C,U;const o=((d=le.value)==null?void 0:d.filter(Q=>Q.type.includes("ptz")))||[];return o.length&&X((C=I==null?void 0:I.value)==null?void 0:C.extensions.ptz)?P.value=(U=I==null?void 0:I.value)==null?void 0:U.extensions.ptz:P.value=void 0,W(o)});ve(K,(o,d)=>{o&&o!==d&&xe(o)}),ve(D,(o,d)=>{o!==d&&(!o&&d?$(d,!1,"motionDetection"):o&&$(o,!0,"motionDetection"))}),ve(j,(o,d)=>{o!==d&&(!o&&d?$(d,!1,"objectDetection"):o&&$(o,!0,"objectDetection"))}),ve(P,(o,d)=>{o!==d&&(!o&&d?$(d,!1,"ptz"):o&&$(o,!0,"ptz"))}),ve(u,(o,d)=>{o!==d&&(!o&&d?$(d,!1,"audioDetection"):o&&$(o,!0,"audioDetection"))}),ve(k,(o,d)=>{o===void 0&&(k.value=d)}),ve(p,o=>{o||(B.value=void 0,q.value=void 0)});const R=async(o,d)=>{await n.queryClient.refetchQueries({queryKey:["cameras","extensions",o,d]})},z=async o=>{le.value&&(le.value.some(d=>d.pluginName===o.pluginName)?await ye({cameraname:w.value,pluginname:o.pluginName}):await ke({cameraname:w.value,pluginname:o.pluginName}))},$=async(o,d,C)=>{d?(!C||!I.value||I.value.extensions[C]!==o)&&(await we({cameraname:w.value,pluginname:o,type:C}),pt(()=>xe(o))):(!C||!I.value||I.value.extensions[C]===o)&&(await Qe({cameraname:w.value,pluginname:o,type:C}),pt(()=>xe()))},W=o=>o.sort((d,C)=>!X(d.pluginName)&&X(C.pluginName)?1:X(d.pluginName)&&!X(C.pluginName)?-1:d.displayName.localeCompare(C.displayName)),X=o=>{if(o&&te.value&&te.value.result.some(d=>d.pluginName===o&&!d.disabled))return o},xe=o=>{var d,C,U,Q,L;if(n.toggleQueryActivator("getCameraExtensionConfigQuery",!1),o!==void 0)b.value=o;else switch(k.value){case"hub":b.value=X((d=Ae.value[0])==null?void 0:d.pluginName)||"";break;case"motionDetection":b.value=X((C=I==null?void 0:I.value)==null?void 0:C.extensions.motionDetection)||"";break;case"audioDetection":b.value=X((U=I==null?void 0:I.value)==null?void 0:U.extensions.audioDetection)||"";break;case"objectDetection":b.value=X((Q=I==null?void 0:I.value)==null?void 0:Q.extensions.objectDetection)||"";break;case"ptz":b.value=X((L=I==null?void 0:I.value)==null?void 0:L.extensions.ptz)||"";break;default:b.value="";break}b.value&&b.value!==""&&n.toggleQueryActivator("getCameraExtensionConfigQuery",!0)},be=async(o,d)=>{Z.value=!0,ee({cameraname:w.value,pluginname:d,configPath:o.configPath},{onSettled:()=>{Z.value=!1}})},Ue=(o,d)=>{Z.value=!0,x({pluginName:d,actionId:o.actionId,payload:o.payload},{onSuccess:C=>{C!=null&&C.toast&&rt[C.toast.type](C.toast.message),C!=null&&C.schema&&Object.keys(C.schema).length&&(q.value=o.payload,B.value=C,p.value=!0)},onSettled:()=>{Z.value=!1}})},l=(o,d,C)=>{Z.value=!0,V({cameraname:o,pluginname:d,configData:C},{onSettled:()=>{Z.value=!1}})};return Mt(async()=>{}),Ba(async()=>{await fe(),xe()}),(o,d)=>{var Q;const C=Ja,U=Sl;return i(),y("div",null,[r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),m("div",Vl,[m("label",zl,c(o.$t("components.camera_options.categories")),1),r($t,{modelValue:e(k),"onUpdate:modelValue":[d[0]||(d[0]=L=>Me(k)?k.value=L:null),d[1]||(d[1]=L=>xe())],"selected-class":"primary-color",disabled:e(Ce),mandatory:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(re),L=>(i(),M(Je,{key:L,size:"small",disabled:e(he),value:L},{default:a(()=>[E(c(o.$t(`components.camera_options.chip_${L}`)),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])]),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e(k)==="hub"?(i(),y("div",Pl,[m("label",Tl,c(o.$t("components.camera_options.chip_plugins")),1),e(Ae).length?(i(),M($t,{key:0,modelValue:e(K),"onUpdate:modelValue":d[2]||(d[2]=L=>Me(K)?K.value=L:null),"selected-class":"primary-color",disabled:e(Ce),mandatory:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(Ae),L=>(i(),M(Je,{key:L.pluginName,disabled:!X(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[E(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",El,[m("span",Ml,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(k)==="motionDetection"?(i(),y("div",Bl,[m("label",Dl,c(o.$t("components.camera_options.enabled_extension")),1),e(Fe).length?(i(),M($t,{key:0,modelValue:e(D),"onUpdate:modelValue":d[3]||(d[3]=L=>Me(D)?D.value=L:null),"selected-class":"primary-color",disabled:e(Ce),filter:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(Fe),L=>(i(),M(Je,{key:L.pluginName,disabled:!X(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[E(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Ll,[m("span",Fl,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(k)==="objectDetection"?(i(),y("div",Il,[m("label",ql,c(o.$t("components.camera_options.enabled_extension")),1),e(De).length?(i(),M($t,{key:0,modelValue:e(j),"onUpdate:modelValue":d[4]||(d[4]=L=>Me(j)?j.value=L:null),"selected-class":"primary-color",disabled:e(Ce),filter:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(De),L=>(i(),M(Je,{key:L.pluginName,disabled:!X(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[E(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Ql,[m("span",Ol,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(k)==="audioDetection"?(i(),y("div",Al,[m("label",Nl,c(o.$t("components.camera_options.enabled_extension")),1),e(Re).length?(i(),M($t,{key:0,modelValue:e(u),"onUpdate:modelValue":d[5]||(d[5]=L=>Me(u)?u.value=L:null),"selected-class":"primary-color",disabled:e(Ce),filter:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(Re),L=>(i(),M(Je,{key:L.pluginName,disabled:!X(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[E(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Rl,[m("span",Ul,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):e(k)==="ptz"?(i(),y("div",Zl,[m("label",jl,c(o.$t("components.camera_options.enabled_extension")),1),e(O).length?(i(),M($t,{key:0,modelValue:e(P),"onUpdate:modelValue":d[6]||(d[6]=L=>Me(P)?P.value=L:null),"selected-class":"primary-color",disabled:e(Ce),filter:"",column:""},{default:a(()=>[(i(!0),y(Se,null,Te(e(O),L=>(i(),M(Je,{key:L.pluginName,disabled:!X(L.pluginName)||e(he),size:"small",value:L.pluginName},{default:a(()=>[E(c(L.displayName),1)]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["modelValue","disabled"])):(i(),y("div",Kl,[m("span",Hl,c(o.$t("components.camera_options.no_plugins_enabled")),1)]))])):N("",!0),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e(Ce)?(i(),M(_n,{key:5,height:"2",color:"#df2a4c",indeterminate:"",style:{"margin-top":"-2px"}})):N("",!0),m("div",Yl,[r(aa,{modelValue:e(k),"onUpdate:modelValue":d[10]||(d[10]=L=>Me(k)?k.value=L:null),disabled:e(Ce),mandatory:"",eager:"",touch:!1},{default:a(()=>[(i(!0),y(Se,null,Te(e(re),L=>(i(),M(oa,{key:L,value:L,transition:"instant","reverse-transition":"instant"},{default:a(()=>{var ge,_e,ce;return[L==="more"?(i(),y("div",Wl,[m("div",null,[m("label",Xl,c(o.$t("components.camera_options.manage_plugins")),1),e(f)?(i(),y("div",Jl,[r(je,{color:"#df2a4c",indeterminate:"",size:"20",width:"3"})])):(ge=e(_))!=null&&ge.result.length?(i(!0),y(Se,{key:2},Te((_e=e(_))==null?void 0:_e.result,(A,$e)=>{var We,Ge;return Ze((i(),y("div",{key:A.pluginName},[r(wn,{"select-strategy":"classic",class:"py-0",disabled:e(Ce)||!X(A.pluginName),"onUpdate:selected":()=>z(A)},{default:a(()=>{var at;return[r(Aa,{value:A.pluginName,class:"px-2",active:(at=e(le))==null?void 0:at.some(et=>et.pluginName===A.pluginName)},{prepend:a(()=>[r($n,{start:""},{default:a(()=>{var et;return[r(Na,{"model-value":(et=e(le))==null?void 0:et.some(ct=>ct.pluginName===A.pluginName),color:"#df2a4c"},null,8,["model-value"])]}),_:2},1024)]),append:a(()=>[r(ie,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:J(()=>o.$router.push(`/plugins/${A.pluginName}`),["prevent"])},{default:a(()=>[r(G,{size:"18"},{default:a(()=>[E(c(e(Io)),1)]),_:1})]),_:2},1032,["onClick"])]),default:a(()=>[E(c(A.displayName)+" ",1)]),_:2},1032,["value","active"])]}),_:2},1032,["disabled","onUpdate:selected"]),(We=e(_))!=null&&We.result&&$e!==((Ge=e(_))==null?void 0:Ge.result.length)-1?(i(),M(Ye,{key:0,style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})):N("",!0)])),[[it,{disabled:X(A.pluginName)!==void 0||e(v),text:o.$t("components.form.tooltip.disabled")}]])}),128)):(i(),y("div",Gl,[m("span",er,c(o.$t("components.camera_options.no_plugins_found")),1)]))])])):(i(),y("div",tr,[m("label",ar,c(o.$t("components.camera_options.plugin_settings")),1),e(T)?(i(),y("div",or,[r(je,{color:"#df2a4c",indeterminate:""})])):!e(b)||!((ce=e(ne))!=null&&ce.rootSchema)?(i(),y("div",nr,[m("span",sr,c(o.$t("components.camera_options.no_config")),1)])):e(ne)?(i(),M(C,{key:L,config:e(ne).config||{},"ui-schema":e(ne).rootSchema,loading:e(he),onOnFormSubmit:d[7]||(d[7]=A=>l(e(w),e(b),A)),onOnSubmit:A=>Ue(A,L),onOnAction:d[8]||(d[8]=A=>be(A,e(b))),onChangeGroup:d[9]||(d[9]=()=>R(e(w),e(b)))},null,8,["config","ui-schema","loading","onOnSubmit"])):N("",!0)]))]}),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","disabled"])]),(Q=e(B))!=null&&Q.schema?(i(),M(U,{key:6,modelValue:e(p),"onUpdate:modelValue":d[11]||(d[11]=L=>Me(p)?p.value=L:null),"ui-schema":{schema:e(B).schema},"plugin-config":e(q)||{},"plugin-name":e(b)},null,8,["modelValue","ui-schema","plugin-config","plugin-name"])):N("",!0)])}}}),rr={class:"flex flex-row items-center justify-center"},ir={class:"battery-body"},ur={key:0,class:"ml-2 text-sm"},cr=Ne({__name:"VBattery",props:{level:{default:0},showLevel:{type:Boolean,default:!0},size:{default:5}},setup(t){const n=t,{level:s,size:v,showLevel:S}=Ke(n),w=oe(()=>s.value<=20?"#FF3B30":s.value<=50?"#FFCC00":"#34C759"),Z=oe(()=>`${Math.min(100,Math.max(0,s.value))}%`),p=oe(()=>v.value/5),B=oe(()=>({"--scale-factor":p.value,"--battery-width":`${50*p.value}px`,"--battery-height":`${25*p.value}px`,"--border-width":`${2*p.value}px`,"--border-radius":`${3*p.value}px`,"--padding":"1px","--cap-width":`${3*p.value}px`,"--cap-height":`${10*p.value}px`,"--cap-margin":`${1*p.value}px`}));return(q,b)=>(i(),y("div",rr,[m("div",{class:"battery-container",style:ot(e(B))},[m("div",ir,[m("div",{class:"battery-level",style:ot({width:e(Z),backgroundColor:e(w)})},null,4)]),b[0]||(b[0]=m("div",{class:"battery-cap"},null,-1))],4),e(S)?(i(),y("span",ur,c(e(s))+"%",1)):N("",!0)]))}}),dr=nt(cr,[["__scopeId","data-v-cb5fbb52"]]),mr={class:"w-full h-full flex items-center justify-center bg-black aspect-video"},Zt=Ne({__name:"VCameraSnapshot",props:{cameraName:{},src:{},loading:{type:Boolean},showLoadingScreen:{type:Boolean,default:!0},width:{default:"100%"},height:{default:"100%"}},setup(t,{expose:n}){const s=new vt,v=t,{cameraName:S,loading:w,src:Z}=Ke(v),p=g(!1);Z.value&&s.toggleQueryActivator("getCameraSnapshotQuery",!1);const{data:B,isLoading:q,refetch:b,isRefetching:k}=s.getCameraSnapshotQuery(S,p),K=oe(()=>w.value||q.value||k.value),D=oe(()=>Z.value?Z.value:B.value?`data:image/jpeg;base64,${B.value}`:"");return n({download:()=>{if(D.value){const P=`${S.value.replace(/ /g,"_").toLowerCase()}_${new Date().toISOString()}.png`,h=document.createElement("a");h.setAttribute("download",P),h.href=D.value,document.body.appendChild(h),h.click(),h.remove()}},refresh:()=>{p.value=!0,b(),p.value=!1},isLoading:K,snapshotSrc:D}),(P,h)=>{const ae=Va;return i(),y("div",mr,[e(K)&&P.showLoadingScreen?(i(),M(je,{key:0,color:"#df2a4c",indeterminate:""})):(i(),M(ae,{key:1,src:e(D),width:"100%",height:"100%","aspect-ratio":"16/9",cover:"","show-loading-screen":P.showLoadingScreen},null,8,["src","show-loading-screen"]))])}}}),pr={class:"text-sm"},vr={class:"flex items-center justify-end"},fr={class:"flex items-center justify-end"},gr={key:0},yr={key:0},hr={class:"flex items-center justify-end"},br={key:1},_r={class:"flex items-center justify-end"},wr={key:2},$r={class:"flex items-center justify-end"},kr={key:1},Cr={key:2},xr={key:3},Sr={class:"flex items-center justify-end"},Vr={key:1},zr={key:2},Pr={key:4},Tr={class:"flex items-center justify-end"},Er={key:1},Mr={key:2},Br={key:5},Dr={class:"flex items-center justify-end"},Lr={key:1},Fr={key:2},Ir={key:6},qr={class:"flex items-center justify-end"},Qr={key:1},Or={key:2},Ar=Ne({__name:"overview",props:{cameraName:{},latestSnapshotSrc:{}},setup(t){const n=new vt,s=new na,{api:v}=Pa(),S=t,{cameraName:w,latestSnapshotSrc:Z}=Ke(S),p=g(),B=g(),q=g(),b=g(),k=g(),K=g(),D=g(),u=g(),j=g({page:1,pageSize:-1}),{data:P,isLoading:h}=n.getCameraQuery(w),{data:ae,isLoading:re}=s.getPluginsQuery(j),I=oe(()=>h.value||re.value);return Mt(async()=>{var te,le,de,fe,ne,T,_,f;p.value=await v.deviceManager.getCameraByName(w.value),(te=p.value)==null||te.onMotionDetected.subscribe(x=>{B.value=x}),(le=p.value)==null||le.onBatteryChanged.subscribe(x=>{b.value=x}),(de=p.value)==null||de.onDoorbellPressed.subscribe(x=>{D.value=x}),(fe=p.value)==null||fe.onSirenDetected.subscribe(x=>{K.value=x}),(ne=p.value)==null||ne.onLightSwitched.subscribe(x=>{u.value=x}),(T=p.value)==null||T.onAudioDetected.subscribe(x=>{q.value=x}),(_=p.value)==null||_.onObjectDetected.subscribe(x=>{k.value=x}),await((f=p.value)==null?void 0:f.start())}),Da(()=>{var te;(te=p.value)==null||te.close()}),(te,le)=>{const de=Zt,fe=dr;return i(),y("div",null,[r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),r(de,{"camera-name":e(w),src:e(Z)},null,8,["camera-name","src"]),r(kn,{class:"table-fixed w-full p-2",style:{background:"none !important"}},{default:a(()=>{var ne,T,_,f,x,se,V,Y,ee,me,ke,pe,ye,H,we,Ee,Qe,Oe,Ce,he;return[m("tbody",pr,[m("tr",null,[m("td",null,c(te.$t("components.camera_options.name")),1),m("td",null,[m("div",vr,[m("span",null,c(e(w)),1),(ne=e(P))!=null&&ne.isCloud?(i(),M(G,{key:0,size:"20",class:"ml-2"},{default:a(()=>[E(c(e(qo)),1)]),_:1})):N("",!0)])])]),m("tr",null,[m("td",null,c(te.$t("components.camera_options.plugin")),1),m("td",null,[m("div",fr,[e(I)?(i(),y("span",gr,[r(je,{color:"#df2a4c",size:"20",indeterminate:""})])):N("",!0),m("span",null,c(((T=e(P))==null?void 0:T.pluginId)!=="native"?((f=(_=e(ae))==null?void 0:_.result.find(Ae=>{var Fe;return Ae.id===((Fe=e(P))==null?void 0:Fe.pluginId)}))==null?void 0:f.pluginName)||te.$t("components.camera_options.unknown"):te.$t("components.camera_options.native")),1)])])]),(x=e(P))!=null&&x.hasBattery?(i(),y("tr",yr,[m("td",null,c(te.$t("components.camera_options.battery_state")),1),m("td",null,[m("div",hr,[e(b)?(i(),M(fe,{key:1,level:e(b).level,size:3},null,8,["level"])):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0),(se=e(P))!=null&&se.hasLight?(i(),y("tr",br,[m("td",null,c(te.$t("components.camera_options.light_state")),1),m("td",null,[m("div",_r,[e(u)?e(u).state?(i(),M(G,{key:1,size:20,color:"#f6d800"},{default:a(()=>[E(c(e(Qo)),1)]),_:1})):(i(),M(G,{key:2,size:20,class:"text-disabled"},{default:a(()=>[E(c(e(Oo)),1)]),_:1})):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0),(V=e(P))!=null&&V.extensions.audioDetection?(i(),y("tr",wr,[m("td",null,c(te.$t("components.camera_options.audio_state")),1),m("td",null,[m("div",$r,[e(q)?e(q).state||(Y=e(q).lastEvent)!=null&&Y.state?(i(),y("span",kr,c(e(Dt)(e(q).state?e(q).timestamp:e(q).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Cr,"-")):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0),(ee=e(P))!=null&&ee.hasBinarySensor?(i(),y("tr",xr,[m("td",null,c(te.$t("components.camera_options.doorbell_state")),1),m("td",null,[m("div",Sr,[e(D)?e(D).state||(me=e(D).lastEvent)!=null&&me.state?(i(),y("span",Vr,c(e(Dt)(e(D).state?e(D).timestamp:e(D).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",zr,"-")):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0),(ke=e(P))!=null&&ke.extensions.motionDetection?(i(),y("tr",Pr,[m("td",null,c(te.$t("components.camera_options.motion_state")),1),m("td",null,[m("div",Tr,[e(B)?e(B).state||(pe=e(B).detections)!=null&&pe.length||(ye=e(B).lastEvent)!=null&&ye.state||(we=(H=e(B).lastEvent)==null?void 0:H.detections)!=null&&we.length?(i(),y("span",Er,c(e(Dt)(e(B).state||(Ee=e(B).detections)!=null&&Ee.length?e(B).timestamp:e(B).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Mr,"-")):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0),(Qe=e(P))!=null&&Qe.extensions.objectDetection?(i(),y("tr",Br,[m("td",null,c(te.$t("components.camera_options.object_state")),1),m("td",null,[m("div",Dr,[e(k)?e(k).detections.length||(Oe=e(k).lastEvent)!=null&&Oe.detections.length?(i(),y("span",Lr,c(e(Dt)(e(k).detections.length?e(k).timestamp:e(k).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Fr,"-")):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0),(Ce=e(P))!=null&&Ce.hasSiren?(i(),y("tr",Ir,[m("td",null,c(te.$t("components.camera_options.siren_state")),1),m("td",null,[m("div",qr,[e(K)?e(K).state||(he=e(K).lastEvent)!=null&&he.state?(i(),y("span",Qr,c(e(Dt)(e(K).state?e(K).timestamp:e(K).lastEvent.timestamp,"DD.MM.YYYY, HH:mm:ss")),1)):(i(),y("span",Or,"-")):(i(),M(je,{key:0,color:"#df2a4c",size:15,width:2,indeterminate:""}))])])])):N("",!0)])]}),_:1})])}}}),Nr={class:"relative"},Rr={for:"name",class:"v-label"},Ur={class:"relative"},Zr={for:"type",class:"v-label"},jr={class:"flex justify-start"},Kr={class:"v-label mb-0 ml-2",for:"disabled"},Hr={class:"relative"},Yr={for:"info.manufacturer",class:"v-label"},Wr={class:"relative"},Xr={for:"info.model",class:"v-label"},Jr={class:"relative"},Gr={for:"info.hardware",class:"v-label"},ei={class:"relative"},ti={for:"info.serialNumber",class:"v-label"},ai={class:"relative"},oi={for:"info.firmwareVersion",class:"v-label"},ni={class:"relative"},si={for:"info.supportUrl",class:"v-label"},li={class:"relative w-full"},ri={for:"interface.streamingMode",class:"v-label"},ii={class:"relative w-full"},ui={for:"interface.streamingSource",class:"v-label"},ci={class:"text-sm"},di={class:"w-full flex flex-col items-center justify-center mt-5"},mi={class:"relative w-full"},pi={for:"detectionSettings.motion.timeout",class:"v-label"},vi={class:"text-sm"},fi={class:"w-full flex flex-col items-center justify-center mt-5"},gi={class:"relative w-full"},yi={for:"detectionSettings.motion.confidence",class:"v-label"},hi={class:"text-sm"},bi={class:"w-full flex flex-col items-center justify-center mt-5"},_i={key:0,class:"text-sm text-passive mb-3"},wi={key:1,class:"w-full flex flex-row items-center"},$i={class:"text-sm"},ki={class:"w-full flex flex-col items-center justify-center mt-5"},Ci={class:"relative w-full"},xi={for:"snapshotTTL",class:"v-label"},Si={class:"text-sm"},Vi={class:"w-full flex flex-col items-center justify-center mt-5"},zi={class:"relative w-full"},Pi={for:"frameWorkerSettings.decoder",class:"v-label"},Ti={class:"relative w-full"},Ei={for:"frameWorkerSettings.resolution",class:"v-label"},Mi={class:"relative w-full"},Bi={for:"frameWorkerSettings.fps",class:"v-label"},Di={class:"flex flex-row items-center justify-center ml-auto"},Li={class:"relative mt-2"},Fi=["for"],Ii={class:"relative mt-2"},qi=["for"],Qi={class:"relative mt-2 flex flex-col w-full"},Oi=["for"],Ai={class:"w-full flex items-center justify-center my-3"},Ni={key:0,class:"p-2"},Ri={class:"v-label"},Ui=Ne({__name:"VCameraOptions",props:{cameraName:{},show:{type:Boolean,default:!1},latestSnapshotSrc:{}},emits:["close"],setup(t,{emit:n}){const s=new vt,v=xn(),S=Za(),w=t,Z=n,{cameraName:p,show:B,latestSnapshotSrc:q}=Ke(w),b=g(),k=g(),K=g(),D=g(),u=g(!1),j=g([{name:"overview",eager:!1},{name:"sources",eager:!0},{name:"settings",eager:!0},{name:"plugins",eager:!1}]),P=g(!1),h=g("overview"),ae=g(),re=g(!0),I=g(!1),te=g(!1),le=g(["high-resolution","mid-resolution","low-resolution","snapshot"]),de=g(["auto","mse","webrtc","webrtc/tcp"]),fe=g(["high-resolution","mid-resolution","low-resolution"]),ne=g(["camera","doorbell"]),T=g(["3840x2160","3072x1728","2560x1440","1920x1080","1440x1080","1280x720","960x540","640x480","640x360","320x240","320x180"]),_=g(["pillow","wasm","rust"]),f=g(!1),x=g({name:"",regions:[]}),{data:se,isLoading:V}=s.getCameraQuery(p),{mutate:Y,isPending:ee}=s.removeCameraQuery(),{mutate:me,isPending:ke}=s.patchCameraQuery(),{mutateAsync:pe,isPending:ye}=s.removeCameraZoneQuery(),H=oe(()=>V.value||ee.value),we=oe(()=>ye.value),Ee=oe(()=>we.value||ye.value||u.value||ke.value);ve(B,z=>{if(P.value){P.value=!1,Z("close");return}pt(()=>P.value=z)}),ve(se,z=>{z&&(b.value=za(z))},{deep:!0,immediate:!0}),ve(h,z=>{re.value=z!=="plugins"&&z!=="overview"});const Qe=z=>{var $;($=b.value)==null||$.sources[z].urls.push("")},Oe=(z,$)=>{var W;(W=b.value)==null||W.sources[z].urls.splice($,1)},Ce=()=>{Y({cameraname:p.value},{onSuccess:()=>{v.path.includes(p.value)&&S.push({path:"/cameras"}),I.value=!1}})},he=()=>{b.value&&b.value.sources.push({_id:"",name:"",roles:[],urls:[],internal:!1})},Ae=z=>{b.value&&b.value.sources.splice(z,1)},Fe=()=>{x.value={name:"",regions:[]},te.value=!0},Re=()=>{te.value=!1,ae.value=void 0,f.value=!1,x.value={name:"",regions:[]}},De=async(z,$)=>{var W;if($){const X=await((W=D.value)==null?void 0:W.validate());if(X!=null&&X.valid)console.error("result",X);else return}te.value=!1,$?f.value=!0:f.value=!1,ae.value=z},O=async z=>{await pe({cameraname:p.value,zonename:z})},R=async()=>{var W,X;u.value=!0;const z=await((W=k.value)==null?void 0:W.validate()),$=await((X=K.value)==null?void 0:X.validate());if(z!=null&&z.valid&&($!=null&&$.valid)){const xe={...z.values,...$.values};me({cameraname:p.value,cameraData:xe},{onSettled:()=>{u.value=!1},onError:be=>{console.error("Error saving camera",be)}})}else console.log("Save didnt pass validation",z,$),u.value=!1};return(z,$)=>{const W=Ht("v-number-input"),X=ul,xe=al,be=Nt,Ue=js;return i(),y(Se,null,[e(B)?(i(),M(xe,{key:0,state:e(P),title:e(p),segments:e(j),loading:e(H)||!e(b),selected:e(h),onClose:$[21]||($[21]=l=>Z("close")),onSelected:$[22]||($[22]=l=>h.value=l)},{"segmentIcon.overview":a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Ro)),1)]),_:1})]),"body.overview":a(()=>[e(h)==="overview"?(i(),M(Ar,{key:0,"camera-name":e(p),"latest-snapshot-src":e(q)},null,8,["camera-name","latest-snapshot-src"])):N("",!0)]),"segmentIcon.settings":a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(ea)),1)]),_:1})]),"body.settings":a(()=>[r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),r(e(Qt),{ref_key:"cameraVeeForm1",ref:k,class:"flex flex-col h-full w-full p-2","validation-schema":e(xa)},{default:a(()=>[r(_t,null,{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[E(c(z.$t("components.camera_options.general")),1)]),_:1}),r(ht,{eager:""},{default:a(()=>[m("div",Nr,[r(e(Pe),{modelValue:e(b).name,"onUpdate:modelValue":$[0]||($[0]=l=>e(b).name=l),name:"name"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Rr,c(z.$t("components.form.label.name")),1),r(He,ze({loading:e(H),variant:"outlined",name:"name",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",Ur,[r(e(Pe),{modelValue:e(b).type,"onUpdate:modelValue":$[1]||($[1]=l=>e(b).type=l),name:"type"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Zr,c(z.$t("components.form.label.type")),1),r(mt,ze({loading:e(H),items:e(ne),variant:"outlined",name:"type",type:"text",density:"compact",chips:""},l,{error:d.length>0,"error-messages":o,"model-value":l.value,onKeydown:J(()=>null,["prevent"])}),{chip:a(({item:C})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(C.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),m("div",jr,[r(e(Pe),{"model-value":e(b).disabled,name:"disabled",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:a(({field:l,errorMessage:o,errors:d})=>[r(Ra,ze({"model-value":e(b).disabled,loading:e(H),name:"disabled"},l,{color:"#df2a4c",type:"checkbox",error:d.length>0,"error-messages":o,"hide-details":"",style:{"max-width":"fit-content"},onChange:$[2]||($[2]=C=>e(b).disabled=!e(b).disabled)}),null,16,["model-value","loading","error","error-messages"]),m("label",Kr,c(z.$t("components.form.label.disabled")),1)]),_:1},8,["model-value"])]),r(ie,{width:"100%",color:"red",variant:"flat",class:"mt-3",loading:e(H)||e(Ee),onClick:$[3]||($[3]=J(l=>I.value=!0,["prevent"]))},{default:a(()=>[E(c(z.$t("components.form.button.remove")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),r(_t,null,{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[E(c(z.$t("components.camera_options.branding")),1)]),_:1}),r(ht,{eager:""},{default:a(()=>[m("div",Hr,[r(e(Pe),{modelValue:e(b).info.manufacturer,"onUpdate:modelValue":$[4]||($[4]=l=>e(b).info.manufacturer=l),name:"info.manufacturer"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Yr,c(z.$t("components.form.label.manufacturer")),1),r(He,ze({loading:e(H),variant:"outlined",name:"info.manufacturer",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",Wr,[r(e(Pe),{modelValue:e(b).info.model,"onUpdate:modelValue":$[5]||($[5]=l=>e(b).info.model=l),name:"info.model"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Xr,c(z.$t("components.form.label.model")),1),r(He,ze({loading:e(H),variant:"outlined",name:"info.model",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",Jr,[r(e(Pe),{modelValue:e(b).info.hardware,"onUpdate:modelValue":$[6]||($[6]=l=>e(b).info.hardware=l),name:"info.hardware"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Gr,c(z.$t("components.form.label.hardware_version")),1),r(He,ze({loading:e(H),variant:"outlined",name:"info.hardware",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",ei,[r(e(Pe),{modelValue:e(b).info.serialNumber,"onUpdate:modelValue":$[7]||($[7]=l=>e(b).info.serialNumber=l),name:"info.serialNumber"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",ti,c(z.$t("components.form.label.serial_number")),1),r(He,ze({loading:e(H),variant:"outlined",name:"info.serialNumber",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",ai,[r(e(Pe),{modelValue:e(b).info.firmwareVersion,"onUpdate:modelValue":$[8]||($[8]=l=>e(b).info.firmwareVersion=l),name:"info.firmwareVersion"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",oi,c(z.$t("components.form.label.firmware_version")),1),r(He,ze({loading:e(H),variant:"outlined",name:"info.firmwareVersion",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),m("div",ni,[r(e(Pe),{modelValue:e(b).info.supportUrl,"onUpdate:modelValue":$[9]||($[9]=l=>e(b).info.supportUrl=l),name:"info.supportUrl"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",si,c(z.$t("components.form.label.snapshot_url")),1),r(He,ze({loading:e(H),variant:"outlined",name:"info.supportUrl",type:"text",density:"compact"},l,{error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1}),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),r(_t,null,{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[E(c(z.$t("components.camera_options.interface")),1)]),_:1}),r(ht,{eager:""},{default:a(()=>[m("div",li,[r(e(Pe),{modelValue:e(b).interface.streamingMode,"onUpdate:modelValue":$[10]||($[10]=l=>e(b).interface.streamingMode=l),name:"interface.streamingMode"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",ri,c(z.$t("components.form.label.streaming_mode")),1),r(mt,ze({loading:e(H),items:e(de),variant:"outlined",name:"interface.streamingMode",type:"text",density:"compact",chips:""},l,{error:d.length>0,"error-messages":o,"model-value":l.value,onKeydown:J(()=>null,["prevent"])}),{chip:a(({item:C})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(C.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),m("div",ii,[r(e(Pe),{modelValue:e(b).interface.streamingSource,"onUpdate:modelValue":$[11]||($[11]=l=>e(b).interface.streamingSource=l),name:"interface.streamingSource"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",ui,c(z.$t("components.form.label.streaming_source")),1),r(mt,ze({loading:e(H),items:e(fe),variant:"outlined",name:"interface.streamingSource",type:"text",density:"compact",chips:""},l,{error:d.length>0,"error-messages":o,"model-value":l.value,onKeydown:J(()=>null,["prevent"])}),{chip:a(({item:C})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(C.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1}),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),r(_t,null,{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[E(c(z.$t("components.camera_options.detection")),1)]),_:1}),r(ht,{eager:""},{default:a(()=>{var l,o,d,C;return[m("span",ci,c(z.$t("components.camera_options.motion_detection")),1),m("div",di,[m("div",mi,[r(e(Pe),{modelValue:e(b).detectionSettings.motion.timeout,"onUpdate:modelValue":$[12]||($[12]=U=>e(b).detectionSettings.motion.timeout=U),name:"detectionSettings.motion.timeout"},{default:a(({field:U,errorMessage:Q,errors:L,value:ge,setValue:_e})=>[m("label",pi,c(z.$t("components.form.label.motion_duration")),1),r(W,ze({loading:e(H),variant:"outlined",name:"detectionSettings.motion.timeout",type:"number",density:"compact"},U,{error:L.length>0,"error-messages":Q,onChange:()=>ge===""?_e(20):void 0}),null,16,["loading","error","error-messages","onChange"])]),_:1},8,["modelValue"])])]),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),m("span",vi,c(z.$t("components.camera_options.object_detection")),1),m("div",fi,[m("div",gi,[r(e(Pe),{modelValue:e(b).detectionSettings.object.confidence,"onUpdate:modelValue":$[13]||($[13]=U=>e(b).detectionSettings.object.confidence=U),name:"detectionSettings.object.confidence"},{default:a(({field:U,errorMessage:Q,errors:L,value:ge,setValue:_e})=>[m("label",yi,c(z.$t("components.form.label.confidence")),1),r(W,ze({loading:e(H),variant:"outlined",name:"detectionSettings.object.confidence",type:"number",density:"compact"},U,{step:.01,error:L.length>0,"error-messages":Q,onChange:()=>ge===""?_e(.7):void 0}),null,16,["loading","error","error-messages","onChange"])]),_:1},8,["modelValue"])])]),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),m("span",hi,c(z.$t("components.camera_options.zones")),1),m("div",bi,[(o=(l=e(se))==null?void 0:l.detectionZone)!=null&&o.length?(i(),y("div",wi,[r(He,{class:"my-1","model-value":e(se).detectionZone[0].name,variant:"outlined",density:"compact",type:"text","hide-details":"",readonly:""},{"append-inner":a(()=>[r(ie,{class:"mr-2",size:"24",rounded:"",density:"compact",variant:"flat",color:"green",loading:e(we),onClick:$[14]||($[14]=J(U=>De(e(se).detectionZone[0],!1),["prevent"]))},{default:a(()=>[r(G,{size:"16"},{default:a(()=>[E(c(e(La)),1)]),_:1})]),_:1},8,["loading"]),r(ie,{size:"24",rounded:"",density:"compact",variant:"flat",color:"red",loading:e(we),onClick:$[15]||($[15]=J(U=>O(e(se).detectionZone[0].name),["prevent"]))},{default:a(()=>[r(G,{size:"16"},{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:1},8,["loading"])]),_:1},8,["model-value"])])):(i(),y("span",_i,c(z.$t("components.camera_options.no_zones")),1))]),(C=(d=e(se))==null?void 0:d.detectionZone)!=null&&C.length?N("",!0):(i(),M(ie,{key:0,class:"mt-3 mb-5",block:"",color:"#df2a4c",loading:e(we),variant:"flat",onClick:$[16]||($[16]=J(U=>Fe(),["prevent"]))},{default:a(()=>[E(c(z.$t("components.form.button.new_zone")),1)]),_:1},8,["loading"]))]}),_:1})]),_:1})]),_:1}),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),r(_t,null,{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px"},class:"truncate"},{default:a(()=>[E(c(z.$t("components.camera_options.advanced")),1)]),_:1}),r(ht,{eager:""},{default:a(()=>[m("span",$i,c(z.$t("components.camera_options.snapshot")),1),m("div",ki,[m("div",Ci,[r(e(Pe),{modelValue:e(b).snapshotTTL,"onUpdate:modelValue":$[17]||($[17]=l=>e(b).snapshotTTL=l),name:"snapshotTTL"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",xi,c(z.$t("components.form.label.cache_time")),1),r(W,ze({loading:e(H),variant:"outlined",name:"snapshotTTL",type:"number",density:"compact"},l,{step:1,min:30,error:d.length>0,"error-messages":o}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-5"}),m("span",Si,c(z.$t("components.camera_options.frame_worker")),1),m("div",Vi,[m("div",zi,[r(e(Pe),{modelValue:e(b).frameWorkerSettings.decoder,"onUpdate:modelValue":$[18]||($[18]=l=>e(b).frameWorkerSettings.decoder=l),name:"frameWorkerSettings.decoder"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Pi,c(z.$t("components.form.label.decoder")),1),r(mt,ze({loading:e(H),items:e(_),variant:"outlined",name:"frameWorkerSettings.decoder",type:"text",density:"compact",chips:""},l,{error:d.length>0,"error-messages":o,"model-value":l.value,onKeydown:J(()=>null,["prevent"])}),{chip:a(({item:C})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(C.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value"])]),_:1},8,["modelValue"])]),m("div",Ti,[r(e(Pe),{modelValue:e(b).frameWorkerSettings.resolution,"onUpdate:modelValue":$[19]||($[19]=l=>e(b).frameWorkerSettings.resolution=l),name:"frameWorkerSettings.resolution"},{default:a(({field:l,errorMessage:o,errors:d,value:C,setValue:U})=>[m("label",Ei,c(z.$t("components.form.label.resolution")),1),r(mt,ze({loading:e(H),items:e(T),variant:"outlined",name:"frameWorkerSettings.resolution",type:"string",density:"compact",chips:""},l,{hint:"higher resolution = higher CPU usage",error:d.length>0,"error-messages":o,"model-value":l.value,onKeydown:J(()=>null,["prevent"]),onChange:()=>C===""?U(640):void 0}),{chip:a(({item:Q})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(Q.title),1)]),_:2},1024)]),_:2},1040,["loading","items","error","error-messages","model-value","onChange"])]),_:1},8,["modelValue"])]),m("div",Mi,[r(e(Pe),{modelValue:e(b).frameWorkerSettings.fps,"onUpdate:modelValue":$[20]||($[20]=l=>e(b).frameWorkerSettings.fps=l),name:"frameWorkerSettings.fps"},{default:a(({field:l,errorMessage:o,errors:d,value:C,setValue:U})=>[m("label",Bi,c(z.$t("components.form.label.fps")),1),r(W,ze({loading:e(H),variant:"outlined",name:"frameWorkerSettings.fps",type:"number",density:"compact"},l,{hint:"0 = native",step:1,min:0,max:30,error:d.length>0,"error-messages":o,onChange:()=>C===""?U(10):void 0}),null,16,["loading","error","error-messages","onChange"])]),_:1},8,["modelValue"])])])]),_:1})]),_:1})]),_:1})]),_:1},8,["validation-schema"])]),"segmentIcon.sources":a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Wt)),1)]),_:1})]),"body.sources":a(()=>[r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),r(e(Qt),{ref_key:"cameraVeeForm2",ref:K,class:"flex flex-col h-full w-full p-2","validation-schema":e(xa)},{default:a(()=>[(i(!0),y(Se,null,Te(e(b).sources,(l,o)=>(i(),y("div",{key:o},[Ze(m("div",null,[r(_t,null,{default:a(()=>[r(bt,{elevation:"0"},{default:a(()=>[r(yt,{style:{height:"48px"},class:"truncate"},{actions:a(({expanded:d})=>{var C;return[m("div",Di,[r(ie,{loading:e(H),disabled:((C=e(b))==null?void 0:C.sources)!==void 0&&e(b).sources.length<2||l.internal,size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:J(U=>Ae(o),["prevent"])},{default:a(()=>[r(G,null,{default:a(()=>[E(c(e(xt)),1)]),_:1})]),_:2},1032,["loading","disabled","onClick"]),d?(i(),M(G,{key:0,size:"22.5"},{default:a(()=>[E(c(e(Fa)),1)]),_:1})):(i(),M(G,{key:1,size:"22.5"},{default:a(()=>[E(c(e(Ia)),1)]),_:1}))])]}),default:a(()=>[E(c(z.$t("components.camera_options.source")+": "+l.name.replace(/ /g,"_").toLowerCase())+" ",1)]),_:2},1024),r(ht,{eager:""},{default:a(()=>{var d;return[m("div",Li,[r(e(Pe),{modelValue:l.name,"onUpdate:modelValue":C=>l.name=C,name:`sources[${o}].name`},{default:a(({field:C,errorMessage:U,errors:Q})=>{var L;return[m("label",{for:`sources[${o}].name`,class:"v-label"},c(z.$t("components.form.label.source_name")),9,Fi),r(He,ze({loading:e(H),disabled:((L=e(se))==null?void 0:L.sources.some(ge=>ge.name===l.name))||l.internal,variant:"outlined",name:`sources[${o}].name`,type:"text",density:"compact",ref_for:!0},C,{error:Q.length>0,"error-messages":U}),null,16,["loading","disabled","name","error","error-messages"])]}),_:2},1032,["modelValue","onUpdate:modelValue","name"])]),(d=e(se))!=null&&d.sources.some(C=>C.name===l.name)&&!l.internal?(i(),M(X,{key:0,"camera-name":e(p),"source-name":("toRaw"in z?z.toRaw:e(Co))(l.name)},null,8,["camera-name","source-name"])):N("",!0),m("div",Ii,[r(e(Pe),{modelValue:l.roles,"onUpdate:modelValue":C=>l.roles=C,name:`sources[${o}].roles`},{default:a(({field:C,errorMessage:U,errors:Q})=>[m("label",{for:`sources[${o}].roles`,class:"v-label"},c(z.$t("components.form.label.source_role")),9,qi),r(mt,ze({loading:e(H),items:e(le).filter(L=>!e(b).sources.some((ge,_e)=>ge.roles.includes(L)&&_e!==o)),disabled:l.internal,variant:"outlined",name:`sources[${o}].roles`,type:"text",density:"compact",chips:"",multiple:"",ref_for:!0},C,{"model-value":C.value,error:Q.length>0,"error-messages":U,onKeydown:J(()=>null,["prevent"])}),{chip:a(({item:L})=>[r(Je,{color:"#df2a4c"},{default:a(()=>[E(c(L.title),1)]),_:2},1024)]),_:2},1040,["loading","items","disabled","name","model-value","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"])]),m("div",Qi,[m("label",{for:`sources[${o}].urls[]`,class:"v-label"},c(z.$t("components.form.label.sources")),9,Oi),(i(!0),y(Se,null,Te(l.urls,(C,U)=>(i(),y("div",{key:U,class:"mb-3"},[r(e(Pe),{modelValue:l.urls[U],"onUpdate:modelValue":Q=>l.urls[U]=Q,name:`sources[${o}].urls[${U}]`,value:C},{default:a(({field:Q,errorMessage:L,errors:ge})=>[r(He,ze({loading:e(H),variant:"outlined",name:`sources[${o}].urls[${U}]`,disabled:l.internal,type:"text",density:"compact",ref_for:!0},Q,{error:ge.length>0,"error-messages":L}),{"append-inner":a(()=>[l.urls.length>1?(i(),M(ie,{key:0,loading:e(H),size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:l.urls.length<2,onClick:J(_e=>Oe(o,U),["prevent"])},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(No)),1)]),_:1})]),_:2},1032,["loading","disabled","onClick"])):N("",!0)]),_:2},1040,["loading","name","disabled","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name","value"])]))),128)),r(ie,{loading:e(H),disabled:l.internal,color:"#df2a4c",variant:"flat",class:"ml-auto",onClick:J(C=>Qe(o),["prevent"])},{default:a(()=>[E(c(z.$t("components.form.button.add_source")),1)]),_:2},1032,["loading","disabled","onClick"])])]}),_:2},1024)]),_:2},1024)]),_:2},1024),r(Ye,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})],512),[[Et,!l.internal]])]))),128)),m("div",Ai,[r(ie,{loading:e(H),variant:"text",color:"#df2a4c",icon:"",onClick:J(he,["prevent"])},{default:a(()=>[r(G,{size:"30"},{default:a(()=>[E(c(e(qa)),1)]),_:1})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])]),"segmentIcon.plugins":a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Ao)),1)]),_:1})]),"body.plugins":a(()=>[e(h)==="plugins"?(i(),M(lr,{key:0,"camera-name":e(p)},null,8,["camera-name"])):N("",!0)]),footer:a(()=>[e(re)?(i(),y("div",Ni,[r(ie,{width:"100%",color:"green",variant:"flat",loading:e(H)||e(Ee),onClick:J(R,["prevent"])},{default:a(()=>[E(c(z.$t("components.form.button.save")),1)]),_:1},8,["loading"])])):N("",!0)]),_:1},8,["state","title","segments","loading","selected"])):N("",!0),r(be,{modelValue:e(I),"onUpdate:modelValue":$[23]||($[23]=l=>Me(I)?I.value=l:null),title:z.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.remove",loading:e(H)||e(Ee),onConfirm:$[24]||($[24]=l=>Ce())},{content:a(()=>[m("span",null,c(z.$t("components.dialog.message.confirm_remove")),1)]),_:1},8,["modelValue","title","loading"]),r(be,{modelValue:e(te),"onUpdate:modelValue":$[26]||($[26]=l=>Me(te)?te.value=l:null),title:z.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.open_editor",loading:e(H)||e(Ee),onConfirm:$[27]||($[27]=l=>De(e(x),!0))},{content:a(()=>[r(e(Qt),{ref_key:"cameraVeeForm3",ref:D,"validation-schema":e(Xa),"initial-values":e(x)},{default:a(()=>[r(e(Pe),{modelValue:e(x).name,"onUpdate:modelValue":$[25]||($[25]=l=>e(x).name=l),name:"name",type:"text"},{default:a(({field:l,errorMessage:o,errors:d})=>[m("label",Ri,c(z.$t("components.form.label.zone_name")),1),r(He,ze({class:"my-1",variant:"outlined",density:"compact",type:"text",name:"name"},l,{error:d.length>0,"error-messages":o}),null,16,["error","error-messages"])]),_:1},8,["modelValue"])]),_:1},8,["validation-schema","initial-values"])]),_:1},8,["modelValue","title","loading"]),e(ae)?(i(),M(Ue,{key:1,"camera-name":e(p),zones:e(ae),"is-new-zone":e(f),onShowModal:$[28]||($[28]=l=>l?null:Re())},null,8,["camera-name","zones","is-new-zone"])):N("",!0)],64)}}}),Zi=nt(Ui,[["__scopeId","data-v-c043564e"]]),ji={class:"flex items-center justify-between"},Ki={class:"leading-4 flex flex-col p-2"},Hi={key:0,class:"text-left"},Yi={key:0},Wi={class:"player-camera-subtitle ml-1"},Xi={key:1},Ji={class:"player-camera-subtitle ml-1"},Gi={class:"flex items-center ml-auto"},eu=Ne({__name:"VCameraControl",props:{currentCamera:{},absoluteTitle:{type:Boolean,default:!1},clickableTitle:{type:Boolean,default:!1},buttonElevation:{default:"0"},showTooltips:{type:Boolean,default:!0},showTitleIndicator:{type:Boolean,default:!1},motionDetectionsDisabled:{type:Boolean,default:!0},objectDetectionsDisabled:{type:Boolean,default:!0},settings:{type:Boolean,default:!1},share:{type:Boolean,default:!1},snapshot:{type:Boolean,default:!1},refreshSnapshot:{type:Boolean,default:!1},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!1},logs:{type:Boolean,default:!1},streamLoading:{type:Boolean,default:!1}},emits:["share","snapshot","refresh-snapshot","settings","logs","adding-shortcuts","show-motion-detections","show-object-detections","show-zones"],setup(t,{emit:n}){const{isTouch:s}=Rt(),v=n,S=t,{absoluteTitle:w,clickableTitle:Z,buttonElevation:p,showTooltips:B,shortcuts:q,share:b,snapshot:k,refreshSnapshot:K,motions:D,objects:u,zones:j,settings:P,logs:h,streamLoading:ae,motionDetectionsDisabled:re,objectDetectionsDisabled:I,showTitleIndicator:te}=Ke(S),le=g(!1),de=g(!1),fe=g(!1),ne=g(!1);return ve(le,T=>{v("adding-shortcuts",T)}),ve(de,T=>{v("show-motion-detections",T)}),ve(fe,T=>{v("show-object-detections",T)}),ve(ne,T=>{v("show-zones",T)}),(T,_)=>(i(),y("div",{class:Tt(["p-2 px-3",{"player-header-absolute":e(w),"player-header-container":!e(w)}])},[m("div",ji,[r(ie,{class:Tt({"player-title-text":!e(w),"cursor-pointer":e(Z),"cursor-default":!e(Z)}),style:{padding:"0"},ripple:e(w),color:e(w)?"#212121":void 0,height:"100%",variant:e(w)?"elevated":"text",elevation:e(p),rounded:"",to:e(Z)?`/cameras/${T.currentCamera}`:void 0},{default:a(()=>[m("div",Ki,[m("h3",{class:"player-camera-title text-left truncate",style:ot({color:e(w)?"#ffffff":"color: var(--color)",maxWidth:"150px"})},c(T.currentCamera),5),e(te)?(i(),y("div",Hi,[e(ae)?(i(),y("div",Yi,[r(je,{size:"10",width:"2",indeterminate:"",color:"#0173ff"}),m("span",Wi,c(T.$t("general.loading")),1)])):(i(),y("div",Xi,[r(je,{size:"10",width:"1","model-value":100,color:"red"},{default:a(()=>_[9]||(_[9]=[m("div",{class:"circle-indicator",style:{"background-color":"red"}},null,-1)])),_:1}),m("span",Ji,c(T.$t("components.player.live")),1)]))])):N("",!0)])]),_:1},8,["class","ripple","color","variant","elevation","to"]),m("div",Gi,[e(b)?Ze((i(),M(ie,{key:0,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[0]||(_[0]=J(f=>v("share"),["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Uo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:T.$t("components.player.share_camera")}]]):N("",!0),e(k)?Ze((i(),M(ie,{key:1,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[1]||(_[1]=J(f=>v("snapshot"),["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Zo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:T.$t("components.player.capture_snapshot")}]]):N("",!0),e(D)&&!e(re)?Ze((i(),M(ie,{key:2,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[2]||(_[2]=J(f=>de.value=!e(de),["prevent"]))},{default:a(()=>[r(G,{size:"20",disabled:!e(de)},{default:a(()=>[E(c(e(jo)),1)]),_:1},8,["disabled"])]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:e(de)?T.$t("components.player.hide_motions"):T.$t("components.player.show_motions")}]]):N("",!0),e(u)&&!e(I)?Ze((i(),M(ie,{key:3,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[3]||(_[3]=J(f=>fe.value=!e(fe),["prevent"]))},{default:a(()=>[r(G,{size:"20",disabled:!e(fe)},{default:a(()=>[E(c(e(Ko)),1)]),_:1},8,["disabled"])]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:e(fe)?T.$t("components.player.hide_objects"):T.$t("components.player.show_objects")}]]):N("",!0),e(j)?Ze((i(),M(ie,{key:4,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[4]||(_[4]=J(f=>ne.value=!e(ne),["prevent"]))},{default:a(()=>[r(G,{size:"20",disabled:!e(ne)},{default:a(()=>[E(c(e(Ho)),1)]),_:1},8,["disabled"])]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:e(ne)?T.$t("components.player.hide_zones"):T.$t("components.player.show_zones")}]]):N("",!0),e(q)?Ze((i(),M(ie,{key:5,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[5]||(_[5]=J(f=>le.value=!e(le),["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(le)?e(Yo):e(Wo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:e(le)?T.$t("components.player.save_shortcuts"):T.$t("components.player.add_shortcuts")}]]):N("",!0),e(K)?Ze((i(),M(ie,{key:6,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,disabled:e(ae),elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[6]||(_[6]=J(f=>v("refresh-snapshot"),["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Xo)),1)]),_:1})]),_:1},8,["variant","icon","disabled","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:T.$t("components.player.refresh_snapshot")}]]):N("",!0),e(h)&&e(fa)(void 0,"admin")?Ze((i(),M(ie,{key:7,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[7]||(_[7]=J(f=>v("logs"),["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(Jo)),1)]),_:1})]),_:1},8,["variant","icon","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:T.$t("components.player.log")}]]):N("",!0),e(P)&&e(fa)(void 0,"admin")?Ze((i(),M(ie,{key:8,size:"28",density:"compact",variant:e(w)?"elevated":"text",icon:!e(w),rounded:!0,elevation:e(p),color:e(w)?"#212121":void 0,class:"ml-1",onClick:_[8]||(_[8]=J(f=>v("settings"),["prevent"]))},{default:a(()=>[r(G,{size:"20"},{default:a(()=>[E(c(e(ea)),1)]),_:1})]),_:1},8,["variant","icon","elevation","color"])),[[it,{disabled:!e(B)||e(s),location:"top",text:T.$t("components.player.settings")}]]):N("",!0)])])],2))}}),tu=nt(eu,[["__scopeId","data-v-a5980562"]]),au=Ne({__name:"VZoomable",setup(t){const n=g(null),s=g(1),v=g(0),S=g(0),w=g(0),Z=g(0);let p=0,B=!1,q=0,b=0;const k=oe(()=>({transform:`translate(${v.value}px, ${S.value}px) scale(${s.value})`,transformOrigin:"center"}));Mt(()=>{if(n.value){const{width:P,height:h}=n.value.getBoundingClientRect();w.value=P,Z.value=h}});const K=()=>{const P=w.value*(s.value-1)/2,h=Z.value*(s.value-1)/2;v.value=Math.max(Math.min(v.value,P),-P),S.value=Math.max(Math.min(S.value,h),-h)};ve(s,K);const D=P=>{if(P.touches.length===2){const h=P.touches[0],ae=P.touches[1];p=Math.hypot(h.clientX-ae.clientX,h.clientY-ae.clientY)}else P.touches.length===1&&(B=!0,q=P.touches[0].clientX-v.value,b=P.touches[0].clientY-S.value)},u=P=>{if(P.touches.length===2){const h=P.touches[0],ae=P.touches[1],re=Math.hypot(h.clientX-ae.clientX,h.clientY-ae.clientY),I=s.value*(re/p);s.value=Math.min(Math.max(I,1),5),p=re,K()}else P.touches.length===1&&B&&(v.value=P.touches[0].clientX-q,S.value=P.touches[0].clientY-b,K())},j=()=>{B=!1};return(P,h)=>(i(),y("div",{ref_key:"zoomableDiv",ref:n,class:"zoomable-container",style:ot(e(k)),onTouchstart:D,onTouchmove:u,onTouchend:j},[qt(P.$slots,"default",{},void 0,!0)],36))}}),ou=nt(au,[["__scopeId","data-v-f90e10cf"]]),nu=["data-ignore-id"],su={class:"snapshot-hover-container flex items-center justify-center elevation-3"},lu={key:0,style:{width:"100%","aspect-ratio":"16/9"}},ru={class:"shortcut-menu p-3 elevation-5"},iu=Ne({__name:"VCameraShortcuts",props:{currentCamera:{},clickInsideId:{},addingShortcuts:{type:Boolean}},setup(t){var De;const n=new vt,s=new _o,v=bo(),S=Za(),w=t,{clickInsideId:Z,currentCamera:p,addingShortcuts:B}=Ke(w),{loginState:q}=Ua(v),b=g(null),k=g(null),K=g({}),D=g({}),u=g({}),j=g(!1),P=g(),h=g({page:1,pageSize:-1}),ae=g(!1),re=g([]),I=g({}),te=Ft(k),{data:le,isLoading:de}=n.getCameraQuery(p),{data:fe,isLoading:ne}=n.getCamerasQuery(h),{data:T,isLoading:_}=s.getUserQuery(((De=q.value.user)==null?void 0:De.username)||""),{mutate:f,isPending:x}=s.patchShortcutQuery(),{mutateAsync:se,isPending:V}=s.createShortcutQuery(),{mutateAsync:Y,isPending:ee}=s.removeShortcutQuery(),me=oe(()=>de.value||_.value||x.value||ne.value||V.value||ee.value),ke=oe(()=>{var O;return(O=fe.value)!=null&&O.result?fe.value.result.filter(R=>R.name!==p.value):[]});ve([T,le],()=>{var O;T.value&&le.value&&(re.value=((O=T.value.preferences.cameras[le.value._id])==null?void 0:O.shortcuts)||[])},{immediate:!0,deep:!0}),ve([te.width,te.height],()=>{ae.value=!0,pt(()=>{Qe()})}),ve(re,()=>{pt(()=>{Oe()})},{deep:!0,immediate:!0}),ve(ae,O=>{O&&(P.value=void 0)});const pe=(O,R)=>{I.value[O]=j.value?!1:R,Object.entries(I.value).forEach(([z,$])=>{z!==O&&$&&(I.value[z]=!1)})},ye=O=>{j.value||Ae(O)},H=(O,R)=>{O||(I.value[R._id]?(pe(R._id,!1),Re(R.cameraId)):pe(R._id,!0))},we=()=>{Object.entries(D.value).forEach(([O,R])=>{const z=k.value;if(!z)return;const $=z.getBoundingClientRect(),W=R.element.getBoundingClientRect(),X=(W.left-$.left)/$.width*100,xe=(W.top-$.top)/$.height*100;u.value[O]={x:Math.max(0,Math.min(X,100)),y:Math.max(0,Math.min(xe,100))}})},Ee=()=>{Object.entries(D.value).forEach(([O,R])=>{const z=u.value[O];if(!z)return;const $=k.value;if(!$)return;const W=$.getBoundingClientRect(),X=R.element.getBoundingClientRect(),xe=W.width-X.width,be=W.height-X.height,Ue=Math.max(0,Math.min(z.x/100*W.width,xe)),l=Math.max(0,Math.min(z.y/100*W.height,be));R.setPosition(Ue,l)}),ae.value=!1},Qe=()=>{Object.entries(u.value).forEach(([O,R])=>{u.value[O]={x:Math.max(0,Math.min(R.x,100)),y:Math.max(0,Math.min(R.y,100))}}),Ee()},Oe=()=>{for(const[O,R]of Object.entries(D.value))re.value.find(z=>z._id===O)||(R.destroy(),delete D.value[O],delete u.value[O]);for(const[O]of Object.entries(u.value))re.value.find(R=>R._id===O)||delete u.value[O];for(const[O,R]of Object.entries(K.value)){const z=re.value.find($=>$._id===O);if(R&&z&&k.value){D.value[z._id]&&D.value[z._id].destroy();const $=new Qa(R,{containment:k.value});D.value[z._id]=$;const[W,X]=z.coords.points,xe=k.value.getBoundingClientRect(),be=W/100*xe.width,Ue=X/100*xe.height;$.setPosition(be,Ue),u.value[z._id]={x:W,y:X},$.on("dragMove",()=>{j.value=!0}),$.on("dragEnd",()=>{if(setTimeout(()=>{j.value=!1},50),we(),!T.value||!le.value)return;const l=u.value[z._id];f({username:T.value.username,cameraname:le.value.name,shortcutid:z._id,shortcutData:{coords:{_id:z.coords._id,points:[l.x,l.y]}}})})}}Ee()},Ce=O=>{if(!B.value||!k.value)return;const R=k.value.getBoundingClientRect(),z=35,$=35;P.value={x:Math.max(0,Math.min(O.clientX-R.left-z/2,R.width-z)),y:Math.max(0,Math.min(O.clientY-R.top-$/2,R.height-$))}},he=async O=>{if(!b.value||!T.value||!le.value||!k.value)return;const R=k.value,z=b.value,$=R.getBoundingClientRect(),W=z.getBoundingClientRect(),X=W.left-$.left,xe=W.top-$.top,be=X/$.width*100,Ue=xe/$.height*100;await se({username:T.value.username,cameraname:le.value.name,shortcutData:{_id:"",coords:{_id:"",points:[be,Ue]},cameraId:O._id}},{onSuccess:l=>{re.value=l}}),P.value=void 0},Ae=async O=>{!T.value||!le.value||await Y({username:T.value.username,cameraname:le.value.name,shortcutid:O._id},{onSuccess:R=>{re.value=R}})},Fe=(O,R)=>{K.value[R]=O},Re=async O=>{if(j.value)return;const R=new AbortController,$=(await Wa({cameraname:O,signal:R.signal})).name;$&&S.push(`/cameras/${$}`)};return xo(()=>{K.value={}}),Mt(()=>{pt(()=>{Oe()})}),So(()=>{Object.values(D.value).forEach(O=>O.destroy())}),(O,R)=>{const z=Ga,$=Zt;return i(),y("div",{ref_key:"shortcutContainer",ref:k,class:"shortcut-container relative",style:ot({cursor:e(B)?"pointer":"default"}),onClick:J(Ce,["self"])},[(i(!0),y(Se,null,Te(e(re),W=>Ze((i(),y("div",{ref_for:!0,ref:X=>Fe(X,W._id),key:W._id,class:"draggable absolute","data-ignore-id":e(Z),style:ot({background:e(I)[W._id]?"#545454":void 0})},[r(ie,{color:"#383838",size:"32",density:"compact",icon:"",variant:"elevated",active:e(I)[W._id]},{default:a(()=>[r(G,{size:"30",style:{"margin-top":"3px"}},{default:a(()=>R[1]||(R[1]=[E(c("$cuiCamera"))])),_:1})]),_:2},1032,["active"]),r(_a,{"model-value":e(j)?!1:e(I)[W._id]||void 0,target:"parent",offset:[10,20]},{default:a(()=>{var X;return[m("div",su,[(X=e(fe))!=null&&X.result.find(xe=>xe._id===W.cameraId)?(i(),M(z,{key:1,"current-camera":e(fe).result.find(xe=>xe._id===W.cameraId).name,"border-radius":0,target:"stream","source-role":"low-resolution","show-mode":!1,"show-live-indicator":""},null,8,["current-camera"])):(i(),y("div",lu,[r(je,{color:"#df2a4c",indeterminate:""})]))])]}),_:2},1032,["model-value"])],12,nu)),[[e(fn),X=>pe(W._id,X)],[e(gn),[()=>ye(W),{distanceThreshold:24,delay:1e3,onMouseUp:(X,xe,be)=>H(be,W)}]]])),128)),e(P)?(i(),y("div",{key:0,ref_key:"placeholderEl",ref:b,class:"draggable absolute",style:ot(`left: ${e(P).x}px; top: ${e(P).y}px;`)},[r(ie,{color:"#383838",size:"32",density:"compact",icon:"",variant:"elevated"},{default:a(()=>[r(G,{size:"30",style:{"margin-top":"3px"}},{default:a(()=>R[2]||(R[2]=[E(c("$cuiCamera"))])),_:1})]),_:1})],4)):N("",!0),e(B)&&!e(j)&&!e(ae)?(i(),M(_a,{key:1,offset:[30,0],activator:"parent",target:"cursor","onUpdate:modelValue":R[0]||(R[0]=W=>W?null:P.value=void 0)},{default:a(()=>[m("div",ru,[(i(!0),y(Se,null,Te(e(ke),W=>(i(),M($,{key:W._id,class:"shortcut-menu-item elevation-1","camera-name":W.name,width:"100%",loading:e(me),onClick:J(X=>he(W),["prevent"])},null,8,["camera-name","loading","onClick"]))),128))])]),_:1})):N("",!0)],4)}}}),uu=nt(iu,[["__scopeId","data-v-e9e8a575"]]),cu={class:"stream-control flex flex-row items-center justify-center elevation-2"},du=Ne({__name:"VPlayerController",props:{showVolume:{type:Boolean,default:!0},showRewind:{type:Boolean,default:!1},showFastForward:{type:Boolean,default:!1},showPlayPause:{type:Boolean,default:!0},showMicrophone:{type:Boolean,default:!1},showAirplay:{type:Boolean,default:!1},showPip:{type:Boolean,default:!1},showFs:{type:Boolean,default:!1},playing:{type:Boolean},muted:{type:Boolean},micActive:{type:Boolean},isFs:{type:Boolean},isPip:{type:Boolean},loading:{type:Boolean},collapsedControls:{default(){return[]}}},emits:["toggle-mute","toggle-play","toggle-microphone","toggle-airplay","toggle-picture-in-picture","toggle-fullscreen","toggle-rewind","toggle-fast-forward","toggle-playback-rate"],setup(t,{emit:n}){const s=n,v=t,{showAirplay:S,showFastForward:w,showMicrophone:Z,showPip:p,showPlayPause:B,showRewind:q,showVolume:b,playing:k,micActive:K,muted:D,loading:u,showFs:j,isFs:P,isPip:h,collapsedControls:ae}=Ke(v),re=oe(()=>ae.value.includes("airplay")),I=oe(()=>ae.value.includes("fast-forward")),te=oe(()=>ae.value.includes("microphone")),le=oe(()=>ae.value.includes("pip")),de=oe(()=>ae.value.includes("play-pause")),fe=oe(()=>ae.value.includes("rewind")),ne=oe(()=>ae.value.includes("volume")),T=oe(()=>ae.value.includes("fs"));return(_,f)=>(i(),y("div",cu,[e(fe)?N("",!0):(i(),M(ie,{key:0,disabled:!e(q)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[0]||(f[0]=J(x=>s("toggle-rewind"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(Go)),1)]),_:1})]),_:1},8,["disabled"])),e(de)?N("",!0):(i(),M(ie,{key:1,disabled:!e(B)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[1]||(f[1]=J(x=>s("toggle-play"),["prevent"]))},{default:a(()=>[e(de)?N("",!0):(i(),M(G,{key:0,color:"#fff",size:"18"},{default:a(()=>[E(c(e(k)?e(en):e(tn)),1)]),_:1}))]),_:1},8,["disabled"])),e(I)?N("",!0):(i(),M(ie,{key:2,disabled:!e(w)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[2]||(f[2]=J(x=>s("toggle-fast-forward"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(an)),1)]),_:1})]),_:1},8,["disabled"])),e(ne)?N("",!0):(i(),M(ie,{key:3,disabled:!e(b)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[3]||(f[3]=J(x=>s("toggle-mute"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(D)?e(on):e(nn)),1)]),_:1})]),_:1},8,["disabled"])),e(te)?N("",!0):(i(),M(ie,{key:4,disabled:!e(Z)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[4]||(f[4]=J(x=>s("toggle-microphone"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(K)?e(sn):e(ln)),1)]),_:1})]),_:1},8,["disabled"])),e(re)?N("",!0):(i(),M(ie,{key:5,disabled:!e(S)||e(u),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[5]||(f[5]=J(x=>s("toggle-airplay"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(rn)),1)]),_:1})]),_:1},8,["disabled"])),e(le)?N("",!0):(i(),M(ie,{key:6,disabled:!e(p)||e(u)||e(P),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[6]||(f[6]=J(x=>s("toggle-picture-in-picture"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(h)?e(un):e(cn)),1)]),_:1})]),_:1},8,["disabled"])),e(T)?N("",!0):(i(),M(ie,{key:7,disabled:!e(j)||e(u)||e(h),variant:"text",size:"40",style:{height:"100%","border-radius":"0px"},onClick:f[7]||(f[7]=J(x=>s("toggle-fullscreen"),["prevent"]))},{default:a(()=>[r(G,{color:"#fff",size:"18"},{default:a(()=>[E(c(e(P)?e(dn):e(mn)),1)]),_:1})]),_:1},8,["disabled"]))]))}}),mu=nt(du,[["__scopeId","data-v-b5e30f72"]]),pu=Ne({__name:"VBBoxPlayground",props:{color:{default:"#df2a4c"},detections:{default(){return[]}}},setup(t,{expose:n}){const s=t,{color:v,detections:S}=Ke(s),w=g(null),Z=Ft(w),p=q=>{if(!w.value)return;const k=w.value.getContext("2d");if(k&&(B(),q.length)){const K=q[0].origWidth,D=q[0].origHeight;w.value.width=Z.width.value,w.value.height=Z.height.value;const u=w.value.width/K,j=w.value.height/D;q.forEach(P=>{const{origHeight:h,origWidth:ae,inputWidth:re,inputHeight:I}=P,[te,le,de,fe]=P.boundingBox,ne=Math.round(te*ae/re),T=Math.round(le*h/I),_=Math.round(de*ae/re),f=Math.round(fe*h/I),x=ne*u,se=T*j,V=_*u,Y=f*j;k.strokeStyle=v.value,k.lineWidth=2,k.beginPath(),k.moveTo(x+5,se),k.lineTo(V-5,se),k.quadraticCurveTo(V,se,V,se+5),k.lineTo(V,Y-5),k.quadraticCurveTo(V,Y,V-5,Y),k.lineTo(x+5,Y),k.quadraticCurveTo(x,Y,x,Y-5),k.lineTo(x,se+5),k.quadraticCurveTo(x,se,x+5,se),k.closePath(),k.stroke();const ee=`${P.label} (${(P.confidence*100).toFixed(2)}%)`,me=k.measureText(ee).width+27,ke=20,pe=x;let ye=se-ke-5;ye<0&&(ye=se+5);const H=10,we=5;k.beginPath(),k.moveTo(pe+we,ye),k.lineTo(pe+me+H*2-we,ye),k.quadraticCurveTo(pe+me+H*2,ye,pe+me+H*2,ye+we),k.lineTo(pe+me+H*2,ye+ke-we),k.quadraticCurveTo(pe+me+H*2,ye+ke,pe+me+H*2-we,ye+ke),k.lineTo(pe+we,ye+ke),k.quadraticCurveTo(pe,ye+ke,pe,ye+ke-we),k.lineTo(pe,ye+we),k.quadraticCurveTo(pe,ye,pe+we,ye),k.closePath(),k.fillStyle="rgba(255, 255, 255, 0.7)",k.fill(),k.fillStyle="black",k.font="bold 13px sans-serif",k.textAlign="left",k.textBaseline="bottom",k.fillText(ee,pe+H,ye+ke-3)})}},B=()=>{if(!w.value)return;const q=w.value.getContext("2d");q&&q.clearRect(0,0,Z.width.value,Z.height.value)};return ve(S,q=>{pt(()=>{p(q)})},{deep:!0,immediate:!0}),n({draw:p,clear:B}),(q,b)=>(i(),y("canvas",{ref_key:"bboxCanvas",ref:w,class:"canvas-container"},null,512))}}),Sa=nt(pu,[["__scopeId","data-v-bdd3e850"]]),vu=["data-inside-id"],fu={key:1,class:"camera-name text-white"},gu={class:"video-extras flex items-center justify-center"},yu={key:0,class:"video-extras-bg text-white p-2"},hu={key:1,class:"mx-1"},bu={key:2,class:"absolute w-full h-full flex flex-col items-center justify-center z-5"},_u={key:0,class:"mt-3 text-white text-sm text-shadow"},wu={key:5,width:"100%",height:"100%",class:"zones-container polygon-container"},$u=["d"],ku=["muted"],Cu=5e3,xu=1e4,Su=1e3,Vu=Ne({__name:"VCameraStream",props:{currentCamera:{},showCameraName:{type:Boolean,default:!1},showLiveIndicator:{type:Boolean,default:!1},showMode:{type:Boolean,default:!0},autoHideControl:{type:Boolean,default:!0},enableControl:{type:Boolean,default:!1},allowStreamRunningInBg:{type:Boolean,default:!1},sourceRole:{default:"high-resolution"},mode:{},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!1},addingShortcuts:{type:Boolean,default:!1}},emits:["streamFinishedLoading"],setup(t,{expose:n,emit:s}){var pa,va;const v=new vt,{mobileActive:S}=Ta(),{api:w}=Pa(),{fsSupported:Z,isIphone:p,isMobile:B}=Rt(),q=s,b=t,{showCameraName:k,showLiveIndicator:K,currentCamera:D,autoHideControl:u,enableControl:j,allowStreamRunningInBg:P,sourceRole:h,mode:ae,motions:re,objects:I,zones:te,shortcuts:le,addingShortcuts:de}=Ke(b),fe=g(null),ne=g(wo()),T=g(),_=g("loading"),f=g(),x=g(!1),se=g(!1),V=g(null),Y=g(),ee=g(!1),me=g(!1),ke=g(!1),pe=g(!0),ye=g(!1),H=g(!1),we=g(!1),Ee=g(!1),Qe=g(!0),Oe=g(!0),Ce=g(!1),he=g(!1),Ae=g(!1),Fe=g(),Re=g(),De=g([]),O=g(null),R=g();let z,$,W,X,xe;const be=v.getCameraQuery(D),Ue=Ft(V),{isFullscreen:l,toggle:o}=Oa(V),d=oe(()=>!!(be!=null&&be.isLoading.value||!H.value||ee.value)),C=oe(()=>_.value!=="mjpeg"&&_.value!=="mp4"&&se.value),U=oe(()=>navigator.mediaDevices&&x.value),Q=oe(()=>{var F,ue;return!!(_.value==="hls"&&((F=be==null?void 0:be.data.value)==null?void 0:F.interface.streamingMode)==="hls"&&((ue=V.value)!=null&&ue.canPlayType("application/vnd.apple.mpegurl"))&&Y.value!==void 0)}),L=oe(()=>document.pictureInPictureEnabled&&!p.value&&_.value!=="mp4"&&_.value!=="mjpeg"),ge=oe(()=>_.value!=="mjpeg"&&_.value!=="mp4");if(Lt(V,"pause",()=>{ye.value=!1}),Lt(V,"play",()=>{ye.value=!0}),Lt(V,"enterpictureinpicture",()=>ke.value=!0),Lt(V,"leavepictureinpicture",()=>ke.value=!1),j.value&&ta(fe,F=>{const ue=F.target,Ve=ue.closest(`[data-inside-id='${ne.value}']`),Ie=ue.closest(`[data-ignore-id='${ne.value}']`);Ve&&!Ie&&!de.value&&(u.value&&da(),Ee.value=!Ee.value)}),((pa=be==null?void 0:be.data.value)==null?void 0:pa.interface.streamingMode)==="hls"&&((va=V.value)!=null&&va.canPlayType("application/vnd.apple.mpegurl"))&&"WebKitPlaybackTargetAvailabilityEvent"in window&&Lt(V,"webkitplaybacktargetavailabilitychanged",F=>{switch(F.availability){case"available":Y.value=!0;break;case"not-available":Y.value=void 0;break}}),!P.value&&!B.value){const F=yn();ve(F,ue=>{var Ve;ue==="hidden"?me.value===!1&&(clearTimeout(X),X=setTimeout(()=>{ma()},xu)):(clearTimeout(X),me.value&&((Ve=O.value)==null||Ve.reconnect()))})}ve(ee,async F=>{F&&await jt(!1,!1)}),ve(H,F=>{F||(zt("motion"),zt("object")),q("streamFinishedLoading",F)}),ve(_,F=>{clearInterval(xe),F==="mse"&&(xe=setInterval(oo,Su))});const _e=async()=>{var st;if(j.value&&u.value&&Ee.value&&da(),await(be==null?void 0:be.suspense()),R.value=await w.deviceManager.getCameraByName(D.value),!R.value)throw new Error("Camera not found!");let F;const ue=R.value.streamSource,Ve=R.value.snapshotSource,Ie=R.value.highResolutionSource,qe=R.value.midResolutionSource,dt=R.value.lowResolutionSource;if(h.value==="high-resolution"?Ie?F=Ie:(console.warn("High resolution source not found, using stream source instead"),F=ue):h.value==="mid-resolution"?qe?F=qe:(console.warn("Mid resolution source not found, using stream source instead"),F=ue):h.value==="low-resolution"?dt?F=dt:(console.warn("Low resolution source not found, using stream source instead"),F=ue):h.value==="snapshot"?Ve?F=Ve:(console.warn("Snapshot source not found, using stream source instead"),F=ue):F=ue,T.value=`${D.value.replace(/ /g,"_").toLowerCase()}_${F.name}`,Qe.value=!R.value.hasMotionDetector,Oe.value=!R.value.hasObjectDetector,R.value.onPropertyChange("hasMotionDetector").subscribe(({newData:Bt})=>{Qe.value=!Bt}),R.value.onPropertyChange("hasObjectDetector").subscribe(({newData:Bt})=>{Oe.value=!Bt}),!V.value)throw new Error("Video player not found!");O.value=R.value.createWebRTCSession({mode:ae.value||((st=be==null?void 0:be.data.value)==null?void 0:st.interface.streamingMode)||"webrtc",sourceName:T.value,videoElement:V.value,wsReconnectTimeout:5e3,webrtcConnectTimeout:2e3}),O.value.addEventListener("error",ce),O.value.addEventListener("reconnect",A),O.value.addEventListener("onFinishLoading",We),O.value.addEventListener("onFirstFrame",Ge),O.value.connect()},ce=F=>{console.error(D.value,F),_.value="error",x.value=!1,H.value=!1,H.value=!1,ee.value=!1},A=()=>{_.value="reconnecting",x.value=!1,H.value=!1,H.value=!1,ee.value=!0},$e=()=>{x.value=O.value.hasBackchannel,se.value=O.value.hasAudio,_.value=O.value.mode,ee.value=!1,H.value=!1},We=()=>{x.value=O.value.hasBackchannel,se.value=O.value.hasAudio,_.value=O.value.mode,ee.value=!1},Ge=()=>{H.value=!0},at=()=>{var F;if(V.value){const ue=document.createElement("canvas");ue.width=V.value.videoWidth,ue.height=V.value.videoHeight,(F=ue.getContext("2d"))==null||F.drawImage(V.value,0,0,ue.width,ue.height);const Ve=ue.toDataURL("image/png"),Ie=`${D.value.replace(/ /g,"_").toLowerCase()}_${new Date().toISOString()}.png`,qe=document.createElement("a");qe.setAttribute("download",Ie),qe.href=Ve,document.body.appendChild(qe),qe.click(),qe.remove()}},et=()=>{var F;Ae.value||(Ae.value=!0,De.value=((F=R.value)==null?void 0:F.detectionZones)||[])},ct=()=>{Ae.value=!1,De.value=[]},Le=async()=>{var F,ue;Ce.value||(zt("motion"),Ce.value=!0,await((F=R.value)==null?void 0:F.start()),z=(ue=R.value)==null?void 0:ue.onMotionDetected.subscribe(Ve=>{ra("motion",Ve.detections??[])}))},wt=()=>{var F;zt("motion"),Ce.value=!1,he.value||(F=R.value)==null||F.stop(),z==null||z.unsubscribe()},eo=async()=>{var F,ue;he.value||(zt("object"),he.value=!0,await((F=R.value)==null?void 0:F.start()),$=(ue=R.value)==null?void 0:ue.onObjectDetected.subscribe(Ve=>{ra("object",Ve.detections)}))},to=()=>{var F;zt("object"),he.value=!1,Ce.value||(F=R.value)==null||F.stop(),$==null||$.unsubscribe()},zt=F=>{const ue=ia(F);ue==null||ue.clear()},ra=(F,ue)=>{if(!H.value)return;const Ve=ia(F);Ve==null||Ve.draw(ue)},ia=F=>F==="motion"?Fe.value:Re.value,ao=F=>{if(!F)return"";const ue=F.map(Ie=>{const qe=Math.round(Ie[0]/100*Ue.width.value),dt=Math.round(Ie[1]/100*Ue.height.value);return`${qe},${dt}`});if(ue.length===0)return"";let Ve=`M ${ue[0]}`;for(let Ie=1;Ie<ue.length;Ie++)Ve+=` L ${ue[Ie]}`;return Ve+=" Z",Ve},ua=async()=>{var F;if(V.value)try{await V.value.play()}catch(ue){if(!((F=V.value)!=null&&F.muted))return V.value.muted=!0,ua();console.warn(D.value,ue)}},oo=()=>{if(V.value&&_.value==="mse"&&!ee.value&&H.value&&V.value.buffered.length>0){const F=V.value.buffered.end(V.value.buffered.length-1);F-V.value.currentTime>1&&(V.value.currentTime=F)}},ca=F=>{pe.value=F!==void 0?F:!pe.value},jt=async(F,ue=!1)=>{var Ve,Ie;if((Ve=O.value)!=null&&Ve.mode.includes("webrtc"))if(we.value=F!==void 0?F:!we.value,we.value)try{f.value=await navigator.mediaDevices.getUserMedia({audio:!0});const qe=f.value.getAudioTracks()[0];pe.value=!ue,await O.value.toggleMicrophone(qe)}catch(qe){console.warn(D.value,qe)}else(Ie=f.value)==null||Ie.getTracks().forEach(qe=>qe.stop()),f.value=void 0,await O.value.toggleMicrophone(null)},no=()=>{var F;document.pictureInPictureElement?document.exitPictureInPicture():document.pictureInPictureEnabled&&((F=V.value)==null||F.requestPictureInPicture())},so=()=>{V.value&&(ye.value?V.value.pause():ua())},lo=()=>{var F;(F=V.value)==null||F.webkitShowPlaybackTargetPicker()},ro=()=>{Z.value?o():l.value=!l.value},da=()=>{clearTimeout(W),W=setTimeout(()=>{Ee.value=!1},Cu)},io=()=>{me.value=!0,H.value=!1,pe.value=!0},ma=()=>{var F;io(),(F=O.value)==null||F.close()};return Ba(async()=>{try{await _e()}catch(F){console.error(F)}}),Da(()=>{var F,ue,Ve,Ie,qe,dt;ma(),(F=O.value)==null||F.removeEventListener("error",ce),(ue=O.value)==null||ue.removeEventListener("reconnect",A),(Ve=O.value)==null||Ve.removeEventListener("onModeChange",$e),(Ie=O.value)==null||Ie.removeEventListener("onFinishLoading",We),(qe=O.value)==null||qe.removeEventListener("onFirstFrame",Ge),(dt=R.value)==null||dt.close(),R.value=void 0}),n({toggleMicrophone:jt,toggleMute:ca,captureScreenshot:at,onHideMotionDetections:wt,onShowMotionDetections:Le,onHideObjectDetections:to,onShowObjectDetections:eo,onHideZones:ct,onShowZones:et,motionDetectionsDisabled:Qe,objectDetectionsDisabled:Oe}),(F,ue)=>{const Ve=mu,Ie=uu,qe=Zt,dt=ou;return i(),y("div",{class:"relative w-full h-full","data-inside-id":e(ne)},[m("div",{ref_key:"fakeClick",ref:fe,class:"fake-click"},null,512),r(Ea,{name:"fade",mode:"out-in"},{default:a(()=>[e(Ee)&&e(j)?(i(),M(Ve,{key:0,"data-ignore-id":e(ne),loading:e(d),"show-rewind":"","show-fast-forward":"","show-volume":e(C),"show-play-pause":e(ge),"show-microphone":e(U),"show-airplay":e(Q)&&e(ge),"show-pip":e(L),"show-fs":e(Z),"is-fs":e(l),"is-pip":e(ke),muted:e(pe),playing:e(ye),"mic-active":e(we),"collapsed-controls":["airplay"],onToggleMute:ca,onTogglePlay:so,onToggleMicrophone:ue[0]||(ue[0]=()=>jt(void 0,!0)),onToggleAirplay:lo,onTogglePictureInPicture:no,onToggleFullscreen:ro},null,8,["data-ignore-id","loading","show-volume","show-play-pause","show-microphone","show-airplay","show-pip","show-fs","is-fs","is-pip","muted","playing","mic-active"])):N("",!0)]),_:1}),r(dt,null,{default:a(()=>[e(le)?(i(),M(Ie,{key:0,"current-camera":e(D),"adding-shortcuts":e(de),"click-inside-id":e(ne)},null,8,["current-camera","adding-shortcuts","click-inside-id"])):N("",!0),e(k)?(i(),y("div",fu,c(e(D)),1)):N("",!0),m("div",gu,[F.showMode&&!e(S)?(i(),y("div",yu,c(e(_).toUpperCase()),1)):N("",!0),F.showMode&&e(K)?(i(),y("div",hu)):N("",!0),e(K)?(i(),y("div",{key:2,class:"live-indicator elevation-3",style:ot({background:e(H)?"red":"gray"})},null,4)):N("",!0)]),e(d)?(i(),y("div",bu,[r(je,{color:"#df2a4c",class:"box-shadow",style:{"border-radius":"50%"},indeterminate:""}),e(ee)?(i(),y("span",_u,c(F.$t("components.player.reconnecting"))+"...",1)):N("",!0)])):N("",!0),e(re)&&!e(Qe)?(i(),M(Sa,{key:3,ref_key:"motionCanvas",ref:Fe},null,512)):N("",!0),e(I)&&!e(Oe)?(i(),M(Sa,{key:4,ref_key:"objectCanvas",ref:Re,color:"green"},null,512)):N("",!0),e(te)?(i(),y("svg",wu,[(i(!0),y(Se,null,Te(e(De),(st,Bt)=>(i(),y("path",{key:Bt,d:ao(st.points.map(uo=>uo)),class:Tt({polygon:st.filter=="include"&&!st.isPrivacyMask,"polygon-exclude":st.filter=="exclude"&&!st.isPrivacyMask,"polygon-privacy":st.isPrivacyMask,dash:st.type==="intersect"&&!st.isPrivacyMask})},null,10,$u))),128))])):N("",!0),e(H)?N("",!0):(i(),M(qe,{key:6,"camera-name":e(D),"show-loading-screen":!1,class:"object-contain"},null,8,["camera-name"])),Ze(m("video",{id:"videoPlayer",ref_key:"videoPlayer",ref:V,playsinline:"",autoplay:"",preload:"auto",muted:e(pe),class:"video-player"},null,8,ku),[[Et,e(H)]])]),_:1})],8,vu)}}}),zu=nt(Vu,[["__scopeId","data-v-2c38f293"]]),Pu={class:"relative player-container-main w-full",style:"background: var(--background-img);"},Tu={class:"relative w-full h-full flex items-center justify-center"},Eu={class:"relative w-full h-full"},Mu={key:2},Bu=Ne({__name:"VPlayer",props:{currentCamera:{},target:{},mode:{},previewSrc:{},showCameraName:{type:Boolean,default:!1},showMode:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!1},showLiveIndicator:{type:Boolean,default:!1},absoluteTitle:{type:Boolean,default:!1},clickableTitle:{type:Boolean,default:!1},clickableContainer:{type:Boolean,default:!1},enableControl:{type:Boolean,default:!1},autoHideControl:{type:Boolean,default:!0},allowStreamRunningInBg:{type:Boolean,default:!1},showTooltips:{type:Boolean,default:!0},border:{type:Boolean,default:!1},borderRadius:{default:3},buttonElevation:{default:"0"},timelineScrolling:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!1},settings:{type:Boolean,default:!1},logs:{type:Boolean,default:!1},share:{type:Boolean,default:!1},snapshot:{type:Boolean,default:!1},refreshSnapshot:{type:Boolean,default:!1},motions:{type:Boolean,default:!1},objects:{type:Boolean,default:!1},zones:{type:Boolean,default:!1},sourceRole:{default:"high-resolution"}},emits:["resize"],setup(t,{expose:n,emit:s}){const v=new vt,{fsSupported:S}=Rt(),{smallMobileActive:w}=Ta(),Z=$o(),p=s,B=t,{absoluteTitle:q,allowStreamRunningInBg:b,autoHideControl:k,border:K,borderRadius:D,buttonElevation:u,clickableTitle:j,clickableContainer:P,currentCamera:h,enableControl:ae,target:re,mode:I,previewSrc:te,settings:le,logs:de,share:fe,showTitle:ne,snapshot:T,refreshSnapshot:_,timelineScrolling:f,objects:x,motions:se,zones:V,sourceRole:Y,showCameraName:ee,showMode:me,showLiveIndicator:ke,shortcuts:pe,showTooltips:ye}=Ke(B),H=g(!1),we=g(!1),Ee=g(null),Qe=g(!1),Oe=g(null),Ce=g(),he=g(),Ae=g(!1),Fe=g(!1),Re=g(null),De=g();v.toggleQueryActivator("downloadLogQuery",!1);const{data:O,isLoading:R,suspense:z}=v.downloadLogQuery(h),$=Ft(Ee),{isFullscreen:W}=Oa(Oe),X=oe(()=>({fontSize:w.value?12:14})),xe=oe(()=>(f.value||!Ae.value)&&re.value==="stream"),be=oe(()=>{var ce;return!!((ce=Ce.value)!=null&&ce.isLoading&&re.value!=="stream")});ve($.height,(ce,A)=>{p("resize",ce-A)},{deep:!0}),ve(Qe,ce=>{pt(()=>we.value=ce)}),ve(Fe,ce=>{ge(ce)}),ve(w,()=>{_e()});const Ue=()=>{var ce,A;re.value==="stream"?(ce=he.value)==null||ce.captureScreenshot():(A=Ce.value)==null||A.download()},l=()=>{var ce;(ce=Ce.value)==null||ce.refresh()},o=ce=>{var A,$e;ce?(A=he.value)==null||A.onShowZones():($e=he.value)==null||$e.onHideZones()},d=async ce=>{var A,$e;ce?await((A=he.value)==null?void 0:A.onShowMotionDetections()):($e=he.value)==null||$e.onHideMotionDetections()},C=async ce=>{var A,$e;ce?await((A=he.value)==null?void 0:A.onShowObjectDetections()):($e=he.value)==null||$e.onHideObjectDetections()},U=ce=>{var A;(A=he.value)==null||A.toggleMute(ce)},Q=async(ce,A=!1)=>{var $e;await(($e=he.value)==null?void 0:$e.toggleMicrophone(ce,A))},L=async()=>{try{if(v.toggleQueryActivator("downloadLogQuery",!0),await z(),O.value){const ce=O.value,A=window.URL.createObjectURL(new Blob([ce])),$e=document.createElement("a");$e.href=A,$e.setAttribute("download",`camera.ui.${h.value.replace(/ /g,"_")}.log.txt`),document.body.appendChild($e),$e.click(),$e.remove()}}finally{v.toggleQueryActivator("downloadLogQuery",!1)}},ge=ce=>{var A,$e,We,Ge,at,et,ct;ce?(De.value=Z.connectToNamespace("/logs"),(A=De.value)==null||A.socket.on(`stdout/${h.value}`,Le=>{var wt;(wt=Re.value)==null||wt.writeTerminal(Le)}),($e=De.value)==null||$e.socket.on("stdout",Le=>{var wt;(wt=Re.value)==null||wt.writeTerminal(Le)}),(We=De.value)==null||We.socket.on("disconnect",()=>{var Le;(Le=Re.value)==null||Le.writeTerminal(`\r
2
+ Websocket failed to connect! Is the server running?\r
3
+ \r
4
+ `)}),(Ge=De.value)==null||Ge.socket.on("clear-log",()=>{var Le;(Le=Re.value)==null||Le.clearTerminal()}),(at=De.value)==null||at.socket.emit("get-camera-log",h.value)):(ct=(et=De.value)==null?void 0:et.end)==null||ct.call(et)},_e=()=>{Fe.value&&(ge(!1),ge(!0))};return n({toggleMicrophone:Q,toggleMute:U,captureScreenshot:Ue}),(ce,A)=>{var at,et,ct;const $e=tu,We=Zi,Ge=Nt;return i(),y("div",{ref_key:"playerContainer",ref:Ee,class:"player-container w-full relative",style:ot(`border-radius: ${e(D)}px; border: ${e(K)?1:0}px solid var(--border);`)},[m("div",Pu,[m("div",{ref_key:"videoPlayerWrapper",ref:Oe,class:Tt(["w-full h-full",{"fullscreen-video":!e(S)&&e(W)}])},[m("div",Tu,[m("div",{class:"video-container w-full aspect-video",style:ot(!e(S)&&e(W)?"width: unset":void 0)},[m("div",Eu,[e(re)==="stream"?(i(),M(zu,{key:0,ref_key:"cameraStream",ref:he,"current-camera":e(h),"show-camera-name":e(ee),"show-live-indicator":e(ke),"show-mode":e(me),"auto-hide-control":e(k),"enable-control":e(ae),"allow-stream-running-in-bg":e(b),"source-role":e(Y),mode:e(I),motions:e(se),objects:e(x),zones:e(V),shortcuts:e(pe),"adding-shortcuts":e(H),onStreamFinishedLoading:A[0]||(A[0]=Le=>Ae.value=Le)},null,8,["current-camera","show-camera-name","show-live-indicator","show-mode","auto-hide-control","enable-control","allow-stream-running-in-bg","source-role","mode","motions","objects","zones","shortcuts","adding-shortcuts"])):(i(),M(Zt,{key:1,ref_key:"cameraSnapshot",ref:Ce,"camera-name":e(h),src:e(te)},null,8,["camera-name","src"]))])],4)])],2)]),e(ne)?(i(),M($e,{key:0,"current-camera":e(h),"absolute-title":e(q),"clickable-title":e(j),"button-elevation":e(u),"show-tooltips":e(ye),settings:e(le),logs:e(de),share:e(fe),snapshot:e(T),"refresh-snapshot":e(_),motions:e(se),objects:e(x),zones:e(V),shortcuts:e(pe),"stream-loading":e(xe)||e(be),"show-title-indicator":e(re)==="stream","motion-detections-disabled":(at=e(he))==null?void 0:at.motionDetectionsDisabled,"object-detections-disabled":(et=e(he))==null?void 0:et.objectDetectionsDisabled,onAddingShortcuts:A[1]||(A[1]=Le=>H.value=Le),onSettings:A[2]||(A[2]=Le=>Qe.value=!0),onLogs:A[3]||(A[3]=Le=>Fe.value=!0),onSnapshot:Ue,onRefreshSnapshot:l,onShowZones:o,onShowMotionDetections:d,onShowObjectDetections:C},null,8,["current-camera","absolute-title","clickable-title","button-elevation","show-tooltips","settings","logs","share","snapshot","refresh-snapshot","motions","objects","zones","shortcuts","stream-loading","show-title-indicator","motion-detections-disabled","object-detections-disabled"])):N("",!0),e(P)?(i(),y("div",{key:1,class:"absolute w-100 h-100 top-0 cursor-pointer",onClick:A[4]||(A[4]=J(Le=>ce.$router.push(`/cameras/${e(h)}`),["prevent"]))})):N("",!0),e(Qe)?(i(),y("div",Mu,[r(We,{"camera-name":e(h),show:e(we),"latest-snapshot-src":(ct=e(Ce))==null?void 0:ct.snapshotSrc,onClose:A[5]||(A[5]=Le=>Qe.value=!1)},null,8,["camera-name","show","latest-snapshot-src"])])):N("",!0),r(Ge,{modelValue:e(Fe),"onUpdate:modelValue":A[6]||(A[6]=Le=>Me(Fe)?Fe.value=Le:null),title:ce.$t("components.dialog.title.log"),"confirm-text":"components.form.button.download",loading:e(R),"fullscreen-content":"",onConfirm:A[7]||(A[7]=Le=>L())},{content:a(()=>[r(Sn,{ref_key:"consoleRef",ref:Re,class:"text-editor",options:e(X)},null,8,["options"])]),_:1},8,["modelValue","title","loading"])],4)}}}),Ga=nt(Bu,[["__scopeId","data-v-f2f7bcdc"]]);export{vt as C,Ga as _,Zt as a,Ja as b,Ju as c,Sa as d,Zi as e,Sl as f,Xu as g};