@camera.ui/server 0.0.65 → 0.0.66

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/assets/{main.BJSPOiOB.0.0.65.css → main.C_cGKPsH.0.0.66.css} +1 -1
  2. package/dist/interface/index.html +44 -44
  3. package/dist/interface/js/{@primevue.nr37tGdz.0.0.65.js → @primevue.CSqVWdSI.0.0.66.js} +1 -1
  4. package/dist/interface/js/{@tanstack.BlGunTa7.0.0.65.js → @tanstack.Cg5p0suW.0.0.66.js} +1 -1
  5. package/dist/interface/js/{@vee-validate.CM3rjqgU.0.0.65.js → @vee-validate.DYnt12GD.0.0.66.js} +3 -3
  6. package/dist/interface/js/{@vueuse.CT4ArM_v.0.0.65.js → @vueuse.LiqCsnkh.0.0.66.js} +1 -1
  7. package/dist/interface/js/{Adminpanel.Hao0o9sq.0.0.65.js → Adminpanel.CVgL2OI6.0.0.66.js} +1 -1
  8. package/dist/interface/js/{Camera.DlM_BanJ.0.0.65.js → Camera.Cwx8xZxi.0.0.66.js} +1 -1
  9. package/dist/interface/js/{Cameras.Cvg5uMvR.0.0.65.js → Cameras.D8WrGoBR.0.0.66.js} +6 -6
  10. package/dist/interface/js/Cammesh.DM4HtRt1.0.0.66.js +1 -0
  11. package/dist/interface/js/{Camview.BRwFhhGH.0.0.65.js → Camview.B-ZxIlts.0.0.66.js} +1 -1
  12. package/dist/interface/js/{Config.DD7ZQYIb.0.0.65.js → Config.BKYW2Ruc.0.0.66.js} +2 -2
  13. package/dist/interface/js/{Console.QIMOqe_j.0.0.65.js → Console.QTc0CwQj.0.0.66.js} +1 -1
  14. package/dist/interface/js/{CuiConsole.DFTuJye2.0.0.65.js → CuiConsole.BUv68-lf.0.0.66.js} +1 -1
  15. package/dist/interface/js/{CuiPluginCard.DbxiKfJr.0.0.65.js → CuiPluginCard.rI9UiDzB.0.0.66.js} +1 -1
  16. package/dist/interface/js/{CuiTimeline.CoOU089I.0.0.65.js → CuiTimeline.m3JuFIFi.0.0.66.js} +1 -1
  17. package/dist/interface/js/{FirstSteps.cJvnvd0p.0.0.65.js → FirstSteps.BZL7AFlg.0.0.66.js} +1 -1
  18. package/dist/interface/js/{Plugin.BeWKpCW0.0.0.65.js → Plugin.D1_ADyQp.0.0.66.js} +1 -1
  19. package/dist/interface/js/{Plugins.B2csFQ62.0.0.65.js → Plugins.GeuTY6gF.0.0.66.js} +1 -1
  20. package/dist/interface/js/Recordings.BuF498or.0.0.66.js +1 -0
  21. package/dist/interface/js/{Settings.BcPlqzDA.0.0.65.js → Settings.Z3LQFXdW.0.0.66.js} +1 -1
  22. package/dist/interface/js/{SettingsAccount.CT1-o1T3.0.0.65.js → SettingsAccount.8Uv0Eypf.0.0.66.js} +1 -1
  23. package/dist/interface/js/SettingsAppearance.DSUC-CCe.0.0.66.js +1 -0
  24. package/dist/interface/js/{SettingsAppearance.vue_vue_type_script_setup_true_lang.Dasx97LK.0.0.65.js → SettingsAppearance.vue_vue_type_script_setup_true_lang.6aLtEOdJ.0.0.66.js} +1 -1
  25. package/dist/interface/js/{SettingsBackup.Vq3t50X5.0.0.65.js → SettingsBackup.CmgZM6S3.0.0.66.js} +1 -1
  26. package/dist/interface/js/SettingsRecordings.jYQidJGr.0.0.66.js +1 -0
  27. package/dist/interface/js/{SettingsRemote.KojIuybJ.0.0.65.js → SettingsRemote.BoL2vVDo.0.0.66.js} +1 -1
  28. package/dist/interface/js/{SettingsSystem.YAXxE6CS.0.0.65.js → SettingsSystem.BHIjLZuv.0.0.66.js} +1 -1
  29. package/dist/interface/js/{SettingsUsers.CMKXsKiJ.0.0.65.js → SettingsUsers.5t9EOwSv.0.0.66.js} +1 -1
  30. package/dist/interface/js/{VersionsHandler.vue_vue_type_script_setup_true_lang.Cf81Fg_-.0.0.65.js → VersionsHandler.vue_vue_type_script_setup_true_lang.BR7r5g1J.0.0.66.js} +1 -1
  31. package/dist/interface/js/{ace-builds.BXuWnsHa.0.0.65.js → ace-builds.DMUwi8Pm.0.0.66.js} +2 -2
  32. package/dist/interface/js/{ace.config.Ckh2Op_e.0.0.65.js → ace.config.CThuW1AM.0.0.66.js} +1 -1
  33. package/dist/interface/js/{axios.DHr9lByg.0.0.65.js → axios.lj9VQs0f.0.0.66.js} +5 -5
  34. package/dist/interface/js/{backup.DjiTbs1Q.0.0.65.js → backup.DAgZlqQ_.0.0.66.js} +1 -1
  35. package/dist/interface/js/{chart.js.COWP81wl.0.0.65.js → chart.js.CtSefmh4.0.0.66.js} +6 -6
  36. package/dist/interface/js/{close-circle.Bt0DolDf.0.0.65.js → close-circle.D0e3G4I4.0.0.66.js} +1 -1
  37. package/dist/interface/js/{dnd-core.CIZI_Pnh.0.0.65.js → dnd-core.DyLOMurR.0.0.66.js} +1 -1
  38. package/dist/interface/js/{draggabilly.jXME3Xl7.0.0.65.js → draggabilly.ChLscxJD.0.0.66.js} +1 -1
  39. package/dist/interface/js/{engine.io-client.Bwq6EbBZ.0.0.65.js → engine.io-client.BW_Hz_BW.0.0.66.js} +1 -1
  40. package/dist/interface/js/{fast-deep-equal.wMnqc5nP.0.0.65.js → fast-deep-equal.hg4z7LXY.0.0.66.js} +1 -1
  41. package/dist/interface/js/{highlight.js.BJ--bJsY.0.0.65.js → highlight.js.BzmrmBdP.0.0.66.js} +1 -1
  42. package/dist/interface/js/{linkify-it.BgSGKsum.0.0.65.js → linkify-it.BufRIWo8.0.0.66.js} +1 -1
  43. package/dist/interface/js/{main.DteM3Tyw.0.0.65.js → main.B_fPrbq1.0.0.66.js} +11 -11
  44. package/dist/interface/js/{markdown-it.CC2C4XG8.0.0.65.js → markdown-it.BFhvgE87.0.0.66.js} +1 -1
  45. package/dist/interface/js/{nprogress.Y-YIR5w8.0.0.65.js → nprogress.BE8Ud4fe.0.0.66.js} +1 -1
  46. package/dist/interface/js/{pinia.B3xyHOOv.0.0.65.js → pinia.GUa2jGH4.0.0.66.js} +1 -1
  47. package/dist/interface/js/{primevue.NVdW9OqK.0.0.65.js → primevue.u0cWw2OL.0.0.66.js} +1 -1
  48. package/dist/interface/js/{qrcode.BsXR3CD9.0.0.65.js → qrcode.drIiNiGs.0.0.66.js} +1 -1
  49. package/dist/interface/js/{react-dnd-touch-backend.C5TP3QMu.0.0.65.js → react-dnd-touch-backend.ByxUBMwf.0.0.66.js} +1 -1
  50. package/dist/interface/js/{refresh-rounded.DOZ-DEFG.0.0.65.js → refresh-rounded.J347C_Rp.0.0.66.js} +1 -1
  51. package/dist/interface/js/{rxjs.CUmmYmXR.0.0.65.js → rxjs.BFmW76gn.0.0.66.js} +1 -1
  52. package/dist/interface/js/{socket.io-client.Bd1Z4yya.0.0.65.js → socket.io-client.Bsb7RiMX.0.0.66.js} +1 -1
  53. package/dist/interface/js/{socket.io-parser.Brq8Mynw.0.0.65.js → socket.io-parser.B4i48Hhv.0.0.66.js} +1 -1
  54. package/dist/interface/js/{system.Ch6phD20.0.0.65.js → system.c1hfHVs5.0.0.66.js} +1 -1
  55. package/dist/interface/js/{trash-fill.CK6-EpFr.0.0.65.js → trash-fill.Ba5SZ_G6.0.0.66.js} +1 -1
  56. package/dist/interface/js/{unidragger.BlS0U2Yu.0.0.65.js → unidragger.Bo5rY1ZU.0.0.66.js} +1 -1
  57. package/dist/interface/js/vee-validate.Bddoj8yk.0.0.66.js +5 -0
  58. package/dist/interface/js/{vue-chartjs._SToXEZB.0.0.65.js → vue-chartjs.CkT0GYdo.0.0.66.js} +1 -1
  59. package/dist/interface/js/{vue-i18n.Bdweqx4L.0.0.65.js → vue-i18n.BhNKxLwd.0.0.66.js} +1 -1
  60. package/dist/interface/js/{vue-inline-svg.dmm7rA4k.0.0.65.js → vue-inline-svg.CwhJUOPA.0.0.66.js} +1 -1
  61. package/dist/interface/js/{vue-router.BnioVTWI.0.0.65.js → vue-router.BAKcO87W.0.0.66.js} +1 -1
  62. package/dist/interface/js/{vue-zoomable.BYLfof9a.0.0.65.js → vue-zoomable.CLt4yUos.0.0.66.js} +1 -1
  63. package/dist/interface/js/{vue3-dnd.BltUqrfR.0.0.65.js → vue3-dnd.B_HouJ8H.0.0.66.js} +1 -1
  64. package/dist/interface/js/{zoom-out.B7PvyI4N.0.0.65.js → zoom-out.CmUUw9TQ.0.0.66.js} +1 -1
  65. package/dist/interface/sw.js +1 -1
  66. package/dist/server/package.json +14 -14
  67. package/dist/server/requirements.txt +3 -3
  68. package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +5 -0
  69. package/dist/server/src/api/controllers/cameras.controller.js +2 -0
  70. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  71. package/dist/server/src/api/database/index.d.ts +1 -1
  72. package/dist/server/src/api/database/index.js +10 -3
  73. package/dist/server/src/api/database/index.js.map +1 -1
  74. package/dist/server/src/api/database/migration.js +14 -0
  75. package/dist/server/src/api/database/migration.js.map +1 -1
  76. package/dist/server/src/api/schemas/cameras.schema.d.ts +70 -2
  77. package/dist/server/src/api/schemas/cameras.schema.js +16 -2
  78. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  79. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +8 -0
  80. package/dist/server/src/api/schemas/go2rtc.schema.js +1 -0
  81. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
  82. package/dist/server/src/api/services/cameras.service.js +11 -2
  83. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  84. package/dist/server/src/camera/streaming/rtsp-session.js +22 -79
  85. package/dist/server/src/camera/streaming/rtsp-session.js.map +1 -1
  86. package/dist/server/src/decoder/imageUtils.d.ts +0 -1
  87. package/dist/server/src/decoder/imageUtils.js +20 -12
  88. package/dist/server/src/decoder/imageUtils.js.map +1 -1
  89. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1 -0
  90. package/dist/server/src/services/config/types.d.ts +1 -0
  91. package/package.json +14 -14
  92. package/dist/interface/js/Cammesh.C7rHisuG.0.0.65.js +0 -1
  93. package/dist/interface/js/Recordings.QK0SFOP1.0.0.65.js +0 -1
  94. package/dist/interface/js/SettingsAppearance.Ch77J-K9.0.0.65.js +0 -1
  95. package/dist/interface/js/SettingsRecordings.BySo0NsX.0.0.65.js +0 -1
  96. package/dist/interface/js/vee-validate.Ba-stGSk.0.0.65.js +0 -5
  97. /package/dist/interface/assets/{@xterm.DYP7pi_n.0.0.65.css → @xterm.DYP7pi_n.0.0.66.css} +0 -0
  98. /package/dist/interface/assets/{Adminpanel.BKek2EMH.0.0.65.css → Adminpanel.BKek2EMH.0.0.66.css} +0 -0
  99. /package/dist/interface/assets/{Cameras.BDWZJqPN.0.0.65.css → Cameras.BDWZJqPN.0.0.66.css} +0 -0
  100. /package/dist/interface/assets/{Camview.Cvhuou6V.0.0.65.css → Camview.Cvhuou6V.0.0.66.css} +0 -0
  101. /package/dist/interface/assets/{CuiConsole.DCYyxdVg.0.0.65.css → CuiConsole.DCYyxdVg.0.0.66.css} +0 -0
  102. /package/dist/interface/assets/{CuiPluginCard.yF8V0SZY.0.0.65.css → CuiPluginCard.yF8V0SZY.0.0.66.css} +0 -0
  103. /package/dist/interface/assets/{CuiTimeline.BkIwlYtw.0.0.65.css → CuiTimeline.BkIwlYtw.0.0.66.css} +0 -0
  104. /package/dist/interface/assets/{Plugin.DJElsAn5.0.0.65.css → Plugin.DJElsAn5.0.0.66.css} +0 -0
  105. /package/dist/interface/assets/{Plugins.BwPlcRrV.0.0.65.css → Plugins.BwPlcRrV.0.0.66.css} +0 -0
  106. /package/dist/interface/assets/{Settings.CkgfRkQr.0.0.65.css → Settings.CkgfRkQr.0.0.66.css} +0 -0
  107. /package/dist/interface/assets/{SettingsAccount.CDZT7gN-.0.0.65.css → SettingsAccount.CDZT7gN-.0.0.66.css} +0 -0
  108. /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.65.css → SettingsBackup.CX0rT0QJ.0.0.66.css} +0 -0
  109. /package/dist/interface/assets/{highlight.Ch2EwETz.0.0.65.css → highlight.Ch2EwETz.0.0.66.css} +0 -0
  110. /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.65.png → logo-256.BCQk9H1-.0.0.66.png} +0 -0
  111. /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.65.png → logo-512.DLKVOU2S.0.0.66.png} +0 -0
  112. /package/dist/interface/assets/{logo.DmEiRk0z.0.0.65.png → logo.DmEiRk0z.0.0.66.png} +0 -0
  113. /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.65.js → mode-yaml.CIYL8U3d.0.0.66.js} +0 -0
  114. /package/dist/interface/assets/{worker-base.jEXLGV2h.0.0.65.js → worker-base.jEXLGV2h.0.0.66.js} +0 -0
  115. /package/dist/interface/assets/{worker-yaml.B3uUYINB.0.0.65.js → worker-yaml.B3uUYINB.0.0.66.js} +0 -0
  116. /package/dist/interface/js/{@babel.l0sNRNKZ.0.0.65.js → @babel.l0sNRNKZ.0.0.66.js} +0 -0
  117. /package/dist/interface/js/{@intlify.BIbPqCER.0.0.65.js → @intlify.BIbPqCER.0.0.66.js} +0 -0
  118. /package/dist/interface/js/{@kurkle.D8fDXNIl.0.0.65.js → @kurkle.D8fDXNIl.0.0.66.js} +0 -0
  119. /package/dist/interface/js/{@primeuix.bRNqZjQz.0.0.65.js → @primeuix.bRNqZjQz.0.0.66.js} +0 -0
  120. /package/dist/interface/js/{@react-dnd.CcwRs9xb.0.0.65.js → @react-dnd.CcwRs9xb.0.0.66.js} +0 -0
  121. /package/dist/interface/js/{@socket.io.Dkula2eQ.0.0.65.js → @socket.io.Dkula2eQ.0.0.66.js} +0 -0
  122. /package/dist/interface/js/{@vue.BxBKarQv.0.0.65.js → @vue.BxBKarQv.0.0.66.js} +0 -0
  123. /package/dist/interface/js/{@xterm.tD6mXzBA.0.0.65.js → @xterm.CgghSimY.0.0.66.js} +0 -0
  124. /package/dist/interface/js/{birpc.l0sNRNKZ.0.0.65.js → birpc.l0sNRNKZ.0.0.66.js} +0 -0
  125. /package/dist/interface/js/{compare-versions.DqEOhma6.0.0.65.js → compare-versions.DqEOhma6.0.0.66.js} +0 -0
  126. /package/dist/interface/js/{dijkstrajs.C00ieaqj.0.0.65.js → dijkstrajs.C00ieaqj.0.0.66.js} +0 -0
  127. /package/dist/interface/js/{engine.io-parser.BiEtp6m2.0.0.65.js → engine.io-parser.BiEtp6m2.0.0.66.js} +0 -0
  128. /package/dist/interface/js/{entities.C20TfXL6.0.0.65.js → entities.C20TfXL6.0.0.66.js} +0 -0
  129. /package/dist/interface/js/{ev-emitter.X5f1qa-c.0.0.65.js → ev-emitter.X5f1qa-c.0.0.66.js} +0 -0
  130. /package/dist/interface/js/{get-size.D1dS-IaP.0.0.65.js → get-size.D1dS-IaP.0.0.66.js} +0 -0
  131. /package/dist/interface/js/{hookable.l0sNRNKZ.0.0.65.js → hookable.l0sNRNKZ.0.0.66.js} +0 -0
  132. /package/dist/interface/js/{mdurl.k9Sl0PQj.0.0.65.js → mdurl.k9Sl0PQj.0.0.66.js} +0 -0
  133. /package/dist/interface/js/{perfect-debounce.l0sNRNKZ.0.0.65.js → perfect-debounce.l0sNRNKZ.0.0.66.js} +0 -0
  134. /package/dist/interface/js/{primelocale.Bga3dOQu.0.0.65.js → primelocale.Bga3dOQu.0.0.66.js} +0 -0
  135. /package/dist/interface/js/{punycode.js.Dj65hjkv.0.0.65.js → punycode.js.Dj65hjkv.0.0.66.js} +0 -0
  136. /package/dist/interface/js/{react-dnd-html5-backend.1HQjlkwI.0.0.65.js → react-dnd-html5-backend.1HQjlkwI.0.0.66.js} +0 -0
  137. /package/dist/interface/js/{redux.BFxtlG_c.0.0.65.js → redux.BFxtlG_c.0.0.66.js} +0 -0
  138. /package/dist/interface/js/{tslib.9k7AwCpt.0.0.65.js → tslib.9k7AwCpt.0.0.66.js} +0 -0
  139. /package/dist/interface/js/{uc.micro.kMc2yuuw.0.0.65.js → uc.micro.kMc2yuuw.0.0.66.js} +0 -0
  140. /package/dist/interface/js/{uuid.C6aID195.0.0.65.js → uuid.C6aID195.0.0.66.js} +0 -0
  141. /package/dist/interface/js/{vue.l0sNRNKZ.0.0.65.js → vue.l0sNRNKZ.0.0.66.js} +0 -0
  142. /package/dist/interface/js/{zod.2bfLsWMZ.0.0.65.js → zod.2bfLsWMZ.0.0.66.js} +0 -0
@@ -1 +1 @@
1
- var Ye=Object.defineProperty;var Je=(o,i,l)=>i in o?Ye(o,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[i]=l;var J=(o,i,l)=>Je(o,typeof i!="symbol"?i+"":i,l);import{r as Xe,M as Ze,c as et,h as tt,k as st,b as at,N as rt,a as ot}from"./primevue.NVdW9OqK.0.0.65.js";import{C as nt,a as it,L as ct,b as lt,p as ut}from"./chart.js.COWP81wl.0.0.65.js";import{B as pt}from"./vue-chartjs._SToXEZB.0.0.65.js";import{B as ne,t as de,k as L,c as w,M as X,h as r,d,I as x,W as ge,R as O,N as G,X as mt,Z as ft,O as te,m as K,L as dt,e as v,Q as gt,F as ve,r as p,z as me,w as se,ad as vt,a7 as yt}from"./@vue.BxBKarQv.0.0.65.js";import{z as _t,ak as ht,c as kt,a2 as ye,f as wt,u as bt,h as Pt,al as Nt,a3 as Ct,aj as u}from"./main.DteM3Tyw.0.0.65.js";import{s as _e}from"./pinia.B3xyHOOv.0.0.65.js";import{u as St,a as xt,b as Rt}from"./@tanstack.BlGunTa7.0.0.65.js";import{u as he}from"./vue-i18n.Bdweqx4L.0.0.65.js";import{S as Ot}from"./system.Ch6phD20.0.0.65.js";import"./@primeuix.bRNqZjQz.0.0.65.js";import"./@primevue.nr37tGdz.0.0.65.js";import"./@kurkle.D8fDXNIl.0.0.65.js";import"./@vueuse.CT4ArM_v.0.0.65.js";import"./nprogress.Y-YIR5w8.0.0.65.js";import"./@xterm.tD6mXzBA.0.0.65.js";import"./axios.DHr9lByg.0.0.65.js";import"./vue-router.BnioVTWI.0.0.65.js";import"./vue-inline-svg.dmm7rA4k.0.0.65.js";import"./vee-validate.Ba-stGSk.0.0.65.js";import"./@vee-validate.CM3rjqgU.0.0.65.js";import"./zod.2bfLsWMZ.0.0.65.js";import"./uuid.C6aID195.0.0.65.js";import"./socket.io-client.Bd1Z4yya.0.0.65.js";import"./engine.io-client.Bwq6EbBZ.0.0.65.js";import"./engine.io-parser.BiEtp6m2.0.0.65.js";import"./@socket.io.Dkula2eQ.0.0.65.js";import"./socket.io-parser.Brq8Mynw.0.0.65.js";import"./rxjs.CUmmYmXR.0.0.65.js";import"./tslib.9k7AwCpt.0.0.65.js";import"./highlight.js.BJ--bJsY.0.0.65.js";import"./markdown-it.CC2C4XG8.0.0.65.js";import"./mdurl.k9Sl0PQj.0.0.65.js";import"./uc.micro.kMc2yuuw.0.0.65.js";import"./entities.C20TfXL6.0.0.65.js";import"./linkify-it.BgSGKsum.0.0.65.js";import"./punycode.js.Dj65hjkv.0.0.65.js";import"./qrcode.BsXR3CD9.0.0.65.js";import"./dijkstrajs.C00ieaqj.0.0.65.js";import"./draggabilly.jXME3Xl7.0.0.65.js";import"./get-size.D1dS-IaP.0.0.65.js";import"./unidragger.BlS0U2Yu.0.0.65.js";import"./ev-emitter.X5f1qa-c.0.0.65.js";import"./vue-zoomable.BYLfof9a.0.0.65.js";import"./primelocale.Bga3dOQu.0.0.65.js";import"./@intlify.BIbPqCER.0.0.65.js";function Wt(o){const l=o.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),N=decodeURIComponent(atob(l).split("").map(b=>"%"+("00"+b.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(N)}var f=(o=>(o.READY="ready",o.RESTARTING="restarting",o.STARTING="starting",o.STARTED="started",o.STOPPED="stopped",o.ERROR="error",o.UNKNOWN="unknown",o))(f||{});const $t={key:0,class:"text-muted"},Dt=ne({__name:"ChartWrapper",props:{data:{},options:{},width:{default:200},height:{default:25}},setup(o){nt.register(it,ct,lt,ut);const i=o,{data:l,options:N,width:b,height:c}=de(i),j=L(()=>{var F;return((F=l.value.datasets)==null?void 0:F[0].data)??[]});return(F,Q)=>r(j).length?(d(),X(r(pt),{key:1,data:r(l),options:r(N),height:r(c),width:r(b),style:ge({maxWidth:`${r(b)}px`,minWidth:`${r(b)}px`,minHeight:`${r(c)}px`,maxHeight:`${r(c)}px`})},null,8,["data","options","height","width","style"])):(d(),w("span",$t,x(F.$t("components.charts.no_data")),1))}}),Tt=_t(Dt,[["__scopeId","data-v-c8f94fe9"]]),At=o=>o.type==="category",Lt=o=>o.type==="action",ke=o=>o.type==="chart",Ft=o=>o.type==="indicator",Et={key:0},It={key:1},Qt={key:0},Bt=ne({__name:"CuiChartTable",props:{headers:{},items:{},loading:{type:Boolean},paginator:{type:Boolean},totalRecords:{},rows:{default:5},pagination:{},chartData:{}},emits:["update:page"],setup(o,{emit:i}){const l=ht(),N=i,b=o,{theme:c}=_e(l),{headers:j,items:F,loading:Q,chartData:C,paginator:z,pagination:g,totalRecords:h}=de(b),U={bodyRow:{class:"text-sm text-secondary"},column:{columnTitle:{class:"text-sm"}}},ae=L(()=>{var W,$;const E=((W=g.value)==null?void 0:W.pageSize)??5;return((($=g.value)==null?void 0:$.page)??1)*(E-1)}),re=(E,S)=>{var D,T,A,_;const W=`${S.name}_${E.for}`,$=((_=(A=(T=(D=C.value)==null?void 0:D[W])==null?void 0:T.datasets)==null?void 0:A[0])==null?void 0:_.data)??[],q=Math.max(...$.map(R=>Number(R)||0)),y=Math.ceil(q/10)*10;return{animation:!1,plugins:{legend:{display:!1},tooltip:{enabled:!0,mode:"point",intersect:!1,backgroundColor:c.value==="dark"?"#2e2e2e":"#f1f5f9",titleColor:c.value==="dark"?"#ffffff":"#000000",bodyColor:c.value==="dark"?"#ffffff":"#000000",displayColors:!1,padding:8,callbacks:{title:R=>{const a=R[0].label;if(a&&!isNaN(Number(a))){const I=new Date(Number(a)).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),m=R[0].raw;return[`${I}`,`${m.toFixed(2)}%`].join(" - ")}return""}}}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,min:0,max:y||100,grid:{display:!1}}}}};return(E,S)=>{const W=ot,$=tt,q=st,y=Tt,D=at,T=rt,A=Ze,_=Xe,R=et;return d(),w("div",null,[O(_,{class:"cui-card"},{content:G(()=>[O(A,{lazy:"",value:r(F),loading:r(Q),paginator:r(z),"total-records":r(h),first:r(ae),pt:U,rows:E.rows,"striped-row":"",scrollable:"","paginator-template":"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink",onPage:S[0]||(S[0]=a=>N("update:page",a))},{loading:G(()=>[O(W,{class:"w-[30px] h-[30px]","stroke-width":"5"})]),default:G(()=>[(d(!0),w(mt,null,ft(r(j),(a,I)=>(d(),X(T,K({key:I,field:a.field,header:a.name},{ref_for:!0},a.columnProps,{"header-class":"p-2 h-7 min-h-7 max-h-7",class:"p-2 h-7 min-h-7 max-h-7"}),{body:G(({data:m})=>{var k,H,V,M;return[r(Ft)(a)?(d(),w("div",K({key:0,ref_for:!0},a.props),[dt(O($,{style:ge({background:((k=a.color)==null?void 0:k.call(a,m))??"gray"})},null,8,["style"]),[[R,{value:(H=a.tooltip)==null?void 0:H.call(a,m)}]])],16)):r(At)(a)?(d(),w("div",K({key:1,ref_for:!0},a.props),[a.asChip?(d(),X(q,K({key:0,ref_for:!0},a.chipProps),{default:G(()=>[v("span",null,x(a.altName?a.altName:typeof a.field=="string"?m[a.field]:a.field(m)),1),a.suffix?(d(),w("span",Et,x(a.suffix),1)):te("",!0)]),_:2},1040)):(d(),w("span",It,[v("span",null,x(a.altName?a.altName:typeof a.field=="string"?m[a.field]:a.field(m)),1),a.suffix?(d(),w("span",Qt,x(a.suffix),1)):te("",!0)]))],16)):r(ke)(a)&&r(C)&&r(C)[`${m.name}_${a.for}`]?(d(),w("div",K({key:2,ref_for:!0},a.props),[O(y,{data:r(C)[`${m.name}_${a.for}`],options:re(a,m),height:25},null,8,["data","options"])],16)):r(Lt)(a)?(d(),w("div",K({key:3,ref_for:!0},a.props),[(V=a.disabled)!=null&&V.call(a,m)?te("",!0):(d(),X(D,K({key:0,rounded:"",loading:(M=a.loading)==null?void 0:M.call(a,m)},{ref_for:!0},a.buttonProps,{class:"text-white cui-icon-md",onClick:ie=>a.action(m)}),{icon:G(()=>[(d(),X(gt(a.icon)))]),_:2},1040,["loading","onClick"]))],16)):te("",!0)]}),_:2},1040,["field","header"]))),128))]),_:1},8,["value","loading","paginator","total-records","first","rows"])]),_:1})])}}}),Kt={viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em"};function jt(o,i){return d(),w("svg",Kt,i[0]||(i[0]=[v("path",{fill:"currentColor",d:"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8c-7 8.5-14.5 16.7-22.4 24.5a353.8 353.8 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.8 353.8 0 0 1-112.7-75.9a353.3 353.3 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8s94.3 9.3 137.9 27.8c42.2 17.8 80.1 43.4 112.7 75.9c7.9 7.9 15.3 16.1 22.4 24.5c3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82C271.7 82.6 79.6 277.1 82 516.4C84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7c3.4-5.3-.4-12.3-6.7-12.3m88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6"},null,-1)]))}const zt=ve({name:"ant-design-logout-outlined",render:jt}),qt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Gt(o,i){return d(),w("svg",qt,i[0]||(i[0]=[v("path",{fill:"currentColor",d:"M12 5V3.21c0-.45-.54-.67-.85-.35l-2.8 2.79c-.2.2-.2.51 0 .71l2.79 2.79c.32.31.86.09.86-.36V7c3.31 0 6 2.69 6 6c0 2.72-1.83 5.02-4.31 5.75c-.42.12-.69.52-.69.95c0 .65.62 1.16 1.25.97A7.99 7.99 0 0 0 20 13c0-4.42-3.58-8-8-8m-6 8c0-1.34.44-2.58 1.19-3.59c.3-.4.26-.95-.09-1.31c-.42-.42-1.14-.38-1.5.1a7.99 7.99 0 0 0 4.15 12.47c.63.19 1.25-.32 1.25-.97c0-.43-.27-.83-.69-.95C7.83 18.02 6 15.72 6 13"},null,-1)]))}const Ut=ve({name:"ic-round-restart-alt",render:Gt}),Ht=async({parameter:o,signal:i})=>(await ye.get("/frameworkers",{params:o,signal:i})).data,Vt=async({frameWorkerName:o})=>(await ye.put(`/frameworkers/${o}/restart`)).data;class Mt{constructor(){J(this,"_queryClient",St());J(this,"t",he().t);J(this,"toast",kt());J(this,"queryActivator",p([{name:"getFrameWorkersQuery",enabled:!0}]))}get queryClient(){return this._queryClient}getFrameWorkersQuery(i){return xt({queryKey:["frameWorkerList",i],queryFn:({signal:l})=>Ht({parameter:r(i),signal:l}),placeholderData:l=>l,enabled:()=>this.queryActivator.value.some(l=>l.name==="getFrameWorkersQuery"&&l.enabled)})}restartFrameWorkerQuery(){return Rt({mutationFn:Vt,onSuccess:async(i,l)=>{await this._queryClient.refetchQueries({queryKey:["frameWorkers",l.frameWorkerName]}),this.toast.add({severity:"success",summary:this.t("components.toast.title_success"),detail:this.t("components.toast.frame_worker_restarted"),life:3e3})}})}toggleQueryActivator(i,l){const N=this.queryActivator.value.find(b=>b.name===i);N&&(N.enabled=l)}}const Yt={class:"page-title"},Jt={class:"flex flex-col gap-6"},Xt={class:"card-title"},Zt={class:"card-title"},es={class:"card-title"},ts={class:"card-title"},ss={class:"card-title"},fe=30,Ms=ne({__name:"Adminpanel",setup(o){const i=new Nt,l=new Ct,N=new Mt,b=new Ot,{t:c}=he(),j=wt(),F=bt(),{mdBreakpoint:Q}=Pt(),C={pid:-1,cpuLoad:"0.00",memLoad:"0.00",timestamp:0},{accessToken:z}=_e(F),g=me(),h=me(),U=p({pageSize:5,page:1}),ae=p({pageSize:5,page:1}),re=p({pageSize:5,page:1}),E=p([{name:"system",type:"system",...C}]),S=p([]),W=p(f.UNKNOWN),$=p(f.UNKNOWN),q=p(f.UNKNOWN),y=p({"camera.ui":[],go2rtc:[],nats:[]}),D=p({"camera.ui":{name:"camera.ui",type:"core",...C},go2rtc:{name:"go2rtc",type:"core",...C},nats:{name:"nats",type:"core",...C}}),T=p({}),A=p([]),_=p({}),R=p({}),a=p({}),I=p([]),m=p({}),k=p({}),{data:H,isFetching:V}=i.listQuery(U),{data:M,isFetching:ie,suspense:we}=l.getPluginsQuery(re),{data:be,isFetching:Pe,suspense:Ne}=N.getFrameWorkersQuery(ae),{mutate:Ce,isPending:Se}=i.logoutTokenQuery(),{mutate:xe}=l.restartPluginQuery(),{mutate:Re}=N.restartFrameWorkerQuery(),{mutate:Oe,isPending:We}=b.restartGo2RtcQuery(),{mutate:$e,isPending:De}=b.restartServerQuery(),Te=L(()=>[{type:"indicator",field:"status",columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-5 max-w-5",class:"w-5 max-w-5"},color(e){return e.encoded.access_token===z.value?"var(--primary-500)":"transparent"},tooltip(e){if(e.encoded.access_token===z.value)return c("components.user_table.you")}},{type:"category",field:e=>e.decoded.username,name:c("components.user_table.title_username"),columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-40 min-w-40 max-w-40",class:"w-40 min-w-40 max-w-40"},props:{class:"font-bold text-color"}},{type:"category",field:e=>{var t;return((t=e.clientData)==null?void 0:t.address)??""},name:c("components.user_table.title_address"),columnProps:{headerClass:"min-w-30",class:"min-w-30"}},{type:"category",field:e=>{var t;return((t=e.clientData)==null?void 0:t.device)??""},name:c("components.user_table.title_device"),columnProps:{headerClass:"min-w-40",class:"min-w-40"}},{type:"action",field:"logout",icon:zt,columnProps:{class:"text-right"},loading(){return!!(Se.value||V.value)},disabled(){return!1},action(e){Ce({id:e.encoded._id,access_token:e.encoded.access_token})}}]),Ae=L(()=>{var e;return(e=H.value)==null?void 0:e.result.map(t=>({encoded:t.token,decoded:Wt(t.token.access_token),clientData:t.clientData})).sort((t,s)=>t.encoded.access_token===z.value?-1:s.encoded.access_token===z.value?1:0)}),Y=L(()=>e=>{let t=[{type:"indicator",field:"status",columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-5 max-w-5",class:"w-5 max-w-5"},color(s){return Ie(ce(e,s.name))},tooltip(s){return Qe(ce(e,s.name))}},{type:"category",field:"name",altName:e==="system"?c("components.process_table.system"):void 0,name:c("components.process_table.title_name"),columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-40 min-w-40 max-w-40",class:"w-40 min-w-40 max-w-40"},props:{class:"font-bold text-color"}},{type:"category",field:"pid",name:c("components.process_table.title_pid"),columnProps:{headerClass:"min-w-20",class:"min-w-20"}},{type:"category",field:"cpuLoad",suffix:"%",name:c("components.process_table.title_cpu"),asChip:!0,columnProps:{headerClass:"min-w-30",class:"min-w-30"}},{type:"chart",field:"cpu_chart",for:"cpuLoad",columnProps:{headerClass:"min-w-[250px]",class:"min-w-[250px]"}},{type:"category",field:"memLoad",suffix:"%",name:c("components.process_table.title_memory"),asChip:!0,columnProps:{headerClass:"min-w-30",class:"min-w-30"}},{type:"chart",field:"memory_chart",for:"memLoad",columnProps:{headerClass:"min-w-[250px]",class:"min-w-[250px]"}},{type:"action",field:"restart",icon:Ut,columnProps:{class:"text-right"},loading(s){return e==="core"?s.name==="camera.ui"?De.value:We.value:e==="frameworker"?Fe.value(s.name):e==="plugins"?Le.value(s.name):!1},disabled(s){return s.name==="nats"},action(s){s.type==="core"&&Be(s.name),s.type==="frameworker"&&Ke(s.name),s.type==="plugin"&&je(s.name)}}];return e==="system"&&(t=t.filter(s=>s.field!=="pid"&&s.field!=="restart"&&s.field!=="status")),t}),Z=L(()=>e=>{switch(e){case"system":return E.value;case"core":return Object.values(D.value).filter(Boolean);case"frameworker":return Object.values(R.value).filter(Boolean);case"plugins":return Object.values(m.value).filter(t=>{var n;const s=(n=M.value)==null?void 0:n.result.find(P=>P.pluginName===t.name);return s&&!s.disabled}).filter(Boolean);default:return[]}}),ee=L(()=>e=>{let t={};switch(e){case"system":t={system:S.value};break;case"core":t=y.value;break;case"frameworker":t=_.value;break;case"plugins":t=k.value;break}return Object.keys(t).reduce((s,n)=>(Y.value(e).filter(ke).forEach(He=>{const oe=He.for,le=t[n].slice(-30).filter(B=>B[oe]!==void 0).map(B=>parseFloat(B[oe])),ue=t[n].slice(-30).map(B=>B.timestamp),Ve=[...le,...Array(fe-le.length).fill(0)],Me=[...ue,...Array(fe-ue.length).fill(null)];s[`${n}_${oe}`]={labels:Me,datasets:[{data:Ve,backgroundColor:B=>{const pe=B.raw;return pe>=90?"#FA5252":pe>=50?"#FF9966":"#df2a4c"},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}),s),{})}),Le=L(()=>e=>I.value.includes(e)),Fe=L(()=>e=>A.value.includes(e));se(_,e=>{for(const[t,s]of Object.entries(e))R.value[t]=s[s.length-1]??{...C,name:t,type:"frameworker"}},{deep:!0,immediate:!0}),se(k,e=>{for(const[t,s]of Object.entries(e))m.value[t]=s[s.length-1]??{...C,name:t,type:"plugin"}},{deep:!0,immediate:!0}),se(be,e=>{if(e)for(const t of e.result)_.value[t.name]||(_.value[t.name]=[]),T.value[t.name]||(T.value[t.name]={name:t.name,status:u.UNKNOWN})},{deep:!0,immediate:!0}),se(M,e=>{if(e)for(const t of e.result)t.disabled||(k.value[t.pluginName]||(k.value[t.pluginName]=[]),a.value[t.pluginName]||(a.value[t.pluginName]={name:t.pluginName,status:u.UNKNOWN}))},{deep:!0,immediate:!0});const Ee=(e,t)=>{const s=e.page+1;U.value.page=s},ce=(e,t)=>{var s,n;if(e==="core")switch(t){case"camera.ui":return W.value;case"go2rtc":return $.value;case"nats":return q.value;default:return f.UNKNOWN}else{if(e==="frameworker")return((s=T.value[t])==null?void 0:s.status)??u.UNKNOWN;if(e==="plugins")return((n=a.value[t])==null?void 0:n.status)??u.UNKNOWN}return f.UNKNOWN},Ie=e=>{switch(e){case u.ERROR:case f.ERROR:return"#9d5752";case f.STOPPED:case u.STOPPED:case u.STOPPING:return"red";case u.READY:case f.READY:return"yellow";case u.STARTING:case f.STARTING:return"orange";case u.STARTED:case f.STARTED:return"green";case u.UNKNOWN:case u.DISABLED:case f.UNKNOWN:return"gray";default:return"gray"}},Qe=e=>{switch(e){case u.ERROR:case f.ERROR:return c("components.process_table.status_error");case u.STOPPED:case f.STOPPED:return c("components.process_table.status_stopped");case u.STOPPING:return c("components.process_table.status_stopping");case u.READY:case f.READY:return c("components.process_table.status_ready");case u.STARTING:case f.STARTING:return c("components.process_table.status_starting");case u.STARTED:case f.STARTED:return c("components.process_table.status_started");case u.DISABLED:return c("components.process_table.status_disabled");case u.UNKNOWN:case f.UNKNOWN:return c("components.process_table.status_unknown");default:return c("components.process_table.status_unknown")}},Be=async e=>{e==="camera.ui"?$e():e==="go2rtc"&&Oe()},Ke=async e=>{A.value.push(e),Re({frameWorkerName:e},{onSettled(){A.value=A.value.filter(t=>t!==e)}})},je=async e=>{I.value.push(e),xe({pluginName:e},{onSettled(){I.value=I.value.filter(t=>t!==e)}})},ze=()=>{!g.value||!h.value||(g.value.request("get-system-info").subscribe(e=>{S.value=e}),g.value.socket.on("system-infos-realtime",e=>{E.value=[e]}),g.value.socket.on("system-infos",e=>{e.name=c("components.process_table.system"),S.value.push(e),S.value=S.value.slice(-30)}))},qe=()=>{!g.value||!h.value||(h.value.socket.emit("get-process-status"),h.value.socket.on("process-status",e=>{e["camera.ui"]&&(W.value=e["camera.ui"].status),e.go2rtc&&($.value=e.go2rtc.status),e.nats&&(q.value=e.nats.status)}),g.value.request("get-server-process-info").subscribe(e=>{y.value=e}))},Ge=()=>{!g.value||!h.value||(h.value.socket.emit("get-frameworker-process-status"),h.value.socket.on("frameworker-process-status",e=>{for(const[t,s]of Object.entries(e))T.value[t]=s}),g.value.request("get-frameworker-process-info").subscribe(e=>{_.value=e}))},Ue=()=>{!g.value||!h.value||(h.value.socket.emit("get-plugin-process-status"),h.value.socket.on("plugin-process-status",e=>{for(const[t,s]of Object.entries(e))a.value[t]=s}),g.value.request("get-plugins-process-info").subscribe(e=>{k.value=e}))};return vt(async()=>{g.value=j.connectToNamespace("/metrics"),h.value=j.connectToNamespace("/status"),await Promise.all([we(),Ne()]),await new Promise(e=>setTimeout(e,10)),ze(),qe(),Ge(),Ue(),g.value.socket.on("process-infos-realtime",e=>{e["camera.ui"]&&(D.value["camera.ui"]=e["camera.ui"]),e.go2rtc&&(D.value.go2rtc=e.go2rtc),e.nats&&(D.value.nats=e.nats);const t=e.workers||{};Object.entries(t).forEach(([n,P])=>{R.value[n]=P});const s=e.plugins||{};Object.entries(s).forEach(([n,P])=>{m.value[n]=P})}),g.value.socket.on("process-infos",e=>{e["camera.ui"]&&(y.value["camera.ui"].push(e["camera.ui"]),y.value["camera.ui"]=y.value["camera.ui"].slice(-30)),e.go2rtc&&(y.value.go2rtc.push(e.go2rtc),y.value.go2rtc=y.value.go2rtc.slice(-30)),e.nats&&(y.value.nats.push(e.nats),y.value.nats=y.value.nats.slice(-30));const t=e.workers||{};Object.entries(t).forEach(([n,P])=>{_.value[n]||(_.value[n]=[]),_.value[n].push(P),_.value[n]=_.value[n].slice(-30)});const s=e.plugins||{};Object.entries(s).forEach(([n,P])=>{k.value[n]||(k.value[n]=[]),k.value[n].push(P),k.value[n]=k.value[n].slice(-30)})})}),yt(()=>{var e,t,s,n;(t=(e=g.value)==null?void 0:e.end)==null||t.call(e),(n=(s=h.value)==null?void 0:s.end)==null||n.call(s)}),(e,t)=>{var n;const s=Bt;return d(),w("div",null,[v("h1",Yt,x(e.$t(`views.${String(e.$route.name).toLowerCase()}.title`)),1),v("div",Jt,[v("div",null,[v("span",Xt,x(e.$t("views.adminpanel.general")),1),O(s,{items:r(Z)("system"),headers:r(Y)("system"),"chart-data":r(ee)("system")},null,8,["items","headers","chart-data"])]),v("div",null,[v("span",Zt,x(e.$t("views.adminpanel.core")),1),O(s,{items:r(Z)("core"),headers:r(Y)("core"),"chart-data":r(ee)("core")},null,8,["items","headers","chart-data"])]),v("div",null,[v("span",es,x(e.$t("views.adminpanel.frameworker")),1),O(s,{items:r(Z)("frameworker"),headers:r(Y)("frameworker"),"chart-data":r(ee)("frameworker"),loading:r(Pe)},null,8,["items","headers","chart-data","loading"])]),v("div",null,[v("span",ts,x(e.$t("views.adminpanel.plugins")),1),O(s,{items:r(Z)("plugins"),headers:r(Y)("plugins"),"chart-data":r(ee)("plugins"),loading:r(ie)},null,8,["items","headers","chart-data","loading"])]),v("div",null,[v("span",ss,x(e.$t("views.adminpanel.logged_in_users")),1),O(s,{items:r(Ae),headers:r(Te),loading:r(V),paginator:"",pagination:r(U),"total-records":(n=r(H))==null?void 0:n.pagination.totalItems,"onUpdate:page":t[0]||(t[0]=P=>Ee(P))},null,8,["items","headers","loading","pagination","total-records"])])])])}}});export{Ms as default};
1
+ var Ye=Object.defineProperty;var Je=(o,i,l)=>i in o?Ye(o,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[i]=l;var J=(o,i,l)=>Je(o,typeof i!="symbol"?i+"":i,l);import{r as Xe,M as Ze,c as et,h as tt,k as st,b as at,N as rt,a as ot}from"./primevue.u0cWw2OL.0.0.66.js";import{C as nt,a as it,L as ct,b as lt,p as ut}from"./chart.js.CtSefmh4.0.0.66.js";import{B as pt}from"./vue-chartjs.CkT0GYdo.0.0.66.js";import{B as ne,t as de,k as L,c as w,M as X,h as r,d,I as x,W as ge,R as O,N as G,X as mt,Z as ft,O as te,m as K,L as dt,e as v,Q as gt,F as ve,r as p,z as me,w as se,ad as vt,a7 as yt}from"./@vue.BxBKarQv.0.0.66.js";import{z as _t,ak as ht,c as kt,a2 as ye,f as wt,u as bt,h as Pt,al as Nt,a3 as Ct,aj as u}from"./main.B_fPrbq1.0.0.66.js";import{s as _e}from"./pinia.GUa2jGH4.0.0.66.js";import{u as St,a as xt,b as Rt}from"./@tanstack.Cg5p0suW.0.0.66.js";import{u as he}from"./vue-i18n.BhNKxLwd.0.0.66.js";import{S as Ot}from"./system.c1hfHVs5.0.0.66.js";import"./@primeuix.bRNqZjQz.0.0.66.js";import"./@primevue.CSqVWdSI.0.0.66.js";import"./@kurkle.D8fDXNIl.0.0.66.js";import"./@vueuse.LiqCsnkh.0.0.66.js";import"./nprogress.BE8Ud4fe.0.0.66.js";import"./@xterm.CgghSimY.0.0.66.js";import"./axios.lj9VQs0f.0.0.66.js";import"./vue-router.BAKcO87W.0.0.66.js";import"./vue-inline-svg.CwhJUOPA.0.0.66.js";import"./vee-validate.Bddoj8yk.0.0.66.js";import"./@vee-validate.DYnt12GD.0.0.66.js";import"./zod.2bfLsWMZ.0.0.66.js";import"./uuid.C6aID195.0.0.66.js";import"./socket.io-client.Bsb7RiMX.0.0.66.js";import"./engine.io-client.BW_Hz_BW.0.0.66.js";import"./engine.io-parser.BiEtp6m2.0.0.66.js";import"./@socket.io.Dkula2eQ.0.0.66.js";import"./socket.io-parser.B4i48Hhv.0.0.66.js";import"./rxjs.BFmW76gn.0.0.66.js";import"./tslib.9k7AwCpt.0.0.66.js";import"./highlight.js.BzmrmBdP.0.0.66.js";import"./markdown-it.BFhvgE87.0.0.66.js";import"./mdurl.k9Sl0PQj.0.0.66.js";import"./uc.micro.kMc2yuuw.0.0.66.js";import"./entities.C20TfXL6.0.0.66.js";import"./linkify-it.BufRIWo8.0.0.66.js";import"./punycode.js.Dj65hjkv.0.0.66.js";import"./qrcode.drIiNiGs.0.0.66.js";import"./dijkstrajs.C00ieaqj.0.0.66.js";import"./draggabilly.ChLscxJD.0.0.66.js";import"./get-size.D1dS-IaP.0.0.66.js";import"./unidragger.Bo5rY1ZU.0.0.66.js";import"./ev-emitter.X5f1qa-c.0.0.66.js";import"./vue-zoomable.CLt4yUos.0.0.66.js";import"./primelocale.Bga3dOQu.0.0.66.js";import"./@intlify.BIbPqCER.0.0.66.js";function Wt(o){const l=o.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),N=decodeURIComponent(atob(l).split("").map(b=>"%"+("00"+b.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(N)}var f=(o=>(o.READY="ready",o.RESTARTING="restarting",o.STARTING="starting",o.STARTED="started",o.STOPPED="stopped",o.ERROR="error",o.UNKNOWN="unknown",o))(f||{});const $t={key:0,class:"text-muted"},Dt=ne({__name:"ChartWrapper",props:{data:{},options:{},width:{default:200},height:{default:25}},setup(o){nt.register(it,ct,lt,ut);const i=o,{data:l,options:N,width:b,height:c}=de(i),j=L(()=>{var F;return((F=l.value.datasets)==null?void 0:F[0].data)??[]});return(F,Q)=>r(j).length?(d(),X(r(pt),{key:1,data:r(l),options:r(N),height:r(c),width:r(b),style:ge({maxWidth:`${r(b)}px`,minWidth:`${r(b)}px`,minHeight:`${r(c)}px`,maxHeight:`${r(c)}px`})},null,8,["data","options","height","width","style"])):(d(),w("span",$t,x(F.$t("components.charts.no_data")),1))}}),Tt=_t(Dt,[["__scopeId","data-v-c8f94fe9"]]),At=o=>o.type==="category",Lt=o=>o.type==="action",ke=o=>o.type==="chart",Ft=o=>o.type==="indicator",Et={key:0},It={key:1},Qt={key:0},Bt=ne({__name:"CuiChartTable",props:{headers:{},items:{},loading:{type:Boolean},paginator:{type:Boolean},totalRecords:{},rows:{default:5},pagination:{},chartData:{}},emits:["update:page"],setup(o,{emit:i}){const l=ht(),N=i,b=o,{theme:c}=_e(l),{headers:j,items:F,loading:Q,chartData:C,paginator:z,pagination:g,totalRecords:h}=de(b),U={bodyRow:{class:"text-sm text-secondary"},column:{columnTitle:{class:"text-sm"}}},ae=L(()=>{var W,$;const E=((W=g.value)==null?void 0:W.pageSize)??5;return((($=g.value)==null?void 0:$.page)??1)*(E-1)}),re=(E,S)=>{var D,T,A,_;const W=`${S.name}_${E.for}`,$=((_=(A=(T=(D=C.value)==null?void 0:D[W])==null?void 0:T.datasets)==null?void 0:A[0])==null?void 0:_.data)??[],q=Math.max(...$.map(R=>Number(R)||0)),y=Math.ceil(q/10)*10;return{animation:!1,plugins:{legend:{display:!1},tooltip:{enabled:!0,mode:"point",intersect:!1,backgroundColor:c.value==="dark"?"#2e2e2e":"#f1f5f9",titleColor:c.value==="dark"?"#ffffff":"#000000",bodyColor:c.value==="dark"?"#ffffff":"#000000",displayColors:!1,padding:8,callbacks:{title:R=>{const a=R[0].label;if(a&&!isNaN(Number(a))){const I=new Date(Number(a)).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),m=R[0].raw;return[`${I}`,`${m.toFixed(2)}%`].join(" - ")}return""}}}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,min:0,max:y||100,grid:{display:!1}}}}};return(E,S)=>{const W=ot,$=tt,q=st,y=Tt,D=at,T=rt,A=Ze,_=Xe,R=et;return d(),w("div",null,[O(_,{class:"cui-card"},{content:G(()=>[O(A,{lazy:"",value:r(F),loading:r(Q),paginator:r(z),"total-records":r(h),first:r(ae),pt:U,rows:E.rows,"striped-row":"",scrollable:"","paginator-template":"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink",onPage:S[0]||(S[0]=a=>N("update:page",a))},{loading:G(()=>[O(W,{class:"w-[30px] h-[30px]","stroke-width":"5"})]),default:G(()=>[(d(!0),w(mt,null,ft(r(j),(a,I)=>(d(),X(T,K({key:I,field:a.field,header:a.name},{ref_for:!0},a.columnProps,{"header-class":"p-2 h-7 min-h-7 max-h-7",class:"p-2 h-7 min-h-7 max-h-7"}),{body:G(({data:m})=>{var k,H,V,M;return[r(Ft)(a)?(d(),w("div",K({key:0,ref_for:!0},a.props),[dt(O($,{style:ge({background:((k=a.color)==null?void 0:k.call(a,m))??"gray"})},null,8,["style"]),[[R,{value:(H=a.tooltip)==null?void 0:H.call(a,m)}]])],16)):r(At)(a)?(d(),w("div",K({key:1,ref_for:!0},a.props),[a.asChip?(d(),X(q,K({key:0,ref_for:!0},a.chipProps),{default:G(()=>[v("span",null,x(a.altName?a.altName:typeof a.field=="string"?m[a.field]:a.field(m)),1),a.suffix?(d(),w("span",Et,x(a.suffix),1)):te("",!0)]),_:2},1040)):(d(),w("span",It,[v("span",null,x(a.altName?a.altName:typeof a.field=="string"?m[a.field]:a.field(m)),1),a.suffix?(d(),w("span",Qt,x(a.suffix),1)):te("",!0)]))],16)):r(ke)(a)&&r(C)&&r(C)[`${m.name}_${a.for}`]?(d(),w("div",K({key:2,ref_for:!0},a.props),[O(y,{data:r(C)[`${m.name}_${a.for}`],options:re(a,m),height:25},null,8,["data","options"])],16)):r(Lt)(a)?(d(),w("div",K({key:3,ref_for:!0},a.props),[(V=a.disabled)!=null&&V.call(a,m)?te("",!0):(d(),X(D,K({key:0,rounded:"",loading:(M=a.loading)==null?void 0:M.call(a,m)},{ref_for:!0},a.buttonProps,{class:"text-white cui-icon-md",onClick:ie=>a.action(m)}),{icon:G(()=>[(d(),X(gt(a.icon)))]),_:2},1040,["loading","onClick"]))],16)):te("",!0)]}),_:2},1040,["field","header"]))),128))]),_:1},8,["value","loading","paginator","total-records","first","rows"])]),_:1})])}}}),Kt={viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em"};function jt(o,i){return d(),w("svg",Kt,i[0]||(i[0]=[v("path",{fill:"currentColor",d:"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8c-7 8.5-14.5 16.7-22.4 24.5a353.8 353.8 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.8 353.8 0 0 1-112.7-75.9a353.3 353.3 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8s94.3 9.3 137.9 27.8c42.2 17.8 80.1 43.4 112.7 75.9c7.9 7.9 15.3 16.1 22.4 24.5c3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82C271.7 82.6 79.6 277.1 82 516.4C84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7c3.4-5.3-.4-12.3-6.7-12.3m88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6"},null,-1)]))}const zt=ve({name:"ant-design-logout-outlined",render:jt}),qt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Gt(o,i){return d(),w("svg",qt,i[0]||(i[0]=[v("path",{fill:"currentColor",d:"M12 5V3.21c0-.45-.54-.67-.85-.35l-2.8 2.79c-.2.2-.2.51 0 .71l2.79 2.79c.32.31.86.09.86-.36V7c3.31 0 6 2.69 6 6c0 2.72-1.83 5.02-4.31 5.75c-.42.12-.69.52-.69.95c0 .65.62 1.16 1.25.97A7.99 7.99 0 0 0 20 13c0-4.42-3.58-8-8-8m-6 8c0-1.34.44-2.58 1.19-3.59c.3-.4.26-.95-.09-1.31c-.42-.42-1.14-.38-1.5.1a7.99 7.99 0 0 0 4.15 12.47c.63.19 1.25-.32 1.25-.97c0-.43-.27-.83-.69-.95C7.83 18.02 6 15.72 6 13"},null,-1)]))}const Ut=ve({name:"ic-round-restart-alt",render:Gt}),Ht=async({parameter:o,signal:i})=>(await ye.get("/frameworkers",{params:o,signal:i})).data,Vt=async({frameWorkerName:o})=>(await ye.put(`/frameworkers/${o}/restart`)).data;class Mt{constructor(){J(this,"_queryClient",St());J(this,"t",he().t);J(this,"toast",kt());J(this,"queryActivator",p([{name:"getFrameWorkersQuery",enabled:!0}]))}get queryClient(){return this._queryClient}getFrameWorkersQuery(i){return xt({queryKey:["frameWorkerList",i],queryFn:({signal:l})=>Ht({parameter:r(i),signal:l}),placeholderData:l=>l,enabled:()=>this.queryActivator.value.some(l=>l.name==="getFrameWorkersQuery"&&l.enabled)})}restartFrameWorkerQuery(){return Rt({mutationFn:Vt,onSuccess:async(i,l)=>{await this._queryClient.refetchQueries({queryKey:["frameWorkers",l.frameWorkerName]}),this.toast.add({severity:"success",summary:this.t("components.toast.title_success"),detail:this.t("components.toast.frame_worker_restarted"),life:3e3})}})}toggleQueryActivator(i,l){const N=this.queryActivator.value.find(b=>b.name===i);N&&(N.enabled=l)}}const Yt={class:"page-title"},Jt={class:"flex flex-col gap-6"},Xt={class:"card-title"},Zt={class:"card-title"},es={class:"card-title"},ts={class:"card-title"},ss={class:"card-title"},fe=30,Ms=ne({__name:"Adminpanel",setup(o){const i=new Nt,l=new Ct,N=new Mt,b=new Ot,{t:c}=he(),j=wt(),F=bt(),{mdBreakpoint:Q}=Pt(),C={pid:-1,cpuLoad:"0.00",memLoad:"0.00",timestamp:0},{accessToken:z}=_e(F),g=me(),h=me(),U=p({pageSize:5,page:1}),ae=p({pageSize:5,page:1}),re=p({pageSize:5,page:1}),E=p([{name:"system",type:"system",...C}]),S=p([]),W=p(f.UNKNOWN),$=p(f.UNKNOWN),q=p(f.UNKNOWN),y=p({"camera.ui":[],go2rtc:[],nats:[]}),D=p({"camera.ui":{name:"camera.ui",type:"core",...C},go2rtc:{name:"go2rtc",type:"core",...C},nats:{name:"nats",type:"core",...C}}),T=p({}),A=p([]),_=p({}),R=p({}),a=p({}),I=p([]),m=p({}),k=p({}),{data:H,isFetching:V}=i.listQuery(U),{data:M,isFetching:ie,suspense:we}=l.getPluginsQuery(re),{data:be,isFetching:Pe,suspense:Ne}=N.getFrameWorkersQuery(ae),{mutate:Ce,isPending:Se}=i.logoutTokenQuery(),{mutate:xe}=l.restartPluginQuery(),{mutate:Re}=N.restartFrameWorkerQuery(),{mutate:Oe,isPending:We}=b.restartGo2RtcQuery(),{mutate:$e,isPending:De}=b.restartServerQuery(),Te=L(()=>[{type:"indicator",field:"status",columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-5 max-w-5",class:"w-5 max-w-5"},color(e){return e.encoded.access_token===z.value?"var(--primary-500)":"transparent"},tooltip(e){if(e.encoded.access_token===z.value)return c("components.user_table.you")}},{type:"category",field:e=>e.decoded.username,name:c("components.user_table.title_username"),columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-40 min-w-40 max-w-40",class:"w-40 min-w-40 max-w-40"},props:{class:"font-bold text-color"}},{type:"category",field:e=>{var t;return((t=e.clientData)==null?void 0:t.address)??""},name:c("components.user_table.title_address"),columnProps:{headerClass:"min-w-30",class:"min-w-30"}},{type:"category",field:e=>{var t;return((t=e.clientData)==null?void 0:t.device)??""},name:c("components.user_table.title_device"),columnProps:{headerClass:"min-w-40",class:"min-w-40"}},{type:"action",field:"logout",icon:zt,columnProps:{class:"text-right"},loading(){return!!(Se.value||V.value)},disabled(){return!1},action(e){Ce({id:e.encoded._id,access_token:e.encoded.access_token})}}]),Ae=L(()=>{var e;return(e=H.value)==null?void 0:e.result.map(t=>({encoded:t.token,decoded:Wt(t.token.access_token),clientData:t.clientData})).sort((t,s)=>t.encoded.access_token===z.value?-1:s.encoded.access_token===z.value?1:0)}),Y=L(()=>e=>{let t=[{type:"indicator",field:"status",columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-5 max-w-5",class:"w-5 max-w-5"},color(s){return Ie(ce(e,s.name))},tooltip(s){return Qe(ce(e,s.name))}},{type:"category",field:"name",altName:e==="system"?c("components.process_table.system"):void 0,name:c("components.process_table.title_name"),columnProps:{alignFrozen:"left",frozen:!Q.value,headerClass:"w-40 min-w-40 max-w-40",class:"w-40 min-w-40 max-w-40"},props:{class:"font-bold text-color"}},{type:"category",field:"pid",name:c("components.process_table.title_pid"),columnProps:{headerClass:"min-w-20",class:"min-w-20"}},{type:"category",field:"cpuLoad",suffix:"%",name:c("components.process_table.title_cpu"),asChip:!0,columnProps:{headerClass:"min-w-30",class:"min-w-30"}},{type:"chart",field:"cpu_chart",for:"cpuLoad",columnProps:{headerClass:"min-w-[250px]",class:"min-w-[250px]"}},{type:"category",field:"memLoad",suffix:"%",name:c("components.process_table.title_memory"),asChip:!0,columnProps:{headerClass:"min-w-30",class:"min-w-30"}},{type:"chart",field:"memory_chart",for:"memLoad",columnProps:{headerClass:"min-w-[250px]",class:"min-w-[250px]"}},{type:"action",field:"restart",icon:Ut,columnProps:{class:"text-right"},loading(s){return e==="core"?s.name==="camera.ui"?De.value:We.value:e==="frameworker"?Fe.value(s.name):e==="plugins"?Le.value(s.name):!1},disabled(s){return s.name==="nats"},action(s){s.type==="core"&&Be(s.name),s.type==="frameworker"&&Ke(s.name),s.type==="plugin"&&je(s.name)}}];return e==="system"&&(t=t.filter(s=>s.field!=="pid"&&s.field!=="restart"&&s.field!=="status")),t}),Z=L(()=>e=>{switch(e){case"system":return E.value;case"core":return Object.values(D.value).filter(Boolean);case"frameworker":return Object.values(R.value).filter(Boolean);case"plugins":return Object.values(m.value).filter(t=>{var n;const s=(n=M.value)==null?void 0:n.result.find(P=>P.pluginName===t.name);return s&&!s.disabled}).filter(Boolean);default:return[]}}),ee=L(()=>e=>{let t={};switch(e){case"system":t={system:S.value};break;case"core":t=y.value;break;case"frameworker":t=_.value;break;case"plugins":t=k.value;break}return Object.keys(t).reduce((s,n)=>(Y.value(e).filter(ke).forEach(He=>{const oe=He.for,le=t[n].slice(-30).filter(B=>B[oe]!==void 0).map(B=>parseFloat(B[oe])),ue=t[n].slice(-30).map(B=>B.timestamp),Ve=[...le,...Array(fe-le.length).fill(0)],Me=[...ue,...Array(fe-ue.length).fill(null)];s[`${n}_${oe}`]={labels:Me,datasets:[{data:Ve,backgroundColor:B=>{const pe=B.raw;return pe>=90?"#FA5252":pe>=50?"#FF9966":"#df2a4c"},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}),s),{})}),Le=L(()=>e=>I.value.includes(e)),Fe=L(()=>e=>A.value.includes(e));se(_,e=>{for(const[t,s]of Object.entries(e))R.value[t]=s[s.length-1]??{...C,name:t,type:"frameworker"}},{deep:!0,immediate:!0}),se(k,e=>{for(const[t,s]of Object.entries(e))m.value[t]=s[s.length-1]??{...C,name:t,type:"plugin"}},{deep:!0,immediate:!0}),se(be,e=>{if(e)for(const t of e.result)_.value[t.name]||(_.value[t.name]=[]),T.value[t.name]||(T.value[t.name]={name:t.name,status:u.UNKNOWN})},{deep:!0,immediate:!0}),se(M,e=>{if(e)for(const t of e.result)t.disabled||(k.value[t.pluginName]||(k.value[t.pluginName]=[]),a.value[t.pluginName]||(a.value[t.pluginName]={name:t.pluginName,status:u.UNKNOWN}))},{deep:!0,immediate:!0});const Ee=(e,t)=>{const s=e.page+1;U.value.page=s},ce=(e,t)=>{var s,n;if(e==="core")switch(t){case"camera.ui":return W.value;case"go2rtc":return $.value;case"nats":return q.value;default:return f.UNKNOWN}else{if(e==="frameworker")return((s=T.value[t])==null?void 0:s.status)??u.UNKNOWN;if(e==="plugins")return((n=a.value[t])==null?void 0:n.status)??u.UNKNOWN}return f.UNKNOWN},Ie=e=>{switch(e){case u.ERROR:case f.ERROR:return"#9d5752";case f.STOPPED:case u.STOPPED:case u.STOPPING:return"red";case u.READY:case f.READY:return"yellow";case u.STARTING:case f.STARTING:return"orange";case u.STARTED:case f.STARTED:return"green";case u.UNKNOWN:case u.DISABLED:case f.UNKNOWN:return"gray";default:return"gray"}},Qe=e=>{switch(e){case u.ERROR:case f.ERROR:return c("components.process_table.status_error");case u.STOPPED:case f.STOPPED:return c("components.process_table.status_stopped");case u.STOPPING:return c("components.process_table.status_stopping");case u.READY:case f.READY:return c("components.process_table.status_ready");case u.STARTING:case f.STARTING:return c("components.process_table.status_starting");case u.STARTED:case f.STARTED:return c("components.process_table.status_started");case u.DISABLED:return c("components.process_table.status_disabled");case u.UNKNOWN:case f.UNKNOWN:return c("components.process_table.status_unknown");default:return c("components.process_table.status_unknown")}},Be=async e=>{e==="camera.ui"?$e():e==="go2rtc"&&Oe()},Ke=async e=>{A.value.push(e),Re({frameWorkerName:e},{onSettled(){A.value=A.value.filter(t=>t!==e)}})},je=async e=>{I.value.push(e),xe({pluginName:e},{onSettled(){I.value=I.value.filter(t=>t!==e)}})},ze=()=>{!g.value||!h.value||(g.value.request("get-system-info").subscribe(e=>{S.value=e}),g.value.socket.on("system-infos-realtime",e=>{E.value=[e]}),g.value.socket.on("system-infos",e=>{e.name=c("components.process_table.system"),S.value.push(e),S.value=S.value.slice(-30)}))},qe=()=>{!g.value||!h.value||(h.value.socket.emit("get-process-status"),h.value.socket.on("process-status",e=>{e["camera.ui"]&&(W.value=e["camera.ui"].status),e.go2rtc&&($.value=e.go2rtc.status),e.nats&&(q.value=e.nats.status)}),g.value.request("get-server-process-info").subscribe(e=>{y.value=e}))},Ge=()=>{!g.value||!h.value||(h.value.socket.emit("get-frameworker-process-status"),h.value.socket.on("frameworker-process-status",e=>{for(const[t,s]of Object.entries(e))T.value[t]=s}),g.value.request("get-frameworker-process-info").subscribe(e=>{_.value=e}))},Ue=()=>{!g.value||!h.value||(h.value.socket.emit("get-plugin-process-status"),h.value.socket.on("plugin-process-status",e=>{for(const[t,s]of Object.entries(e))a.value[t]=s}),g.value.request("get-plugins-process-info").subscribe(e=>{k.value=e}))};return vt(async()=>{g.value=j.connectToNamespace("/metrics"),h.value=j.connectToNamespace("/status"),await Promise.all([we(),Ne()]),await new Promise(e=>setTimeout(e,10)),ze(),qe(),Ge(),Ue(),g.value.socket.on("process-infos-realtime",e=>{e["camera.ui"]&&(D.value["camera.ui"]=e["camera.ui"]),e.go2rtc&&(D.value.go2rtc=e.go2rtc),e.nats&&(D.value.nats=e.nats);const t=e.workers||{};Object.entries(t).forEach(([n,P])=>{R.value[n]=P});const s=e.plugins||{};Object.entries(s).forEach(([n,P])=>{m.value[n]=P})}),g.value.socket.on("process-infos",e=>{e["camera.ui"]&&(y.value["camera.ui"].push(e["camera.ui"]),y.value["camera.ui"]=y.value["camera.ui"].slice(-30)),e.go2rtc&&(y.value.go2rtc.push(e.go2rtc),y.value.go2rtc=y.value.go2rtc.slice(-30)),e.nats&&(y.value.nats.push(e.nats),y.value.nats=y.value.nats.slice(-30));const t=e.workers||{};Object.entries(t).forEach(([n,P])=>{_.value[n]||(_.value[n]=[]),_.value[n].push(P),_.value[n]=_.value[n].slice(-30)});const s=e.plugins||{};Object.entries(s).forEach(([n,P])=>{k.value[n]||(k.value[n]=[]),k.value[n].push(P),k.value[n]=k.value[n].slice(-30)})})}),yt(()=>{var e,t,s,n;(t=(e=g.value)==null?void 0:e.end)==null||t.call(e),(n=(s=h.value)==null?void 0:s.end)==null||n.call(s)}),(e,t)=>{var n;const s=Bt;return d(),w("div",null,[v("h1",Yt,x(e.$t(`views.${String(e.$route.name).toLowerCase()}.title`)),1),v("div",Jt,[v("div",null,[v("span",Xt,x(e.$t("views.adminpanel.general")),1),O(s,{items:r(Z)("system"),headers:r(Y)("system"),"chart-data":r(ee)("system")},null,8,["items","headers","chart-data"])]),v("div",null,[v("span",Zt,x(e.$t("views.adminpanel.core")),1),O(s,{items:r(Z)("core"),headers:r(Y)("core"),"chart-data":r(ee)("core")},null,8,["items","headers","chart-data"])]),v("div",null,[v("span",es,x(e.$t("views.adminpanel.frameworker")),1),O(s,{items:r(Z)("frameworker"),headers:r(Y)("frameworker"),"chart-data":r(ee)("frameworker"),loading:r(Pe)},null,8,["items","headers","chart-data","loading"])]),v("div",null,[v("span",ts,x(e.$t("views.adminpanel.plugins")),1),O(s,{items:r(Z)("plugins"),headers:r(Y)("plugins"),"chart-data":r(ee)("plugins"),loading:r(ie)},null,8,["items","headers","chart-data","loading"])]),v("div",null,[v("span",ss,x(e.$t("views.adminpanel.logged_in_users")),1),O(s,{items:r(Ae),headers:r(Te),loading:r(V),paginator:"",pagination:r(U),"total-records":(n=r(H))==null?void 0:n.pagination.totalItems,"onUpdate:page":t[0]||(t[0]=P=>Ee(P))},null,8,["items","headers","loading","pagination","total-records"])])])])}}});export{Ms as default};
@@ -1 +1 @@
1
- import{_ as z}from"./CuiTimeline.CoOU089I.0.0.65.js";import{r as N,M as E,N as I}from"./primevue.NVdW9OqK.0.0.65.js";import{C as Q,x as V,w as A,h as D,T as H,y as L}from"./main.DteM3Tyw.0.0.65.js";import{B as S,t as M,r as O,k as C,c as b,d as o,R as l,N as i,h as e,e as c,I as R,ac as $,M as m,O as T,W as B,P as _,ai as W,T as j}from"./@vue.BxBKarQv.0.0.65.js";import{a as F}from"./vue-router.BnioVTWI.0.0.65.js";import{l as G}from"./@vueuse.CT4ArM_v.0.0.65.js";import"./@primeuix.bRNqZjQz.0.0.65.js";import"./@primevue.nr37tGdz.0.0.65.js";import"./vue-i18n.Bdweqx4L.0.0.65.js";import"./@intlify.BIbPqCER.0.0.65.js";import"./@tanstack.BlGunTa7.0.0.65.js";import"./axios.DHr9lByg.0.0.65.js";import"./pinia.B3xyHOOv.0.0.65.js";import"./vue-inline-svg.dmm7rA4k.0.0.65.js";import"./vee-validate.Ba-stGSk.0.0.65.js";import"./@vee-validate.CM3rjqgU.0.0.65.js";import"./zod.2bfLsWMZ.0.0.65.js";import"./uuid.C6aID195.0.0.65.js";import"./socket.io-client.Bd1Z4yya.0.0.65.js";import"./engine.io-client.Bwq6EbBZ.0.0.65.js";import"./engine.io-parser.BiEtp6m2.0.0.65.js";import"./@socket.io.Dkula2eQ.0.0.65.js";import"./socket.io-parser.Brq8Mynw.0.0.65.js";import"./rxjs.CUmmYmXR.0.0.65.js";import"./tslib.9k7AwCpt.0.0.65.js";import"./highlight.js.BJ--bJsY.0.0.65.js";import"./@xterm.tD6mXzBA.0.0.65.js";import"./markdown-it.CC2C4XG8.0.0.65.js";import"./mdurl.k9Sl0PQj.0.0.65.js";import"./uc.micro.kMc2yuuw.0.0.65.js";import"./entities.C20TfXL6.0.0.65.js";import"./linkify-it.BgSGKsum.0.0.65.js";import"./punycode.js.Dj65hjkv.0.0.65.js";import"./qrcode.BsXR3CD9.0.0.65.js";import"./dijkstrajs.C00ieaqj.0.0.65.js";import"./draggabilly.jXME3Xl7.0.0.65.js";import"./get-size.D1dS-IaP.0.0.65.js";import"./unidragger.BlS0U2Yu.0.0.65.js";import"./ev-emitter.X5f1qa-c.0.0.65.js";import"./vue-zoomable.BYLfof9a.0.0.65.js";import"./primelocale.Bga3dOQu.0.0.65.js";import"./nprogress.Y-YIR5w8.0.0.65.js";const K={class:"w-full h-full"},Z={class:"flex flex-wrap items-center justify-between gap-2"},q={class:"text-xl font-bold"},J=["onClick"],U=S({__name:"CuiCameraTable",props:{cardProps:{}},setup(x){const h=new Q,t=x,{cardProps:a}=M(t),p=O({page:1,pageSize:-1}),{data:d,isFetching:g}=h.getCamerasQuery(p),n=C(()=>g.value),v=C(()=>{var s;return V({body:{class:"w-full h-full overflow-hidden"},root:{class:{}}},(s=a.value)==null?void 0:s.pt)});return(r,s)=>{const w=A,u=I,y=E,P=N;return o(),b("div",K,[l(P,{class:"cui-card",pt:e(v)},{content:i(()=>{var k;return[l(y,{loading:e(n),value:(k=e(d))==null?void 0:k.result,"striped-rows":"","show-headers":!1},{header:i(()=>[c("div",Z,[c("span",q,R(r.$t("components.camera_table.cameras")),1)])]),default:i(()=>[l(u,{class:"w-[50px]"},{body:i(({data:f})=>[l(w,{"camera-name":f.name,class:"rounded-md overflow-hidden",width:"50px"},null,8,["camera-name"])]),_:1}),l(u,{field:"name",header:r.$t("components.camera_table.name"),class:"w-full p-0 pl-4"},{body:i(({data:f})=>[c("div",{class:"w-full h-full cursor-pointer pr-4 py-3",onClick:Y=>r.$router.push(`/cameras/${f.name}`)},R(f.name),9,J)]),_:1},8,["header"])]),_:1},8,["loading","value"])]}),_:1},8,["pt"])])}}}),X={class:"w-full h-full flex flex-col lg:flex-row gap-0 lg:gap-2 relative"},Oe=S({__name:"Camera",setup(x){const h=F(),{mdBreakpoint:t,xmdBreakpoint:a}=D(),p=$("cameraCardRef"),d=$("timelineRef"),g=G(d),n=C(()=>h.params.cameraname),v=r=>{var s;(s=p.value)==null||s.timelineScroll(r)};return(r,s)=>{const w=L,u=U,y=z;return o(),b("div",{class:_({"p-2":!e(t)})},[c("div",X,[c("div",{class:_(["w-full flex flex-col gap-2",{"h-full":!e(t)}]),style:B({paddingRight:!e(t)&&!e(a)?`calc(${e(g).width.value}px + 0.5rem)`:"0px"})},[(o(),m(w,{ref_key:"cameraCardRef",ref:p,key:e(n),"camera-info":e(n),"flat-card":e(t),"card-props":{pt:{root:{class:{"!rounded-md":!0}}}},"toolbar-timeline-button":e(a),"camera-name-overlay":!1},null,8,["camera-info","flat-card","toolbar-timeline-button"])),(o(),m(W,null,[e(t)?T("",!0):(o(),m(u,{key:0,"card-props":{pt:{root:{class:{"!rounded-md":!0}}}}}))],1024))],6),e(a)?T("",!0):(o(),b("div",{key:0,id:"camera-sidebar",ref_key:"timelineRef",ref:d,class:_(["min-w-[300px]",{"border-t-[1px] border-color":e(t),"lg:fixed lg:right-safe-offset-2 lg:bottom-safe-offset-2":!e(t)&&!e(a)}]),style:B({height:`calc(100% - ${e(H).HEIGHT}px - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))`})},null,6))]),(o(),m(j,{to:e(a)?"#timeline-container":"#camera-sidebar",defer:""},[(o(),m(y,{key:e(n),"flat-card":e(t)||e(a),type:e(a)?"horizontal":"vertical","show-segments":!e(t)&&!e(a),"show-zoom":!e(t)&&!e(a),class:_({"absolute bottom-0 left-0 w-full":e(a),"h-full":!e(a)}),height:e(a)?"200px":void 0,transparent:e(a),"dark-mode":e(a),"overlay-class":e(a)?"timeline-overlay":void 0,onScrolling:v},null,8,["flat-card","type","show-segments","show-zoom","class","height","transparent","dark-mode","overlay-class"]))],8,["to"]))],2)}}});export{Oe as default};
1
+ import{_ as z}from"./CuiTimeline.m3JuFIFi.0.0.66.js";import{r as N,M as E,N as I}from"./primevue.u0cWw2OL.0.0.66.js";import{C as Q,x as V,w as A,h as D,T as H,y as L}from"./main.B_fPrbq1.0.0.66.js";import{B as S,t as M,r as O,k as C,c as b,d as o,R as l,N as i,h as e,e as c,I as R,ac as $,M as m,O as T,W as B,P as _,ai as W,T as j}from"./@vue.BxBKarQv.0.0.66.js";import{a as F}from"./vue-router.BAKcO87W.0.0.66.js";import{l as G}from"./@vueuse.LiqCsnkh.0.0.66.js";import"./@primeuix.bRNqZjQz.0.0.66.js";import"./@primevue.CSqVWdSI.0.0.66.js";import"./vue-i18n.BhNKxLwd.0.0.66.js";import"./@intlify.BIbPqCER.0.0.66.js";import"./@tanstack.Cg5p0suW.0.0.66.js";import"./axios.lj9VQs0f.0.0.66.js";import"./pinia.GUa2jGH4.0.0.66.js";import"./vue-inline-svg.CwhJUOPA.0.0.66.js";import"./vee-validate.Bddoj8yk.0.0.66.js";import"./@vee-validate.DYnt12GD.0.0.66.js";import"./zod.2bfLsWMZ.0.0.66.js";import"./uuid.C6aID195.0.0.66.js";import"./socket.io-client.Bsb7RiMX.0.0.66.js";import"./engine.io-client.BW_Hz_BW.0.0.66.js";import"./engine.io-parser.BiEtp6m2.0.0.66.js";import"./@socket.io.Dkula2eQ.0.0.66.js";import"./socket.io-parser.B4i48Hhv.0.0.66.js";import"./rxjs.BFmW76gn.0.0.66.js";import"./tslib.9k7AwCpt.0.0.66.js";import"./highlight.js.BzmrmBdP.0.0.66.js";import"./@xterm.CgghSimY.0.0.66.js";import"./markdown-it.BFhvgE87.0.0.66.js";import"./mdurl.k9Sl0PQj.0.0.66.js";import"./uc.micro.kMc2yuuw.0.0.66.js";import"./entities.C20TfXL6.0.0.66.js";import"./linkify-it.BufRIWo8.0.0.66.js";import"./punycode.js.Dj65hjkv.0.0.66.js";import"./qrcode.drIiNiGs.0.0.66.js";import"./dijkstrajs.C00ieaqj.0.0.66.js";import"./draggabilly.ChLscxJD.0.0.66.js";import"./get-size.D1dS-IaP.0.0.66.js";import"./unidragger.Bo5rY1ZU.0.0.66.js";import"./ev-emitter.X5f1qa-c.0.0.66.js";import"./vue-zoomable.CLt4yUos.0.0.66.js";import"./primelocale.Bga3dOQu.0.0.66.js";import"./nprogress.BE8Ud4fe.0.0.66.js";const K={class:"w-full h-full"},Z={class:"flex flex-wrap items-center justify-between gap-2"},q={class:"text-xl font-bold"},J=["onClick"],U=S({__name:"CuiCameraTable",props:{cardProps:{}},setup(x){const h=new Q,t=x,{cardProps:a}=M(t),p=O({page:1,pageSize:-1}),{data:d,isFetching:g}=h.getCamerasQuery(p),n=C(()=>g.value),v=C(()=>{var s;return V({body:{class:"w-full h-full overflow-hidden"},root:{class:{}}},(s=a.value)==null?void 0:s.pt)});return(r,s)=>{const w=A,u=I,y=E,P=N;return o(),b("div",K,[l(P,{class:"cui-card",pt:e(v)},{content:i(()=>{var k;return[l(y,{loading:e(n),value:(k=e(d))==null?void 0:k.result,"striped-rows":"","show-headers":!1},{header:i(()=>[c("div",Z,[c("span",q,R(r.$t("components.camera_table.cameras")),1)])]),default:i(()=>[l(u,{class:"w-[50px]"},{body:i(({data:f})=>[l(w,{"camera-name":f.name,class:"rounded-md overflow-hidden",width:"50px"},null,8,["camera-name"])]),_:1}),l(u,{field:"name",header:r.$t("components.camera_table.name"),class:"w-full p-0 pl-4"},{body:i(({data:f})=>[c("div",{class:"w-full h-full cursor-pointer pr-4 py-3",onClick:Y=>r.$router.push(`/cameras/${f.name}`)},R(f.name),9,J)]),_:1},8,["header"])]),_:1},8,["loading","value"])]}),_:1},8,["pt"])])}}}),X={class:"w-full h-full flex flex-col lg:flex-row gap-0 lg:gap-2 relative"},Oe=S({__name:"Camera",setup(x){const h=F(),{mdBreakpoint:t,xmdBreakpoint:a}=D(),p=$("cameraCardRef"),d=$("timelineRef"),g=G(d),n=C(()=>h.params.cameraname),v=r=>{var s;(s=p.value)==null||s.timelineScroll(r)};return(r,s)=>{const w=L,u=U,y=z;return o(),b("div",{class:_({"p-2":!e(t)})},[c("div",X,[c("div",{class:_(["w-full flex flex-col gap-2",{"h-full":!e(t)}]),style:B({paddingRight:!e(t)&&!e(a)?`calc(${e(g).width.value}px + 0.5rem)`:"0px"})},[(o(),m(w,{ref_key:"cameraCardRef",ref:p,key:e(n),"camera-info":e(n),"flat-card":e(t),"card-props":{pt:{root:{class:{"!rounded-md":!0}}}},"toolbar-timeline-button":e(a),"camera-name-overlay":!1},null,8,["camera-info","flat-card","toolbar-timeline-button"])),(o(),m(W,null,[e(t)?T("",!0):(o(),m(u,{key:0,"card-props":{pt:{root:{class:{"!rounded-md":!0}}}}}))],1024))],6),e(a)?T("",!0):(o(),b("div",{key:0,id:"camera-sidebar",ref_key:"timelineRef",ref:d,class:_(["min-w-[300px]",{"border-t-[1px] border-color":e(t),"lg:fixed lg:right-safe-offset-2 lg:bottom-safe-offset-2":!e(t)&&!e(a)}]),style:B({height:`calc(100% - ${e(H).HEIGHT}px - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))`})},null,6))]),(o(),m(j,{to:e(a)?"#timeline-container":"#camera-sidebar",defer:""},[(o(),m(y,{key:e(n),"flat-card":e(t)||e(a),type:e(a)?"horizontal":"vertical","show-segments":!e(t)&&!e(a),"show-zoom":!e(t)&&!e(a),class:_({"absolute bottom-0 left-0 w-full":e(a),"h-full":!e(a)}),height:e(a)?"200px":void 0,transparent:e(a),"dark-mode":e(a),"overlay-class":e(a)?"timeline-overlay":void 0,onScrolling:v},null,8,["flat-card","type","show-segments","show-zoom","class","height","transparent","dark-mode","overlay-class"]))],8,["to"]))],2)}}});export{Oe as default};
@@ -1,7 +1,7 @@
1
- import{L as Ue,r as Ee,l as De,e as qe,m as Fe,b as ke,a as to,M as no,N as ao,c as Le,f as so,t as ro,u as io,v as co,k as lo,w as uo,p as mo,n as po,j as ho,O as fo}from"./primevue.NVdW9OqK.0.0.65.js";import{_ as We,a as _o}from"./refresh-rounded.DOZ-DEFG.0.0.65.js";import{e as go,s as vo,_ as bo,f as wo,h as Ve,C as Ce,r as ye,d as je,i as ze,j as yo,k as xo,c as Ne,a as Ke,l as ko,m as Co,n as Ye,o as So,p as To,q as $o,t as Ro,B as Po,b as we,v as Ao,S as Io,w as Mo}from"./main.DteM3Tyw.0.0.65.js";import{i as Ho}from"./@vueuse.CT4ArM_v.0.0.65.js";import{B as se,t as Ge,ac as de,r as D,k as Q,o as Xe,c as p,d as s,e as a,h as e,X as ue,Z as me,R as o,I as b,i as Qe,z as Je,a7 as jo,F as J,ab as Eo,w as Ze,N as t,f as ne,M as g,L as G,O as _,m as X,V as N,P as xe,H as Ie,$ as Lo,a1 as Vo,W as Me}from"./@vue.BxBKarQv.0.0.65.js";import{_ as Go}from"./CuiConsole.DFTuJye2.0.0.65.js";import{F as eo,a as F,E as K}from"./vee-validate.Ba-stGSk.0.0.65.js";import{u as Be}from"./vue-i18n.Bdweqx4L.0.0.65.js";import{s as Bo}from"./pinia.B3xyHOOv.0.0.65.js";import"./@primeuix.bRNqZjQz.0.0.65.js";import"./@primevue.nr37tGdz.0.0.65.js";import"./@tanstack.BlGunTa7.0.0.65.js";import"./axios.DHr9lByg.0.0.65.js";import"./vue-router.BnioVTWI.0.0.65.js";import"./vue-inline-svg.dmm7rA4k.0.0.65.js";import"./@vee-validate.CM3rjqgU.0.0.65.js";import"./zod.2bfLsWMZ.0.0.65.js";import"./uuid.C6aID195.0.0.65.js";import"./socket.io-client.Bd1Z4yya.0.0.65.js";import"./engine.io-client.Bwq6EbBZ.0.0.65.js";import"./engine.io-parser.BiEtp6m2.0.0.65.js";import"./@socket.io.Dkula2eQ.0.0.65.js";import"./socket.io-parser.Brq8Mynw.0.0.65.js";import"./rxjs.CUmmYmXR.0.0.65.js";import"./tslib.9k7AwCpt.0.0.65.js";import"./highlight.js.BJ--bJsY.0.0.65.js";import"./@xterm.tD6mXzBA.0.0.65.js";import"./markdown-it.CC2C4XG8.0.0.65.js";import"./mdurl.k9Sl0PQj.0.0.65.js";import"./uc.micro.kMc2yuuw.0.0.65.js";import"./entities.C20TfXL6.0.0.65.js";import"./linkify-it.BgSGKsum.0.0.65.js";import"./punycode.js.Dj65hjkv.0.0.65.js";import"./qrcode.BsXR3CD9.0.0.65.js";import"./dijkstrajs.C00ieaqj.0.0.65.js";import"./draggabilly.jXME3Xl7.0.0.65.js";import"./get-size.D1dS-IaP.0.0.65.js";import"./unidragger.BlS0U2Yu.0.0.65.js";import"./ev-emitter.X5f1qa-c.0.0.65.js";import"./vue-zoomable.BYLfof9a.0.0.65.js";import"./primelocale.Bga3dOQu.0.0.65.js";import"./nprogress.Y-YIR5w8.0.0.65.js";import"./@intlify.BIbPqCER.0.0.65.js";const Oe=["bubble://","cui://","doorbird://","dvrip://","echo:","eseecloud://","exec:","expr:","ffmpeg:","flussonic://","gopro://","hass:","homekit://","http://","https://","httpx://","isapi://","ivideon:","kasa://","nest:","onvif://","ring:","roborock://","rtmp://","rtsp://","rtspx://","tapo://","tcp://","tuya://","webrtc:","webtorrent:"],Oo=["#backchannel=","#header=","#media=audio","#media=video","#timeout=10","#timeout=20","#timeout=30","#transport="],He=["#audio=aac","#audio=aac/16000","#audio=mp3","#audio=opus","#audio=pcm","#audio=pcm/8000","#audio=pcm/16000","#audio=pcm/48000","#audio=pcma","#audio=pcma/8000","#audio=pcma/16000","#audio=pcma/48000","#audio=pcml","#audio=pcml/8000","#audio=pcml/44100","#audio=pcmu","#audio=pcmu/8000","#audio=pcmu/16000","#audio=pcmu/48000","#drawtext","#hardware","#hardware=cuda","#hardware=dxva2","#hardware=rkmpp","#hardware=v4l2m2m","#hardware=vaapi","#hardware=videotoolbox","#height=","#raw=","#rotate=-90","#rotate=90","#rotate=180","#rotate=270","#video=copy","#video=h264","#video=h265","#video=mjpeg","#width="],Uo=["client_id=","client_private=","device_id=","device_public="],Do=["#header="],qo=["client_id=","client_secret=","refresh_token=","project_id=","device_id="],Fo=["device_id=","refresh_token="],Wo=["#client_id=","#format=openipc","#format=wyze","#format=kinesis","#ice_servers="],zo={class:"relative h-[165px]"},No={key:0,class:"flex w-full h-full"},Ko={class:"flex w-full items-center justify-center mt-[5px]"},Yo={key:1,class:"flex w-full h-full"},Xo=["onClick"],Qo={class:"w-full text-center"},Jo={class:"text-xs text-muted"},Zo=se({__name:"CuiCameraEvents",props:{cameraId:{}},setup(T){const{isTouch:c}=go(),j=T,{cameraId:E}=Ge(j),R=de("scrollContainerRef"),B=D(!0);let P,$=!1;const L=Array.from({length:50},(m,C)=>({id:C.toString(),camera:"Kamera "+(C%5+1),title:"Event "+(C+1),type:"motion",image:"test",timestamp:Date.now()-C*6e4})),M=Q(()=>E.value?L.filter(m=>m.camera===E.value):L),O=()=>{Ho(R,{disableTextSelect:!0,threshold:10,onSwipe:m=>{var C,H;(C=R.value)==null||C.classList.add("cursor-grabbing"),$=!0,(H=R.value)==null||H.scrollBy({left:-m.movementX,behavior:"smooth"})},onSwipeEnd:()=>{var m;(m=R.value)==null||m.classList.remove("cursor-grabbing"),clearTimeout(P),P=setTimeout(()=>{$=!1},10)}})},w=m=>new Date(m).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"}),y=m=>{$||console.log(m)};return Xe(async()=>{await vo(1500),B.value=!1,c.value||O()}),(m,C)=>{const H=Ue,u=bo;return s(),p("div",zo,[a("div",{ref_key:"scrollContainerRef",ref:R,class:"w-full max-w-full overflow-x-auto overflow-y-hidden snap-x snap-mandatory hide-scrollbar"},[e(B)?(s(),p("div",No,[(s(),p(ue,null,me(50,S=>a("div",{key:S,class:"flex-none w-[140px] mr-3 snap-start"},[o(H,{width:"140px",height:"140px"}),a("div",Ko,[o(H,{width:"40px",height:"12px"})])])),64))])):(s(),p("div",Yo,[(s(!0),p(ue,null,me(e(M),S=>(s(),p("div",{key:S.id,class:"flex-none w-[140px] mr-3 snap-start"},[a("div",{class:"bg-neutral-900 rounded overflow-hidden cursor-pointer w-[140px] h-[140px]",onClick:f=>y(S)},[o(u,{src:S.image,class:"pointer-events-none w-full h-full",cover:"",alt:"Event Vorschau",width:"140px",height:"140px","image-container-class":"w-full h-full"},null,8,["src"])],8,Xo),a("div",Qo,[a("span",Jo,b(w(S.timestamp)),1)])]))),128))]))],512),C[0]||(C[0]=a("div",{class:"absolute -top-[3px] right-0 w-10 h-[171px] pointer-events-none",style:{background:"linear-gradient(to right, transparent, var(--ground-background))"}},null,-1))])}}}),et=se({__name:"CameraConsole",props:{cameraName:{}},setup(T,{expose:c}){const j=new Ce,E=wo(),{mdBreakpoint:R}=Ve(),B=Qe("dialogRefProps"),P=T,{cameraName:$}=Ge(P),L=de("consoleRef"),M=Je(),{data:O,isFetching:w,suspense:y}=j.downloadLogQuery($),m=Q(()=>{var u;return!!((u=B.loading)!=null&&u.value||w.value)}),C=Q(()=>({fontSize:R.value?12:14})),H=async()=>{try{if(j.toggleQueryActivator("downloadLogQuery",!0),await y(),O.value){const u=O.value,S=window.URL.createObjectURL(new Blob([u])),f=document.createElement("a");f.href=S,f.setAttribute("download",`camera.ui.${$.value}.log.txt`),document.body.appendChild(f),f.click(),f.remove()}}finally{j.toggleQueryActivator("downloadLogQuery",!1)}};return Xe(()=>{var u,S,f,W,oe;M.value=E.connectToNamespace("/logs"),(u=M.value)==null||u.socket.on(`stdout/${$.value}`,A=>{var Z;(Z=L.value)==null||Z.writeTerminal(A)}),(S=M.value)==null||S.socket.on("stdout",A=>{var Z;(Z=L.value)==null||Z.writeTerminal(A)}),(f=M.value)==null||f.socket.on("disconnect",()=>{var A;(A=L.value)==null||A.writeTerminal(`\r
1
+ import{L as Ue,r as Ee,l as De,e as qe,m as Fe,b as Ce,a as to,M as no,N as ao,c as Le,f as so,t as ro,u as io,v as lo,k as co,w as uo,p as mo,n as po,j as ho,O as fo}from"./primevue.u0cWw2OL.0.0.66.js";import{_ as ze,a as _o}from"./refresh-rounded.J347C_Rp.0.0.66.js";import{e as go,s as vo,_ as bo,f as wo,h as Ve,C as Se,r as xe,d as je,i as We,j as yo,k as xo,c as Ne,a as Ke,l as ko,m as Co,n as Ye,o as So,p as $o,q as To,t as Ro,B as Po,b as we,v as Ao,S as Io,w as Mo}from"./main.B_fPrbq1.0.0.66.js";import{i as Ho}from"./@vueuse.LiqCsnkh.0.0.66.js";import{B as se,t as Ge,ac as ue,r as F,k as Q,o as Xe,c as p,d as s,e as n,h as e,X as me,Z as pe,R as o,I as v,i as Qe,z as Je,a7 as jo,F as J,ab as Eo,w as Ze,N as t,f as ne,M as g,L as G,O as _,m as Y,V as W,P as ke,H as ye,$ as Lo,a1 as Vo,W as Me}from"./@vue.BxBKarQv.0.0.66.js";import{_ as Go}from"./CuiConsole.BUv68-lf.0.0.66.js";import{F as eo,a as q,E as N}from"./vee-validate.Bddoj8yk.0.0.66.js";import{u as Be}from"./vue-i18n.BhNKxLwd.0.0.66.js";import{s as Bo}from"./pinia.GUa2jGH4.0.0.66.js";import"./@primeuix.bRNqZjQz.0.0.66.js";import"./@primevue.CSqVWdSI.0.0.66.js";import"./@tanstack.Cg5p0suW.0.0.66.js";import"./axios.lj9VQs0f.0.0.66.js";import"./vue-router.BAKcO87W.0.0.66.js";import"./vue-inline-svg.CwhJUOPA.0.0.66.js";import"./@vee-validate.DYnt12GD.0.0.66.js";import"./zod.2bfLsWMZ.0.0.66.js";import"./uuid.C6aID195.0.0.66.js";import"./socket.io-client.Bsb7RiMX.0.0.66.js";import"./engine.io-client.BW_Hz_BW.0.0.66.js";import"./engine.io-parser.BiEtp6m2.0.0.66.js";import"./@socket.io.Dkula2eQ.0.0.66.js";import"./socket.io-parser.B4i48Hhv.0.0.66.js";import"./rxjs.BFmW76gn.0.0.66.js";import"./tslib.9k7AwCpt.0.0.66.js";import"./highlight.js.BzmrmBdP.0.0.66.js";import"./@xterm.CgghSimY.0.0.66.js";import"./markdown-it.BFhvgE87.0.0.66.js";import"./mdurl.k9Sl0PQj.0.0.66.js";import"./uc.micro.kMc2yuuw.0.0.66.js";import"./entities.C20TfXL6.0.0.66.js";import"./linkify-it.BufRIWo8.0.0.66.js";import"./punycode.js.Dj65hjkv.0.0.66.js";import"./qrcode.drIiNiGs.0.0.66.js";import"./dijkstrajs.C00ieaqj.0.0.66.js";import"./draggabilly.ChLscxJD.0.0.66.js";import"./get-size.D1dS-IaP.0.0.66.js";import"./unidragger.Bo5rY1ZU.0.0.66.js";import"./ev-emitter.X5f1qa-c.0.0.66.js";import"./vue-zoomable.CLt4yUos.0.0.66.js";import"./primelocale.Bga3dOQu.0.0.66.js";import"./nprogress.BE8Ud4fe.0.0.66.js";import"./@intlify.BIbPqCER.0.0.66.js";const Oe=["bubble://","cui://","doorbird://","dvrip://","echo:","eseecloud://","exec:","expr:","ffmpeg:","flussonic://","gopro://","hass:","homekit://","http://","https://","httpx://","isapi://","ivideon:","kasa://","nest:","onvif://","ring:","roborock://","rtmp://","rtsp://","rtspx://","tapo://","tcp://","tuya://","webrtc:","webtorrent:"],Oo=["#backchannel=","#header=","#media=audio","#media=video","#timeout=10","#timeout=20","#timeout=30","#transport="],He=["#audio=aac","#audio=aac/16000","#audio=mp3","#audio=opus","#audio=pcm","#audio=pcm/8000","#audio=pcm/16000","#audio=pcm/48000","#audio=pcma","#audio=pcma/8000","#audio=pcma/16000","#audio=pcma/48000","#audio=pcml","#audio=pcml/8000","#audio=pcml/44100","#audio=pcmu","#audio=pcmu/8000","#audio=pcmu/16000","#audio=pcmu/48000","#drawtext","#hardware","#hardware=cuda","#hardware=dxva2","#hardware=rkmpp","#hardware=v4l2m2m","#hardware=vaapi","#hardware=videotoolbox","#height=","#raw=","#rotate=-90","#rotate=90","#rotate=180","#rotate=270","#video=copy","#video=h264","#video=h265","#video=mjpeg","#width="],Uo=["client_id=","client_private=","device_id=","device_public="],Do=["#header="],qo=["client_id=","client_secret=","refresh_token=","project_id=","device_id="],Fo=["device_id=","refresh_token="],zo=["#client_id=","#format=openipc","#format=wyze","#format=kinesis","#ice_servers="],Wo={class:"relative h-[165px]"},No={key:0,class:"flex w-full h-full"},Ko={class:"flex w-full items-center justify-center mt-[5px]"},Yo={key:1,class:"flex w-full h-full"},Xo=["onClick"],Qo={class:"w-full text-center"},Jo={class:"text-xs text-muted"},Zo=se({__name:"CuiCameraEvents",props:{cameraId:{}},setup($){const{isTouch:d}=go(),j=$,{cameraId:E}=Ge(j),R=ue("scrollContainerRef"),B=F(!0);let P,T=!1;const L=Array.from({length:50},(m,C)=>({id:C.toString(),camera:"Kamera "+(C%5+1),title:"Event "+(C+1),type:"motion",image:"test",timestamp:Date.now()-C*6e4})),M=Q(()=>E.value?L.filter(m=>m.camera===E.value):L),O=()=>{Ho(R,{disableTextSelect:!0,threshold:10,onSwipe:m=>{var C,H;(C=R.value)==null||C.classList.add("cursor-grabbing"),T=!0,(H=R.value)==null||H.scrollBy({left:-m.movementX,behavior:"smooth"})},onSwipeEnd:()=>{var m;(m=R.value)==null||m.classList.remove("cursor-grabbing"),clearTimeout(P),P=setTimeout(()=>{T=!1},10)}})},y=m=>new Date(m).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"}),x=m=>{T||console.log(m)};return Xe(async()=>{await vo(1500),B.value=!1,d.value||O()}),(m,C)=>{const H=Ue,u=bo;return s(),p("div",Wo,[n("div",{ref_key:"scrollContainerRef",ref:R,class:"w-full max-w-full overflow-x-auto overflow-y-hidden snap-x snap-mandatory hide-scrollbar"},[e(B)?(s(),p("div",No,[(s(),p(me,null,pe(50,S=>n("div",{key:S,class:"flex-none w-[140px] mr-3 snap-start"},[o(H,{width:"140px",height:"140px"}),n("div",Ko,[o(H,{width:"40px",height:"12px"})])])),64))])):(s(),p("div",Yo,[(s(!0),p(me,null,pe(e(M),S=>(s(),p("div",{key:S.id,class:"flex-none w-[140px] mr-3 snap-start"},[n("div",{class:"bg-neutral-900 rounded overflow-hidden cursor-pointer w-[140px] h-[140px]",onClick:h=>x(S)},[o(u,{src:S.image,class:"pointer-events-none w-full h-full",cover:"",alt:"Event Vorschau",width:"140px",height:"140px","image-container-class":"w-full h-full"},null,8,["src"])],8,Xo),n("div",Qo,[n("span",Jo,v(y(S.timestamp)),1)])]))),128))]))],512),C[0]||(C[0]=n("div",{class:"absolute -top-[3px] right-0 w-10 h-[171px] pointer-events-none",style:{background:"linear-gradient(to right, transparent, var(--ground-background))"}},null,-1))])}}}),et=se({__name:"CameraConsole",props:{cameraName:{}},setup($,{expose:d}){const j=new Se,E=wo(),{mdBreakpoint:R}=Ve(),B=Qe("dialogRefProps"),P=$,{cameraName:T}=Ge(P),L=ue("consoleRef"),M=Je(),{data:O,isFetching:y,suspense:x}=j.downloadLogQuery(T),m=Q(()=>{var u;return!!((u=B.loading)!=null&&u.value||y.value)}),C=Q(()=>({fontSize:R.value?12:14})),H=async()=>{try{if(j.toggleQueryActivator("downloadLogQuery",!0),await x(),O.value){const u=O.value,S=window.URL.createObjectURL(new Blob([u])),h=document.createElement("a");h.href=S,h.setAttribute("download",`camera.ui.${T.value}.log.txt`),document.body.appendChild(h),h.click(),h.remove()}}finally{j.toggleQueryActivator("downloadLogQuery",!1)}};return Xe(()=>{var u,S,h,K,oe;M.value=E.connectToNamespace("/logs"),(u=M.value)==null||u.socket.on(`stdout/${T.value}`,A=>{var Z;(Z=L.value)==null||Z.writeTerminal(A)}),(S=M.value)==null||S.socket.on("stdout",A=>{var Z;(Z=L.value)==null||Z.writeTerminal(A)}),(h=M.value)==null||h.socket.on("disconnect",()=>{var A;(A=L.value)==null||A.writeTerminal(`\r
2
2
  Websocket failed to connect! Is the server running?\r
3
3
  \r
4
- `)}),(W=M.value)==null||W.socket.on("clear-log",()=>{var A;(A=L.value)==null||A.clearTerminal()}),(oe=M.value)==null||oe.socket.emit("get-camera-log",$.value,{sinceLastStart:!0})}),jo(()=>{var u,S;(S=(u=M.value)==null?void 0:u.end)==null||S.call(u)}),c({isLoading:m,onConfirm:H}),(u,S)=>{const f=Go;return s(),p("div",null,[o(f,{ref_key:"consoleRef",ref:L,options:e(C),class:"bg-black !w-full"},null,8,["options"])])}}}),ot={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"},tt=["id"],nt=["mask"];function at(T,c){return s(),p("svg",ot,[a("defs",null,[a("mask",{id:T.idMap.ipSGopro0},c[0]||(c[0]=[Eo('<g fill="none"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M5 7h13v34H5z"></path><rect width="19" height="22" x="24" y="13" fill="#fff" stroke="#fff" stroke-width="4" rx="3"></rect><circle cx="33.5" cy="24.5" r="3.5" fill="#000" stroke="#000" stroke-width="4"></circle><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M18 24h6"></path><rect width="5" height="5" x="9" y="15" fill="#fff" rx="2.5"></rect></g>',1)]),8,tt)]),a("path",{fill:"currentColor",d:"M0 0h48v48H0z",mask:"url(#"+T.idMap.ipSGopro0+")"},null,8,nt)])}const st=J({name:"icon-park-solid-gopro",render:at,setup(){return{idMap:{ipSGopro0:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),rt={viewBox:"0 0 256 295",width:"1.05em",height:"1.2em"};function it(T,c){return s(),p("svg",rt,c[0]||(c[0]=[a("path",{fill:"#EB324B",d:"M125.331 293.51c-3.118-1.658-121.475-70.037-122.633-70.849c-2.463-1.729-2.297 3.704-2.297-75.23c0-78.936-.166-73.502 2.297-75.232c.61-.427 28.67-16.687 62.355-36.133C107.32 11.668 126.75.658 127.751.54c1.811-.214-4.43-3.711 67.33 37.72c42.38 24.468 59.226 34.391 59.85 35.255l.869 1.202v145.427l-.869 1.202c-.624.864-17.465 10.784-59.851 35.255c-67.06 38.716-65.522 37.846-66.92 37.853c-.573.004-1.846-.421-2.829-.944"},null,-1),a("path",{fill:"#333943",d:"M126.397 275.238c-.44-.188-24.952-14.3-54.47-31.361c-34.351-19.855-53.962-31.413-54.485-32.113c-.813-1.09-.816-1.326-.816-64.334c0-63.047.002-63.243.818-64.335c.525-.703 20.06-12.217 54.485-32.112c29.517-17.06 54.116-31.194 54.665-31.411s1.553-.29 2.232-.163c.967.181 104.484 59.604 108.805 62.458c.584.386 1.247 1.188 1.475 1.783c.276.722.456 22.028.54 64.05l.129 62.968l-.839 1.132c-.553.747-12.01 7.575-33.653 20.056c-81.042 46.735-75.862 43.807-77.41 43.75c-.37-.015-1.035-.18-1.476-.368m2.77-69.648c1.108-2.144 5.303-7.487 8.675-11.05c1.858-1.962 8.967-8.558 15.798-14.658c15.764-14.076 20.858-19.385 26.141-27.244c6.775-10.078 10.003-22.102 8.497-31.649c-1.65-10.458-8.018-19.169-17.411-23.816c-4.05-2.004-6.983-2.692-12.42-2.914c-3.993-.163-5.418-.051-8.413.66c-8.679 2.059-16.207 7.752-20.303 15.353c-.683 1.267-1.394 2.304-1.58 2.304s-.785-.883-1.332-1.962c-1.429-2.82-5.446-7.664-7.916-9.544c-6.925-5.274-12.884-7.18-21.304-6.817c-5.447.235-8.748 1.08-13.113 3.36c-7.469 3.9-13.574 11.516-15.849 19.77c-.893 3.24-.993 13.34-.169 17.027c1.92 8.59 6.36 17.046 13.251 25.24c3.87 4.6 11.215 11.695 22.243 21.481c13.554 12.028 18.433 17.105 22.404 23.312c.802 1.254 1.628 2.28 1.836 2.28s.642-.51.964-1.133"},null,-1),a("path",{fill:"#252A32",d:"M151.605 228.562c-12.322-11.157-22.463-20.551-22.536-20.877c-.146-.653 1.673-3.682 4.067-6.771c3.656-4.717 8.413-9.417 20.1-19.861c19.503-17.427 24.871-23.372 30.363-33.623c3.733-6.968 5.5-13.982 5.49-21.786c-.007-5.914-.768-9.263-3.275-14.435c-.632-1.303-1.099-2.488-1.037-2.635c.113-.268 52.387 48.13 53.696 49.715c.651.788.7 2.65.699 26.344c-.002 23.55-.056 25.582-.701 26.626c-.512.829-9.06 5.96-31.948 19.182c-17.187 9.928-31.534 18.13-31.882 18.228c-.41.115-8.524-6.968-23.036-20.107"},null,-1)]))}const ct=J({name:"logos-webtorrent",render:it}),lt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100"},dt=["id"],ut=["id"],mt=["fill","mask"],pt=se({__name:"CuiOnvifIcon",setup(T){const c=D(ye(10)),j=D(ye(10));return(E,R)=>(s(),p("svg",lt,[a("defs",null,[a("linearGradient",{id:e(c),x1:"0%",y1:"0%",x2:"100%",y2:"100%"},R[0]||(R[0]=[a("stop",{offset:"0%",style:{"stop-color":"#29abe2"}},null,-1),a("stop",{offset:"100%",style:{"stop-color":"#4f2d7f"}},null,-1)]),8,dt),a("mask",{id:e(j)},R[1]||(R[1]=[a("rect",{width:"100%",height:"100%",fill:"white"},null,-1),a("circle",{cx:"54",cy:"46",r:"32",fill:"black"},null,-1)]),8,ut)]),a("circle",{cx:"50",cy:"50",r:"40",fill:`url(#${e(c)})`,mask:`url(#${e(j)})`},null,8,mt)]))}}),ht={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function ft(T,c){return s(),p("svg",ht,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M201.459 35.184L93.114 161.545v53.47L254.041 30.733L512 8.902L133.866 406.659l49.874 2.877l274.62-283.015v268.646l-30.716 28.864l78.027 4.612v74.455l-243.583-20.63l123.746-120.395v-59.74L209.185 478L0 460.29L336.764 93.876l-55.874 3.3L37.697 366.981V137.742l22.881-27.544l-56.254 3.326V51.871z"},null,-1)]))}const _t=J({name:"file-icons-ffmpeg",render:ft}),gt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vt(T,c){return s(),p("svg",gt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M11.971.302a.72.72 0 0 0-.444.155L.984 8.82a.7.7 0 0 0-.139.146c.11-.156.037-.046-.048.015c-.084.06-.2.136-.313.22a2 2 0 0 0-.178.141c-.064.057-.143.098-.24.32a.76.76 0 0 0-.026.549c.08.233.277.384.405.441c.253.114.353.079.463.071c.399.022.737-.019.922 0c.077.009.087.017.097.02c.032 3.58.004 7.167.014 10.76a1 1 0 0 0 .014.14c0-.002-.027.367-.033.764c-.003.199-.009.43.137.721c.147.29.565.551.909.559h14.717c1.148-.035 2.39.083 3.686-.07a.717.717 0 0 0 .632-.712v-1.493a2.7 2.7 0 0 0 0-.514v-.025c-.007-2.132-.002-4.268 0-6.406v-1.993l-.002.054c.059-.776-.031-1.39.053-1.803c.041-.01.1-.013.216-.014c.24-.002.601.065 1.055.008l.072-.013a.74.74 0 0 0 .33-.16a.83.83 0 0 0 .27-.524c.027-.383-.132-.498-.202-.58c-.14-.164-.237-.22-.344-.297c-.106-.078-.213-.15-.291-.207c-.08-.058-.143-.133-.076-.05a1 1 0 0 0-.064-.07c-.351-.334-.713-.553-.974-.76c-.23-.18-.358-.33-.434-.497V4.802a1.5 1.5 0 0 0 .023-.493a1.1 1.1 0 0 0-.344-.65c-.344-.297-.711-.293-1.036-.24c-.247-.027-.551.012-.779.23c-.294.28-.29.573-.291.748c-.002.174.017.304.026.398c.008.093-.009.152.012.066a.7.7 0 0 0-.007.313c.034.168-.022.475-.074.583l-.008-.004L12.416.456a.72.72 0 0 0-.445-.154m-.05 2.058c.18-.001.368.043.537.124c2.047 1.552 4.053 3.19 6.103 4.79l-.037-.031c.498.445 1.033.776 1.411 1.115c.375.336.575.614.615 1.025c.007.563.003 1.127.006 1.69q-.017.385.003.716c.004.891.012 1.781.01 2.673v6.867a1.2 1.2 0 0 1-.157.468c-.136.215-.272.314-.523.318c-5.108.018-10.22.003-15.332.008a1 1 0 0 0-.115.009a1.08 1.08 0 0 1-.758-.175c-.2-.143-.305-.31-.303-.562v-.008c-.016-3.27-.002-6.545-.007-9.822l-.002.05c.047-.678-.027-1.31-.004-1.836c.022-.51.11-.872.378-1.183c2.52-2.058 5.115-4.05 7.68-6.093a.84.84 0 0 1 .495-.143m.053 3.088a.72.72 0 0 0-.445.153L7.586 8.706l-.047.04c-.318.3-1.048.59-1.515 1.39a.7.7 0 0 0-.098.354c-.027 2.82-.004 5.633-.012 8.44a.717.717 0 0 0 .717.717h10.682a.717.717 0 0 0 .717-.716v-3.438c-.025-1.683.053-3.415-.042-5.166a.72.72 0 0 0-.26-.514c-.222-.184-.45-.358-.673-.539c-.06-.052-.118-.108-.177-.155c-.124-.102-.24-.184-.358-.272c-.64-.512-1.278-1.026-1.921-1.53q-.314-.253-.644-.505c-.513-.402-1.029-.803-1.536-1.208a.72.72 0 0 0-.445-.156m.016 1.89a.9.9 0 0 1 .325.06c.858.563 1.673 1.31 2.598 2.006l-.06-.05c.297.28.591.486.856.68l.356.283c.218.19.368.365.438.562c.063 1.936.01 3.9.029 5.886v.037c.023.358.006.751-.068.975c-.069.207-.078.248-.27.284c-2.468.053-4.956.008-7.458.023l-.041.002c-.365.023-.765.005-.985-.071c-.211-.073-.244-.069-.275-.297c-.05-1.596-.008-3.22-.023-4.863l-.002.063c.079-.997-.077-1.768.13-2.264c.794-.76 1.788-1.412 2.753-2.206l-.068.05c.436-.281.76-.606 1.047-.827c.284-.217.491-.321.718-.333M.84 9.283c.005 0 .025.009.03.01H.82c-.008 0-.007-.01.022-.01m11.131.79a.7.7 0 0 0-.43.143l-1.824 1.368a.72.72 0 0 0-.286.573v3.191a.717.717 0 0 0 .729.717L13.809 16a.717.717 0 0 0 .703-.717v-3.126a.72.72 0 0 0-.286-.573l-1.824-1.368a.7.7 0 0 0-.43-.144m-10.677.31c-.02.022-.03.023-.03.023zm10.679 1.446c.353.166.668.434.976.782c.107.485.045 1.12.048 1.86c-.006-.002-.022-.012-.088.005c-.141.037-.442.037-.748.026l.02.001c-.455-.029-.856.022-1.078-.007a.5.5 0 0 1-.157-.042l-.002-.006c-.004-.705-.052-1.323.045-1.81c.346-.349.682-.655.984-.809m1.036 2.57c-.012.062-.002.073-.006.072z"},null,-1)]))}const bt=J({name:"cbi-homekit",render:vt}),wt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function yt(T,c){return s(),p("svg",wt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M22.939 10.627L13.061.749a1.505 1.505 0 0 0-2.121 0l-9.879 9.878C.478 11.21 0 12.363 0 13.187v9c0 .826.675 1.5 1.5 1.5h9.227l-4.063-4.062a2 2 0 0 1-.664.113c-1.13 0-2.05-.92-2.05-2.05s.92-2.05 2.05-2.05s2.05.92 2.05 2.05c0 .233-.041.456-.113.665l3.163 3.163V9.928a2.05 2.05 0 0 1-1.15-1.84c0-1.13.92-2.05 2.05-2.05s2.05.92 2.05 2.05a2.05 2.05 0 0 1-1.15 1.84v8.127l3.146-3.146A2.05 2.05 0 0 1 18 12.239c1.13 0 2.05.92 2.05 2.05s-.92 2.05-2.05 2.05a2 2 0 0 1-.709-.13L12.9 20.602v3.088h9.6c.825 0 1.5-.675 1.5-1.5v-9c0-.825-.477-1.977-1.061-2.561z"},null,-1)]))}const xt=J({name:"simple-icons-homeassistant",render:yt}),kt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ct(T,c){return s(),p("svg",kt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M12 2C7.342 2 3.44 5.19 2.328 9.5h6.733A3.01 3.01 0 0 1 12 7.1a3.01 3.01 0 0 1 2.94 2.4h6.732C20.56 5.19 16.658 2 12 2m0 6.1c-1.11 0-2 .89-2 2s.89 2 2 2s2-.89 2-2s-.89-2-2-2m-9.875 2.4C2.051 10.99 2 11.489 2 12q.005.877.162 1.74l2.535-.451c.465 2.165 1.752 4.026 3.553 5.139a7.1 7.1 0 0 0 7.5 0c1.802-1.113 3.089-2.976 3.553-5.14l2.543.452A10 10 0 0 0 22 12c0-.511-.05-1.01-.125-1.5h-6.916c-.199 1.462-1.445 2.6-2.959 2.6s-2.76-1.138-2.959-2.6zm17.846 4.43a8.5 8.5 0 0 1-7.97 5.57a8.5 8.5 0 0 1-7.971-5.568l-1.495.267A10 10 0 0 0 12 22a10 10 0 0 0 9.463-6.803z"},null,-1)]))}const St=J({name:"cbi-roborock",render:Ct}),Tt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function $t(T,c){return s(),p("svg",Tt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M24 16.375a3.05 3.05 0 0 1-.246 1.231a3.1 3.1 0 0 1-1.672 1.66a3.1 3.1 0 0 1-1.225.247a3.7 3.7 0 0 1-.71-.073a4 4 0 0 1-.739-.218a3.2 3.2 0 0 1-.676-.37a2 2 0 0 1-.507-.515a.46.46 0 0 1-.08-.275a.44.44 0 0 1 .152-.346a.5.5 0 0 1 .346-.138a.6.6 0 0 1 .201.04a.4.4 0 0 1 .186.17a.05.05 0 0 0 .016.032l.064.065a1.8 1.8 0 0 0 .798.507a3 3 0 0 0 .943.154a2.1 2.1 0 0 0 .846-.17a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .176-.841v-1.109a3.1 3.1 0 0 1-.985.637a3.1 3.1 0 0 1-1.193.234a3.05 3.05 0 0 1-1.231-.246a3.14 3.14 0 0 1-1.66-1.66a3 3 0 0 1-.247-1.232v-2.544a3.1 3.1 0 0 1 .247-1.225a3.2 3.2 0 0 1 .668-1a3.2 3.2 0 0 1 .986-.669a3.15 3.15 0 0 1 2.463 0a3.1 3.1 0 0 1 1.668 1.668a3.1 3.1 0 0 1 .246 1.225v5.92zm-.967-5.92a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.166 1.16a2.1 2.1 0 0 0-.168.845v2.531a2.1 2.1 0 0 0 .168.853a2.2 2.2 0 0 0 .468.693a2.2 2.2 0 0 0 .694.467a2.2 2.2 0 0 0 1.692 0a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .174-.853zm-7.252 5.356a.44.44 0 0 1-.154.363a.51.51 0 0 1-.66 0a.43.43 0 0 1-.153-.363v-5.356a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.16 1.16a2.1 2.1 0 0 0-.17.846v5.356a.43.43 0 0 1-.152.363a.51.51 0 0 1-.661 0a.43.43 0 0 1-.153-.363v-5.356a3.1 3.1 0 0 1 .246-1.225a3.2 3.2 0 0 1 .67-1a3.2 3.2 0 0 1 .984-.669a3.15 3.15 0 0 1 2.464 0a3.1 3.1 0 0 1 1.667 1.668a3.1 3.1 0 0 1 .247 1.225zm-8.383 0a.44.44 0 0 1-.152.363a.51.51 0 0 1-.662 0a.43.43 0 0 1-.152-.363V7.956a.44.44 0 0 1 .152-.363a.51.51 0 0 1 .662 0a.44.44 0 0 1 .152.363zM4.982 8.44a.46.46 0 0 1-.145.338a.48.48 0 0 1-.355.142a.5.5 0 0 1-.339-.145l-.016-.017a.2.2 0 0 0-.032-.024a.1.1 0 0 1-.033-.025a1.9 1.9 0 0 0-1.24-.43q-.871 0-1.363.595q-.491.596-.492 1.693v5.243a.44.44 0 0 1-.153.363a.53.53 0 0 1-.33.123a.53.53 0 0 1-.33-.123a.43.43 0 0 1-.153-.363v-5.243A4.4 4.4 0 0 1 .18 9.303a3 3 0 0 1 .53-1.031a2.55 2.55 0 0 1 .878-.706a2.8 2.8 0 0 1 1.231-.257a3.1 3.1 0 0 1 1.065.209a2.6 2.6 0 0 1 .934.58a.48.48 0 0 1 .163.343zm2.76-3.128a.826.826 0 0 1-.826.827a.826.826 0 0 1-.827-.827a.826.826 0 0 1 .827-.826a.826.826 0 0 1 .826.826"},null,-1)]))}const Rt=J({name:"simple-icons-ring",render:$t}),Pt={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"};function At(T,c){return s(),p("svg",Pt,c[0]||(c[0]=[a("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8c-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C12.955 4 4 12.955 4 24s8.955 20 20 20s20-8.955 20-20c0-1.341-.138-2.65-.389-3.917"},null,-1),a("path",{fill:"#FF3D00",d:"m6.306 14.691l6.571 4.819C14.655 15.108 18.961 12 24 12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C16.318 4 9.656 8.337 6.306 14.691"},null,-1),a("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.9 11.9 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44"},null,-1),a("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002l6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917"},null,-1)]))}const It=J({name:"flat-color-icons-google",render:At}),Mt={class:"flex flex-col gap-6 w-full h-full"},Ht={class:"flex flex-col w-full h-full gap-6"},jt={class:"h-[70px]"},Et={class:"cui-label"},Lt={class:"flex flex-col w-full h-[calc(100%-70px-1.25rem)]"},Vt={key:0,class:"flex w-full h-full items-center justify-center"},Gt={key:1,class:"flex flex-col w-full h-full items-center justify-center gap-4"},Bt={class:"text-muted"},Ot={class:"flex flex-col"},Ut={class:"font-medium truncate"},Dt={key:0,class:"text-xs text-muted truncate"},qt={key:1,class:"text-xs text-muted truncate"},Ft={key:0,class:"flex flex-col w-full py-4 gap-6"},Wt={for:"name",class:"cui-label"},zt={for:"url",class:"cui-label"},Nt={for:"username",class:"cui-label"},Kt={for:"password",class:"cui-label"},Yt={for:"pin",class:"cui-label"},Xt=se({__name:"DiscoverCameras",setup(T){const c=new Ce,j=Ne(),{t:E}=Be(),{data:R,isFetching:B,refetch:P,isRefetching:$}=c.discoverCamerasQuery(),{mutateAsync:L,isPending:M}=c.pairCameraQuery(),O=de("formRef"),w=D(""),y=D(),m=D({}),C=D(),H=D(),u=D(),S=D(),f=Q(()=>B.value||$.value),W=Q(()=>M.value),oe=Q(()=>{var h;return!!((h=y.value)!=null&&h.url.includes("user:pass"))}),A=Q(()=>{var h,v,V;return((h=y.value)==null?void 0:h.type)==="Google"||((v=y.value)==null?void 0:v.type)==="Roborock"||((V=y.value)==null?void 0:V.type)==="Ring"}),Z=Q(()=>{var V,l;if(!((l=(V=R.value)==null?void 0:V.sources)!=null&&l.length))return[];let h=[{name:"Google Nest",type:"Google",url:"nest?:"},{name:"Ring",type:"Ring",url:"ring?:"},{name:"Roborock",type:"Roborock",url:"roborock://"},...je(R.value.sources)];if(!w.value)return h;const v=w.value.toLowerCase();return h=R.value.sources.filter(n=>(n.name??n.id??"Unknown").toLowerCase().includes(v)||n.url.toLowerCase().includes(v)||n.type&&n.type.toLowerCase().includes(v)),h});Ze(y,h=>{C.value=void 0,H.value=void 0,u.value=void 0,S.value=void 0,re(h==null?void 0:h.url)});const re=h=>{if(!h){m.value={};return}m.value[h]?m.value={}:m.value={[h]:!0}},ie=async()=>{try{y.value=void 0,await P()}catch{}},ce=async()=>{var v;const h=await((v=O.value)==null?void 0:v.validate());if(h!=null&&h.valid&&h.values)try{await L({cameraData:h.values}),await P()}catch{}else j.add({severity:"error",summary:E("components.toast.title_error"),detail:E("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",h)};return(h,v)=>{const V=qe,l=ze,n=ke,i=We,I=Fe,U=De,pe=to,ae=It,ee=Rt,Se=St,he=xt,fe=bt,ge=_t,ve=pt,_e=ct,Te=st,$e=yo,be=ao,Re=so,Pe=no,Ae=Ee,Y=Le;return s(),p("div",Mt,[o(Ae,{class:"cui-card",pt:{body:{class:"h-full"},content:{class:"h-full"}}},{content:t(()=>{var le,x;return[a("div",Ht,[a("div",jt,[a("label",Et,b(h.$t("components.dialog.components.new_camera.search_camera")),1),o(U,null,{default:t(()=>[o(V,{modelValue:e(w),"onUpdate:modelValue":v[0]||(v[0]=r=>ne(w)?w.value=r:null),modelModifiers:{trim:!0},loading:e(f),type:"text"},null,8,["modelValue","loading"]),o(I,null,{default:t(()=>[o(n,{text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:v[1]||(v[1]=r=>w.value="")},{icon:t(()=>[o(l)]),_:1},8,["disabled"]),o(n,{text:"",rounded:"",severity:"secondary",disabled:e(f),onClick:ie},{icon:t(()=>[o(i)]),_:1},8,["disabled"])]),_:1})]),_:1})]),a("div",Lt,[e(f)?(s(),p("div",Vt,[o(pe,{class:"w-[30px] h-[30px] m-0","stroke-width":"5"})])):(x=(le=e(R))==null?void 0:le.sources)!=null&&x.length?(s(),g(Pe,{key:2,selection:e(y),"onUpdate:selection":v[6]||(v[6]=r=>ne(y)?y.value=r:null),"expanded-rows":e(m),"onUpdate:expandedRows":v[7]||(v[7]=r=>ne(m)?m.value=r:null),value:e(Z),"data-key":"url",loading:e(f),scrollable:"","selection-mode":"single",class:"h-full",pt:{root:{class:"h-full"},tableContainer:{class:"h-full"},table:{class:"table-fixed"}}},{expansion:t(r=>[e(A)?(s(),p("div",Ft,"WIP")):_("",!0),o(e(eo),{ref_key:"formRef",ref:O,class:"flex flex-col w-full py-4 gap-6","validation-schema":e(xo)},{default:t(()=>[e(A)?_("",!0):(s(),g(e(F),{key:0,modelValue:e(C),"onUpdate:modelValue":v[2]||(v[2]=d=>ne(C)?C.value=d:null),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Wt,b(h.$t("components.form.label.name")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])),e(A)?_("",!0):(s(),g(e(F),{key:1,"model-value":r.data.url,name:"url",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",zt,b(h.$t("components.form.label.url")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text",readonly:""}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"url",class:"cui-input-error"})]),_:1})]),_:2},1032,["model-value"])),e(oe)?(s(),g(e(F),{key:2,modelValue:e(u),"onUpdate:modelValue":v[3]||(v[3]=d=>ne(u)?u.value=d:null),modelModifiers:{trim:!0},name:"username",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Nt,b(h.$t("components.form.label.username")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"username",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),e(oe)?(s(),g(e(F),{key:3,modelValue:e(S),"onUpdate:modelValue":v[4]||(v[4]=d=>ne(S)?S.value=d:null),name:"password",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Kt,b(h.$t("components.form.label.password")),1),o(U,null,{default:t(()=>[o(Re,X({invalid:k.length>0},d,{loading:e(W),feedback:!1,"toggle-mask":""}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"password",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),r.data.type==="HomeKit"?(s(),g(e(F),{key:4,modelValue:e(H),"onUpdate:modelValue":v[5]||(v[5]=d=>ne(H)?H.value=d:null),modelModifiers:{trim:!0},name:"pin",as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",Yt,b(h.$t("components.form.label.pin")),1),o(U,null,{default:t(()=>[o(V,X(d,{invalid:k.length>0,loading:e(W),type:"text",maxlength:8}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"pin",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),o(e(F),{modelValue:r.data.type,"onUpdate:modelValue":d=>r.data.type=d,name:"type",as:"div",class:"hidden"},null,8,["modelValue","onUpdate:modelValue"]),e(A)?_("",!0):(s(),g(n,{key:5,loading:e(W),label:h.$t("components.dialog.components.new_camera.add_camera"),class:"cui-button-md w-full md:w-auto md:ml-auto",onClick:ce},null,8,["loading","label"]))]),_:2},1032,["validation-schema"])]),default:t(()=>[o(be,{"header-class":"w-10"},{body:t(r=>[r.data.type==="Google"?G((s(),g(n,{key:0,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Google Nest"}]]):_("",!0),r.data.type==="Ring"?G((s(),g(n,{key:1,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ee,{class:"text-blue-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Ring"}]]):_("",!0),r.data.type==="Roborock"?G((s(),g(n,{key:2,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(Se,{class:"text-red-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Roborock"}]]):_("",!0),r.data.type==="Hass"?G((s(),g(n,{key:3,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(he,{class:"text-sky-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Home Assistant"}]]):_("",!0),r.data.type==="HomeKit"?G((s(),g(n,{key:4,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(fe,{class:"text-yellow-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"HomeKit"}]]):_("",!0),r.data.type==="FFmpeg"?G((s(),g(n,{key:5,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ge,{class:"text-green-500",width:"100%",height:"100%"})]),_:1})),[[Y,{value:"FFmpeg"}]]):_("",!0),r.data.type==="Onvif"?G((s(),g(n,{key:6,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ve,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"Onvif"}]]):_("",!0),r.data.type==="Webtorrent"?G((s(),g(n,{key:7,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(_e,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"WebTorrent"}]]):_("",!0),r.data.type==="GoPro"?G((s(),g(n,{key:8,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(Te,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"GoPro"}]]):_("",!0),r.data.type==="DVRip"?G((s(),g(n,{key:9,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o($e,{width:"100%",height:"100%"})]),_:1})),[[Y,{value:"DVRip"}]]):_("",!0)]),_:1}),o(be,{field:"name",header:h.$t("components.form.label.camera")},{body:t(r=>[a("div",Ot,[a("span",Ut,b(r.data.name),1),r.data.type!=="Google"&&r.data.type!=="Roborock"&&r.data.type!=="Ring"?(s(),p("span",Dt,b(r.data.url),1)):_("",!0),r.data.info?(s(),p("span",qt,b(r.data.info),1)):_("",!0)])]),_:1},8,["header"])]),_:1},8,["selection","expanded-rows","value","loading"])):(s(),p("div",Gt,[a("span",Bt,b(h.$t("components.dialog.components.new_camera.no_cameras_found")),1),o(n,{severity:"primary",label:h.$t("components.dialog.components.new_camera.scan_again"),onClick:ie},null,8,["label"])]))])])]}),_:1})])}}}),Qt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jt(T,c){return s(),p("svg",Qt,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M12.5 9q-.275 0-.425-.25t0-.5L15 3.175q.2-.325.5-.387t.65.112q1.725.775 3.05 2.162T21.25 8.2q.125.325-.038.563T20.7 9zm-3.575 1.225l-3-5.2q-.2-.325-.1-.65t.4-.525Q7.425 3 8.888 2.5T12 2q.375 0 .825.038t.75.087q.35.05.463.3t-.063.55L9.8 10.225q-.15.25-.437.25t-.438-.25M2.85 14q-.275 0-.5-.187t-.275-.463t-.062-.6T2 12q0-1.575.513-3.137T4.1 5.9q.275-.35.638-.35t.562.375l4.2 7.325q.15.25-.012.5T9.05 14zm5 7.1q-1.65-.8-3.025-2.175T2.75 15.8q-.125-.325.05-.562T3.325 15h8.15q.275 0 .425.25t0 .5l-2.875 5.025q-.2.325-.5.425t-.675-.1M12 22q-.35 0-.788-.038t-.762-.087q-.35-.05-.475-.3t.05-.55l4.125-7.2q.15-.25.5-.25t.5.25l2.95 5.125q.175.275.113.6t-.413.6q-1.15.85-2.687 1.35T12 22m6.775-3.875l-4.25-7.375q-.15-.25.013-.5t.437-.25h6.175q.275 0 .5.188t.275.462t.062.6T22 12q0 1.575-.513 3.163T19.9 18.125q-.2.275-.575.288t-.55-.288"},null,-1)]))}const Zt=J({name:"material-symbols-camera-rounded",render:Jt}),en={viewBox:"0 0 12 12",width:"1.2em",height:"1.2em"};function on(T,c){return s(),p("svg",en,c[0]||(c[0]=[a("path",{fill:"currentColor",d:"M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 0 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06"},null,-1)]))}const tn=J({name:"fluent-chevron-down12-filled",render:on}),nn="#### Source: Bubble\n\nOther names: [ESeeCloud](http://www.eseecloud.com/), [dvr163](http://help.dvr163.com/).\n\n- you can skip `username`, `password`, `port`, `ch` and `stream` if they are default\n- setup separate streams for different channels and streams\n\n```yaml\nstreams:\n camera1: bubble://username:password@192.168.1.123:34567/bubble/live?ch=0&stream=0\n```\n\n_Source: [Go2Rtc Bubble](https://github.com/AlexxIT/go2rtc#source-bubble)_\n",an='#### Source: CUI\n\nThis source can be used to stream dynamically generated, go2rtc compatible, URLs. The source is just a placeholder for a `https://` URL.\n\n```yaml\nstreams:\n camera1: cui://192.168.1.123:34567/some-identifier-if-you-want\n```\n\nThe URL will be changed to `https://192.168.1.123:34567/some-identifier-if-you-want` and the response must be like this:\n\n```json\n{\n {\n "streamUrl": "rtsp://192.168.1.1:554/stream",\n }\n}\n```\n\nGo2rtc will then use the `streamUrl` to stream the video. The `streamUrl` can be any URL that is compatible with go2rtc. The response must be a valid JSON object with the `streamUrl` key.\n',sn=`#### Source: Doorbird
4
+ `)}),(K=M.value)==null||K.socket.on("clear-log",()=>{var A;(A=L.value)==null||A.clearTerminal()}),(oe=M.value)==null||oe.socket.emit("get-camera-log",T.value,{sinceLastStart:!0})}),jo(()=>{var u,S;(S=(u=M.value)==null?void 0:u.end)==null||S.call(u)}),d({isLoading:m,onConfirm:H}),(u,S)=>{const h=Go;return s(),p("div",null,[o(h,{ref_key:"consoleRef",ref:L,options:e(C),class:"bg-black !w-full"},null,8,["options"])])}}}),ot={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"},tt=["id"],nt=["mask"];function at($,d){return s(),p("svg",ot,[n("defs",null,[n("mask",{id:$.idMap.ipSGopro0},d[0]||(d[0]=[Eo('<g fill="none"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M5 7h13v34H5z"></path><rect width="19" height="22" x="24" y="13" fill="#fff" stroke="#fff" stroke-width="4" rx="3"></rect><circle cx="33.5" cy="24.5" r="3.5" fill="#000" stroke="#000" stroke-width="4"></circle><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M18 24h6"></path><rect width="5" height="5" x="9" y="15" fill="#fff" rx="2.5"></rect></g>',1)]),8,tt)]),n("path",{fill:"currentColor",d:"M0 0h48v48H0z",mask:"url(#"+$.idMap.ipSGopro0+")"},null,8,nt)])}const st=J({name:"icon-park-solid-gopro",render:at,setup(){return{idMap:{ipSGopro0:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),rt={viewBox:"0 0 256 295",width:"1.05em",height:"1.2em"};function it($,d){return s(),p("svg",rt,d[0]||(d[0]=[n("path",{fill:"#EB324B",d:"M125.331 293.51c-3.118-1.658-121.475-70.037-122.633-70.849c-2.463-1.729-2.297 3.704-2.297-75.23c0-78.936-.166-73.502 2.297-75.232c.61-.427 28.67-16.687 62.355-36.133C107.32 11.668 126.75.658 127.751.54c1.811-.214-4.43-3.711 67.33 37.72c42.38 24.468 59.226 34.391 59.85 35.255l.869 1.202v145.427l-.869 1.202c-.624.864-17.465 10.784-59.851 35.255c-67.06 38.716-65.522 37.846-66.92 37.853c-.573.004-1.846-.421-2.829-.944"},null,-1),n("path",{fill:"#333943",d:"M126.397 275.238c-.44-.188-24.952-14.3-54.47-31.361c-34.351-19.855-53.962-31.413-54.485-32.113c-.813-1.09-.816-1.326-.816-64.334c0-63.047.002-63.243.818-64.335c.525-.703 20.06-12.217 54.485-32.112c29.517-17.06 54.116-31.194 54.665-31.411s1.553-.29 2.232-.163c.967.181 104.484 59.604 108.805 62.458c.584.386 1.247 1.188 1.475 1.783c.276.722.456 22.028.54 64.05l.129 62.968l-.839 1.132c-.553.747-12.01 7.575-33.653 20.056c-81.042 46.735-75.862 43.807-77.41 43.75c-.37-.015-1.035-.18-1.476-.368m2.77-69.648c1.108-2.144 5.303-7.487 8.675-11.05c1.858-1.962 8.967-8.558 15.798-14.658c15.764-14.076 20.858-19.385 26.141-27.244c6.775-10.078 10.003-22.102 8.497-31.649c-1.65-10.458-8.018-19.169-17.411-23.816c-4.05-2.004-6.983-2.692-12.42-2.914c-3.993-.163-5.418-.051-8.413.66c-8.679 2.059-16.207 7.752-20.303 15.353c-.683 1.267-1.394 2.304-1.58 2.304s-.785-.883-1.332-1.962c-1.429-2.82-5.446-7.664-7.916-9.544c-6.925-5.274-12.884-7.18-21.304-6.817c-5.447.235-8.748 1.08-13.113 3.36c-7.469 3.9-13.574 11.516-15.849 19.77c-.893 3.24-.993 13.34-.169 17.027c1.92 8.59 6.36 17.046 13.251 25.24c3.87 4.6 11.215 11.695 22.243 21.481c13.554 12.028 18.433 17.105 22.404 23.312c.802 1.254 1.628 2.28 1.836 2.28s.642-.51.964-1.133"},null,-1),n("path",{fill:"#252A32",d:"M151.605 228.562c-12.322-11.157-22.463-20.551-22.536-20.877c-.146-.653 1.673-3.682 4.067-6.771c3.656-4.717 8.413-9.417 20.1-19.861c19.503-17.427 24.871-23.372 30.363-33.623c3.733-6.968 5.5-13.982 5.49-21.786c-.007-5.914-.768-9.263-3.275-14.435c-.632-1.303-1.099-2.488-1.037-2.635c.113-.268 52.387 48.13 53.696 49.715c.651.788.7 2.65.699 26.344c-.002 23.55-.056 25.582-.701 26.626c-.512.829-9.06 5.96-31.948 19.182c-17.187 9.928-31.534 18.13-31.882 18.228c-.41.115-8.524-6.968-23.036-20.107"},null,-1)]))}const lt=J({name:"logos-webtorrent",render:it}),ct={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100"},dt=["id"],ut=["id"],mt=["fill","mask"],pt=se({__name:"CuiOnvifIcon",setup($){const d=F(xe(10)),j=F(xe(10));return(E,R)=>(s(),p("svg",ct,[n("defs",null,[n("linearGradient",{id:e(d),x1:"0%",y1:"0%",x2:"100%",y2:"100%"},R[0]||(R[0]=[n("stop",{offset:"0%",style:{"stop-color":"#29abe2"}},null,-1),n("stop",{offset:"100%",style:{"stop-color":"#4f2d7f"}},null,-1)]),8,dt),n("mask",{id:e(j)},R[1]||(R[1]=[n("rect",{width:"100%",height:"100%",fill:"white"},null,-1),n("circle",{cx:"54",cy:"46",r:"32",fill:"black"},null,-1)]),8,ut)]),n("circle",{cx:"50",cy:"50",r:"40",fill:`url(#${e(d)})`,mask:`url(#${e(j)})`},null,8,mt)]))}}),ht={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function ft($,d){return s(),p("svg",ht,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M201.459 35.184L93.114 161.545v53.47L254.041 30.733L512 8.902L133.866 406.659l49.874 2.877l274.62-283.015v268.646l-30.716 28.864l78.027 4.612v74.455l-243.583-20.63l123.746-120.395v-59.74L209.185 478L0 460.29L336.764 93.876l-55.874 3.3L37.697 366.981V137.742l22.881-27.544l-56.254 3.326V51.871z"},null,-1)]))}const _t=J({name:"file-icons-ffmpeg",render:ft}),gt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vt($,d){return s(),p("svg",gt,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M11.971.302a.72.72 0 0 0-.444.155L.984 8.82a.7.7 0 0 0-.139.146c.11-.156.037-.046-.048.015c-.084.06-.2.136-.313.22a2 2 0 0 0-.178.141c-.064.057-.143.098-.24.32a.76.76 0 0 0-.026.549c.08.233.277.384.405.441c.253.114.353.079.463.071c.399.022.737-.019.922 0c.077.009.087.017.097.02c.032 3.58.004 7.167.014 10.76a1 1 0 0 0 .014.14c0-.002-.027.367-.033.764c-.003.199-.009.43.137.721c.147.29.565.551.909.559h14.717c1.148-.035 2.39.083 3.686-.07a.717.717 0 0 0 .632-.712v-1.493a2.7 2.7 0 0 0 0-.514v-.025c-.007-2.132-.002-4.268 0-6.406v-1.993l-.002.054c.059-.776-.031-1.39.053-1.803c.041-.01.1-.013.216-.014c.24-.002.601.065 1.055.008l.072-.013a.74.74 0 0 0 .33-.16a.83.83 0 0 0 .27-.524c.027-.383-.132-.498-.202-.58c-.14-.164-.237-.22-.344-.297c-.106-.078-.213-.15-.291-.207c-.08-.058-.143-.133-.076-.05a1 1 0 0 0-.064-.07c-.351-.334-.713-.553-.974-.76c-.23-.18-.358-.33-.434-.497V4.802a1.5 1.5 0 0 0 .023-.493a1.1 1.1 0 0 0-.344-.65c-.344-.297-.711-.293-1.036-.24c-.247-.027-.551.012-.779.23c-.294.28-.29.573-.291.748c-.002.174.017.304.026.398c.008.093-.009.152.012.066a.7.7 0 0 0-.007.313c.034.168-.022.475-.074.583l-.008-.004L12.416.456a.72.72 0 0 0-.445-.154m-.05 2.058c.18-.001.368.043.537.124c2.047 1.552 4.053 3.19 6.103 4.79l-.037-.031c.498.445 1.033.776 1.411 1.115c.375.336.575.614.615 1.025c.007.563.003 1.127.006 1.69q-.017.385.003.716c.004.891.012 1.781.01 2.673v6.867a1.2 1.2 0 0 1-.157.468c-.136.215-.272.314-.523.318c-5.108.018-10.22.003-15.332.008a1 1 0 0 0-.115.009a1.08 1.08 0 0 1-.758-.175c-.2-.143-.305-.31-.303-.562v-.008c-.016-3.27-.002-6.545-.007-9.822l-.002.05c.047-.678-.027-1.31-.004-1.836c.022-.51.11-.872.378-1.183c2.52-2.058 5.115-4.05 7.68-6.093a.84.84 0 0 1 .495-.143m.053 3.088a.72.72 0 0 0-.445.153L7.586 8.706l-.047.04c-.318.3-1.048.59-1.515 1.39a.7.7 0 0 0-.098.354c-.027 2.82-.004 5.633-.012 8.44a.717.717 0 0 0 .717.717h10.682a.717.717 0 0 0 .717-.716v-3.438c-.025-1.683.053-3.415-.042-5.166a.72.72 0 0 0-.26-.514c-.222-.184-.45-.358-.673-.539c-.06-.052-.118-.108-.177-.155c-.124-.102-.24-.184-.358-.272c-.64-.512-1.278-1.026-1.921-1.53q-.314-.253-.644-.505c-.513-.402-1.029-.803-1.536-1.208a.72.72 0 0 0-.445-.156m.016 1.89a.9.9 0 0 1 .325.06c.858.563 1.673 1.31 2.598 2.006l-.06-.05c.297.28.591.486.856.68l.356.283c.218.19.368.365.438.562c.063 1.936.01 3.9.029 5.886v.037c.023.358.006.751-.068.975c-.069.207-.078.248-.27.284c-2.468.053-4.956.008-7.458.023l-.041.002c-.365.023-.765.005-.985-.071c-.211-.073-.244-.069-.275-.297c-.05-1.596-.008-3.22-.023-4.863l-.002.063c.079-.997-.077-1.768.13-2.264c.794-.76 1.788-1.412 2.753-2.206l-.068.05c.436-.281.76-.606 1.047-.827c.284-.217.491-.321.718-.333M.84 9.283c.005 0 .025.009.03.01H.82c-.008 0-.007-.01.022-.01m11.131.79a.7.7 0 0 0-.43.143l-1.824 1.368a.72.72 0 0 0-.286.573v3.191a.717.717 0 0 0 .729.717L13.809 16a.717.717 0 0 0 .703-.717v-3.126a.72.72 0 0 0-.286-.573l-1.824-1.368a.7.7 0 0 0-.43-.144m-10.677.31c-.02.022-.03.023-.03.023zm10.679 1.446c.353.166.668.434.976.782c.107.485.045 1.12.048 1.86c-.006-.002-.022-.012-.088.005c-.141.037-.442.037-.748.026l.02.001c-.455-.029-.856.022-1.078-.007a.5.5 0 0 1-.157-.042l-.002-.006c-.004-.705-.052-1.323.045-1.81c.346-.349.682-.655.984-.809m1.036 2.57c-.012.062-.002.073-.006.072z"},null,-1)]))}const bt=J({name:"cbi-homekit",render:vt}),wt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function yt($,d){return s(),p("svg",wt,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M22.939 10.627L13.061.749a1.505 1.505 0 0 0-2.121 0l-9.879 9.878C.478 11.21 0 12.363 0 13.187v9c0 .826.675 1.5 1.5 1.5h9.227l-4.063-4.062a2 2 0 0 1-.664.113c-1.13 0-2.05-.92-2.05-2.05s.92-2.05 2.05-2.05s2.05.92 2.05 2.05c0 .233-.041.456-.113.665l3.163 3.163V9.928a2.05 2.05 0 0 1-1.15-1.84c0-1.13.92-2.05 2.05-2.05s2.05.92 2.05 2.05a2.05 2.05 0 0 1-1.15 1.84v8.127l3.146-3.146A2.05 2.05 0 0 1 18 12.239c1.13 0 2.05.92 2.05 2.05s-.92 2.05-2.05 2.05a2 2 0 0 1-.709-.13L12.9 20.602v3.088h9.6c.825 0 1.5-.675 1.5-1.5v-9c0-.825-.477-1.977-1.061-2.561z"},null,-1)]))}const xt=J({name:"simple-icons-homeassistant",render:yt}),kt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ct($,d){return s(),p("svg",kt,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M12 2C7.342 2 3.44 5.19 2.328 9.5h6.733A3.01 3.01 0 0 1 12 7.1a3.01 3.01 0 0 1 2.94 2.4h6.732C20.56 5.19 16.658 2 12 2m0 6.1c-1.11 0-2 .89-2 2s.89 2 2 2s2-.89 2-2s-.89-2-2-2m-9.875 2.4C2.051 10.99 2 11.489 2 12q.005.877.162 1.74l2.535-.451c.465 2.165 1.752 4.026 3.553 5.139a7.1 7.1 0 0 0 7.5 0c1.802-1.113 3.089-2.976 3.553-5.14l2.543.452A10 10 0 0 0 22 12c0-.511-.05-1.01-.125-1.5h-6.916c-.199 1.462-1.445 2.6-2.959 2.6s-2.76-1.138-2.959-2.6zm17.846 4.43a8.5 8.5 0 0 1-7.97 5.57a8.5 8.5 0 0 1-7.971-5.568l-1.495.267A10 10 0 0 0 12 22a10 10 0 0 0 9.463-6.803z"},null,-1)]))}const St=J({name:"cbi-roborock",render:Ct}),$t={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Tt($,d){return s(),p("svg",$t,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M24 16.375a3.05 3.05 0 0 1-.246 1.231a3.1 3.1 0 0 1-1.672 1.66a3.1 3.1 0 0 1-1.225.247a3.7 3.7 0 0 1-.71-.073a4 4 0 0 1-.739-.218a3.2 3.2 0 0 1-.676-.37a2 2 0 0 1-.507-.515a.46.46 0 0 1-.08-.275a.44.44 0 0 1 .152-.346a.5.5 0 0 1 .346-.138a.6.6 0 0 1 .201.04a.4.4 0 0 1 .186.17a.05.05 0 0 0 .016.032l.064.065a1.8 1.8 0 0 0 .798.507a3 3 0 0 0 .943.154a2.1 2.1 0 0 0 .846-.17a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .176-.841v-1.109a3.1 3.1 0 0 1-.985.637a3.1 3.1 0 0 1-1.193.234a3.05 3.05 0 0 1-1.231-.246a3.14 3.14 0 0 1-1.66-1.66a3 3 0 0 1-.247-1.232v-2.544a3.1 3.1 0 0 1 .247-1.225a3.2 3.2 0 0 1 .668-1a3.2 3.2 0 0 1 .986-.669a3.15 3.15 0 0 1 2.463 0a3.1 3.1 0 0 1 1.668 1.668a3.1 3.1 0 0 1 .246 1.225v5.92zm-.967-5.92a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.166 1.16a2.1 2.1 0 0 0-.168.845v2.531a2.1 2.1 0 0 0 .168.853a2.2 2.2 0 0 0 .468.693a2.2 2.2 0 0 0 .694.467a2.2 2.2 0 0 0 1.692 0a2.2 2.2 0 0 0 1.16-1.16a2.1 2.1 0 0 0 .174-.853zm-7.252 5.356a.44.44 0 0 1-.154.363a.51.51 0 0 1-.66 0a.43.43 0 0 1-.153-.363v-5.356a2.1 2.1 0 0 0-.17-.846a2.2 2.2 0 0 0-1.16-1.16a2.2 2.2 0 0 0-1.692 0a2.2 2.2 0 0 0-1.16 1.16a2.1 2.1 0 0 0-.17.846v5.356a.43.43 0 0 1-.152.363a.51.51 0 0 1-.661 0a.43.43 0 0 1-.153-.363v-5.356a3.1 3.1 0 0 1 .246-1.225a3.2 3.2 0 0 1 .67-1a3.2 3.2 0 0 1 .984-.669a3.15 3.15 0 0 1 2.464 0a3.1 3.1 0 0 1 1.667 1.668a3.1 3.1 0 0 1 .247 1.225zm-8.383 0a.44.44 0 0 1-.152.363a.51.51 0 0 1-.662 0a.43.43 0 0 1-.152-.363V7.956a.44.44 0 0 1 .152-.363a.51.51 0 0 1 .662 0a.44.44 0 0 1 .152.363zM4.982 8.44a.46.46 0 0 1-.145.338a.48.48 0 0 1-.355.142a.5.5 0 0 1-.339-.145l-.016-.017a.2.2 0 0 0-.032-.024a.1.1 0 0 1-.033-.025a1.9 1.9 0 0 0-1.24-.43q-.871 0-1.363.595q-.491.596-.492 1.693v5.243a.44.44 0 0 1-.153.363a.53.53 0 0 1-.33.123a.53.53 0 0 1-.33-.123a.43.43 0 0 1-.153-.363v-5.243A4.4 4.4 0 0 1 .18 9.303a3 3 0 0 1 .53-1.031a2.55 2.55 0 0 1 .878-.706a2.8 2.8 0 0 1 1.231-.257a3.1 3.1 0 0 1 1.065.209a2.6 2.6 0 0 1 .934.58a.48.48 0 0 1 .163.343zm2.76-3.128a.826.826 0 0 1-.826.827a.826.826 0 0 1-.827-.827a.826.826 0 0 1 .827-.826a.826.826 0 0 1 .826.826"},null,-1)]))}const Rt=J({name:"simple-icons-ring",render:Tt}),Pt={viewBox:"0 0 48 48",width:"1.2em",height:"1.2em"};function At($,d){return s(),p("svg",Pt,d[0]||(d[0]=[n("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8c-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C12.955 4 4 12.955 4 24s8.955 20 20 20s20-8.955 20-20c0-1.341-.138-2.65-.389-3.917"},null,-1),n("path",{fill:"#FF3D00",d:"m6.306 14.691l6.571 4.819C14.655 15.108 18.961 12 24 12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4C16.318 4 9.656 8.337 6.306 14.691"},null,-1),n("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.9 11.9 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44"},null,-1),n("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002l6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917"},null,-1)]))}const It=J({name:"flat-color-icons-google",render:At}),Mt={class:"flex flex-col gap-6 w-full h-full"},Ht={class:"flex flex-col w-full h-full gap-6"},jt={class:"h-[70px]"},Et={class:"cui-label"},Lt={class:"flex flex-col w-full h-[calc(100%-70px-1.25rem)]"},Vt={key:0,class:"flex w-full h-full items-center justify-center"},Gt={key:1,class:"flex flex-col w-full h-full items-center justify-center gap-4"},Bt={class:"text-muted"},Ot={class:"flex flex-col"},Ut={class:"font-medium truncate"},Dt={key:0,class:"text-xs text-muted truncate"},qt={key:1,class:"text-xs text-muted truncate"},Ft={key:0,class:"flex flex-col w-full py-4 gap-6"},zt={for:"name",class:"cui-label"},Wt={for:"url",class:"cui-label"},Nt={for:"username",class:"cui-label"},Kt={for:"password",class:"cui-label"},Yt={for:"pin",class:"cui-label"},Xt=se({__name:"DiscoverCameras",setup($){const d=new Se,j=Ne(),{t:E}=Be(),{data:R,isFetching:B,refetch:P,isRefetching:T}=d.discoverCamerasQuery(),{mutateAsync:L,isPending:M}=d.pairCameraQuery(),O=ue("formRef"),y=F(""),x=F(),m=F({}),C=F(),H=F(),u=F(),S=F(),h=Q(()=>B.value||T.value),K=Q(()=>M.value),oe=Q(()=>{var f;return!!((f=x.value)!=null&&f.url.includes("user:pass"))}),A=Q(()=>{var f,w,V;return((f=x.value)==null?void 0:f.type)==="Google"||((w=x.value)==null?void 0:w.type)==="Roborock"||((V=x.value)==null?void 0:V.type)==="Ring"}),Z=Q(()=>{var V,i;if(!((i=(V=R.value)==null?void 0:V.sources)!=null&&i.length))return[];let f=[{name:"Google Nest",type:"Google",url:"nest?:"},{name:"Ring",type:"Ring",url:"ring?:"},{name:"Roborock",type:"Roborock",url:"roborock://"},...je(R.value.sources)];if(!y.value)return f;const w=y.value.toLowerCase();return f=R.value.sources.filter(a=>(a.name??a.id??"Unknown").toLowerCase().includes(w)||a.url.toLowerCase().includes(w)||a.type&&a.type.toLowerCase().includes(w)),f});Ze(x,f=>{C.value=void 0,H.value=void 0,u.value=void 0,S.value=void 0,re(f==null?void 0:f.url)});const re=f=>{if(!f){m.value={};return}m.value[f]?m.value={}:m.value={[f]:!0}},ie=async()=>{try{x.value=void 0,await P()}catch{}},le=async()=>{var w;const f=await((w=O.value)==null?void 0:w.validate());if(f!=null&&f.valid&&f.values)try{await L({cameraData:f.values}),await P()}catch{}else j.add({severity:"error",summary:E("components.toast.title_error"),detail:E("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",f)};return(f,w)=>{const V=qe,i=We,a=Ce,l=ze,I=Fe,U=De,he=to,ae=It,ee=Rt,$e=St,fe=xt,ce=bt,_e=_t,ve=pt,ge=lt,Te=st,Re=yo,be=ao,Pe=so,Ae=no,Ie=Ee,X=Le;return s(),p("div",Mt,[o(Ie,{class:"cui-card",pt:{body:{class:"h-full"},content:{class:"h-full"}}},{content:t(()=>{var de,b;return[n("div",Ht,[n("div",jt,[n("label",Et,v(f.$t("components.dialog.components.new_camera.search_camera")),1),o(U,null,{default:t(()=>[o(V,{modelValue:e(y),"onUpdate:modelValue":w[0]||(w[0]=r=>ne(y)?y.value=r:null),modelModifiers:{trim:!0},loading:e(h),type:"text"},null,8,["modelValue","loading"]),o(I,null,{default:t(()=>[o(a,{text:"",rounded:"",severity:"secondary",disabled:e(h),class:"border-right-color",onClick:w[1]||(w[1]=r=>y.value="")},{icon:t(()=>[o(i)]),_:1},8,["disabled"]),o(a,{text:"",rounded:"",severity:"secondary",disabled:e(h),onClick:ie},{icon:t(()=>[o(l)]),_:1},8,["disabled"])]),_:1})]),_:1})]),n("div",Lt,[e(h)?(s(),p("div",Vt,[o(he,{class:"w-[30px] h-[30px] m-0","stroke-width":"5"})])):(b=(de=e(R))==null?void 0:de.sources)!=null&&b.length?(s(),g(Ae,{key:2,selection:e(x),"onUpdate:selection":w[6]||(w[6]=r=>ne(x)?x.value=r:null),"expanded-rows":e(m),"onUpdate:expandedRows":w[7]||(w[7]=r=>ne(m)?m.value=r:null),value:e(Z),"data-key":"url",loading:e(h),scrollable:"","selection-mode":"single",class:"h-full",pt:{root:{class:"h-full"},tableContainer:{class:"h-full"},table:{class:"table-fixed"}}},{expansion:t(r=>[e(A)?(s(),p("div",Ft,"WIP")):_("",!0),o(e(eo),{ref_key:"formRef",ref:O,class:"flex flex-col w-full py-4 gap-6","validation-schema":e(xo)},{default:t(()=>[e(A)?_("",!0):(s(),g(e(q),{key:0,modelValue:e(C),"onUpdate:modelValue":w[2]||(w[2]=c=>ne(C)?C.value=c:null),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",zt,v(f.$t("components.form.label.name")),1),o(U,null,{default:t(()=>[o(V,Y(c,{invalid:k.length>0,loading:e(K),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])),e(A)?_("",!0):(s(),g(e(q),{key:1,"model-value":r.data.url,name:"url",as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",Wt,v(f.$t("components.form.label.url")),1),o(U,null,{default:t(()=>[o(V,Y(c,{invalid:k.length>0,loading:e(K),type:"text",readonly:""}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:"url",class:"cui-input-error"})]),_:1})]),_:2},1032,["model-value"])),e(oe)?(s(),g(e(q),{key:2,modelValue:e(u),"onUpdate:modelValue":w[3]||(w[3]=c=>ne(u)?u.value=c:null),modelModifiers:{trim:!0},name:"username",as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",Nt,v(f.$t("components.form.label.username")),1),o(U,null,{default:t(()=>[o(V,Y(c,{invalid:k.length>0,loading:e(K),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:"username",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),e(oe)?(s(),g(e(q),{key:3,modelValue:e(S),"onUpdate:modelValue":w[4]||(w[4]=c=>ne(S)?S.value=c:null),name:"password",as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",Kt,v(f.$t("components.form.label.password")),1),o(U,null,{default:t(()=>[o(Pe,Y({invalid:k.length>0},c,{loading:e(K),feedback:!1,"toggle-mask":""}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:"password",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),r.data.type==="HomeKit"?(s(),g(e(q),{key:4,modelValue:e(H),"onUpdate:modelValue":w[5]||(w[5]=c=>ne(H)?H.value=c:null),modelModifiers:{trim:!0},name:"pin",as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",Yt,v(f.$t("components.form.label.pin")),1),o(U,null,{default:t(()=>[o(V,Y(c,{invalid:k.length>0,loading:e(K),type:"text",maxlength:8}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:"pin",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])):_("",!0),o(e(q),{modelValue:r.data.type,"onUpdate:modelValue":c=>r.data.type=c,name:"type",as:"div",class:"hidden"},null,8,["modelValue","onUpdate:modelValue"]),e(A)?_("",!0):(s(),g(a,{key:5,loading:e(K),label:f.$t("components.dialog.components.new_camera.add_camera"),class:"cui-button-md w-full md:w-auto md:ml-auto",onClick:le},null,8,["loading","label"]))]),_:2},1032,["validation-schema"])]),default:t(()=>[o(be,{"header-class":"w-10"},{body:t(r=>[r.data.type==="Google"?G((s(),g(a,{key:0,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:1})),[[X,{value:"Google Nest"}]]):_("",!0),r.data.type==="Ring"?G((s(),g(a,{key:1,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(ee,{class:"text-blue-500",width:"100%",height:"100%"})]),_:1})),[[X,{value:"Ring"}]]):_("",!0),r.data.type==="Roborock"?G((s(),g(a,{key:2,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o($e,{class:"text-red-500",width:"100%",height:"100%"})]),_:1})),[[X,{value:"Roborock"}]]):_("",!0),r.data.type==="Hass"?G((s(),g(a,{key:3,text:"",rounded:"",class:"cui-icon-md"},{icon:t(()=>[o(fe,{class:"text-sky-500",width:"100%",height:"100%"})]),_:1})),[[X,{value:"Home Assistant"}]]):_("",!0),r.data.type==="HomeKit"?G((s(),g(a,{key:4,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ce,{class:"text-yellow-500",width:"100%",height:"100%"})]),_:1})),[[X,{value:"HomeKit"}]]):_("",!0),r.data.type==="FFmpeg"?G((s(),g(a,{key:5,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(_e,{class:"text-green-500",width:"100%",height:"100%"})]),_:1})),[[X,{value:"FFmpeg"}]]):_("",!0),r.data.type==="Onvif"?G((s(),g(a,{key:6,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ve,{width:"100%",height:"100%"})]),_:1})),[[X,{value:"Onvif"}]]):_("",!0),r.data.type==="Webtorrent"?G((s(),g(a,{key:7,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(ge,{width:"100%",height:"100%"})]),_:1})),[[X,{value:"WebTorrent"}]]):_("",!0),r.data.type==="GoPro"?G((s(),g(a,{key:8,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(Te,{width:"100%",height:"100%"})]),_:1})),[[X,{value:"GoPro"}]]):_("",!0),r.data.type==="DVRip"?G((s(),g(a,{key:9,text:"",rounded:"",class:"cui-icon-md !bg-transparent"},{icon:t(()=>[o(Re,{width:"100%",height:"100%"})]),_:1})),[[X,{value:"DVRip"}]]):_("",!0)]),_:1}),o(be,{field:"name",header:f.$t("components.form.label.camera")},{body:t(r=>[n("div",Ot,[n("span",Ut,v(r.data.name),1),r.data.type!=="Google"&&r.data.type!=="Roborock"&&r.data.type!=="Ring"?(s(),p("span",Dt,v(r.data.url),1)):_("",!0),r.data.info?(s(),p("span",qt,v(r.data.info),1)):_("",!0)])]),_:1},8,["header"])]),_:1},8,["selection","expanded-rows","value","loading"])):(s(),p("div",Gt,[n("span",Bt,v(f.$t("components.dialog.components.new_camera.no_cameras_found")),1),o(a,{severity:"primary",label:f.$t("components.dialog.components.new_camera.scan_again"),onClick:ie},null,8,["label"])]))])])]}),_:1})])}}}),Qt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jt($,d){return s(),p("svg",Qt,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M12.5 9q-.275 0-.425-.25t0-.5L15 3.175q.2-.325.5-.387t.65.112q1.725.775 3.05 2.162T21.25 8.2q.125.325-.038.563T20.7 9zm-3.575 1.225l-3-5.2q-.2-.325-.1-.65t.4-.525Q7.425 3 8.888 2.5T12 2q.375 0 .825.038t.75.087q.35.05.463.3t-.063.55L9.8 10.225q-.15.25-.437.25t-.438-.25M2.85 14q-.275 0-.5-.187t-.275-.463t-.062-.6T2 12q0-1.575.513-3.137T4.1 5.9q.275-.35.638-.35t.562.375l4.2 7.325q.15.25-.012.5T9.05 14zm5 7.1q-1.65-.8-3.025-2.175T2.75 15.8q-.125-.325.05-.562T3.325 15h8.15q.275 0 .425.25t0 .5l-2.875 5.025q-.2.325-.5.425t-.675-.1M12 22q-.35 0-.788-.038t-.762-.087q-.35-.05-.475-.3t.05-.55l4.125-7.2q.15-.25.5-.25t.5.25l2.95 5.125q.175.275.113.6t-.413.6q-1.15.85-2.687 1.35T12 22m6.775-3.875l-4.25-7.375q-.15-.25.013-.5t.437-.25h6.175q.275 0 .5.188t.275.462t.062.6T22 12q0 1.575-.513 3.163T19.9 18.125q-.2.275-.575.288t-.55-.288"},null,-1)]))}const Zt=J({name:"material-symbols-camera-rounded",render:Jt}),en={viewBox:"0 0 12 12",width:"1.2em",height:"1.2em"};function on($,d){return s(),p("svg",en,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 0 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06"},null,-1)]))}const tn=J({name:"fluent-chevron-down12-filled",render:on}),nn="#### Source: Bubble\n\nOther names: [ESeeCloud](http://www.eseecloud.com/), [dvr163](http://help.dvr163.com/).\n\n- you can skip `username`, `password`, `port`, `ch` and `stream` if they are default\n- setup separate streams for different channels and streams\n\n```yaml\nstreams:\n camera1: bubble://username:password@192.168.1.123:34567/bubble/live?ch=0&stream=0\n```\n\n_Source: [Go2Rtc Bubble](https://github.com/AlexxIT/go2rtc#source-bubble)_\n",an='#### Source: CUI\n\nThis source can be used to stream dynamically generated, go2rtc compatible, URLs. The source is just a placeholder for a `https://` URL.\n\n```yaml\nstreams:\n camera1: cui://192.168.1.123:34567/some-identifier-if-you-want\n```\n\nThe URL will be changed to `https://192.168.1.123:34567/some-identifier-if-you-want` and the response must be like this:\n\n```json\n{\n {\n "streamUrl": "rtsp://192.168.1.1:554/stream",\n }\n}\n```\n\nGo2rtc will then use the `streamUrl` to stream the video. The `streamUrl` can be any URL that is compatible with go2rtc. The response must be a valid JSON object with the `streamUrl` key.\n',sn=`#### Source: Doorbird
5
5
 
6
6
  [Doorbird](https://www.doorbird.com/) proprietary camera protocol with **two way audio** support.
7
7
 
@@ -17,7 +17,7 @@ streams:
17
17
  mjpeg-video:
18
18
  - doorbird://user:pass@123.123.123.123?media=video
19
19
  \`\`\`
20
- `,rn="#### Source: DVRIP\n\nOther names: DVR-IP, NetSurveillance, Sofia protocol (NETsurveillance ActiveX plugin XMeye SDK).\n\n- you can skip `username`, `password`, `port`, `channel` and `subtype` if they are default\n- setup separate streams for different channels\n- use `subtype=0` for Main stream, and `subtype=1` for Extra1 stream\n- only the TCP protocol is supported\n\n```yaml\nstreams:\n only_stream: dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n only_tts: dvrip://username:password@192.168.1.123:34567?backchannel=1\n two_way_audio:\n - dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n - dvrip://username:password@192.168.1.123:34567?backchannel=1\n```\n\n_Source: [Go2Rtc DVRIP](https://github.com/AlexxIT/go2rtc#source-dvrip)_\n",cn=`#### Source: Echo
20
+ `,rn="#### Source: DVRIP\n\nOther names: DVR-IP, NetSurveillance, Sofia protocol (NETsurveillance ActiveX plugin XMeye SDK).\n\n- you can skip `username`, `password`, `port`, `channel` and `subtype` if they are default\n- setup separate streams for different channels\n- use `subtype=0` for Main stream, and `subtype=1` for Extra1 stream\n- only the TCP protocol is supported\n\n```yaml\nstreams:\n only_stream: dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n only_tts: dvrip://username:password@192.168.1.123:34567?backchannel=1\n two_way_audio:\n - dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n - dvrip://username:password@192.168.1.123:34567?backchannel=1\n```\n\n_Source: [Go2Rtc DVRIP](https://github.com/AlexxIT/go2rtc#source-dvrip)_\n",ln=`#### Source: Echo
21
21
 
22
22
  Some sources may have a dynamic link. And you will need to get it using a bash or python script. Your script should echo a link to the source. RTSP, FFmpeg or any of the [supported sources](https://github.com/AlexxIT/go2rtc#module-streams).
23
23
 
@@ -30,7 +30,7 @@ streams:
30
30
  \`\`\`
31
31
 
32
32
  _Source: [Go2Rtc Echo](https://github.com/AlexxIT/go2rtc#source-echo)_
33
- `,ln=`#### Source: Exec
33
+ `,cn=`#### Source: Exec
34
34
 
35
35
  Exec source can run any external application and expect data from it. Two transports are supported - **pipe** and **RTSP**.
36
36
 
@@ -433,7 +433,7 @@ echo -n "cloud password" | shasum -a 256 | awk '{print toupper($0)}'
433
433
  \`\`\`
434
434
 
435
435
  _Source: [Go2Rtc Tapo](https://github.com/AlexxIT/go2rtc#source-tapo)_
436
- `,Tn="#### Source: Tuya\n\n[Tuya](https://www.tuya.com/solution/hardware/ip-camera) proprietary camera protocol with **two way audio** support.\n\n```yaml\nstreams:\n camera1: tuya://openapi.tuyaus.com?device_id=XXX&uid=XXX&client_id=XXX&secret=XXX\n```\n\n- `device_id` - The device ID of the Tuya camera\n- `uid` - User ID (UID) of the linked app account\n- `client_id` - Access/Client ID of the cloud project\n- `secret` - Access/Client secret of the cloud project\n- `resolution` - Optional, can be `0` (HD) or `1` (SD). Not all cameras support this option\n- `use_rtsp` - Optional, can be `1` or `0`. Use RTSP stream instead of Tuya's proprietary protocol. Not all cameras support this option\n\nMore information about the webrtc integration can be found in the [Tuya documentation](https://developer.tuya.com/en/docs/iot/webrtc?id=Kacsd4x2hl0se) and [Supported Tuya Regions](https://developer.tuya.com/en/docs/iot/api-request?id=Ka4a8uuo1j4t4#title-1-Endpoints)\n",$n=`#### Source: WebRTC
436
+ `,$n="#### Source: Tuya\n\n[Tuya](https://www.tuya.com/solution/hardware/ip-camera) proprietary camera protocol with **two way audio** support.\n\n```yaml\nstreams:\n camera1: tuya://openapi.tuyaus.com?device_id=XXX&uid=XXX&client_id=XXX&secret=XXX\n```\n\n- `device_id` - The device ID of the Tuya camera\n- `uid` - User ID (UID) of the linked app account\n- `client_id` - Access/Client ID of the cloud project\n- `secret` - Access/Client secret of the cloud project\n- `resolution` - Optional, can be `0` (HD) or `1` (SD). Not all cameras support this option\n- `use_rtsp` - Optional, can be `1` or `0`. Use RTSP stream instead of Tuya's proprietary protocol. Not all cameras support this option\n\nMore information about the webrtc integration can be found in the [Tuya documentation](https://developer.tuya.com/en/docs/iot/webrtc?id=Kacsd4x2hl0se) and [Supported Tuya Regions](https://developer.tuya.com/en/docs/iot/api-request?id=Ka4a8uuo1j4t4#title-1-Endpoints)\n",Tn=`#### Source: WebRTC
437
437
 
438
438
  This source type support four connection formats.
439
439
 
@@ -479,4 +479,4 @@ streams:
479
479
  \`\`\`
480
480
 
481
481
  _Source: [Go2Rtc Webtorrent](https://github.com/AlexxIT/go2rtc#source-webtorrent)_
482
- `,oo={disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{_id:ye(8),name:"",role:"high-resolution",urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!1}],recording:{enabled:!1},interface:{streamingMode:"auto",streamingSource:"auto",aspectRatio:"16:9"},extensions:{hub:[],plugins:[]}},Pn={class:"card-title"},An={class:"flex flex-col gap-6"},In={for:"name",class:"cui-label"},Mn={class:"card-title"},Hn={class:"flex gap-2 items-center w-full"},jn={class:"flex gap-2 items-center w-full"},En={class:"text-color text-sm"},Ln={class:"flex flex-col gap-6"},Vn=["for"],Gn=["for"],Bn={class:"flex items-center gap-4"},On={class:"flex flex-col field-switch-gap"},Un=["for"],Dn={class:"flex items-center gap-4"},qn={class:"flex flex-col field-switch-gap"},Fn=["for"],Wn={class:"flex flex-col gap-6"},zn=["for"],Nn={class:"w-full flex flex-row my-1"},Kn={class:"w-full flex items-center justify-center"},Yn=se({__name:"AddCamera",props:{camera:{default:()=>oo}},setup(T,{expose:c}){const j=new Ce,E=Ke(),R=Ne(),{t:B}=Be(),{xsBreakpoint:P}=Ve(),$=T,{camera:L}=Ge($),M=de("formRef"),O=D(["high-resolution","mid-resolution","low-resolution","snapshot"]),w=D([0]),y=D([]),m=D(je(L.value)),{mutateAsync:C,isPending:H}=j.createCameraQuery(),{mutateAsync:u,isPending:S}=j.previewCameraQuery(),f=Q(()=>H.value||S.value),W=l=>{m.value.sources[l].urls.push({protocol:"rtsp://",url:[]})},oe=(l,n)=>{m.value.sources[l].urls.splice(n,1)},A=()=>{m.value.sources.push({_id:ye(8),name:"",role:null,urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!1}),w.value=[m.value.sources.length]},Z=l=>{m.value.sources.splice(l,1)},re=l=>{let n,i,I;switch(l){case"bubble://":n=[],i=Object.assign({"../../../../../markdowns/bubble.md":nn});break;case"cui://":n=[],i=Object.assign({"../../../../../markdowns/cui.md":an});break;case"doorbird://":n=[],i=Object.assign({"../../../../../markdowns/doorbird.md":sn});break;case"dvrip://":n=[],i=Object.assign({"../../../../../markdowns/dvrip.md":rn});break;case"echo:":n=[],i=Object.assign({"../../../../../markdowns/echo.md":cn});break;case"eseecloud://":n=[],i=Object.assign({});break;case"exec:":n=[],i=Object.assign({"../../../../../markdowns/exec.md":ln});break;case"expr:":n=[],i=Object.assign({"../../../../../markdowns/expr.md":dn});break;case"ffmpeg:":n=He,i=Object.assign({"../../../../../markdowns/ffmpeg.md":un});break;case"flussonic://":n=He,i=Object.assign({});break;case"gopro://":n=He,i=Object.assign({"../../../../../markdowns/gopro.md":mn});break;case"hass:":n=[],i=Object.assign({"../../../../../markdowns/hass.md":pn});break;case"homekit://":n=Uo,i=Object.assign({"../../../../../markdowns/homekit.md":hn});break;case"http://":case"https://":case"httpx://":case"tcp://":n=Do,i=Object.assign({"../../../../../markdowns/http.md":fn});break;case"isapi://":n=[],i=Object.assign({"../../../../../markdowns/isapi.md":_n});break;case"ivideon:":n=[],i=Object.assign({"../../../../../markdowns/ivideon.md":gn});break;case"kasa://":n=[],i=Object.assign({"../../../../../markdowns/kasa.md":vn});break;case"nest:":n=qo,i=Object.assign({"../../../../../markdowns/nest.md":bn});break;case"onvif://":n=[],i=Object.assign({"../../../../../markdowns/onvif.md":wn});break;case"ring:":n=Fo,i=Object.assign({"../../../../../markdowns/ring.md":yn});break;case"roborock://":n=[],i=Object.assign({"../../../../../markdowns/roborock.md":xn});break;case"rtmp://":n=[],i=Object.assign({"../../../../../markdowns/rtmp.md":kn});break;case"rtsp://":case"rtspx://":n=Oo,i=Object.assign({"../../../../../markdowns/rtsp.md":Cn});break;case"tapo://":n=[],i=Object.assign({"../../../../../markdowns/tapo.md":Sn});break;case"tuya://":n=[],i=Object.assign({"../../../../../markdowns/tuya.md":Tn});break;case"webrtc:":n=Wo,i=Object.assign({"../../../../../markdowns/webrtc.md":$n});break;case"webtorrent:":n=[],i=Object.assign({"../../../../../markdowns/webtorrent.md":Rn});break;default:n=[],i=void 0;break}return i&&(I=Object.values(i)[0]),{presets:n,md:I}},ie=l=>{y.value=l},ce=(l,n)=>{n.protocol=l},h=async(l,n)=>{if(!(!l&&!n)){if(l){const i={url:v(l)};try{const I=await u({cameraData:i});E.openImageDialog({data:{title:B("components.dialog.title.preview"),src:`data:image/jpeg;base64,${I}`,hideConfirmButton:!0}})}catch{}}else if(n){const i=re(n);if(!i.md)return;E.openTextDialog({data:{title:B("components.dialog.title.information"),hideConfirmButton:!0,contentText:i.md,markdown:!0}})}}},v=l=>{let n=l.url.join("");switch(l.protocol){case"nest:":case"ring:":case"webtorrent:":!n.startsWith("?")&&!n.startsWith(l.protocol)&&(n=`?${n}`)}return n.startsWith(l.protocol)?n:`${l.protocol}${n}`};return c({isLoading:f,onSave:async()=>{var I;const l=await((I=M.value)==null?void 0:I.validate());if(!(l!=null&&l.valid))return R.add({severity:"error",summary:B("components.toast.title_error"),detail:B("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",l),null;const n=je(m.value),i={...n,type:"camera",isCloud:!1,snapshotTTL:600,detectionZones:[],detectionSettings:{motion:{timeout:60},object:{confidence:.7}},frameWorkerSettings:{decoder:"rust",fps:10,resolution:"320x180"},sources:n.sources.map(U=>{const pe=U.urls.map(ae=>{if(ae.url)return v(ae)}).filter(Boolean);return{...U,urls:pe}})};await C({cameraData:i})}}),(l,n)=>{const i=qe,I=De,U=Ee,pe=lo,ae=ze,ee=ke,Se=co,he=mo,fe=po,ge=ho,ve=Co,_e=Fe,Te=tn,$e=fo,be=Zt,Re=uo,Pe=io,Ae=ro,Y=Ye,le=Le;return s(),p("div",null,[o(e(eo),{ref_key:"formRef",ref:M,class:"flex flex-col w-full gap-6","validation-schema":e(ko)},{default:t(()=>[a("div",null,[a("span",Pn,b(l.$t("components.dialog.components.new_camera.camera")),1),o(U,{class:"cui-card"},{content:t(()=>[a("div",An,[o(e(F),{modelValue:e(m).name,"onUpdate:modelValue":n[0]||(n[0]=x=>e(m).name=x),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:x,errors:r})=>[a("label",In,b(l.$t("components.form.label.name")),1),o(I,null,{default:t(()=>[o(i,X(x,{invalid:r.length>0,loading:e(f),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),a("div",null,[a("span",Mn,b(l.$t("components.form.label.sources")),1),o(U,{class:"cui-card border-color-inner",pt:{body:{class:"pb-0"}}},{content:t(()=>[o(Ae,{value:e(w),"onUpdate:value":n[2]||(n[2]=x=>ne(w)?w.value=x:null),multiple:""},{default:t(()=>[(s(!0),p(ue,null,me(e(m).sources,(x,r)=>(s(),g(Pe,{key:r,value:r,class:xe({"border-b-0":r===e(m).sources.length-1})},{default:t(()=>[o(Se,{class:xe({"px-0 pt-0":r===0,"px-0":r!==0,"pb-5":r===e(m).sources.length-1})},{default:t(()=>[a("div",Hn,[a("div",jn,[a("span",En,b(l.$t("components.dialog.components.new_camera.source")+": "),1),o(pe,{class:"text-color text-xs border-[1px] bg-primary-500/20 border-primary-500/30 py-2 px-3 rounded-full overflow-hidden",label:x.name!==""?x.name:l.$t("components.dialog.components.new_camera.unknown")},null,8,["label"])]),e(m).sources.length>1?(s(),g(ee,{key:0,text:"",rounded:"",severity:"danger",class:"cui-icon-md ml-auto mr-2",loading:e(f),onClick:d=>Z(r)},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["loading","onClick"])):_("",!0)])]),_:2},1032,["class"]),o(Re,{pt:{content:{class:{"px-0":!0,"pb-5":r===e(m).sources.length-1}}}},{default:t(()=>[a("div",Ln,[o(e(F),{modelValue:x.name,"onUpdate:modelValue":d=>x.name=d,modelModifiers:{trim:!0},name:`sources[${r}].name`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",{for:`sources[${r}].name`,class:"cui-label"},b(l.$t("components.form.label.source_name")),9,Vn),o(I,null,{default:t(()=>[o(i,X({ref_for:!0},d,{invalid:k.length>0,loading:e(f),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].name`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),o(e(F),{"model-value":x.role,name:`sources[${r}].role`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("label",{for:`sources[${r}].role`,class:"cui-label"},b(l.$t("components.form.label.source_role")),9,Gn),o(I,null,{default:t(()=>[o(he,X({"model-value":x.role},{ref_for:!0},d,{options:e(O).filter(z=>!e(m).sources.some(te=>te.role===z&&te._id!==x._id)),invalid:k.length>0,loading:e(f),onValueChange:z=>x.role=z}),null,16,["model-value","options","invalid","loading","onValueChange"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].role`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"]),x.role!=="snapshot"&&e(m).sources.length>1&&!e(m).sources.some(d=>(d.useForSnapshot||d.role==="snapshot")&&d._id!==x._id)?(s(),g(e(F),{key:0,"model-value":x.useForSnapshot,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].useForSnapshot`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("div",Bn,[a("div",On,[a("label",{for:`sources[${r}].useForSnapshot`,class:"cui-label-switch"},b(l.$t("components.form.label.use_for_snapshot")),9,Un),o(fe,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[Ie(b(l.$t("components.form.hint.use_for_snapshot")),1)]),_:1}),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].useForSnapshot`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(ge,X({"model-value":x.useForSnapshot},{ref_for:!0},d,{invalid:k.length>0,loading:e(f),class:"ml-auto shrink-0",onValueChange:z=>x.useForSnapshot=z}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),x.role!=="snapshot"?(s(),g(e(F),{key:1,"model-value":x.hotMode,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].hotMode`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:d,errors:k})=>[a("div",Dn,[a("div",qn,[a("label",{for:`sources[${r}].hotMode`,class:"cui-label-switch"},b(l.$t("components.form.label.hot_mode")),9,Fn),o(fe,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[Ie(b(l.$t("components.form.hint.hot_mode")),1)]),_:1}),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].hotMode`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(ge,X({"model-value":x.hotMode},{ref_for:!0},d,{invalid:k.length>0,loading:e(f),class:"ml-auto shrink-0",onValueChange:z=>x.hotMode=z}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),a("div",Wn,[(s(!0),p(ue,null,me(x.urls,(d,k)=>(s(),p("div",{key:k},[a("label",{for:`sources[${r}].urls[]`,class:"cui-label"},b(l.$t("components.form.label.source")),9,zn),e(P)?(s(),g(e(F),{key:0,"model-value":d.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(he,X({"model-value":d.protocol},{ref_for:!0},z,{options:e(Oe),invalid:te.length>0,loading:e(f),"onUpdate:modelValue":q=>ce(q,d)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"]),o(_e,null,{default:t(()=>[G((s(),g(ee,{text:"",rounded:"",severity:"secondary",loading:e(f),onClick:q=>h(void 0,d.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["loading","onClick"])),[[le,{value:l.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]])]),_:2},1024)]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])):_("",!0),a("div",Nn,[e(P)?_("",!0):(s(),g(e(F),{key:0,"model-value":d.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o(he,X({"model-value":d.protocol},{ref_for:!0},z,{options:e(Oe),invalid:te.length>0,loading:e(f),pt:{root:{class:"rounded-r-none"}},"onUpdate:modelValue":q=>ce(q,d)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"])]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])),o(e(F),{"model-value":d.url,name:`sources[${r}].urls[${k}].url`,as:"div",class:"flex flex-col field-gap w-full"},{default:t(({field:z,errors:te})=>[o(I,null,{default:t(()=>[o($e,{"model-value":d.url,invalid:te.length>0,loading:e(f),multiple:"",fluid:"",typeahead:!1,suggestions:e(y),pt:{inputMultiple:{class:"rounded-none overflow-y-scroll max-h-[42px]"}},onComplete:q=>ie(re(d.protocol).presets),onHide:n[1]||(n[1]=q=>y.value=[]),onValueChange:q=>(z.value=q)&&(d.url=q)},{dropdown:t(({toggleCallback:q})=>[o(_e,null,{default:t(()=>[o(ee,{text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:q},{icon:t(()=>[e(f)?_("",!0):(s(),g(Te,{key:0}))]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["model-value","invalid","loading","suggestions","onComplete","onValueChange"]),o(_e,null,{default:t(()=>[e(P)?_("",!0):G((s(),g(ee,{key:0,text:"",rounded:"",severity:"secondary",disabled:e(f),class:"border-right-color",onClick:q=>h(void 0,d.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["disabled","onClick"])),[[le,{value:l.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]]),G((s(),g(ee,{text:"",rounded:"",severity:"secondary",disabled:!d.protocol||!d.url.length||e(f),class:"border-right-color",onClick:q=>h(d)},{icon:t(()=>[o(be,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])),[[le,{value:l.$t("components.dialog.components.new_camera.test_source")},void 0,{top:!0}]]),x.urls.length>1?(s(),g(ee,{key:1,text:"",rounded:"",severity:"danger",disabled:e(f),onClick:Lo(q=>oe(r,k),["prevent"])},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])):_("",!0)]),_:2},1024)]),_:2},1024),o(N,{name:"fade"},{default:t(()=>[o(e(K),{name:`sources[${r}].urls[${k}].url`,class:"cui-input-error"},null,8,["name"])]),_:2},1024),o(fe,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-hint"},{default:t(()=>[Ie(b(l.$t("components.form.hint.type_and_enter")),1)]),_:1})]),_:2},1032,["model-value","name"])])]))),128)),o(ee,{loading:e(f),label:l.$t("components.form.button.add_source"),class:"ml-auto cui-button-medium",onClick:d=>W(r)},null,8,["loading","label","onClick"])])])]),_:2},1032,["pt"])]),_:2},1032,["value","class"]))),128))]),_:1},8,["value"])]),_:1})]),a("div",Kn,[o(ee,{text:"",rounded:"",loading:e(f),class:"cui-icon-2xl",onClick:A},{icon:t(()=>[o(Y,{width:"100%",height:"100%"})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])])}}}),Xn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qn(T,c){return s(),p("svg",Xn,c[0]||(c[0]=[a("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",color:"currentColor"},[a("path",{d:"M2.5 12c0-4.478 0-6.718 1.391-8.109S7.521 2.5 12 2.5c4.478 0 6.718 0 8.109 1.391S21.5 7.521 21.5 12c0 4.478 0 6.718-1.391 8.109S16.479 21.5 12 21.5c-4.478 0-6.718 0-8.109-1.391S2.5 16.479 2.5 12"}),a("path",{d:"m15 15l2 2m-1-5.5a4.5 4.5 0 1 0-9 0a4.5 4.5 0 0 0 9 0"})],-1)]))}const Jn=J({name:"hugeicons-search-square",render:Qn}),Zn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ea(T,c){return s(),p("svg",Zn,c[0]||(c[0]=[a("path",{fill:"currentColor","fill-rule":"evenodd",d:"M9.451 3.25h.098c1.602 0 2.872 0 3.876.119c1.03.122 1.88.377 2.588.96q.361.296.659.658c.582.709.837 1.557.96 2.588q.04.348.064.739c.786-.392 1.452-.714 2.007-.896c.652-.213 1.343-.299 1.98.095s.87 1.05.97 1.728c.097.655.097 1.516.097 2.551v.416c0 1.035 0 1.896-.097 2.55c-.1.679-.333 1.335-.97 1.729s-1.328.308-1.98.095c-.555-.182-1.221-.504-2.007-.896q-.023.391-.065.739c-.122 1.03-.377 1.88-.96 2.588q-.296.361-.658.659c-.709.582-1.557.837-2.588.96c-1.005.118-2.274.118-3.876.118H9.45c-1.602 0-2.872 0-3.876-.119c-1.03-.122-1.88-.377-2.588-.96a5 5 0 0 1-.659-.658c-.582-.709-.837-1.557-.96-2.588c-.118-1.005-.118-2.274-.118-3.876V11.45c0-1.602 0-2.872.119-3.876c.122-1.03.377-1.88.96-2.588a5 5 0 0 1 .658-.659c.709-.582 1.557-.837 2.588-.96C6.58 3.25 7.85 3.25 9.451 3.25m6.799 9.25v-1c0-1.662-.001-2.843-.108-3.749c-.105-.889-.304-1.415-.63-1.813a3.3 3.3 0 0 0-.45-.45c-.398-.326-.924-.525-1.813-.63c-.906-.107-2.087-.108-3.749-.108s-2.843.001-3.749.108c-.889.105-1.415.304-1.813.63a3.3 3.3 0 0 0-.45.45c-.326.398-.525.924-.63 1.813c-.107.906-.108 2.087-.108 3.749v1c0 1.662.001 2.843.108 3.749c.105.889.304 1.415.63 1.813q.203.247.45.45c.398.326.924.525 1.813.63c.906.107 2.087.108 3.749.108s2.843-.001 3.749-.108c.889-.105 1.415-.304 1.813-.63q.247-.203.45-.45c.326-.398.525-.924.63-1.813c.107-.906.108-2.087.108-3.749m1.5 1.537l.244.121c.995.498 1.666.831 2.176.998c.499.163.65.1.724.055s.198-.153.275-.673c.079-.53.081-1.28.081-2.392v-.292c0-1.113-.002-1.862-.08-2.392c-.078-.52-.202-.627-.276-.673s-.225-.108-.724.055c-.51.167-1.18.5-2.176.998l-.244.122v4.072M9.5 8.75a.75.75 0 0 1 .75.75v1.75H12a.75.75 0 0 1 0 1.5h-1.75v1.75a.75.75 0 0 1-1.5 0v-1.75H7a.75.75 0 0 1 0-1.5h1.75V9.5a.75.75 0 0 1 .75-.75","clip-rule":"evenodd"},null,-1)]))}const oa=J({name:"solar-videocamera-add-outline",render:ea}),ta={key:0,class:"flex flex-col items-center justify-center rounded-md",style:{background:"color-mix(in srgb, var(--card-inner-background), transparent 50%)"}},na={class:"font-semibold text-base text-color"},aa={class:"text-xs text-muted"},sa={class:"font-semibold text-base text-color"},ra={class:"text-xs text-muted"},ia={key:1,class:"w-full h-full"},ca={key:2,class:"w-full h-full"},la=se({__name:"NewCamera",setup(T,{expose:c}){const j=Qe("dialogRefProps"),E=de("addRef"),R=de("discoverRef"),B=D(oo),{currentTab:P,goToTab:$}=So(),L=Q(()=>{var w,y;return!!((w=j.loading)!=null&&w.value||(y=E.value)!=null&&y.isLoading)});Ze(P,()=>{j.hideConfirmButton.value=P.value!=="add"},{immediate:!0});const M=w=>{B.value=w,$("add")};return c({isLoading:L,onConfirm:async()=>{var w;return(w=E.value)==null?void 0:w.onSave()}}),(w,y)=>{const m=oa,C=ke,H=Jn,u=Yn,S=Xt;return s(),p("div",null,[e(P)?_("",!0):(s(),p("div",ta,[o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 rounded-b-none pb-6 border-b-[1px] border-color",onClick:y[0]||(y[0]=f=>e($)("add"))},{default:t(()=>[o(m,{width:"60px",height:"60px",class:"text-primary"}),a("span",na,b(w.$t("components.dialog.components.new_camera.add_camera")),1),a("span",aa,b(w.$t("components.dialog.components.new_camera.add_camera_description")),1)]),_:1}),o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 py-3 rounded-t-none border-[1px] border-t-0 border-color",onClick:y[1]||(y[1]=f=>e($)("discover"))},{default:t(()=>[o(H,{width:"60px",height:"60px",class:"text-primary"}),a("span",sa,b(w.$t("components.dialog.components.new_camera.discover_cameras")),1),a("span",ra,b(w.$t("components.dialog.components.new_camera.discover_cameras_description")),1)]),_:1})])),e(P)==="add"?(s(),p("div",ia,[o(u,{ref_key:"addRef",ref:E,camera:e(B)},null,8,["camera"])])):_("",!0),e(P)==="discover"?(s(),p("div",ca,[o(S,{ref_key:"discoverRef",ref:R,onAddCamera:M},null,512)])):_("",!0)])}}}),da={class:"py-4 pb-1 sm:p-0"},ua={key:0,class:"page-title pl-4 sm:pl-0"},ma={class:"page-title pl-4 sm:pl-0"},pa={class:"w-full h-[60px] p-4 absolute bottom-0 z-1 flex items-center gap-1 justify-between pointer-events-none"},ha={class:"text-xs font-semibold p-2 bg-black/60 rounded-full text-white"},fa={key:0},_a={class:"flex items-center justify-center w-full h-full"},ga={key:1,class:"text-muted"},is=se({__name:"Cameras",setup(T){const c=new Ce,j=To(),E=Ke(),R=$o(),B=Ro(),{t:P}=Be(),{smBreakpoint:$}=Ve(),{uiSettings:L}=Bo(R),M=Je({}),{data:O,isFetching:w}=c.getCamerasQuery({page:1,pageSize:-1}),y=Q(()=>w.value),m=Q(()=>B.showBottombar.value?Po.HEIGHT:0),C=u=>{E.openComponentDialog(et,{data:{title:P("components.dialog.title.log"),confirmText:P("components.form.button.download"),loading:y,stayActive:!0,contentProps:{cameraName:u},dialogContentClass:"not-md:px-0 h-full md:h-[50vh]"}})},H=()=>{E.openStepperDialog(la,{data:{title:P("components.dialog.components.new_camera.title"),fullscreen:!0,tabs:[{id:"add",title:P("components.dialog.components.new_camera.add_camera")},{id:"discover",title:P("components.dialog.components.new_camera.discover_cameras")}],contentProps:{}}})};return(u,S)=>{const f=Zo,W=Ue,oe=We,A=ke,Z=Ao,re=Io,ie=Mo,ce=Ye,h=Ee,v=_o,V=Le;return s(),p("div",da,[e(L).cameras.showEvents?(s(),p("h1",ua,b(u.$t("views.cameras.events")),1)):_("",!0),e(L).cameras.showEvents?(s(),g(f,{key:1,class:"flex w-full mb-3 px-1 sm:px-0"})):_("",!0),a("h1",ma,b(u.$t(`views.${String(u.$route.name).toLowerCase()}.title`)),1),o(Vo,{name:"fade-2"},{default:t(()=>{var l,n;return[e(y)?(s(),p("div",{key:"loading",class:"grid w-full gap-2",style:Me({gridTemplateColumns:`repeat(auto-fill, minmax(${e($)?"100%":"300px"}, 1fr))`})},[(s(),p(ue,null,me(15,i=>o(W,{key:i,class:xe(["aspect-video !h-auto cui-card",{"!rounded-none !border-0":e($)}])},null,8,["class"])),64))],4)):(s(),p("div",{key:"cameraCards",class:"grid w-full gap-1",style:Me({gridTemplateColumns:`repeat(auto-fill, minmax(${e($)?"100%":"300px"}, 1fr)) ${!e(O)||e(O).result.length<2?"50%":""}`})},[(s(!0),p(ue,null,me((l=e(O))==null?void 0:l.result,i=>(s(),p("div",{key:i.name,class:xe(["dark-mode rounded-xl overflow-hidden border-[1px] border-color relative",{"!border-0 !rounded-none":e($)}])},[a("div",pa,[a("span",ha,b(i.name),1),G((s(),g(A,{severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto ml-auto",onClick:I=>{var U;return(U=e(M)[i.name])==null?void 0:U.refresh()}},{icon:t(()=>[o(oe,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.refresh_snapshot")},void 0,{top:!0}]]),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?G((s(),g(A,{key:0,severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto",onClick:I=>C(i.name)},{icon:t(()=>[o(Z,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.log")},void 0,{top:!0}]]):_("",!0),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?G((s(),g(A,{key:1,rounded:"",severity:"secondary",class:"cui-icon-md pointer-events-auto",onClick:I=>e(j).open({cameraName:i.name})},{icon:t(()=>[o(re,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.settings")},void 0,{top:!0}]]):_("",!0)]),o(ie,{ref_for:!0,ref:I=>{e(M)[i.name]=I},"camera-name":i.name,class:"cursor-pointer","image-container-class":"w-full h-full",onClick:I=>u.$router.push(`/cameras/${i.name}`)},null,8,["camera-name","onClick"])],2))),128)),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")&&!e($)?(s(),p("div",fa,[o(h,{class:"cui-card aspect-video",pt:{root:{class:{"!rounded-none !border-0":e($)}},body:{class:"h-full flex items-center justify-center"}}},{content:t(()=>[a("div",_a,[o(A,{text:"",rounded:"",class:"w-16 h-16 dark-mode",onClick:H},{icon:t(()=>[o(ce,{width:"100%",height:"100%"})]),_:1})])]),_:1},8,["pt"])])):!((n=e(O))!=null&&n.result.length)&&("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"user",!0)?(s(),p("span",ga,b(u.$t("views.cameras.no_cameras")),1)):_("",!0)],4))]}),_:1}),e($)?G((s(),g(A,{key:2,rounded:"",class:"transition-all cui-icon-3xl fixed right-safe-offset-5 z-10 shadow-lg text-white",style:Me({bottom:`calc(${e(m)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`}),onClick:H},{icon:t(()=>[o(v,{width:"30px",height:"30px"})]),_:1},8,["style"])),[[V,{value:u.$t("views.cameras.add_camera")},void 0,{top:!0}]]):_("",!0)])}}});export{is as default};
482
+ `,oo={disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{_id:xe(8),name:"",role:"high-resolution",urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!0,preload:!0}],recording:{enabled:!1},interface:{streamingMode:"auto",streamingSource:"auto",aspectRatio:"16:9"},extensions:{hub:[],plugins:[]}},Pn={class:"card-title"},An={class:"flex flex-col gap-6"},In={for:"name",class:"cui-label"},Mn={class:"card-title"},Hn={class:"flex gap-2 items-center w-full"},jn={class:"flex gap-2 items-center w-full"},En={class:"text-color text-sm"},Ln={class:"flex flex-col gap-6"},Vn=["for"],Gn=["for"],Bn={class:"flex items-center gap-4"},On={class:"flex flex-col field-switch-gap"},Un=["for"],Dn={class:"flex items-center gap-4"},qn={class:"flex flex-col field-switch-gap"},Fn=["for"],zn={class:"flex items-center gap-4"},Wn={class:"flex flex-col field-switch-gap"},Nn=["for"],Kn={class:"flex flex-col gap-6"},Yn=["for"],Xn={class:"w-full flex flex-row my-1"},Qn={class:"w-full flex items-center justify-center"},Jn=se({__name:"AddCamera",props:{camera:{default:()=>oo}},setup($,{expose:d}){const j=new Se,E=Ke(),R=Ne(),{t:B}=Be(),{xsBreakpoint:P}=Ve(),T=$,{camera:L}=Ge(T),M=ue("formRef"),O=F(["high-resolution","mid-resolution","low-resolution","snapshot"]),y=F([0]),x=F([]),m=F(je(L.value)),{mutateAsync:C,isPending:H}=j.createCameraQuery(),{mutateAsync:u,isPending:S}=j.previewCameraQuery(),h=Q(()=>H.value||S.value),K=i=>{m.value.sources[i].urls.push({protocol:"rtsp://",url:[]})},oe=(i,a)=>{m.value.sources[i].urls.splice(a,1)},A=()=>{m.value.sources.push({_id:xe(8),name:"",role:null,urls:[{protocol:"rtsp://",url:[]}],useForSnapshot:!1,hotMode:!0,preload:!0}),y.value=[m.value.sources.length]},Z=i=>{m.value.sources.splice(i,1)},re=i=>{let a,l,I;switch(i){case"bubble://":a=[],l=Object.assign({"../../../../../markdowns/bubble.md":nn});break;case"cui://":a=[],l=Object.assign({"../../../../../markdowns/cui.md":an});break;case"doorbird://":a=[],l=Object.assign({"../../../../../markdowns/doorbird.md":sn});break;case"dvrip://":a=[],l=Object.assign({"../../../../../markdowns/dvrip.md":rn});break;case"echo:":a=[],l=Object.assign({"../../../../../markdowns/echo.md":ln});break;case"eseecloud://":a=[],l=Object.assign({});break;case"exec:":a=[],l=Object.assign({"../../../../../markdowns/exec.md":cn});break;case"expr:":a=[],l=Object.assign({"../../../../../markdowns/expr.md":dn});break;case"ffmpeg:":a=He,l=Object.assign({"../../../../../markdowns/ffmpeg.md":un});break;case"flussonic://":a=He,l=Object.assign({});break;case"gopro://":a=He,l=Object.assign({"../../../../../markdowns/gopro.md":mn});break;case"hass:":a=[],l=Object.assign({"../../../../../markdowns/hass.md":pn});break;case"homekit://":a=Uo,l=Object.assign({"../../../../../markdowns/homekit.md":hn});break;case"http://":case"https://":case"httpx://":case"tcp://":a=Do,l=Object.assign({"../../../../../markdowns/http.md":fn});break;case"isapi://":a=[],l=Object.assign({"../../../../../markdowns/isapi.md":_n});break;case"ivideon:":a=[],l=Object.assign({"../../../../../markdowns/ivideon.md":gn});break;case"kasa://":a=[],l=Object.assign({"../../../../../markdowns/kasa.md":vn});break;case"nest:":a=qo,l=Object.assign({"../../../../../markdowns/nest.md":bn});break;case"onvif://":a=[],l=Object.assign({"../../../../../markdowns/onvif.md":wn});break;case"ring:":a=Fo,l=Object.assign({"../../../../../markdowns/ring.md":yn});break;case"roborock://":a=[],l=Object.assign({"../../../../../markdowns/roborock.md":xn});break;case"rtmp://":a=[],l=Object.assign({"../../../../../markdowns/rtmp.md":kn});break;case"rtsp://":case"rtspx://":a=Oo,l=Object.assign({"../../../../../markdowns/rtsp.md":Cn});break;case"tapo://":a=[],l=Object.assign({"../../../../../markdowns/tapo.md":Sn});break;case"tuya://":a=[],l=Object.assign({"../../../../../markdowns/tuya.md":$n});break;case"webrtc:":a=zo,l=Object.assign({"../../../../../markdowns/webrtc.md":Tn});break;case"webtorrent:":a=[],l=Object.assign({"../../../../../markdowns/webtorrent.md":Rn});break;default:a=[],l=void 0;break}return l&&(I=Object.values(l)[0]),{presets:a,md:I}},ie=i=>{x.value=i},le=(i,a)=>{a.protocol=i},f=async(i,a)=>{if(!(!i&&!a)){if(i){const l={url:w(i)};try{const I=await u({cameraData:l});E.openImageDialog({data:{title:B("components.dialog.title.preview"),src:`data:image/jpeg;base64,${I}`,hideConfirmButton:!0}})}catch{}}else if(a){const l=re(a);if(!l.md)return;E.openTextDialog({data:{title:B("components.dialog.title.information"),hideConfirmButton:!0,contentText:l.md,markdown:!0}})}}},w=i=>{let a=i.url.join("");switch(i.protocol){case"nest:":case"ring:":case"webtorrent:":!a.startsWith("?")&&!a.startsWith(i.protocol)&&(a=`?${a}`)}return a.startsWith(i.protocol)?a:`${i.protocol}${a}`};return d({isLoading:h,onSave:async()=>{var I;const i=await((I=M.value)==null?void 0:I.validate());if(!(i!=null&&i.valid))return R.add({severity:"error",summary:B("components.toast.title_error"),detail:B("components.toast.validation_failed"),life:3e3}),console.log("Validation failed",i),null;const a=je(m.value),l={...a,type:"camera",isCloud:!1,snapshotTTL:600,detectionZones:[],detectionSettings:{motion:{timeout:60},object:{confidence:.7}},frameWorkerSettings:{decoder:"rust",fps:10,resolution:"320x180"},sources:a.sources.map(U=>{const he=U.urls.map(ae=>{if(ae.url)return w(ae)}).filter(Boolean);return{...U,urls:he}})};await C({cameraData:l})}}),(i,a)=>{const l=qe,I=De,U=Ee,he=co,ae=We,ee=Ce,$e=lo,fe=mo,ce=po,_e=ho,ve=Co,ge=Fe,Te=tn,Re=fo,be=Zt,Pe=uo,Ae=io,Ie=ro,X=Ye,de=Le;return s(),p("div",null,[o(e(eo),{ref_key:"formRef",ref:M,class:"flex flex-col w-full gap-6","validation-schema":e(ko)},{default:t(()=>[n("div",null,[n("span",Pn,v(i.$t("components.dialog.components.new_camera.camera")),1),o(U,{class:"cui-card"},{content:t(()=>[n("div",An,[o(e(q),{modelValue:e(m).name,"onUpdate:modelValue":a[0]||(a[0]=b=>e(m).name=b),modelModifiers:{trim:!0},name:"name",as:"div",class:"flex flex-col field-gap"},{default:t(({field:b,errors:r})=>[n("label",In,v(i.$t("components.form.label.name")),1),o(I,null,{default:t(()=>[o(l,Y(b,{invalid:r.length>0,loading:e(h),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:"name",class:"cui-input-error"})]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),n("div",null,[n("span",Mn,v(i.$t("components.form.label.sources")),1),o(U,{class:"cui-card border-color-inner",pt:{body:{class:"pb-0"}}},{content:t(()=>[o(Ie,{value:e(y),"onUpdate:value":a[2]||(a[2]=b=>ne(y)?y.value=b:null),multiple:""},{default:t(()=>[(s(!0),p(me,null,pe(e(m).sources,(b,r)=>(s(),g(Ae,{key:r,value:r,class:ke({"border-b-0":r===e(m).sources.length-1})},{default:t(()=>[o($e,{class:ke({"px-0 pt-0":r===0,"px-0":r!==0,"pb-5":r===e(m).sources.length-1})},{default:t(()=>[n("div",Hn,[n("div",jn,[n("span",En,v(i.$t("components.dialog.components.new_camera.source")+": "),1),o(he,{class:"text-color text-xs border-[1px] bg-primary-500/20 border-primary-500/30 py-2 px-3 rounded-full overflow-hidden",label:b.name!==""?b.name:i.$t("components.dialog.components.new_camera.unknown")},null,8,["label"])]),e(m).sources.length>1?(s(),g(ee,{key:0,text:"",rounded:"",severity:"danger",class:"cui-icon-md ml-auto mr-2",loading:e(h),onClick:c=>Z(r)},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["loading","onClick"])):_("",!0)])]),_:2},1032,["class"]),o(Pe,{pt:{content:{class:{"px-0":!0,"pb-5":r===e(m).sources.length-1}}}},{default:t(()=>[n("div",Ln,[o(e(q),{modelValue:b.name,"onUpdate:modelValue":c=>b.name=c,modelModifiers:{trim:!0},name:`sources[${r}].name`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",{for:`sources[${r}].name`,class:"cui-label"},v(i.$t("components.form.label.source_name")),9,Vn),o(I,null,{default:t(()=>[o(l,Y({ref_for:!0},c,{invalid:k.length>0,loading:e(h),type:"text"}),null,16,["invalid","loading"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].name`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),o(e(q),{"model-value":b.role,name:`sources[${r}].role`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("label",{for:`sources[${r}].role`,class:"cui-label"},v(i.$t("components.form.label.source_role")),9,Gn),o(I,null,{default:t(()=>[o(fe,Y({"model-value":b.role},{ref_for:!0},c,{options:e(O).filter(D=>!e(m).sources.some(te=>te.role===D&&te._id!==b._id)),invalid:k.length>0,loading:e(h),onValueChange:D=>b.role=D}),null,16,["model-value","options","invalid","loading","onValueChange"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].role`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"]),b.role!=="snapshot"&&e(m).sources.length>1&&!e(m).sources.some(c=>(c.useForSnapshot||c.role==="snapshot")&&c._id!==b._id)?(s(),g(e(q),{key:0,"model-value":b.useForSnapshot,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].useForSnapshot`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("div",Bn,[n("div",On,[n("label",{for:`sources[${r}].useForSnapshot`,class:"cui-label-switch"},v(i.$t("components.form.label.use_for_snapshot")),9,Un),o(ce,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[ye(v(i.$t("components.form.hint.use_for_snapshot")),1)]),_:1}),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].useForSnapshot`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(_e,Y({"model-value":b.useForSnapshot},{ref_for:!0},c,{invalid:k.length>0,loading:e(h),class:"ml-auto shrink-0",onValueChange:D=>b.useForSnapshot=D}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),b.role!=="snapshot"?(s(),g(e(q),{key:1,"model-value":b.hotMode,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].hotMode`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("div",Dn,[n("div",qn,[n("label",{for:`sources[${r}].hotMode`,class:"cui-label-switch"},v(i.$t("components.form.label.hot_mode")),9,Fn),o(ce,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[ye(v(i.$t("components.form.hint.hot_mode")),1)]),_:1}),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].hotMode`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(_e,Y({"model-value":b.hotMode},{ref_for:!0},c,{invalid:k.length>0,loading:e(h),class:"ml-auto shrink-0",onValueChange:D=>b.hotMode=D}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),b.role!=="snapshot"?(s(),g(e(q),{key:2,"model-value":b.preload,value:!0,"unchecked-value":!1,type:"checkbox",name:`sources[${r}].preload`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:c,errors:k})=>[n("div",zn,[n("div",Wn,[n("label",{for:`sources[${r}].preload`,class:"cui-label-switch"},v(i.$t("components.form.label.preload")),9,Nn),o(ce,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-switch-hint"},{default:t(()=>[ye(v(i.$t("components.form.hint.preload")),1)]),_:1}),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].preload`,class:"cui-input-switch-error"},null,8,["name"])]),_:2},1024)]),o(_e,Y({"model-value":b.preload},{ref_for:!0},c,{invalid:k.length>0,loading:e(h),class:"ml-auto shrink-0",onValueChange:D=>b.preload=D}),null,16,["model-value","invalid","loading","onValueChange"])])]),_:2},1032,["model-value","name"])):_("",!0),n("div",Kn,[(s(!0),p(me,null,pe(b.urls,(c,k)=>(s(),p("div",{key:k},[n("label",{for:`sources[${r}].urls[]`,class:"cui-label"},v(i.$t("components.form.label.source")),9,Yn),e(P)?(s(),g(e(q),{key:0,"model-value":c.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:D,errors:te})=>[o(I,null,{default:t(()=>[o(fe,Y({"model-value":c.protocol},{ref_for:!0},D,{options:e(Oe),invalid:te.length>0,loading:e(h),"onUpdate:modelValue":z=>le(z,c)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"]),o(ge,null,{default:t(()=>[G((s(),g(ee,{text:"",rounded:"",severity:"secondary",loading:e(h),onClick:z=>f(void 0,c.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["loading","onClick"])),[[de,{value:i.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]])]),_:2},1024)]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])):_("",!0),n("div",Xn,[e(P)?_("",!0):(s(),g(e(q),{key:0,"model-value":c.protocol,name:`sources[${r}].urls[${k}].protocol`,as:"div",class:"flex flex-col field-gap"},{default:t(({field:D,errors:te})=>[o(I,null,{default:t(()=>[o(fe,Y({"model-value":c.protocol},{ref_for:!0},D,{options:e(Oe),invalid:te.length>0,loading:e(h),pt:{root:{class:"rounded-r-none"}},"onUpdate:modelValue":z=>le(z,c)}),null,16,["model-value","options","invalid","loading","onUpdate:modelValue"])]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].urls[${k}].protocol`,class:"cui-input-error"},null,8,["name"])]),_:2},1024)]),_:2},1032,["model-value","name"])),o(e(q),{"model-value":c.url,name:`sources[${r}].urls[${k}].url`,as:"div",class:"flex flex-col field-gap w-full"},{default:t(({field:D,errors:te})=>[o(I,null,{default:t(()=>[o(Re,{"model-value":c.url,invalid:te.length>0,loading:e(h),multiple:"",fluid:"",typeahead:!1,suggestions:e(x),pt:{inputMultiple:{class:"rounded-none overflow-y-scroll max-h-[42px]"}},onComplete:z=>ie(re(c.protocol).presets),onHide:a[1]||(a[1]=z=>x.value=[]),onValueChange:z=>(D.value=z)&&(c.url=z)},{dropdown:t(({toggleCallback:z})=>[o(ge,null,{default:t(()=>[o(ee,{text:"",rounded:"",severity:"secondary",disabled:e(h),class:"border-right-color",onClick:z},{icon:t(()=>[e(h)?_("",!0):(s(),g(Te,{key:0}))]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["model-value","invalid","loading","suggestions","onComplete","onValueChange"]),o(ge,null,{default:t(()=>[e(P)?_("",!0):G((s(),g(ee,{key:0,text:"",rounded:"",severity:"secondary",disabled:e(h),class:"border-right-color",onClick:z=>f(void 0,c.protocol)},{icon:t(()=>[o(ve)]),_:2},1032,["disabled","onClick"])),[[de,{value:i.$t("components.dialog.components.new_camera.protocol_info")},void 0,{top:!0}]]),G((s(),g(ee,{text:"",rounded:"",severity:"secondary",disabled:!c.protocol||!c.url.length||e(h),class:"border-right-color",onClick:z=>f(c)},{icon:t(()=>[o(be,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])),[[de,{value:i.$t("components.dialog.components.new_camera.test_source")},void 0,{top:!0}]]),b.urls.length>1?(s(),g(ee,{key:1,text:"",rounded:"",severity:"danger",disabled:e(h),onClick:Lo(z=>oe(r,k),["prevent"])},{icon:t(()=>[o(ae,{width:"100%",height:"100%"})]),_:2},1032,["disabled","onClick"])):_("",!0)]),_:2},1024)]),_:2},1024),o(W,{name:"fade"},{default:t(()=>[o(e(N),{name:`sources[${r}].urls[${k}].url`,class:"cui-input-error"},null,8,["name"])]),_:2},1024),o(ce,{severity:"secondary",variant:"simple",size:"small",class:"cui-input-hint"},{default:t(()=>[ye(v(i.$t("components.form.hint.type_and_enter")),1)]),_:1})]),_:2},1032,["model-value","name"])])]))),128)),o(ee,{loading:e(h),label:i.$t("components.form.button.add_source"),class:"ml-auto cui-button-medium",onClick:c=>K(r)},null,8,["loading","label","onClick"])])])]),_:2},1032,["pt"])]),_:2},1032,["value","class"]))),128))]),_:1},8,["value"])]),_:1})]),n("div",Qn,[o(ee,{text:"",rounded:"",loading:e(h),class:"cui-icon-2xl",onClick:A},{icon:t(()=>[o(X,{width:"100%",height:"100%"})]),_:1},8,["loading"])])]),_:1},8,["validation-schema"])])}}}),Zn={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ea($,d){return s(),p("svg",Zn,d[0]||(d[0]=[n("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",color:"currentColor"},[n("path",{d:"M2.5 12c0-4.478 0-6.718 1.391-8.109S7.521 2.5 12 2.5c4.478 0 6.718 0 8.109 1.391S21.5 7.521 21.5 12c0 4.478 0 6.718-1.391 8.109S16.479 21.5 12 21.5c-4.478 0-6.718 0-8.109-1.391S2.5 16.479 2.5 12"}),n("path",{d:"m15 15l2 2m-1-5.5a4.5 4.5 0 1 0-9 0a4.5 4.5 0 0 0 9 0"})],-1)]))}const oa=J({name:"hugeicons-search-square",render:ea}),ta={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function na($,d){return s(),p("svg",ta,d[0]||(d[0]=[n("path",{fill:"currentColor","fill-rule":"evenodd",d:"M9.451 3.25h.098c1.602 0 2.872 0 3.876.119c1.03.122 1.88.377 2.588.96q.361.296.659.658c.582.709.837 1.557.96 2.588q.04.348.064.739c.786-.392 1.452-.714 2.007-.896c.652-.213 1.343-.299 1.98.095s.87 1.05.97 1.728c.097.655.097 1.516.097 2.551v.416c0 1.035 0 1.896-.097 2.55c-.1.679-.333 1.335-.97 1.729s-1.328.308-1.98.095c-.555-.182-1.221-.504-2.007-.896q-.023.391-.065.739c-.122 1.03-.377 1.88-.96 2.588q-.296.361-.658.659c-.709.582-1.557.837-2.588.96c-1.005.118-2.274.118-3.876.118H9.45c-1.602 0-2.872 0-3.876-.119c-1.03-.122-1.88-.377-2.588-.96a5 5 0 0 1-.659-.658c-.582-.709-.837-1.557-.96-2.588c-.118-1.005-.118-2.274-.118-3.876V11.45c0-1.602 0-2.872.119-3.876c.122-1.03.377-1.88.96-2.588a5 5 0 0 1 .658-.659c.709-.582 1.557-.837 2.588-.96C6.58 3.25 7.85 3.25 9.451 3.25m6.799 9.25v-1c0-1.662-.001-2.843-.108-3.749c-.105-.889-.304-1.415-.63-1.813a3.3 3.3 0 0 0-.45-.45c-.398-.326-.924-.525-1.813-.63c-.906-.107-2.087-.108-3.749-.108s-2.843.001-3.749.108c-.889.105-1.415.304-1.813.63a3.3 3.3 0 0 0-.45.45c-.326.398-.525.924-.63 1.813c-.107.906-.108 2.087-.108 3.749v1c0 1.662.001 2.843.108 3.749c.105.889.304 1.415.63 1.813q.203.247.45.45c.398.326.924.525 1.813.63c.906.107 2.087.108 3.749.108s2.843-.001 3.749-.108c.889-.105 1.415-.304 1.813-.63q.247-.203.45-.45c.326-.398.525-.924.63-1.813c.107-.906.108-2.087.108-3.749m1.5 1.537l.244.121c.995.498 1.666.831 2.176.998c.499.163.65.1.724.055s.198-.153.275-.673c.079-.53.081-1.28.081-2.392v-.292c0-1.113-.002-1.862-.08-2.392c-.078-.52-.202-.627-.276-.673s-.225-.108-.724.055c-.51.167-1.18.5-2.176.998l-.244.122v4.072M9.5 8.75a.75.75 0 0 1 .75.75v1.75H12a.75.75 0 0 1 0 1.5h-1.75v1.75a.75.75 0 0 1-1.5 0v-1.75H7a.75.75 0 0 1 0-1.5h1.75V9.5a.75.75 0 0 1 .75-.75","clip-rule":"evenodd"},null,-1)]))}const aa=J({name:"solar-videocamera-add-outline",render:na}),sa={key:0,class:"flex flex-col items-center justify-center rounded-md",style:{background:"color-mix(in srgb, var(--card-inner-background), transparent 50%)"}},ra={class:"font-semibold text-base text-color"},ia={class:"text-xs text-muted"},la={class:"font-semibold text-base text-color"},ca={class:"text-xs text-muted"},da={key:1,class:"w-full h-full"},ua={key:2,class:"w-full h-full"},ma=se({__name:"NewCamera",setup($,{expose:d}){const j=Qe("dialogRefProps"),E=ue("addRef"),R=ue("discoverRef"),B=F(oo),{currentTab:P,goToTab:T}=So(),L=Q(()=>{var y,x;return!!((y=j.loading)!=null&&y.value||(x=E.value)!=null&&x.isLoading)});Ze(P,()=>{j.hideConfirmButton.value=P.value!=="add"},{immediate:!0});const M=y=>{B.value=y,T("add")};return d({isLoading:L,onConfirm:async()=>{var y;return(y=E.value)==null?void 0:y.onSave()}}),(y,x)=>{const m=aa,C=Ce,H=oa,u=Jn,S=Xt;return s(),p("div",null,[e(P)?_("",!0):(s(),p("div",sa,[o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 rounded-b-none pb-6 border-b-[1px] border-color",onClick:x[0]||(x[0]=h=>e(T)("add"))},{default:t(()=>[o(m,{width:"60px",height:"60px",class:"text-primary"}),n("span",ra,v(y.$t("components.dialog.components.new_camera.add_camera")),1),n("span",ia,v(y.$t("components.dialog.components.new_camera.add_camera_description")),1)]),_:1}),o(C,{text:"",fluid:"",severity:"secondary",class:"flex flex-col items-center justify-center gap-2 py-3 rounded-t-none border-[1px] border-t-0 border-color",onClick:x[1]||(x[1]=h=>e(T)("discover"))},{default:t(()=>[o(H,{width:"60px",height:"60px",class:"text-primary"}),n("span",la,v(y.$t("components.dialog.components.new_camera.discover_cameras")),1),n("span",ca,v(y.$t("components.dialog.components.new_camera.discover_cameras_description")),1)]),_:1})])),e(P)==="add"?(s(),p("div",da,[o(u,{ref_key:"addRef",ref:E,camera:e(B)},null,8,["camera"])])):_("",!0),e(P)==="discover"?(s(),p("div",ua,[o(S,{ref_key:"discoverRef",ref:R,onAddCamera:M},null,512)])):_("",!0)])}}}),pa={class:"py-4 pb-1 sm:p-0"},ha={key:0,class:"page-title pl-4 sm:pl-0"},fa={class:"page-title pl-4 sm:pl-0"},_a={class:"w-full h-[60px] p-4 absolute bottom-0 z-1 flex items-center gap-1 justify-between pointer-events-none"},ga={class:"text-xs font-semibold p-2 bg-black/60 rounded-full text-white"},va={key:0},ba={class:"flex items-center justify-center w-full h-full"},wa={key:1,class:"text-muted"},ds=se({__name:"Cameras",setup($){const d=new Se,j=$o(),E=Ke(),R=To(),B=Ro(),{t:P}=Be(),{smBreakpoint:T}=Ve(),{uiSettings:L}=Bo(R),M=Je({}),{data:O,isFetching:y}=d.getCamerasQuery({page:1,pageSize:-1}),x=Q(()=>y.value),m=Q(()=>B.showBottombar.value?Po.HEIGHT:0),C=u=>{E.openComponentDialog(et,{data:{title:P("components.dialog.title.log"),confirmText:P("components.form.button.download"),loading:x,stayActive:!0,contentProps:{cameraName:u},dialogContentClass:"not-md:px-0 h-full md:h-[50vh]"}})},H=()=>{E.openStepperDialog(ma,{data:{title:P("components.dialog.components.new_camera.title"),fullscreen:!0,tabs:[{id:"add",title:P("components.dialog.components.new_camera.add_camera")},{id:"discover",title:P("components.dialog.components.new_camera.discover_cameras")}],contentProps:{}}})};return(u,S)=>{const h=Zo,K=Ue,oe=ze,A=Ce,Z=Ao,re=Io,ie=Mo,le=Ye,f=Ee,w=_o,V=Le;return s(),p("div",pa,[e(L).cameras.showEvents?(s(),p("h1",ha,v(u.$t("views.cameras.events")),1)):_("",!0),e(L).cameras.showEvents?(s(),g(h,{key:1,class:"flex w-full mb-3 px-1 sm:px-0"})):_("",!0),n("h1",fa,v(u.$t(`views.${String(u.$route.name).toLowerCase()}.title`)),1),o(Vo,{name:"fade-2"},{default:t(()=>{var i,a;return[e(x)?(s(),p("div",{key:"loading",class:"grid w-full gap-2",style:Me({gridTemplateColumns:`repeat(auto-fill, minmax(${e(T)?"100%":"300px"}, 1fr))`})},[(s(),p(me,null,pe(15,l=>o(K,{key:l,class:ke(["aspect-video !h-auto cui-card",{"!rounded-none !border-0":e(T)}])},null,8,["class"])),64))],4)):(s(),p("div",{key:"cameraCards",class:"grid w-full gap-1",style:Me({gridTemplateColumns:`repeat(auto-fill, minmax(${e(T)?"100%":"300px"}, 1fr)) ${!e(O)||e(O).result.length<2?"50%":""}`})},[(s(!0),p(me,null,pe((i=e(O))==null?void 0:i.result,l=>(s(),p("div",{key:l.name,class:ke(["dark-mode rounded-xl overflow-hidden border-[1px] border-color relative",{"!border-0 !rounded-none":e(T)}])},[n("div",_a,[n("span",ga,v(l.name),1),G((s(),g(A,{severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto ml-auto",onClick:I=>{var U;return(U=e(M)[l.name])==null?void 0:U.refresh()}},{icon:t(()=>[o(oe,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.refresh_snapshot")},void 0,{top:!0}]]),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?G((s(),g(A,{key:0,severity:"secondary",rounded:"",class:"cui-icon-md pointer-events-auto",onClick:I=>C(l.name)},{icon:t(()=>[o(Z,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.log")},void 0,{top:!0}]]):_("",!0),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")?G((s(),g(A,{key:1,rounded:"",severity:"secondary",class:"cui-icon-md pointer-events-auto",onClick:I=>e(j).open({cameraName:l.name})},{icon:t(()=>[o(re,{width:"100%",height:"100%"})]),_:2},1032,["onClick"])),[[V,{value:u.$t("components.player.settings")},void 0,{top:!0}]]):_("",!0)]),o(ie,{ref_for:!0,ref:I=>{e(M)[l.name]=I},"camera-name":l.name,class:"cursor-pointer","image-container-class":"w-full h-full",onClick:I=>u.$router.push(`/cameras/${l.name}`)},null,8,["camera-name","onClick"])],2))),128)),("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"admin")&&!e(T)?(s(),p("div",va,[o(f,{class:"cui-card aspect-video",pt:{root:{class:{"!rounded-none !border-0":e(T)}},body:{class:"h-full flex items-center justify-center"}}},{content:t(()=>[n("div",ba,[o(A,{text:"",rounded:"",class:"w-16 h-16 dark-mode",onClick:H},{icon:t(()=>[o(le,{width:"100%",height:"100%"})]),_:1})])]),_:1},8,["pt"])])):!((a=e(O))!=null&&a.result.length)&&("useCuiPermission"in u?u.useCuiPermission:e(we))(void 0,"user",!0)?(s(),p("span",wa,v(u.$t("views.cameras.no_cameras")),1)):_("",!0)],4))]}),_:1}),e(T)?G((s(),g(A,{key:2,rounded:"",class:"transition-all cui-icon-3xl fixed right-safe-offset-5 z-10 shadow-lg text-white",style:Me({bottom:`calc(${e(m)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`}),onClick:H},{icon:t(()=>[o(w,{width:"30px",height:"30px"})]),_:1},8,["style"])),[[V,{value:u.$t("views.cameras.add_camera")},void 0,{top:!0}]]):_("",!0)])}}});export{ds as default};
@@ -0,0 +1 @@
1
+ import{z as i}from"./main.B_fPrbq1.0.0.66.js";import{c as m,d as p,e as r,I as e}from"./@vue.BxBKarQv.0.0.66.js";import"./@tanstack.Cg5p0suW.0.0.66.js";import"./primevue.u0cWw2OL.0.0.66.js";import"./@primeuix.bRNqZjQz.0.0.66.js";import"./@primevue.CSqVWdSI.0.0.66.js";import"./@vueuse.LiqCsnkh.0.0.66.js";import"./nprogress.BE8Ud4fe.0.0.66.js";import"./@xterm.CgghSimY.0.0.66.js";import"./axios.lj9VQs0f.0.0.66.js";import"./vue-i18n.BhNKxLwd.0.0.66.js";import"./@intlify.BIbPqCER.0.0.66.js";import"./pinia.GUa2jGH4.0.0.66.js";import"./vue-router.BAKcO87W.0.0.66.js";import"./vue-inline-svg.CwhJUOPA.0.0.66.js";import"./vee-validate.Bddoj8yk.0.0.66.js";import"./@vee-validate.DYnt12GD.0.0.66.js";import"./zod.2bfLsWMZ.0.0.66.js";import"./uuid.C6aID195.0.0.66.js";import"./socket.io-client.Bsb7RiMX.0.0.66.js";import"./engine.io-client.BW_Hz_BW.0.0.66.js";import"./engine.io-parser.BiEtp6m2.0.0.66.js";import"./@socket.io.Dkula2eQ.0.0.66.js";import"./socket.io-parser.B4i48Hhv.0.0.66.js";import"./rxjs.BFmW76gn.0.0.66.js";import"./tslib.9k7AwCpt.0.0.66.js";import"./highlight.js.BzmrmBdP.0.0.66.js";import"./markdown-it.BFhvgE87.0.0.66.js";import"./mdurl.k9Sl0PQj.0.0.66.js";import"./uc.micro.kMc2yuuw.0.0.66.js";import"./entities.C20TfXL6.0.0.66.js";import"./linkify-it.BufRIWo8.0.0.66.js";import"./punycode.js.Dj65hjkv.0.0.66.js";import"./qrcode.drIiNiGs.0.0.66.js";import"./dijkstrajs.C00ieaqj.0.0.66.js";import"./draggabilly.ChLscxJD.0.0.66.js";import"./get-size.D1dS-IaP.0.0.66.js";import"./unidragger.Bo5rY1ZU.0.0.66.js";import"./ev-emitter.X5f1qa-c.0.0.66.js";import"./vue-zoomable.CLt4yUos.0.0.66.js";import"./primelocale.Bga3dOQu.0.0.66.js";const s={},a={class:"page-title"};function n(t,o){return p(),m("div",null,[r("h1",a,e(t.$t(`views.${String(t.$route.name).toLowerCase()}.title`)),1),o[0]||(o[0]=r("span",{class:"text-muted"},"WIP",-1))])}const X=i(s,[["render",n]]);export{X as default};