@camera.ui/server 0.0.49 → 0.0.50-internal.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/.prettierignore +12 -0
  2. package/.prettierrc.json +12 -0
  3. package/artillery.yaml +29 -0
  4. package/bin/cameraui-server.ts +11 -0
  5. package/dist/interface/assets/@xterm.DYP7pi_n.0.0.50-internal.0.css +32 -0
  6. package/dist/interface/assets/Adminpanel.BKek2EMH.0.0.50-internal.0.css +1 -0
  7. package/dist/interface/assets/Cameras.BDWZJqPN.0.0.50-internal.0.css +1 -0
  8. package/dist/interface/assets/Camview.BFUFMoNX.0.0.50-internal.0.css +1 -0
  9. package/dist/interface/assets/CuiConsole.DCYyxdVg.0.0.50-internal.0.css +1 -0
  10. package/dist/interface/assets/CuiPluginCard.yF8V0SZY.0.0.50-internal.0.css +1 -0
  11. package/dist/interface/assets/CuiTimeline.BkIwlYtw.0.0.50-internal.0.css +1 -0
  12. package/dist/interface/assets/Plugin.DJElsAn5.0.0.50-internal.0.css +1 -0
  13. package/dist/interface/assets/Plugins.0h77qnmN.0.0.50-internal.0.css +1 -0
  14. package/dist/interface/assets/Settings.CkgfRkQr.0.0.50-internal.0.css +1 -0
  15. package/dist/interface/assets/SettingsAccount.DeFul3eQ.0.0.50-internal.0.css +1 -0
  16. package/dist/interface/assets/main.Cip9LkS3.0.0.50-internal.0.css +1 -0
  17. package/dist/interface/assets/worker-base.jEXLGV2h.0.0.50-internal.0.js +1332 -0
  18. package/dist/interface/assets/worker-json.DgwNIOck.0.0.50-internal.0.js +1626 -0
  19. package/dist/interface/assets/worker-yaml.B3uUYINB.0.0.50-internal.0.js +5819 -0
  20. package/dist/interface/fonts/InterVariable.woff2 +0 -0
  21. package/dist/interface/index.html +48 -38
  22. package/dist/interface/js/@intlify.BkGPX90O.0.0.50-internal.0.js +15 -0
  23. package/dist/interface/js/@kurkle.D8fDXNIl.0.0.50-internal.0.js +6 -0
  24. package/dist/interface/js/@primeuix.BFAY2Bk9.0.0.50-internal.0.js +5722 -0
  25. package/dist/interface/js/@primevue.OhxoO3MD.0.0.50-internal.0.js +57 -0
  26. package/dist/interface/js/@tanstack.D1IL6eOv.0.0.50-internal.0.js +1 -0
  27. package/dist/interface/{@vee-validate.DHkwupr6.0.0.49.js → js/@vee-validate.BGPyWWTh.0.0.50-internal.0.js} +2 -2
  28. package/dist/interface/js/@vue.B5vqhCp2.0.0.50-internal.0.js +17 -0
  29. package/dist/interface/js/@vueuse.BsKtqdiG.0.0.50-internal.0.js +1 -0
  30. package/dist/interface/{@xterm.D6R4zI7m.0.0.49.js → js/@xterm.CAa7rpjv.0.0.50-internal.0.js} +8 -8
  31. package/dist/interface/js/Adminpanel.D93Kvbwp.0.0.50-internal.0.js +1 -0
  32. package/dist/interface/js/Camera.DF2l3OMA.0.0.50-internal.0.js +1 -0
  33. package/dist/interface/js/Cameras.YzvZccdv.0.0.50-internal.0.js +482 -0
  34. package/dist/interface/js/Cammesh.D-6dAROQ.0.0.50-internal.0.js +1 -0
  35. package/dist/interface/js/Camview.CB7_HnoQ.0.0.50-internal.0.js +1 -0
  36. package/dist/interface/js/Config.BwflsWTm.0.0.50-internal.0.js +2 -0
  37. package/dist/interface/js/Console.DZM8pN8Q.0.0.50-internal.0.js +4 -0
  38. package/dist/interface/js/CuiConsole.BXXU7Gth.0.0.50-internal.0.js +1 -0
  39. package/dist/interface/js/CuiPluginCard.YFOrpbVD.0.0.50-internal.0.js +4 -0
  40. package/dist/interface/js/CuiTimeline.VV5KSJd5.0.0.50-internal.0.js +1 -0
  41. package/dist/interface/js/FirstSteps.b-nvymgb.0.0.50-internal.0.js +1 -0
  42. package/dist/interface/js/Plugin.BOMpVEwM.0.0.50-internal.0.js +1 -0
  43. package/dist/interface/js/Plugins.DdPwaUDA.0.0.50-internal.0.js +1 -0
  44. package/dist/interface/js/Recordings.DhxjIW7e.0.0.50-internal.0.js +1 -0
  45. package/dist/interface/js/Settings.D24ttaPu.0.0.50-internal.0.js +1 -0
  46. package/dist/interface/js/SettingsAccount.ms3aqz4E.0.0.50-internal.0.js +1 -0
  47. package/dist/interface/js/SettingsAppearance.DsTjKXk1.0.0.50-internal.0.js +1 -0
  48. package/dist/interface/js/SettingsAppearance.vue_vue_type_script_setup_true_lang.CBQ6lL3T.0.0.50-internal.0.js +1 -0
  49. package/dist/interface/js/SettingsBackup.BPEc4Rjg.0.0.50-internal.0.js +1 -0
  50. package/dist/interface/js/SettingsRecordings.DgW7M0jj.0.0.50-internal.0.js +1 -0
  51. package/dist/interface/js/SettingsRemote.BL5nXbUT.0.0.50-internal.0.js +1 -0
  52. package/dist/interface/js/SettingsSystem.D7T0AIpm.0.0.50-internal.0.js +1 -0
  53. package/dist/interface/js/SettingsUsers.1u0vCOVG.0.0.50-internal.0.js +1 -0
  54. package/dist/interface/js/VersionsHandler.vue_vue_type_script_setup_true_lang.xDishkkS.0.0.50-internal.0.js +4 -0
  55. package/dist/interface/js/ace-builds.D1nmvCwb.0.0.50-internal.0.js +1090 -0
  56. package/dist/interface/js/ace.config.G96T2z54.0.0.50-internal.0.js +1 -0
  57. package/dist/interface/js/axios.DHr9lByg.0.0.50-internal.0.js +6 -0
  58. package/dist/interface/js/backup.B_Gzxtp_.0.0.50-internal.0.js +1 -0
  59. package/dist/interface/js/chart.js.CP_nMnnf.0.0.50-internal.0.js +13 -0
  60. package/dist/interface/js/close-circle.DYLuVIOg.0.0.50-internal.0.js +1 -0
  61. package/dist/interface/js/dnd-core.T9OeW7mu.0.0.50-internal.0.js +1 -0
  62. package/dist/interface/{draggabilly.C0hZWkL0.0.0.49.js → js/draggabilly.D3zGcBb3.0.0.50-internal.0.js} +1 -1
  63. package/dist/interface/js/engine.io-client.kITRnq-g.0.0.50-internal.0.js +1 -0
  64. package/dist/interface/js/fast-deep-equal.Bpc9mIsj.0.0.50-internal.0.js +1 -0
  65. package/dist/interface/js/highlight.js.BlSXU-Wb.0.0.50-internal.0.js +3 -0
  66. package/dist/interface/js/linkify-it.C3N1lWsJ.0.0.50-internal.0.js +1 -0
  67. package/dist/interface/js/main.D0YR3Jat.0.0.50-internal.0.js +31 -0
  68. package/dist/interface/{markdown-it.64FJJcTG.0.0.49.js → js/markdown-it.Dj0dt5s2.0.0.50-internal.0.js} +1 -1
  69. package/dist/interface/{nprogress.DkWvUoHh.0.0.49.js → js/nprogress.BwQWDcGj.0.0.50-internal.0.js} +1 -1
  70. package/dist/interface/js/perfect-debounce.l0sNRNKZ.0.0.50-internal.0.js +1 -0
  71. package/dist/interface/js/pinia.DRh7plEC.0.0.50-internal.0.js +5 -0
  72. package/dist/interface/js/primelocale.Bga3dOQu.0.0.50-internal.0.js +1 -0
  73. package/dist/interface/js/primevue.Cl58krXf.0.0.50-internal.0.js +142 -0
  74. package/dist/interface/{qrcode.BixA_YE2.0.0.49.js → js/qrcode.C1sDj6P8.0.0.50-internal.0.js} +1 -1
  75. package/dist/interface/js/react-dnd-touch-backend.BA4WhUJo.0.0.50-internal.0.js +1 -0
  76. package/dist/interface/js/refresh-rounded.D_SmhhUf.0.0.50-internal.0.js +1 -0
  77. package/dist/interface/js/rxjs.C-fTBwEO.0.0.50-internal.0.js +3 -0
  78. package/dist/interface/js/socket.io-client.DKrRxgjP.0.0.50-internal.0.js +1 -0
  79. package/dist/interface/js/socket.io-parser.EXj3YDH2.0.0.50-internal.0.js +1 -0
  80. package/dist/interface/js/system.CY8rGd-Q.0.0.50-internal.0.js +1 -0
  81. package/dist/interface/js/trash-fill.CMnCN3Oy.0.0.50-internal.0.js +1 -0
  82. package/dist/interface/{unidragger.C8ueS-PW.0.0.49.js → js/unidragger.D0w6Tqtt.0.0.50-internal.0.js} +1 -1
  83. package/dist/interface/js/uuid.C6aID195.0.0.50-internal.0.js +1 -0
  84. package/dist/interface/js/vee-validate.BeiObIH8.0.0.50-internal.0.js +5 -0
  85. package/dist/interface/js/vue-chartjs.DtdZdiYw.0.0.50-internal.0.js +1 -0
  86. package/dist/interface/js/vue-i18n.BW2bx_6z.0.0.50-internal.0.js +5 -0
  87. package/dist/interface/js/vue-inline-svg.BJkQGmKz.0.0.50-internal.0.js +1 -0
  88. package/dist/interface/js/vue-router.B2mOXHaC.0.0.50-internal.0.js +5 -0
  89. package/dist/interface/js/vue-zoomable.BKDyCJE7.0.0.50-internal.0.js +1 -0
  90. package/dist/interface/js/vue.l0sNRNKZ.0.0.50-internal.0.js +1 -0
  91. package/dist/interface/js/vue3-dnd.DRK24CBp.0.0.50-internal.0.js +1 -0
  92. package/dist/interface/js/zod.SKKegNRO.0.0.50-internal.0.js +1 -0
  93. package/dist/interface/js/zoom-out.DxvzgVEo.0.0.50-internal.0.js +1 -0
  94. package/dist/interface/manifest.webmanifest +1 -1
  95. package/dist/interface/pwa/favicon-32.ico +0 -0
  96. package/dist/interface/pwa/favicon-48.ico +0 -0
  97. package/dist/interface/sw.js +1 -1
  98. package/dist/server/package.json +57 -45
  99. package/dist/server/requirements.txt +12 -11
  100. package/dist/server/src/__init__.py +0 -0
  101. package/dist/server/src/_camera_ui_tools/__init__.py +0 -0
  102. package/dist/server/src/_camera_ui_tools/camera_ui_common/__init__.py +28 -0
  103. package/dist/server/src/_camera_ui_tools/camera_ui_common/camera_utils/utils.py +52 -0
  104. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/__init__.py +0 -0
  105. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/object_path.py +198 -0
  106. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/reactive.py +42 -0
  107. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +92 -0
  108. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/subscribed.py +21 -0
  109. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/task.py +39 -0
  110. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/thread.py +10 -0
  111. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/utils.py +91 -0
  112. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/__init__.py +0 -0
  113. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/ansicolor.py +62 -0
  114. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/logger.py +178 -0
  115. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/test.py +116 -0
  116. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/__init__.py +350 -0
  117. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/__init__.py +0 -0
  118. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/base.py +237 -0
  119. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/client.py +256 -0
  120. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/connection.py +784 -0
  121. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/errors.py +745 -0
  122. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/messaging.py +57 -0
  123. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc.py +227 -0
  124. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc_generator.py +584 -0
  125. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/constants.py +96 -0
  126. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/typings.py +218 -0
  127. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/__init__.py +0 -0
  128. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/connection_state.py +86 -0
  129. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/logger.py +30 -0
  130. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/metrics.py +152 -0
  131. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/packer.py +20 -0
  132. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/routing.py +75 -0
  133. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/rpc.py +177 -0
  134. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/subscriptions.py +24 -0
  135. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/tasks.py +39 -0
  136. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/uid.py +37 -0
  137. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/validate.py +119 -0
  138. package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +1360 -0
  139. package/dist/server/src/_camera_ui_tools/camera_ui_types/hybrid_observer.py +338 -0
  140. package/dist/server/src/_camera_ui_tools/camera_ui_types/test.py +196 -0
  141. package/dist/server/src/api/controllers/auth.controller.d.ts +2 -2
  142. package/dist/server/src/api/controllers/auth.controller.js +49 -43
  143. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  144. package/dist/server/src/api/controllers/backup.controller.js +1 -2
  145. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  146. package/dist/server/src/api/controllers/cameras.controller.d.ts +13 -11
  147. package/dist/server/src/api/controllers/cameras.controller.js +314 -105
  148. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  149. package/dist/server/src/api/controllers/plugins.controller.d.ts +8 -8
  150. package/dist/server/src/api/controllers/plugins.controller.js +208 -244
  151. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  152. package/dist/server/src/api/controllers/system.controller.d.ts +1 -0
  153. package/dist/server/src/api/controllers/system.controller.js +22 -8
  154. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  155. package/dist/server/src/api/controllers/users.controller.d.ts +2 -2
  156. package/dist/server/src/api/controllers/users.controller.js +13 -25
  157. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  158. package/dist/server/src/api/database/checks.js +2 -2
  159. package/dist/server/src/api/database/checks.js.map +1 -1
  160. package/dist/server/src/api/database/index.d.ts +4 -7
  161. package/dist/server/src/api/database/index.js +59 -86
  162. package/dist/server/src/api/database/index.js.map +1 -1
  163. package/dist/server/src/api/database/migration.js +5 -141
  164. package/dist/server/src/api/database/migration.js.map +1 -1
  165. package/dist/server/src/api/database/selfcheck.js +5 -5
  166. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  167. package/dist/server/src/api/database/types.d.ts +17 -25
  168. package/dist/server/src/api/go2rtc/api/discover.d.ts +30 -0
  169. package/dist/server/src/api/go2rtc/api/discover.js +162 -0
  170. package/dist/server/src/api/go2rtc/api/discover.js.map +1 -0
  171. package/dist/server/src/api/go2rtc/api/index.d.ts +1 -1
  172. package/dist/server/src/api/go2rtc/api/index.js +15 -4
  173. package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
  174. package/dist/server/src/api/go2rtc/api/streams.d.ts +3 -1
  175. package/dist/server/src/api/go2rtc/api/streams.js +66 -9
  176. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
  177. package/dist/server/src/api/go2rtc/index.d.ts +2 -0
  178. package/dist/server/src/api/go2rtc/index.js +3 -0
  179. package/dist/server/src/api/go2rtc/index.js.map +1 -1
  180. package/dist/server/src/api/go2rtc/queue.js +3 -3
  181. package/dist/server/src/api/go2rtc/queue.js.map +1 -1
  182. package/dist/server/src/api/go2rtc/types.d.ts +66 -11
  183. package/dist/server/src/api/index.d.ts +4 -0
  184. package/dist/server/src/api/index.js +45 -9
  185. package/dist/server/src/api/index.js.map +1 -1
  186. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +1 -0
  187. package/dist/server/src/api/middlewares/authPermission.middleware.js +11 -2
  188. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  189. package/dist/server/src/api/middlewares/authValidation.middleware.js +20 -12
  190. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  191. package/dist/server/src/api/middlewares/pagination.middleware.js +45 -53
  192. package/dist/server/src/api/middlewares/pagination.middleware.js.map +1 -1
  193. package/dist/server/src/api/plugins/proxy.plugin.d.ts +14 -0
  194. package/dist/server/src/api/plugins/proxy.plugin.js +200 -0
  195. package/dist/server/src/api/plugins/proxy.plugin.js.map +1 -0
  196. package/dist/server/src/api/routes/cameras.routes.js +56 -30
  197. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  198. package/dist/server/src/api/routes/plugins.routes.js +65 -63
  199. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  200. package/dist/server/src/api/routes/system.routes.js +7 -1
  201. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  202. package/dist/server/src/api/routes/users.routes.js +8 -8
  203. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  204. package/dist/server/src/api/schemas/backup.schema.d.ts +3 -3
  205. package/dist/server/src/api/schemas/backup.schema.js +1 -1
  206. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  207. package/dist/server/src/api/schemas/cameras.schema.d.ts +1413 -529
  208. package/dist/server/src/api/schemas/cameras.schema.js +228 -182
  209. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  210. package/dist/server/src/api/schemas/config.schema.d.ts +29 -41
  211. package/dist/server/src/api/schemas/config.schema.js +10 -21
  212. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  213. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +194 -162
  214. package/dist/server/src/api/schemas/go2rtc.schema.js +33 -58
  215. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
  216. package/dist/server/src/api/schemas/plugins.schema.d.ts +17 -17
  217. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  218. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  219. package/dist/server/src/api/schemas/storage.schema.d.ts +22 -0
  220. package/dist/server/src/api/schemas/storage.schema.js +5 -0
  221. package/dist/server/src/api/schemas/storage.schema.js.map +1 -0
  222. package/dist/server/src/api/schemas/system.schema.d.ts +171 -3
  223. package/dist/server/src/api/schemas/system.schema.js +30 -3
  224. package/dist/server/src/api/schemas/system.schema.js.map +1 -1
  225. package/dist/server/src/api/schemas/users.schema.d.ts +98 -254
  226. package/dist/server/src/api/schemas/users.schema.js +6 -6
  227. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  228. package/dist/server/src/api/services/auth.service.d.ts +5 -5
  229. package/dist/server/src/api/services/auth.service.js +26 -35
  230. package/dist/server/src/api/services/auth.service.js.map +1 -1
  231. package/dist/server/src/api/services/cameras.service.d.ts +11 -16
  232. package/dist/server/src/api/services/cameras.service.js +143 -310
  233. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  234. package/dist/server/src/api/services/plugins.service.d.ts +3 -1
  235. package/dist/server/src/api/services/plugins.service.js +48 -50
  236. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  237. package/dist/server/src/api/services/users.service.d.ts +1 -0
  238. package/dist/server/src/api/services/users.service.js +20 -14
  239. package/dist/server/src/api/services/users.service.js.map +1 -1
  240. package/dist/server/src/api/types/index.d.ts +57 -46
  241. package/dist/server/src/api/types/index.js +0 -4
  242. package/dist/server/src/api/types/index.js.map +1 -1
  243. package/dist/server/src/api/utils/cert.d.ts +5 -1
  244. package/dist/server/src/api/utils/cert.js +24 -26
  245. package/dist/server/src/api/utils/cert.js.map +1 -1
  246. package/dist/server/src/api/utils/constants.d.ts +4 -2
  247. package/dist/server/src/api/utils/constants.js +4 -2
  248. package/dist/server/src/api/utils/constants.js.map +1 -1
  249. package/dist/server/src/api/utils/fetch.d.ts +1 -1
  250. package/dist/server/src/api/utils/fetch.js +2 -2
  251. package/dist/server/src/api/utils/fetch.js.map +1 -1
  252. package/dist/server/src/api/websocket/index.d.ts +1 -0
  253. package/dist/server/src/api/websocket/index.js +14 -9
  254. package/dist/server/src/api/websocket/index.js.map +1 -1
  255. package/dist/server/src/api/websocket/nsp/logs.d.ts +10 -2
  256. package/dist/server/src/api/websocket/nsp/logs.js +75 -27
  257. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  258. package/dist/server/src/api/websocket/nsp/metrics.d.ts +20 -12
  259. package/dist/server/src/api/websocket/nsp/metrics.js +188 -117
  260. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  261. package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -1
  262. package/dist/server/src/api/websocket/nsp/plugins.js +3 -5
  263. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  264. package/dist/server/src/api/websocket/nsp/server.js +6 -0
  265. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  266. package/dist/server/src/api/websocket/types.d.ts +4 -2
  267. package/dist/server/src/api.d.ts +3 -4
  268. package/dist/server/src/api.js +13 -13
  269. package/dist/server/src/api.js.map +1 -1
  270. package/dist/server/src/camera/classes.d.ts +2 -0
  271. package/dist/server/src/camera/classes.js +24 -0
  272. package/dist/server/src/camera/classes.js.map +1 -0
  273. package/dist/server/src/camera/controller.d.ts +30 -18
  274. package/dist/server/src/camera/controller.js +236 -202
  275. package/dist/server/src/camera/controller.js.map +1 -1
  276. package/dist/server/src/camera/device.d.ts +34 -0
  277. package/dist/server/src/camera/device.js +327 -0
  278. package/dist/server/src/camera/device.js.map +1 -0
  279. package/dist/server/src/camera/frameWorker.d.ts +32 -31
  280. package/dist/server/src/camera/frameWorker.js +257 -247
  281. package/dist/server/src/camera/frameWorker.js.map +1 -1
  282. package/dist/server/src/camera/index.d.ts +92 -0
  283. package/dist/server/src/camera/index.js +531 -0
  284. package/dist/server/src/camera/index.js.map +1 -0
  285. package/dist/server/src/camera/interfaces.d.ts +17 -0
  286. package/dist/server/src/camera/interfaces.js +99 -0
  287. package/dist/server/src/camera/interfaces.js.map +1 -0
  288. package/dist/server/src/camera/iou.d.ts +2 -0
  289. package/dist/server/src/camera/iou.js +123 -0
  290. package/dist/server/src/camera/iou.js.map +1 -0
  291. package/dist/server/src/camera/polygon.d.ts +4 -0
  292. package/dist/server/src/camera/polygon.js +192 -0
  293. package/dist/server/src/camera/polygon.js.map +1 -0
  294. package/dist/server/src/camera/python/__init__.py +0 -0
  295. package/dist/server/src/camera/python/classes.py +41 -0
  296. package/dist/server/src/camera/python/interfaces.py +130 -0
  297. package/dist/server/src/camera/python/iou.py +158 -0
  298. package/dist/server/src/camera/python/polygon.py +230 -0
  299. package/dist/server/src/camera/python/typings.py +50 -0
  300. package/dist/server/src/camera/python/video_frame.py +143 -0
  301. package/dist/server/src/camera/session.d.ts +37 -0
  302. package/dist/server/src/camera/session.js +160 -0
  303. package/dist/server/src/camera/session.js.map +1 -0
  304. package/dist/server/src/camera/streaming/fmp4-session.d.ts +17 -0
  305. package/dist/server/src/camera/streaming/fmp4-session.js +308 -0
  306. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -0
  307. package/dist/server/src/camera/streaming/peer-connection.d.ts +26 -0
  308. package/dist/server/src/camera/streaming/peer-connection.js +213 -0
  309. package/dist/server/src/camera/streaming/peer-connection.js.map +1 -0
  310. package/dist/server/src/camera/streaming/rtsp-session.d.ts +19 -0
  311. package/dist/server/src/camera/streaming/rtsp-session.js +253 -0
  312. package/dist/server/src/camera/streaming/rtsp-session.js.map +1 -0
  313. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +44 -0
  314. package/dist/server/src/camera/streaming/webrtc-connection.js +177 -0
  315. package/dist/server/src/camera/streaming/webrtc-connection.js.map +1 -0
  316. package/dist/server/src/camera/streaming/werift-session.d.ts +19 -0
  317. package/dist/server/src/camera/streaming/werift-session.js +246 -0
  318. package/dist/server/src/camera/streaming/werift-session.js.map +1 -0
  319. package/dist/server/src/camera/types.d.ts +16 -10
  320. package/dist/server/src/camera/utils.d.ts +9 -0
  321. package/dist/server/src/camera/utils.js +416 -0
  322. package/dist/server/src/camera/utils.js.map +1 -0
  323. package/dist/server/src/camera/videoFrame.d.ts +18 -0
  324. package/dist/server/src/camera/videoFrame.js +88 -0
  325. package/dist/server/src/camera/videoFrame.js.map +1 -0
  326. package/dist/server/src/cloud/index.d.ts +12 -0
  327. package/dist/server/src/cloud/index.js +49 -0
  328. package/dist/server/src/cloud/index.js.map +1 -0
  329. package/dist/server/src/cloud/remote/cloudflare.d.ts +7 -0
  330. package/dist/server/src/cloud/remote/cloudflare.js +12 -0
  331. package/dist/server/src/cloud/remote/cloudflare.js.map +1 -0
  332. package/dist/server/src/cloud/remote/upnp.d.ts +7 -0
  333. package/dist/server/src/cloud/remote/upnp.js +12 -0
  334. package/dist/server/src/cloud/remote/upnp.js.map +1 -0
  335. package/dist/server/src/cloud/remote/utils.d.ts +3 -0
  336. package/dist/server/src/cloud/remote/utils.js +20 -0
  337. package/dist/server/src/cloud/remote/utils.js.map +1 -0
  338. package/dist/server/src/cloud/types.d.ts +15 -0
  339. package/dist/server/src/cloud/types.js +11 -0
  340. package/dist/server/src/cloud/types.js.map +1 -0
  341. package/dist/server/src/decoder/child.d.ts +1 -0
  342. package/dist/server/src/decoder/child.js +749 -0
  343. package/dist/server/src/decoder/child.js.map +1 -0
  344. package/dist/server/src/decoder/imageUtils.d.ts +22 -0
  345. package/dist/server/src/decoder/imageUtils.js +196 -0
  346. package/dist/server/src/decoder/imageUtils.js.map +1 -0
  347. package/dist/server/src/decoder/manager.d.ts +19 -0
  348. package/dist/server/src/decoder/manager.js +208 -0
  349. package/dist/server/src/decoder/manager.js.map +1 -0
  350. package/dist/server/src/decoder/python/__init__.py +0 -0
  351. package/dist/server/src/decoder/python/child.py +903 -0
  352. package/dist/server/src/decoder/python/image_utils.py +196 -0
  353. package/dist/server/src/decoder/python/pool.py +45 -0
  354. package/dist/server/src/decoder/python/typings.py +57 -0
  355. package/dist/server/src/decoder/python/utils.py +70 -0
  356. package/dist/server/src/decoder/types.d.ts +23 -0
  357. package/dist/server/src/decoder/types.js.map +1 -0
  358. package/dist/server/src/decoder/utils.d.ts +13 -0
  359. package/dist/server/src/decoder/utils.js +45 -0
  360. package/dist/server/src/decoder/utils.js.map +1 -0
  361. package/dist/server/src/decoder/wasm/build/decoder.d.ts +43 -0
  362. package/dist/server/src/decoder/wasm/build/decoder.js +108 -0
  363. package/dist/server/src/decoder/wasm/build/decoder.wasm +0 -0
  364. package/dist/server/src/decoder/worker.d.ts +1 -0
  365. package/dist/server/src/decoder/worker.js +79 -0
  366. package/dist/server/src/decoder/worker.js.map +1 -0
  367. package/dist/server/src/go2rtc/index.d.ts +1 -0
  368. package/dist/server/src/go2rtc/index.js +27 -9
  369. package/dist/server/src/go2rtc/index.js.map +1 -1
  370. package/dist/server/src/go2rtc/types.d.ts +5 -4
  371. package/dist/server/src/go2rtc/types.js +6 -2
  372. package/dist/server/src/go2rtc/types.js.map +1 -1
  373. package/dist/server/src/main.js +19 -5
  374. package/dist/server/src/main.js.map +1 -1
  375. package/dist/server/src/manager/coreManager.d.ts +16 -0
  376. package/dist/server/src/manager/coreManager.js +95 -0
  377. package/dist/server/src/manager/coreManager.js.map +1 -0
  378. package/dist/server/src/manager/deviceManager.d.ts +12 -0
  379. package/dist/server/src/manager/deviceManager.js +130 -0
  380. package/dist/server/src/manager/deviceManager.js.map +1 -0
  381. package/dist/server/src/manager/types.d.ts +15 -0
  382. package/dist/server/src/manager/types.js +2 -0
  383. package/dist/server/src/manager/types.js.map +1 -0
  384. package/dist/server/src/plugins/index.d.ts +3 -1
  385. package/dist/server/src/plugins/index.js +42 -21
  386. package/dist/server/src/plugins/index.js.map +1 -1
  387. package/dist/server/src/plugins/plugin.d.ts +3 -3
  388. package/dist/server/src/plugins/plugin.js +13 -20
  389. package/dist/server/src/plugins/plugin.js.map +1 -1
  390. package/dist/server/src/plugins/runtime/base.d.ts +54 -0
  391. package/dist/server/src/plugins/runtime/base.js +223 -0
  392. package/dist/server/src/plugins/runtime/base.js.map +1 -0
  393. package/dist/server/src/plugins/runtime/index.d.ts +5 -0
  394. package/dist/server/src/plugins/runtime/index.js +13 -0
  395. package/dist/server/src/plugins/runtime/index.js.map +1 -0
  396. package/dist/server/src/plugins/runtime/node/child.d.ts +22 -0
  397. package/dist/server/src/plugins/runtime/node/child.js +152 -0
  398. package/dist/server/src/plugins/runtime/node/child.js.map +1 -0
  399. package/dist/server/src/plugins/runtime/node/index.d.ts +7 -0
  400. package/dist/server/src/plugins/runtime/node/index.js +54 -0
  401. package/dist/server/src/plugins/runtime/node/index.js.map +1 -0
  402. package/dist/server/src/plugins/runtime/node/plugin.d.ts +24 -0
  403. package/dist/server/src/plugins/runtime/node/plugin.js +128 -0
  404. package/dist/server/src/plugins/runtime/node/plugin.js.map +1 -0
  405. package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +16 -0
  406. package/dist/server/src/plugins/runtime/node/pluginApi.js +18 -0
  407. package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -0
  408. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.d.ts +25 -0
  409. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +230 -0
  410. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -0
  411. package/dist/server/src/plugins/runtime/node/proxy/coreManager.d.ts +16 -0
  412. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +98 -0
  413. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -0
  414. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.d.ts +19 -0
  415. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +144 -0
  416. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -0
  417. package/dist/server/src/plugins/runtime/node/storage.d.ts +34 -0
  418. package/dist/server/src/plugins/runtime/node/storage.js +313 -0
  419. package/dist/server/src/plugins/runtime/node/storage.js.map +1 -0
  420. package/dist/server/src/plugins/runtime/node/storageController.d.ts +18 -0
  421. package/dist/server/src/plugins/runtime/node/storageController.js +67 -0
  422. package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -0
  423. package/dist/server/src/plugins/runtime/python/__init__.py +0 -0
  424. package/dist/server/src/plugins/runtime/python/child.py +248 -0
  425. package/dist/server/src/plugins/runtime/python/index.d.ts +9 -0
  426. package/dist/server/src/plugins/runtime/python/index.js +57 -0
  427. package/dist/server/src/plugins/runtime/python/index.js.map +1 -0
  428. package/dist/server/src/plugins/runtime/python/namespaces.py +101 -0
  429. package/dist/server/src/plugins/runtime/python/plugin.py +155 -0
  430. package/dist/server/src/plugins/runtime/python/plugin_api.py +29 -0
  431. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1732 -0
  432. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +126 -0
  433. package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +197 -0
  434. package/dist/server/src/plugins/runtime/python/schema.py +99 -0
  435. package/dist/server/src/plugins/runtime/python/storage.py +353 -0
  436. package/dist/server/src/plugins/runtime/python/storage_controller.py +102 -0
  437. package/dist/server/src/plugins/runtime/python/typings.py +195 -0
  438. package/dist/server/src/plugins/schema.d.ts +27 -34
  439. package/dist/server/src/plugins/schema.js +358 -369
  440. package/dist/server/src/plugins/schema.js.map +1 -1
  441. package/dist/server/src/plugins/types.d.ts +43 -1
  442. package/dist/server/src/plugins/types.js +16 -0
  443. package/dist/server/src/plugins/types.js.map +1 -1
  444. package/dist/server/src/plugins/worker.d.ts +12 -31
  445. package/dist/server/src/plugins/worker.js +89 -343
  446. package/dist/server/src/plugins/worker.js.map +1 -1
  447. package/dist/server/src/rpc/index.d.ts +32 -0
  448. package/dist/server/src/rpc/index.js +103 -0
  449. package/dist/server/src/rpc/index.js.map +1 -0
  450. package/dist/server/src/rpc/namespaces.d.ts +35 -0
  451. package/dist/server/src/rpc/namespaces.js +42 -0
  452. package/dist/server/src/rpc/namespaces.js.map +1 -0
  453. package/dist/server/src/{nats → rpc}/server.d.ts +6 -2
  454. package/dist/server/src/{nats → rpc}/server.js +76 -55
  455. package/dist/server/src/rpc/server.js.map +1 -0
  456. package/dist/server/src/rpc/types.d.ts +111 -0
  457. package/dist/server/src/rpc/types.js +2 -0
  458. package/dist/server/src/{nats → rpc}/types.js.map +1 -1
  459. package/dist/server/src/{nats → rpc}/utils.d.ts +1 -1
  460. package/dist/server/src/rpc/utils.js.map +1 -0
  461. package/dist/server/src/services/config/constants.js +12 -48
  462. package/dist/server/src/services/config/constants.js.map +1 -1
  463. package/dist/server/src/services/config/defaults.d.ts +12 -0
  464. package/dist/server/src/services/config/defaults.js +55 -0
  465. package/dist/server/src/services/config/defaults.js.map +1 -0
  466. package/dist/server/src/services/config/index.d.ts +57 -9
  467. package/dist/server/src/services/config/index.js +277 -130
  468. package/dist/server/src/services/config/index.js.map +1 -1
  469. package/dist/server/src/services/config/types.d.ts +10 -4
  470. package/dist/server/src/types.d.ts +3 -0
  471. package/dist/server/src/utils/path.d.ts +5 -0
  472. package/dist/server/src/utils/path.js +12 -0
  473. package/dist/server/src/utils/path.js.map +1 -0
  474. package/dist/server/src/utils/pythonInstaller.d.ts +46 -0
  475. package/dist/server/src/utils/pythonInstaller.js +463 -0
  476. package/dist/server/src/utils/pythonInstaller.js.map +1 -0
  477. package/eslint.config.js +103 -0
  478. package/localdeps.txt +10 -0
  479. package/mypy.ini +30 -0
  480. package/package.json +57 -45
  481. package/requirements.txt +15 -0
  482. package/ruff.toml +90 -0
  483. package/src/__init__.py +0 -0
  484. package/src/_camera_ui_tools/__init__.py +0 -0
  485. package/src/_camera_ui_tools/__pycache__/__init__.cpython-311.pyc +0 -0
  486. package/src/api/controllers/api.controller.ts +19 -0
  487. package/src/api/controllers/auth.controller.ts +294 -0
  488. package/src/api/controllers/backup.controller.ts +72 -0
  489. package/src/api/controllers/cameras.controller.ts +1029 -0
  490. package/src/api/controllers/config.controller.ts +102 -0
  491. package/src/api/controllers/files.controller.ts +35 -0
  492. package/src/api/controllers/frameWorkers.controller.ts +109 -0
  493. package/src/api/controllers/plugins.controller.ts +1206 -0
  494. package/src/api/controllers/system.controller.ts +273 -0
  495. package/src/api/controllers/users.controller.ts +648 -0
  496. package/src/api/database/checks.ts +268 -0
  497. package/src/api/database/constants.ts +8 -0
  498. package/src/api/database/index.ts +262 -0
  499. package/src/api/database/migration.ts +62 -0
  500. package/src/api/database/selfcheck.ts +492 -0
  501. package/src/api/database/types.ts +104 -0
  502. package/src/api/go2rtc/api/application.ts +48 -0
  503. package/src/api/go2rtc/api/config.ts +61 -0
  504. package/src/api/go2rtc/api/discover.ts +197 -0
  505. package/src/api/go2rtc/api/index.ts +49 -0
  506. package/src/api/go2rtc/api/snapshot.ts +44 -0
  507. package/src/api/go2rtc/api/streams.ts +168 -0
  508. package/src/api/go2rtc/index.ts +43 -0
  509. package/src/api/go2rtc/queue.ts +50 -0
  510. package/src/api/go2rtc/types.ts +174 -0
  511. package/src/api/index.ts +286 -0
  512. package/src/api/middlewares/authPermission.middleware.ts +46 -0
  513. package/src/api/middlewares/authValidation.middleware.ts +160 -0
  514. package/src/api/middlewares/pagination.middleware.ts +67 -0
  515. package/src/api/middlewares/socketAuth.middleware.ts +136 -0
  516. package/src/api/plugins/header.plugin.ts +15 -0
  517. package/src/api/plugins/logger.plugin.ts +44 -0
  518. package/src/api/plugins/proxy.plugin.ts +255 -0
  519. package/src/api/plugins/socket.plugin.ts +28 -0
  520. package/src/api/plugins/system.plugin.ts +48 -0
  521. package/src/api/plugins/useragent.plugin.ts +19 -0
  522. package/src/api/routes/api.routes.ts +10 -0
  523. package/src/api/routes/auth.routes.ts +56 -0
  524. package/src/api/routes/backup.routes.ts +28 -0
  525. package/src/api/routes/cameras.routes.ts +281 -0
  526. package/src/api/routes/config.routes.ts +66 -0
  527. package/src/api/routes/files.routes.ts +15 -0
  528. package/src/api/routes/frameWorkers.routes.ts +39 -0
  529. package/src/api/routes/index.ts +37 -0
  530. package/src/api/routes/plugins.routes.ts +420 -0
  531. package/src/api/routes/system.routes.ts +101 -0
  532. package/src/api/routes/users.routes.ts +167 -0
  533. package/src/api/schemas/backup.schema.ts +112 -0
  534. package/src/api/schemas/cameras.schema.ts +479 -0
  535. package/src/api/schemas/config.schema.ts +38 -0
  536. package/src/api/schemas/go2rtc.schema.ts +189 -0
  537. package/src/api/schemas/plugins.schema.ts +126 -0
  538. package/src/api/schemas/storage.schema.ts +11 -0
  539. package/src/api/schemas/system.schema.ts +45 -0
  540. package/src/api/schemas/users.schema.ts +185 -0
  541. package/src/api/services/auth.service.ts +210 -0
  542. package/src/api/services/backup.service.ts +144 -0
  543. package/src/api/services/cameras.service.ts +671 -0
  544. package/src/api/services/plugins.service.ts +470 -0
  545. package/src/api/services/system.service.ts +85 -0
  546. package/src/api/services/users.service.ts +276 -0
  547. package/src/api/types/index.ts +675 -0
  548. package/src/api/utils/cert.ts +254 -0
  549. package/src/api/utils/constants.ts +17 -0
  550. package/src/api/utils/fetch.ts +21 -0
  551. package/src/api/utils/moveFiles.ts +45 -0
  552. package/src/api/utils/parse.ts +17 -0
  553. package/src/api/websocket/index.ts +110 -0
  554. package/src/api/websocket/nsp/logs.ts +240 -0
  555. package/src/api/websocket/nsp/main.ts +27 -0
  556. package/src/api/websocket/nsp/metrics.ts +301 -0
  557. package/src/api/websocket/nsp/notifications.ts +43 -0
  558. package/src/api/websocket/nsp/plugins.ts +37 -0
  559. package/src/api/websocket/nsp/server.ts +220 -0
  560. package/src/api/websocket/nsp/status.ts +77 -0
  561. package/src/api/websocket/types.ts +55 -0
  562. package/src/api.ts +163 -0
  563. package/src/camera/classes.ts +32 -0
  564. package/src/camera/controller.ts +579 -0
  565. package/src/camera/device.ts +422 -0
  566. package/src/camera/frameWorker.ts +403 -0
  567. package/src/camera/index.ts +679 -0
  568. package/src/camera/interfaces.ts +95 -0
  569. package/src/camera/iou.ts +153 -0
  570. package/src/camera/polygon.ts +226 -0
  571. package/src/camera/python/__init__.py +0 -0
  572. package/src/camera/python/__pycache__/__init__.cpython-311.pyc +0 -0
  573. package/src/camera/python/__pycache__/classes.cpython-311.pyc +0 -0
  574. package/src/camera/python/__pycache__/delegate_controller.cpython-311.pyc +0 -0
  575. package/src/camera/python/__pycache__/interfaces.cpython-311.pyc +0 -0
  576. package/src/camera/python/__pycache__/iou.cpython-310.pyc +0 -0
  577. package/src/camera/python/__pycache__/iou.cpython-311.pyc +0 -0
  578. package/src/camera/python/__pycache__/iou2.cpython-310.pyc +0 -0
  579. package/src/camera/python/__pycache__/polygon.cpython-311.pyc +0 -0
  580. package/src/camera/python/__pycache__/typings.cpython-311.pyc +0 -0
  581. package/src/camera/python/__pycache__/video_frame.cpython-311.pyc +0 -0
  582. package/src/camera/python/classes.py +41 -0
  583. package/src/camera/python/interfaces.py +130 -0
  584. package/src/camera/python/iou.py +158 -0
  585. package/src/camera/python/polygon.py +230 -0
  586. package/src/camera/python/test/__pycache__/polygon.cpython-310.pyc +0 -0
  587. package/src/camera/python/test/iou_test.py +799 -0
  588. package/src/camera/python/test/polygon.py +238 -0
  589. package/src/camera/python/test/polygon_test.py +256 -0
  590. package/src/camera/python/test/polygon_test2.py +484 -0
  591. package/src/camera/python/typings.py +50 -0
  592. package/src/camera/python/video_frame.py +143 -0
  593. package/src/camera/session.ts +192 -0
  594. package/src/camera/streaming/fmp4-session.ts +390 -0
  595. package/src/camera/streaming/peer-connection.ts +273 -0
  596. package/src/camera/streaming/rtsp-session.ts +331 -0
  597. package/src/camera/streaming/webrtc-connection.ts +260 -0
  598. package/src/camera/streaming/werift-session.ts +317 -0
  599. package/src/camera/test/iou_test.ts +761 -0
  600. package/src/camera/test/polygon.test.ts +611 -0
  601. package/src/camera/test/polygon_test.ts +210 -0
  602. package/src/camera/types.ts +48 -0
  603. package/src/camera/utils.ts +489 -0
  604. package/src/camera/videoFrame.ts +123 -0
  605. package/src/cloud/index.ts +61 -0
  606. package/src/cloud/remote/cloudflare.ts +18 -0
  607. package/src/cloud/remote/upnp.ts +18 -0
  608. package/src/cloud/remote/utils.ts +24 -0
  609. package/src/cloud/types.ts +16 -0
  610. package/src/decoder/child.ts +883 -0
  611. package/src/decoder/imageUtils.ts +275 -0
  612. package/src/decoder/manager.ts +251 -0
  613. package/src/decoder/python/__init__.py +0 -0
  614. package/src/decoder/python/__pycache__/__init__.cpython-311.pyc +0 -0
  615. package/src/decoder/python/__pycache__/image_utils.cpython-311.pyc +0 -0
  616. package/src/decoder/python/__pycache__/typings.cpython-311.pyc +0 -0
  617. package/src/decoder/python/__pycache__/utils.cpython-311.pyc +0 -0
  618. package/src/decoder/python/child.py +903 -0
  619. package/src/decoder/python/image_utils.py +196 -0
  620. package/src/decoder/python/pool.py +45 -0
  621. package/src/decoder/python/test/group.py +62 -0
  622. package/src/decoder/python/test/motion.mp4 +0 -0
  623. package/src/decoder/python/test/motion2.mp4 +0 -0
  624. package/src/decoder/python/test/opencl.cl +70 -0
  625. package/src/decoder/python/test/opencl2.cl +130 -0
  626. package/src/decoder/python/test/test.py +427 -0
  627. package/src/decoder/python/test/test1.jpg +0 -0
  628. package/src/decoder/python/test/test1_resized.jpg +0 -0
  629. package/src/decoder/python/test/test2.jpg +0 -0
  630. package/src/decoder/python/test/test2.py +451 -0
  631. package/src/decoder/python/test/test2_resized.jpg +0 -0
  632. package/src/decoder/python/test/test3.jpg +0 -0
  633. package/src/decoder/python/test/utils.py +50 -0
  634. package/src/decoder/python/typings.py +57 -0
  635. package/src/decoder/python/utils.py +70 -0
  636. package/src/decoder/test/child.ts +117 -0
  637. package/src/decoder/test/ffmpeg.ts +371 -0
  638. package/src/decoder/test/test.ts +182 -0
  639. package/src/decoder/types.ts +27 -0
  640. package/src/decoder/utils.ts +64 -0
  641. package/src/decoder/wasm/asconfig.json +28 -0
  642. package/src/decoder/wasm/assembly/console.ts +1 -0
  643. package/src/decoder/wasm/assembly/index.ts +890 -0
  644. package/src/decoder/wasm/build/decoder.d.ts +43 -0
  645. package/src/decoder/wasm/build/decoder.js +108 -0
  646. package/src/decoder/wasm/build/decoder.wasm +0 -0
  647. package/src/decoder/wasm/tsconfig.json +5 -0
  648. package/src/decoder/worker.ts +113 -0
  649. package/src/go2rtc/index.ts +324 -0
  650. package/src/go2rtc/types.ts +88 -0
  651. package/src/main.ts +267 -0
  652. package/src/manager/coreManager.ts +78 -0
  653. package/src/manager/deviceManager.ts +132 -0
  654. package/src/manager/types.ts +17 -0
  655. package/src/plugins/index.ts +443 -0
  656. package/src/plugins/plugin.ts +177 -0
  657. package/src/plugins/runtime/base.ts +282 -0
  658. package/src/plugins/runtime/index.ts +15 -0
  659. package/src/plugins/runtime/node/child.ts +193 -0
  660. package/src/plugins/runtime/node/index.ts +67 -0
  661. package/src/plugins/runtime/node/plugin.ts +122 -0
  662. package/src/plugins/runtime/node/pluginApi.ts +27 -0
  663. package/src/plugins/runtime/node/proxy/cameraDevice.ts +299 -0
  664. package/src/plugins/runtime/node/proxy/coreManager.ts +128 -0
  665. package/src/plugins/runtime/node/proxy/deviceManager.ts +187 -0
  666. package/src/plugins/runtime/node/storage.ts +312 -0
  667. package/src/plugins/runtime/node/storageController.ts +91 -0
  668. package/src/plugins/runtime/python/__init__.py +0 -0
  669. package/src/plugins/runtime/python/__pycache__/__init__.cpython-311.pyc +0 -0
  670. package/src/plugins/runtime/python/__pycache__/camera_storage.cpython-311.pyc +0 -0
  671. package/src/plugins/runtime/python/__pycache__/config_service.cpython-311.pyc +0 -0
  672. package/src/plugins/runtime/python/__pycache__/constants.cpython-311.pyc +0 -0
  673. package/src/plugins/runtime/python/__pycache__/ipc.cpython-311.pyc +0 -0
  674. package/src/plugins/runtime/python/__pycache__/logger.cpython-311.pyc +0 -0
  675. package/src/plugins/runtime/python/__pycache__/message_queue.cpython-311.pyc +0 -0
  676. package/src/plugins/runtime/python/__pycache__/namespaces.cpython-311.pyc +0 -0
  677. package/src/plugins/runtime/python/__pycache__/plugin.cpython-311.pyc +0 -0
  678. package/src/plugins/runtime/python/__pycache__/plugin_api.cpython-311.pyc +0 -0
  679. package/src/plugins/runtime/python/__pycache__/plugin_logger.cpython-311.pyc +0 -0
  680. package/src/plugins/runtime/python/__pycache__/proxy_utils.cpython-311.pyc +0 -0
  681. package/src/plugins/runtime/python/__pycache__/schema.cpython-311.pyc +0 -0
  682. package/src/plugins/runtime/python/__pycache__/storage.cpython-311.pyc +0 -0
  683. package/src/plugins/runtime/python/__pycache__/storage_controller.cpython-311.pyc +0 -0
  684. package/src/plugins/runtime/python/__pycache__/typings.cpython-311.pyc +0 -0
  685. package/src/plugins/runtime/python/child.py +248 -0
  686. package/src/plugins/runtime/python/index.ts +73 -0
  687. package/src/plugins/runtime/python/namespaces.py +101 -0
  688. package/src/plugins/runtime/python/plugin.py +155 -0
  689. package/src/plugins/runtime/python/plugin_api.py +29 -0
  690. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-310.pyc +0 -0
  691. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-311.pyc +0 -0
  692. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-38.pyc +0 -0
  693. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-39.pyc +0 -0
  694. package/src/plugins/runtime/python/proxy/__pycache__/constants.cpython-311.pyc +0 -0
  695. package/src/plugins/runtime/python/proxy/__pycache__/constants.cpython-39.pyc +0 -0
  696. package/src/plugins/runtime/python/proxy/__pycache__/core_manager.cpython-311.pyc +0 -0
  697. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-310.pyc +0 -0
  698. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-311.pyc +0 -0
  699. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-38.pyc +0 -0
  700. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-39.pyc +0 -0
  701. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-310.pyc +0 -0
  702. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-311.pyc +0 -0
  703. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-38.pyc +0 -0
  704. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-39.pyc +0 -0
  705. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-310.pyc +0 -0
  706. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-311.pyc +0 -0
  707. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-38.pyc +0 -0
  708. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-39.pyc +0 -0
  709. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-310.pyc +0 -0
  710. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-311.pyc +0 -0
  711. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-38.pyc +0 -0
  712. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-39.pyc +0 -0
  713. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-310.pyc +0 -0
  714. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-311.pyc +0 -0
  715. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-38.pyc +0 -0
  716. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-39.pyc +0 -0
  717. package/src/plugins/runtime/python/proxy/camera_device.py +1732 -0
  718. package/src/plugins/runtime/python/proxy/core_manager.py +126 -0
  719. package/src/plugins/runtime/python/proxy/device_manager.py +197 -0
  720. package/src/plugins/runtime/python/schema.py +99 -0
  721. package/src/plugins/runtime/python/storage.py +353 -0
  722. package/src/plugins/runtime/python/storage_controller.py +102 -0
  723. package/src/plugins/runtime/python/typings.py +195 -0
  724. package/src/plugins/schema.ts +472 -0
  725. package/src/plugins/types.ts +60 -0
  726. package/src/plugins/worker.ts +250 -0
  727. package/src/rpc/index.ts +149 -0
  728. package/src/rpc/namespaces.ts +79 -0
  729. package/src/rpc/server.ts +422 -0
  730. package/src/rpc/types.ts +119 -0
  731. package/src/rpc/utils.ts +16 -0
  732. package/src/services/config/constants.ts +47 -0
  733. package/src/services/config/defaults.ts +57 -0
  734. package/src/services/config/index.ts +744 -0
  735. package/src/services/config/types.ts +211 -0
  736. package/src/services/logger/index.ts +96 -0
  737. package/src/types.ts +47 -0
  738. package/src/utils/path.ts +16 -0
  739. package/src/utils/pythonInstaller.ts +597 -0
  740. package/tsconfig.json +37 -0
  741. package/types/fastify.d.ts +14 -0
  742. package/updates.config.js +3 -0
  743. package/dist/interface/@intlify.Do1-T-x0.0.0.49.js +0 -15
  744. package/dist/interface/@mdi.CbjpODVZ.0.0.49.js +0 -1
  745. package/dist/interface/@tanstack.CgZ4BVuY.0.0.49.js +0 -1
  746. package/dist/interface/@vue.DeX8WChi.0.0.49.js +0 -17
  747. package/dist/interface/@vueform.WCJNykTK.0.0.49.js +0 -1
  748. package/dist/interface/@vueuse.fmA4o7MO.0.0.49.js +0 -1
  749. package/dist/interface/Account.D_hgF7as.0.0.49.js +0 -1
  750. package/dist/interface/Adminpanel.Cr2ysRnk.0.0.49.js +0 -2
  751. package/dist/interface/Appearance.DJPnnakw.0.0.49.js +0 -1
  752. package/dist/interface/Backup.DWrnTw65.0.0.49.js +0 -1
  753. package/dist/interface/Camera.Cm8bv5Jw.0.0.49.js +0 -1
  754. package/dist/interface/Cameras.BdMnnB_B.0.0.49.js +0 -1
  755. package/dist/interface/Camview.CvyTACeS.0.0.49.js +0 -1
  756. package/dist/interface/Config.R58trs6R.0.0.49.js +0 -1
  757. package/dist/interface/Console.ByS6OcfG.0.0.49.js +0 -4
  758. package/dist/interface/FirstSteps.BSZVBND8.0.0.49.js +0 -1
  759. package/dist/interface/NewCamera.CpKY8-_z.0.0.49.js +0 -469
  760. package/dist/interface/Plugin.ucDXXC6d.0.0.49.js +0 -1
  761. package/dist/interface/Plugins.Bl6Yy3fd.0.0.49.js +0 -1
  762. package/dist/interface/Recordings.Bm-_HDqk.0.0.49.js +0 -1
  763. package/dist/interface/Recordings.CVFqRJTQ.0.0.49.js +0 -1
  764. package/dist/interface/Settings.ClbXnv3j.0.0.49.js +0 -1
  765. package/dist/interface/System.BE0hX95Q.0.0.49.js +0 -4
  766. package/dist/interface/User.Ih1R_8u4.0.0.49.js +0 -1
  767. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.CAHg6HiL.0.0.49.js +0 -2
  768. package/dist/interface/VConsole.B9yVZ89i.0.0.49.js +0 -1
  769. package/dist/interface/VPlayer.DWJVzwuw.0.0.49.js +0 -4
  770. package/dist/interface/VPluginCard.pJNHjHpP.0.0.49.js +0 -4
  771. package/dist/interface/ace-builds.S1varnlI.0.0.49.js +0 -970
  772. package/dist/interface/apexcharts.BQn4Fbzn.0.0.49.js +0 -838
  773. package/dist/interface/assets/@vueform.0.0.49.CroAHJs8.css +0 -1
  774. package/dist/interface/assets/@xterm.0.0.49.CFbL2ovg.css +0 -32
  775. package/dist/interface/assets/Account.0.0.49.Bnw6Lbtd.css +0 -1
  776. package/dist/interface/assets/Adminpanel.0.0.49.a3t1v3MB.css +0 -1
  777. package/dist/interface/assets/Camera.0.0.49.Br9s6-lM.css +0 -1
  778. package/dist/interface/assets/Cameras.0.0.49.Buf1Dgce.css +0 -1
  779. package/dist/interface/assets/Camview.0.0.49.B7Cja2ry.css +0 -1
  780. package/dist/interface/assets/Config.0.0.49.DNGo2krN.css +0 -1
  781. package/dist/interface/assets/Console.0.0.49.Bh8l9QnM.css +0 -1
  782. package/dist/interface/assets/FirstSteps.0.0.49.Mu8VPl13.css +0 -1
  783. package/dist/interface/assets/NewCamera.0.0.49.DtjxW0Pf.css +0 -1
  784. package/dist/interface/assets/Plugin.0.0.49.YIpAU1_n.css +0 -1
  785. package/dist/interface/assets/Plugins.0.0.49.DXSoO9M1.css +0 -1
  786. package/dist/interface/assets/Settings.0.0.49.CVmui2kE.css +0 -1
  787. package/dist/interface/assets/User.0.0.49.BiGtIFqt.css +0 -1
  788. package/dist/interface/assets/VConsole.0.0.49.BCqKHpmJ.css +0 -1
  789. package/dist/interface/assets/VPlayer.0.0.49.C4lm2rVR.css +0 -1
  790. package/dist/interface/assets/VPluginCard.0.0.49.C8Lj6X-J.css +0 -1
  791. package/dist/interface/assets/main.0.0.49.OJngntGT.css +0 -1
  792. package/dist/interface/assets/vue3-toastify.0.0.49.DHXAGmwn.css +0 -1
  793. package/dist/interface/assets/vuetify.0.0.49.Dua9WSqa.css +0 -5
  794. package/dist/interface/axios.DIsA03vz.0.0.49.js +0 -6
  795. package/dist/interface/backup.DO02r0Uq.0.0.49.js +0 -1
  796. package/dist/interface/dnd-core.De50QAoi.0.0.49.js +0 -1
  797. package/dist/interface/engine.io-client.BkCVneko.0.0.49.js +0 -1
  798. package/dist/interface/fast-deep-equal.Cba0yG7P.0.0.49.js +0 -1
  799. package/dist/interface/fonts/Inter/Inter-Regular.ttf +0 -0
  800. package/dist/interface/highlight.js.B_E0LW5C.0.0.49.js +0 -2
  801. package/dist/interface/hookable.B8xFkYCm.0.0.49.js +0 -1
  802. package/dist/interface/linkify-it.B6s2BWlj.0.0.49.js +0 -1
  803. package/dist/interface/main.BBe3SGhH.0.0.49.js +0 -4
  804. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.49.js +0 -1
  805. package/dist/interface/pinia.ggULzsrQ.0.0.49.js +0 -5
  806. package/dist/interface/plugins.D11FBqVV.0.0.49.js +0 -1
  807. package/dist/interface/react-dnd-touch-backend.Bu6wFEmw.0.0.49.js +0 -1
  808. package/dist/interface/rxjs.BoFuGUYG.0.0.49.js +0 -3
  809. package/dist/interface/socket.io-client.DkEQDv7C.0.0.49.js +0 -1
  810. package/dist/interface/socket.io-parser.DIURoCw8.0.0.49.js +0 -1
  811. package/dist/interface/system.D_LabhBl.0.0.49.js +0 -1
  812. package/dist/interface/types.Cz9TaZAP.0.0.49.js +0 -1
  813. package/dist/interface/utils.mAKpSMLY.0.0.49.js +0 -1
  814. package/dist/interface/uuid.Ch9TGLTe.0.0.49.js +0 -1
  815. package/dist/interface/vee-validate.8pUAwQ7T.0.0.49.js +0 -5
  816. package/dist/interface/vue-i18n.CBqdKRmG.0.0.49.js +0 -5
  817. package/dist/interface/vue-inline-svg.ZWpe_tFT.0.0.49.js +0 -1
  818. package/dist/interface/vue-router.DvFvaoP2.0.0.49.js +0 -5
  819. package/dist/interface/vue3-apexcharts.BHSDC9pf.0.0.49.js +0 -1
  820. package/dist/interface/vue3-dnd.DbCy3Qbj.0.0.49.js +0 -1
  821. package/dist/interface/vue3-toastify.JJyrPHKk.0.0.49.js +0 -1
  822. package/dist/interface/vuetify.kkqUjVJA.0.0.49.js +0 -5
  823. package/dist/interface/zod.bkdEMpUp.0.0.49.js +0 -1
  824. package/dist/server/src/api/utils/cameraSource.d.ts +0 -6
  825. package/dist/server/src/api/utils/cameraSource.js +0 -51
  826. package/dist/server/src/api/utils/cameraSource.js.map +0 -1
  827. package/dist/server/src/api/websocket/go2rtc.d.ts +0 -21
  828. package/dist/server/src/api/websocket/go2rtc.js +0 -88
  829. package/dist/server/src/api/websocket/go2rtc.js.map +0 -1
  830. package/dist/server/src/api/websocket/nsp/proxy.d.ts +0 -27
  831. package/dist/server/src/api/websocket/nsp/proxy.js +0 -127
  832. package/dist/server/src/api/websocket/nsp/proxy.js.map +0 -1
  833. package/dist/server/src/nats/index.d.ts +0 -40
  834. package/dist/server/src/nats/index.js +0 -164
  835. package/dist/server/src/nats/index.js.map +0 -1
  836. package/dist/server/src/nats/proxy/cameraDevice.d.ts +0 -22
  837. package/dist/server/src/nats/proxy/cameraDevice.js +0 -249
  838. package/dist/server/src/nats/proxy/cameraDevice.js.map +0 -1
  839. package/dist/server/src/nats/proxy/coreManager.d.ts +0 -14
  840. package/dist/server/src/nats/proxy/coreManager.js +0 -68
  841. package/dist/server/src/nats/proxy/coreManager.js.map +0 -1
  842. package/dist/server/src/nats/proxy/deviceManager.d.ts +0 -14
  843. package/dist/server/src/nats/proxy/deviceManager.js +0 -101
  844. package/dist/server/src/nats/proxy/deviceManager.js.map +0 -1
  845. package/dist/server/src/nats/server.js.map +0 -1
  846. package/dist/server/src/nats/types.d.ts +0 -18
  847. package/dist/server/src/nats/utils.js.map +0 -1
  848. /package/dist/interface/assets/{Backup.0.0.49.CX0rT0QJ.css → SettingsBackup.CX0rT0QJ.0.0.50-internal.0.css} +0 -0
  849. /package/dist/interface/assets/{highlight.0.0.49.Ch2EwETz.css → highlight.Ch2EwETz.0.0.50-internal.0.css} +0 -0
  850. /package/dist/interface/assets/{logo-256.0.0.49.BCQk9H1-.png → logo-256.BCQk9H1-.0.0.50-internal.0.png} +0 -0
  851. /package/dist/interface/assets/{logo-512.0.0.49.DLKVOU2S.png → logo-512.DLKVOU2S.0.0.50-internal.0.png} +0 -0
  852. /package/dist/interface/assets/{logo.0.0.49.DmEiRk0z.png → logo.DmEiRk0z.0.0.50-internal.0.png} +0 -0
  853. /package/dist/interface/assets/{mode-json.0.0.49.Br7xisR1.js → mode-json.Br7xisR1.0.0.50-internal.0.js} +0 -0
  854. /package/dist/interface/assets/{mode-yaml.0.0.49.CIYL8U3d.js → mode-yaml.CIYL8U3d.0.0.50-internal.0.js} +0 -0
  855. /package/dist/interface/{@babel.l0sNRNKZ.0.0.49.js → js/@babel.l0sNRNKZ.0.0.50-internal.0.js} +0 -0
  856. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.49.js → js/@react-dnd.CcwRs9xb.0.0.50-internal.0.js} +0 -0
  857. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.49.js → js/@socket.io.Dkula2eQ.0.0.50-internal.0.js} +0 -0
  858. /package/dist/interface/{birpc.l0sNRNKZ.0.0.49.js → js/birpc.l0sNRNKZ.0.0.50-internal.0.js} +0 -0
  859. /package/dist/interface/{compare-versions.DqEOhma6.0.0.49.js → js/compare-versions.DqEOhma6.0.0.50-internal.0.js} +0 -0
  860. /package/dist/interface/{dijkstrajs.C00ieaqj.0.0.49.js → js/dijkstrajs.C00ieaqj.0.0.50-internal.0.js} +0 -0
  861. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.49.js → js/engine.io-parser.BiEtp6m2.0.0.50-internal.0.js} +0 -0
  862. /package/dist/interface/{entities.C20TfXL6.0.0.49.js → js/entities.C20TfXL6.0.0.50-internal.0.js} +0 -0
  863. /package/dist/interface/{ev-emitter.X5f1qa-c.0.0.49.js → js/ev-emitter.X5f1qa-c.0.0.50-internal.0.js} +0 -0
  864. /package/dist/interface/{get-size.D1dS-IaP.0.0.49.js → js/get-size.D1dS-IaP.0.0.50-internal.0.js} +0 -0
  865. /package/dist/interface/{vue.l0sNRNKZ.0.0.49.js → js/hookable.l0sNRNKZ.0.0.50-internal.0.js} +0 -0
  866. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.49.js → js/mdurl.k9Sl0PQj.0.0.50-internal.0.js} +0 -0
  867. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.49.js → js/punycode.js.Dj65hjkv.0.0.50-internal.0.js} +0 -0
  868. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.49.js → js/react-dnd-html5-backend.1HQjlkwI.0.0.50-internal.0.js} +0 -0
  869. /package/dist/interface/{redux.BFxtlG_c.0.0.49.js → js/redux.BFxtlG_c.0.0.50-internal.0.js} +0 -0
  870. /package/dist/interface/{tslib.9k7AwCpt.0.0.49.js → js/tslib.9k7AwCpt.0.0.50-internal.0.js} +0 -0
  871. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.49.js → js/uc.micro.kMc2yuuw.0.0.50-internal.0.js} +0 -0
  872. /package/dist/server/src/{nats → decoder}/types.js +0 -0
  873. /package/dist/server/src/{nats → rpc}/utils.js +0 -0
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["vue3-apexcharts.BHSDC9pf.0.0.49.js","apexcharts.BQn4Fbzn.0.0.49.js","@xterm.D6R4zI7m.0.0.49.js","assets/@xterm.0.0.49.CFbL2ovg.css","@vue.DeX8WChi.0.0.49.js","perfect-debounce.Cp2ysxOb.0.0.49.js","hookable.B8xFkYCm.0.0.49.js"])))=>i.map(i=>d[i]);
2
- var be=Object.defineProperty;var xe=(g,r,m)=>r in g?be(g,r,{enumerable:!0,configurable:!0,writable:!0,value:m}):g[r]=m;var ce=(g,r,m)=>xe(g,typeof r!="symbol"?r+"":r,m);import{G as B,t as ve,r as c,F as Y,c as I,a5 as fe,b as L,aa as T,ab as o,f as x,P as p,p as M,u as a,e as te,a7 as $,a9 as W,d as ee,k as he,an as ke,A as _e,w as G,S as J,al as Q,m as ue,R as we,g as de}from"./@vue.DeX8WChi.0.0.49.js";import{aC as We,ax as me}from"./@mdi.CbjpODVZ.0.0.49.js";import{i as U,u as Le,t as ae,O as Ne,P as Se,f as H,N as Ce,a as Pe,y as X,x as ge,j as Te}from"./main.BBe3SGhH.0.0.49.js";import{s as ye}from"./pinia.ggULzsrQ.0.0.49.js";import{$ as Oe,T as se,b as oe,e as re,n as ne,a0 as Z,l as j,p as pe}from"./vuetify.kkqUjVJA.0.0.49.js";import{i as ie}from"./vue3-toastify.JJyrPHKk.0.0.49.js";import{P as De}from"./plugins.D11FBqVV.0.0.49.js";import{P as f}from"./types.Cz9TaZAP.0.0.49.js";import{u as Ee,a as Re,b as $e}from"./@tanstack.CgZ4BVuY.0.0.49.js";import{S as Ae}from"./system.D_LabhBl.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./@vueuse.fmA4o7MO.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";var A=(g=>(g.READY="ready",g.RESTARTING="restarting",g.STARTING="starting",g.STARTED="started",g.STOPPED="stopped",g.ERROR="error",g.UNKNOWN="unknown",g))(A||{});const Ie={class:"flex items-center first-item"},Fe={key:1},Ve={class:"text-center pt-2"},Qe=B({__name:"VUserTable",props:{loading:{type:Boolean,default:!1}},setup(g){const r=g,{t:m}=U.global,S=new Ne,P=Le(),{isTouch:N}=ae(),{loginState:u}=ye(P),{loading:h}=ve(r),l=c({pageSize:5,page:1}),y=Y([{title:m("components.user_table.title_username"),align:"start",key:"username",value:"decoded.username",sortable:!0},{title:m("components.user_table.title_role"),align:"start",key:"role",value:"decoded.role",sortable:!0},{title:m("components.user_table.title_address"),align:"start",key:"address",value:"clientData.address",sortable:!0},{title:m("components.user_table.title_device"),align:"start",key:"device",value:"clientData.device",sortable:!0},{title:"",align:"end",key:"delete",value:"delete",width:"120px",sortable:!1}]),_=I(()=>O.value||i.value||h.value),k=I(()=>{var D;const R=Math.ceil((((D=w.value)==null?void 0:D.pagination.totalItems)||0)/l.value.pageSize);return R===1&&(l.value.page=1),R}),C=I(()=>{var R;return(R=w.value)==null?void 0:R.result.map(D=>({encoded:D.token,decoded:Se(D.token.access_token),clientData:D.clientData}))}),{data:w,isLoading:i,isPlaceholderData:v}=S.listQuery(l,!0),{mutate:F,isPending:O}=S.logoutTokenQuery(),z=()=>{l.value.page=Math.max(l.value.page-1,1)},K=()=>{v.value||(l.value.page=l.value.page+1)};return(R,D)=>{const V=fe("router-link");return L(),T(Z,{"items-per-page":a(l).pageSize,headers:a(y),items:a(C),class:"elevation-0","item-value":"username","hide-default-footer":"","mobile-breakpoint":"sm",hover:""},{"item.username":o(({item:E})=>[x("div",Ie,[E.encoded.access_token===a(u).access_token?(L(),T(V,{key:0,to:"/settings/account"},{default:o(()=>[$(W(E.decoded.username),1)]),_:2},1024)):(L(),ee("div",Fe,W(E.decoded.username),1)),E.encoded.access_token===a(u).access_token?(L(),T(ne,{key:2,color:"#df2a4c",class:"ml-2",inline:"",content:R.$t("components.user_table.you")},null,8,["content"])):he("",!0)])]),"item.delete":o(({item:E})=>[te((L(),T(oe,{color:"#df2a4c",density:"compact",loading:a(_),icon:"",onClick:M(q=>a(F)({id:E.encoded._id,access_token:E.encoded.access_token}),["prevent"])},{default:o(()=>[p(re,{size:"20"},{default:o(()=>[$(W(a(We)),1)]),_:1})]),_:2},1032,["loading","onClick"])),[[se,{disabled:a(N),text:R.$t("components.form.tooltip.restart")}]])]),bottom:o(()=>[x("div",Ve,[p(Oe,{modelValue:a(l).page,"onUpdate:modelValue":D[0]||(D[0]=E=>a(l).page=E),length:a(k),onPrev:M(z,["prevent"]),onNext:M(K,["prevent"])},null,8,["modelValue","length"])])]),_:1},8,["items-per-page","headers","items"])}}}),je=H(Qe,[["__scopeId","data-v-0f04954a"]]),ze={key:0,class:"text-disabled"},le=B({__name:"VMetricCharts",props:{type:{},processInfo:{},maxDataPoints:{default:30},width:{default:200},height:{default:25},chartType:{default:"bar"}},async setup(g){let r,m;const S=([r,m]=ke(()=>Ce(()=>import("./vue3-apexcharts.BHSDC9pf.0.0.49.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),r=await r,m(),r).default,P=Pe(),N=g,{theme:u}=ye(P),{type:h,processInfo:l,maxDataPoints:y,chartType:_}=ve(N),k=I(()=>{const v=(l.value||[]).map(O=>h.value==="cpu"?O.cpuLoad:O.memLoad).slice(-y.value);return[{data:[...v,...Array(y.value-v.length).fill(0)].map(O=>parseFloat(O))}]}),C=I(()=>{const v=(l.value||[]).map(O=>O.timestamp).slice(-y.value);return[{data:[...v,...Array(y.value-v.length).fill(0)]}]}),w=I(()=>({chart:{type:_.value,sparkline:{enabled:!0}},plotOptions:{bar:{columnWidth:"80%"}},colors:[({value:i})=>i>=90?"#FA5252":i>=50?"#FF9966":"#df2a4c"],xaxis:{crosshairs:{width:1},axisBorder:{show:!1},axisTicks:{show:!1},categories:C.value[0].data},yaxis:{show:!1,labels:{formatter:i=>Math.ceil(i).toString()},min:0},tooltip:{theme:u.value,fixed:{enabled:!1},marker:{show:!1},y:{title:{formatter:function(){return""}},formatter:i=>`${i} %`},x:{formatter:i=>new Date(i).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}}}));return(i,v)=>(L(),ee("div",null,[!a(l)||!a(l).length?(L(),ee("span",ze,W(i.$t("components.charts.no_data")),1)):(L(),T(a(S),{key:1,type:a(_),options:a(w),series:a(k),height:i.height,width:i.width,"data-no-clone":""},null,8,["type","options","series","height","width"]))]))}}),Ke={class:"flex items-center first-item"},Be=B({__name:"VPluginTable",setup(g){const{t:r}=U.global,{isTouch:m}=ae(),S=X(),P=new De,N=c(),u=c(),h=c({}),l=c([]),y=c(30),_=c(200),k=c(32),C={pid:-1,cpuLoad:"0.00",memLoad:"0.00",timestamp:0},w=c({}),i=c({}),v=I(()=>Object.values(w.value).filter(e=>{var t;const s=(t=O.value)==null?void 0:t.result.find(n=>n.pluginName===e.name);if(s&&!s.disabled)return e}).filter(Boolean)),F=Y([{title:r("components.process_table.title_name"),align:"start",key:"name",value:"name",minWidth:"200px",sortable:!0},{title:r("components.process_table.title_pid"),align:"start",key:"pid",value:"pid",width:"100px",minWidth:"100px",maxWidth:"100px",sortable:!0},{title:r("components.process_table.title_cpu"),align:"start",key:"cpuLoad",value:"cpuLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"cpuLoadChart",value:"cpuLoadChart",width:_.value+k.value,minWidth:_.value+k.value,maxWidth:_.value+k.value,sortable:!1},{title:r("components.process_table.title_memory"),align:"start",key:"memLoad",value:"memLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"memLoadChart",value:"memLoadChart",width:_.value+k.value,minWidth:_.value+k.value,maxWidth:_.value+k.value,sortable:!1},{title:"",align:"end",key:"restart",value:"restart",width:"60px",minWidth:"60px",maxWidth:"60px",sortable:!1}]),{data:O,isLoading:z,suspense:K}=P.getPluginsQuery(_e({page:1,pageSize:-1})),{mutateAsync:R}=P.restartPluginQuery(),D=I(()=>e=>l.value.includes(e));G(i,e=>{for(const[s,t]of Object.entries(e))w.value[s]=t[t.length-1]??{name:s,...C}},{deep:!0,immediate:!0}),G(O,e=>{if(e)for(const s of e.result)s.disabled||(i.value[s.pluginName]||(i.value[s.pluginName]=[]),h.value[s.pluginName]||(h.value[s.pluginName]={name:s.pluginName,status:f.UNKNOWN}))},{deep:!0,immediate:!0});const V=e=>{var t;switch(((t=h.value[e])==null?void 0:t.status)??f.UNKNOWN){case f.ERROR:return"#9d5752";case f.STARTING:return"orange";case f.READY:return"yellow";case f.STARTED:return"green";case f.STOPPED:return"red";case f.DISABLED:return"#2196f3";case f.UNKNOWN:return"gray";default:return"gray"}},E=e=>{var t;switch(((t=h.value[e])==null?void 0:t.status)??f.UNKNOWN){case f.ERROR:return r("components.process_table.status_error");case f.STOPPED:return r("components.process_table.status_stopped");case f.READY:return r("components.process_table.status_ready");case f.STARTING:return r("components.process_table.status_starting");case f.STARTED:return r("components.process_table.status_started");default:return r("components.process_table.status_unknown")}},q=async e=>{var s,t,n,d;l.value.push(e);try{await R({pluginName:e})}catch(b){console.error(((t=(s=b.response)==null?void 0:s.data)==null?void 0:t.message)??b.message??b),ie.error(((d=(n=b.response)==null?void 0:n.data)==null?void 0:d.message)??b.message??b)}finally{l.value=l.value.filter(b=>b!==e)}};return J(async()=>{if(N.value=S.getExistingNamespace("/metrics"),u.value=S.getExistingNamespace("/status"),!N.value)throw new Error("Not connected to metrics!");if(!u.value)throw new Error("Not connected to status!");await K(),await new Promise(e=>setTimeout(e,10)),u.value.socket.emit("get-plugin-process-status"),u.value.socket.on("plugin-process-status",e=>{for(const[s,t]of Object.entries(e))h.value[s]=t}),N.value.request("get-plugins-process-info").subscribe(e=>{i.value=e}),N.value.socket.on("process-infos",e=>{const s=e.plugins;Object.keys(i.value).forEach(t=>{s[t]||delete i.value[t]}),Object.keys(w.value).forEach(t=>{s[t]||delete w.value[t]});for(const[t,n]of Object.entries(s))i.value[t]||(i.value[t]=[]),i.value[t].push(n)})}),(e,s)=>{const t=fe("router-link"),n=le;return L(),T(Z,{"items-per-page":-1,headers:a(F),items:a(v),class:"elevation-0",loading:a(z),"hide-default-footer":"","mobile-breakpoint":"sm",hover:""},{"item.name":o(({item:d})=>[x("div",Ke,[p(pe,{location:"top",text:E(d.name)},{activator:o(({props:b})=>[p(ne,ue(b,{color:V(d.name),dot:"",inline:""}),null,16,["color"])]),_:2},1032,["text"]),p(t,{to:`/plugins/${d.name}`,class:"ml-1"},{default:o(()=>[$(W(d.name),1)]),_:2},1032,["to"])])]),"item.cpuLoad":o(({item:d})=>[p(j,{color:parseFloat(d.cpuLoad)>=15?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(d.cpuLoad)+" %",1)]),_:2},1032,["color"])]),"item.cpuLoadChart":o(({item:d})=>[(L(),T(Q,null,{default:o(()=>[p(n,{type:"cpu","max-data-points":a(y),"process-info":a(i)[d.name]},null,8,["max-data-points","process-info"])]),_:2},1024))]),"item.memLoad":o(({item:d})=>[p(j,{color:parseFloat(d.memLoad)>=15?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(d.memLoad)+" %",1)]),_:2},1032,["color"])]),"item.memLoadChart":o(({item:d})=>[(L(),T(Q,null,{default:o(()=>[p(n,{type:"memory","max-data-points":a(y),"process-info":a(i)[d.name]},null,8,["max-data-points","process-info"])]),_:2},1024))]),"item.restart":o(({item:d})=>[te((L(),T(oe,{color:"#df2a4c",density:"compact",loading:a(D)(d.name),icon:"",onClick:M(b=>q(d.name),["prevent"])},{default:o(()=>[p(re,{size:"20"},{default:o(()=>[$(W(a(me)),1)]),_:1})]),_:2},1032,["loading","onClick"])),[[se,{disabled:a(m),text:e.$t("components.form.tooltip.restart")}]])]),bottom:o(()=>s[0]||(s[0]=[])),_:1},8,["headers","items","loading"])}}}),qe=H(Be,[["__scopeId","data-v-2b785e39"]]),Me=async({parameter:g,signal:r})=>(await ge.get("/frameworkers",{params:g,signal:r})).data,Ge=async({frameWorkerName:g})=>(await ge.put(`/frameworkers/${g}/restart`)).data;class Ue{constructor(){ce(this,"_queryClient",Ee());ce(this,"queryActivator",c([{name:"getFrameWorkersQuery",enabled:!0}]))}get queryClient(){return this._queryClient}getFrameWorkersQuery(r){return Re({queryKey:["frameWorkerList",r],queryFn:({signal:m})=>Me({parameter:a(r),signal:m}),placeholderData:m=>m,enabled:()=>this.queryActivator.value.some(m=>m.name==="getFrameWorkersQuery"&&m.enabled)})}restartFrameWorkerQuery(){return $e({mutationFn:Ge,onSuccess:async(r,m)=>{await this._queryClient.refetchQueries({queryKey:["frameWorkers",m.frameWorkerName]}),ie.success(U.global.t("components.toast.frame_worker_restarted"))}})}toggleQueryActivator(r,m){const S=this.queryActivator.value.find(P=>P.name===r);S&&(S.enabled=m)}}const Ye={class:"flex items-center first-item"},Je={class:"ml-1"},He=B({__name:"VFrameWorkerTable",setup(g){const{t:r}=U.global,m=X(),{isTouch:S}=ae(),P=new Ue,N=c(),u=c(),h=c({}),l=c([]),y=c(30),_=c(200),k=c(32),C={pid:-1,cpuLoad:"0.00",memLoad:"0.00",timestamp:0},w=c({}),i=c({}),v=I(()=>Object.values(w.value).filter(Boolean)),F=Y([{title:r("components.process_table.title_name"),align:"start",key:"name",value:"name",minWidth:"200px",sortable:!0},{title:r("components.process_table.title_pid"),align:"start",key:"pid",value:"pid",width:"100px",minWidth:"100px",maxWidth:"100px",sortable:!0},{title:r("components.process_table.title_cpu"),align:"start",key:"cpuLoad",value:"cpuLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"cpuLoadChart",value:"cpuLoadChart",width:_.value+k.value,minWidth:_.value+k.value,maxWidth:_.value+k.value,sortable:!1},{title:r("components.process_table.title_memory"),align:"start",key:"memLoad",value:"memLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"memLoadChart",value:"memLoadChart",width:_.value+k.value,minWidth:_.value+k.value,maxWidth:_.value+k.value,sortable:!1},{title:"",align:"end",key:"restart",value:"restart",width:"60px",minWidth:"60px",maxWidth:"60px",sortable:!1}]),{data:O,isLoading:z,suspense:K}=P.getFrameWorkersQuery(_e({page:1,pageSize:-1})),{mutateAsync:R}=P.restartFrameWorkerQuery(),D=I(()=>e=>l.value.includes(e));G(i,e=>{for(const[s,t]of Object.entries(e))w.value[s]=t[t.length-1]??{name:s,...C}},{deep:!0,immediate:!0}),G(O,e=>{if(e)for(const s of e.result)i.value[s.name]||(i.value[s.name]=[]),h.value[s.name]||(h.value[s.name]={name:s.name,status:f.UNKNOWN})},{deep:!0,immediate:!0});const V=e=>{var t;switch(((t=h.value[e])==null?void 0:t.status)??f.UNKNOWN){case f.ERROR:return"#9d5752";case f.STARTING:return"orange";case f.READY:return"yellow";case f.STARTED:return"green";case f.STOPPED:return"red";case f.DISABLED:return"#2196f3";case f.UNKNOWN:return"gray";default:return"gray"}},E=e=>{var t;switch(((t=h.value[e])==null?void 0:t.status)??f.UNKNOWN){case f.ERROR:return r("components.process_table.status_error");case f.STOPPED:return r("components.process_table.status_stopped");case f.READY:return r("components.process_table.status_ready");case f.STARTING:return r("components.process_table.status_starting");case f.STARTED:return r("components.process_table.status_started");default:return r("components.process_table.status_unknown")}},q=async e=>{var s,t,n,d;l.value.push(e);try{await R({frameWorkerName:e})}catch(b){console.error(((t=(s=b.response)==null?void 0:s.data)==null?void 0:t.message)??b.message??b),ie.error(((d=(n=b.response)==null?void 0:n.data)==null?void 0:d.message)??b.message??b)}finally{l.value=l.value.filter(b=>b!==e)}};return J(async()=>{if(N.value=m.getExistingNamespace("/metrics"),u.value=m.getExistingNamespace("/status"),!N.value)throw new Error("Not connected to metrics!");if(!u.value)throw new Error("Not connected to status!");await K(),await new Promise(e=>setTimeout(e,10)),u.value.socket.emit("get-frameworker-process-status"),u.value.socket.on("frameworker-process-status",e=>{for(const[s,t]of Object.entries(e))h.value[s]=t}),N.value.request("get-frameworker-process-info").subscribe(e=>{i.value=e}),N.value.socket.on("process-infos",e=>{const s=e.workers;Object.keys(i.value).forEach(t=>{s[t]||delete i.value[t]}),Object.keys(w.value).forEach(t=>{s[t]||delete w.value[t]});for(const[t,n]of Object.entries(s))i.value[t]||(i.value[t]=[]),i.value[t].push(n)})}),(e,s)=>{const t=le;return L(),T(Z,{"items-per-page":-1,headers:a(F),items:a(v),class:"elevation-0",loading:a(z),"hide-default-footer":"","mobile-breakpoint":"sm",hover:""},{"item.name":o(({item:n})=>[x("div",Ye,[p(pe,{location:"top",text:E(n.name)},{activator:o(({props:d})=>[p(ne,ue(d,{color:V(n.name),dot:"",inline:""}),null,16,["color"])]),_:2},1032,["text"]),x("div",Je,W(n.name),1)])]),"item.cpuLoad":o(({item:n})=>[p(j,{color:parseFloat(n.cpuLoad)>=15?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(n.cpuLoad)+" %",1)]),_:2},1032,["color"])]),"item.cpuLoadChart":o(({item:n})=>[(L(),T(Q,null,{default:o(()=>[p(t,{type:"cpu","max-data-points":a(y),"process-info":a(i)[n.name]},null,8,["max-data-points","process-info"])]),_:2},1024))]),"item.memLoad":o(({item:n})=>[p(j,{color:parseFloat(n.memLoad)>=15?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(n.memLoad)+" %",1)]),_:2},1032,["color"])]),"item.memLoadChart":o(({item:n})=>[(L(),T(Q,null,{default:o(()=>[p(t,{type:"memory","max-data-points":a(y),"process-info":a(i)[n.name]},null,8,["max-data-points","process-info"])]),_:2},1024))]),"item.restart":o(({item:n})=>[te((L(),T(oe,{color:"#df2a4c",density:"compact",loading:a(D)(n.name),icon:"",onClick:M(d=>q(n.name),["prevent"])},{default:o(()=>[p(re,{size:"20"},{default:o(()=>[$(W(a(me)),1)]),_:1})]),_:2},1032,["loading","onClick"])),[[se,{disabled:a(S),text:e.$t("components.form.tooltip.restart")}]])]),bottom:o(()=>s[0]||(s[0]=[])),_:1},8,["headers","items","loading"])}}}),Xe=H(He,[["__scopeId","data-v-eaa0affd"]]),Ze={class:"flex items-center first-item"},et={class:"ml-1"},tt=B({__name:"VProcessTable",setup(g){const{t:r}=U.global,m=X(),{isTouch:S}=ae(),P=new Ae,N=c(),u=c(),h=c(30),l=c(200),y=c(32),_=c(A.UNKNOWN),k=c(A.UNKNOWN),C=c(A.UNKNOWN),w={pid:-1,cpuLoad:"0.00",memLoad:"0.00",timestamp:0},i=c({"camera.ui":{name:"camera.ui",...w},go2rtc:{name:"go2rtc",...w},nats:{name:"nats",...w}}),v=c({"camera.ui":[],go2rtc:[],nats:[]}),F=I(()=>Object.values(i.value).filter(Boolean)),O=Y([{title:r("components.process_table.title_name"),align:"start",key:"name",value:"name",minWidth:"200px",sortable:!0},{title:r("components.process_table.title_pid"),align:"start",key:"pid",value:"pid",width:"100px",minWidth:"100px",maxWidth:"100px",sortable:!0},{title:r("components.process_table.title_cpu"),align:"start",key:"cpuLoad",value:"cpuLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"cpuLoadChart",value:"cpuLoadChart",width:l.value+y.value,minWidth:l.value+y.value,maxWidth:l.value+y.value,sortable:!1},{title:r("components.process_table.title_memory"),align:"start",key:"memLoad",value:"memLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"memLoadChart",value:"memLoadChart",width:l.value+y.value,minWidth:l.value+y.value,maxWidth:l.value+y.value,sortable:!1},{title:"",align:"end",key:"restart",value:"restart",width:"60px",minWidth:"60px",maxWidth:"60px",sortable:!1}]),{mutateAsync:z,isPending:K}=P.restartGo2RtcQuery(),{mutateAsync:R,isPending:D}=P.restartServerQuery();G(v,e=>{i.value["camera.ui"]=e["camera.ui"][e["camera.ui"].length-1]??{...w,name:"camera.ui"},i.value.go2rtc=e.go2rtc[e.go2rtc.length-1]??{...w,name:"go2rtc"},i.value.nats=e.nats[e.nats.length-1]??{...w,name:"nats"}},{deep:!0,immediate:!0});const V=e=>{switch(e){case"camera.ui":return _.value;case"go2rtc":return k.value;case"nats":return C.value;default:return A.UNKNOWN}},E=e=>{switch(V(e)){case A.ERROR:return"#9d5752";case A.STARTING:return"orange";case A.READY:return"yellow";case A.STARTED:return"green";case A.STOPPED:return"red";case A.UNKNOWN:return"gray";default:return"gray"}},q=async e=>{var s,t,n,d;try{e==="camera.ui"?await R():e==="go2rtc"&&await z()}catch(b){console.error(((t=(s=b.response)==null?void 0:s.data)==null?void 0:t.message)??b.message??b),ie.error(((d=(n=b.response)==null?void 0:n.data)==null?void 0:d.message)??b.message??b)}};return J(async()=>{if(N.value=m.getExistingNamespace("/metrics"),u.value=m.getExistingNamespace("/status"),!N.value)throw new Error("Not connected to metrics!");if(!u.value)throw new Error("Not connected to status!");await new Promise(e=>setTimeout(e,10)),u.value.socket.emit("get-process-status"),u.value.socket.on("process-status",e=>{e["camera.ui"]&&(_.value=e["camera.ui"].status),e.go2rtc&&(k.value=e.go2rtc.status),e.nats&&(C.value=e.nats.status)}),N.value.request("get-server-process-info").subscribe(e=>{v.value=e}),N.value.socket.on("process-infos",e=>{const s=e["camera.ui"],t=e.go2rtc,n=e.nats;v.value["camera.ui"].push(s),v.value.go2rtc.push(t),v.value.nats.push(n)})}),(e,s)=>{const t=le;return L(),T(Z,{"items-per-page":-1,headers:a(O),items:a(F),class:"elevation-0","hide-default-footer":"","mobile-breakpoint":"sm",hover:""},{"item.name":o(({item:n})=>[x("div",Ze,[p(pe,{location:"top",text:e.$t(`components.process_table.status_${V(n.name)}`)},{activator:o(({props:d})=>[p(ne,ue(d,{color:E(n.name),dot:"",inline:""}),null,16,["color"])]),_:2},1032,["text"]),x("div",et,W(n.name),1)])]),"item.cpuLoad":o(({item:n})=>[p(j,{color:parseFloat(n.cpuLoad)>=15?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(n.cpuLoad)+" %",1)]),_:2},1032,["color"])]),"item.cpuLoadChart":o(({item:n})=>[(L(),T(Q,null,{default:o(()=>[p(t,{type:"cpu","max-data-points":a(h),"process-info":n.name==="camera.ui"?a(v)["camera.ui"]:n.name==="go2rtc"?a(v).go2rtc:a(v).nats},null,8,["max-data-points","process-info"])]),_:2},1024))]),"item.memLoad":o(({item:n})=>[p(j,{color:parseFloat(n.cpuLoad)>=15?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(n.cpuLoad)+" %",1)]),_:2},1032,["color"])]),"item.memLoadChart":o(({item:n})=>[(L(),T(Q,null,{default:o(()=>[p(t,{type:"memory","max-data-points":a(h),"process-info":n.name==="camera.ui"?a(v)["camera.ui"]:n.name==="go2rtc"?a(v).go2rtc:a(v).nats},null,8,["max-data-points","process-info"])]),_:2},1024))]),"item.restart":o(({item:n})=>[n.name!=="nats"?te((L(),T(oe,{key:0,color:"#df2a4c",density:"compact",loading:n.name==="camera.ui"?a(D):a(K),icon:"",onClick:M(d=>q(n.name),["prevent"])},{default:o(()=>[p(re,{size:"20"},{default:o(()=>[$(W(a(me)),1)]),_:1})]),_:2},1032,["loading","onClick"])),[[se,{disabled:a(S),text:e.$t("components.form.tooltip.restart")}]]):he("",!0)]),bottom:o(()=>s[0]||(s[0]=[])),_:1},8,["headers","items"])}}}),at=H(tt,[["__scopeId","data-v-c68f1547"]]),st=B({__name:"VSystemMetricsTable",setup(g){const{t:r}=U.global,m=X(),S=c(),P=c(),N=c(30),u=c(200),h=c(32),l={cpuLoad:"0.00",memLoad:"0.00",timestamp:0},y=c([{name:"camera.ui",...l}]),_=c([]),k=Y([{title:r("components.process_table.title_name"),align:"start",key:"name",value:"name",minWidth:"200px",sortable:!0},{title:r("components.process_table.title_cpu"),align:"start",key:"cpuLoad",value:"cpuLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"cpuLoadChart",value:"cpuLoadChart",width:u.value+h.value,minWidth:u.value+h.value,maxWidth:u.value+h.value,sortable:!1},{title:r("components.process_table.title_memory"),align:"start",key:"memLoad",value:"memLoad",width:"103px",minWidth:"103px",maxWidth:"103px",sortable:!0},{title:"",align:"start",key:"memLoadChart",value:"memLoadChart",width:u.value+h.value,minWidth:u.value+h.value,maxWidth:u.value+h.value,sortable:!1},{title:"",align:"end",key:"restart",value:"restart",width:"60px",minWidth:"60px",maxWidth:"60px",sortable:!1}]);return G(_,C=>{y.value=[C[C.length-1]??{...l,name:"system"}]},{deep:!0,immediate:!0}),J(async()=>{if(S.value=m.getExistingNamespace("/metrics"),P.value=m.getExistingNamespace("/status"),!S.value)throw new Error("Not connected to metrics!");if(!P.value)throw new Error("Not connected to status!");await new Promise(C=>setTimeout(C,10)),S.value.request("get-system-info").subscribe(C=>{_.value=C}),S.value.socket.on("system-infos",C=>{_.value.push(C)})}),(C,w)=>{const i=le;return L(),T(Z,{"items-per-page":-1,headers:a(k),items:a(y),class:"elevation-0","hide-default-footer":"","mobile-breakpoint":"sm",hover:""},{"item.cpuLoad":o(({item:v})=>[p(j,{color:parseFloat(v.cpuLoad)>=75?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(v.cpuLoad)+" %",1)]),_:2},1032,["color"])]),"item.cpuLoadChart":o(()=>[(L(),T(Q,null,{default:o(()=>[p(i,{type:"cpu","max-data-points":a(N),"process-info":a(_)},null,8,["max-data-points","process-info"])]),_:1}))]),"item.memLoad":o(({item:v})=>[p(j,{color:parseFloat(v.memLoad)>=75?"red":void 0,density:"compact",size:"small"},{default:o(()=>[$(W(v.memLoad)+" %",1)]),_:2},1032,["color"])]),"item.memLoadChart":o(()=>[(L(),T(Q,null,{default:o(()=>[p(i,{type:"memory","max-data-points":a(N),"process-info":a(_)},null,8,["max-data-points","process-info"])]),_:1}))]),bottom:o(()=>w[0]||(w[0]=[])),_:1},8,["headers","items"])}}}),ot=H(st,[["__scopeId","data-v-34ba8f23"]]),rt={class:"h-full w-full inline-size mb-safe"},nt={class:"page-title"},it={class:"subview-title text-color"},lt={class:"inner-component p-4"},ct={class:"mt-10"},ut={class:"subview-title text-color"},mt={class:"inner-component p-4"},pt={class:"mt-10"},dt={class:"subview-title text-color"},vt={class:"inner-component p-4"},ft={class:"mt-10"},ht={class:"subview-title text-color"},_t={class:"inner-component p-4"},gt={class:"mt-10"},yt={class:"subview-title text-color"},bt={class:"inner-component p-4"},Zt=B({__name:"Adminpanel",setup(g){const r=X(),{smallMobileActive:m}=Te(),S=c(),P=c(),N=c(!1);return J(()=>{S.value=r.connectToNamespace("/metrics"),P.value=r.connectToNamespace("/status")}),we(()=>{var u,h,l,y;(h=(u=S.value)==null?void 0:u.end)==null||h.call(u),(y=(l=P.value)==null?void 0:l.end)==null||y.call(l)}),(u,h)=>{const l=ot,y=at,_=Xe,k=qe,C=je;return L(),ee("main",{class:de(["w-full h-full",{"px-0":a(m)}])},[x("div",rt,[x("div",{class:de(["mb-3 flex w-full items-center",{"px-2":a(m)}]),style:{height:"30px"}},[x("h1",nt,W(u.$t(`views.${String(u.$route.name).toLowerCase()}.title`)),1)],2),x("div",null,[x("span",it,W(u.$t("views.adminpanel.general")),1),x("div",lt,[p(l)])]),x("div",ct,[x("span",ut,W(u.$t("views.adminpanel.main")),1),x("div",mt,[p(y)])]),x("div",pt,[x("span",dt,W(u.$t("views.adminpanel.frameworker")),1),x("div",vt,[p(_)])]),x("div",ft,[x("span",ht,W(u.$t("views.adminpanel.plugins")),1),x("div",_t,[p(k)])]),x("div",gt,[x("span",yt,W(u.$t("views.adminpanel.logged_in_users")),1),x("div",bt,[p(C,{loading:a(N)},null,8,["loading"])])])])],2)}}});export{Zt as default};
@@ -1 +0,0 @@
1
- import{G as x,b as S,d as $,f as e,a9 as s,P as a,p,u as l,i as c,ab as b,a7 as k}from"./@vue.DeX8WChi.0.0.49.js";import{b as B,a as U,k as C,V as L}from"./main.BBe3SGhH.0.0.49.js";import{s as u}from"./pinia.ggULzsrQ.0.0.49.js";import{z as v,d as f,l as M,m as _}from"./vuetify.kkqUjVJA.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";import"./vue3-toastify.JJyrPHKk.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./@vueuse.fmA4o7MO.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./@mdi.CbjpODVZ.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";const E={class:"subview-title text-color"},K={class:"inner-component p-4"},N={class:"relative"},T={for:"theme",class:"v-label"},D={class:"ml-auto flex"},O={class:"flex flex-row"},R={class:"v-label m-0 mb-0 ml-2",for:"oneLogin"},z={class:"subview-title text-color"},A={class:"inner-component p-4"},G={class:"relative"},P={for:"language",class:"v-label"},j={class:"subview-title text-color"},q={class:"inner-component p-4"},F={class:"relative mb-3"},H={class:"v-label"},I={class:"relative flex"},J={class:"flex flex-row"},Q={class:"v-label m-0 mb-0 ml-2",for:"oneLogin"},W={class:"relative flex"},X={class:"flex flex-row"},Y={class:"v-label m-0 mb-0 ml-2",for:"oneLogin"},Ue=x({__name:"Appearance",setup(Z){const h=B(),V=U(),g=C(),{locale:d,languages:w}=u(h),{colors:y,theme:m,autoMode:r}=u(V),{uiSettings:n}=u(g);return(i,o)=>(S(),$("div",null,[e("div",null,[e("span",E,s(i.$t("views.settings.theme")),1),e("div",K,[e("div",N,[e("label",T,s(i.$t("components.form.label.theme")),1),a(v,{modelValue:l(m),"onUpdate:modelValue":o[0]||(o[0]=t=>c(m)?m.value=t:null),variant:"outlined",density:"compact",name:"theme","hide-details":"",items:l(y),disabled:l(r),onKeydown:p(()=>null,["prevent"])},null,8,["modelValue","items","disabled"])]),o[6]||(o[6]=e("div",{class:"py-2"},null,-1)),e("div",null,[e("div",D,[e("div",O,[a(f,{modelValue:l(r),"onUpdate:modelValue":o[1]||(o[1]=t=>c(r)?r.value=t:null),color:"#df2a4c",type:"checkbox","hide-details":""},null,8,["modelValue"]),e("span",R,s(i.$t("components.form.label.system_preference")),1)])])])])]),o[7]||(o[7]=e("div",{class:"my-8"},null,-1)),e("div",null,[e("span",z,s(i.$t("views.settings.locale")),1),e("div",A,[e("div",G,[e("label",P,s(i.$t("components.form.label.language")),1),a(v,{modelValue:l(d),"onUpdate:modelValue":o[2]||(o[2]=t=>c(d)?d.value=t:null),variant:"outlined",density:"compact",name:"language","hide-details":"",items:l(w),onKeydown:p(()=>null,["prevent"])},null,8,["modelValue","items"])])])]),o[8]||(o[8]=e("div",{class:"my-8"},null,-1)),e("div",null,[e("span",j,s(i.$t("views.settings.interface")),1),e("div",q,[e("div",null,[e("div",F,[e("label",H,s(i.$t("components.form.label.default_settings_page")),1),a(v,{modelValue:l(n).interface.selectedSettingsView,"onUpdate:modelValue":o[3]||(o[3]=t=>l(n).interface.selectedSettingsView=t),"hide-details":"",solo:"",variant:"outlined",density:"compact",items:l(L),onKeydown:p(()=>null,["prevent"])},{chip:b(({item:t})=>[a(M,{color:"#df2a4c"},{default:b(()=>[k(s(t.title),1)]),_:2},1024)]),_:1},8,["modelValue","items"])]),a(_,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e("div",I,[e("div",J,[a(f,{modelValue:l(n).cameras.showEvents,"onUpdate:modelValue":o[4]||(o[4]=t=>l(n).cameras.showEvents=t),color:"#df2a4c",type:"checkbox","hide-details":""},null,8,["modelValue"]),e("span",Q,s(i.$t("components.form.label.show_camera_events")),1)])]),a(_,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"}}),e("div",W,[e("div",X,[a(f,{modelValue:l(n).interface.showBottomBarOnMobile,"onUpdate:modelValue":o[5]||(o[5]=t=>l(n).interface.showBottomBarOnMobile=t),color:"#df2a4c",type:"checkbox","hide-details":""},null,8,["modelValue"]),e("span",Y,s(i.$t("components.form.label.show_bottombar_on_mobile")),1)])])])])])]))}});export{Ue as default};
@@ -1 +0,0 @@
1
- import{e as j}from"./main.BBe3SGhH.0.0.49.js";import{G as U,t as L,r as d,b as w,d as x,f as s,P as _,ab as b,a7 as I,a9 as n,u,k as V,aa as z,p as g,i as E}from"./@vue.DeX8WChi.0.0.49.js";import{i as B}from"./vue3-toastify.JJyrPHKk.0.0.49.js";import{d as J,r as R}from"./backup.DO02r0Uq.0.0.49.js";import{r as T}from"./system.D_LabhBl.0.0.49.js";import{Y as M,aE as A}from"./@mdi.CbjpODVZ.0.0.49.js";import{e as O,b as D,m as G,a1 as P}from"./vuetify.kkqUjVJA.0.0.49.js";import{u as Y}from"./vue-i18n.CBqdKRmG.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./pinia.ggULzsrQ.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./@vueuse.fmA4o7MO.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";const q={class:"w-full"},H={class:"flex flex-col justify-center items-center mb-5"},K={for:"restoreInput",class:"cursor-pointer text-center"},Q=["accept"],W={key:0,class:"text-red"},X={class:"mx-2"},Z={class:"disabled-text"},ee=U({__name:"VUploadFiles",props:{multiple:{type:Boolean,default:!1},accept:{},icon:{default:A}},emits:["files-uploaded"],setup(F,{expose:C,emit:h}){const p=h,f=F,{accept:$,multiple:y}=L(f),k=d(!1),v=d(!1),e=d([]),t=d(null),m=i=>{const o=e.value.findIndex(a=>a.name===i);o>-1&&(e.value.splice(o,1),r())},c=i=>{if(k.value=!1,v.value=!1,e.value=[],console.log(i),i.dataTransfer)if(!y.value&&i.dataTransfer.files.length>1)v.value=!0;else{for(const[,o]of Object.entries(i.dataTransfer.files))e.value.push(o);p("files-uploaded",e.value)}},l=i=>{var a;v.value=!1,e.value=[];const o=i.target;if(o&&o.files)if(!y.value&&((a=o.files)==null?void 0:a.length)>1)v.value=!0;else{for(const[,N]of Object.entries(o.files))e.value.push(N);p("files-uploaded",e.value)}},r=()=>{t.value&&(t.value.value="")};return C({reset:()=>{e.value=[],r()}}),(i,o)=>(w(),x("div",{class:"file-upload-box p-4",onDrop:o[0]||(o[0]=g(a=>c(a),["prevent"])),onDragover:o[1]||(o[1]=g(a=>k.value=!0,["prevent"])),onDragenter:o[2]||(o[2]=g(a=>k.value=!0,["prevent"])),onDragleave:o[3]||(o[3]=g(a=>k.value=!1,["prevent"]))},[s("div",q,[s("div",H,[_(O,{class:"mt-5",size:"60"},{default:b(()=>[I(n(i.icon),1)]),_:1}),s("label",K,n(i.$t("components.upload_files.drop_or_select_file")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:t,type:"file",class:"d-none",accept:u($),onChange:l},null,40,Q),u(v)?(w(),x("p",W,n(i.$t("components.upload_files.only_one_file_allowed")),1)):V("",!0)]),u(e).length>0?(w(),z(P,{key:0,items:u(e),"max-height":"150","item-height":"50"},{default:b(({item:a})=>[(w(),x("div",{key:a.name,class:"w-full flex flex-row items-center justify-start p-2"},[_(D,{size:"28",variant:"text",color:"red",rounded:"",onClick:g(N=>m(a.name),["stop"])},{default:b(()=>[_(O,{size:"20"},{default:b(()=>[I(n(u(M)),1)]),_:1})]),_:2},1032,["onClick"]),s("b",X,n(a.name),1),s("span",Z,"("+n(a.size)+" bytes)",1)])),u(e).length>1?(w(),z(G,{key:0})):V("",!0)]),_:1},8,["items"])):V("",!0)])],32))}}),te={class:"subview-title text-color"},oe={class:"inner-component p-4 flex flex-col"},se={class:"text-sm"},ae={class:"subview-title text-color"},le={class:"inner-component p-4 flex flex-col"},ne={class:"text-sm"},re={class:"subview-title text-color"},ie={class:"inner-component p-4"},ce={class:"text-sm"},Re=U({__name:"Backup",setup(F){const{t:C}=Y(),h=d(null),p=d(!1),f=d(!1),$=d([]),y=async()=>{var e,t,m,c;p.value=!0;try{const l={};if(localStorage.getItem("ui")){const a=localStorage.getItem("ui");l.ui=JSON.parse(a)}if(localStorage.getItem("locale")){const a=localStorage.getItem("locale");l.locale=a}if(localStorage.getItem("theme")){const a=localStorage.getItem("theme");l.theme=JSON.parse(a)}const r=Date.now(),S=await J(l),i=window.URL.createObjectURL(new Blob([S])),o=document.createElement("a");o.href=i,o.setAttribute("download",`cameraui-backup-${r}.tar.gz`),document.body.appendChild(o),o.click(),o.remove()}catch(l){console.error(((t=(e=l.response)==null?void 0:e.data)==null?void 0:t.message)??l.message??l),B.error(((c=(m=l.response)==null?void 0:m.data)==null?void 0:c.message)??l.message??l)}p.value=!1},k=async()=>{var e,t,m,c,l;p.value=!0;try{const r=new FormData;r.append("upload",$.value[0]);const S=await R(r);v(S),(e=h.value)==null||e.reset(),B.success(C("components.toast.backup_restored")),T()}catch(r){console.error(((m=(t=r.response)==null?void 0:t.data)==null?void 0:m.message)??r.message??r),B.error(((l=(c=r.response)==null?void 0:c.data)==null?void 0:l.message)??r.message??r),f.value=!1,p.value=!1}},v=e=>{e.theme&&localStorage.setItem("theme",JSON.stringify(e.theme)),e.locale&&localStorage.setItem("locale",e.locale),e.ui&&localStorage.setItem("ui",JSON.stringify(e.ui))};return(e,t)=>{const m=j;return w(),x("div",null,[s("div",null,[s("span",te,n(e.$t("views.settings.create_backup")),1),s("div",oe,[s("span",se,n(e.$t("views.settings.create_backup_info")),1),t[4]||(t[4]=s("br",null,null,-1)),_(D,{loading:u(p),class:"mt-5 ml-auto",color:"#df2a4c",onClick:g(y,["prevent"])},{default:b(()=>[I(n(e.$t("components.form.button.download_backup_archive")),1)]),_:1},8,["loading"])])]),t[5]||(t[5]=s("div",{class:"my-8"},null,-1)),s("div",null,[s("span",ae,n(e.$t("views.settings.restore_backup")),1),s("div",le,[s("span",ne,n(e.$t("views.settings.restore_backup_info")),1),_(ee,{ref_key:"input",ref:h,class:"mt-5",accept:"application/gzip, .tar, .tar.gz",onFilesUploaded:t[0]||(t[0]=c=>$.value=c)},null,512),_(D,{loading:u(p),disabled:!u($).length,class:"mt-5 ml-auto",color:"#df2a4c",onClick:t[1]||(t[1]=g(c=>f.value=!0,["prevent"]))},{default:b(()=>[I(n(e.$t("components.form.button.restore_backup_archive")),1)]),_:1},8,["loading","disabled"])])]),t[6]||(t[6]=s("div",{class:"my-8"},null,-1)),s("div",null,[s("span",re,n(e.$t("views.settings.sheduled_backup")),1),s("div",ie,[s("span",ce,n(e.$t("views.settings.sheduled_backup_info")),1)])]),_(m,{modelValue:u(f),"onUpdate:modelValue":t[2]||(t[2]=c=>E(f)?f.value=c:null),title:e.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.restore_and_restart",loading:u(p),onConfirm:t[3]||(t[3]=c=>k())},{content:b(()=>[s("span",null,n(e.$t("components.dialog.message.confirm_restore")),1)]),_:1},8,["modelValue","title","loading"])])}}});export{Re as default};
@@ -1 +0,0 @@
1
- import{r as u,C as xe,R as vt,G as me,t as _e,D as Ce,c as T,w as Y,n as fe,L as dt,b as c,d as w,P as E,ab as C,e as De,v as pt,u as t,a7 as se,a9 as B,f as x,p as he,ac as W,aa as j,Q as ye,ad as be,k as ee,aj as ft,i as Ve,a5 as ht,g as ge,F as gt,ak as xt}from"./@vue.DeX8WChi.0.0.49.js";import{E as _t,F as yt,G as bt,D as ze,H as wt}from"./@mdi.CbjpODVZ.0.0.49.js";import{a as Pt,j as Ge,l as Ht,m as St,n as Tt,o as Et,p as $t,q as Ft,s as Le,f as we,i as kt}from"./main.BBe3SGhH.0.0.49.js";import{s as Ct}from"./pinia.ggULzsrQ.0.0.49.js";import{k as zt,j as Me,e as Lt,l as Dt,m as Vt,n as Gt,p as Mt}from"./@vueuse.fmA4o7MO.0.0.49.js";import{b as ie,e as re,C as Ot,D as Rt,a as Pe,E as At,F as Wt}from"./vuetify.kkqUjVJA.0.0.49.js";import{C as Oe,a as Nt,_ as It}from"./VPlayer.DWJVzwuw.0.0.49.js";import{u as Re}from"./vue-router.DvFvaoP2.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";import"./vue3-toastify.JJyrPHKk.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./draggabilly.C0hZWkL0.0.0.49.js";import"./get-size.D1dS-IaP.0.0.49.js";import"./unidragger.C8ueS-PW.0.0.49.js";import"./ev-emitter.X5f1qa-c.0.0.49.js";import"./qrcode.BixA_YE2.0.0.49.js";import"./dijkstrajs.C00ieaqj.0.0.49.js";import"./plugins.D11FBqVV.0.0.49.js";import"./VConsole.B9yVZ89i.0.0.49.js";const jt=e=>{let $=null,R=0,V=0,f=0;const F=.95,P=u(),_=s=>{P.value="onTouchStart",$!==null&&(cancelAnimationFrame($),$=null),R=s.touches[0].pageY,V=R},z=s=>{P.value="onTouchMove";const i=s.touches[0].pageY,h=i-V;V=i,e.value&&(e.value.scrollTop-=h),f=h},y=()=>{P.value="onTouchEnd",Math.abs(f)>.5&&H()},H=()=>{f*=F,e.value&&(e.value.scrollTop-=f),Math.abs(f)>.5&&($=requestAnimationFrame(H))};return xe(()=>{e.value&&(e.value.addEventListener("touchstart",_),e.value.addEventListener("touchmove",z),e.value.addEventListener("touchend",y))}),vt(()=>{e.value&&(e.value.removeEventListener("touchstart",_),e.value.removeEventListener("touchmove",z),e.value.removeEventListener("touchend",y)),$!==null&&cancelAnimationFrame($)}),{currentTouchEvent:P}};var r=(e=>(e[e.HEIGHT=8]="HEIGHT",e[e.WIDTH=85]="WIDTH",e.COLOR="#000000",e[e.OFFSET=50]="OFFSET",e[e.TIME_OFFSET=15]="TIME_OFFSET",e[e.MAX_SCROLL_PX=720]="MAX_SCROLL_PX",e))(r||{}),Ae=(e=>(e.type="seconds",e[e.bigTickInterval=5]="bigTickInterval",e[e.labelInterval=15]="labelInterval",e[e.duration=15e3]="duration",e[e.timeMsFactor=15e3]="timeMsFactor",e[e.timeMsPerTick=1e3]="timeMsPerTick",e[e.timeMsPerPx=125]="timeMsPerPx",e[e.pxPerSecond=8]="pxPerSecond",e))(Ae||{}),We=(e=>(e.type="two-minutes",e[e.bigTickInterval=4]="bigTickInterval",e[e.labelInterval=8]="labelInterval",e[e.duration=12e4]="duration",e[e.timeMsFactor=12e4]="timeMsFactor",e[e.timeMsPerTick=15e3]="timeMsPerTick",e[e.timeMsPerPx=1875]="timeMsPerPx",e[e.pxPerSecond=.5333333333333333]="pxPerSecond",e))(We||{}),Ne=(e=>(e.type="fifteen-minutes",e[e.bigTickInterval=5]="bigTickInterval",e[e.labelInterval=15]="labelInterval",e[e.duration=9e5]="duration",e[e.timeMsFactor=9e5]="timeMsFactor",e[e.timeMsPerTick=6e4]="timeMsPerTick",e[e.timeMsPerPx=7500]="timeMsPerPx",e[e.pxPerSecond=.13333333333333333]="pxPerSecond",e))(Ne||{}),Ie=(e=>(e.type="thirty-minutes",e[e.bigTickInterval=3]="bigTickInterval",e[e.labelInterval=9]="labelInterval",e[e.duration=18e5]="duration",e[e.timeMsFactor=18e5]="timeMsFactor",e[e.timeMsPerTick=2e5]="timeMsPerTick",e[e.timeMsPerPx=25e3]="timeMsPerPx",e[e.pxPerSecond=.04]="pxPerSecond",e))(Ie||{}),je=(e=>(e.type="hours",e[e.bigTickInterval=3]="bigTickInterval",e[e.labelInterval=18]="labelInterval",e[e.duration=36e5]="duration",e[e.timeMsFactor=36e5]="timeMsFactor",e[e.timeMsPerTick=2e5]="timeMsPerTick",e[e.timeMsPerPx=25e3]="timeMsPerPx",e[e.pxPerSecond=.04]="pxPerSecond",e))(je||{});const Bt={class:"relative h-full w-full"},Qt={class:"absolute z-3 top-0 left-0 right-0 w-full"},Ut={key:1},Xt={class:"w-full h-full"},qt={key:0,class:"relative h-full"},Yt=["data-tick-index"],Jt=["data-tick-index"],Zt={key:0,class:"tick-label"},Kt={key:1,class:"relative h-full"},ea=me({__name:"VLiveTimeline",props:{dateModel:{default:()=>new Date},modifier:{default:0},segment:{default:"0"}},emits:["is-loading","is-scrolling"],setup(e,{emit:$}){const R=e,V=$,{theme:f}=Ct(Pt()),{dateModel:F,modifier:P}=_e(R),_=u(0),z=u(0),y=u(new Date),H=u(0),s=Ce(),i=u(!1),h=u([]),S=u(!1),M=u(0),N=u(0),Q=u(new Date),A=u(0),K=u(0),k=u({timestamp:Date.now(),live:!0}),p=u(null),n=Ce([]),J=u(0),G=u(1);let te,ae;const{y:b,isScrolling:U}=zt(p),He=Me(p),{width:Be,height:Qe}=Lt(),Ue=Dt({touch:!1,target:p}),{pressed:Z}=Vt({touch:!1,target:p}),{currentTouchEvent:Se}=jt(p),{mobileActive:Te}=Ge(),ve=Gt(p,!1),le=T(()=>Se.value==="onTouchStart"||Se.value==="onTouchMove"),Ee=T(()=>b.value>0?"#0173ff":"#df2a4c"),oe=T(()=>{var d;const a=y.value.getTime(),l=r.TIME_OFFSET*r.HEIGHT-1;let o=((d=s.value)==null?void 0:d.timestamp)||a;return b.value===0&&(o=a),s.value&&(s.value.timestamp=o),{px:l,timestamp:o}}),Xe=T(()=>v.value.type==="seconds"),$e=T(()=>r.HEIGHT*v.value.labelInterval),qe=T(()=>v.value.pxPerSecond*_.value+K.value),Ye=T(()=>v.value.pxPerSecond*_.value-M.value*r.HEIGHT-3+K.value),Je=T(()=>{let a=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${r.WIDTH} ${$e.value}" vector-effect="non-scaling-stroke" stroke-width="${1/(window.devicePixelRatio||1)}px" shape-rendering="crispEdges">`;if(!i.value)for(let l=0;l<v.value.labelInterval;l++){const o=l%v.value.labelInterval==0,d=0,g=o?4:l%v.value.bigTickInterval===0?2:1,m=l*r.HEIGHT+r.HEIGHT/2;a+=`<line x1="${d}" y1="${m}" x2="${2*g}" y2="${m}" stroke="${f.value==="light"?"#5b5b5b":"#888888"}" stroke-opacity="100%"/>`}return a+="</svg>",encodeURIComponent(a)}),Ze=T(()=>{var l;Be.value,P==null||P.value;const a=(l=p.value)==null?void 0:l.getBoundingClientRect();return Qe.value-((a==null?void 0:a.top)||0)}),v=T(()=>lt(G.value));Y(i,a=>{ve.value=a,V("is-loading",a)}),Y(F,a=>{if(a){if(a.getTime()===oe.value.timestamp)return;a==null||a.setSeconds(0,0),de(a)}}),Y(Ue.y,(a,l)=>{if(Z.value&&a!==l&&p.value){let o=Math.abs(a-l);a<l&&(o=o*-1),p.value.scrollTop=p.value.scrollTop-=o}}),Y(U,a=>{V("is-scrolling",a),!a&&S.value&&(S.value=!1)}),Y(b,(a,l)=>{var g,m;if(a===0&&ne(-h.value.length),a!==l)if(a===0)k.value={timestamp:oe.value.timestamp,live:!0};else{const O=(a-l)*v.value.timeMsPerPx,L=S.value?k.value.timestamp:k.value.timestamp-O;k.value={timestamp:L,live:!1}}const d=(((g=p.value)==null?void 0:g.scrollHeight)||0)-(((m=p.value)==null?void 0:m.clientHeight)||0)-r.OFFSET*r.HEIGHT;a>=d&&ne(r.OFFSET)}),Y(G,async()=>{await pe(),b.value>0&&de(k.value.timestamp)});const Ke=()=>{G.value!==5&&(U.value||(G.value=(G.value||1)+1))},et=()=>{G.value!==1&&(U.value||(G.value=(G.value||1)-1))},Fe=a=>{var o;const l=(Ze.value||((o=p.value)==null?void 0:o.clientHeight)||0)+r.OFFSET*r.HEIGHT;a!==void 0?J.value+a*r.HEIGHT>=l&&(J.value+=a*r.HEIGHT):J.value=l},ne=(a,l,o)=>{var O;if(a===0)return;const d=Math.abs(a);let g=n.value.length-d,m=a<0;if(l){m||(m=!0,a=-a);for(let L=0;L<d;L++){const D=n.value[0],ue=D.index,I=D.timestamp,X=ue-1,q={index:X,format:v.value.type,timestamp:I+v.value.timeMsPerTick,label:X%v.value.labelInterval==0};n.value.unshift(q)}}if(Fe(a),m)g!==0&&d===1?n.value.pop():n.value.splice(g,d),h.value=[];else{const L=(((O=p.value)==null?void 0:O.clientHeight)||0)+r.OFFSET*r.HEIGHT,D=Math.ceil(L/r.HEIGHT),ue=n.value.length>=D?0:D-n.value.length+1;for(let I=0;I<d;I++){const X=n.value[n.value.length-1],ce=X.index+1,ke={index:ce,format:v.value.type,timestamp:X.timestamp-v.value.timeMsPerTick,label:ce%v.value.labelInterval==0};I>=ue&&h.value.push(ke),n.value.push(ke)}}},tt=a=>{let l;a&&typeof a!="number"&&(a=a.getTime()),a||(a=y.value.getTime());const o=n.value.map(m=>m.timestamp),d=Ft(o,a),g=n.value.find(m=>m.timestamp===d.timestamp);return g&&(l={...g}),l},at=a=>{typeof a!="number"&&(a=a.getTime());const l=oe.value.timestamp-a,o=new Date(oe.value.timestamp-l);return{y:l/v.value.timeMsPerTick*r.HEIGHT,timestamp:o.getTime()}},lt=a=>{switch(a){case 1:return je;case 2:return Ie;case 3:return Ne;case 4:return We}return Ae},ot=a=>new Promise(l=>{var X;st();let o=y.value.getTime();a&&(o=typeof a=="object"?a.getTime():a);const d=r.TIME_OFFSET*v.value.timeMsPerTick,g=new Date(o+d),O=it(g).date.getTime(),L=Math.ceil(J.value/r.HEIGHT);for(let q=0;q<L;q++){const ce={index:q,format:v.value.type,timestamp:O-q*v.value.timeMsPerTick,label:q%v.value.labelInterval==0};n.value.push(ce)}const D=tt(o);D&&(A.value=D.timestamp-o,s.value=D,s.value.timestamp=o);let I=(((X=s.value)==null?void 0:X.index)||0)*r.HEIGHT-r.TIME_OFFSET*r.HEIGHT;A.value<0?I+=A.value/v.value.timeMsPerPx:A.value>0&&(I-=A.value/v.value.timeMsPerPx),H.value=-(r.HEIGHT/2)-I,l()}),st=()=>{M.value=0,N.value=0,_.value=0,z.value=0,n.value=[]},it=a=>{switch(v.value.type){case"seconds":return $t(a);case"two-minutes":return Et(a);case"fifteen-minutes":return Tt(a);case"thirty-minutes":return St(a);case"hours":return Ht(a)}},de=async(a,l="smooth",o=!1)=>{var g;if(a===0){(g=p.value)==null||g.scrollTo({top:0,behavior:"smooth"});return}S.value=o;const d=at(a).y;if(d>=600){const m=r.OFFSET*v.value.timeMsPerTick,O=m/v.value.timeMsPerPx,L=typeof a=="object"?a.getTime():a;await pe(!0,L+m),S.value=!0,k.value.timestamp=L,fe(()=>{var D;return(D=p.value)==null?void 0:D.scrollTo({top:O,behavior:l})});return}fe(()=>{var m;return(m=p.value)==null?void 0:m.scrollTo({top:d,behavior:l})})},pe=async(a,l)=>{i.value=!0;const o=()=>{const m=new Date;return m.setMilliseconds(0),m};await new Promise(m=>{const O=new Date,L=1e3-O.getMilliseconds();setTimeout(()=>{new Date().getSeconds()===O.getSeconds()?setTimeout(m,1):m()},L)});const g=o();Q.value=g,y.value=g,ct(),ut(),await ot(l||g),i.value=!1},rt=()=>{clearInterval(te),clearInterval(ae)},nt=()=>{const a=new Date;a.setMilliseconds(0),y.value=a,z.value++,!(i.value||ve.value||Z.value||le.value)&&(b.value===0?(_.value=z.value,k.value={timestamp:a.getTime(),live:!0}):b.value>0&&!U.value&&(console.log("updateClock"),_.value++,k.value={timestamp:k.value.timestamp+1e3,live:!1}))},ut=()=>{clearInterval(te),te=setInterval(nt,1e3)},ct=()=>{clearInterval(ae),ae=setInterval(mt,v.value.timeMsPerTick)},mt=()=>{if(i.value||ve.value||Z.value||le.value)return;const a=new Date;a.setMilliseconds(0),Q.value=a,N.value++,b.value===0?(ne(N.value-M.value,!0),s.value&&(s.value.index-=N.value-M.value),M.value=N.value):b.value>0&&!U.value&&(console.log("updateRotateTime"),ne(1,!0),M.value++,s.value&&s.value.index--)};return xe(()=>{i.value=!0,Fe(),pe(),i.value=!1}),dt(()=>{rt()}),(a,l)=>(c(),w("div",Bt,[E(Ot,null,{default:C(()=>[De(E(ie,{disabled:t(i)||t(U)||t(Z)||t(le),icon:"",class:"scroll-to-top z-10",size:"x-small",color:"#df2a4c",onClick:l[0]||(l[0]=o=>de(0))},{default:C(()=>[E(re,{size:"20"},{default:C(()=>[se(B(t(_t)),1)]),_:1})]),_:1},8,["disabled"]),[[pt,!t(k).live]])]),_:1}),x("div",{class:"flex flex-row timeline-btns z-10",style:W({right:t(Te)?void 0:"20px",bottom:t(Te)?void 0:"20px"})},[E(ie,{disabled:t(i)||t(G)===1||t(U)||t(Z)||t(le),icon:"",class:"zoom-button",onClick:he(et,["prevent"])},{default:C(()=>[E(re,{size:"20"},{default:C(()=>[se(B(t(yt)),1)]),_:1})]),_:1},8,["disabled"]),E(ie,{disabled:t(i)||t(G)===5||t(U)||t(Z)||t(le),icon:"",class:"ml-2 zoom-button",onClick:he(Ke,["prevent"])},{default:C(()=>[E(re,{size:"20"},{default:C(()=>[se(B(t(bt)),1)]),_:1})]),_:1},8,["disabled"])],4),x("div",Qt,[E(Rt,{active:t(i),indeterminate:t(i),color:"#df2a4c",height:"2px"},null,8,["active","indeterminate"])]),x("div",{class:"timeline-annotation z-2",style:W({top:`${t(oe).px}px`,backgroundColor:t(Ee)})},[x("div",{ref:"annotationLabel",class:"timeline-annotation-label",style:W({backgroundColor:t(Ee),width:t(i)?"20px":"60px",borderRadius:t(i)?"30px":void 0,left:"9px"})},[t(i)?(c(),j(Pe,{key:0,indeterminate:"",color:"white",size:"10",width:"2"})):(c(),w("div",Ut,B(t(k).live?"LIVE":t(Le)(t(k).timestamp,"HH:mm:ss")),1))],4)],4),x("div",Xt,[x("div",{class:"timeline-overlay z-1 pointer-events-none",style:W({width:`${t(He).width.value}px`,height:`${t(He).height.value}px`})},null,4),x("div",{ref_key:"timeline",ref:p,class:"timeline hide-scrollbar disable-overflow-scroll w-full h-full relative",style:W({cursor:t(i)?"default":t(Z)?"grabbing":"grab"})},[a.segment==="0"?(c(),w("div",qt,[x("div",{class:"timeline-scale",style:W({height:`${t(J)}px`,width:`${t(r).WIDTH}px`,maskImage:`url('data:image/svg+xml,${t(Je)}')`,maskSize:`${t(r).WIDTH}px ${t($e)}px`,maskPosition:`0px ${t(H)+t(qe)}px`})},null,4),(c(!0),w(ye,null,be(t(n),(o,d)=>(c(),w("div",{key:o.index,"data-tick-index":o.index,class:"tick-container flex justify-center items-center absolute",style:W({height:`${t(r).HEIGHT}px`,top:`${t(H)+t(Ye)+d*t(r).HEIGHT}px`})},[x("div",{"data-tick-index":`${o.index}`,class:"tick-line relative"},[o.label&&!t(i)?(c(),w("div",Zt,B(t(Le)(o.timestamp,t(Xe)?"HH:mm:ss":"HH:mm")),1)):ee("",!0)],8,Jt)],12,Yt))),128))])):(c(),w("div",Kt))],4)])]))}}),ta=we(ea,[["__scopeId","data-v-2ace0d6b"]]),aa={class:"vue-ios13-segmented-control"},la=["id","name","value"],oa=["for"],sa=me({__name:"VSegmentedControl",props:{modelValue:{},segments:{}},emits:["update:modelValue"],setup(e,{emit:$}){const R=e,V=$,f=u(0),{modelValue:F,segments:P}=_e(R),_=T({get(){return F.value},set(s){V("update:modelValue",s)}}),z=T(()=>P.value.findIndex(s=>s.id===F.value)),y=T(()=>{let s=f.value*z.value;return f.value*z.value<0&&(s=0),`transform:translateX(${s}px)`}),H=()=>{fe(()=>{const s=document.querySelector(`input[type='radio'][value='${F.value}']`);f.value=s&&s.offsetWidth})};return Y([P,F],()=>{H()},{deep:!0}),Mt(window,"resize",H),(s,i)=>(c(),w("div",aa,[x("span",{class:"selection-pill",style:W(t(y))},null,4),(c(!0),w(ye,null,be(t(P),h=>(c(),w("div",{key:h.id,class:"option"},[De(x("input",{id:h.id,"onUpdate:modelValue":i[0]||(i[0]=S=>Ve(_)?_.value=S:null),type:"radio",name:h.title,value:h.id},null,8,la),[[ft,t(_)]]),x("label",{for:h.id,class:"w-full cursor-pointer"},[x("span",{style:W(t(_)===h.id?"color: var(--color-segment-text);":"color: var(--color-segment-disabled-text)")},B(h.title),5)],8,oa)]))),128))]))}}),ia={key:0,class:"w-full flex items-center justify-center mt-10"},ra={class:"flex flex-col justify-center items-center"},na=me({__name:"VCameraCarousel",props:{showLabel:{type:Boolean,default:!1}},setup(e){const $=new Oe,R=Re(),V=e,{showLabel:f}=_e(V),F=u({page:1,pageSize:-1}),{data:P,isLoading:_}=$.getCamerasQuery(F),z=T(()=>{var y;return(y=P.value)==null?void 0:y.result.findIndex(H=>H.name===R.params.cameraname)});return(y,H)=>{const s=Nt,i=ht("router-link");return t(_)?(c(),w("div",ia,[E(Pe,{color:"#df2a4c",indeterminate:""})])):(c(),j(Wt,{key:1,"model-value":t(z),class:"mt-3","show-arrows":"",mandatory:"force"},{default:C(()=>{var h;return[(c(!0),w(ye,null,be(((h=t(P))==null?void 0:h.result)||[],(S,M)=>(c(),j(At,{key:S.name,value:M},{default:C(({toggle:N,isSelected:Q})=>[x("div",ra,[E(i,{to:`/cameras/${S.name}`,onClick:N},{default:C(()=>[E(s,{class:"ma-3 overflow-hidden","camera-name":S.name,style:{height:"auto",width:"140px","border-radius":"8px"}},null,8,["camera-name"])]),_:2},1032,["to","onClick"]),t(f)?(c(),w("div",{key:0,class:ge(["add-transition slide-item-title",{"slide-item-title-active":Q}])},B(S.name||y.$t("general.loading")),3)):ee("",!0)])]),_:2},1032,["value"]))),128))]}),_:1},8,["model-value"]))}}}),ua=we(na,[["__scopeId","data-v-49da9502"]]),ca={key:0,class:"flex items-center justify-center w-full h-full"},ma={key:1,class:"w-full h-full"},va={class:"absolute z-5 left-1 top-2"},da={class:"left-content"},pa={key:0,class:"timeline-toggle"},fa={class:"flex flex-col items-center h-full sidebar camera-no-outside"},ha={key:0,class:"sidebar-header px-1 py-3 relative"},ga=me({__name:"Camera",setup(e){const $=new Oe,R=Re(),{desktopActive:V,mobileActive:f,tabletActive:F,extraSmallMobileActive:P}=Ge(),{t:_}=kt.global,z=u(new Date),y=u(),H=u(0),s=u("0"),i=u(!1),h=u(null),S=u(!1),M=u(!1),N=gt([{title:_("views.camera.timeline"),id:"0"},{title:_("views.camera.detections"),id:"1"}]),Q=Me(y),A=T(()=>R.params.cameraname),{data:K,isLoading:k}=$.getCameraQuery(A);return Y(f,p=>{p&&(i.value=!0)},{immediate:!0}),xe(async()=>{setTimeout(()=>{y.value=document.querySelector(".player-container-main")},100)}),(p,n)=>{const J=It,G=ua,te=sa,ae=ta;return c(),w("main",{class:ge(["w-full h-full",{"p-3":!t(f)}])},[!t(K)||t(k)?(c(),w("div",ca,[E(Pe,{color:"#df2a4c",indeterminate:""})])):(c(),w("div",ma,[x("div",{class:ge(["relative z-5 w-full h-full flex flex-col md:flex-row overflow-hidden",{"gap-4":t(V)}])},[x("div",va,[t(P)?(c(),j(ie,{key:0,size:"32",icon:"",density:"compact",variant:"elevated",class:"no-drag camera-no-outside opacity-50",onClick:n[0]||(n[0]=he(b=>p.$router.push("/cameras"),["prevent"]))},{default:C(()=>[E(re,{size:"24"},{default:C(()=>[se(B(t(ze)),1)]),_:1})]),_:1})):ee("",!0)]),x("div",da,[(c(),j(J,{key:t(A),"show-title":"",settings:"",share:"",snapshot:"",target:"stream","current-camera":t(K).name,"timeline-scrolling":t(M)||t(S),"border-radius":t(f)?0:3,"enable-control":"",shortcuts:"",motions:"",objects:"",zones:"","auto-hide-control":!1,"source-role":t(K).interface.streamingSource,onResize:n[1]||(n[1]=b=>H.value=b)},null,8,["current-camera","timeline-scrolling","border-radius","source-role"])),(c(),j(xt,null,[t(f)?ee("",!0):(c(),j(G,{key:0,"show-label":"","focus-index":""}))],1024))]),x("div",{class:"right-content",style:W(t(F)?`height: ${t(Q).height.value}px; width: ${t(Q).width.value/3}px; right: ${t(i)?0:-2-t(Q).width.value/3}px`:"")},[t(F)?(c(),w("div",pa,[E(ie,{class:"camera-no-outside",color:"#212121",size:"30",variant:"elevated",icon:"",onClick:n[2]||(n[2]=b=>i.value=!t(i))},{default:C(()=>[E(re,{color:"#fff",size:"20"},{default:C(()=>[se(B(t(i)?t(wt):t(ze)),1)]),_:1})]),_:1})])):ee("",!0),x("div",fa,[!t(f)&&!t(F)?(c(),w("div",ha,[(c(),j(te,{key:t(A),modelValue:t(s),"onUpdate:modelValue":n[3]||(n[3]=b=>Ve(s)?s.value=b:null),segments:t(N)},null,8,["modelValue","segments"]))])):ee("",!0),(c(),j(ae,{key:t(A),ref_key:"timeline",ref:h,"date-model":t(z),modifier:t(H),segment:t(s),onIsScrolling:n[4]||(n[4]=b=>M.value=b),onIsLoading:n[5]||(n[5]=b=>S.value=b)},null,8,["date-model","modifier","segment"]))])],4)],2)]))],2)}}}),tl=we(ga,[["__scopeId","data-v-fbb71542"]]);export{tl as default};
@@ -1 +0,0 @@
1
- import{C as A,_ as I}from"./VPlayer.DWJVzwuw.0.0.49.js";import{h as L,f as M,j as N,k as Q,c as T}from"./main.BBe3SGhH.0.0.49.js";import{s as D}from"./utils.mAKpSMLY.0.0.49.js";import{j as P}from"./@vueuse.fmA4o7MO.0.0.49.js";import{B,R as G,e as O,b as F}from"./vuetify.kkqUjVJA.0.0.49.js";import{G as R,t as K,r as E,c as C,C as U,b as t,d as s,u as e,Q as h,ad as g,P as i,f as m,a9 as d,e as q,k as _,g as u,ab as $,ac as z,aa as H,a7 as J,_ as W}from"./@vue.DeX8WChi.0.0.49.js";import{e as X}from"./@mdi.CbjpODVZ.0.0.49.js";import{s as Y}from"./pinia.ggULzsrQ.0.0.49.js";import"./draggabilly.C0hZWkL0.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./get-size.D1dS-IaP.0.0.49.js";import"./unidragger.C8ueS-PW.0.0.49.js";import"./ev-emitter.X5f1qa-c.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./vue3-toastify.JJyrPHKk.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./qrcode.BixA_YE2.0.0.49.js";import"./dijkstrajs.C00ieaqj.0.0.49.js";import"./plugins.D11FBqVV.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./VConsole.B9yVZ89i.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";const Z={key:0,class:"camera-events hide-scrollbar flex flex-auto flex-row"},ee={key:1,class:"disabled-text"},te={key:2,class:"camera-events hide-scrollbar flex flex-auto flex-row"},se=["onClick"],ae=R({__name:"VCameraEvents",props:{showAll:{type:Boolean,default:!1},camera:{}},setup(V){const y=V,{camera:a,showAll:f}=K(y),p=E(!0),l=E(null),x=P(l),n=C(()=>{const o=[];for(let r=0;r<50;r++)o.push({camera:"Kamera 1",title:"Event 1",type:"motion",timestamp:Date.now(),image:void 0});return o}),k=C(()=>f.value||n.value.some(o=>o.camera===(a==null?void 0:a.value))),c=C(()=>Math.ceil(x.width.value/150)),S=o=>{console.log(o)},w=o=>!!(f.value||a!=null&&a.value&&o===a.value);return U(async()=>{await D(1500),p.value=!1}),(o,r)=>{const j=L;return t(),s("div",{ref_key:"main",ref:l,class:"camera-events-container"},[e(p)?(t(),s("div",Z,[(t(!0),s(h,null,g(e(c),(v,b)=>(t(),s("div",{key:b,class:"mx-1 flex flex-col justify-center items-center"},[i(B,{elevation:1,height:"140px",type:"image",class:"camera-event-card"}),i(B,{elevation:0,type:"text",style:{background:"none"}})]))),128))])):!e(p)&&(!e(k)||!e(n).length)?(t(),s("div",ee,[m("span",null,d(o.$t("components.camera_events.no_events")),1)])):(t(),s("div",te,[(t(!0),s(h,null,g(e(n),(v,b)=>(t(),s("div",{key:b,class:"mx-1 text-center"},[w(v.camera)?q((t(),s("div",{key:0,class:"camera-event-card cursor-pointer",onClick:ce=>S(v)},[i(j,{style:{background:"var(--background-img)","border-radius":"5px"},src:v.image,width:"100%",height:"100%","aspect-ratio":"1/1","spinner-size":"15","spinner-width":"2","error-style":"","placeholder-style":"",cover:""},null,8,["src"])],8,se)),[[G]]):_("",!0),r[0]||(r[0]=m("span",{class:"text-sm text-passive"},"12:01:45",-1))]))),128))]))],512)}}}),oe=M(ae,[["__scopeId","data-v-ebd7b0ef"]]),re={class:"page-title"},ne={class:"page-title"},ie={key:"new-camera",class:"w-full flex justify-center items-center mt-3"},le=R({__name:"Cameras",setup(V){const y=new A,{smallMobileActive:a,extraSmallMobileActive:f}=N(),p=Q(),{uiSettings:l}=Y(p),x=E({page:1,pageSize:-1}),{data:n,isLoading:k}=y.getCamerasQuery(x);return(c,S)=>{const w=oe,o=I;return t(),s("main",{class:u(["w-full h-full",{"px-0":e(a)}])},[e(l).cameras.showEvents?(t(),s("div",{key:0,class:u(["mb-3 flex items-center",{"px-2":e(a)}]),style:{height:"30px"}},[m("h1",re,d(c.$t("views.cameras.events")),1)],2)):_("",!0),e(l).cameras.showEvents?(t(),s("div",{key:1,class:u(["w-full mb-3",{"px-2":e(a)}])},[i(w,{"show-all":""})],2)):_("",!0),m("div",{class:u(["mb-3 flex items-center",{"px-2":e(a)}]),style:{height:"30px"}},[m("h1",ne,d(c.$t(`views.${String(c.$route.name).toLowerCase()}.title`)),1)],2),i(W,{name:"fade",tag:"div"},{default:$(()=>[e(k)||!e(n)?(t(),s("div",{key:0,class:"grid",style:z(`grid-template-columns: repeat(auto-fit, minmax(${e(a)?"100%":"300px"}, 1fr))`)},[(t(),s(h,null,g(8,r=>i(B,{key:r,elevation:1,type:"image",class:"w-full h-full aspect-video"})),64))],4)):e(n).result.length?(t(),s("div",{key:2,class:"grid",style:z(`grid-template-columns: repeat(auto-fit, minmax(${e(a)?"100%":"300px"}, 1fr)) ${e(n).result.length===1?"50%":""}`)},[(t(!0),s(h,null,g(e(n).result,r=>(t(),s("div",{key:r.name,class:"relative item"},[i(o,{"absolute-title":"","show-title":"","show-tooltips":!1,"clickable-title":"","clickable-container":"","refresh-snapshot":"",logs:"",settings:"","current-camera":r.name,"border-radius":e(a)?0:3,border:!1,target:"snapshot","button-elevation":"1"},null,8,["current-camera","border-radius"])]))),128))],4)):(t(),s("div",{key:1,class:u({"disabled-text":!0,"px-2":e(a)})},d(c.$t("views.cameras.no_cameras")),3)),m("div",ie,[e(T)(void 0,"admin")&&(!e(l).interface.showBottomBarOnMobile||e(l).interface.showBottomBarOnMobile&&!e(f))?(t(),H(F,{key:0,to:"/new-camera",variant:"text",color:"#df2a4c",icon:""},{default:$(()=>[i(O,{size:"30"},{default:$(()=>[J(d(e(X)),1)]),_:1})]),_:1})):_("",!0)])]),_:1})],2)}}}),He=M(le,[["__scopeId","data-v-2dbd6dd3"]]);export{He as default};
@@ -1 +0,0 @@
1
- import{G as ce,r as f,R as vt,b as r,d as S,f as i,P as n,ab as l,a7 as W,a9 as g,u as e,p as ee,t as pe,c as N,w as J,ac as ge,aa as L,ad as ve,g as ie,Q as fe,_ as ft,k as H,ah as pt,$ as gt,i as ke,m as Re}from"./@vue.DeX8WChi.0.0.49.js";import{I as Qe,J as _t,K as wt,s as yt,L as je,E as ht,M as bt,N as xt,O as Vt,P as kt,Q as Dt,R as Ct,S as $t,T as zt,U as Mt,V as Pt,W as St}from"./@mdi.CbjpODVZ.0.0.49.js";import{e as X,b as te,o as $e,G as Oe,H as We,f as ye,j as Be,a as Ft,c as Ee,m as Le,I as It,J as At}from"./vuetify.kkqUjVJA.0.0.49.js";import{f as de,k as He,t as Ne,j as De,v as he,u as Tt,U as Rt,e as Bt,w as Et}from"./main.BBe3SGhH.0.0.49.js";import{F as Ue,a as Lt}from"./vee-validate.8pUAwQ7T.0.0.49.js";import{_ as Pe,C as Ut}from"./VPlayer.DWJVzwuw.0.0.49.js";import{H as Ye}from"./react-dnd-html5-backend.1HQjlkwI.0.0.49.js";import{T as qe}from"./react-dnd-touch-backend.Bu6wFEmw.0.0.49.js";import{u as Ge,a as Xe,D as Je}from"./vue3-dnd.DbCy3Qbj.0.0.49.js";import"./fast-deep-equal.Cba0yG7P.0.0.49.js";import{s as ze}from"./pinia.ggULzsrQ.0.0.49.js";import{l as Ke,q as Ze,j as et,s as tt,e as Qt}from"./@vueuse.fmA4o7MO.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";import"./vue3-toastify.JJyrPHKk.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./draggabilly.C0hZWkL0.0.0.49.js";import"./get-size.D1dS-IaP.0.0.49.js";import"./unidragger.C8ueS-PW.0.0.49.js";import"./ev-emitter.X5f1qa-c.0.0.49.js";import"./qrcode.BixA_YE2.0.0.49.js";import"./dijkstrajs.C00ieaqj.0.0.49.js";import"./plugins.D11FBqVV.0.0.49.js";import"./VConsole.B9yVZ89i.0.0.49.js";import"./@react-dnd.CcwRs9xb.0.0.49.js";import"./dnd-core.De50QAoi.0.0.49.js";import"./redux.BFxtlG_c.0.0.49.js";const jt={class:"mt-auto flex flex-col"},Ot={class:"relative flex flex-col items-center justify-center"},Wt=ce({__name:"VAudioVisualizer",emits:["listening"],setup(ae,{emit:U}){const q=U,C=f(),$=f(null),B=f(),u=f(!1),d=()=>{var o,s;(o=C.value)==null||o.close(),C.value=void 0,(s=B.value)==null||s.forEach(z=>z.stop()),B.value=void 0,u.value=!1,q("listening",!1)},w=(o,s,z,x,A,j)=>{const k=o.createLinearGradient(s,z,x,A);k.addColorStop(0,"#5b040f"),k.addColorStop(.5,"#b50b21"),k.addColorStop(.9,"#df2a4c"),k.addColorStop(1,"#df6380"),o.lineWidth=j,o.strokeStyle=k,o.beginPath(),o.moveTo(s,z),o.lineTo(x,A),o.stroke(),o.closePath()},y=async()=>{var o;if(u.value)d();else try{C.value&&d();let s;try{s=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(D){console.warn("Can not enable AudioVisualizer",D);return}u.value=!0,q("listening",!0),C.value=new AudioContext;const z=C.value.createAnalyser();z.fftSize=1024,B.value=s.getTracks(),C.value.createMediaStreamSource(s).connect(z);const A=90,j=3;let k;const V=(o=$.value)==null?void 0:o.getContext("2d"),M=()=>{if($.value&&V){const D=[],h=[];V.clearRect(0,0,$.value.width,$.value.height),requestAnimationFrame(M);const m=z.frequencyBinCount,v=new Uint8Array(m);z.getByteFrequencyData(v),D.push(v);for(let P=0;P<D[0].length;P++)h.push(0),D.forEach(R=>{h[P]+=R[P]});const _=$.value.width/2,F=$.value.height/2,T=30;V.beginPath(),V.arc(_,F,T,0,2*Math.PI),V.lineWidth=1,V.stroke(),V.closePath();for(let P=0;P<A;P++){k=h[P]*.4;const R=Math.PI*2/A,E=_+Math.cos(R*P)*T,Y=F+Math.sin(R*P)*T,se=_+Math.cos(R*P)*(T+k),re=F+Math.sin(R*P)*(T+k);w(V,E,Y,se,re,j)}u.value||V.clearRect(0,0,$.value.width,$.value.height)}};M()}catch(s){d(),console.error(s)}};return vt(()=>{d()}),(o,s)=>(r(),S("div",jt,[i("div",Ot,[n(te,{class:"mic-button",variant:"elevated",color:"white",icon:"",size:"60",onClick:ee(y,["prevent"])},{default:l(()=>[n(X,{size:"35"},{default:l(()=>[W(g(e(Qe)),1)]),_:1})]),_:1}),i("canvas",{ref_key:"canvas",ref:$,height:"300",width:"300"},null,512)])]))}}),Ht=de(Wt,[["__scopeId","data-v-0b467b3d"]]),Nt=["data-handler-id"],Yt=ce({__name:"VDnDCard",props:{id:{},index:{},camera:{},moveCard:{type:Function}},setup(ae,{expose:U}){const q=He(),C=ae,{camera:$}=pe(C),{uiSettings:B}=ze(q),u=f(),d=f(),w=f(null);let y=null,o=0,s=0;const z=N(()=>B.value.camview.dragDisabled===!1),{x,y:A,sourceType:j}=Ke(),{top:k,left:V}=Ze(w),[M,D]=Ge({accept:"camera",collect(b){return{handlerId:b.getHandlerId()}},hover(b,oe){var xe;if(!u.value)return;const le=b.index,ue=C.index;if(le===ue)return;const _e=(xe=u.value)==null?void 0:xe.getBoundingClientRect(),K=(_e.bottom-_e.top)/2,be=oe.getClientOffset().y-_e.top;le<ue&&be<K||le>ue&&be>K||(C.moveCard(le,ue),b.index=ue)}}),[h,m]=Xe({type:"camera",canDrag(){return z.value},item:()=>({id:C.id,index:C.index}),collect:b=>({isDragging:b.isDragging()})}),{handlerId:v}=pe(M.value),_=N(()=>h.value.isDragging),F=N(()=>_.value&&j.value==="touch"),T=N(()=>e(_)?0:1);J(F,b=>{b?(y=P(),o=x.value-V.value,s=A.value-k.value):(E(y),y=null)}),J([x,A],()=>{R(y,o,s)});const P=()=>{if(w.value){const b=w.value.cloneNode(!0);return b.classList.add("drag-preview"),document.body.appendChild(b),b}return null},R=(b,oe,le)=>{b&&(b.style.left=`${x.value-oe}px`,b.style.top=`${A.value-le}px`)},E=b=>{b&&document.body.removeChild(b)},Y=b=>{u.value=m(D(b))};return U({togglePlayerMute:b=>{var oe;(oe=d.value)==null||oe.toggleMute(b)},toggleMicrophone:async(b,oe)=>{var le;await((le=d.value)==null?void 0:le.toggleMicrophone(b,oe))}}),(b,oe)=>(r(),S("div",{ref_key:"boxEl",ref:w},[i("div",{ref:Y,class:"camera-card",style:ge({opacity:e(T),color:"#000",cursor:e(B).camview.dragDisabled?"default":"grab"}),"data-handler-id":e(v)},[n(Pe,{ref_key:"playerRef",ref:d,"current-camera":e($).name,"border-radius":0,target:"stream","show-camera-name":"","enable-control":"","auto-hide-control":"","source-role":e($).interface.streamingSource,"show-mode":!1},null,8,["current-camera","source-role"])],12,Nt)],512))}}),qt=de(Yt,[["__scopeId","data-v-f1c0f202"]]),Gt={class:"conference"},Xt=ce({__name:"VDnD",props:{cameras:{},dbCameras:{},noDrag:{type:Boolean}},emits:["drag"],setup(ae,{expose:U,emit:q}){const{isTouch:C}=Ne(),{smallMobileActive:$}=De(),B=q,u=ae,{cameras:d,dbCameras:w,noDrag:y}=pe(u),o=f(null),s=f(null),z=f(2),x=f([]),A=f(),j=f(!1);let k;const V=et(s),{isFullscreen:M,toggle:D}=tt(o),{width:h}=Qt(),m=N(()=>y.value||j.value),v=N(()=>{if($.value)return"100%";const R=V.width.value-z.value*2,E=x.value.length,Y=Math.ceil(Math.sqrt(E)),se=(R-(Y+1)*z.value)/Y;return`${Math.floor(se)}px`});J(h,(R,E)=>{R!==E&&(j.value=!0,clearTimeout(k),k=setTimeout(()=>{j.value=!1},100))}),J(d,R=>{x.value=he(R).sort((E,Y)=>E.index-Y.index)},{immediate:!0,deep:!0});const _=(R,E)=>{const Y=x.value[R];x.value.splice(R,1),x.value.splice(E,0,Y),x.value=x.value.map((se,re)=>(se.index=re,se)).sort((se,re)=>se.index-re.index),B("drag",x.value)};return U({toggleFullscreen:async()=>{await D()},togglePlayerMute:R=>{for(const E of A.value||[])E.togglePlayerMute(R)},togglePlayerMicrophone:async(R,E)=>{for(const Y of A.value||[])await Y.toggleMicrophone(R,E)},isFullscreen:M,selectedCameras:x}),(R,E)=>(r(),L(e(Je),{backend:e(C)?e(qe):e(Ye)},{default:l(()=>[i("div",{ref_key:"cameraDnd",ref:o,class:"scenary"},[i("div",Gt,[n(ft,{ref_key:"dishEl",ref:s,name:"list",tag:"div",class:"dish"},{default:l(()=>[(r(!0),S(fe,null,ve(e(x),(Y,se)=>(r(),L(qt,{id:Y.cameraId,ref_for:!0,ref_key:"dndCards",ref:A,key:Y.cameraId,index:se,camera:e(w).find(re=>re._id===Y.cameraId),"move-card":_,style:ge({width:e(v)}),class:ie(["dnd-card",{"no-transition":e(m)}])},null,8,["id","index","camera","style","class"]))),128))]),_:1},512)])],512)]),_:1},8,["backend"]))}}),Jt=de(Xt,[["__scopeId","data-v-bb21ec2b"]]),Kt={class:"camera-snapshot"},Zt={class:"camera-info flex flex-row items-center"},ea={class:"text-passive truncate"},ta=ce({__name:"VViewDrag",props:{camera:{},isDropped:{type:Boolean},canDrag:{type:Boolean}},setup(ae){const U=ae,{isDropped:q,camera:C,canDrag:$}=pe(U),B=f(null);let u=null,d=0,w=0;const{x:y,y:o,sourceType:s}=Ke(),{top:z,left:x}=Ze(B),[A,j]=Xe(()=>({type:"camera",options:{dropEffect:"copy"},item:C.value,canDrag:$.value,collect:m=>({style:{opacity:m.isDragging()?.4:1},isDragging:m.isDragging()})})),k=N(()=>A.value.isDragging),V=N(()=>k.value&&s.value==="touch");J(V,m=>{m?(u=M(),d=y.value-x.value,w=o.value-z.value):(h(u),u=null)}),J([y,o],()=>{D(u,d,w)});const M=()=>{if(B.value){const m=B.value.cloneNode(!0);return m.classList.add("drag-preview"),document.body.appendChild(m),m}return null},D=(m,v,_)=>{m&&(m.style.left=`${y.value-v}px`,m.style.top=`${o.value-_}px`)},h=m=>{m&&document.body.removeChild(m)};return(m,v)=>{const _=Pe;return r(),S("div",{ref_key:"boxEl",ref:B},[i("div",{ref:e(j),style:ge({...e(A).style,cursor:e(q)?"default":"grab"}),class:"drag-box p-2 flex flex-row items-center relative"},[n(X,{size:"20",class:"text-passive mr-2"},{default:l(()=>[W(g(e(_t)),1)]),_:1}),i("div",Kt,[n(_,{"current-camera":e(C).name,"border-radius":6,target:"snapshot","show-mode":!1},null,8,["current-camera"])]),i("div",Zt,[i("span",ea,g(e(C).name),1),e(q)?(r(),L(X,{key:0,size:"25",class:"ml-auto text-green mr-4"},{default:l(()=>[W(g(e(wt)),1)]),_:1})):H("",!0)])],4)],512)}}}),aa=de(ta,[["__scopeId","data-v-7dfa63f3"]]),Me={WIDTH:400},sa={class:"camera-view-edit flex flex-col p-2"},la={class:"mb-4 text-lg"},oa={class:"text-passive mb-5 mt-5"},ra={class:"camera-container py-3"},na=ce({__name:"VViewSidebar",props:{cameras:{},droppedCameras:{},title:{}},setup(ae){pt(w=>({"7ea40162":e(B)}));const U=ae,{cameras:q,droppedCameras:C,title:$}=pe(U),B=f(`${Me.WIDTH}px`),u=f(!1),d=w=>C.value.some(y=>y.name===w.name);return(w,y)=>{const o=aa;return r(),S("div",sa,[i("b",la,g(e($)),1),i("span",oa,g(w.$t("components.view_box.available_streams")),1),i("div",ra,[(r(!0),S(fe,null,ve(e(q),(s,z)=>(r(),S("div",{key:z,class:"mb-4"},[n(o,{camera:s,"is-dropped":d(s),"can-drag":!d(s),class:ie({shake:e(u)})},null,8,["camera","is-dropped","can-drag","class"])]))),128))])])}}}),ia=de(na,[["__scopeId","data-v-420802a2"]]),ca={key:0,class:"overlay-button-text truncate",color:"#fff"},da={key:1,class:"w-full h-full flex items-center justify-center"},ua=ce({__name:"VViewCard",props:{lastDroppedCamera:{},editMode:{type:Boolean},cameras:{},droppedCameras:{},onDrop:{type:Function}},emits:["drop","remove"],setup(ae,{expose:U,emit:q}){const{desktopActive:C}=De(),$=q,B=ae,{lastDroppedCamera:u,editMode:d,cameras:w,droppedCameras:y}=pe(B),o=f(null),s=f(),{width:z}=et(o),[x,A]=Ge({accept:"camera",drop:B.onDrop,collect:v=>({isOver:v.isOver(),canDrop:v.canDrop()&&u.value===void 0}),canDrop:()=>u.value===void 0}),j=N(()=>x.value.canDrop&&x.value.isOver),k=N(()=>d.value?j.value?"#171717":"#202020":"#000"),V=N(()=>z.value<=200),M=N(()=>w.value.filter(v=>!D(v))),D=v=>y.value.some(_=>_.name===v.name);return U({togglePlayerMute:v=>{var _;(_=s.value)==null||_.toggleMute(v)},toggleMicrophone:async(v,_)=>{var F;await((F=s.value)==null?void 0:F.toggleMicrophone(v,_))}}),(v,_)=>(r(),S("div",{ref:e(A),style:ge({backgroundColor:e(k)}),class:"overflow-hidden"},[e(u)?(r(),S("div",{key:0,ref_key:"container",ref:o,class:"w-full h-full flex items-center justify-center relative"},[e(d)?(r(),L(te,{key:0,icon:e(V),size:e(V)?32:void 0,class:"overlay-button flex items-center justify-center",color:"#df2a4c",onClick:_[0]||(_[0]=ee(F=>$("remove",e(u)),["prevent"]))},{default:l(()=>[n(X,{size:"18"},{default:l(()=>[W(g(e(yt)),1)]),_:1}),e(V)?H("",!0):(r(),S("span",ca,g(e(u).name),1))]),_:1},8,["icon","size"])):H("",!0),n(gt,{name:"fade",mode:"in-out"},{default:l(()=>[e(u)?(r(),L(Pe,{key:0,ref_key:"playerRef",ref:s,class:ie({"camera-overlay":e(d)}),"current-camera":e(u).name,"border-radius":0,target:e(d)?"snapshot":"stream",style:ge({opacity:e(d)?.2:1}),"show-camera-name":!e(d),"enable-control":!e(d),"auto-hide-control":"","source-role":e(u).interface.streamingSource,"show-mode":!1},null,8,["class","current-camera","target","style","show-camera-name","enable-control","source-role"])):H("",!0)]),_:1})],512)):!e(C)&&e(d)?(r(),S("div",da,[n(te,{icon:"",size:"32",color:"#df2a4c"},{default:l(()=>[n(X,{size:"18",color:"#ffff"},{default:l(()=>[W(g(e(je)),1)]),_:1}),n($e,{activator:"parent",class:"select-menu"},{default:l(()=>[n(Oe,{"onClick:select":_[1]||(_[1]=F=>$("drop",F.id))},{default:l(()=>[(r(!0),S(fe,null,ve(e(M),(F,T)=>(r(),L(ye,{key:T,value:F},{default:l(()=>[n(We,null,{default:l(()=>[W(g(F.name),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})])):H("",!0)],4))}}),ma=de(ua,[["__scopeId","data-v-4725d64a"]]),va=ce({__name:"VView",props:{cameras:{},viewSize:{},cards:{},title:{},editMode:{type:Boolean,default:!1}},emits:["drop","remove"],setup(ae,{expose:U,emit:q}){const{isTouch:C}=Ne(),{desktopActive:$}=De(),B=q,u=ae,{cameras:d,editMode:w,viewSize:y,cards:o,title:s}=pe(u),z=f(null),x=f(`${Me.WIDTH}px`),A=f(),{isFullscreen:j,toggle:k}=tt(z),V=N(()=>o.value.filter(m=>m.lastDroppedCamera).map(m=>m.lastDroppedCamera));return U({toggleFullscreen:async()=>{await k()},togglePlayerMute:m=>{for(const v of A.value||[])v.togglePlayerMute(m)},togglePlayerMicrophone:async(m,v)=>{for(const _ of A.value||[])await _.toggleMicrophone(m,v)},isFullscreen:j}),(m,v)=>{const _=ia;return r(),L(e(Je),{backend:e(C)?e(qe):e(Ye)},{default:l(()=>[i("div",{ref_key:"cameraView",ref:z,class:"view-container flex items-center mx-2",style:ge({width:e(w)&&e($)?`calc(100% - ${e(x)})`:void 0})},[i("div",{class:ie(`view-wrap w-full camera-view-${e(y)}`)},[(r(!0),S(fe,null,ve(e(o),(F,T)=>(r(),L(ma,{ref_for:!0,ref_key:"dragContainer",ref:A,key:T,class:ie(`div${T+1}-${e(y)}`),"last-dropped-camera":F.lastDroppedCamera,cameras:e(d),"dropped-cameras":e(V),"edit-mode":e(w),onDrop:P=>B("drop",T,P),onRemove:v[0]||(v[0]=P=>B("remove",P))},null,8,["class","last-dropped-camera","cameras","dropped-cameras","edit-mode","onDrop"]))),128))],2)],4),e(w)&&e($)?(r(),L(_,{key:0,cameras:e(d),"dropped-cameras":e(V),title:e(s),class:"view-box",style:ge({"margin-right":e(w)?"0px":`-${e(Me).WIDTH}px`})},null,8,["cameras","dropped-cameras","title","style"])):H("",!0)]),_:1},8,["backend"])}}}),fa=de(va,[["__scopeId","data-v-8ef83e91"]]),pa={class:"w-full h-full"},ga={class:"camview-topbar p-2 flex flex-row items-center"},_a={class:"flex w-full justify-start items-center"},wa={class:"camview-title truncate"},ya={style:{margin:"5px"}},ha={class:"flex flex-row w-full justify-start items-center"},ba={class:"menu-item"},xa={class:"flex w-full justify-start items-center"},Va={class:"camview-title truncate"},ka={style:{margin:"5px"}},Da={class:"flex flex-row w-full justify-start items-center"},Ca={class:"icon-wrapper"},$a={class:"menu-item ml-2"},za={class:"flex flex-row w-full justify-start items-center"},Ma={class:"icon-wrapper"},Pa={class:"menu-item ml-2"},Sa={key:9,class:"flex flex-row items-center"},Fa={class:"text-white"},Ia={class:"h-full w-full inline-size mb-safe"},Aa={key:0,class:"h-full w-full flex items-center justify-center"},Ta={key:1,class:"w-full h-full"},Ra={key:0,class:"w-full h-full relative"},Ba={key:1,class:"w-full h-full flex flex-row"},Ea={key:2,class:"flex flex-col items-center justify-center w-full h-full"},La={class:"mt-5",style:{color:"#525252"}},Ua={class:"flex flex-col h-full w-full"},Qa={class:"relative"},ja={for:"name",class:"v-label"},Oa={key:0,class:"text-red text-center mb-5"},Wa={class:"view-scroll-container"},Ha={class:"view-select-container"},Na=["onClick"],Ya={class:"flex flex-col h-full w-full"},qa={class:"relative"},Ga={for:"name",class:"v-label"},Xa={key:0,class:"text-red text-center mb-5"},Ja={class:"flex flex-col"},Ka=ce({__name:"Camview",setup(ae){var Se;const U=new Rt,q=new Ut,{smallMobileActive:C}=De(),$=Tt(),B=He(),{uiSettings:u}=ze(B),{loginState:d}=ze($),w=f(),y=f(),o=f(),s=f({}),z=f(!1),x=f({page:1,pageSize:-1}),A=f([1,4,6,7,9,10,12,13,15,16,20,26]),j=f(!1),k=f(!1),V=f(!0),M=f(!1),D=f(!1),h=f(!1),m=f(!1),v=f(!1),_=f(!1),F=f([]),T=f([]),{data:P,isLoading:R}=q.getCamerasQuery(x),{data:E,isLoading:Y}=U.getViewsQuery(((Se=d.value.user)==null?void 0:Se.username)||"",x),{mutate:se,isPending:re}=U.removeViewQuery(),{mutateAsync:b,isPending:oe}=U.createViewQuery(),{mutateAsync:le,isPending:ue}=U.patchViewQuery(),{mutateAsync:_e}=U.patchViewQuerySilent(),K=N(()=>M.value||h.value||D.value),ne=N(()=>R.value||Y.value||re.value||oe.value||ue.value),be=N(()=>{var a,t;return((a=y.value)==null?void 0:a.isFullscreen)||((t=y.value)==null?void 0:t.isFullscreen)||!1}),xe=N(()=>navigator.mediaDevices!==void 0),I=N(()=>{var t,p;const a=((t=E.value)==null?void 0:t.result.find(Q=>Q._id===u.value.camview.viewid))||((p=E.value)==null?void 0:p.result[0]);return a?(s.value=a,u.value.camview.viewid=a._id):s.value={},a}),Ce=N(()=>K.value&&s.value.viewSize>0?s.value.viewSize:I.value?I.value.viewSize:1);J(d,a=>{U.toggleQueryActivator("getUserQuery",a!==null)}),J([Ce,I,P,K,u],()=>{var t,p,Q;if(((t=I.value)==null?void 0:t.type)==="dnd"&&!M.value&&!h.value)return;const a=Array.from({length:Ce.value}).map((O,Z)=>({accept:"camera",index:Z,lastDroppedCamera:void 0}));if(!h.value&&!m.value)for(const O of((p=I.value)==null?void 0:p.cameras)||[])a[O.index].lastDroppedCamera=(Q=P.value)==null?void 0:Q.result.find(Z=>Z._id===O.cameraId);F.value=a},{deep:!0,immediate:!0}),J(s,a=>{var t,p,Q;if(Object.keys(a).length===0)(t=o.value)==null||t.resetForm(),j.value=!1,k.value=!1;else{for(const[O,Z]of Object.entries(a))(p=o.value)==null||p.setFieldValue(O,Z);a.viewSize&&(j.value=!1),(Q=a.cameras)!=null&&Q.length&&(k.value=!1)}},{deep:!0}),J([m,h],([a,t])=>{(!a&&!t||a)&&(s.value={},j.value=!1)}),J([v,D],()=>{D.value||(T.value=[],s.value={},k.value=!1)}),J(v,a=>{a||(D.value=!1)}),J(D,a=>{var t;a?(T.value=((t=P.value)==null?void 0:t.result.filter(p=>{var Q;return(Q=I.value)==null?void 0:Q.cameras.some(O=>O.cameraId===p._id)}))||[],v.value=!0):(T.value=[],v.value=!1)}),J(T,a=>{a.length&&(k.value=!1)}),J(K,a=>{a&&I.value&&!h.value&&(s.value=he(I.value))}),J(d,a=>{a.user?U.toggleQueryActivator("getUserQuery",!0):U.toggleQueryActivator("getUserQuery",!1)},{immediate:!0,deep:!0});const at=async a=>{if(!I.value||!d.value.user)return;const t=he(I.value);t.cameras=a;const p=await _e({username:d.value.user.username,viewid:t._id,viewData:t});we(p)},st=(a,t)=>{F.value[a].lastDroppedCamera=t},lt=a=>{F.value=F.value.map(t=>{var p;return((p=t.lastDroppedCamera)==null?void 0:p.name)===a.name&&(t.lastDroppedCamera=void 0),t})},ot=async()=>{var p;if(!o.value||!d.value.user)return;const a=T.value.map((Q,O)=>({cameraId:Q._id,index:O}));s.value.cameras=a,s.value.type="dnd",s.value.viewSize=1,o.value.setFieldValue("type","dnd"),o.value.setFieldValue("viewSize",1),o.value.setFieldValue("cameras",a);const t=await o.value.validate();if(t){if(((p=E.value)==null?void 0:p.result.find(Z=>Z.name===s.value.name))&&!D.value){o.value.setFieldError("name","View already exists");return}if(a.length===0){k.value=!0;return}if(!t.valid)return;const O=he(s.value);if(O._id){const Z=await le({username:d.value.user.username,viewid:O._id,viewData:O});we(Z)}else{const Z=await b({username:d.value.user.username,viewData:O});we(Z)}v.value=!1}},rt=async()=>{var t,p;if(!o.value)return;s.value.cameras=[],s.value.type="view",o.value.setFieldValue("type","view"),o.value.setFieldValue("cameras",[]);const a=await o.value.validate();if(a){if((t=E.value)==null?void 0:t.result.find(O=>O.name===s.value.name)){o.value.setFieldError("name","View already exists");return}if(!a.valid){((p=a.results.viewSize)==null?void 0:p.valid)===!1&&(j.value=!0);return}m.value=!1,h.value=!0}},nt=async()=>{if(!o.value||!d.value.user||Object.keys(s.value).length===0)return;const a=F.value.filter(p=>p.lastDroppedCamera).map(p=>({cameraId:p.lastDroppedCamera._id,index:p.index})).sort((p,Q)=>p.index-Q.index);if(!a.length)return;o.value.setFieldValue("name",s.value.name),o.value.setFieldValue("cameras",a);const t=await o.value.validate();if(t!=null&&t.valid){const p=he(s.value);if(p.cameras=a,p._id){const Q=await le({username:d.value.user.username,viewid:p._id,viewData:p});we(Q)}else{const Q=await b({username:d.value.user.username,viewData:p});we(Q)}}else console.error("result",t)},we=a=>{u.value.camview.viewid=a._id,m.value=!1,v.value=!1,h.value=!1,M.value=!1},it=()=>{!I.value||!d.value.user||se({username:d.value.user.username,viewid:I.value._id},{onSuccess:a=>{a.length?u.value.camview.viewid=a[0]._id:u.value.camview.viewid=void 0}})},ct=a=>{u.value.camview.viewid=a._id},dt=async()=>{y.value?await y.value.toggleFullscreen():w.value&&await w.value.toggleFullscreen()},ut=()=>{V.value=!V.value,y.value?y.value.togglePlayerMute(V.value):w.value&&w.value.togglePlayerMute(V.value)},mt=async a=>{y.value?await y.value.togglePlayerMicrophone(a):w.value&&await w.value.togglePlayerMicrophone(a)};return(a,t)=>{const p=Bt,Q=Ht;return r(),S("main",pa,[n(e(Lt),{ref_key:"viewVeeForm",ref:o,class:"h-full w-full","validation-schema":e(Et),"initial-values":e(s)},{default:l(()=>{var O,Z,Fe,Ie,Ae,Te;return[i("div",ga,[!e(h)&&e(I)?(r(),L(te,{key:0,size:"small",variant:"flat",style:{background:"rgba(var(--color-rgb), 0.1)","padding-left":"8px"}},{default:l(()=>[i("div",_a,[e(K)?H("",!0):(r(),L(X,{key:0,size:"18",class:"text-color mr-1"},{default:l(()=>[W(g(e(z)?e(ht):e(bt)),1)]),_:1})),i("span",wa,g(e(I).name),1)]),e(K)?H("",!0):(r(),L($e,{key:0,activator:"parent",width:"324",offset:"5",location:"bottom",class:"select-menu","onUpdate:modelValue":t[0]||(t[0]=c=>z.value=c)},{default:l(()=>[n(Be,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:l(()=>{var c;return[i("div",ya,[(r(!0),S(fe,null,ve(((c=e(E))==null?void 0:c.result)||[],(G,me)=>(r(),L(ye,{key:me,active:G._id===e(I)._id,value:G,style:{"border-radius":"5px !important"},disabled:e(ne),onClick:ee(Ve=>ct(G),["prevent"])},{default:l(()=>[i("div",ha,[i("span",ba,g(G.name),1)])]),_:2},1032,["active","value","disabled","onClick"]))),128))])]}),_:1})]),_:1}))]),_:1})):e(h)&&e(s).name?(r(),L(te,{key:1,size:"small",variant:"flat",style:{background:"rgba(var(--color-rgb), 0.1)","padding-left":"8px"}},{default:l(()=>[i("div",xa,[i("span",Va,g(e(s).name),1)])]),_:1})):H("",!0),t[20]||(t[20]=i("div",{class:"ml-auto"},null,-1)),!e(K)&&((O=e(I))==null?void 0:O.type)==="dnd"?(r(),L(te,{key:2,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[1]||(t[1]=ee(c=>e(u).camview.dragDisabled=!e(u).camview.dragDisabled,["prevent"]))},{default:l(()=>[n(X,{size:"18"},{default:l(()=>[W(g(e(u).camview.dragDisabled?e(xt):e(Vt)),1)]),_:1})]),_:1})):H("",!0),!e(K)&&e(I)?(r(),L(te,{key:3,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[2]||(t[2]=ee(c=>ut(),["prevent"]))},{default:l(()=>[n(X,{size:"22"},{default:l(()=>[W(g(e(V)?e(kt):e(Dt)),1)]),_:1})]),_:1})):H("",!0),!e(K)&&e(I)&&e(xe)?(r(),L(te,{key:4,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[3]||(t[3]=ee(c=>_.value=!0,["prevent"]))},{default:l(()=>[n(X,{size:"22"},{default:l(()=>[W(g(e(Qe)),1)]),_:1})]),_:1})):H("",!0),!e(K)&&e(I)?(r(),L(te,{key:5,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[4]||(t[4]=ee(c=>dt(),["prevent"]))},{default:l(()=>[n(X,{size:"22"},{default:l(()=>[W(g(e(be)?e(Ct):e($t)),1)]),_:1})]),_:1})):H("",!0),!e(K)&&e(I)?(r(),L(te,{key:6,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[5]||(t[5]=ee(c=>it(),["prevent"]))},{default:l(()=>[n(X,{size:"20"},{default:l(()=>[W(g(e(zt)),1)]),_:1})]),_:1})):H("",!0),!e(D)&&!e(M)&&!e(h)&&e(I)?(r(),L(te,{key:7,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text",onClick:t[6]||(t[6]=ee(c=>{var G;return((G=e(I))==null?void 0:G.type)==="dnd"?D.value=!e(D):M.value=!e(M)},["prevent"]))},{default:l(()=>[n(X,{size:"19"},{default:l(()=>[W(g(e(Mt)),1)]),_:1})]),_:1})):H("",!0),!e(D)&&!e(M)&&!e(h)?(r(),L(te,{key:8,class:"disabled-text mr-2",size:"30",rounded:"",density:"compact",variant:"text"},{default:l(()=>[n(X,{size:"22"},{default:l(()=>[W(g(e(je)),1)]),_:1}),n($e,{activator:"parent",offset:"5",location:"bottom",class:"select-menu"},{default:l(()=>[n(Be,{width:"200",style:{border:"1px solid var(--background-timeline)","border-radius":"10px"},elevation:"3"},{default:l(()=>[i("div",ka,[n(ye,{style:{"border-radius":"5px !important"},disabled:e(ne),onClick:t[7]||(t[7]=ee(c=>m.value=!0,["prevent"]))},{default:l(()=>[i("div",Da,[i("div",Ca,[n(X,{size:"20",class:"text-passive"},{default:l(()=>[W(g(e(Pt)),1)]),_:1})]),i("span",$a,g(a.$t("views.camview.new_view")),1)])]),_:1},8,["disabled"]),t[19]||(t[19]=i("div",{class:"my-1"},null,-1)),n(ye,{style:{"border-radius":"5px !important"},disabled:e(ne),onClick:t[8]||(t[8]=ee(c=>v.value=!0,["prevent"]))},{default:l(()=>[i("div",za,[i("div",Ma,[n(X,{size:"20",class:"text-passive"},{default:l(()=>[W(g(e(St)),1)]),_:1})]),i("span",Pa,g(a.$t("views.camview.new_dnd")),1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})):H("",!0),e(M)||e(h)?(r(),S("div",Sa,[n(te,{class:"disabled-text mr-2",size:"small",variant:"flat",border:"",onClick:t[9]||(t[9]=ee(c=>e(M)?M.value=!1:h.value=!1,["prevent"]))},{default:l(()=>[W(g(a.$t("components.form.button.cancel")),1)]),_:1}),n(te,{disabled:e(F).every(c=>c.lastDroppedCamera===void 0),class:"disabled-text",size:"small",color:"#df2a4c",variant:"flat",border:"",onClick:t[10]||(t[10]=ee(c=>nt(),["prevent"]))},{default:l(()=>[i("span",Fa,g(a.$t("components.form.button.save")),1)]),_:1},8,["disabled"])])):H("",!0)]),i("div",{class:ie(["camview-container",{"px-0":e(C)}])},[i("div",Ia,[e(ne)||!e(E)?(r(),S("div",Aa,[n(Ft,{color:"#df2a4c",indeterminate:""})])):(r(),S("div",Ta,[!e(h)&&!e(M)&&(e(D)||((Z=e(I))==null?void 0:Z.type)==="dnd")?(r(),S("div",Ra,[n(Jt,{ref_key:"dndRef",ref:w,cameras:((Fe=e(I))==null?void 0:Fe.cameras)||[],"db-cameras":((Ie=e(P))==null?void 0:Ie.result)||[],"no-drag":e(u).camview.dragDisabled,onDrag:at},null,8,["cameras","db-cameras","no-drag"])])):!e(D)&&(e(h)||e(M)||((Ae=e(I))==null?void 0:Ae.type)==="view")?(r(),S("div",Ba,[(r(),L(fa,{ref_key:"viewRef",ref:y,key:e(u).camview.viewid+(e(h)?"-new":e(M)?"-edit":"-view"),cameras:((Te=e(P))==null?void 0:Te.result)||[],"edit-mode":e(h)||e(M),"view-size":e(h)?e(s).viewSize:e(Ce),title:e(s).name,cards:e(F),onDrop:st,onRemove:lt},null,8,["cameras","edit-mode","view-size","title","cards"]))])):(r(),S("div",Ea,[i("span",La,g(a.$t("views.camview.no_views_configured")),1)]))]))])],2),n(p,{modelValue:e(m),"onUpdate:modelValue":t[12]||(t[12]=c=>ke(m)?m.value=c:null),title:e(K)?a.$t("components.dialog.title.edit_view"):a.$t("components.dialog.title.new_view"),"confirm-text":"components.form.button.next",loading:e(ne),onConfirm:t[13]||(t[13]=c=>rt())},{content:l(()=>[i("div",Ua,[i("div",Qa,[n(e(Ue),{modelValue:e(s).name,"onUpdate:modelValue":t[11]||(t[11]=c=>e(s).name=c),name:"name"},{default:l(({field:c,errorMessage:G,errors:me})=>[i("label",ja,g(a.$t("components.form.label.name")),1),n(Ee,Re({loading:e(ne),variant:"outlined",name:"name",type:"text",density:"compact"},c,{error:me.length>0,"error-messages":G}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),n(Le,{class:"my-5"}),e(j)?(r(),S("span",Oa,g(a.$t("components.form.error.no_view_selected")),1)):H("",!0),i("div",Wa,[i("div",Ha,[(r(!0),S(fe,null,ve(e(A),c=>(r(),S("div",{key:c,class:"view-select-item h-full w-full",onClick:ee(G=>e(s).viewSize=c,["prevent"])},[i("div",{class:ie(["view-select-item-icon w-full h-full p-3",{"selected-view":e(s).viewSize===c}])},[n(X,{class:"disabled-text",style:{width:"100%",height:"100%"}},{default:l(()=>[W(g(`$cuiGrid${c}`),1)]),_:2},1024)],2),i("span",{class:ie(["view-select-item-label disabled-text mt-2 px-2 py-1",{"selected-view-label":e(s).viewSize===c}])},g(c)+" "+g(a.$t("views.camview.cameras")),3)],8,Na))),128))])])])]),_:1},8,["modelValue","title","loading"]),n(p,{modelValue:e(v),"onUpdate:modelValue":t[16]||(t[16]=c=>ke(v)?v.value=c:null),title:e(K)?a.$t("components.dialog.title.edit_dnd"):a.$t("components.dialog.title.new_dnd"),"confirm-text":"components.form.button.save",loading:e(ne),onConfirm:t[17]||(t[17]=c=>ot())},{content:l(()=>[i("div",Ya,[i("div",qa,[n(e(Ue),{modelValue:e(s).name,"onUpdate:modelValue":t[14]||(t[14]=c=>e(s).name=c),name:"name"},{default:l(({field:c,errorMessage:G,errors:me})=>[i("label",Ga,g(a.$t("components.form.label.name")),1),n(Ee,Re({loading:e(ne),variant:"outlined",name:"name",type:"text",density:"compact"},c,{error:me.length>0,"error-messages":G}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),n(Le,{class:"mb-10 mt-5"}),e(k)?(r(),S("span",Xa,g(a.$t("components.form.error.no_cameras_selected")),1)):H("",!0),n(Oe,{selected:e(T),"onUpdate:selected":t[15]||(t[15]=c=>ke(T)?T.value=c:null),"select-strategy":"classic",class:"py-0 mb-5",density:"compact"},{default:l(()=>{var c;return[(r(!0),S(fe,null,ve(((c=e(P))==null?void 0:c.result)||[],(G,me)=>(r(),L(ye,{key:me,value:G,active:e(T).some(Ve=>Ve.name===G.name)},{prepend:l(({isActive:Ve})=>[n(It,{start:""},{default:l(()=>[n(At,{"model-value":Ve,color:"#df2a4c"},null,8,["model-value"])]),_:2},1024)]),default:l(()=>[n(We,null,{default:l(()=>[W(g(G.name),1)]),_:2},1024)]),_:2},1032,["value","active"]))),128))]}),_:1},8,["selected"])])]),_:1},8,["modelValue","title","loading"]),n(p,{modelValue:e(_),"onUpdate:modelValue":t[18]||(t[18]=c=>ke(_)?_.value=c:null),title:a.$t("components.dialog.title.intercom"),loading:e(ne),"hide-confirm-button":""},{content:l(()=>[i("div",Ja,[i("span",null,g(a.$t("components.dialog.message.intercom_info")),1),n(Q,{onListening:mt})])]),_:1},8,["modelValue","title","loading"])]}),_:1},8,["validation-schema","initial-values"])])}}}),Os=de(Ka,[["__scopeId","data-v-35de00f9"]]);export{Os as default};
@@ -1 +0,0 @@
1
- var ce=Object.defineProperty;var ue=(a,t,o)=>t in a?ce(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o;var F=(a,t,o)=>ue(a,typeof t!="symbol"?t+"":t,o);import{x as v,i as S,a as me,k as fe,j as de,B as ge,e as pe,f as ye}from"./main.BBe3SGhH.0.0.49.js";import{_ as ve}from"./VConfigEditor.vue_vue_type_script_setup_true_lang.CAHg6HiL.0.0.49.js";import{r as m,u as e,G as Ce,c as K,w as O,C as _e,b as g,d as be,f as A,P as r,ab as s,aa as Q,a7 as p,a9 as u,p as V,m as we,ac as Qe,e as U,v as j,i as R,al as he}from"./@vue.DeX8WChi.0.0.49.js";import{_ as Se,G as Ve,F as Re,$ as Ge}from"./@mdi.CbjpODVZ.0.0.49.js";import{i as G}from"./vue3-toastify.JJyrPHKk.0.0.49.js";import{u as ke,a as E,b as k}from"./@tanstack.CgZ4BVuY.0.0.49.js";import{S as qe}from"./system.D_LabhBl.0.0.49.js";import{s as N}from"./utils.mAKpSMLY.0.0.49.js";import{s as H}from"./pinia.ggULzsrQ.0.0.49.js";import{e as y,b as q,P as ze,Q as xe}from"./vuetify.kkqUjVJA.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./@vueuse.fmA4o7MO.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";import"./ace-builds.S1varnlI.0.0.49.js";const Fe=async({json:a,signal:t})=>(await v.get("/config",{params:{json:a},signal:t})).data,Ae=async({json:a,signal:t})=>(await v.get("/config/go2rtc",{params:{json:a},signal:t})).data,$e=async({configData:a})=>(await v.patch("/config",a,{headers:{"Content-Type":"text/yaml"}})).data,Be=async({configData:a})=>(await v.patch("/config/go2rtc",a,{headers:{"Content-Type":"text/yaml"}})).data,Me=async()=>(await v.delete("/config")).data,Le=async()=>(await v.delete("/config/go2rtc")).data;class De{constructor(){F(this,"_queryClient",ke());F(this,"queryActivator",m([{name:"getConfigQuery",enabled:!0},{name:"getGo2RtcConfigQuery",enabled:!0}]))}get queryClient(){return this._queryClient}getConfigQuery(t=!1){return E({queryKey:["config",{json:t}],queryFn:({signal:o})=>Fe({json:e(t),signal:o}),enabled:()=>this.queryActivator.value.some(o=>o.name==="getConfigQuery"&&o.enabled)})}getGo2RtcConfigQuery(t=!1){return E({queryKey:["go2rtcConfig"],queryFn:({signal:o})=>Ae({json:e(t),signal:o}),enabled:()=>this.queryActivator.value.some(o=>o.name==="getGo2RtcConfigQuery"&&o.enabled)})}patchConfigQuery(){return k({mutationFn:$e,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),G.success(S.global.t("components.toast.config_updated"))}})}patchGo2RtcConfigQuery(){return k({mutationFn:Be,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),G.success(S.global.t("components.toast.config_go2rtc_updated"))}})}delteConfigQuery(){return k({mutationFn:Me,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),G.success(S.global.t("components.toast.config_deleted"))}})}delteGo2RtcConfigQuery(){return k({mutationFn:Le,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),G.success(S.global.t("components.toast.config_go2rtc_deleted"))}})}toggleQueryActivator(t,o){const h=this.queryActivator.value.find(z=>z.name===t);h&&(h.enabled=o)}}const Pe={class:"w-full h-full"},Te=Ce({__name:"Config",setup(a){const t=new De,o=new qe,h=me(),z=fe(),{extraSmallMobileActive:Z}=de(),{theme:$}=H(h),{uiSettings:l}=H(z),d=m("camera.ui"),C=m(""),_=m(""),B=m(!1),x=m(!1),b=m(!1),w=m(!1),M=K(()=>({fontSize:l.value.config.zoom})),{data:L,isLoading:J}=t.getConfigQuery(B),{data:D,isLoading:W}=t.getGo2RtcConfigQuery(B),{mutateAsync:X,isPending:Y}=t.patchConfigQuery(),{mutateAsync:ee,isPending:te}=t.patchGo2RtcConfigQuery(),{mutateAsync:oe,isPending:ne}=o.restartServerQuery(),{mutateAsync:ae,isPending:se}=o.restartGo2RtcQuery(),c=K(()=>J.value||W.value||Y.value||te.value||ne.value||se.value);O(L,()=>{C.value=L.value||""},{deep:!0,immediate:!0}),O(D,()=>{_.value=D.value||""},{deep:!0,immediate:!0});const P=async f=>{d.value==="camera.ui"?await X({configData:C.value}):await ee({configData:_.value}),await N(500),f==="server"?(await oe(),b.value=!1):f==="go2rtc"&&(await ae(),w.value=!1)},ie=()=>{d.value=d.value==="camera.ui"?"go2rtc":"camera.ui"},re=()=>{l.value.config.zoom!==8&&l.value.config.zoom--},le=()=>{l.value.config.zoom!==20&&l.value.config.zoom++};return _e(async()=>{await N(100),x.value=!0}),(f,n)=>{const T=ve,I=pe;return g(),be("main",Pe,[A("div",{class:"text-editor-buttons flex flex-row justify-center",style:Qe(e(Z)&&e(l).interface.showBottomBarOnMobile?`bottom: calc(1rem + ${e(ge).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"bottom: calc(1rem + env(safe-area-inset-bottom, 0px))")},[r(q,{loading:e(c),color:"#df2a4c",class:"mr-2 action-button",icon:"",onClick:V(ie,["prevent"])},{default:s(()=>[e(d)==="camera.ui"?(g(),Q(y,{key:0,size:"20"},{default:s(()=>n[7]||(n[7]=[p(u("$cuiLogo"))])),_:1})):(g(),Q(y,{key:1,size:"30"},{default:s(()=>n[8]||(n[8]=[p(u("$cuiGo2rtc"))])),_:1}))]),_:1},8,["loading"]),r(q,{key:"1",loading:e(c),color:"success",class:"mr-2 action-button",icon:"",onClick:n[0]||(n[0]=V(i=>e(d)==="go2rtc"?w.value=!0:b.value=!0,["prevent"]))},{default:s(()=>[r(y,{size:"20"},{default:s(()=>[p(u(e(Se)),1)]),_:1})]),_:1},8,["loading"]),r(xe,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:s(({props:i})=>[r(ze,we(i,{size:"default",class:"action-button",icon:""}),{default:s(()=>[r(y,{size:"20"},{default:s(()=>[p(u(e(Ge)),1)]),_:1})]),_:2},1040)]),default:s(()=>[r(q,{key:"1",loading:e(c),icon:"",disabled:e(l).config.zoom===20,onClick:V(le,["prevent"])},{default:s(()=>[r(y,{size:"20"},{default:s(()=>[p(u(e(Ve)),1)]),_:1})]),_:1},8,["loading","disabled"]),r(q,{key:"2",loading:e(c),disabled:e(l).config.zoom===8,icon:"",onClick:V(re,["prevent"])},{default:s(()=>[r(y,{size:"20"},{default:s(()=>[p(u(e(Re)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),(g(),Q(he,null,{default:s(()=>[e(d)==="camera.ui"?U((g(),Q(T,{key:0,modelValue:e(C),"onUpdate:modelValue":n[1]||(n[1]=i=>R(C)?C.value=i:null),lang:"yaml",theme:e($),options:e(M),"read-only":e(c),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[j,e(x)]]):U((g(),Q(T,{key:1,modelValue:e(_),"onUpdate:modelValue":n[2]||(n[2]=i=>R(_)?_.value=i:null),lang:"yaml",theme:e($),options:e(M),"read-only":e(c),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[j,e(x)]])]),_:1})),r(I,{modelValue:e(b),"onUpdate:modelValue":n[3]||(n[3]=i=>R(b)?b.value=i:null),title:f.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.save_and_restart",loading:e(c),onConfirm:n[4]||(n[4]=i=>P("server"))},{content:s(()=>[A("span",null,u(f.$t("components.dialog.message.confirm_restart_server")),1)]),_:1},8,["modelValue","title","loading"]),r(I,{modelValue:e(w),"onUpdate:modelValue":n[5]||(n[5]=i=>R(w)?w.value=i:null),title:f.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.save_and_restart",loading:e(c),onConfirm:n[6]||(n[6]=i=>P("go2rtc"))},{content:s(()=>[A("span",null,u(f.$t("components.dialog.message.confirm_restart_go2rtc")),1)]),_:1},8,["modelValue","title","loading"])])}}}),bt=ye(Te,[["__scopeId","data-v-6444ced6"]]);export{bt as default};
@@ -1,4 +0,0 @@
1
- import{y as $,k as A,j as I,B as E,e as P,f as U}from"./main.BBe3SGhH.0.0.49.js";import{G as N,r as b,c as z,S as F,R as G,b as j,d as H,P as t,u as o,f as S,ab as a,e as W,v as Z,a7 as d,a9 as m,p as _,m as q,ac as J,i as K}from"./@vue.DeX8WChi.0.0.49.js";import{M as X,a0 as Y,a1 as oo,G as eo,F as to,$ as ao}from"./@mdi.CbjpODVZ.0.0.49.js";import{S as no}from"./system.D_LabhBl.0.0.49.js";import{V as so}from"./VConsole.B9yVZ89i.0.0.49.js";import{s as lo}from"./pinia.ggULzsrQ.0.0.49.js";import{b as y,e as p,C as io,P as ro,Q as co}from"./vuetify.kkqUjVJA.0.0.49.js";import"./vue3-toastify.JJyrPHKk.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./vue-router.DvFvaoP2.0.0.49.js";import"./@vueuse.fmA4o7MO.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./vee-validate.8pUAwQ7T.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";const mo={class:"w-full h-full"},uo=N({__name:"Console",setup(po){const f=new no,x=$(),C=A(),{extraSmallMobileActive:L}=I(),{uiSettings:r}=lo(C),c=b(null),u=b(),g=b(!1),V=z(()=>({fontSize:r.value.console.zoom}));f.toggleQueryActivator("downloadLogQuery",!1);const{data:k,isLoading:B,suspense:Q}=f.downloadLogQuery(),{mutate:T,isPending:M}=f.clearLogQuery(),v=z(()=>B.value||M.value),h=async()=>{T(void 0,{onSuccess:()=>{g.value=!1}})},D=async()=>{try{if(f.toggleQueryActivator("downloadLogQuery",!0),await Q(),k.value){const n=k.value,e=window.URL.createObjectURL(new Blob([n])),s=document.createElement("a");s.href=e,s.setAttribute("download","camera.ui.log.txt"),document.body.appendChild(s),s.click(),s.remove()}}finally{f.toggleQueryActivator("downloadLogQuery",!1)}},R=()=>{r.value.console.zoom!==8&&r.value.console.zoom--},O=()=>{r.value.console.zoom!==20&&r.value.console.zoom++};return F(()=>{var n,e,s,i;u.value=x.connectToNamespace("/logs"),(n=u.value)==null||n.socket.on("stdout",l=>{var w;(w=c.value)==null||w.writeTerminal(l)}),(e=u.value)==null||e.socket.on("disconnect",()=>{var l;(l=c.value)==null||l.writeTerminal(`\r
2
- Websocket failed to connect! Is the server running?\r
3
- \r
4
- `)}),(s=u.value)==null||s.socket.on("clear-log",()=>{var l;(l=c.value)==null||l.clearTerminal()}),(i=u.value)==null||i.socket.emit("get-all-logs")}),G(()=>{var n,e;(e=(n=u.value)==null?void 0:n.end)==null||e.call(n)}),(n,e)=>{const s=P;return j(),H("main",mo,[t(so,{ref_key:"consoleRef",ref:c,class:"text-editor",options:o(V)},null,8,["options"]),S("div",{class:"text-editor-buttons flex flex-col",style:J({bottom:o(L)&&o(r).interface.showBottomBarOnMobile?`calc(1rem + ${o(E).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"calc(1rem + env(safe-area-inset-bottom, 0px))"})},[t(io,null,{default:a(()=>[W(t(y,{icon:"",class:"mb-1 hover-box",onClick:e[0]||(e[0]=i=>{var l;return(l=o(c))==null?void 0:l.scrollToBottom()})},{default:a(()=>[t(p,{size:"20"},{default:a(()=>[d(m(o(X)),1)]),_:1})]),_:1},512),[[Z,o(c)&&!o(c).atBottom]])]),_:1}),t(co,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:a(({props:i})=>[t(ro,q(i,{size:"default",icon:"",style:{height:"48px !important"},class:"hover-box"}),{default:a(()=>[t(p,{size:"20"},{default:a(()=>[d(m(o(ao)),1)]),_:1})]),_:2},1040)]),default:a(()=>[t(y,{key:"1",loading:o(v),color:"success",icon:"",onClick:_(D,["prevent"])},{default:a(()=>[t(p,{size:"20"},{default:a(()=>[d(m(o(Y)),1)]),_:1})]),_:1},8,["loading"]),t(y,{key:"2",loading:o(v),color:"red",icon:"",onClick:e[1]||(e[1]=_(i=>g.value=!0,["prevent"]))},{default:a(()=>[t(p,{size:"20"},{default:a(()=>[d(m(o(oo)),1)]),_:1})]),_:1},8,["loading"]),t(y,{key:"3",loading:o(v),icon:"",disabled:o(r).console.zoom===20,onClick:_(O,["prevent"])},{default:a(()=>[t(p,{size:"20"},{default:a(()=>[d(m(o(eo)),1)]),_:1})]),_:1},8,["loading","disabled"]),t(y,{key:"4",loading:o(v),disabled:o(r).console.zoom===8,icon:"",onClick:_(R,["prevent"])},{default:a(()=>[t(p,{size:"20"},{default:a(()=>[d(m(o(to)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),t(s,{modelValue:o(g),"onUpdate:modelValue":e[2]||(e[2]=i=>K(g)?g.value=i:null),title:n.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.clear",loading:o(v),onConfirm:e[3]||(e[3]=i=>h())},{content:a(()=>[S("span",null,m(n.$t("components.dialog.message.confirm_clear_log")),1)]),_:1},8,["modelValue","title","loading"])])}}}),Go=U(uo,[["__scopeId","data-v-25fca646"]]);export{Go as default};
@@ -1 +0,0 @@
1
- import{u as ke,a as $e,b as Se,i as Ve,c as Ce,g as se,_ as Fe,r as Ie,d as Le,e as je,f as Be}from"./main.BBe3SGhH.0.0.49.js";import{G as Me,r as p,F as Re,c as R,w as oe,b as f,d as W,f as a,u as t,aa as U,p as v,k as z,a9 as d,Q as Ue,ad as ze,g as De,P as l,ab as m,i as V,a7 as C,m as F}from"./@vue.DeX8WChi.0.0.49.js";import{m as ae,a as le}from"./@mdi.CbjpODVZ.0.0.49.js";import{F as w,a as Ee}from"./vee-validate.8pUAwQ7T.0.0.49.js";import{I as re}from"./vue-inline-svg.ZWpe_tFT.0.0.49.js";import{i as ne}from"./vue3-toastify.JJyrPHKk.0.0.49.js";import{r as Ne}from"./backup.DO02r0Uq.0.0.49.js";import{r as Oe}from"./system.D_LabhBl.0.0.49.js";import{a as Pe}from"./vue-router.DvFvaoP2.0.0.49.js";import{s as G}from"./pinia.ggULzsrQ.0.0.49.js";import{b as _,x as Ae,y as D,z as ie,d as Q,c as H,A as de}from"./vuetify.kkqUjVJA.0.0.49.js";import"./vue-i18n.CBqdKRmG.0.0.49.js";import"./@intlify.Do1-T-x0.0.0.49.js";import"./axios.DIsA03vz.0.0.49.js";import"./@tanstack.CgZ4BVuY.0.0.49.js";import"./@vueuse.fmA4o7MO.0.0.49.js";import"./nprogress.DkWvUoHh.0.0.49.js";import"./@xterm.D6R4zI7m.0.0.49.js";import"./@vee-validate.DHkwupr6.0.0.49.js";import"./zod.bkdEMpUp.0.0.49.js";import"./uuid.Ch9TGLTe.0.0.49.js";import"./socket.io-client.DkEQDv7C.0.0.49.js";import"./engine.io-client.BkCVneko.0.0.49.js";import"./engine.io-parser.BiEtp6m2.0.0.49.js";import"./@socket.io.Dkula2eQ.0.0.49.js";import"./socket.io-parser.DIURoCw8.0.0.49.js";import"./rxjs.BoFuGUYG.0.0.49.js";import"./tslib.9k7AwCpt.0.0.49.js";import"./perfect-debounce.Cp2ysxOb.0.0.49.js";import"./hookable.B8xFkYCm.0.0.49.js";const Te={class:"w-full h-full"},qe={class:"firststeps-progress flex flex-col items-center p-5 w-full pt-safe"},Je={class:"firststeps-progress-inner flex flex-col h-full w-full justify-center"},Ke={class:"flex flex-row items-center"},We={class:"firststeps-progress-title mt-3"},Ge={class:"firststeps-progress-text mt-1"},Qe={class:"flex flex-row gap-2 mt-3 mb-3"},He={class:"firststeps flex flex-col items-center p-5 w-full hide-scrollbar"},Xe={class:"w-full flex flex-col justify-center items-center mt-10"},Ye={class:"text-disabled"},Ze={class:"flex flex-row items-center justify-center"},et={class:"text-center mt-10 firststeps-info"},tt={class:"flex flex-row items-center justify-center mt-10"},st={class:"relative"},ot={for:"theme",class:"v-label"},at={class:"ml-auto flex"},lt={class:"relative"},rt={for:"language",class:"v-label"},nt={class:"flex flex-row relative"},it={class:"w-100 mr-5"},dt={for:"username",class:"v-label"},mt={class:"image-upload ml-auto mt-3"},ut={for:"file-input"},pt={class:"relative mt-5"},ct={for:"password",class:"v-label"},ft={class:"relative"},vt={for:"password",class:"v-label"},gt={class:"ml-auto flex"},bt={class:"ml-auto flex"},ht={class:"w-full flex flex-col justify-center items-center mt-10"},wt={class:"text-center mt-10 firststeps-info"},_t=Me({__name:"FirstSteps",setup(yt){const I=ke(),me=$e(),ue=Se(),pe=Pe(),{t:y}=Ve.global,{loginLoading:X}=G(I),{locale:E,languages:ce}=G(ue),{colors:fe,theme:N,autoMode:L}=G(me),u=p(0),Y=p(),O=p(),j=p(!1),B=p(!1),g=p(),Z=p(!1),x=p(!1),k=p(!1),M=p(0),P=p(0),$=p(!1),S=p(!1),A=p(),ee=p(),b=Re([{title:y("views.firststeps.step_appearance")},{title:y("views.firststeps.step_account")},{title:y("views.firststeps.step_finish")}]),h=R(()=>S.value||X.value),ve=R(()=>Math.round((u.value+1)/b.length*100)),T=R(()=>u.value===b.length-1),q=R(()=>Ce(void 0,"admin"));oe(q,s=>{s?(b.unshift({title:y("views.firststeps.step_welcome")}),M.value=0,P.value=1):(b.shift(),M.value=1,P.value=0)},{immediate:!0}),oe(u,s=>{s===M.value&&(Z.value=!1)});const ge=()=>{var s;(s=ee.value)==null||s.click()},be=s=>{const e=s.target;e.files&&e.files[0]&&(A.value=e.files[0],$.value=!0),e.value=""},he=async s=>{var n;const e=(n=s.target)==null?void 0:n.files;O.value=e==null?void 0:e[0],Y.value=await Ie(s)},we=async()=>{var s,e;try{await I.logout()}catch(n){console.error(((e=(s=n.response)==null?void 0:s.data)==null?void 0:e.message)??n.message??n)}},J=async()=>{var s,e,n,c,o;if(u.value>P.value){const r=(s=g.value)==null?void 0:s.getValues();if(r){if(!r.password||!r.passwordConfirm){(e=g.value)==null||e.setFieldError("password","Required"),(n=g.value)==null||n.setFieldError("passwordConfirm","Required");return}if(!r.username){(c=g.value)==null||c.setFieldError("username","Required");return}}const i=await((o=g.value)==null?void 0:o.validate());i!=null&&i.valid&&!T.value?u.value++:i!=null&&i.valid||console.error("result",i)}else u.value++},_e=async s=>{var e,n;if(Z.value=!0,T.value){let c;const o={...s};o.oneLogin=x.value,o.rememberMe=k.value,o.firstLogin=!1,delete o.upload;try{X.value=!0,O.value&&(c=new FormData,c.append("upload",O.value)),await I.updateUser(o,c,!0),pe.push({path:"/cameras"})}catch(r){console.error(((n=(e=r.response)==null?void 0:e.data)==null?void 0:n.message)??r.message??r)}}},te=()=>{u.value>M.value&&u.value--},ye=async()=>{var s,e,n,c;if(S.value=!0,!A.value){S.value=!1;return}try{const o=new FormData;o.append("upload",A.value);const r=await Ne(o);xe(r),ne.success(y("components.toast.backup_restored")),Oe(),I.logout()}catch(o){console.error(((e=(s=o.response)==null?void 0:s.data)==null?void 0:e.message)??o.message??o),ne.error(((c=(n=o.response)==null?void 0:n.data)==null?void 0:c.message)??o.message??o),$.value=!1,S.value=!1}},xe=s=>{s.theme&&localStorage.setItem("theme",JSON.stringify(s.theme)),s.locale&&localStorage.setItem("locale",s.locale),s.ui&&localStorage.setItem("ui",JSON.stringify(s.ui))};return(s,e)=>{const n=Fe,c=je;return f(),W("main",Te,[a("div",qe,[a("div",Je,[a("div",Ke,[t(u)>0?(f(),U(_,{key:0,density:"compact",class:"firststeps-button no-drag",variant:"tonal",color:"tonal",text:s.$t("components.form.button.previous"),loading:t(h),onClick:e[0]||(e[0]=v(o=>te(),["prevent"]))},null,8,["text","loading"])):z("",!0),t(u)===0?(f(),U(_,{key:1,density:"compact",class:"firststeps-button no-drag",variant:"tonal",color:"white",text:s.$t("components.form.button.logout"),loading:t(h),onClick:e[1]||(e[1]=v(o=>we(),["prevent"]))},null,8,["text","loading"])):z("",!0),!t(T)&&t(u)!==0&&t(q)?(f(),U(_,{key:2,density:"compact",class:"firststeps-button ml-auto no-drag",variant:"tonal",color:"white",text:s.$t("components.form.button.next"),loading:t(h),onClick:e[2]||(e[2]=v(o=>J(),["prevent"]))},null,8,["text","loading"])):z("",!0)]),a("h1",We,d(t(b)[t(u)].title),1),a("h1",Ge,[a("b",null,d(t(ve))+"%",1),a("span",null,d(s.$t("views.firststeps.complete")),1)]),a("div",Qe,[(f(!0),W(Ue,null,ze(t(b),(o,r)=>(f(),W("div",{key:r,class:De(["firststeps-step-bar",{"firststeps-step-bar-active":t(u)===r}])},null,2))),128))])])]),a("div",He,[l(t(Ee),{ref_key:"userForm",ref:g,class:"firststeps-form flex flex-col h-full w-full pb-safe","validation-schema":t(Le),onSubmit:e[13]||(e[13]=o=>_e(o))},{default:m(()=>[l(Ae,{modelValue:t(u),"onUpdate:modelValue":e[12]||(e[12]=o=>V(u)?u.value=o:null),class:"window",touch:{left:J,right:te}},{default:m(()=>[t(q)?(f(),U(D,{key:0,value:0,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[a("div",Xe,[a("span",Ye,d(s.$t("views.firststeps.welcome_to")),1),a("div",Ze,[e[16]||(e[16]=a("span",{class:"text-4xl font"},"camera.",-1)),l(t(re),{src:t(se)("logo_animated.svg"),width:"26px",height:"32px",title:"camera.ui","aria-label":"camera.ui"},null,8,["src"])]),a("p",et,d(s.$t("views.firststeps.start_message")),1),a("div",tt,[l(_,{class:"text-white mr-4",type:"submit",elevation:"1",color:"#df2a4c",loading:t(h),onClick:e[3]||(e[3]=v(o=>J(),["prevent"]))},{default:m(()=>[C(d(s.$t("views.firststeps.new_installation")),1)]),_:1},8,["loading"]),l(_,{class:"text-white",type:"submit",elevation:"1",color:"var(--gray)",loading:t(h),onClick:v(ge,["prevent"])},{default:m(()=>[C(d(s.$t("views.firststeps.from_backup")),1)]),_:1},8,["loading"])]),a("input",{ref_key:"backupFileInput",ref:ee,type:"file",accept:"application/gzip, .tar, .tar.gz",class:"hidden",style:{display:"none"},onChange:be},null,544)])]),_:1})):z("",!0),l(D,{value:1,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[a("div",st,[a("label",ot,d(s.$t("components.form.label.theme")),1),l(ie,{modelValue:t(N),"onUpdate:modelValue":e[4]||(e[4]=o=>V(N)?N.value=o:null),variant:"outlined",name:"theme","hide-details":"",density:"compact",items:t(fe),disabled:t(L),onKeydown:v(()=>null,["prevent"])},null,8,["modelValue","items","disabled"])]),e[17]||(e[17]=a("div",{class:"py-2"},null,-1)),a("div",null,[a("div",at,[l(Q,{modelValue:t(L),"onUpdate:modelValue":e[5]||(e[5]=o=>V(L)?L.value=o:null),color:"#df2a4c",type:"checkbox",label:s.$t("components.form.label.system_preference"),"hide-details":""},null,8,["modelValue","label"])])]),e[18]||(e[18]=a("div",{class:"py-3"},null,-1)),a("div",lt,[a("label",rt,d(s.$t("components.form.label.language")),1),l(ie,{modelValue:t(E),"onUpdate:modelValue":e[6]||(e[6]=o=>V(E)?E.value=o:null),variant:"outlined",name:"language","hide-details":"",density:"compact",items:t(ce),onKeydown:v(()=>null,["prevent"])},null,8,["modelValue","items"])])]),_:1}),l(D,{value:2,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[a("div",nt,[a("div",it,[a("label",dt,d(s.$t("components.form.label.username")),1),l(t(w),{name:"username"},{default:m(({field:o,errorMessage:r,errors:i})=>[l(H,F({name:"username",variant:"outlined",density:"compact"},o,{type:"text",error:i.length>0,"error-messages":r}),null,16,["error","error-messages"])]),_:1})]),a("div",mt,[a("label",ut,[l(n,{src:t(Y),size:"4rem",style:{"border-radius":"4rem",border:"1px solid var(--border)"}},null,8,["src"]),l(t(w),{id:"file-input",type:"file",name:"upload",accept:"image/png,image/jpeg,image/jpg",onChange:e[7]||(e[7]=o=>he(o))})])])]),a("div",pt,[a("label",ct,d(s.$t("components.form.label.new_password")),1),l(t(w),{name:"password"},{default:m(({field:o,errorMessage:r,errors:i})=>[l(H,F({variant:"outlined"},o,{name:"password",type:t(j)?"text":"password",error:i.length>0,"error-messages":r,density:"compact","append-inner-icon":t(j)?t(ae):t(le),"onClick:appendInner":e[8]||(e[8]=K=>j.value=!t(j))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1})]),a("div",ft,[a("label",vt,d(s.$t("components.form.label.new_password_confirm")),1),l(t(w),{name:"passwordConfirm"},{default:m(({field:o,errorMessage:r,errors:i})=>[l(H,F({variant:"outlined"},o,{name:"passwordConfirm",type:t(B)?"text":"password",error:i.length>0,"error-messages":r,density:"compact","append-inner-icon":t(B)?t(ae):t(le),"onClick:appendInner":e[9]||(e[9]=K=>B.value=!t(B))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1})]),a("div",null,[a("div",gt,[l(t(w),{"model-value":t(x),name:"oneLogin",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:m(({field:o,errorMessage:r,errors:i})=>[l(Q,F({"model-value":t(x)},o,{name:"oneLogin",color:"#df2a4c",type:"checkbox",error:i.length>0,"error-messages":r,label:s.$t("components.form.label.one_login"),"hide-details":"",onChange:e[10]||(e[10]=K=>x.value=!t(x))}),null,16,["model-value","error","error-messages","label"])]),_:1},8,["model-value"])]),l(de,{theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:m(()=>[C(d(s.$t("components.form.hint.one_login")),1)]),_:1})]),e[19]||(e[19]=a("div",{class:"py-3"},null,-1)),a("div",null,[a("div",bt,[l(t(w),{"model-value":t(k),name:"rememberMe",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:m(({field:o,errorMessage:r,errors:i})=>[l(Q,F({"model-value":t(k),name:"rememberMe"},o,{color:"#df2a4c",type:"checkbox",error:i.length>0,"error-messages":r,label:s.$t("components.form.label.remember_me"),"hide-details":"",onChange:e[11]||(e[11]=K=>k.value=!t(k))}),null,16,["model-value","error","error-messages","label"])]),_:1},8,["model-value"])]),l(de,{theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:m(()=>[C(d(s.$t("components.form.hint.remember_me")),1)]),_:1})])]),_:1}),l(D,{value:3,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:m(()=>[a("div",ht,[l(t(re),{src:t(se)("logo_animated.svg"),width:"78px",height:"84px",title:"camera.ui","aria-label":"camera.ui"},null,8,["src"]),a("p",wt,d(s.$t("views.firststeps.finish_message")),1),l(_,{class:"mt-7 text-white",type:"submit",elevation:"1",color:"#df2a4c",loading:t(h)},{default:m(()=>[C(d(s.$t("views.firststeps.enjoy")),1)]),_:1},8,["loading"])])]),_:1})]),_:1},8,["modelValue","touch"])]),_:1},8,["validation-schema"])]),l(c,{modelValue:t($),"onUpdate:modelValue":e[14]||(e[14]=o=>V($)?$.value=o:null),title:s.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.restore_and_restart",loading:t(S),onConfirm:e[15]||(e[15]=o=>ye())},{content:m(()=>[a("span",null,d(s.$t("components.dialog.message.confirm_restore")),1)]),_:1},8,["modelValue","title","loading"])])}}}),Yt=Be(_t,[["__scopeId","data-v-78757378"]]);export{Yt as default};