@camera.ui/server 0.0.10 → 0.0.11-alpha.2

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 (187) hide show
  1. package/dist/interface/assets/@mdi-B8Roxr1z.js +1 -0
  2. package/dist/interface/assets/{@tanstack-B-9PO-kT.js → @tanstack-BvYNCsQh.js} +1 -1
  3. package/dist/interface/assets/{@vee-validate-D_G0ehOl.js → @vee-validate-BY5H7fGS.js} +1 -1
  4. package/dist/interface/assets/@vue-DMh6qW6s.js +17 -0
  5. package/dist/interface/assets/{@vueform-Bj73kRPS.js → @vueform-B62o9zLe.js} +1 -1
  6. package/dist/interface/assets/@vueuse-D76s02Ot.js +1 -0
  7. package/dist/interface/assets/Account-DfRAVlQX.js +1 -0
  8. package/dist/interface/assets/Account-DlOUWknb.css +1 -0
  9. package/dist/interface/assets/Adminpanel-CLrlTEb1.js +2 -0
  10. package/dist/interface/assets/Adminpanel-Cp92VRfz.css +1 -0
  11. package/dist/interface/assets/Appearance-CKhkKhrK.js +1 -0
  12. package/dist/interface/assets/Backup-Dqeqiulf.js +1 -0
  13. package/dist/interface/assets/{Camera-BOu5dUel.js → Camera-_bMRlyKl.js} +1 -1
  14. package/dist/interface/assets/{Cameras-C7eUXdZk.js → Cameras-0W-4S92q.js} +1 -1
  15. package/dist/interface/assets/Cameras-Du4Q1fbV.css +1 -0
  16. package/dist/interface/assets/{Camview-CEgwGCGR.js → Camview-Bv3STCHT.js} +1 -1
  17. package/dist/interface/assets/{Config-Dt-etQ3h.js → Config-pNcWHwGl.js} +1 -1
  18. package/dist/interface/assets/{Console-FCve5CKy.js → Console-D6eztjlH.js} +1 -1
  19. package/dist/interface/assets/FirstSteps-C-08k14n.js +1 -0
  20. package/dist/interface/assets/FirstSteps-CGEDVu4n.css +1 -0
  21. package/dist/interface/assets/{NewCamera-Cc1X79Ns.js → NewCamera-Dmj8qmGV.js} +2 -2
  22. package/dist/interface/assets/{Plugin-CnQjafMC.js → Plugin-0komMxsg.js} +1 -1
  23. package/dist/interface/assets/{Plugins-CwyUdMlv.js → Plugins-CpbWh_pN.js} +1 -1
  24. package/dist/interface/assets/Recordings-BBllGLr3.js +1 -0
  25. package/dist/interface/assets/Recordings-BHGIQ_1S.js +1 -0
  26. package/dist/interface/assets/Settings-DuUlAjQP.js +1 -0
  27. package/dist/interface/assets/System-CNh-XpD0.css +1 -0
  28. package/dist/interface/assets/System-Dp3-TN7J.js +4 -0
  29. package/dist/interface/assets/User-CmrrYaqq.js +1 -0
  30. package/dist/interface/assets/User-DBVny1Dv.css +1 -0
  31. package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-aMMzP49H.js +2 -0
  32. package/dist/interface/assets/{VConsole-BHy92Ws0.js → VConsole-WHOBQIsm.js} +1 -1
  33. package/dist/interface/assets/{VPlayer-D3KhRfx-.css → VPlayer-DJjwfULk.css} +1 -1
  34. package/dist/interface/assets/VPlayer-YzfFbh8e.js +1 -0
  35. package/dist/interface/assets/VPluginCard-BoeWmehD.css +1 -0
  36. package/dist/interface/assets/VPluginCard-CKMpjvL9.js +4 -0
  37. package/dist/interface/assets/compare-versions-DqEOhma6.js +1 -0
  38. package/dist/interface/assets/main-2jkpYOC_.css +1 -0
  39. package/dist/interface/assets/main-D1X9SzzX.js +9 -0
  40. package/dist/interface/assets/{pinia-CitQ5b66.js → pinia-BQbsPkIS.js} +1 -1
  41. package/dist/interface/assets/{plugins-D80RNVmI.js → plugins-BKEnSy-B.js} +1 -1
  42. package/dist/interface/assets/{rxjs-B53o3e_J.js → rxjs-CQrF441D.js} +1 -1
  43. package/dist/interface/assets/system-BTruCO3L.js +1 -0
  44. package/dist/interface/assets/{ui-CHKoHLl-.js → ui-CyEgSsGE.js} +1 -1
  45. package/dist/interface/assets/{v-calendar-C-8W4FeM.js → v-calendar-CVkp7hgG.js} +1 -1
  46. package/dist/interface/assets/{vee-validate-Ck3I2guh.js → vee-validate-9vrYaQFq.js} +1 -1
  47. package/dist/interface/assets/{vue-i18n-DuCDz9TJ.js → vue-i18n-DqKZtX1N.js} +1 -1
  48. package/dist/interface/assets/{vue-inline-svg-C2gR6nRD.js → vue-inline-svg-D1BV6A5r.js} +1 -1
  49. package/dist/interface/assets/{vue-router-OPGDMnws.js → vue-router-Bje-Muh5.js} +1 -1
  50. package/dist/interface/assets/vue3-apexcharts-B8Nznyy3.js +703 -0
  51. package/dist/interface/assets/{vue3-dnd-Hf295yge.js → vue3-dnd-CvPSCHQb.js} +1 -1
  52. package/dist/interface/assets/{vue3-toastify-DQr2dOCx.js → vue3-toastify-D8Ru9hkX.js} +1 -1
  53. package/dist/interface/assets/{vuetify-B__3Y-at.css → vuetify-CoMF_JkX.css} +2 -2
  54. package/dist/interface/assets/vuetify-DYU2dOLI.js +5 -0
  55. package/dist/interface/index.html +17 -17
  56. package/dist/interface/pwa/pwa-120x120.png +0 -0
  57. package/dist/interface/pwa/pwa-144x144.png +0 -0
  58. package/dist/interface/pwa/pwa-152x152.png +0 -0
  59. package/dist/interface/pwa/pwa-167x167.png +0 -0
  60. package/dist/interface/pwa/pwa-192x192.png +0 -0
  61. package/dist/interface/pwa/pwa-24x24.png +0 -0
  62. package/dist/interface/pwa/pwa-36x36.png +0 -0
  63. package/dist/interface/pwa/pwa-48x48.png +0 -0
  64. package/dist/interface/pwa/pwa-50x50.png +0 -0
  65. package/dist/interface/pwa/pwa-64x64.png +0 -0
  66. package/dist/interface/pwa/pwa-72x72.png +0 -0
  67. package/dist/interface/pwa/pwa-88x88.png +0 -0
  68. package/dist/interface/pwa/pwa-96x96.png +0 -0
  69. package/dist/interface/sw.js +1 -1
  70. package/dist/server/bin/cui-service.js +4 -8
  71. package/dist/server/bin/cui-service.js.map +1 -1
  72. package/dist/server/package.json +3 -3
  73. package/dist/server/requirements.txt +1 -1
  74. package/dist/server/src/api/controllers/api.controller.d.ts +1 -0
  75. package/dist/server/src/api/controllers/api.controller.js +3 -0
  76. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  77. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -1
  78. package/dist/server/src/api/controllers/cameras.controller.js +27 -0
  79. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/plugins.controller.d.ts +1 -0
  81. package/dist/server/src/api/controllers/plugins.controller.js +41 -23
  82. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  83. package/dist/server/src/api/controllers/system.controller.d.ts +3 -0
  84. package/dist/server/src/api/controllers/system.controller.js +39 -0
  85. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  86. package/dist/server/src/api/controllers/users.controller.js +21 -2
  87. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  88. package/dist/server/src/api/database/types.d.ts +6 -6
  89. package/dist/server/src/api/index.js +8 -12
  90. package/dist/server/src/api/index.js.map +1 -1
  91. package/dist/server/src/api/routes/api.routes.js +1 -0
  92. package/dist/server/src/api/routes/api.routes.js.map +1 -1
  93. package/dist/server/src/api/routes/cameras.routes.js +19 -1
  94. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  95. package/dist/server/src/api/routes/system.routes.js +24 -0
  96. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  97. package/dist/server/src/api/schemas/cameras.schema.d.ts +61 -54
  98. package/dist/server/src/api/schemas/cameras.schema.js +7 -6
  99. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  100. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  101. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  102. package/dist/server/src/api/schemas/users.schema.d.ts +5 -0
  103. package/dist/server/src/api/schemas/users.schema.js +2 -1
  104. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  105. package/dist/server/src/api/types/index.d.ts +12 -2
  106. package/dist/server/src/api/types/index.js.map +1 -1
  107. package/dist/server/src/api/websocket/nsp/metrics.d.ts +4 -22
  108. package/dist/server/src/api/websocket/nsp/metrics.js +74 -214
  109. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  110. package/dist/server/src/api/websocket/nsp/status.d.ts +4 -15
  111. package/dist/server/src/api/websocket/nsp/status.js +10 -16
  112. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  113. package/dist/server/src/api/websocket/types.d.ts +25 -64
  114. package/dist/server/src/decoder/worker.d.ts +1 -2
  115. package/dist/server/src/decoder/worker.js +5 -11
  116. package/dist/server/src/decoder/worker.js.map +1 -1
  117. package/dist/server/src/go2rtc/index.js +4 -6
  118. package/dist/server/src/go2rtc/index.js.map +1 -1
  119. package/dist/server/src/index.d.ts +2 -2
  120. package/dist/server/src/index.js.map +1 -1
  121. package/dist/server/src/nats/index.d.ts +1 -1
  122. package/dist/server/src/nats/index.js +3 -3
  123. package/dist/server/src/nats/index.js.map +1 -1
  124. package/dist/server/src/nats/proxy/cameraDevice.d.ts +1 -1
  125. package/dist/server/src/nats/proxy/cameraDevice.js +1 -1
  126. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  127. package/dist/server/src/nats/proxy/deviceManager.d.ts +1 -1
  128. package/dist/server/src/nats/proxy/deviceManager.js +1 -1
  129. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  130. package/dist/server/src/nats/server.js +4 -6
  131. package/dist/server/src/nats/server.js.map +1 -1
  132. package/dist/server/src/nats/websocket.js +2 -2
  133. package/dist/server/src/nats/websocket.js.map +1 -1
  134. package/dist/server/src/plugins/types.d.ts +10 -41
  135. package/dist/server/src/plugins/worker.js +4 -7
  136. package/dist/server/src/plugins/worker.js.map +1 -1
  137. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +9 -10
  138. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +51 -55
  139. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +1 -1
  140. package/dist/server/src/polyglot/node/plugins/child.js +18 -4
  141. package/dist/server/src/polyglot/node/plugins/child.js.map +1 -1
  142. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +18 -4
  143. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +1 -1
  144. package/dist/server/src/polyglot/node/plugins/schema.d.ts +22 -9
  145. package/dist/server/src/polyglot/node/plugins/schema.js +22 -2
  146. package/dist/server/src/polyglot/node/plugins/schema.js.map +1 -1
  147. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +3 -3
  148. package/dist/server/src/polyglot/node/plugins/storageController.js.map +1 -1
  149. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +59 -93
  150. package/dist/server/src/polyglot/python/plugins/camera_storage.py +75 -80
  151. package/dist/server/src/polyglot/python/plugins/child.py +12 -4
  152. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  153. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +12 -4
  154. package/dist/server/src/polyglot/python/plugins/schema.py +19 -230
  155. package/dist/server/src/polyglot/python/plugins/storage_controller.py +2 -2
  156. package/dist/server/src/services/config/index.d.ts +3 -3
  157. package/dist/server/src/services/config/index.js +18 -4
  158. package/dist/server/src/services/config/index.js.map +1 -1
  159. package/dist/server/src/services/config/types.d.ts +1 -1
  160. package/package.json +3 -3
  161. package/dist/interface/assets/@mdi-C-QA1nE3.js +0 -1
  162. package/dist/interface/assets/@vue-C10tA4b9.js +0 -17
  163. package/dist/interface/assets/@vueuse-BPeqNGoM.js +0 -1
  164. package/dist/interface/assets/Account-B_tHnXoX.css +0 -1
  165. package/dist/interface/assets/Account-MEaGtu1D.js +0 -1
  166. package/dist/interface/assets/Adminpanel-B_SY1GJM.css +0 -0
  167. package/dist/interface/assets/Adminpanel-D1ycltxf.js +0 -1
  168. package/dist/interface/assets/Appearance-Jlzp_P21.js +0 -1
  169. package/dist/interface/assets/Backup-1-ju9NDo.js +0 -1
  170. package/dist/interface/assets/Cameras-tmTzi1M6.css +0 -1
  171. package/dist/interface/assets/FirstSteps-DLkKDSe9.js +0 -1
  172. package/dist/interface/assets/FirstSteps-DNHhyDSw.css +0 -1
  173. package/dist/interface/assets/Recordings-Boeev1lV.js +0 -1
  174. package/dist/interface/assets/Recordings-D5ta7AYS.js +0 -1
  175. package/dist/interface/assets/Settings-Cvm2jnBr.js +0 -1
  176. package/dist/interface/assets/System-fHQ7XKri.js +0 -1
  177. package/dist/interface/assets/User-5o1VKizc.js +0 -1
  178. package/dist/interface/assets/User-BXColIbU.css +0 -1
  179. package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-C_95ELTZ.js +0 -2
  180. package/dist/interface/assets/VPlayer-LX5HGLrY.js +0 -1
  181. package/dist/interface/assets/VPluginCard-CFpg0LM4.js +0 -4
  182. package/dist/interface/assets/VPluginCard-Fl0AYmnF.css +0 -1
  183. package/dist/interface/assets/main-BCWSiwnj.js +0 -9
  184. package/dist/interface/assets/main-CQNVVncO.css +0 -1
  185. package/dist/interface/assets/system-CS_ZOs3_.js +0 -1
  186. package/dist/interface/assets/vuetify-CrcT8VHB.js +0 -5
  187. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
@@ -1 +1 @@
1
- var ie=Object.defineProperty;var re=(n,t,o)=>t in n?ie(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o;var R=(n,t,o)=>re(n,typeof t!="symbol"?t+"":t,o);import{i as Q,x as C,a as ce,f as le,y as ue,w as me,B as fe,d as de}from"./main-BCWSiwnj.js";import{_ as ge}from"./VConfigEditor.vue_vue_type_script_setup_true_lang-C_95ELTZ.js";import{r as l,u as e,F as pe,c as K,w as O,y as ye,e as c,f as j,O as g,M as s,l as Ce,ac as ve,j as F,X as _e,R as a,aq as he,i as G,m as we,V as p,T as f,q as V,g as P,v as U}from"./@vue-C10tA4b9.js";import{G as be,F as Qe,$ as Ve,J as qe,I as xe}from"./@mdi-C-QA1nE3.js";import{i as q}from"./vue3-toastify-DQr2dOCx.js";import{u as ke,a as E,b as x}from"./@tanstack-B-9PO-kT.js";import{r as ze}from"./system-CS_ZOs3_.js";import{u as Se}from"./ui-CHKoHLl-.js";import{s as Re}from"./utils-BvINh1mj.js";import{s as N}from"./pinia-CitQ5b66.js";import{P as Fe,Q as Ge,e as y,b as k}from"./vuetify-CrcT8VHB.js";import"./vue-inline-svg-C2gR6nRD.js";import"./vue-i18n-DuCDz9TJ.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./vue-router-OPGDMnws.js";import"./@vueuse-BPeqNGoM.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vee-validate-Ck3I2guh.js";import"./@vee-validate-D_G0ehOl.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-B53o3e_J.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-C-8W4FeM.js";import"./@popperjs-BQBsAJpH.js";import"./ace-builds-CigWTak4.js";const Ae=async({json:n,signal:t})=>(await C.get("/config",{params:{json:n},signal:t})).data,Le=async({json:n,signal:t})=>(await C.get("/config/go2rtc",{params:{json:n},signal:t})).data,Me=async({configData:n})=>(await C.patch("/config",n,{headers:{"Content-Type":"text/yaml"}})).data,Te=async({configData:n})=>(await C.patch("/config/go2rtc",n,{headers:{"Content-Type":"text/yaml"}})).data,Be=async()=>(await C.delete("/config")).data,De=async()=>(await C.delete("/config/go2rtc")).data;class $e{constructor(){R(this,"_queryClient",ke());R(this,"queryActivator",l([{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})=>Ae({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})=>Le({json:e(t),signal:o}),enabled:()=>this.queryActivator.value.some(o=>o.name==="getGo2RtcConfigQuery"&&o.enabled)})}patchConfigQuery(){return x({mutationFn:Me,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),q.success(Q.global.t("components.toast.config_updated"))}})}patchGo2RtcConfigQuery(){return x({mutationFn:Te,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),q.success(Q.global.t("components.toast.config_go2rtc_updated"))}})}delteConfigQuery(){return x({mutationFn:Be,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),q.success(Q.global.t("components.toast.config_deleted"))}})}delteGo2RtcConfigQuery(){return x({mutationFn:De,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),q.success(Q.global.t("components.toast.config_go2rtc_deleted"))}})}toggleQueryActivator(t,o){const b=this.queryActivator.value.find(z=>z.name===t);b&&(b.enabled=o)}}const Ie={style:{padding:"0 !important"}},Ke={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},Oe={class:"h-full w-full"},je=pe({__name:"Config",setup(n){const t=new $e,o=ce(),b=Se(),{extraSmallMobileActive:z}=le(),{theme:A}=N(o),{uiSettings:u}=N(b),d=l("camera.ui"),v=l(""),_=l(""),L=l(!1),S=l(!1),M=l(!1),h=l(!1),T=K(()=>({fontSize:u.value.config.zoom})),{data:B,isLoading:H}=t.getConfigQuery(L),{data:D,isLoading:J}=t.getGo2RtcConfigQuery(L),{mutateAsync:X,isPending:Z}=t.patchConfigQuery(),{mutateAsync:W,isPending:Y}=t.patchGo2RtcConfigQuery(),m=K(()=>H.value||J.value||Z.value||Y.value);O(B,()=>{v.value=B.value||""},{deep:!0,immediate:!0}),O(D,()=>{_.value=D.value||""},{deep:!0,immediate:!0});const $=async w=>{d.value==="camera.ui"?(await X({configData:v.value}),w&&(M.value=!0,ze())):await W({configData:_.value}),w||(h.value=!1)},ee=()=>{d.value=d.value==="camera.ui"?"go2rtc":"camera.ui"},te=()=>{u.value.config.zoom!==8&&u.value.config.zoom--},oe=()=>{u.value.config.zoom!==20&&u.value.config.zoom++};return ye(async()=>{await Re(100),S.value=!0}),(w,i)=>{const ne=ue,I=ge,ae=me;return c(),j("main",Ie,[(c(),g(ve,{to:".app"},[e(M)?(c(),j("div",Ke,[s(ne,{reload:""})])):Ce("",!0)])),F("div",Oe,[F("div",{class:"text-editor-buttons flex flex-row justify-center",style:_e(e(z)?`bottom: calc(1rem + ${e(fe).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"bottom: calc(1rem + env(safe-area-inset-bottom, 0px))")},[s(Fe,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:a(({props:r,isActive:se})=>[s(Ge,we(r,{size:"default",icon:""}),{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(se?e(be):e(Qe)),1)]),_:2},1024)]),_:2},1040)]),default:a(()=>[s(k,{key:"1",loading:e(m),color:"success",icon:"",onClick:i[0]||(i[0]=V(r=>e(d)==="go2rtc"?$(!1):h.value=!0,["prevent"]))},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(Ve)),1)]),_:1})]),_:1},8,["loading"]),s(k,{key:"2",loading:e(m),color:"#df2a4c",icon:"",onClick:V(ee,["prevent"])},{default:a(()=>[e(d)==="camera.ui"?(c(),g(y,{key:0,size:"20"},{default:a(()=>[p(f("$cuiLogo"))]),_:1})):(c(),g(y,{key:1,size:"30"},{default:a(()=>[p(f("$cuiGo2rtc"))]),_:1}))]),_:1},8,["loading"]),s(k,{key:"3",loading:e(m),icon:"",disabled:e(u).config.zoom===20,onClick:V(oe,["prevent"])},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(qe)),1)]),_:1})]),_:1},8,["loading","disabled"]),s(k,{key:"4",loading:e(m),disabled:e(u).config.zoom===8,icon:"",onClick:V(te,["prevent"])},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(xe)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),(c(),g(he,null,{default:a(()=>[e(d)==="camera.ui"?P((c(),g(I,{key:0,modelValue:e(v),"onUpdate:modelValue":i[1]||(i[1]=r=>G(v)?v.value=r:null),lang:"yaml",theme:e(A),options:e(T),"read-only":e(m),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[U,e(S)]]):P((c(),g(I,{key:1,modelValue:e(_),"onUpdate:modelValue":i[2]||(i[2]=r=>G(_)?_.value=r:null),lang:"yaml",theme:e(A),options:e(T),"read-only":e(m),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[U,e(S)]])]),_:1})),s(ae,{modelValue:e(h),"onUpdate:modelValue":i[3]||(i[3]=r=>G(h)?h.value=r:null),title:w.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.save_and_restart",loading:e(m),onConfirm:i[4]||(i[4]=r=>$(!0))},{content:a(()=>[F("span",null,f(w.$t("components.dialog.message.confirm_restart_server")),1)]),_:1},8,["modelValue","title","loading"])])])}}}),Vt=de(je,[["__scopeId","data-v-35c93a17"]]);export{Vt as default};
1
+ var ie=Object.defineProperty;var re=(n,t,o)=>t in n?ie(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o;var R=(n,t,o)=>re(n,typeof t!="symbol"?t+"":t,o);import{i as Q,x as C,a as ce,f as le,y as ue,w as me,B as fe,d as de}from"./main-D1X9SzzX.js";import{_ as ge}from"./VConfigEditor.vue_vue_type_script_setup_true_lang-aMMzP49H.js";import{r as l,u as e,F as pe,c as K,w as O,y as ye,e as c,f as j,O as g,M as s,l as Ce,ae as ve,j as F,X as _e,R as a,ar as he,i as G,m as we,V as p,T as f,q as V,g as P,v as U}from"./@vue-DMh6qW6s.js";import{G as be,F as Qe,$ as Ve,J as xe,I as ke}from"./@mdi-B8Roxr1z.js";import{i as x}from"./vue3-toastify-D8Ru9hkX.js";import{u as qe,a as E,b as k}from"./@tanstack-BvYNCsQh.js";import{r as ze}from"./system-BTruCO3L.js";import{u as Se}from"./ui-CyEgSsGE.js";import{s as Re}from"./utils-BvINh1mj.js";import{s as N}from"./pinia-BQbsPkIS.js";import{P as Fe,Q as Ge,e as y,b as q}from"./vuetify-DYU2dOLI.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";import"./ace-builds-CigWTak4.js";const Ae=async({json:n,signal:t})=>(await C.get("/config",{params:{json:n},signal:t})).data,Le=async({json:n,signal:t})=>(await C.get("/config/go2rtc",{params:{json:n},signal:t})).data,Me=async({configData:n})=>(await C.patch("/config",n,{headers:{"Content-Type":"text/yaml"}})).data,Te=async({configData:n})=>(await C.patch("/config/go2rtc",n,{headers:{"Content-Type":"text/yaml"}})).data,Be=async()=>(await C.delete("/config")).data,De=async()=>(await C.delete("/config/go2rtc")).data;class $e{constructor(){R(this,"_queryClient",qe());R(this,"queryActivator",l([{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})=>Ae({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})=>Le({json:e(t),signal:o}),enabled:()=>this.queryActivator.value.some(o=>o.name==="getGo2RtcConfigQuery"&&o.enabled)})}patchConfigQuery(){return k({mutationFn:Me,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),x.success(Q.global.t("components.toast.config_updated"))}})}patchGo2RtcConfigQuery(){return k({mutationFn:Te,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),x.success(Q.global.t("components.toast.config_go2rtc_updated"))}})}delteConfigQuery(){return k({mutationFn:Be,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["config"]}),x.success(Q.global.t("components.toast.config_deleted"))}})}delteGo2RtcConfigQuery(){return k({mutationFn:De,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["go2rtcConfig"]}),x.success(Q.global.t("components.toast.config_go2rtc_deleted"))}})}toggleQueryActivator(t,o){const b=this.queryActivator.value.find(z=>z.name===t);b&&(b.enabled=o)}}const Ie={style:{padding:"0 !important"}},Ke={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},Oe={class:"h-full w-full"},je=pe({__name:"Config",setup(n){const t=new $e,o=ce(),b=Se(),{extraSmallMobileActive:z}=le(),{theme:A}=N(o),{uiSettings:u}=N(b),d=l("camera.ui"),v=l(""),_=l(""),L=l(!1),S=l(!1),M=l(!1),h=l(!1),T=K(()=>({fontSize:u.value.config.zoom})),{data:B,isLoading:H}=t.getConfigQuery(L),{data:D,isLoading:J}=t.getGo2RtcConfigQuery(L),{mutateAsync:X,isPending:Z}=t.patchConfigQuery(),{mutateAsync:W,isPending:Y}=t.patchGo2RtcConfigQuery(),m=K(()=>H.value||J.value||Z.value||Y.value);O(B,()=>{v.value=B.value||""},{deep:!0,immediate:!0}),O(D,()=>{_.value=D.value||""},{deep:!0,immediate:!0});const $=async w=>{d.value==="camera.ui"?(await X({configData:v.value}),w&&(M.value=!0,ze())):await W({configData:_.value}),w||(h.value=!1)},ee=()=>{d.value=d.value==="camera.ui"?"go2rtc":"camera.ui"},te=()=>{u.value.config.zoom!==8&&u.value.config.zoom--},oe=()=>{u.value.config.zoom!==20&&u.value.config.zoom++};return ye(async()=>{await Re(100),S.value=!0}),(w,i)=>{const ne=ue,I=ge,ae=me;return c(),j("main",Ie,[(c(),g(ve,{to:".app"},[e(M)?(c(),j("div",Ke,[s(ne,{reload:""})])):Ce("",!0)])),F("div",Oe,[F("div",{class:"text-editor-buttons flex flex-row justify-center",style:_e(e(z)?`bottom: calc(1rem + ${e(fe).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"bottom: calc(1rem + env(safe-area-inset-bottom, 0px))")},[s(Fe,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:a(({props:r,isActive:se})=>[s(Ge,we(r,{size:"default",icon:""}),{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(se?e(be):e(Qe)),1)]),_:2},1024)]),_:2},1040)]),default:a(()=>[s(q,{key:"1",loading:e(m),color:"success",icon:"",onClick:i[0]||(i[0]=V(r=>e(d)==="go2rtc"?$(!1):h.value=!0,["prevent"]))},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(Ve)),1)]),_:1})]),_:1},8,["loading"]),s(q,{key:"2",loading:e(m),color:"#df2a4c",icon:"",onClick:V(ee,["prevent"])},{default:a(()=>[e(d)==="camera.ui"?(c(),g(y,{key:0,size:"20"},{default:a(()=>[p(f("$cuiLogo"))]),_:1})):(c(),g(y,{key:1,size:"30"},{default:a(()=>[p(f("$cuiGo2rtc"))]),_:1}))]),_:1},8,["loading"]),s(q,{key:"3",loading:e(m),icon:"",disabled:e(u).config.zoom===20,onClick:V(oe,["prevent"])},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(xe)),1)]),_:1})]),_:1},8,["loading","disabled"]),s(q,{key:"4",loading:e(m),disabled:e(u).config.zoom===8,icon:"",onClick:V(te,["prevent"])},{default:a(()=>[s(y,{size:"20"},{default:a(()=>[p(f(e(ke)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),(c(),g(he,null,{default:a(()=>[e(d)==="camera.ui"?P((c(),g(I,{key:0,modelValue:e(v),"onUpdate:modelValue":i[1]||(i[1]=r=>G(v)?v.value=r:null),lang:"yaml",theme:e(A),options:e(T),"read-only":e(m),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[U,e(S)]]):P((c(),g(I,{key:1,modelValue:e(_),"onUpdate:modelValue":i[2]||(i[2]=r=>G(_)?_.value=r:null),lang:"yaml",theme:e(A),options:e(T),"read-only":e(m),class:"text-editor"},null,8,["modelValue","theme","options","read-only"])),[[U,e(S)]])]),_:1})),s(ae,{modelValue:e(h),"onUpdate:modelValue":i[3]||(i[3]=r=>G(h)?h.value=r:null),title:w.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.save_and_restart",loading:e(m),onConfirm:i[4]||(i[4]=r=>$(!0))},{content:a(()=>[F("span",null,f(w.$t("components.dialog.message.confirm_restart_server")),1)]),_:1},8,["modelValue","title","loading"])])])}}}),Vt=de(je,[["__scopeId","data-v-35c93a17"]]);export{Vt as default};
@@ -1,4 +1,4 @@
1
- import{z as h,f as E,w as $,B as N,d as P}from"./main-BCWSiwnj.js";import{F as j,r as k,c as C,aa as S,U as F,e as G,f as H,j as w,M as t,u as o,X as q,R as n,i as J,n as W,m as X,V as f,T as m,q as y}from"./@vue-C10tA4b9.js";import{G as Z,F as K,a0 as Y,a1 as oo,J as eo,I as to}from"./@mdi-C-QA1nE3.js";import{S as no}from"./system-CS_ZOs3_.js";import{V as ao}from"./VConsole-BHy92Ws0.js";import{u as so}from"./ui-CHKoHLl-.js";import{s as lo}from"./pinia-CitQ5b66.js";import{P as io,Q as ro,e as g,b as _}from"./vuetify-CrcT8VHB.js";import"./vue-inline-svg-C2gR6nRD.js";import"./vue3-toastify-DQr2dOCx.js";import"./vue-i18n-DuCDz9TJ.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-B-9PO-kT.js";import"./vue-router-OPGDMnws.js";import"./@vueuse-BPeqNGoM.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vee-validate-Ck3I2guh.js";import"./@vee-validate-D_G0ehOl.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-B53o3e_J.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-C-8W4FeM.js";import"./@popperjs-BQBsAJpH.js";const co={style:{padding:"0 !important"}},mo=j({__name:"Console",setup(uo){const d=new no,L=h(),V=so(),{mobileActive:x,extraSmallMobileActive:Q}=E(),{uiSettings:r}=lo(V),v=k(null),c=k(),u=k(!1),B=C(()=>({fontSize:r.value.console.zoom}));d.toggleQueryActivator("downloadLogQuery",!1);const{data:b,isLoading:T,suspense:M}=d.downloadLogQuery(),{mutate:R,isPending:A}=d.clearLogQuery(),p=C(()=>T.value||A.value),D=async()=>{R(void 0,{onSuccess:()=>{u.value=!1}})},I=async()=>{try{if(d.toggleQueryActivator("downloadLogQuery",!0),await M(),b.value){const a=b.value,e=window.URL.createObjectURL(new Blob([a])),s=document.createElement("a");s.href=e,s.setAttribute("download","camera.ui.log.txt"),document.body.appendChild(s),s.click(),s.remove()}}finally{d.toggleQueryActivator("downloadLogQuery",!1)}},U=()=>{r.value.console.zoom!==8&&r.value.console.zoom--},O=()=>{r.value.console.zoom!==20&&r.value.console.zoom++};return S(()=>{c.value=L.connectToNamespace("/logs")}),S(()=>{var a,e,s,i;(a=c.value)==null||a.socket.on("stdout",l=>{var z;(z=v.value)==null||z.writeTerminal(l)}),(e=c.value)==null||e.socket.on("disconnect",()=>{var l;(l=v.value)==null||l.writeTerminal(`
1
+ import{z as h,f as E,w as $,B as N,d as P}from"./main-D1X9SzzX.js";import{F as j,r as k,c as C,a3 as S,U as F,e as G,f as H,j as w,M as t,u as o,X as q,R as n,i as J,n as W,m as X,V as f,T as m,q as y}from"./@vue-DMh6qW6s.js";import{G as Z,F as K,a0 as Y,a1 as oo,J as eo,I as to}from"./@mdi-B8Roxr1z.js";import{S as no}from"./system-BTruCO3L.js";import{V as ao}from"./VConsole-WHOBQIsm.js";import{u as so}from"./ui-CyEgSsGE.js";import{s as lo}from"./pinia-BQbsPkIS.js";import{P as io,Q as ro,e as g,b as _}from"./vuetify-DYU2dOLI.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";const co={style:{padding:"0 !important"}},mo=j({__name:"Console",setup(uo){const d=new no,L=h(),V=so(),{mobileActive:x,extraSmallMobileActive:Q}=E(),{uiSettings:r}=lo(V),v=k(null),c=k(),u=k(!1),B=C(()=>({fontSize:r.value.console.zoom}));d.toggleQueryActivator("downloadLogQuery",!1);const{data:b,isLoading:T,suspense:M}=d.downloadLogQuery(),{mutate:R,isPending:A}=d.clearLogQuery(),p=C(()=>T.value||A.value),D=async()=>{R(void 0,{onSuccess:()=>{u.value=!1}})},I=async()=>{try{if(d.toggleQueryActivator("downloadLogQuery",!0),await M(),b.value){const a=b.value,e=window.URL.createObjectURL(new Blob([a])),s=document.createElement("a");s.href=e,s.setAttribute("download","camera.ui.log.txt"),document.body.appendChild(s),s.click(),s.remove()}}finally{d.toggleQueryActivator("downloadLogQuery",!1)}},U=()=>{r.value.console.zoom!==8&&r.value.console.zoom--},O=()=>{r.value.console.zoom!==20&&r.value.console.zoom++};return S(()=>{c.value=L.connectToNamespace("/logs")}),S(()=>{var a,e,s,i;(a=c.value)==null||a.socket.on("stdout",l=>{var z;(z=v.value)==null||z.writeTerminal(l)}),(e=c.value)==null||e.socket.on("disconnect",()=>{var l;(l=v.value)==null||l.writeTerminal(`
2
2
  \rWebsocket failed to connect! Is the server running?
3
3
  \r
4
4
  \r`)}),(s=c.value)==null||s.socket.on("clear-log",()=>{var l;(l=v.value)==null||l.clearTerminal()}),(i=c.value)==null||i.socket.emit("get-log")}),F(()=>{var a,e;(e=(a=c.value)==null?void 0:a.end)==null||e.call(a)}),(a,e)=>{const s=$;return G(),H("main",co,[w("div",{class:W(["h-full w-full",{"mb-safe":o(x)}])},[t(ao,{ref_key:"consoleRef",ref:v,class:"text-editor",options:o(B)},null,8,["options"]),w("div",{class:"text-editor-buttons flex flex-row justify-center",style:q(o(Q)?`bottom: calc(1rem + ${o(N).HEIGHT}px + env(safe-area-inset-bottom, 0px))`:"bottom: calc(1rem + env(safe-area-inset-bottom, 0px))")},[t(io,{location:"top center",transition:"fade-transition","close-on-content-click":!1},{activator:n(({props:i,isActive:l})=>[t(ro,X(i,{size:"default",icon:""}),{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(l?o(Z):o(K)),1)]),_:2},1024)]),_:2},1040)]),default:n(()=>[t(_,{key:"1",loading:o(p),color:"success",icon:"",onClick:y(I,["prevent"])},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(Y)),1)]),_:1})]),_:1},8,["loading"]),t(_,{key:"2",loading:o(p),color:"red",icon:"",onClick:e[0]||(e[0]=y(i=>u.value=!0,["prevent"]))},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(oo)),1)]),_:1})]),_:1},8,["loading"]),t(_,{key:"3",loading:o(p),icon:"",disabled:o(r).console.zoom===20,onClick:y(O,["prevent"])},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(eo)),1)]),_:1})]),_:1},8,["loading","disabled"]),t(_,{key:"4",loading:o(p),disabled:o(r).console.zoom===8,icon:"",onClick:y(U,["prevent"])},{default:n(()=>[t(g,{size:"20"},{default:n(()=>[f(m(o(to)),1)]),_:1})]),_:1},8,["loading","disabled"])]),_:1})],4),t(s,{modelValue:o(u),"onUpdate:modelValue":e[1]||(e[1]=i=>J(u)?u.value=i:null),title:a.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.clear",loading:o(p),onConfirm:e[2]||(e[2]=i=>D())},{content:n(()=>[w("span",null,m(a.$t("components.dialog.message.confirm_clear_log")),1)]),_:1},8,["modelValue","title","loading"])],2)])}}}),Fo=P(mo,[["__scopeId","data-v-e45ec8c4"]]);export{Fo as default};
@@ -0,0 +1 @@
1
+ import{u as ie,a as de,b as me,i as ce,g as pe,c as ue,r as fe,_ as ve,d as he}from"./main-D1X9SzzX.js";import{F as ge,r as u,b as be,c as H,w as _e,e as f,f as R,j as s,u as e,O as B,q as E,l as L,T as m,N as we,Q as ye,M as o,R as c,n as xe,i as V,V as S,m as $,ai as ke,aj as Ve}from"./@vue-DMh6qW6s.js";import{m as J,a as K}from"./@mdi-B8Roxr1z.js";import{F as b,a as Se}from"./vee-validate-9vrYaQFq.js";import{I as $e}from"./vue-inline-svg-D1BV6A5r.js";import{a as Ce}from"./vue-router-Bje-Muh5.js";import{s as N}from"./pinia-BQbsPkIS.js";import{b as C,w as Fe,x as P,y as X,d as T,z as O,c as q}from"./vuetify-DYU2dOLI.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";const A=_=>(ke("data-v-edaadd4d"),_=_(),Ve(),_),Ie={class:"h-full router-view p-2",style:{padding:"0",height:"100vh"}},Ue={class:"firststeps-progress flex flex-col items-center p-5 w-full"},je={class:"firststeps-progress-inner pt-safe flex flex-col h-full w-full"},ze={class:"flex flex-row items-center"},Me={class:"firststeps-progress-title mt-3"},Re={class:"firststeps-progress-text mt-1"},Be={class:"flex flex-row gap-2 mt-3 mb-3"},Ee={class:"firststeps flex flex-col items-center p-5 w-full h-full hide-scrollbar"},Le={class:"relative"},Ne={for:"theme",class:"v-label"},Pe=A(()=>s("div",{class:"py-2"},null,-1)),Te={class:"ml-auto flex"},Oe=A(()=>s("div",{class:"py-3"},null,-1)),qe={class:"relative"},Ae={for:"language",class:"v-label"},De={class:"flex flex-row relative"},We={class:"w-100 mr-5"},Qe={for:"username",class:"v-label"},Ge={class:"image-upload ml-auto mt-3"},He={for:"file-input"},Je={class:"relative mt-5"},Ke={for:"password",class:"v-label"},Xe={class:"relative"},Ye={for:"password",class:"v-label"},Ze={class:"ml-auto flex"},et=A(()=>s("div",{class:"py-3"},null,-1)),tt={class:"ml-auto flex"},st={class:"w-full flex flex-col justify-center items-center"},at={class:"text-center mt-10 firststeps-info"},ot=ge({__name:"FirstSteps",setup(_){const F=ie(),Y=de(),Z=me(),ee=Ce(),{t:I}=ce.global,{loading:v,loginState:te}=N(F),{locale:U,languages:se}=N(Z),{colors:ae,theme:j,autoMode:w}=N(Y),n=u(0),D=u(),z=u(),y=u(!1),x=u(!1),h=u(),W=u(!1),k=be([{title:I("views.firststeps.step_appearance")},{title:I("views.firststeps.step_account")},{title:I("views.firststeps.step_finish")}]),oe=H(()=>Math.round((n.value+1)/k.length*100)),M=H(()=>n.value===k.length-1);_e(n,a=>{a===0&&(W.value=!1)});const le=async a=>{var d;const t=(d=a.target)==null?void 0:d.files;z.value=t==null?void 0:t[0],D.value=await fe(a)},re=async()=>{var a,t;try{await F.logout()}catch(d){console.error(((t=(a=d.response)==null?void 0:a.data)==null?void 0:t.message)??d.message??d)}},Q=async()=>{var a,t,d,l;if(n.value>0){const r=(a=h.value)==null?void 0:a.getValues();if(r&&!r.password){(t=h.value)==null||t.setFieldError("password","Required"),(d=h.value)==null||d.setFieldError("passwordConfirm","Required");return}const i=await((l=h.value)==null?void 0:l.validate());i!=null&&i.valid&&!M.value&&n.value++}else n.value++},ne=async a=>{var t,d;if(W.value=!0,M.value){let l;const r={...a};r.firstLogin=!1,delete r.upload;try{v.value=!0,z.value&&(l=new FormData,l.append("upload",z.value)),await F.updateUser(r,l,!0),ee.push({path:"/cameras"})}catch(i){console.error(((d=(t=i.response)==null?void 0:t.data)==null?void 0:d.message)??i.message??i)}}},G=()=>{n.value>0&&n.value--};return(a,t)=>{const d=ve;return f(),R("main",Ie,[s("div",Ue,[s("div",je,[s("div",ze,[e(n)>0?(f(),B(C,{key:0,density:"compact",class:"firststeps-button no-drag",variant:"tonal",color:"tonal",text:a.$t("components.form.button.previous"),loading:e(v),onClick:t[0]||(t[0]=E(l=>G(),["prevent"]))},null,8,["text","loading"])):L("",!0),e(n)===0?(f(),B(C,{key:1,density:"compact",class:"firststeps-button no-drag",variant:"tonal",color:"white",text:a.$t("components.form.button.logout"),loading:e(v),onClick:t[1]||(t[1]=E(l=>re(),["prevent"]))},null,8,["text","loading"])):L("",!0),e(M)?L("",!0):(f(),B(C,{key:2,density:"compact",class:"firststeps-button ml-auto no-drag",variant:"tonal",color:"white",text:a.$t("components.form.button.next"),loading:e(v),onClick:t[2]||(t[2]=E(l=>Q(),["prevent"]))},null,8,["text","loading"]))]),s("h1",Me,m(e(k)[e(n)].title),1),s("h1",Re,[s("b",null,m(e(oe))+"%",1),s("span",null,m(a.$t("views.firststeps.complete")),1)]),s("div",Be,[(f(!0),R(we,null,ye(e(k),(l,r)=>(f(),R("div",{key:r,class:xe(["firststeps-step-bar",{"firststeps-step-bar-active":e(n)===r}])},null,2))),128))])])]),s("div",Ee,[o(e(Se),{ref_key:"userForm",ref:h,class:"firststeps-form flex flex-col h-full w-full","validation-schema":e(ue),onSubmit:t[10]||(t[10]=l=>ne(l))},{default:c(()=>[o(Fe,{modelValue:e(n),"onUpdate:modelValue":t[9]||(t[9]=l=>V(n)?n.value=l:null),class:"window",touch:{left:Q,right:G}},{default:c(()=>[o(P,{value:0,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:c(()=>[s("div",Le,[s("label",Ne,m(a.$t("components.form.label.theme")),1),o(X,{modelValue:e(j),"onUpdate:modelValue":t[3]||(t[3]=l=>V(j)?j.value=l:null),variant:"outlined",name:"theme","hide-details":"",density:"compact",items:e(ae),disabled:e(w)},null,8,["modelValue","items","disabled"])]),Pe,s("div",null,[s("div",Te,[o(T,{modelValue:e(w),"onUpdate:modelValue":t[4]||(t[4]=l=>V(w)?w.value=l:null),color:"#df2a4c",type:"checkbox",label:a.$t("components.form.label.system_preference"),"hide-details":""},null,8,["modelValue","label"])]),o(O,{theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:c(()=>[S(m(a.$t("components.form.hint.system_preference")),1)]),_:1})]),Oe,s("div",qe,[s("label",Ae,m(a.$t("components.form.label.language")),1),o(X,{modelValue:e(U),"onUpdate:modelValue":t[5]||(t[5]=l=>V(U)?U.value=l:null),variant:"outlined",name:"language","hide-details":"",density:"compact",items:e(se)},null,8,["modelValue","items"])])]),_:1}),o(P,{value:1,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:c(()=>{var l;return[s("div",De,[s("div",We,[s("label",Qe,m(a.$t("components.form.label.username")),1),o(q,{variant:"outlined",type:"text",disabled:"","hide-details":"",density:"compact",value:(l=e(te).user)==null?void 0:l.username},null,8,["value"])]),s("div",Ge,[s("label",He,[o(d,{src:e(D),size:"4rem",style:{"border-radius":"4rem",border:"1px solid var(--border)"}},null,8,["src"]),o(e(b),{id:"file-input",type:"file",name:"upload",accept:"image/png,image/jpeg,image/jpg",onChange:t[6]||(t[6]=r=>le(r))})])])]),s("div",Je,[s("label",Ke,m(a.$t("components.form.label.new_password")),1),o(e(b),{name:"password"},{default:c(({field:r,errorMessage:i,errors:p})=>[o(q,$({variant:"outlined"},r,{name:"password",type:e(y)?"text":"password",error:p.length>0,"error-messages":i,density:"compact","append-inner-icon":e(y)?e(J):e(K),"onClick:appendInner":t[7]||(t[7]=g=>y.value=!e(y))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1})]),s("div",Xe,[s("label",Ye,m(a.$t("components.form.label.new_password_confirm")),1),o(e(b),{name:"passwordConfirm"},{default:c(({field:r,errorMessage:i,errors:p})=>[o(q,$({variant:"outlined"},r,{name:"passwordConfirm",type:e(x)?"text":"password",error:p.length>0,"error-messages":i,density:"compact","append-inner-icon":e(x)?e(J):e(K),"onClick:appendInner":t[8]||(t[8]=g=>x.value=!e(x))}),null,16,["type","error","error-messages","append-inner-icon"])]),_:1})]),s("div",null,[s("div",Ze,[o(e(b),{name:"oneLogin",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:c(({field:r,errorMessage:i,errors:p,value:g})=>[o(T,$(r,{name:"oneLogin",color:"#df2a4c",type:"checkbox",error:p.length>0,"error-messages":i,value:g,label:a.$t("components.form.label.one_login"),"hide-details":""}),null,16,["error","error-messages","value","label"])]),_:1})]),o(O,{theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:c(()=>[S(m(a.$t("components.form.hint.one_login")),1)]),_:1})]),et,s("div",null,[s("div",tt,[o(e(b),{name:"rememberMe",type:"checkbox","checked-value":!0,"unchecked-value":!1},{default:c(({field:r,errorMessage:i,errors:p,value:g})=>[o(T,$({name:"rememberMe"},r,{color:"#df2a4c",type:"checkbox",error:p.length>0,"error-messages":i,value:g,label:a.$t("components.form.label.remember_me"),"hide-details":""}),null,16,["error","error-messages","value","label"])]),_:1})]),o(O,{class:"mb-safe",theme:"dark",density:"compact",variant:"tonal",style:{"font-size":"0.7rem",color:"var(--color-disabled)"}},{default:c(()=>[S(m(a.$t("components.form.hint.remember_me")),1)]),_:1})])]}),_:1}),o(P,{value:2,transition:"fade","reverse-transition":"fade-reverse",disabled:!1},{default:c(()=>[s("div",st,[o(e($e),{src:e(pe)("logo_animated.svg"),width:"78px",height:"84px",title:"camera.ui","aria-label":"camera.ui"},null,8,["src"]),s("p",at,m(a.$t("views.firststeps.finish_message")),1),o(C,{class:"mt-7 text-white",type:"submit",elevation:"1",color:"#df2a4c",loading:e(v)},{default:c(()=>[S(m(a.$t("views.firststeps.enjoy")),1)]),_:1},8,["loading"])])]),_:1})]),_:1},8,["modelValue","touch"])]),_:1},8,["validation-schema"])])])}}}),Mt=he(ot,[["__scopeId","data-v-edaadd4d"]]);export{Mt as default};
@@ -0,0 +1 @@
1
+ .window[data-v-edaadd4d]{height:100%}.firststeps-progress[data-v-edaadd4d]{background:var(--color-primary);position:fixed;height:calc(170px + env(safe-area-inset-top,0px));top:0;left:0;z-index:1}.firststeps-progress-inner[data-v-edaadd4d]{max-width:500px}.firststeps-button[data-v-edaadd4d]{position:relative;text-transform:none!important;color:#ffffff80!important;font-size:.8rem}.firststeps-next[data-v-edaadd4d]{background:var(--color-primary);color:#fff}.firststeps-skip[data-v-edaadd4d]{position:relative;right:-10px}.firststeps[data-v-edaadd4d]{background:var(--background-login);overflow-y:scroll;top:calc(170px + env(safe-area-inset-top,0px));height:calc(100% - 170px - env(safe-area-inset-top,0px));position:relative}.firststeps-progress-text[data-v-edaadd4d]{color:#fff;font-size:1.2rem}.firststeps-progress-text b[data-v-edaadd4d]{font-weight:800}.firststeps-progress-text span[data-v-edaadd4d]{margin-left:10px;opacity:.5}.firststeps-progress-title[data-v-edaadd4d]{color:#fff;font-size:1.5rem;font-weight:800}.firststeps-step-bar[data-v-edaadd4d]{height:3px;width:50px;background:#ffffff80;flex:1 1 auto}.firststeps-step-bar-active[data-v-edaadd4d]{background:#fff}.firststeps-info[data-v-edaadd4d]{color:var(--color-disabled)}.firststeps-form[data-v-edaadd4d]{max-width:500px}@media screen and (max-width: 450px){.firststeps-progress[data-v-edaadd4d]{width:100vw}}@keyframes animate-svg-stroke-3-edaadd4d{0%{stroke-dashoffset:119.24423783197108px;stroke-dasharray:119.24423783197108px}to{stroke-dashoffset:0;stroke-dasharray:119.24423783197108px}}@keyframes animate-svg-fill-3-edaadd4d{0%{fill:transparent}to{fill:#c5c6c8}}div[data-v-edaadd4d] .svg-elem-3{animation:animate-svg-stroke-3-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .24s both,animate-svg-fill-3-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1s both}@keyframes animate-svg-stroke-4-edaadd4d{0%{stroke-dashoffset:72.2947006225586px;stroke-dasharray:72.2947006225586px}to{stroke-dashoffset:0;stroke-dasharray:72.2947006225586px}}@keyframes animate-svg-fill-4-edaadd4d{0%{fill:transparent}to{fill:#1a1e21}}div[data-v-edaadd4d] .svg-elem-4{animation:animate-svg-stroke-4-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .36s both,animate-svg-fill-4-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1.1s both}@keyframes animate-svg-stroke-5-edaadd4d{0%{stroke-dashoffset:12.32623871258889px;stroke-dasharray:12.32623871258889px}to{stroke-dashoffset:0;stroke-dasharray:12.32623871258889px}}@keyframes animate-svg-fill-5-edaadd4d{0%{fill:transparent}to{fill:#fff}}div[data-v-edaadd4d] .svg-elem-5{animation:animate-svg-stroke-5-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .48s both,animate-svg-fill-5-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1.2000000000000002s both}@keyframes animate-svg-stroke-6-edaadd4d{0%{stroke-dashoffset:12.32623871258889px;stroke-dasharray:12.32623871258889px}to{stroke-dashoffset:0;stroke-dasharray:12.32623871258889px}}@keyframes animate-svg-fill-6-edaadd4d{0%{fill:transparent}to{fill:#fff}}div[data-v-edaadd4d] .svg-elem-6{animation:animate-svg-stroke-6-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .6s both,animate-svg-fill-6-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1.3s both}@keyframes animate-svg-stroke-7-edaadd4d{0%{stroke-dashoffset:12.32623871258889px;stroke-dasharray:12.32623871258889px}to{stroke-dashoffset:0;stroke-dasharray:12.32623871258889px}}@keyframes animate-svg-fill-7-edaadd4d{0%{fill:transparent}to{fill:#fff}}div[data-v-edaadd4d] .svg-elem-7{animation:animate-svg-stroke-7-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .72s both,animate-svg-fill-7-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1.4000000000000001s both}@keyframes animate-svg-stroke-8-edaadd4d{0%{stroke-dashoffset:12.430087609918113px;stroke-dasharray:12.430087609918113px}to{stroke-dashoffset:0;stroke-dasharray:12.430087609918113px}}@keyframes animate-svg-fill-8-edaadd4d{0%{fill:transparent}to{fill:#fff}}div[data-v-edaadd4d] .svg-elem-8{animation:animate-svg-stroke-8-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .84s both,animate-svg-fill-8-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1.5s both}@keyframes animate-svg-stroke-9-edaadd4d{0%{stroke-dashoffset:24.203350067138672px;stroke-dasharray:24.203350067138672px}to{stroke-dashoffset:0;stroke-dasharray:24.203350067138672px}}@keyframes animate-svg-fill-9-edaadd4d{0%{fill:transparent}to{fill:#fff}}div[data-v-edaadd4d] .svg-elem-9{animation:animate-svg-stroke-9-edaadd4d .5s cubic-bezier(.47,0,.745,.715) .96s both,animate-svg-fill-9-edaadd4d .3s cubic-bezier(.47,0,.745,.715) 1.6s both}
@@ -1,4 +1,4 @@
1
- import{C as we,c as _e,_ as ye}from"./VPlayer-LX5HGLrY.js";import{f as xe,w as ke,d as Se}from"./main-BCWSiwnj.js";import{F as Te,r as b,D as Pe,c as Re,w as Ve,y as Ie,e as f,f as P,j as l,M as a,R as s,u as e,i as H,n as K,T as m,V as h,m as _,N as q,Q as J,O as j,q as x,l as Ae,X as Ce}from"./@vue-C10tA4b9.js";import{H as I,t as He,y as je,j as Ee,p as Ue}from"./highlight.js-TxRCSjhv.js";import{e as X,s as Oe,F as Ge,G as Me,Y as $e,Z as Fe,_ as Le}from"./@mdi-C-QA1nE3.js";import{e as We}from"./@vueuse-BPeqNGoM.js";import{M as De}from"./markdown-it-DI8MEbma.js";import{F as v,a as ze}from"./vee-validate-Ck3I2guh.js";import{s as Be}from"./utils-BvINh1mj.js";import{a as Ne}from"./vue-router-OPGDMnws.js";import{b as R,e as k,K as F,L,M as W,N as D,c as S,z as Q,m as Ye,O as Ke,V as Z}from"./vuetify-CrcT8VHB.js";import"./qrcode-SHonoxyK.js";import"./dijkstrajs-D_NXgYpA.js";import"./zod-BaF2dDCd.js";import"./pinia-CitQ5b66.js";import"./@vee-validate-D_G0ehOl.js";import"./vue3-toastify-DQr2dOCx.js";import"./plugins-D80RNVmI.js";import"./@tanstack-B-9PO-kT.js";import"./draggabilly-Arakw9Dk.js";import"./@xterm-B4Ga69iL.js";import"./get-size-D1dS-IaP.js";import"./unidragger-BYtqgAQ0.js";import"./ev-emitter-CXYwG0eJ.js";import"./vue-inline-svg-C2gR6nRD.js";import"./vue-i18n-DuCDz9TJ.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-B53o3e_J.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-C-8W4FeM.js";import"./@popperjs-BQBsAJpH.js";import"./nprogress-DSyAi0LF.js";import"./mdurl-k9Sl0PQj.js";import"./uc.micro-kMc2yuuw.js";import"./entities-C20TfXL6.js";import"./linkify-it-DmNjr4Kv.js";import"./punycode.js-Dj65hjkv.js";const qe=["bubble://","dvrip://","echo:","exec:","expr:","ffmpeg:","gopro://","hass:","homekit://","http://","https://","httpx://","isapi://","ivideon:","kasa://","nest:","onvif://","roborock://","rtmp://","rtsp://","rtspx://","tapo://","tcp://","webrtc:","webtorrent:"],Je=["#backchannel=0","#header=","#media=audio","#media=video","#timeout=10","#timeout=20","#timeout=30","#transport="],ee=["#audio=aac","#audio=aac/16000","#audio=mp3","#audio=opus","#audio=pcm","#audio=pcm/8000","#audio=pcm/16000","#audio=pcm/48000","#audio=pcma","#audio=pcma/8000","#audio=pcma/16000","#audio=pcma/48000","#audio=pcml","#audio=pcml/8000","#audio=pcml/44100","#audio=pcmu","#audio=pcmu/8000","#audio=pcmu/16000","#audio=pcmu/48000","#drawtext","#hardware","#hardware=cuda","#hardware=dxva2","#hardware=rkmpp","#hardware=v4l2m2m","#hardware=vaapi","#hardware=videotoolbox","#height=","#raw=","#rotate=-90","#rotate=90","#rotate=180","#rotate=270","#video=copy","#video=h264","#video=h265","#video=mjpeg","#width="],Xe=["client_id=","client_private=","device_id=","device_public="],Qe=["#header="],Ze=["client_id=","client_secret=","refresh_token=","project_id=","device_id="],eo=["#client_id=","#format=openipc","#format=wyze","#format=kinesis","#ice_servers="],oo="#### Source: Bubble\n\nOther names: [ESeeCloud](http://www.eseecloud.com/), [dvr163](http://help.dvr163.com/).\n\n- you can skip `username`, `password`, `port`, `ch` and `stream` if they are default\n- setup separate streams for different channels and streams\n\n```yaml\nstreams:\n camera1: bubble://username:password@192.168.1.123:34567/bubble/live?ch=0&stream=0\n```\n\n_Source: [Go2Rtc Bubble](https://github.com/AlexxIT/go2rtc#source-bubble)_\n",to="#### Source: DVRIP\n\nOther names: DVR-IP, NetSurveillance, Sofia protocol (NETsurveillance ActiveX plugin XMeye SDK).\n\n- you can skip `username`, `password`, `port`, `channel` and `subtype` if they are default\n- setup separate streams for different channels\n- use `subtype=0` for Main stream, and `subtype=1` for Extra1 stream\n- only the TCP protocol is supported\n\n```yaml\nstreams:\n only_stream: dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n only_tts: dvrip://username:password@192.168.1.123:34567?backchannel=1\n two_way_audio:\n - dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n - dvrip://username:password@192.168.1.123:34567?backchannel=1\n```\n\n_Source: [Go2Rtc DVRIP](https://github.com/AlexxIT/go2rtc#source-dvrip)_\n",ao=`#### Source: Echo
1
+ import{C as we,c as _e,_ as ye}from"./VPlayer-YzfFbh8e.js";import{f as xe,w as ke,d as Se}from"./main-D1X9SzzX.js";import{F as Te,r as b,D as Pe,c as Re,w as Ve,y as Ie,e as f,f as P,j as l,M as a,R as s,u as e,i as H,n as K,T as m,V as h,m as _,N as q,Q as J,O as j,q as x,l as Ae,X as Ce}from"./@vue-DMh6qW6s.js";import{H as I,t as He,y as je,j as Ee,p as Ue}from"./highlight.js-TxRCSjhv.js";import{e as X,s as Oe,F as Ge,G as Me,Y as $e,Z as Fe,_ as Le}from"./@mdi-B8Roxr1z.js";import{e as We}from"./@vueuse-D76s02Ot.js";import{M as De}from"./markdown-it-DI8MEbma.js";import{F as v,a as Be}from"./vee-validate-9vrYaQFq.js";import{s as ze}from"./utils-BvINh1mj.js";import{a as Ne}from"./vue-router-Bje-Muh5.js";import{b as R,e as k,K as F,L,M as W,N as D,c as S,y as Q,m as Ye,O as Ke,V as Z}from"./vuetify-DYU2dOLI.js";import"./qrcode-SHonoxyK.js";import"./dijkstrajs-D_NXgYpA.js";import"./zod-BaF2dDCd.js";import"./pinia-BQbsPkIS.js";import"./@vee-validate-BY5H7fGS.js";import"./vue3-toastify-D8Ru9hkX.js";import"./plugins-BKEnSy-B.js";import"./@tanstack-BvYNCsQh.js";import"./draggabilly-Arakw9Dk.js";import"./@xterm-B4Ga69iL.js";import"./get-size-D1dS-IaP.js";import"./unidragger-BYtqgAQ0.js";import"./ev-emitter-CXYwG0eJ.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";import"./nprogress-DSyAi0LF.js";import"./mdurl-k9Sl0PQj.js";import"./uc.micro-kMc2yuuw.js";import"./entities-C20TfXL6.js";import"./linkify-it-DmNjr4Kv.js";import"./punycode.js-Dj65hjkv.js";const qe=["bubble://","dvrip://","echo:","exec:","expr:","ffmpeg:","gopro://","hass:","homekit://","http://","https://","httpx://","isapi://","ivideon:","kasa://","nest:","onvif://","roborock://","rtmp://","rtsp://","rtspx://","tapo://","tcp://","webrtc:","webtorrent:"],Je=["#backchannel=0","#header=","#media=audio","#media=video","#timeout=10","#timeout=20","#timeout=30","#transport="],ee=["#audio=aac","#audio=aac/16000","#audio=mp3","#audio=opus","#audio=pcm","#audio=pcm/8000","#audio=pcm/16000","#audio=pcm/48000","#audio=pcma","#audio=pcma/8000","#audio=pcma/16000","#audio=pcma/48000","#audio=pcml","#audio=pcml/8000","#audio=pcml/44100","#audio=pcmu","#audio=pcmu/8000","#audio=pcmu/16000","#audio=pcmu/48000","#drawtext","#hardware","#hardware=cuda","#hardware=dxva2","#hardware=rkmpp","#hardware=v4l2m2m","#hardware=vaapi","#hardware=videotoolbox","#height=","#raw=","#rotate=-90","#rotate=90","#rotate=180","#rotate=270","#video=copy","#video=h264","#video=h265","#video=mjpeg","#width="],Xe=["client_id=","client_private=","device_id=","device_public="],Qe=["#header="],Ze=["client_id=","client_secret=","refresh_token=","project_id=","device_id="],eo=["#client_id=","#format=openipc","#format=wyze","#format=kinesis","#ice_servers="],oo="#### Source: Bubble\n\nOther names: [ESeeCloud](http://www.eseecloud.com/), [dvr163](http://help.dvr163.com/).\n\n- you can skip `username`, `password`, `port`, `ch` and `stream` if they are default\n- setup separate streams for different channels and streams\n\n```yaml\nstreams:\n camera1: bubble://username:password@192.168.1.123:34567/bubble/live?ch=0&stream=0\n```\n\n_Source: [Go2Rtc Bubble](https://github.com/AlexxIT/go2rtc#source-bubble)_\n",to="#### Source: DVRIP\n\nOther names: DVR-IP, NetSurveillance, Sofia protocol (NETsurveillance ActiveX plugin XMeye SDK).\n\n- you can skip `username`, `password`, `port`, `channel` and `subtype` if they are default\n- setup separate streams for different channels\n- use `subtype=0` for Main stream, and `subtype=1` for Extra1 stream\n- only the TCP protocol is supported\n\n```yaml\nstreams:\n only_stream: dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n only_tts: dvrip://username:password@192.168.1.123:34567?backchannel=1\n two_way_audio:\n - dvrip://username:password@192.168.1.123:34567?channel=0&subtype=0\n - dvrip://username:password@192.168.1.123:34567?backchannel=1\n```\n\n_Source: [Go2Rtc DVRIP](https://github.com/AlexxIT/go2rtc#source-dvrip)_\n",ao=`#### Source: Echo
2
2
 
3
3
  Some sources may have a dynamic link. And you will need to get it using a bash or python script. Your script should echo a link to the source. RTSP, FFmpeg or any of the [supported sources](https://github.com/AlexxIT/go2rtc#module-streams).
4
4
 
@@ -445,4 +445,4 @@ streams:
445
445
  \`\`\`
446
446
 
447
447
  _Source: [Go2Rtc Webtorrent](https://github.com/AlexxIT/go2rtc#source-webtorrent)_
448
- `,ko={class:"h-full w-full inline-size mb-safe"},So={class:"page-title"},To={class:"window"},Po={class:"subview-title text-color"},Ro={class:"relative"},Vo={for:"name",class:"v-label"},Io={class:"mt-5"},Ao={class:"subview-title text-color"},Co={class:"relative"},Ho={for:"info.manufacturer",class:"v-label"},jo={class:"relative"},Eo={for:"info.model",class:"v-label"},Uo={class:"relative"},Oo={for:"info.hardware",class:"v-label"},Go={class:"relative"},Mo={for:"info.serialNumber",class:"v-label"},$o={class:"relative"},Fo={for:"info.firmwareVersion",class:"v-label"},Lo={class:"relative"},Wo={for:"info.supportUrl",class:"v-label"},Do={class:"mt-5"},zo={class:"subview-title text-color"},Bo={class:"flex flex-row items-center justify-center ml-auto"},No={class:"relative w-full flex flex-col"},Yo=["for"],Ko=["for"],qo=["for"],Jo={class:"w-full flex flex-row justify-center my-1"},Xo={class:"ml-2 flex items-center justify-center",style:{"max-height":"44px"}},Qo={class:"flex items-center ml-auto"},Zo={class:"flex flex-row w-full items-center justify-center mt-3"},et={key:0,class:"w-full h-full flex items-center justify-center"},ot=["innerHTML"],tt={key:1,class:"w-full h-full flex items-center justify-center"},at={key:0,class:"w-full h-full flex items-center justify-center"},nt=Te({__name:"NewCamera",setup(st){I.registerLanguage("typescript",He),I.registerLanguage("yaml",je),I.registerLanguage("json",Ee),I.registerLanguage("python",Ue);const{smallMobileActive:E}=xe(),oe=Ne(),z=new we,te=b(new Set),ae=b(),ne=b(!1),M=b(0),$=b(),U=b([0]),V=b(),se=b(["high-resolution","mid-resolution","low-resolution","snapshot"]),O=Pe(),A=b(!1),G=b(!1),u=b({disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}],recording:{enabled:!1},interface:{streamingMode:"webrtc"},extensions:{hub:[],plugins:[]}}),{mutate:re,isPending:ie}=z.createCameraQuery(),{mutateAsync:le,isPending:ce}=z.previewCameraQuery(),d=Re(()=>ie.value||ne.value),B=De("commonmark",{highlight(n,o){if(o&&I.getLanguage(o))try{return'<pre><code class="hljs">'+I.highlight(n,{language:o,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+B.utils.escapeHtml(n)+"</code></pre>"}});Ve(A,n=>{n||setTimeout(()=>{O.value={presets:[],md:void 0}},300)});const me=n=>{u.value.sources[n].urls.push({protocol:"rtsp://",url:[]})},ue=(n,o)=>{u.value.sources[n].urls.splice(o,1)},de=()=>{u.value.sources.push({name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}),U.value=[u.value.sources.length]},pe=n=>{u.value.sources.splice(n,1)},N=n=>{let o,c,w;switch(n){case"bubble://":o=[],c=Object.assign({"../markdowns/bubble.md":oo});break;case"dvrip://":o=[],c=Object.assign({"../markdowns/dvrip.md":to});break;case"echo:":o=[],c=Object.assign({"../markdowns/echo.md":ao});break;case"exec:":o=[],c=Object.assign({"../markdowns/exec.md":no});break;case"expr:":o=[],c=Object.assign({"../markdowns/expr.md":so});break;case"ffmpeg:":o=ee,c=Object.assign({"../markdowns/ffmpeg.md":ro});break;case"gopro://":o=ee,c=Object.assign({"../markdowns/gopro.md":io});break;case"hass:":o=[],c=Object.assign({"../markdowns/hass.md":lo});break;case"homekit://":o=Xe,c=Object.assign({"../markdowns/homekit.md":co});break;case"http://":case"https://":case"httpx://":case"tcp://":o=Qe,c=Object.assign({"../markdowns/http.md":mo});break;case"isapi://":o=[],c=Object.assign({"../markdowns/isapi.md":uo});break;case"ivideon:":o=[],c=Object.assign({"../markdowns/ivideon.md":po});break;case"kasa://":o=[],c=Object.assign({"../markdowns/kasa.md":ho});break;case"nest:":o=Ze,c=Object.assign({"../markdowns/nest.md":fo});break;case"onvif://":o=[],c=Object.assign({"../markdowns/onvif.md":go});break;case"roborock://":o=[],c=Object.assign({"../markdowns/roborock.md":bo});break;case"rtmp://":o=[],c=Object.assign({"../markdowns/rtmp.md":vo});break;case"rtsp://":case"rtspx://":o=Je,c=Object.assign({"../markdowns/rtsp.md":wo});break;case"tapo://":o=[],c=Object.assign({"../markdowns/tapo.md":_o});break;case"webrtc:":o=eo,c=Object.assign({"../markdowns/webrtc.md":yo});break;case"webtorrent:":o=[],c=Object.assign({"../markdowns/webtorrent.md":xo});break;default:o=[],c=void 0;break}return c&&(w=Object.values(c)[0]),O.value={presets:o,md:w},{presets:o,md:w}},he=n=>{N(n),A.value=!0},fe=async n=>{V.value=void 0,G.value=!0;const o=n.url.join(""),w={url:o.includes(n.protocol)?o:`${n.protocol}${o}`},t=await le({cameraData:w});V.value=t?`data:image/jpeg;base64,${t}`:"ERROR",V.value!=="ERROR"&&te.value.add(w.url)},ge=n=>({...n,pluginId:"native",type:"camera",isCloud:!1,hasLight:!1,hasSiren:!1,hasBinarySensor:!1,hasBattery:!1,activityZones:[],activitySettings:{motion:{timeout:20},object:{confidence:.7}},frameWorkerSettings:{decoder:"wasm",fps:10,resolution:640},sources:n.sources.map(c=>{let w=c.urls.map(t=>{if(t.url){const i=t.url.join("");return i.includes(t.protocol)?i:`${t.protocol}${i}`}}).filter(Boolean);return{_id:"",...c,urls:w}})}),be=n=>{const{isLoading:o}=We(0,{parent:".topbar"});o.value=!0;let c=ge(n);re({cameraData:c},{onSuccess:async()=>{o.value=!1,await Be(500),oe.push({path:"/cameras"})}})},ve=(n,o)=>{o.protocol=n};return Ie(()=>{}),(n,o)=>{const c=ke,w=ye;return f(),P("main",{class:K({"px-0":e(E)})},[l("div",ko,[a(e(ze),{ref_key:"cameraVeeForm",ref:ae,class:"firststeps-form flex flex-col h-full w-full","validation-schema":e(_e),"initial-values":e(u),onSubmit:o[10]||(o[10]=t=>be(t))},{default:s(()=>[l("div",{class:K(["mb-3 flex items-center",{"mx-2":e(E)}]),style:{height:"30px"}},[l("h1",So,m(n.$t("views.new_camera.title")),1),a(R,{loading:e(d),variant:"text",color:"green",type:"submit",class:"ml-auto"},{default:s(()=>[a(k,{size:"15",class:"mr-1"},{default:s(()=>[h(m(e(X)),1)]),_:1}),h(" "+m(n.$t("components.form.button.add")),1)]),_:1},8,["loading"])],2),l("div",To,[l("div",null,[l("span",Po,m(n.$t("components.form.label.camera")),1),a(F,{modelValue:e(M),"onUpdate:modelValue":o[1]||(o[1]=t=>H(M)?M.value=t:null),class:"inner-component mt-2"},{default:s(()=>[a(L,{elevation:"0",value:1},{default:s(()=>[a(W,{style:{height:"48px"},class:"truncate"},{default:s(()=>[h(m(n.$t("views.new_camera.camera")),1)]),_:1}),a(D,{eager:""},{default:s(()=>[l("div",Ro,[a(e(v),{modelValue:e(u).name,"onUpdate:modelValue":o[0]||(o[0]=t=>e(u).name=t),name:"name"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Vo,m(n.$t("components.form.label.camera_name")),1),a(S,_({loading:e(d),variant:"outlined",name:"name",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),l("div",Io,[l("span",Ao,m(n.$t("components.form.label.camera_information")),1),a(F,{modelValue:e($),"onUpdate:modelValue":o[8]||(o[8]=t=>H($)?$.value=t:null),class:"inner-component mt-2"},{default:s(()=>[a(L,{elevation:"0",value:1},{default:s(()=>[a(W,{style:{height:"48px"},class:"truncate"},{default:s(()=>[h(m(n.$t("views.new_camera.camera_information")),1)]),_:1}),a(D,{eager:""},{default:s(()=>[l("div",Co,[a(e(v),{modelValue:e(u).info.manufacturer,"onUpdate:modelValue":o[2]||(o[2]=t=>e(u).info.manufacturer=t),name:"info.manufacturer"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Ho,m(n.$t("components.form.label.camera_manufacturer")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.manufacturer",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",jo,[a(e(v),{modelValue:e(u).info.model,"onUpdate:modelValue":o[3]||(o[3]=t=>e(u).info.model=t),name:"info.model"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Eo,m(n.$t("components.form.label.camera_model")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.model",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",Uo,[a(e(v),{modelValue:e(u).info.hardware,"onUpdate:modelValue":o[4]||(o[4]=t=>e(u).info.hardware=t),name:"info.hardware"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Oo,m(n.$t("components.form.label.camera_hardware")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.hardware",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",Go,[a(e(v),{modelValue:e(u).info.serialNumber,"onUpdate:modelValue":o[5]||(o[5]=t=>e(u).info.serialNumber=t),name:"info.serialNumber"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Mo,m(n.$t("components.form.label.camera_serialNumber")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.serialNumber",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",$o,[a(e(v),{modelValue:e(u).info.firmwareVersion,"onUpdate:modelValue":o[6]||(o[6]=t=>e(u).info.firmwareVersion=t),name:"info.firmwareVersion"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Fo,m(n.$t("components.form.label.camera_firmwareVersion")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.firmwareVersion",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",Lo,[a(e(v),{modelValue:e(u).info.supportUrl,"onUpdate:modelValue":o[7]||(o[7]=t=>e(u).info.supportUrl=t),name:"info.supportUrl"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Wo,m(n.$t("components.form.label.camera_supportUrl")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.supportUrl",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),l("div",Do,[l("span",zo,m(n.$t("components.form.label.camera_sources")),1),a(F,{modelValue:e(U),"onUpdate:modelValue":o[9]||(o[9]=t=>H(U)?U.value=t:null),class:"inner-component mt-2",multiple:"",variant:"accordion"},{default:s(()=>[(f(!0),P(q,null,J(e(u).sources,(t,i)=>(f(),j(L,{key:i,value:i+1,elevation:"0",style:Ce(e(E)?"border-radius: 0px !important":"")},{default:s(()=>[a(W,{style:{height:"48px"},class:"truncate"},{actions:s(({expanded:r})=>[l("div",Bo,[a(R,{disabled:e(u).sources.length<2||e(d),size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:x(g=>pe(i),["stop"])},{default:s(()=>[a(k,null,{default:s(()=>[h(m(e(Oe)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),r?(f(),j(k,{key:0,size:"22.5"},{default:s(()=>[h(m(e(Ge)),1)]),_:1})):(f(),j(k,{key:1,size:"22.5"},{default:s(()=>[h(m(e(Me)),1)]),_:1}))])]),default:s(()=>[h(m(n.$t("views.new_camera.source")+": "+i)+" ",1)]),_:2},1024),a(D,{eager:""},{default:s(()=>[l("div",No,[a(e(v),{modelValue:t.name,"onUpdate:modelValue":r=>t.name=r,name:`sources[${i}].name`},{default:s(({field:r,errorMessage:g,errors:p})=>[l("label",{for:`sources[${i}].name`,class:"v-label"},m(n.$t("components.form.label.source_name")),9,Yo),a(S,_({loading:e(d),variant:"outlined",name:`sources[${i}].name`,type:"text",density:"compact",ref_for:!0},r,{error:p.length>0,"error-messages":g}),null,16,["loading","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),a(e(v),{modelValue:t.roles,"onUpdate:modelValue":r=>t.roles=r,name:`sources[${i}].roles`},{default:s(({field:r,errorMessage:g,errors:p})=>[l("label",{for:`sources[${i}].roles`,class:"v-label"},m(n.$t("components.form.label.source_role")),9,Ko),a(Q,_({loading:e(d),items:e(se).filter(T=>!e(u).sources.some((C,y)=>{var Y;return((Y=C.roles)==null?void 0:Y.includes(T))&&y!==i})),variant:"outlined",name:`sources[${i}].roles`,type:"text",density:"compact",chips:"",multiple:"",clearable:"",ref_for:!0},r,{error:p.length>0,"error-messages":g,"model-value":r.value,onKeydown:x(()=>null,["prevent"])}),{chip:s(({item:T})=>[a(Ye,{color:"#df2a4c"},{default:s(()=>[h(m(T.title),1)]),_:2},1024)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),l("label",{for:`sources[${i}].urls[].url`,class:"v-label"},m(n.$t("components.form.label.camera_sources")),9,qo),(f(!0),P(q,null,J(t.urls,(r,g)=>(f(),P("div",{key:g},[l("div",Jo,[a(e(v),{modelValue:r.protocol,"onUpdate:modelValue":p=>r.protocol=p,name:`sources[${i}].urls[${g}].protocol`},{default:s(({field:p,errors:T,errorMessage:C})=>[a(Q,_({loading:e(d),items:e(qe),"hide-no-data":"","hide-details":"",variant:"outlined",name:`sources[${i}].urls[${g}].protocol`,type:"text",density:"compact",style:{"min-width":"125px","max-width":"125px","min-height":"40px","max-height":"40px"},class:"camera-protocol",ref_for:!0},p,{error:T.length>0,"error-messages":C,"model-value":p.value,onKeydown:x(()=>null,["prevent"]),"onUpdate:modelValue":y=>ve(y,r)}),null,16,["loading","items","name","error","error-messages","model-value","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),a(e(v),{modelValue:r.url,"onUpdate:modelValue":p=>r.url=p,name:`sources[${i}].urls[${g}].url`},{default:s(({field:p,errorMessage:T,errors:C})=>[a(Ke,{modelValue:r.url,"onUpdate:modelValue":[y=>r.url=y,y=>p.value=y],loading:e(d),clearable:"",chips:"",multiple:"",items:N(r.protocol).presets,variant:"outlined",name:`sources[${i}].urls[${g}].url`,type:"text",density:"compact",class:"camera-source",error:C.length>0,"error-messages":T},{"append-inner":s(()=>[t.urls.length>1?(f(),j(R,{key:0,size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:t.urls.length<2||e(d),onClick:x(y=>ue(i,g),["prevent"])},{default:s(()=>[a(k,{size:"20"},{default:s(()=>[h(m(e($e)),1)]),_:1})]),_:2},1032,["disabled","onClick"])):Ae("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","loading","items","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),l("div",Xo,[a(R,{disabled:!r.protocol||!r.url.length||e(d),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:x(p=>fe(r),["prevent"])},{default:s(()=>[a(k,{size:"20"},{default:s(()=>[h(m(e(Fe)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),a(R,{disabled:e(d),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:x(p=>he(r.protocol),["prevent"])},{default:s(()=>[a(k,{size:"20"},{default:s(()=>[h(m(e(Le)),1)]),_:1})]),_:2},1032,["disabled","onClick"])])])]))),128)),l("div",Qo,[a(R,{disabled:e(d),color:"#df2a4c",variant:"flat",onClick:x(r=>me(i),["prevent"])},{default:s(()=>[h(m(n.$t("components.form.button.add_source")),1)]),_:2},1032,["disabled","onClick"])])])]),_:2},1024)]),_:2},1032,["value","style"]))),128))]),_:1},8,["modelValue"]),l("div",Zo,[a(R,{disabled:e(d),variant:"text",color:"#df2a4c",icon:"",onClick:x(de,["prevent"])},{default:s(()=>[a(k,{size:"30"},{default:s(()=>[h(m(e(X)),1)]),_:1})]),_:1},8,["disabled"])])])])]),_:1},8,["validation-schema","initial-values"])]),a(c,{modelValue:e(A),"onUpdate:modelValue":o[11]||(o[11]=t=>H(A)?A.value=t:null),title:n.$t("components.dialog.title.information"),loading:e(d),"hide-confirm-button":""},{content:s(()=>{var t;return[(t=e(O))!=null&&t.md?(f(),P("div",et,[l("div",{class:"w-full markdown-body",innerHTML:e(B).render(e(O).md)},null,8,ot)])):(f(),P("div",tt,[a(Z,{color:"#df2a4c",indeterminate:""})]))]}),_:1},8,["modelValue","title","loading"]),a(c,{modelValue:e(G),"onUpdate:modelValue":o[12]||(o[12]=t=>H(G)?G.value=t:null),title:n.$t("components.dialog.title.preview"),loading:e(d),"hide-confirm-button":""},{content:s(()=>[!e(V)||e(ce)?(f(),P("div",at,[a(Z,{color:"#df2a4c",indeterminate:""})])):(f(),j(w,{key:1,class:"mt-5 inner-component","show-camera-name":"","current-camera":e(V),"border-radius":e(E)?0:3,border:!1,target:"preview","preview-src":e(V),"button-elevation":"1"},null,8,["current-camera","border-radius","preview-src"]))]),_:1},8,["modelValue","title","loading"])],2)}}}),Jt=Se(nt,[["__scopeId","data-v-c173fa5d"]]);export{Jt as default};
448
+ `,ko={class:"h-full w-full inline-size mb-safe"},So={class:"page-title"},To={class:"window"},Po={class:"subview-title text-color"},Ro={class:"relative"},Vo={for:"name",class:"v-label"},Io={class:"mt-5"},Ao={class:"subview-title text-color"},Co={class:"relative"},Ho={for:"info.manufacturer",class:"v-label"},jo={class:"relative"},Eo={for:"info.model",class:"v-label"},Uo={class:"relative"},Oo={for:"info.hardware",class:"v-label"},Go={class:"relative"},Mo={for:"info.serialNumber",class:"v-label"},$o={class:"relative"},Fo={for:"info.firmwareVersion",class:"v-label"},Lo={class:"relative"},Wo={for:"info.supportUrl",class:"v-label"},Do={class:"mt-5"},Bo={class:"subview-title text-color"},zo={class:"flex flex-row items-center justify-center ml-auto"},No={class:"relative w-full flex flex-col"},Yo=["for"],Ko=["for"],qo=["for"],Jo={class:"w-full flex flex-row justify-center my-1"},Xo={class:"ml-2 flex items-center justify-center",style:{"max-height":"44px"}},Qo={class:"flex items-center ml-auto"},Zo={class:"flex flex-row w-full items-center justify-center mt-3"},et={key:0,class:"w-full h-full flex items-center justify-center"},ot=["innerHTML"],tt={key:1,class:"w-full h-full flex items-center justify-center"},at={key:0,class:"w-full h-full flex items-center justify-center"},nt=Te({__name:"NewCamera",setup(st){I.registerLanguage("typescript",He),I.registerLanguage("yaml",je),I.registerLanguage("json",Ee),I.registerLanguage("python",Ue);const{smallMobileActive:E}=xe(),oe=Ne(),B=new we,te=b(new Set),ae=b(),ne=b(!1),M=b(0),$=b(),U=b([0]),V=b(),se=b(["high-resolution","mid-resolution","low-resolution","snapshot"]),O=Pe(),A=b(!1),G=b(!1),u=b({disabled:!1,name:"",info:{manufacturer:"",model:"",hardware:"",serialNumber:"",firmwareVersion:"",supportUrl:""},sources:[{name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}],recording:{enabled:!1},interface:{streamingMode:"webrtc"},extensions:{hub:[],plugins:[]}}),{mutate:re,isPending:ie}=B.createCameraQuery(),{mutateAsync:le,isPending:ce}=B.previewCameraQuery(),d=Re(()=>ie.value||ne.value),z=De("commonmark",{highlight(n,o){if(o&&I.getLanguage(o))try{return'<pre><code class="hljs">'+I.highlight(n,{language:o,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+z.utils.escapeHtml(n)+"</code></pre>"}});Ve(A,n=>{n||setTimeout(()=>{O.value={presets:[],md:void 0}},300)});const me=n=>{u.value.sources[n].urls.push({protocol:"rtsp://",url:[]})},ue=(n,o)=>{u.value.sources[n].urls.splice(o,1)},de=()=>{u.value.sources.push({name:"",roles:[],urls:[{protocol:"rtsp://",url:[]}]}),U.value=[u.value.sources.length]},pe=n=>{u.value.sources.splice(n,1)},N=n=>{let o,c,w;switch(n){case"bubble://":o=[],c=Object.assign({"../markdowns/bubble.md":oo});break;case"dvrip://":o=[],c=Object.assign({"../markdowns/dvrip.md":to});break;case"echo:":o=[],c=Object.assign({"../markdowns/echo.md":ao});break;case"exec:":o=[],c=Object.assign({"../markdowns/exec.md":no});break;case"expr:":o=[],c=Object.assign({"../markdowns/expr.md":so});break;case"ffmpeg:":o=ee,c=Object.assign({"../markdowns/ffmpeg.md":ro});break;case"gopro://":o=ee,c=Object.assign({"../markdowns/gopro.md":io});break;case"hass:":o=[],c=Object.assign({"../markdowns/hass.md":lo});break;case"homekit://":o=Xe,c=Object.assign({"../markdowns/homekit.md":co});break;case"http://":case"https://":case"httpx://":case"tcp://":o=Qe,c=Object.assign({"../markdowns/http.md":mo});break;case"isapi://":o=[],c=Object.assign({"../markdowns/isapi.md":uo});break;case"ivideon:":o=[],c=Object.assign({"../markdowns/ivideon.md":po});break;case"kasa://":o=[],c=Object.assign({"../markdowns/kasa.md":ho});break;case"nest:":o=Ze,c=Object.assign({"../markdowns/nest.md":fo});break;case"onvif://":o=[],c=Object.assign({"../markdowns/onvif.md":go});break;case"roborock://":o=[],c=Object.assign({"../markdowns/roborock.md":bo});break;case"rtmp://":o=[],c=Object.assign({"../markdowns/rtmp.md":vo});break;case"rtsp://":case"rtspx://":o=Je,c=Object.assign({"../markdowns/rtsp.md":wo});break;case"tapo://":o=[],c=Object.assign({"../markdowns/tapo.md":_o});break;case"webrtc:":o=eo,c=Object.assign({"../markdowns/webrtc.md":yo});break;case"webtorrent:":o=[],c=Object.assign({"../markdowns/webtorrent.md":xo});break;default:o=[],c=void 0;break}return c&&(w=Object.values(c)[0]),O.value={presets:o,md:w},{presets:o,md:w}},he=n=>{N(n),A.value=!0},fe=async n=>{V.value=void 0,G.value=!0;const o=n.url.join(""),w={url:o.includes(n.protocol)?o:`${n.protocol}${o}`},t=await le({cameraData:w});V.value=t?`data:image/jpeg;base64,${t}`:"ERROR",V.value!=="ERROR"&&te.value.add(w.url)},ge=n=>({...n,pluginId:"native",type:"camera",isCloud:!1,hasLight:!1,hasSiren:!1,hasBinarySensor:!1,hasBattery:!1,activityZones:[],activitySettings:{motion:{timeout:20},object:{confidence:.7}},frameWorkerSettings:{decoder:"wasm",fps:10,resolution:640},sources:n.sources.map(c=>{let w=c.urls.map(t=>{if(t.url){const i=t.url.join("");return i.includes(t.protocol)?i:`${t.protocol}${i}`}}).filter(Boolean);return{_id:"",...c,urls:w}})}),be=n=>{const{isLoading:o}=We(0,{parent:".topbar"});o.value=!0;let c=ge(n);re({cameraData:c},{onSuccess:async()=>{o.value=!1,await ze(500),oe.push({path:"/cameras"})}})},ve=(n,o)=>{o.protocol=n};return Ie(()=>{}),(n,o)=>{const c=ke,w=ye;return f(),P("main",{class:K({"px-0":e(E)})},[l("div",ko,[a(e(Be),{ref_key:"cameraVeeForm",ref:ae,class:"firststeps-form flex flex-col h-full w-full","validation-schema":e(_e),"initial-values":e(u),onSubmit:o[10]||(o[10]=t=>be(t))},{default:s(()=>[l("div",{class:K(["mb-3 flex items-center",{"mx-2":e(E)}]),style:{height:"30px"}},[l("h1",So,m(n.$t("views.new_camera.title")),1),a(R,{loading:e(d),variant:"text",color:"green",type:"submit",class:"ml-auto"},{default:s(()=>[a(k,{size:"15",class:"mr-1"},{default:s(()=>[h(m(e(X)),1)]),_:1}),h(" "+m(n.$t("components.form.button.add")),1)]),_:1},8,["loading"])],2),l("div",To,[l("div",null,[l("span",Po,m(n.$t("components.form.label.camera")),1),a(F,{modelValue:e(M),"onUpdate:modelValue":o[1]||(o[1]=t=>H(M)?M.value=t:null),class:"inner-component mt-2"},{default:s(()=>[a(L,{elevation:"0",value:1},{default:s(()=>[a(W,{style:{height:"48px"},class:"truncate"},{default:s(()=>[h(m(n.$t("views.new_camera.camera")),1)]),_:1}),a(D,{eager:""},{default:s(()=>[l("div",Ro,[a(e(v),{modelValue:e(u).name,"onUpdate:modelValue":o[0]||(o[0]=t=>e(u).name=t),name:"name"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Vo,m(n.$t("components.form.label.camera_name")),1),a(S,_({loading:e(d),variant:"outlined",name:"name",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),l("div",Io,[l("span",Ao,m(n.$t("components.form.label.camera_information")),1),a(F,{modelValue:e($),"onUpdate:modelValue":o[8]||(o[8]=t=>H($)?$.value=t:null),class:"inner-component mt-2"},{default:s(()=>[a(L,{elevation:"0",value:1},{default:s(()=>[a(W,{style:{height:"48px"},class:"truncate"},{default:s(()=>[h(m(n.$t("views.new_camera.camera_information")),1)]),_:1}),a(D,{eager:""},{default:s(()=>[l("div",Co,[a(e(v),{modelValue:e(u).info.manufacturer,"onUpdate:modelValue":o[2]||(o[2]=t=>e(u).info.manufacturer=t),name:"info.manufacturer"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Ho,m(n.$t("components.form.label.camera_manufacturer")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.manufacturer",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",jo,[a(e(v),{modelValue:e(u).info.model,"onUpdate:modelValue":o[3]||(o[3]=t=>e(u).info.model=t),name:"info.model"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Eo,m(n.$t("components.form.label.camera_model")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.model",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",Uo,[a(e(v),{modelValue:e(u).info.hardware,"onUpdate:modelValue":o[4]||(o[4]=t=>e(u).info.hardware=t),name:"info.hardware"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Oo,m(n.$t("components.form.label.camera_hardware")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.hardware",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",Go,[a(e(v),{modelValue:e(u).info.serialNumber,"onUpdate:modelValue":o[5]||(o[5]=t=>e(u).info.serialNumber=t),name:"info.serialNumber"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Mo,m(n.$t("components.form.label.camera_serialNumber")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.serialNumber",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",$o,[a(e(v),{modelValue:e(u).info.firmwareVersion,"onUpdate:modelValue":o[6]||(o[6]=t=>e(u).info.firmwareVersion=t),name:"info.firmwareVersion"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Fo,m(n.$t("components.form.label.camera_firmwareVersion")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.firmwareVersion",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])]),l("div",Lo,[a(e(v),{modelValue:e(u).info.supportUrl,"onUpdate:modelValue":o[7]||(o[7]=t=>e(u).info.supportUrl=t),name:"info.supportUrl"},{default:s(({field:t,errorMessage:i,errors:r})=>[l("label",Wo,m(n.$t("components.form.label.camera_supportUrl")),1),a(S,_({loading:e(d),variant:"outlined",name:"info.supportUrl",type:"text",density:"compact"},t,{error:r.length>0,"error-messages":i}),null,16,["loading","error","error-messages"])]),_:1},8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),l("div",Do,[l("span",Bo,m(n.$t("components.form.label.camera_sources")),1),a(F,{modelValue:e(U),"onUpdate:modelValue":o[9]||(o[9]=t=>H(U)?U.value=t:null),class:"inner-component mt-2",multiple:"",variant:"accordion"},{default:s(()=>[(f(!0),P(q,null,J(e(u).sources,(t,i)=>(f(),j(L,{key:i,value:i+1,elevation:"0",style:Ce(e(E)?"border-radius: 0px !important":"")},{default:s(()=>[a(W,{style:{height:"48px"},class:"truncate"},{actions:s(({expanded:r})=>[l("div",zo,[a(R,{disabled:e(u).sources.length<2||e(d),size:"22.5",rounded:"",color:"red",variant:"text",class:"mx-2",onClick:x(g=>pe(i),["stop"])},{default:s(()=>[a(k,null,{default:s(()=>[h(m(e(Oe)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),r?(f(),j(k,{key:0,size:"22.5"},{default:s(()=>[h(m(e(Ge)),1)]),_:1})):(f(),j(k,{key:1,size:"22.5"},{default:s(()=>[h(m(e(Me)),1)]),_:1}))])]),default:s(()=>[h(m(n.$t("views.new_camera.source")+": "+i)+" ",1)]),_:2},1024),a(D,{eager:""},{default:s(()=>[l("div",No,[a(e(v),{modelValue:t.name,"onUpdate:modelValue":r=>t.name=r,name:`sources[${i}].name`},{default:s(({field:r,errorMessage:g,errors:p})=>[l("label",{for:`sources[${i}].name`,class:"v-label"},m(n.$t("components.form.label.source_name")),9,Yo),a(S,_({loading:e(d),variant:"outlined",name:`sources[${i}].name`,type:"text",density:"compact",ref_for:!0},r,{error:p.length>0,"error-messages":g}),null,16,["loading","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),a(e(v),{modelValue:t.roles,"onUpdate:modelValue":r=>t.roles=r,name:`sources[${i}].roles`},{default:s(({field:r,errorMessage:g,errors:p})=>[l("label",{for:`sources[${i}].roles`,class:"v-label"},m(n.$t("components.form.label.source_role")),9,Ko),a(Q,_({loading:e(d),items:e(se).filter(T=>!e(u).sources.some((C,y)=>{var Y;return((Y=C.roles)==null?void 0:Y.includes(T))&&y!==i})),variant:"outlined",name:`sources[${i}].roles`,type:"text",density:"compact",chips:"",multiple:"",clearable:"",ref_for:!0},r,{error:p.length>0,"error-messages":g,"model-value":r.value,onKeydown:x(()=>null,["prevent"])}),{chip:s(({item:T})=>[a(Ye,{color:"#df2a4c"},{default:s(()=>[h(m(T.title),1)]),_:2},1024)]),_:2},1040,["loading","items","name","error","error-messages","model-value"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),l("label",{for:`sources[${i}].urls[].url`,class:"v-label"},m(n.$t("components.form.label.camera_sources")),9,qo),(f(!0),P(q,null,J(t.urls,(r,g)=>(f(),P("div",{key:g},[l("div",Jo,[a(e(v),{modelValue:r.protocol,"onUpdate:modelValue":p=>r.protocol=p,name:`sources[${i}].urls[${g}].protocol`},{default:s(({field:p,errors:T,errorMessage:C})=>[a(Q,_({loading:e(d),items:e(qe),"hide-no-data":"","hide-details":"",variant:"outlined",name:`sources[${i}].urls[${g}].protocol`,type:"text",density:"compact",style:{"min-width":"125px","max-width":"125px","min-height":"40px","max-height":"40px"},class:"camera-protocol",ref_for:!0},p,{error:T.length>0,"error-messages":C,"model-value":p.value,onKeydown:x(()=>null,["prevent"]),"onUpdate:modelValue":y=>ve(y,r)}),null,16,["loading","items","name","error","error-messages","model-value","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),a(e(v),{modelValue:r.url,"onUpdate:modelValue":p=>r.url=p,name:`sources[${i}].urls[${g}].url`},{default:s(({field:p,errorMessage:T,errors:C})=>[a(Ke,{modelValue:r.url,"onUpdate:modelValue":[y=>r.url=y,y=>p.value=y],loading:e(d),clearable:"",chips:"",multiple:"",items:N(r.protocol).presets,variant:"outlined",name:`sources[${i}].urls[${g}].url`,type:"text",density:"compact",class:"camera-source",error:C.length>0,"error-messages":T},{"append-inner":s(()=>[t.urls.length>1?(f(),j(R,{key:0,size:"28",variant:"text",rounded:"",density:"compact",color:"red",disabled:t.urls.length<2||e(d),onClick:x(y=>ue(i,g),["prevent"])},{default:s(()=>[a(k,{size:"20"},{default:s(()=>[h(m(e($e)),1)]),_:1})]),_:2},1032,["disabled","onClick"])):Ae("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","loading","items","name","error","error-messages"])]),_:2},1032,["modelValue","onUpdate:modelValue","name"]),l("div",Xo,[a(R,{disabled:!r.protocol||!r.url.length||e(d),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:x(p=>fe(r),["prevent"])},{default:s(()=>[a(k,{size:"20"},{default:s(()=>[h(m(e(Fe)),1)]),_:1})]),_:2},1032,["disabled","onClick"]),a(R,{disabled:e(d),color:"#5e5e5e",density:"compact",icon:"",variant:"text",onClick:x(p=>he(r.protocol),["prevent"])},{default:s(()=>[a(k,{size:"20"},{default:s(()=>[h(m(e(Le)),1)]),_:1})]),_:2},1032,["disabled","onClick"])])])]))),128)),l("div",Qo,[a(R,{disabled:e(d),color:"#df2a4c",variant:"flat",onClick:x(r=>me(i),["prevent"])},{default:s(()=>[h(m(n.$t("components.form.button.add_source")),1)]),_:2},1032,["disabled","onClick"])])])]),_:2},1024)]),_:2},1032,["value","style"]))),128))]),_:1},8,["modelValue"]),l("div",Zo,[a(R,{disabled:e(d),variant:"text",color:"#df2a4c",icon:"",onClick:x(de,["prevent"])},{default:s(()=>[a(k,{size:"30"},{default:s(()=>[h(m(e(X)),1)]),_:1})]),_:1},8,["disabled"])])])])]),_:1},8,["validation-schema","initial-values"])]),a(c,{modelValue:e(A),"onUpdate:modelValue":o[11]||(o[11]=t=>H(A)?A.value=t:null),title:n.$t("components.dialog.title.information"),loading:e(d),"hide-confirm-button":""},{content:s(()=>{var t;return[(t=e(O))!=null&&t.md?(f(),P("div",et,[l("div",{class:"w-full markdown-body",innerHTML:e(z).render(e(O).md)},null,8,ot)])):(f(),P("div",tt,[a(Z,{color:"#df2a4c",indeterminate:""})]))]}),_:1},8,["modelValue","title","loading"]),a(c,{modelValue:e(G),"onUpdate:modelValue":o[12]||(o[12]=t=>H(G)?G.value=t:null),title:n.$t("components.dialog.title.preview"),loading:e(d),"hide-confirm-button":""},{content:s(()=>[!e(V)||e(ce)?(f(),P("div",at,[a(Z,{color:"#df2a4c",indeterminate:""})])):(f(),j(w,{key:1,class:"mt-5 inner-component","show-camera-name":"","current-camera":e(V),"border-radius":e(E)?0:3,border:!1,target:"preview","preview-src":e(V),"button-elevation":"1"},null,8,["current-camera","border-radius","preview-src"]))]),_:1},8,["modelValue","title","loading"])],2)}}}),Jt=Se(nt,[["__scopeId","data-v-c173fa5d"]]);export{Jt as default};
@@ -1 +1 @@
1
- import{a as we,b as at,C as lt,d as it,e as rt,g as ut}from"./VPlayer-LX5HGLrY.js";import{_ as ct}from"./VPluginCard-CFpg0LM4.js";import{F as $e,t as Ee,r as a,c as H,w as Y,e as l,f as u,j as s,u as e,T as d,l as y,n as X,V as J,M as f,R as g,q as P,z as te,i as fe,aa as dt,U as ft,X as Qe,O as B,N as Pe,Q as De}from"./@vue-C10tA4b9.js";import{Y as Fe,k as ce,i as oe,c as Be}from"./@mdi-C-QA1nE3.js";import{i as ze}from"./vue3-toastify-DQr2dOCx.js";import{P as Ie}from"./plugins-D80RNVmI.js";import{A as Me,M as Ve,i as Ue,d as ke,C as Je,D as je,w as Ye,E as Re,F as Le,z as mt,f as pt,t as vt}from"./main-BCWSiwnj.js";import{e as ae,b as me,V as de,T as gt,U as _t,C as ht,w as yt,G as qe,f as He,I as bt,J as xt,n as wt,x as $t}from"./vuetify-CrcT8VHB.js";import{H as se,t as It,y as kt,j as Ct,p as St}from"./highlight.js-TxRCSjhv.js";import{M as Pt}from"./markdown-it-DI8MEbma.js";import{u as Dt}from"./vue-router-OPGDMnws.js";import{y as Vt}from"./@vueuse-BPeqNGoM.js";import"./qrcode-SHonoxyK.js";import"./dijkstrajs-D_NXgYpA.js";import"./vee-validate-Ck3I2guh.js";import"./zod-BaF2dDCd.js";import"./pinia-CitQ5b66.js";import"./@vee-validate-D_G0ehOl.js";import"./draggabilly-Arakw9Dk.js";import"./@xterm-B4Ga69iL.js";import"./get-size-D1dS-IaP.js";import"./unidragger-BYtqgAQ0.js";import"./ev-emitter-CXYwG0eJ.js";import"./@tanstack-B-9PO-kT.js";import"./VConfigEditor.vue_vue_type_script_setup_true_lang-C_95ELTZ.js";import"./ace-builds-CigWTak4.js";import"./@vueform-Bj73kRPS.js";import"./system-CS_ZOs3_.js";import"./VConsole-BHy92Ws0.js";import"./vue-inline-svg-C2gR6nRD.js";import"./vue-i18n-DuCDz9TJ.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-B53o3e_J.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-C-8W4FeM.js";import"./@popperjs-BQBsAJpH.js";import"./nprogress-DSyAi0LF.js";import"./mdurl-k9Sl0PQj.js";import"./uc.micro-kMc2yuuw.js";import"./entities-C20TfXL6.js";import"./linkify-it-DmNjr4Kv.js";import"./punycode.js-Dj65hjkv.js";const jt={class:"w-full"},Lt={key:0,class:"w-full"},zt={class:"flex flex-col justify-center items-center mb-5"},Et={for:"restoreInput",class:"cursor-pointer text-center text-sm"},Ft=["accept"],Ot={key:0,class:"text-red text-sm"},Tt={key:1,class:"w-full flex flex-col items-center justify-center"},At={class:"relative mb-4 w-full"},Nt=["src","type"],Qt={class:"flex items-center justify-center"},Bt={class:"mx-2"},Mt={class:"disabled-text"},Ut={class:"mt-10"},Jt={class:"box-title w-full mb-3"},Rt={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},qt=$e({__name:"VAudioDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=a([]),x=a(!1),p=a(!1),D=a(!1),b=a(!1),$=a(null),I=a(null),z=a(Me.join(",")),F=a(""),S=a({}),h=a(!1),V=a(),_=a(!0),{mutateAsync:E,isPending:A}=O.detectAudioQuery(),{data:M,isLoading:G}=O.getPluginInterfaceQuery(T.value,{type:"audioDetection"}),R=H(()=>A.value||G.value||h.value),w=n=>{const t=i.value.findIndex(o=>o.name===n);t>-1&&(i.value.splice(t,1),Z(),F.value="",V.value=void 0)},j=n=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],n.dataTransfer)if(n.dataTransfer.files.length>1)p.value=!0;else{const t=n.dataTransfer.files[0];Me.includes(t.type)&&t.size<=Ve?(i.value.push(t),te(()=>{k(t)})):t.size>Ve?b.value=!0:p.value=!0}},K=n=>{var o;p.value=!1,b.value=!1,i.value=[];const t=n.target;if(t&&t.files){if(((o=t.files)==null?void 0:o.length)>1)p.value=!0;else if(t.files.length===1){const m=t.files[0];m.size<=Ve?(i.value.push(m),te(()=>{k(m)})):b.value=!0}}},Z=()=>{$.value&&($.value.value="")},W=n=>n<1024?n+" bytes":n<1048576?(n/1024).toFixed(1)+" KB":(n/1048576).toFixed(1)+" MB",k=n=>{h.value=!0;const t=new Audio;t.src=URL.createObjectURL(n),t.onloadedmetadata=()=>{V.value={mimeType:n.type},h.value=!1}},q=async n=>{if(!i.value.length){D.value=!0;return}h.value=!0;const t=new FormData;t.append("upload",i.value[0]),t.append("config",JSON.stringify(n)),t.append("metadata",JSON.stringify(V.value));try{await E({pluginName:T.value,formData:t})?ze.info(Ue.global.t("components.detection_interface.audio_detected")):ze.info(Ue.global.t("components.detection_interface.audio_not_detected"))}catch(o){console.error("Error detecting audio",o)}finally{h.value=!1}};return Y(i,n=>{n.length>0?(D.value=!1,_.value=!1):(F.value="",V.value=void 0,_.value=!0)},{immediate:!0,deep:!0}),(n,t)=>{const o=we;return l(),u("div",jt,[s("div",{class:"file-upload-box p-4",onDrop:t[1]||(t[1]=P(m=>j(m),["prevent"])),onDragover:t[2]||(t[2]=P(m=>x.value=!0,["prevent"])),onDragenter:t[3]||(t[3]=P(m=>x.value=!0,["prevent"])),onDragleave:t[4]||(t[4]=P(m=>x.value=!1,["prevent"]))},[e(i).length?(l(),u("div",Tt,[s("div",At,[s("audio",{ref_key:"audioPlayer",ref:I,controls:"",class:"w-full"},[s("source",{src:e(F),type:e(i)[0].type},null,8,Nt),J(" Your browser does not support the audio element. ")],512)]),s("div",Qt,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:t[0]||(t[0]=P(m=>w(e(i)[0].name),["stop"]))},{default:g(()=>[f(ae,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",Bt,d(e(i)[0].name),1),s("span",Mt,"("+d(W(e(i)[0].size))+")",1)])])):(l(),u("div",Lt,[s("div",zt,[s("label",Et,d(n.$t("components.detection_interface.drop_or_select_audio_to_detect")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(z),onChange:K},null,40,Ft),e(p)?(l(),u("p",Ot,d(n.$t("components.detection_interface.only_one_audio_allowed")),1)):y("",!0),e(D)?(l(),u("p",{key:1,class:X(["text-red text-sm",{"mt-2":e(p)}])},d(n.$t("components.detection_interface.audio_required")),3)):y("",!0),e(b)?(l(),u("p",{key:2,class:X(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(n.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",Ut,[s("div",Jt,d(n.$t("components.detection_interface.interface_config")),1),e(S)&&Object.keys(e(S)).length?y("",!0):(l(),u("div",Rt,d(n.$t("components.detection_interface.no_interface_config")),1)),f(o,{config:e(S),"ui-schema":e(M),loading:e(R),"save-button-label":n.$t("components.detection_interface.detect_audio"),"disable-button":e(_),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:q},null,8,["config","ui-schema","loading","save-button-label","disable-button"])])])}}}),Ht=ke(qt,[["__scopeId","data-v-299a60c5"]]),Yt={class:"w-full"},Xt={key:0,class:"w-full"},Gt={class:"flex flex-col justify-center items-center mb-5"},Kt={for:"restoreInput",class:"cursor-pointer text-center text-sm"},Zt=["accept"],Wt={key:0,class:"text-red text-sm"},en={key:1,class:"w-full flex flex-col items-center justify-center"},tn={class:"relative mb-4"},nn=["src"],on={class:"flex items-center justify-center"},sn={class:"mx-2"},an={class:"disabled-text"},ln={class:"mt-10"},rn={class:"box-title w-full mb-3"},un={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},cn={class:"relative"},dn=["src"],fn=$e({__name:"VObjectDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=a([]),x=a(!1),p=a(!1),D=a(!1),b=a(!1),$=a(null),I=a(Je.join(",")),z=a(""),F=a({}),S=a(!1),h=a(),V=a([]),_=a(!1),E=a(!0),{mutateAsync:A,isPending:M}=O.detectObjectsQuery(),{data:G,isLoading:R}=O.getPluginInterfaceQuery(T.value,{type:"objectDetection"}),w=H(()=>M.value||R.value||S.value),j=t=>{const o=i.value.findIndex(m=>m.name===t);o>-1&&(i.value.splice(o,1),W(),z.value="",h.value=void 0)},K=t=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],t.dataTransfer)if(t.dataTransfer.files.length>1)p.value=!0;else{const o=t.dataTransfer.files[0];Je.includes(o.type)&&o.size<=je?(i.value.push(o),te(()=>{k(o)})):o.size>je?b.value=!0:p.value=!0}},Z=t=>{var m;p.value=!1,b.value=!1,i.value=[];const o=t.target;if(o&&o.files){if(((m=o.files)==null?void 0:m.length)>1)p.value=!0;else if(o.files.length===1){const L=o.files[0];L.size<=je?(i.value.push(L),te(()=>{k(L)})):b.value=!0}}},W=()=>{$.value&&($.value.value="")},k=t=>{S.value=!0;const o=new Image;o.src=URL.createObjectURL(t),o.onload=()=>{z.value=o.src,h.value={width:o.width,height:o.height},S.value=!1}},q=t=>t<1024?t+" bytes":t<1048576?(t/1024).toFixed(1)+" KB":(t/1048576).toFixed(1)+" MB",n=async t=>{if(!i.value.length){D.value=!0;return}S.value=!0;const o=new FormData;o.append("upload",i.value[0]),o.append("config",JSON.stringify(t)),o.append("metadata",JSON.stringify(h.value));try{const m=await A({pluginName:T.value,formData:o});_.value=!0,setTimeout(()=>{V.value=m},300)}catch(m){console.error("Error detecting objects",m)}finally{S.value=!1}};return Y(i,t=>{t.length>0?(D.value=!1,E.value=!1):(z.value="",h.value=void 0,E.value=!0)},{immediate:!0,deep:!0}),(t,o)=>{const m=we,L=at,Ce=Ye;return l(),u("div",Yt,[s("div",{class:"file-upload-box p-4",onDrop:o[1]||(o[1]=P(U=>K(U),["prevent"])),onDragover:o[2]||(o[2]=P(U=>x.value=!0,["prevent"])),onDragenter:o[3]||(o[3]=P(U=>x.value=!0,["prevent"])),onDragleave:o[4]||(o[4]=P(U=>x.value=!1,["prevent"]))},[e(i).length?(l(),u("div",en,[s("div",tn,[s("img",{src:e(z),alt:"Preview",class:"w-full"},null,8,nn)]),s("div",on,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:o[0]||(o[0]=P(U=>j(e(i)[0].name),["stop"]))},{default:g(()=>[f(ae,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",sn,d(e(i)[0].name),1),s("span",an,"("+d(q(e(i)[0].size))+")",1)])])):(l(),u("div",Xt,[s("div",Gt,[s("label",Kt,d(t.$t("components.detection_interface.drop_or_select_image_to_detect_objects")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(I),onChange:Z},null,40,Zt),e(p)?(l(),u("p",Wt,d(t.$t("components.detection_interface.only_one_image_allowed")),1)):y("",!0),e(D)?(l(),u("p",{key:1,class:X(["text-red text-sm",{"mt-2":e(p)}])},d(t.$t("components.detection_interface.image_required")),3)):y("",!0),e(b)?(l(),u("p",{key:2,class:X(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(t.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",ln,[s("div",rn,d(t.$t("components.detection_interface.interface_config")),1),e(F)&&Object.keys(e(F)).length?y("",!0):(l(),u("div",un,d(t.$t("components.detection_interface.no_interface_config")),1)),f(m,{config:e(F),"ui-schema":e(G),loading:e(w),"save-button-label":t.$t("components.detection_interface.detect_objects"),"disable-button":e(E),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:n},null,8,["config","ui-schema","loading","save-button-label","disable-button"])]),f(Ce,{modelValue:e(_),"onUpdate:modelValue":o[5]||(o[5]=U=>fe(_)?_.value=U:null),title:t.$t("components.dialog.title.result"),"hide-confirm-button":"",width:"auto"},{content:g(()=>[s("div",cn,[f(L,{detections:e(V)},null,8,["detections"]),s("img",{src:e(z),alt:"Preview",class:"w-full"},null,8,dn)])]),_:1},8,["modelValue","title"])])}}}),mn=ke(fn,[["__scopeId","data-v-49843399"]]),pn={class:"w-full"},vn={key:0,class:"w-full"},gn={class:"flex flex-col justify-center items-center mb-5"},_n={for:"restoreInput",class:"cursor-pointer text-center text-sm"},hn=["accept"],yn={key:0,class:"text-red text-sm"},bn={key:1,class:"w-full flex flex-col items-center justify-center"},xn={class:"relative mb-4 w-full"},wn={class:"flex items-center justify-center"},$n={class:"mx-2"},In={class:"disabled-text"},kn={class:"mt-10"},Cn={class:"box-title w-full mb-3"},Sn={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},Pn={class:"relative"},Dn=$e({__name:"VMotionDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=a([]),x=a(!1),p=a(!1),D=a(!1),b=a(!1),$=a(null),I=a(null),z=a(null),F=a(Re.join(",")),S=a({}),h=a(!1),V=a(!1),_=a(!0),{mutateAsync:E,isPending:A}=O.detectMotionQuery(),{data:M,isLoading:G}=O.getPluginInterfaceQuery(T.value,{type:"motionDetection"}),R=H(()=>A.value||G.value||h.value),w=n=>{const t=i.value.findIndex(o=>o.name===n);t>-1&&(i.value.splice(t,1),Z(),I.value.src="")},j=n=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],n.dataTransfer)if(n.dataTransfer.files.length>1)p.value=!0;else{const t=n.dataTransfer.files[0];Re.includes(t.type)&&t.size<=Le?(i.value.push(t),te(()=>{k(t)})):t.size>Le?b.value=!0:p.value=!0}},K=n=>{var o;p.value=!1,b.value=!1,i.value=[];const t=n.target;if(t&&t.files){if(((o=t.files)==null?void 0:o.length)>1)p.value=!0;else if(t.files.length===1){const m=t.files[0];m.size<=Le?(i.value.push(m),te(()=>{k(m)})):b.value=!0}}},Z=()=>{$.value&&($.value.value="")},W=n=>n<1024?n+" bytes":n<1048576?(n/1024).toFixed(1)+" KB":(n/1048576).toFixed(1)+" MB",k=n=>{h.value=!0,I.value.src=URL.createObjectURL(n),I.value.load(),I.value.onloadeddata=()=>{h.value=!1}},q=async n=>{if(!i.value.length){D.value=!0;return}h.value=!0;const t=new FormData;t.append("upload",i.value[0]),t.append("config",JSON.stringify(n));try{const o=await E({pluginName:T.value,formData:t}),m=new Blob([o],{type:"video/mp4"});V.value=!0,setTimeout(()=>{z.value&&(z.value.src=URL.createObjectURL(m),z.value.load())},300)}catch(o){console.error("Error detecting motion",o)}finally{h.value=!1}};return Y(i,n=>{n.length>0?(D.value=!1,_.value=!1):_.value=!0},{immediate:!0,deep:!0}),(n,t)=>{const o=we,m=Ye;return l(),u("div",pn,[s("div",{class:"file-upload-box p-4",onDrop:t[1]||(t[1]=P(L=>j(L),["prevent"])),onDragover:t[2]||(t[2]=P(L=>x.value=!0,["prevent"])),onDragenter:t[3]||(t[3]=P(L=>x.value=!0,["prevent"])),onDragleave:t[4]||(t[4]=P(L=>x.value=!1,["prevent"]))},[e(i).length?(l(),u("div",bn,[s("div",xn,[s("video",{ref_key:"videoPlayer",ref:I,controls:"",class:"w-full"},"Your browser does not support the video tag.",512)]),s("div",wn,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:t[0]||(t[0]=P(L=>w(e(i)[0].name),["stop"]))},{default:g(()=>[f(ae,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",$n,d(e(i)[0].name),1),s("span",In,"("+d(W(e(i)[0].size))+")",1)])])):(l(),u("div",vn,[s("div",gn,[s("label",_n,d(n.$t("components.detection_interface.drop_or_select_video_to_detect_motion")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(F),onChange:K},null,40,hn),e(p)?(l(),u("p",yn,d(n.$t("components.detection_interface.only_one_video_allowed")),1)):y("",!0),e(D)?(l(),u("p",{key:1,class:X(["text-red text-sm",{"mt-2":e(p)}])},d(n.$t("components.detection_interface.video_required")),3)):y("",!0),e(b)?(l(),u("p",{key:2,class:X(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(n.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",kn,[s("div",Cn,d(n.$t("components.detection_interface.interface_config")),1),e(S)&&Object.keys(e(S)).length?y("",!0):(l(),u("div",Sn,d(n.$t("components.detection_interface.no_interface_config")),1)),f(o,{config:e(S),"ui-schema":e(M),loading:e(R),"save-button-label":n.$t("components.detection_interface.detect_motion"),"disable-button":e(_),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:q},null,8,["config","ui-schema","loading","save-button-label","disable-button"])]),f(m,{modelValue:e(V),"onUpdate:modelValue":t[5]||(t[5]=L=>fe(V)?V.value=L:null),title:n.$t("components.dialog.title.result"),"hide-confirm-button":"",width:"auto"},{content:g(()=>[s("div",Pn,[s("video",{ref_key:"videoPlayerResult",ref:z,controls:"",class:"w-full"},"Your browser does not support the video tag.",512)])]),_:1},8,["modelValue","title"])])}}}),Vn=ke(Dn,[["__scopeId","data-v-9c8effb8"]]),jn={key:0,class:"flex items-center justify-center w-full h-full"},Ln={key:1,class:"h-full w-full inline-size mb-safe"},zn={class:"page-title"},En={class:"flex flex-col flex-1 inner-component mt-0 p-4"},Fn={class:"box-title w-full mb-3"},On={key:0,class:"w-full h-full flex items-center justify-center"},Tn={key:1},An={class:"options-segments flex items-center justify-between"},Nn={class:"flex flex-col items-center justify-center"},Qn={class:"options-segments-text mt-2"},Bn={key:1},Mn={key:2},Un={key:3},Jn={key:4},Rn={class:"w-full full-inner-height"},qn={class:"flex flex-col md:flex-row gap-2 h-full"},Hn={class:"flex flex-col flex-1",style:{height:"200px","max-height":"200px"}},Yn={key:0,class:"w-full h-full flex items-center justify-center inner-component mt-0"},Xn={class:"flex flex-col flex-1 inner-component mt-0 p-4"},Gn={class:"box-title w-full mb-3"},Kn={key:0,class:"w-full h-full flex items-center justify-center"},Zn=["innerHTML"],Wn={class:"flex flex-col flex-1 inner-component mt-0 p-4"},eo={class:"box-title w-full mb-3"},to={key:0,class:"w-full h-full flex items-center justify-center"},no=["innerHTML"],oo=["data-ignore-id"],so=$e({__name:"Plugin",setup(ne){se.registerLanguage("typescript",It),se.registerLanguage("yaml",kt),se.registerLanguage("json",Ct),se.registerLanguage("python",St);const O=new lt,C=new Ie,T=mt(),i=Dt(),{mobileActive:x,smallMobileActive:p}=pt(),D=a(vt()),b=a(),$=a(!1),I=a([]),z=a(!1),F=a(i.params.scope),S=a(i.params.pluginname),h=a(),V=a([]),_=a({name:"settings",icon:ce,isInterface:!1}),E=a(!1),A=a(),M=a(),[G,R]=Vt(),w=H(()=>F.value?`${F.value}/${S.value}`:S.value);C.toggleQueryActivator("getPluginContractQuery",!1);const{data:j,isLoading:K}=C.getPluginQuery(w),{data:Z,isLoading:W}=C.getPluginConfigJsonQuery(w),{data:k,isLoading:q}=C.getPluginSchemaQuery(w),{data:n}=C.getPluginContractQuery(w),{data:t,isLoading:o}=C.getPluginReadmeQuery(w),{data:m,isLoading:L}=C.getPluginChangelogQuery(w),{mutateAsync:Ce,isPending:U}=C.actionButtonQuery(),{mutate:Xe,isPending:Ge}=C.patchPluginConfigQuery(),{mutate:Ke,isPending:Ze}=O.addCameraExtensionQuery(),{mutate:We,isPending:et}=O.removeCameraExtensionQuery(),Oe=H(()=>!!(K.value||W.value||q.value||o.value||L.value)),pe=H(()=>!!(Ze.value||et.value)),le=H(()=>!!($.value||U.value||Ge.value)),ve=H(()=>{var r,c,N;return!!(k.value||(r=n.value)!=null&&r.cameras.length||(c=n.value)!=null&&c.contract.extension||(N=n.value)!=null&&N.contract.supportAdditionalCameras)}),Se=Pt("commonmark",{highlight(r,c){if(c&&se.getLanguage(c))try{return'<pre><code class="hljs">'+se.highlight(r,{language:c,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+Se.utils.escapeHtml(r)+"</code></pre>"}});Y(()=>i.params.pluginname,()=>{S.value=i.params.pluginname},{deep:!0,immediate:!0}),Y(h,r=>{te(()=>z.value=!!r)}),Y(k,()=>{q.value?C.toggleQueryActivator("getPluginContractQuery",!1):C.toggleQueryActivator("getPluginContractQuery",!0)},{deep:!0,immediate:!0}),Y(n,()=>{var ge,_e,he,ye,be,xe,ie,re,ue,v;const r=[];let c=!1,N=!1;((ge=n.value)==null?void 0:ge.contract.extension)==="motionDetection"&&(N=!0,r.push({name:"motion_detection",icon:oe,isInterface:!0}),_.value={name:"motion_detection",icon:oe,isInterface:!0}),((_e=n.value)==null?void 0:_e.contract.extension)==="objectDetection"&&(N=!0,r.push({name:"object_detection",icon:oe,isInterface:!0}),_.value={name:"object_detection",icon:oe,isInterface:!0}),((he=n.value)==null?void 0:he.contract.extension)==="audioDetection"&&(N=!0,r.push({name:"audio_detection",icon:oe,isInterface:!0}),_.value={name:"audio_detection",icon:oe,isInterface:!0}),k.value&&k.value.schema&&Object.keys(k.value.schema).length&&(r.push({name:"settings",icon:ce,isInterface:!1}),c=!0,N||(_.value={name:"settings",icon:ce,isInterface:!1})),((ye=n.value)!=null&&ye.cameras.length||(be=n.value)!=null&&be.contract.extension||(xe=n.value)!=null&&xe.contract.supportAdditionalCameras)&&(r.push({name:"cameras",icon:Be,isInterface:!1}),!c&&!N&&(_.value={name:"cameras",icon:Be,isInterface:!1})),V.value=r,((ie=n.value)!=null&&ie.contract.extension||(re=n.value)!=null&&re.contract.supportAdditionalCameras)&&((ue=n.value)!=null&&ue.cameras.length)&&(I.value=(v=n.value)==null?void 0:v.cameras.filter(ee=>ee.extensions.plugins.includes(w.value)).map(ee=>ee.name))},{deep:!0,immediate:!0}),Y(E,r=>{r||(A.value=void 0,M.value=void 0)});const tt=async r=>{if(!k.value)return;$.value=!0;const c=ut(k.value.schema,r);Xe({pluginName:w.value,configData:c},{onSettled:()=>{$.value=!1}})},nt=async r=>{$.value=!0,await Ce({pluginName:w.value,actionId:r.actionId,payload:r.payload},{onSuccess:c=>{c!=null&&c.toast&&ze[c.toast.type](c.toast.message),c!=null&&c.schema&&Object.keys(c.schema).length&&(M.value=r.payload,A.value=c,E.value=!0)},onSettled:()=>{$.value=!1}})},ot=async r=>{j.value&&(I.value.includes(r.name)?We({cameraname:r.name,pluginname:j.value.pluginName},{onSuccess:()=>{I.value=I.value.filter(c=>c!==r.name)}}):Ke({cameraname:r.name,pluginname:j.value.pluginName},{onSuccess:()=>{I.value=[...I.value,r.name]}}))};return dt(()=>{b.value=T.connectToNamespace("/plugins")}),ft(()=>{var r,c;(c=(r=b.value)==null?void 0:r.end)==null||c.call(r)}),(r,c)=>{var ie,re,ue;const N=we,ge=Vn,_e=mn,he=Ht,ye=ct,be=it,xe=rt;return l(),u("main",{class:X({"px-0":e(p)})},[e(Oe)?(l(),u("div",jn,[f(de,{color:"#df2a4c",indeterminate:""})])):(l(),u("div",Ln,[s("div",{class:X(["mb-3 flex w-full items-center",{"px-2":e(p)}]),style:{height:"30px"}},[s("h1",zn,d((ie=e(j))==null?void 0:ie.displayName),1)],2),f(e(G),null,{default:g(()=>[s("div",{class:"plugin-settings-box flex flex-col gap-2 h-full",style:Qe({width:e(ve)&&!e(x)?"40%":"100%"})},[s("div",En,[s("div",Fn,d(r.$t("views.plugin.plugin_settings")),1),e(j)?(l(),u("div",Tn,[s("div",An,[f(gt,{modelValue:e(_),"onUpdate:modelValue":c[0]||(c[0]=v=>fe(_)?_.value=v:null),height:"100%",grow:"","slider-color":"#df2a4c","hide-slider":e(pe)||e(le)},{default:g(()=>[(l(!0),u(Pe,null,De(e(V),(v,ee)=>(l(),B(_t,{key:ee,value:v,disabled:e(Oe)||v.isInterface&&e(j).disabled,"min-width":"auto"},{default:g(()=>[s("div",Nn,[f(ae,{size:"20"},{default:g(()=>[J(d(v.icon),1)]),_:2},1024),s("span",Qn,d(v.isInterface?r.$t("views.plugin.segment_tab_interface"):r.$t(`views.plugin.segment_tab_${v.name.toLowerCase()}`)),1)])]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","hide-slider"])]),e(pe)||e(le)?(l(),B(ht,{key:0,height:"2",color:"#df2a4c",indeterminate:"",style:{"margin-top":"-2px"}})):y("",!0),f(yt,{modelValue:e(_),"onUpdate:modelValue":c[1]||(c[1]=v=>fe(_)?_.value=v:null),class:"box-content w-full flex-1 mt-3",continuous:""},{default:g(()=>[(l(!0),u(Pe,null,De(e(V),(v,ee)=>(l(),B($t,{key:ee,value:{name:v.name,icon:v.icon,isInterface:v.isInterface},disabled:v.isInterface&&e(j).disabled},{default:g(()=>{var Te;return[v.name==="settings"&&e(k)?(l(),B(N,{key:0,config:e(Z)||{},"ui-schema":e(k),loading:e(le),onOnFormSubmit:tt,onOnSubmit:nt},null,8,["config","ui-schema","loading"])):y("",!0),v.name==="cameras"?(l(),u("div",Bn,[(l(!0),u(Pe,null,De((Te=e(n))==null?void 0:Te.cameras,Q=>{var Ae,Ne;return l(),u("div",{key:Q.name},[!((Ae=e(n))!=null&&Ae.contract.extension)&&!((Ne=e(n))!=null&&Ne.contract.supportAdditionalCameras)?(l(),B(qe,{key:0,"select-strategy":"classic",class:"py-0",disabled:e(pe)||e(le),"onClick:select":()=>r.$router.push(`/cameras/${Q.name}`)},{default:g(()=>[f(He,{value:Q.name,class:"px-2"},{append:g(()=>[f(me,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:P(st=>h.value=Q.name,["stop"])},{default:g(()=>[f(ae,{size:"18"},{default:g(()=>[J(d(e(ce)),1)]),_:1})]),_:2},1032,["onClick"])]),default:g(()=>[J(d(Q.name)+" ",1)]),_:2},1032,["value"])]),_:2},1032,["disabled","onClick:select"])):(l(),B(qe,{key:1,"select-strategy":"classic",class:"py-0",disabled:e(pe)||e(le),"onUpdate:selected":()=>ot(Q)},{default:g(()=>[f(He,{class:"px-2",value:e(j).pluginName,active:e(I).includes(Q.name)},{prepend:g(()=>[f(bt,{start:""},{default:g(()=>[f(xt,{"model-value":e(I).includes(Q.name),color:"#df2a4c"},null,8,["model-value"])]),_:2},1024)]),append:g(()=>[f(me,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:P(st=>h.value=Q.name,["stop"])},{default:g(()=>[f(ae,{size:"18"},{default:g(()=>[J(d(e(ce)),1)]),_:1})]),_:2},1032,["onClick"])]),default:g(()=>[J(d(Q.name)+" ",1)]),_:2},1032,["value","active"])]),_:2},1032,["disabled","onUpdate:selected"])),f(wt,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})])}),128))])):y("",!0),v.name==="motion_detection"?(l(),u("div",Mn,[f(ge,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0),v.name==="object_detection"?(l(),u("div",Un,[f(_e,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0),v.name==="audio_detection"?(l(),u("div",Jn,[f(he,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0)]}),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue"])])):(l(),u("div",On,[f(de,{color:"#df2a4c",indeterminate:""})]))])],4)]),_:1}),s("div",Rn,[s("div",qn,[s("div",{class:"w-full flex flex-col gap-2 h-full",style:Qe({width:e(ve)&&!e(x)?"60%":"100%"})},[s("div",Hn,[e(j)?(l(),B(ye,{key:1,ref:"pluginRef",plugin:e(j),"min-height":"175px",height:"100%",width:"100%","border-radius":"4px","show-toggle":"","show-settings":"","show-logo":"","show-plugin-status":"","show-logs":"","show-configs":"",truncate:!1,onIsLoading:c[2]||(c[2]=v=>$.value=v)},null,8,["plugin"])):(l(),u("div",Yn,[f(de,{color:"#df2a4c",indeterminate:""})]))]),e(ve)&&e(x)?(l(),B(e(R),{key:0})):y("",!0),s("div",Xn,[s("div",Gn,d(r.$t("views.plugin.readme")),1),e(o)?(l(),u("div",Kn,[f(de,{color:"#df2a4c",indeterminate:""})])):(l(),u("div",{key:1,class:"box-content w-full h-full flex-1 markdown-body pt-1",innerHTML:e(Se).render(e(t)||r.$t("views.plugin.no_readme"))},null,8,Zn))]),s("div",Wn,[s("div",eo,d(r.$t("views.plugin.changelog")),1),e(L)?(l(),u("div",to,[f(de,{color:"#df2a4c",indeterminate:""})])):(l(),u("div",{key:1,class:"box-content w-full h-full flex-1 markdown-body pt-1",innerHTML:e(Se).render(e(m)||r.$t("views.plugin.no_changelog"))},null,8,no))])],4),e(ve)&&!e(x)?(l(),B(e(R),{key:0})):y("",!0)])])])),e(h)?(l(),u("div",{key:2,"data-ignore-id":e(D)},[f(be,{"camera-name":e(h),show:e(z),onClose:c[3]||(c[3]=v=>h.value=void 0)},null,8,["camera-name","show"])],8,oo)):y("",!0),(ue=(re=e(A))==null?void 0:re.schema)!=null&&ue.config?(l(),B(xe,{key:3,modelValue:e(E),"onUpdate:modelValue":c[4]||(c[4]=v=>fe(E)?E.value=v:null),"ui-schema":{schema:e(A).schema},"plugin-config":e(M)||{},"plugin-name":e(w)},null,8,["modelValue","ui-schema","plugin-config","plugin-name"])):y("",!0)],2)}}}),ts=ke(so,[["__scopeId","data-v-6dc083fb"]]);export{ts as default};
1
+ import{a as we,b as at,C as lt,d as it,e as rt,g as ut}from"./VPlayer-YzfFbh8e.js";import{_ as ct}from"./VPluginCard-CKMpjvL9.js";import{F as $e,t as Ee,r as a,c as H,w as Y,e as l,f as u,j as s,u as e,T as d,l as y,n as X,V as J,M as f,R as g,q as P,z as te,i as fe,a3 as dt,U as ft,X as Qe,O as B,N as Pe,Q as De}from"./@vue-DMh6qW6s.js";import{Y as Fe,k as ce,i as oe,c as Be}from"./@mdi-B8Roxr1z.js";import{i as ze}from"./vue3-toastify-D8Ru9hkX.js";import{P as Ie}from"./plugins-BKEnSy-B.js";import{A as Me,M as Ve,i as Ue,d as ke,C as Je,D as je,w as Ye,E as Re,F as Le,z as mt,f as pt,t as vt}from"./main-D1X9SzzX.js";import{e as ae,b as me,V as de,U as gt,W as _t,C as ht,w as yt,G as qe,f as He,I as bt,J as xt,n as wt,x as $t}from"./vuetify-DYU2dOLI.js";import{H as se,t as It,y as kt,j as Ct,p as St}from"./highlight.js-TxRCSjhv.js";import{M as Pt}from"./markdown-it-DI8MEbma.js";import{u as Dt}from"./vue-router-Bje-Muh5.js";import{x as Vt}from"./@vueuse-D76s02Ot.js";import"./qrcode-SHonoxyK.js";import"./dijkstrajs-D_NXgYpA.js";import"./vee-validate-9vrYaQFq.js";import"./zod-BaF2dDCd.js";import"./pinia-BQbsPkIS.js";import"./@vee-validate-BY5H7fGS.js";import"./draggabilly-Arakw9Dk.js";import"./@xterm-B4Ga69iL.js";import"./get-size-D1dS-IaP.js";import"./unidragger-BYtqgAQ0.js";import"./ev-emitter-CXYwG0eJ.js";import"./@tanstack-BvYNCsQh.js";import"./VConfigEditor.vue_vue_type_script_setup_true_lang-aMMzP49H.js";import"./ace-builds-CigWTak4.js";import"./@vueform-B62o9zLe.js";import"./system-BTruCO3L.js";import"./VConsole-WHOBQIsm.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";import"./nprogress-DSyAi0LF.js";import"./mdurl-k9Sl0PQj.js";import"./uc.micro-kMc2yuuw.js";import"./entities-C20TfXL6.js";import"./linkify-it-DmNjr4Kv.js";import"./punycode.js-Dj65hjkv.js";const jt={class:"w-full"},Lt={key:0,class:"w-full"},zt={class:"flex flex-col justify-center items-center mb-5"},Et={for:"restoreInput",class:"cursor-pointer text-center text-sm"},Ft=["accept"],Ot={key:0,class:"text-red text-sm"},Tt={key:1,class:"w-full flex flex-col items-center justify-center"},At={class:"relative mb-4 w-full"},Nt=["src","type"],Qt={class:"flex items-center justify-center"},Bt={class:"mx-2"},Mt={class:"disabled-text"},Ut={class:"mt-10"},Jt={class:"box-title w-full mb-3"},Rt={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},qt=$e({__name:"VAudioDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=a([]),x=a(!1),p=a(!1),D=a(!1),b=a(!1),$=a(null),I=a(null),z=a(Me.join(",")),F=a(""),S=a({}),h=a(!1),V=a(),_=a(!0),{mutateAsync:E,isPending:A}=O.detectAudioQuery(),{data:M,isLoading:G}=O.getPluginInterfaceQuery(T.value,{type:"audioDetection"}),R=H(()=>A.value||G.value||h.value),w=n=>{const t=i.value.findIndex(o=>o.name===n);t>-1&&(i.value.splice(t,1),W(),F.value="",V.value=void 0)},j=n=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],n.dataTransfer)if(n.dataTransfer.files.length>1)p.value=!0;else{const t=n.dataTransfer.files[0];Me.includes(t.type)&&t.size<=Ve?(i.value.push(t),te(()=>{k(t)})):t.size>Ve?b.value=!0:p.value=!0}},K=n=>{var o;p.value=!1,b.value=!1,i.value=[];const t=n.target;if(t&&t.files){if(((o=t.files)==null?void 0:o.length)>1)p.value=!0;else if(t.files.length===1){const m=t.files[0];m.size<=Ve?(i.value.push(m),te(()=>{k(m)})):b.value=!0}}},W=()=>{$.value&&($.value.value="")},Z=n=>n<1024?n+" bytes":n<1048576?(n/1024).toFixed(1)+" KB":(n/1048576).toFixed(1)+" MB",k=n=>{h.value=!0;const t=new Audio;t.src=URL.createObjectURL(n),t.onloadedmetadata=()=>{V.value={mimeType:n.type},h.value=!1}},q=async n=>{if(!i.value.length){D.value=!0;return}h.value=!0;const t=new FormData;t.append("upload",i.value[0]),t.append("config",JSON.stringify(n)),t.append("metadata",JSON.stringify(V.value));try{await E({pluginName:T.value,formData:t})?ze.info(Ue.global.t("components.detection_interface.audio_detected")):ze.info(Ue.global.t("components.detection_interface.audio_not_detected"))}catch(o){console.error("Error detecting audio",o)}finally{h.value=!1}};return Y(i,n=>{n.length>0?(D.value=!1,_.value=!1):(F.value="",V.value=void 0,_.value=!0)},{immediate:!0,deep:!0}),(n,t)=>{const o=we;return l(),u("div",jt,[s("div",{class:"file-upload-box p-4",onDrop:t[1]||(t[1]=P(m=>j(m),["prevent"])),onDragover:t[2]||(t[2]=P(m=>x.value=!0,["prevent"])),onDragenter:t[3]||(t[3]=P(m=>x.value=!0,["prevent"])),onDragleave:t[4]||(t[4]=P(m=>x.value=!1,["prevent"]))},[e(i).length?(l(),u("div",Tt,[s("div",At,[s("audio",{ref_key:"audioPlayer",ref:I,controls:"",class:"w-full"},[s("source",{src:e(F),type:e(i)[0].type},null,8,Nt),J(" Your browser does not support the audio element. ")],512)]),s("div",Qt,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:t[0]||(t[0]=P(m=>w(e(i)[0].name),["stop"]))},{default:g(()=>[f(ae,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",Bt,d(e(i)[0].name),1),s("span",Mt,"("+d(Z(e(i)[0].size))+")",1)])])):(l(),u("div",Lt,[s("div",zt,[s("label",Et,d(n.$t("components.detection_interface.drop_or_select_audio_to_detect")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(z),onChange:K},null,40,Ft),e(p)?(l(),u("p",Ot,d(n.$t("components.detection_interface.only_one_audio_allowed")),1)):y("",!0),e(D)?(l(),u("p",{key:1,class:X(["text-red text-sm",{"mt-2":e(p)}])},d(n.$t("components.detection_interface.audio_required")),3)):y("",!0),e(b)?(l(),u("p",{key:2,class:X(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(n.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",Ut,[s("div",Jt,d(n.$t("components.detection_interface.interface_config")),1),e(S)&&Object.keys(e(S)).length?y("",!0):(l(),u("div",Rt,d(n.$t("components.detection_interface.no_interface_config")),1)),f(o,{config:e(S),"ui-schema":e(M),loading:e(R),"save-button-label":n.$t("components.detection_interface.detect_audio"),"disable-button":e(_),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:q},null,8,["config","ui-schema","loading","save-button-label","disable-button"])])])}}}),Ht=ke(qt,[["__scopeId","data-v-299a60c5"]]),Yt={class:"w-full"},Xt={key:0,class:"w-full"},Gt={class:"flex flex-col justify-center items-center mb-5"},Kt={for:"restoreInput",class:"cursor-pointer text-center text-sm"},Wt=["accept"],Zt={key:0,class:"text-red text-sm"},en={key:1,class:"w-full flex flex-col items-center justify-center"},tn={class:"relative mb-4"},nn=["src"],on={class:"flex items-center justify-center"},sn={class:"mx-2"},an={class:"disabled-text"},ln={class:"mt-10"},rn={class:"box-title w-full mb-3"},un={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},cn={class:"relative"},dn=["src"],fn=$e({__name:"VObjectDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=a([]),x=a(!1),p=a(!1),D=a(!1),b=a(!1),$=a(null),I=a(Je.join(",")),z=a(""),F=a({}),S=a(!1),h=a(),V=a([]),_=a(!1),E=a(!0),{mutateAsync:A,isPending:M}=O.detectObjectsQuery(),{data:G,isLoading:R}=O.getPluginInterfaceQuery(T.value,{type:"objectDetection"}),w=H(()=>M.value||R.value||S.value),j=t=>{const o=i.value.findIndex(m=>m.name===t);o>-1&&(i.value.splice(o,1),Z(),z.value="",h.value=void 0)},K=t=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],t.dataTransfer)if(t.dataTransfer.files.length>1)p.value=!0;else{const o=t.dataTransfer.files[0];Je.includes(o.type)&&o.size<=je?(i.value.push(o),te(()=>{k(o)})):o.size>je?b.value=!0:p.value=!0}},W=t=>{var m;p.value=!1,b.value=!1,i.value=[];const o=t.target;if(o&&o.files){if(((m=o.files)==null?void 0:m.length)>1)p.value=!0;else if(o.files.length===1){const L=o.files[0];L.size<=je?(i.value.push(L),te(()=>{k(L)})):b.value=!0}}},Z=()=>{$.value&&($.value.value="")},k=t=>{S.value=!0;const o=new Image;o.src=URL.createObjectURL(t),o.onload=()=>{z.value=o.src,h.value={width:o.width,height:o.height},S.value=!1}},q=t=>t<1024?t+" bytes":t<1048576?(t/1024).toFixed(1)+" KB":(t/1048576).toFixed(1)+" MB",n=async t=>{if(!i.value.length){D.value=!0;return}S.value=!0;const o=new FormData;o.append("upload",i.value[0]),o.append("config",JSON.stringify(t)),o.append("metadata",JSON.stringify(h.value));try{const m=await A({pluginName:T.value,formData:o});_.value=!0,setTimeout(()=>{V.value=m},300)}catch(m){console.error("Error detecting objects",m)}finally{S.value=!1}};return Y(i,t=>{t.length>0?(D.value=!1,E.value=!1):(z.value="",h.value=void 0,E.value=!0)},{immediate:!0,deep:!0}),(t,o)=>{const m=we,L=at,Ce=Ye;return l(),u("div",Yt,[s("div",{class:"file-upload-box p-4",onDrop:o[1]||(o[1]=P(U=>K(U),["prevent"])),onDragover:o[2]||(o[2]=P(U=>x.value=!0,["prevent"])),onDragenter:o[3]||(o[3]=P(U=>x.value=!0,["prevent"])),onDragleave:o[4]||(o[4]=P(U=>x.value=!1,["prevent"]))},[e(i).length?(l(),u("div",en,[s("div",tn,[s("img",{src:e(z),alt:"Preview",class:"w-full"},null,8,nn)]),s("div",on,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:o[0]||(o[0]=P(U=>j(e(i)[0].name),["stop"]))},{default:g(()=>[f(ae,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",sn,d(e(i)[0].name),1),s("span",an,"("+d(q(e(i)[0].size))+")",1)])])):(l(),u("div",Xt,[s("div",Gt,[s("label",Kt,d(t.$t("components.detection_interface.drop_or_select_image_to_detect_objects")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(I),onChange:W},null,40,Wt),e(p)?(l(),u("p",Zt,d(t.$t("components.detection_interface.only_one_image_allowed")),1)):y("",!0),e(D)?(l(),u("p",{key:1,class:X(["text-red text-sm",{"mt-2":e(p)}])},d(t.$t("components.detection_interface.image_required")),3)):y("",!0),e(b)?(l(),u("p",{key:2,class:X(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(t.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",ln,[s("div",rn,d(t.$t("components.detection_interface.interface_config")),1),e(F)&&Object.keys(e(F)).length?y("",!0):(l(),u("div",un,d(t.$t("components.detection_interface.no_interface_config")),1)),f(m,{config:e(F),"ui-schema":e(G),loading:e(w),"save-button-label":t.$t("components.detection_interface.detect_objects"),"disable-button":e(E),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:n},null,8,["config","ui-schema","loading","save-button-label","disable-button"])]),f(Ce,{modelValue:e(_),"onUpdate:modelValue":o[5]||(o[5]=U=>fe(_)?_.value=U:null),title:t.$t("components.dialog.title.result"),"hide-confirm-button":"",width:"auto"},{content:g(()=>[s("div",cn,[f(L,{detections:e(V)},null,8,["detections"]),s("img",{src:e(z),alt:"Preview",class:"w-full"},null,8,dn)])]),_:1},8,["modelValue","title"])])}}}),mn=ke(fn,[["__scopeId","data-v-49843399"]]),pn={class:"w-full"},vn={key:0,class:"w-full"},gn={class:"flex flex-col justify-center items-center mb-5"},_n={for:"restoreInput",class:"cursor-pointer text-center text-sm"},hn=["accept"],yn={key:0,class:"text-red text-sm"},bn={key:1,class:"w-full flex flex-col items-center justify-center"},xn={class:"relative mb-4 w-full"},wn={class:"flex items-center justify-center"},$n={class:"mx-2"},In={class:"disabled-text"},kn={class:"mt-10"},Cn={class:"box-title w-full mb-3"},Sn={key:0,class:"flex items-center justify-center text-sm text-passive mt-5"},Pn={class:"relative"},Dn=$e({__name:"VMotionDetectionInterface",props:{pluginName:{}},setup(ne){const O=new Ie,C=ne,{pluginName:T}=Ee(C),i=a([]),x=a(!1),p=a(!1),D=a(!1),b=a(!1),$=a(null),I=a(null),z=a(null),F=a(Re.join(",")),S=a({}),h=a(!1),V=a(!1),_=a(!0),{mutateAsync:E,isPending:A}=O.detectMotionQuery(),{data:M,isLoading:G}=O.getPluginInterfaceQuery(T.value,{type:"motionDetection"}),R=H(()=>A.value||G.value||h.value),w=n=>{const t=i.value.findIndex(o=>o.name===n);t>-1&&(i.value.splice(t,1),W(),I.value.src="")},j=n=>{if(x.value=!1,p.value=!1,b.value=!1,i.value=[],n.dataTransfer)if(n.dataTransfer.files.length>1)p.value=!0;else{const t=n.dataTransfer.files[0];Re.includes(t.type)&&t.size<=Le?(i.value.push(t),te(()=>{k(t)})):t.size>Le?b.value=!0:p.value=!0}},K=n=>{var o;p.value=!1,b.value=!1,i.value=[];const t=n.target;if(t&&t.files){if(((o=t.files)==null?void 0:o.length)>1)p.value=!0;else if(t.files.length===1){const m=t.files[0];m.size<=Le?(i.value.push(m),te(()=>{k(m)})):b.value=!0}}},W=()=>{$.value&&($.value.value="")},Z=n=>n<1024?n+" bytes":n<1048576?(n/1024).toFixed(1)+" KB":(n/1048576).toFixed(1)+" MB",k=n=>{h.value=!0,I.value.src=URL.createObjectURL(n),I.value.load(),I.value.onloadeddata=()=>{h.value=!1}},q=async n=>{if(!i.value.length){D.value=!0;return}h.value=!0;const t=new FormData;t.append("upload",i.value[0]),t.append("config",JSON.stringify(n));try{const o=await E({pluginName:T.value,formData:t}),m=new Blob([o],{type:"video/mp4"});V.value=!0,setTimeout(()=>{z.value&&(z.value.src=URL.createObjectURL(m),z.value.load())},300)}catch(o){console.error("Error detecting motion",o)}finally{h.value=!1}};return Y(i,n=>{n.length>0?(D.value=!1,_.value=!1):_.value=!0},{immediate:!0,deep:!0}),(n,t)=>{const o=we,m=Ye;return l(),u("div",pn,[s("div",{class:"file-upload-box p-4",onDrop:t[1]||(t[1]=P(L=>j(L),["prevent"])),onDragover:t[2]||(t[2]=P(L=>x.value=!0,["prevent"])),onDragenter:t[3]||(t[3]=P(L=>x.value=!0,["prevent"])),onDragleave:t[4]||(t[4]=P(L=>x.value=!1,["prevent"]))},[e(i).length?(l(),u("div",bn,[s("div",xn,[s("video",{ref_key:"videoPlayer",ref:I,controls:"",class:"w-full"},"Your browser does not support the video tag.",512)]),s("div",wn,[f(me,{size:"28",variant:"text",color:"red",rounded:"",onClick:t[0]||(t[0]=P(L=>w(e(i)[0].name),["stop"]))},{default:g(()=>[f(ae,{size:"20"},{default:g(()=>[J(d(e(Fe)),1)]),_:1})]),_:1}),s("b",$n,d(e(i)[0].name),1),s("span",In,"("+d(Z(e(i)[0].size))+")",1)])])):(l(),u("div",vn,[s("div",gn,[s("label",_n,d(n.$t("components.detection_interface.drop_or_select_video_to_detect_motion")),1),s("input",{id:"restoreInput",ref_key:"fileInput",ref:$,type:"file",class:"d-none",accept:e(F),onChange:K},null,40,hn),e(p)?(l(),u("p",yn,d(n.$t("components.detection_interface.only_one_video_allowed")),1)):y("",!0),e(D)?(l(),u("p",{key:1,class:X(["text-red text-sm",{"mt-2":e(p)}])},d(n.$t("components.detection_interface.video_required")),3)):y("",!0),e(b)?(l(),u("p",{key:2,class:X(["text-red text-sm",{"mt-2":e(p)||e(D)}])},d(n.$t("components.detection_interface.file_size_error")),3)):y("",!0)])]))],32),s("div",kn,[s("div",Cn,d(n.$t("components.detection_interface.interface_config")),1),e(S)&&Object.keys(e(S)).length?y("",!0):(l(),u("div",Sn,d(n.$t("components.detection_interface.no_interface_config")),1)),f(o,{config:e(S),"ui-schema":e(M),loading:e(R),"save-button-label":n.$t("components.detection_interface.detect_motion"),"disable-button":e(_),"save-button-color":"#df2a4c","show-button":"",onOnFormSubmit:q},null,8,["config","ui-schema","loading","save-button-label","disable-button"])]),f(m,{modelValue:e(V),"onUpdate:modelValue":t[5]||(t[5]=L=>fe(V)?V.value=L:null),title:n.$t("components.dialog.title.result"),"hide-confirm-button":"",width:"auto"},{content:g(()=>[s("div",Pn,[s("video",{ref_key:"videoPlayerResult",ref:z,controls:"",class:"w-full"},"Your browser does not support the video tag.",512)])]),_:1},8,["modelValue","title"])])}}}),Vn=ke(Dn,[["__scopeId","data-v-9c8effb8"]]),jn={key:0,class:"flex items-center justify-center w-full h-full"},Ln={key:1,class:"h-full w-full inline-size mb-safe"},zn={class:"page-title"},En={class:"flex flex-col flex-1 inner-component mt-0 p-4"},Fn={class:"box-title w-full mb-3"},On={key:0,class:"w-full h-full flex items-center justify-center"},Tn={key:1},An={class:"options-segments flex items-center justify-between"},Nn={class:"flex flex-col items-center justify-center"},Qn={class:"options-segments-text mt-2"},Bn={key:1},Mn={key:2},Un={key:3},Jn={key:4},Rn={class:"w-full full-inner-height"},qn={class:"flex flex-col md:flex-row gap-2 h-full"},Hn={class:"flex flex-col flex-1",style:{height:"200px","max-height":"200px"}},Yn={key:0,class:"w-full h-full flex items-center justify-center inner-component mt-0"},Xn={class:"flex flex-col flex-1 inner-component mt-0 p-4"},Gn={class:"box-title w-full mb-3"},Kn={key:0,class:"w-full h-full flex items-center justify-center"},Wn=["innerHTML"],Zn={class:"flex flex-col flex-1 inner-component mt-0 p-4"},eo={class:"box-title w-full mb-3"},to={key:0,class:"w-full h-full flex items-center justify-center"},no=["innerHTML"],oo=["data-ignore-id"],so=$e({__name:"Plugin",setup(ne){se.registerLanguage("typescript",It),se.registerLanguage("yaml",kt),se.registerLanguage("json",Ct),se.registerLanguage("python",St);const O=new lt,C=new Ie,T=mt(),i=Dt(),{mobileActive:x,smallMobileActive:p}=pt(),D=a(vt()),b=a(),$=a(!1),I=a([]),z=a(!1),F=a(i.params.scope),S=a(i.params.pluginname),h=a(),V=a([]),_=a({name:"settings",icon:ce,isInterface:!1}),E=a(!1),A=a(),M=a(),[G,R]=Vt(),w=H(()=>F.value?`${F.value}/${S.value}`:S.value);C.toggleQueryActivator("getPluginContractQuery",!1);const{data:j,isLoading:K}=C.getPluginQuery(w),{data:W,isLoading:Z}=C.getPluginConfigJsonQuery(w),{data:k,isLoading:q}=C.getPluginSchemaQuery(w),{data:n}=C.getPluginContractQuery(w),{data:t,isLoading:o}=C.getPluginReadmeQuery(w),{data:m,isLoading:L}=C.getPluginChangelogQuery(w),{mutateAsync:Ce,isPending:U}=C.actionButtonQuery(),{mutate:Xe,isPending:Ge}=C.patchPluginConfigQuery(),{mutate:Ke,isPending:We}=O.addCameraExtensionQuery(),{mutate:Ze,isPending:et}=O.removeCameraExtensionQuery(),Oe=H(()=>!!(K.value||Z.value||q.value||o.value||L.value)),pe=H(()=>!!(We.value||et.value)),le=H(()=>!!($.value||U.value||Ge.value)),ve=H(()=>{var r,c,N;return!!(k.value||(r=n.value)!=null&&r.cameras.length||(c=n.value)!=null&&c.contract.extension||(N=n.value)!=null&&N.contract.supportAdditionalCameras)}),Se=Pt("commonmark",{highlight(r,c){if(c&&se.getLanguage(c))try{return'<pre><code class="hljs">'+se.highlight(r,{language:c,ignoreIllegals:!0}).value+"</code></pre>"}catch{}return'<pre><code class="hljs">'+Se.utils.escapeHtml(r)+"</code></pre>"}});Y(()=>i.params.pluginname,()=>{S.value=i.params.pluginname},{deep:!0,immediate:!0}),Y(h,r=>{te(()=>z.value=!!r)}),Y(k,()=>{q.value?C.toggleQueryActivator("getPluginContractQuery",!1):C.toggleQueryActivator("getPluginContractQuery",!0)},{deep:!0,immediate:!0}),Y(n,()=>{var ge,_e,he,ye,be,xe,ie,re,ue,v;const r=[];let c=!1,N=!1;((ge=n.value)==null?void 0:ge.contract.extension)==="motionDetection"&&(N=!0,r.push({name:"motion_detection",icon:oe,isInterface:!0}),_.value={name:"motion_detection",icon:oe,isInterface:!0}),((_e=n.value)==null?void 0:_e.contract.extension)==="objectDetection"&&(N=!0,r.push({name:"object_detection",icon:oe,isInterface:!0}),_.value={name:"object_detection",icon:oe,isInterface:!0}),((he=n.value)==null?void 0:he.contract.extension)==="audioDetection"&&(N=!0,r.push({name:"audio_detection",icon:oe,isInterface:!0}),_.value={name:"audio_detection",icon:oe,isInterface:!0}),k.value&&k.value.schema&&Object.keys(k.value.schema).length&&(r.push({name:"settings",icon:ce,isInterface:!1}),c=!0,N||(_.value={name:"settings",icon:ce,isInterface:!1})),((ye=n.value)!=null&&ye.cameras.length||(be=n.value)!=null&&be.contract.extension||(xe=n.value)!=null&&xe.contract.supportAdditionalCameras)&&(r.push({name:"cameras",icon:Be,isInterface:!1}),!c&&!N&&(_.value={name:"cameras",icon:Be,isInterface:!1})),V.value=r,((ie=n.value)!=null&&ie.contract.extension||(re=n.value)!=null&&re.contract.supportAdditionalCameras)&&((ue=n.value)!=null&&ue.cameras.length)&&(I.value=(v=n.value)==null?void 0:v.cameras.filter(ee=>ee.extensions.plugins.includes(w.value)).map(ee=>ee.name))},{deep:!0,immediate:!0}),Y(E,r=>{r||(A.value=void 0,M.value=void 0)});const tt=async r=>{if(!k.value)return;$.value=!0;const c=ut(k.value.schema,r);Xe({pluginName:w.value,configData:c},{onSettled:()=>{$.value=!1}})},nt=async r=>{$.value=!0,await Ce({pluginName:w.value,actionId:r.actionId,payload:r.payload},{onSuccess:c=>{c!=null&&c.toast&&ze[c.toast.type](c.toast.message),c!=null&&c.schema&&Object.keys(c.schema).length&&(M.value=r.payload,A.value=c,E.value=!0)},onSettled:()=>{$.value=!1}})},ot=async r=>{j.value&&(I.value.includes(r.name)?Ze({cameraname:r.name,pluginname:j.value.pluginName},{onSuccess:()=>{I.value=I.value.filter(c=>c!==r.name)}}):Ke({cameraname:r.name,pluginname:j.value.pluginName},{onSuccess:()=>{I.value=[...I.value,r.name]}}))};return dt(()=>{b.value=T.connectToNamespace("/plugins")}),ft(()=>{var r,c;(c=(r=b.value)==null?void 0:r.end)==null||c.call(r)}),(r,c)=>{var ie,re,ue;const N=we,ge=Vn,_e=mn,he=Ht,ye=ct,be=it,xe=rt;return l(),u("main",{class:X({"px-0":e(p)})},[e(Oe)?(l(),u("div",jn,[f(de,{color:"#df2a4c",indeterminate:""})])):(l(),u("div",Ln,[s("div",{class:X(["mb-3 flex w-full items-center",{"px-2":e(p)}]),style:{height:"30px"}},[s("h1",zn,d((ie=e(j))==null?void 0:ie.displayName),1)],2),f(e(G),null,{default:g(()=>[s("div",{class:"plugin-settings-box flex flex-col gap-2 h-full",style:Qe({width:e(ve)&&!e(x)?"40%":"100%"})},[s("div",En,[s("div",Fn,d(r.$t("views.plugin.plugin_settings")),1),e(j)?(l(),u("div",Tn,[s("div",An,[f(gt,{modelValue:e(_),"onUpdate:modelValue":c[0]||(c[0]=v=>fe(_)?_.value=v:null),height:"100%",grow:"","slider-color":"#df2a4c","hide-slider":e(pe)||e(le)},{default:g(()=>[(l(!0),u(Pe,null,De(e(V),(v,ee)=>(l(),B(_t,{key:ee,value:v,disabled:e(Oe)||v.isInterface&&e(j).disabled,"min-width":"auto"},{default:g(()=>[s("div",Nn,[f(ae,{size:"20"},{default:g(()=>[J(d(v.icon),1)]),_:2},1024),s("span",Qn,d(v.isInterface?r.$t("views.plugin.segment_tab_interface"):r.$t(`views.plugin.segment_tab_${v.name.toLowerCase()}`)),1)])]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","hide-slider"])]),e(pe)||e(le)?(l(),B(ht,{key:0,height:"2",color:"#df2a4c",indeterminate:"",style:{"margin-top":"-2px"}})):y("",!0),f(yt,{modelValue:e(_),"onUpdate:modelValue":c[1]||(c[1]=v=>fe(_)?_.value=v:null),class:"box-content w-full flex-1 mt-3",continuous:""},{default:g(()=>[(l(!0),u(Pe,null,De(e(V),(v,ee)=>(l(),B($t,{key:ee,value:{name:v.name,icon:v.icon,isInterface:v.isInterface},disabled:v.isInterface&&e(j).disabled},{default:g(()=>{var Te;return[v.name==="settings"&&e(k)?(l(),B(N,{key:0,config:e(W)||{},"ui-schema":e(k),loading:e(le),onOnFormSubmit:tt,onOnSubmit:nt},null,8,["config","ui-schema","loading"])):y("",!0),v.name==="cameras"?(l(),u("div",Bn,[(l(!0),u(Pe,null,De((Te=e(n))==null?void 0:Te.cameras,Q=>{var Ae,Ne;return l(),u("div",{key:Q.name},[!((Ae=e(n))!=null&&Ae.contract.extension)&&!((Ne=e(n))!=null&&Ne.contract.supportAdditionalCameras)?(l(),B(qe,{key:0,"select-strategy":"classic",class:"py-0",disabled:e(pe)||e(le),"onClick:select":()=>r.$router.push(`/cameras/${Q.name}`)},{default:g(()=>[f(He,{value:Q.name,class:"px-2"},{append:g(()=>[f(me,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:P(st=>h.value=Q.name,["stop"])},{default:g(()=>[f(ae,{size:"18"},{default:g(()=>[J(d(e(ce)),1)]),_:1})]),_:2},1032,["onClick"])]),default:g(()=>[J(d(Q.name)+" ",1)]),_:2},1032,["value"])]),_:2},1032,["disabled","onClick:select"])):(l(),B(qe,{key:1,"select-strategy":"classic",class:"py-0",disabled:e(pe)||e(le),"onUpdate:selected":()=>ot(Q)},{default:g(()=>[f(He,{class:"px-2",value:e(j).pluginName,active:e(I).includes(Q.name)},{prepend:g(()=>[f(bt,{start:""},{default:g(()=>[f(xt,{"model-value":e(I).includes(Q.name),color:"#df2a4c"},null,8,["model-value"])]),_:2},1024)]),append:g(()=>[f(me,{class:"ml-auto",size:"28",rounded:"",density:"compact",variant:"text",onClick:P(st=>h.value=Q.name,["stop"])},{default:g(()=>[f(ae,{size:"18"},{default:g(()=>[J(d(e(ce)),1)]),_:1})]),_:2},1032,["onClick"])]),default:g(()=>[J(d(Q.name)+" ",1)]),_:2},1032,["value","active"])]),_:2},1032,["disabled","onUpdate:selected"])),f(wt,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"})])}),128))])):y("",!0),v.name==="motion_detection"?(l(),u("div",Mn,[f(ge,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0),v.name==="object_detection"?(l(),u("div",Un,[f(_e,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0),v.name==="audio_detection"?(l(),u("div",Jn,[f(he,{"plugin-name":e(w)},null,8,["plugin-name"])])):y("",!0)]}),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue"])])):(l(),u("div",On,[f(de,{color:"#df2a4c",indeterminate:""})]))])],4)]),_:1}),s("div",Rn,[s("div",qn,[s("div",{class:"w-full flex flex-col gap-2 h-full",style:Qe({width:e(ve)&&!e(x)?"60%":"100%"})},[s("div",Hn,[e(j)?(l(),B(ye,{key:1,ref:"pluginRef",plugin:e(j),"min-height":"175px",height:"100%",width:"100%","border-radius":"4px","show-toggle":"","show-settings":"","show-logo":"","show-plugin-status":"","show-logs":"","show-configs":"",truncate:!1,onIsLoading:c[2]||(c[2]=v=>$.value=v)},null,8,["plugin"])):(l(),u("div",Yn,[f(de,{color:"#df2a4c",indeterminate:""})]))]),e(ve)&&e(x)?(l(),B(e(R),{key:0})):y("",!0),s("div",Xn,[s("div",Gn,d(r.$t("views.plugin.readme")),1),e(o)?(l(),u("div",Kn,[f(de,{color:"#df2a4c",indeterminate:""})])):(l(),u("div",{key:1,class:"box-content w-full h-full flex-1 markdown-body pt-1",innerHTML:e(Se).render(e(t)||r.$t("views.plugin.no_readme"))},null,8,Wn))]),s("div",Zn,[s("div",eo,d(r.$t("views.plugin.changelog")),1),e(L)?(l(),u("div",to,[f(de,{color:"#df2a4c",indeterminate:""})])):(l(),u("div",{key:1,class:"box-content w-full h-full flex-1 markdown-body pt-1",innerHTML:e(Se).render(e(m)||r.$t("views.plugin.no_changelog"))},null,8,no))])],4),e(ve)&&!e(x)?(l(),B(e(R),{key:0})):y("",!0)])])])),e(h)?(l(),u("div",{key:2,"data-ignore-id":e(D)},[f(be,{"camera-name":e(h),show:e(z),onClose:c[3]||(c[3]=v=>h.value=void 0)},null,8,["camera-name","show"])],8,oo)):y("",!0),(ue=(re=e(A))==null?void 0:re.schema)!=null&&ue.config?(l(),B(xe,{key:3,modelValue:e(E),"onUpdate:modelValue":c[4]||(c[4]=v=>fe(E)?E.value=v:null),"ui-schema":{schema:e(A).schema},"plugin-config":e(M)||{},"plugin-name":e(w)},null,8,["modelValue","ui-schema","plugin-config","plugin-name"])):y("",!0)],2)}}}),ts=ke(so,[["__scopeId","data-v-6dc083fb"]]);export{ts as default};
@@ -1 +1 @@
1
- import{f as P,d as C,z as D,w as F}from"./main-BCWSiwnj.js";import{_ as z}from"./VPluginCard-CFpg0LM4.js";import{P as B}from"./plugins-D80RNVmI.js";import{c as R,S as U,m as j,n as A,C as I,b as q,e as E,A as G}from"./vuetify-CrcT8VHB.js";import{F as M,r as g,e as o,f as a,M as l,R as h,j as m,T as f,u as e,i as L,V as N,X as k,N as $,Q as S,O,l as X,aa as H,U as J,n as b,q as K,a9 as W}from"./@vue-C10tA4b9.js";import{a2 as Y}from"./@mdi-C-QA1nE3.js";import"./vue-inline-svg-C2gR6nRD.js";import"./vue3-toastify-DQr2dOCx.js";import"./vue-i18n-DuCDz9TJ.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-B-9PO-kT.js";import"./pinia-CitQ5b66.js";import"./vue-router-OPGDMnws.js";import"./@vueuse-BPeqNGoM.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vee-validate-Ck3I2guh.js";import"./@vee-validate-D_G0ehOl.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-B53o3e_J.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-C-8W4FeM.js";import"./@popperjs-BQBsAJpH.js";import"./VConfigEditor.vue_vue_type_script_setup_true_lang-C_95ELTZ.js";import"./ace-builds-CigWTak4.js";import"./@vueform-Bj73kRPS.js";import"./system-CS_ZOs3_.js";import"./VConsole-BHy92Ws0.js";const Z={class:"v-label"},ee={class:"flex flex-row items-center justify-center w-full mt-8"},te={class:"flex flex-col items-center justify-center w-full mt-3"},se={key:0,class:"my-3"},oe=M({__name:"VPluginSearch",setup(Q){const i=new B,{smallMobileActive:x}=P(),V=g({page:1,pageSize:-1}),v=g({}),c=g(""),{data:d,isLoading:r}=i.searchPluginsQuery(v,V),_=u=>{u.preventDefault(),v.value.pluginname=c.value??""};return(u,t)=>{var y,w;const n=z;return o(),a("div",null,[l(U,{class:"ml-auto",onSubmit:_},{default:h(()=>[m("label",Z,f(u.$t("components.form.label.name")),1),l(R,{modelValue:e(c),"onUpdate:modelValue":t[0]||(t[0]=s=>L(c)?c.value=s:null),placeholder:"camera-ui-","hide-details":"",clearable:"",solo:"",variant:"outlined",density:"compact","onClick:clear":_},null,8,["modelValue"])]),_:1}),m("div",ee,[m("h3",null,f(u.$t("components.plugin_search.plugins")),1),l(j,{size:"small",class:"ml-auto",color:"#df2a4c"},{default:h(()=>{var s,p;return[N(f((s=e(d))!=null&&s.result?(p=e(d))==null?void 0:p.result.length:0),1)]}),_:1})]),l(A,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"mt-3"}),l(I,{active:e(r),indeterminate:e(r),color:"#df2a4c",height:"2px"},null,8,["active","indeterminate"]),m("div",te,[!e(r)&&!((y=e(d))!=null&&y.result.length)?(o(),a("div",se,f(u.$t("views.plugins.no_plugins")),1)):(w=e(d))!=null&&w.result?(o(),a("div",{key:1,class:"w-full overflow-scroll hide-scrollbar",style:k(e(x)?"height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 325px)":"height: 370px")},[(o(!0),a($,null,S(e(d).result,(s,p)=>(o(),O(n,{key:p,plugin:s,height:"175px","max-height":"140px",background:"var(--background-inner-component-card)",class:"my-2","show-installed-icon":"","show-settings":""},null,8,["plugin"]))),128))],4)):X("",!0)])])}}}),le=C(oe,[["__scopeId","data-v-914e1aa9"]]),ae={class:"h-full w-full inline-size mb-safe"},ie={class:"flex flex-row w-full items-center"},ne={class:"page-title"},re=M({__name:"Plugins",setup(Q){const{smallMobileActive:i}=P(),x=D(),V=new B,v=g(null),c=g(),d=g({page:1,pageSize:-1}),r=g(!1),{data:_,isLoading:u}=V.getPluginsQuery(d);return H(()=>{c.value=x.connectToNamespace("/plugins")}),J(()=>{var t,n;(n=(t=c.value)==null?void 0:t.end)==null||n.call(t)}),(t,n)=>{const y=le,w=F;return o(),a("main",{class:b({"px-0":e(i)})},[m("div",ae,[m("div",{class:b(["mb-3 flex w-full items-center",{"px-2":e(i)}]),style:{height:"30px"}},[m("div",ie,[m("h1",ne,f(t.$t(`views.${String(t.$route.name).toLowerCase()}.title`)),1),l(q,{class:"ml-auto",size:"40",rounded:"",density:"compact",variant:"flat",elevation:"1",onClick:n[0]||(n[0]=K(s=>r.value=!0,["prevent"]))},{default:h(()=>[l(E,{size:"20"},{default:h(()=>[N(f(e(Y)),1)]),_:1})]),_:1})])],2),l(W,{name:"fade",tag:"div"},{default:h(()=>{var s;return[e(u)?(o(),a("div",{key:0,class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(i)?"100%":"450px"}, 1fr))`)},[(o(),a($,null,S(15,p=>l(G,{key:p,elevation:1,type:"image",class:"relative",style:{"border-radius":"8px",overflow:"hidden"},height:175})),64))],4)):(s=e(_))!=null&&s.result.length?(o(),a("div",{key:2,class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(i)?"100%":"450px"}, 1fr))`)},[(o(!0),a($,null,S(e(_).result,(p,T)=>(o(),a("div",{key:T,class:"relative"},[l(z,{ref_for:!0,ref_key:"pluginRef",ref:v,plugin:p,height:"175px","max-height":"175px",width:"100%","min-width":e(i)?"100%":"450px","border-radius":e(i)?"0px":"8px","show-toggle":"","show-settings":"","show-logo":"","show-plugin-status":"","show-logs":"","show-configs":""},null,8,["plugin","min-width","border-radius"])]))),128))],4)):(o(),a("div",{key:1,class:b(["disabled-text",{"px-2":e(i)}])},f(t.$t("views.plugins.no_plugins")),3))]}),_:1}),l(w,{modelValue:e(r),"onUpdate:modelValue":n[1]||(n[1]=s=>L(r)?r.value=s:null),title:t.$t("components.dialog.title.search_plugin"),"hide-confirm-button":"",loading:e(u)},{content:h(()=>[l(y)]),_:1},8,["modelValue","title","loading"])])],2)}}}),Ee=C(re,[["__scopeId","data-v-6403aab6"]]);export{Ee as default};
1
+ import{f as P,d as C,z as D,w as F}from"./main-D1X9SzzX.js";import{_ as z}from"./VPluginCard-CKMpjvL9.js";import{P as B}from"./plugins-BKEnSy-B.js";import{c as R,S as U,m as j,n as A,C as I,b as q,e as E,A as G}from"./vuetify-DYU2dOLI.js";import{F as M,r as g,e as o,f as a,M as l,R as h,j as m,T as f,u as e,i as L,V as N,X as k,N as $,Q as S,O,l as X,a3 as H,U as J,n as b,q as K,aa as W}from"./@vue-DMh6qW6s.js";import{a2 as Y}from"./@mdi-B8Roxr1z.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./pinia-BQbsPkIS.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";import"./VConfigEditor.vue_vue_type_script_setup_true_lang-aMMzP49H.js";import"./ace-builds-CigWTak4.js";import"./@vueform-B62o9zLe.js";import"./system-BTruCO3L.js";import"./VConsole-WHOBQIsm.js";const Z={class:"v-label"},ee={class:"flex flex-row items-center justify-center w-full mt-8"},te={class:"flex flex-col items-center justify-center w-full mt-3"},se={key:0,class:"my-3"},oe=M({__name:"VPluginSearch",setup(Q){const i=new B,{smallMobileActive:x}=P(),V=g({page:1,pageSize:-1}),v=g({}),c=g(""),{data:d,isLoading:r}=i.searchPluginsQuery(v,V),_=u=>{u.preventDefault(),v.value.pluginname=c.value??""};return(u,t)=>{var y,w;const n=z;return o(),a("div",null,[l(U,{class:"ml-auto",onSubmit:_},{default:h(()=>[m("label",Z,f(u.$t("components.form.label.name")),1),l(R,{modelValue:e(c),"onUpdate:modelValue":t[0]||(t[0]=s=>L(c)?c.value=s:null),placeholder:"camera-ui-","hide-details":"",clearable:"",solo:"",variant:"outlined",density:"compact","onClick:clear":_},null,8,["modelValue"])]),_:1}),m("div",ee,[m("h3",null,f(u.$t("components.plugin_search.plugins")),1),l(j,{size:"small",class:"ml-auto",color:"#df2a4c"},{default:h(()=>{var s,p;return[N(f((s=e(d))!=null&&s.result?(p=e(d))==null?void 0:p.result.length:0),1)]}),_:1})]),l(A,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"mt-3"}),l(I,{active:e(r),indeterminate:e(r),color:"#df2a4c",height:"2px"},null,8,["active","indeterminate"]),m("div",te,[!e(r)&&!((y=e(d))!=null&&y.result.length)?(o(),a("div",se,f(u.$t("views.plugins.no_plugins")),1)):(w=e(d))!=null&&w.result?(o(),a("div",{key:1,class:"w-full overflow-scroll hide-scrollbar",style:k(e(x)?"height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 325px)":"height: 370px")},[(o(!0),a($,null,S(e(d).result,(s,p)=>(o(),O(n,{key:p,plugin:s,height:"175px","max-height":"140px",background:"var(--background-inner-component-card)",class:"my-2","show-installed-icon":"","show-settings":""},null,8,["plugin"]))),128))],4)):X("",!0)])])}}}),le=C(oe,[["__scopeId","data-v-914e1aa9"]]),ae={class:"h-full w-full inline-size mb-safe"},ie={class:"flex flex-row w-full items-center"},ne={class:"page-title"},re=M({__name:"Plugins",setup(Q){const{smallMobileActive:i}=P(),x=D(),V=new B,v=g(null),c=g(),d=g({page:1,pageSize:-1}),r=g(!1),{data:_,isLoading:u}=V.getPluginsQuery(d);return H(()=>{c.value=x.connectToNamespace("/plugins")}),J(()=>{var t,n;(n=(t=c.value)==null?void 0:t.end)==null||n.call(t)}),(t,n)=>{const y=le,w=F;return o(),a("main",{class:b({"px-0":e(i)})},[m("div",ae,[m("div",{class:b(["mb-3 flex w-full items-center",{"px-2":e(i)}]),style:{height:"30px"}},[m("div",ie,[m("h1",ne,f(t.$t(`views.${String(t.$route.name).toLowerCase()}.title`)),1),l(q,{class:"ml-auto",size:"40",rounded:"",density:"compact",variant:"flat",elevation:"1",onClick:n[0]||(n[0]=K(s=>r.value=!0,["prevent"]))},{default:h(()=>[l(E,{size:"20"},{default:h(()=>[N(f(e(Y)),1)]),_:1})]),_:1})])],2),l(W,{name:"fade",tag:"div"},{default:h(()=>{var s;return[e(u)?(o(),a("div",{key:0,class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(i)?"100%":"450px"}, 1fr))`)},[(o(),a($,null,S(15,p=>l(G,{key:p,elevation:1,type:"image",class:"relative",style:{"border-radius":"8px",overflow:"hidden"},height:175})),64))],4)):(s=e(_))!=null&&s.result.length?(o(),a("div",{key:2,class:"grid gap-2",style:k(`grid-template-columns: repeat(auto-fill, minmax(${e(i)?"100%":"450px"}, 1fr))`)},[(o(!0),a($,null,S(e(_).result,(p,T)=>(o(),a("div",{key:T,class:"relative"},[l(z,{ref_for:!0,ref_key:"pluginRef",ref:v,plugin:p,height:"175px","max-height":"175px",width:"100%","min-width":e(i)?"100%":"450px","border-radius":e(i)?"0px":"8px","show-toggle":"","show-settings":"","show-logo":"","show-plugin-status":"","show-logs":"","show-configs":""},null,8,["plugin","min-width","border-radius"])]))),128))],4)):(o(),a("div",{key:1,class:b(["disabled-text",{"px-2":e(i)}])},f(t.$t("views.plugins.no_plugins")),3))]}),_:1}),l(w,{modelValue:e(r),"onUpdate:modelValue":n[1]||(n[1]=s=>L(r)?r.value=s:null),title:t.$t("components.dialog.title.search_plugin"),"hide-confirm-button":"",loading:e(u)},{content:h(()=>[l(y)]),_:1},8,["modelValue","title","loading"])])],2)}}}),Ee=C(re,[["__scopeId","data-v-6403aab6"]]);export{Ee as default};
@@ -0,0 +1 @@
1
+ import{d as r}from"./main-D1X9SzzX.js";import{f as o,e as t}from"./@vue-DMh6qW6s.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./pinia-BQbsPkIS.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vuetify-DYU2dOLI.js";import"./@mdi-B8Roxr1z.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";const i={};function m(p,e){return t(),o("div",null,"Test")}const G=r(i,[["render",m]]);export{G as default};
@@ -0,0 +1 @@
1
+ import{f as m}from"./main-D1X9SzzX.js";import{F as p,e as s,f as a,j as t,n as r,u as e,T as l}from"./@vue-DMh6qW6s.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./pinia-BQbsPkIS.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./vuetify-DYU2dOLI.js";import"./@mdi-B8Roxr1z.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";const n={class:"h-full w-full inline-size mb-safe"},c={class:"page-title"},H=p({__name:"Recordings",setup(f){const{smallMobileActive:o}=m();return(i,u)=>(s(),a("main",{class:r({"px-0":e(o)})},[t("div",n,[t("div",{class:r(["flex w-full items-center",{"px-2":e(o)}]),style:{height:"30px"}},[t("h1",c,l(i.$t(`views.${String(i.$route.name).toLowerCase()}.title`)),1)],2)])],2))}});export{H as default};
@@ -0,0 +1 @@
1
+ import{F as J,t as U,r as u,c as T,w as b,a3 as ee,y as te,J as K,e as r,f as _,j as i,N as L,Q as oe,O as D,R as S,M as y,V as ae,T as I,u as o,l as B,X as M,W as Z,b as se,n as O,q as ne,S as ie}from"./@vue-DMh6qW6s.js";import{f as G,S as F,B as re,Q as le,d as P,R as Q,h as j,T as q}from"./main-D1X9SzzX.js";import{u as Y}from"./vue-router-Bje-Muh5.js";import{o as ce,g as ue,h as de}from"./@vueuse-D76s02Ot.js";import{e as pe,b as me}from"./vuetify-DYU2dOLI.js";import{C as fe,H as ve}from"./@mdi-B8Roxr1z.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./pinia-BQbsPkIS.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";var R=(m=>(m[m.MAXWIDTH=280]="MAXWIDTH",m))(R||{});const _e={class:"flex flex-col w-full"},be={class:"flex flex-row navigation-text"},he={class:"ml-5"},ge={class:"navigation-title"},Se={key:0},ye={key:0,class:"overlay"},xe=J({__name:"VSubNavigation",props:{routes:{},description:{type:Boolean,default:!1},state:{type:Boolean,default:!1}},emits:["inner-sidebar-state"],setup(m,{emit:x}){const{desktopActive:l,mobileActive:A,extraSmallMobileActive:d}=G(),k=Y(),h=ue(le),c=x,V=m,{routes:f,state:w,description:$}=U(V),g=u(null),s=u(),t=u(),a=T(()=>{let e=`left: calc(${C.value}px + env(safe-area-inset-left, 0px))`;return t.value==="closed"&&s.value==="closed"&&(e=`left: calc(${C.value}px - env(safe-area-inset-left, 0px))`),`${e}`}),C=T(()=>{let e=0;switch(t.value){case"opened":e=F.MAXWIDTH;break;case"minified":e=F.MINWIDTH;break;case"closed":e=0;break}return!l.value&&!w.value&&(e-=R.MAXWIDTH),e});return ce(g,e=>{if(l.value||s.value==="closed")return;e.target.closest(".no-outside")||(s.value="closed")}),h.on(e=>{e.sidebarState&&(t.value=e.sidebarState)}),b(l,e=>{s.value=e?"opened":"closed"}),b(w,e=>{s.value=e?l.value?"opened":"overlay":"closed"}),b(s,e=>{e&&(h.emit({subNavigationState:e}),c("inner-sidebar-state",e))}),ee(()=>{var e;A.value||(e=k.meta)!=null&&e.ui.noMinifiedSidebar?t.value="closed":t.value="minified"}),te(()=>{var n;s.value=l.value?"opened":"closed";const e=(n=k.name)==null?void 0:n.toString().toLowerCase(),p=document.getElementById(e);p&&setTimeout(()=>{p.scrollIntoView({behavior:"smooth"})},100)}),(e,p)=>{const n=K("router-link");return r(),_(L,null,[i("div",{ref_key:"innerSidebar",ref:g,class:"inner-sidebar-settings pb-safe",style:M(`${o(a)};max-width: ${o(R).MAXWIDTH}px`)},[i("div",_e,[(r(!0),_(L,null,oe(o(f),(v,H)=>{var N;return r(),D(n,{id:(N=v.name)==null?void 0:N.toString().toLowerCase(),key:H,class:"navigation-inner",to:v.path,style:M(H!==o(f).length-1?"border-bottom: 1px solid var(--border)":"")},{default:S(()=>{var W,X,E;return[i("div",be,[y(pe,{size:((W=v.meta)==null?void 0:W.navigation.iconSize)||"20",class:"navigation-icon"},{default:S(()=>{var z;return[ae(I((z=v.meta)==null?void 0:z.navigation.icon),1)]}),_:2},1032,["size"]),i("div",he,[i("b",ge,I(e.$t(`navigation.${(X=v.meta)==null?void 0:X.name}`)),1),o($)?(r(),_("p",Se,I(e.$t(`navigation_description.${(E=v.meta)==null?void 0:E.description}`)),1)):B("",!0)])])]}),_:2},1032,["id","to","style"])}),128))]),o(d)?(r(),_("div",{key:0,class:"mt-auto",style:M(`height: ${o(re).HEIGHT}px`)},null,4)):B("",!0)],4),y(Z,{name:"overlay-fade",mode:"in-out"},{default:S(()=>[o(s)==="overlay"?(r(),_("div",ye)):B("",!0)]),_:1})],64)}}}),ke=P(xe,[["__scopeId","data-v-9d0ac4ac"]]),we={class:"flex flex-row",style:{padding:"0 !important"}},$e={class:"flex flex-row items-center"},Ce=J({__name:"Settings",setup(m){const x=Y(),{desktopActive:l,smallMobileActive:A}=G(),d=u(),k=u(null),h=u(null),c=u(!1),V=u(0),f=se(Q.find(t=>t.name==="Settings").children.filter(t=>j(t))),w=T(()=>Q.find(t=>t.name==="Settings").children.filter(t=>j(t))),{isSwiping:$,direction:g}=de(h),s=T(()=>{let t="0px";switch(d.value){case"closed":case"overlay":t="0px";break;case"opened":t=`${R.MAXWIDTH}px`;break}return`padding-left: ${t}`});return b([$,g],()=>{if($.value){const t=f.findIndex(a=>a.path===x.path.split("/settings/")[1]);switch(g.value){case"right":{const a=f[t-1];a&&q.push({path:a.path})}break;case"left":{const a=f[t+1];a&&q.push({path:a.path})}break}}}),b(d,()=>{c.value=d.value!=="closed"}),b(x,()=>{l.value||(c.value=!1)},{deep:!0}),(t,a)=>{var p;const C=ke,e=K("router-view");return r(),_("main",we,[y(C,{description:"",state:o(c),routes:o(w),onInnerSidebarState:a[0]||(a[0]=n=>d.value=n)},null,8,["state","routes"]),i("div",{class:"router-container",style:M(`transition: 0.2s all ease-in-out;${o(s)};`)},[i("div",{ref_key:"routerContainer",ref:k,class:"router-container-inner h-full w-full flex flex-col"},[i("div",$e,[o(l)?B("",!0):(r(),D(me,{key:0,ref:"innerSidebarButton",density:"compact",icon:o(c)?o(fe):o(ve),class:O(["no-outside",{"ml-2":o(A)}]),elevation:"0",style:{border:"1px solid rgba(var(--border-rgb), 0.75)"},onClick:a[1]||(a[1]=ne(n=>c.value=!o(c),["prevent"]))},null,8,["icon","class"])),i("h1",{class:O(["page-title text-color",{"mx-3":o(d)!=="opened"}])},I(t.$t(`views.settings.title_${(p=t.$route.meta)==null?void 0:p.name}`)),3)]),i("div",{ref_key:"subviewContainer",ref:h,class:"h-inherit"},[y(e,null,{default:S(({Component:n})=>[y(Z,{name:"fade",mode:"out-in"},{default:S(()=>[(r(),D(ie(n),{key:o(V),class:"mt-10 pb-5"}))]),_:2},1024)]),_:1})],512)],512)],4)])}}}),tt=P(Ce,[["__scopeId","data-v-5f49fee7"]]);export{tt as default};
@@ -0,0 +1 @@
1
+ .text-editor[data-v-a05baa8a]{height:100%;z-index:1;background:none!important}
@@ -0,0 +1,4 @@
1
+ var X=Object.defineProperty;var Y=(a,t,c)=>t in a?X(a,t,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[t]=c;var L=(a,t,c)=>Y(a,typeof t!="symbol"?t+"":t,c);import{x as Z,z as ee,f as te,y as se,w as oe,d as ne}from"./main-D1X9SzzX.js";import{r as u,F as ae,c as P,w as R,e as m,f as V,O as B,u as o,M as g,l as ie,ae as le,j as n,T as p,R as I,q as re,i as M,V as ue,ai as ce,aj as me}from"./@vue-DMh6qW6s.js";import{u as pe,a as de}from"./@tanstack-BvYNCsQh.js";import{P as ve}from"./plugins-BKEnSy-B.js";import{S as fe,r as ge}from"./system-BTruCO3L.js";import{V as _e}from"./VConsole-WHOBQIsm.js";import{s as ye}from"./utils-BvINh1mj.js";import{c as we}from"./compare-versions-DqEOhma6.js";import{V as F,b as he}from"./vuetify-DYU2dOLI.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./pinia-BQbsPkIS.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./@mdi-B8Roxr1z.js";import"./vee-validate-9vrYaQFq.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";const Ve=async({signal:a})=>(await Z.get("/",{signal:a})).data;class ke{constructor(){L(this,"_queryClient",pe());L(this,"queryActivator",u([{name:"apiInfoQuery",enabled:!0}]))}get queryClient(){return this._queryClient}apiInfoQuery(){return de({queryKey:["api"],queryFn:({signal:t})=>Ve({signal:t}),enabled:()=>this.queryActivator.value.some(t=>t.name==="apiInfoQuery"&&t.enabled)})}toggleQueryActivator(t,c){const k=this.queryActivator.value.find(Q=>Q.name===t);k&&(k.enabled=c)}}const U=a=>(ce("data-v-a05baa8a"),a=a(),me(),a),be={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},Ce={class:"subview-title text-color"},xe={class:"inner-component p-4"},Ie={class:"flex"},Qe={class:"text-sm"},Se={class:"text-sm ml-auto text-right"},$e={key:1},qe=U(()=>n("div",{class:"my-8"},null,-1)),Te={class:"flex items-center justify-center"},Ae={key:0,class:"flex flex-row items-center"},Le={class:"text-disabled"},Pe={key:2,class:"text-disabled"},Re=U(()=>n("div",{class:"p-5"},[n("span",null,"WIP: Release Notes")],-1)),Be={class:"p-5 flex w-full items-center justify-center"},Me=ae({__name:"System",setup(a){const t=new ke,c=new fe,k=new ve,Q=ee(),{smallMobileActive:N}=te(),d=u(!1),_=u(!1),y=u(!1),S=u(""),$=u(!1),w=u(null),v=u(),q=u(!1),D=P(()=>T.value||$.value),O=P(()=>({fontSize:N.value?12:14})),j=P(()=>{if(b.value&&l.value){const e=b.value.version,s=l.value.versions[l.value.versions.length-1];return we(s,e)===1}return!1}),{data:b,isLoading:W}=t.apiInfoQuery(),{data:l,isLoading:E}=c.checkVersionQuery(),{mutateAsync:K,isPending:T}=k.installPluginQuery();R(b,()=>{var e;S.value=((e=b.value)==null?void 0:e.version)||""}),R(d,e=>{A(e),!e&&!q.value&&setTimeout(()=>{y.value=!0},300)}),R(N,()=>{G()});const A=e=>{var s,C,f,i,x,z;e?(v.value=Q.connectToNamespace("/logs"),(s=v.value)==null||s.socket.on("stdout/@camera.ui/server",r=>{var h;(h=w.value)==null||h.writeTerminal(r)}),(C=v.value)==null||C.socket.on("stdout",r=>{var h;(h=w.value)==null||h.writeTerminal(r)}),(f=v.value)==null||f.socket.on("disconnect",()=>{var r;(r=w.value)==null||r.writeTerminal(`
2
+ \rWebsocket failed to connect! Is the server running?
3
+ \r
4
+ \r`)}),(i=v.value)==null||i.socket.on("clear-log",()=>{var r;(r=w.value)==null||r.clearTerminal()})):(z=(x=v.value)==null?void 0:x.end)==null||z.call(x)},G=()=>{d.value&&(A(!1),A(!0))},H=async()=>{if(_.value=!1,q.value=!1,!j.value||!l.value)return;await ye(300),d.value=!0;const e=l.value.versions[l.value.versions.length-1];try{await K({pluginData:{pluginname:"@camera.ui/server",pluginversion:e}}),S.value=e}catch{q.value=!0}},J=async()=>{y.value=!1,$.value=!0,await ge()};return(e,s)=>{const C=se,f=oe;return m(),V("div",null,[(m(),B(le,{to:".app"},[o($)?(m(),V("div",be,[g(C,{reload:""})])):ie("",!0)])),n("div",null,[n("span",Ce,p(e.$t("views.settings.current_version")),1),n("div",xe,[n("div",Ie,[n("span",Qe,p(e.$t("views.settings.current_version_info")),1),n("span",Se,[o(W)?(m(),B(F,{key:0,color:"#df2a4c",indeterminate:""})):(m(),V("span",$e,[n("b",null,p(o(S)),1)]))])])]),qe,n("div",Te,[o(E)?(m(),V("div",Ae,[g(F,{color:"#df2a4c",indeterminate:"",class:"mr-3",size:"15",width:"2"}),n("span",Le,p(e.$t("views.settings.searching_updates")),1)])):o(j)?(m(),B(he,{key:1,loading:o(T),color:"#df2a4c",onClick:s[0]||(s[0]=re(i=>_.value=!0,["prevent"]))},{default:I(()=>[ue(p(e.$t("views.settings.update_available")),1)]),_:1},8,["loading"])):(m(),V("span",Pe,p(e.$t("views.settings.not_available_updates_info")),1))])]),g(f,{modelValue:o(_),"onUpdate:modelValue":s[1]||(s[1]=i=>M(_)?_.value=i:null),title:`${e.$t("components.dialog.title.update")}: ${o(l)?o(l).versions[o(l).versions.length-1]:""}`,"fullscreen-content":"",loading:o(T),"confirm-text":"components.form.button.update",onConfirm:H},{content:I(()=>[Re]),_:1},8,["modelValue","title","loading"]),g(f,{modelValue:o(d),"onUpdate:modelValue":s[2]||(s[2]=i=>M(d)?d.value=i:null),title:e.$t("components.dialog.title.log"),"fullscreen-content":"","hide-confirm-button":""},{content:I(()=>[g(_e,{ref_key:"consoleRef",ref:w,class:"text-editor",options:o(O)},null,8,["options"])]),_:1},8,["modelValue","title"]),g(f,{modelValue:o(y),"onUpdate:modelValue":s[3]||(s[3]=i=>M(y)?y.value=i:null),title:e.$t("components.dialog.title.restart"),"confirm-text":"components.form.button.restart",loading:o(D),onConfirm:s[4]||(s[4]=i=>J())},{content:I(()=>[n("div",Be,[n("span",null,p(e.$t("components.dialog.message.restart_server_info")),1)])]),_:1},8,["modelValue","title","loading"])])}}}),yt=ne(Me,[["__scopeId","data-v-a05baa8a"]]);export{yt as default};
@@ -0,0 +1 @@
1
+ import{i as ie,f as de,U as me,w as ue,c as pe,V as ce,_ as ve,d as fe}from"./main-D1X9SzzX.js";import{F as ge,r as p,b as _e,c as S,e as be,f as he,j as l,T as d,M as s,u as e,i as N,R as n,q as y,n as we,m as c,V as h}from"./@vue-DMh6qW6s.js";import{az as ye,aA as xe,U as Ve,m as $,a as U}from"./@mdi-B8Roxr1z.js";import{a as Q,F as g}from"./vee-validate-9vrYaQFq.js";import{c as b,a1 as Ce,b as B,o as $e,e as D,G as Ue,f as O,H as T,n as ke,a0 as Pe,y as A,m as R}from"./vuetify-DYU2dOLI.js";import"./vue-inline-svg-D1BV6A5r.js";import"./vue3-toastify-D8Ru9hkX.js";import"./vue-i18n-DqKZtX1N.js";import"./@intlify-Ck2ZoCVz.js";import"./axios--Jv2L996.js";import"./@tanstack-BvYNCsQh.js";import"./pinia-BQbsPkIS.js";import"./vue-router-Bje-Muh5.js";import"./@vueuse-D76s02Ot.js";import"./nprogress-DSyAi0LF.js";import"./@xterm-B4Ga69iL.js";import"./@vee-validate-BY5H7fGS.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CVkp7hgG.js";import"./@popperjs-BQBsAJpH.js";const ze={class:"subview-title text-color"},Se={class:"inner-component p-4"},De={class:"flex flex-row items-center w-full"},Fe={class:"flex flex-col"},Ie={class:"text-base"},Le={class:"text-disabled"},Ee={class:"ml-auto"},Me={class:"text-center pt-2"},Ne={class:"relative"},Qe={for:"username",class:"v-label"},Be={class:"relative"},Oe={for:"password",class:"v-label"},Te={class:"relative"},Ae={for:"passwordConfirm",class:"v-label"},Re={class:"relative"},He={for:"role",class:"v-label"},Je={class:"relative"},je={for:"username",class:"v-label"},qe={class:"relative"},Ge={for:"password",class:"v-label"},Ke={class:"relative"},We={for:"passwordConfirm",class:"v-label"},Xe={class:"relative"},Ye={for:"role",class:"v-label"},Ze=ge({__name:"User",setup(es){const{t:H}=ie.global,{smallMobileActive:J}=de(),x=new me,u=p({pageSize:5,page:1}),w=p(!1),_=p(),v=p(!1),f=p(!1),F=p(["user","admin"]),k=p(),I=p(),V=p(),j=_e([{title:H("views.settings.title_user"),align:"start",key:"username",value:"username",width:"100%",sortable:!0}]),r=S(()=>G.value||Z.value||X.value||se.value),q=S(()=>{var o;const a=Math.ceil((((o=L.value)==null?void 0:o.pagination.totalItems)||0)/u.value.pageSize);return a===1&&(u.value.page=1),a}),{data:L,isLoading:G,isPlaceholderData:K}=x.getUsersQuery(u),{mutate:W,isPending:X}=x.createUserQuery(),{mutate:Y,isPending:Z}=x.patchUserQuery(),{mutate:ee,isPending:se}=x.removeUserQuery(),P=S(()=>{if(!_.value)return;const a=JSON.parse(JSON.stringify(_.value));return delete a._id,delete a.avatar,a}),ae=()=>{u.value.page=Math.max(u.value.page-1,1)},te=()=>{K.value||(u.value.page=u.value.page+1)},oe=async()=>{var o,C;const a=await((o=k.value)==null?void 0:o.validate());a!=null&&a.valid&&re((C=k.value)==null?void 0:C.values)},le=async()=>{var o;if(!_.value||!P.value)throw new Error("No user to edit");const a=await((o=I.value)==null?void 0:o.validate());a!=null&&a.valid&&Y({username:_.value.username,userData:P.value})},ne=async a=>{ee({username:a.username})},re=async a=>{W({userData:a},{onSuccess:()=>{w.value=!1}})};return(a,o)=>{var M;const C=ve,E=ue;return be(),he("div",null,[l("div",null,[l("span",ze,d(a.$t("views.settings.registered_users")),1),l("div",Se,[s(b,{modelValue:e(V),"onUpdate:modelValue":o[0]||(o[0]=t=>N(V)?V.value=t:null),placeholder:a.$t("views.settings.search_by_name"),type:"text",density:"comfortable",variant:"outlined","hide-details":"",class:"mb-5",loading:e(r)},null,8,["modelValue","placeholder","loading"]),s(Ce,{"items-per-page":e(u).pageSize,headers:e(j),items:(M=e(L))==null?void 0:M.result,class:"elevation-0","item-value":"username","hide-default-footer":"","hide-default-header":"",search:e(V),hover:""},{"item.username":n(({item:t})=>[l("div",De,[s(C,{src:t.avatar,size:"4rem",style:{"border-radius":"4rem",border:"1px solid var(--border)"},class:"mr-3"},null,8,["src"]),l("div",Fe,[l("span",Ie,d(t.username),1),l("span",Le,d(t.role),1)]),l("div",Ee,[s($e,{offset:"2"},{activator:n(({props:i})=>[s(B,c(i,{disabled:e(r),size:"24",class:"text-disabled",elevation:"0",icon:"",loading:e(r)}),{default:n(()=>[s(D,{size:"18"},{default:n(()=>[h(d(e(ye)),1)]),_:1})]),_:2},1040,["disabled","loading"])]),default:n(()=>[s(Ue,{style:{padding:"4px"}},{default:n(()=>[s(O,{disabled:e(r),height:"30px","max-height":"30px","min-height":"30px",onClick:y(i=>_.value=t,["prevent"])},{default:n(()=>[s(T,{style:{"font-size":"0.9rem"},class:"flex items-center"},{default:n(()=>[s(D,{size:"15",class:"mr-2 disabled-text"},{default:n(()=>[h(d(e(xe)),1)]),_:1}),l("span",null,d(a.$t("views.settings.edit")),1)]),_:1})]),_:2},1032,["disabled","onClick"]),s(ke,{style:{"border-color":"rgba(var(--color-rgb), 0.1)",opacity:"1"},class:"my-1"}),s(O,{disabled:e(r),height:"30px","max-height":"30px","min-height":"30px",onClick:y(i=>ne(t),["prevent"])},{default:n(()=>[s(T,{style:{"font-size":"0.9rem"},class:"flex items-center"},{default:n(()=>[s(D,{size:"15",color:"red",class:"mr-2"},{default:n(()=>[h(d(e(Ve)),1)]),_:1}),l("span",null,d(a.$t("views.settings.remove")),1)]),_:1})]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),_:2},1024)])])]),bottom:n(()=>[l("div",Me,[s(Pe,{modelValue:e(u).page,"onUpdate:modelValue":o[1]||(o[1]=t=>e(u).page=t),length:e(q),onPrev:y(ae,["prevent"]),onNext:y(te,["prevent"])},null,8,["modelValue","length"])])]),_:1},8,["items-per-page","headers","items","search"])])]),l("div",{class:we(["flex flex-row my-5",{"mr-3":e(J)}])},[s(B,{color:"success",class:"ml-auto",loading:e(r),onClick:o[2]||(o[2]=y(t=>w.value=!0,["prevent"]))},{default:n(()=>[h(d(a.$t("components.form.button.create_new_user")),1)]),_:1},8,["loading"])],2),s(E,{"model-value":e(_)!==void 0,title:a.$t("components.dialog.title.edit_user"),"confirm-text":"components.form.button.save",loading:e(r),onConfirm:o[5]||(o[5]=t=>le()),onClose:o[6]||(o[6]=t=>_.value=void 0)},{content:n(()=>[s(e(Q),{ref_key:"userVeeFormEdit",ref:I,class:"flex flex-col w-full h-full px-3","validation-schema":e(pe),"initial-values":e(P)},{default:n(()=>[l("div",null,[l("div",Ne,[l("label",Qe,d(a.$t("components.form.label.username")),1),s(e(g),{name:"username"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(b,c({name:"username",variant:"outlined",density:"compact"},t,{type:"text",loading:e(r),disabled:e(r),error:m.length>0,"error-messages":i}),null,16,["loading","disabled","error","error-messages"])]),_:1})]),l("div",Be,[l("label",Oe,d(a.$t("components.form.label.new_password")),1),s(e(g),{name:"password"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(b,c({name:"password",variant:"outlined",density:"compact"},t,{type:e(v)?"text":"password",loading:e(r),disabled:e(r),error:m.length>0,"error-messages":i,"append-inner-icon":e(v)?e($):e(U),"onClick:appendInner":o[3]||(o[3]=z=>v.value=!e(v))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),l("div",Te,[l("label",Ae,d(a.$t("components.form.label.new_password_confirm")),1),s(e(g),{name:"passwordConfirm"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(b,c({name:"passwordConfirm",variant:"outlined",density:"compact"},t,{type:e(f)?"text":"password",loading:e(r),disabled:e(r),error:m.length>0,"error-messages":i,"append-inner-icon":e(f)?e($):e(U),"onClick:appendInner":o[4]||(o[4]=z=>f.value=!e(f))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),l("div",Re,[l("label",He,d(a.$t("components.form.label.role")),1),s(e(g),{name:"role"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(A,c({"model-value":t.value,variant:"outlined",density:"compact",name:"role",chips:""},t,{loading:e(r),disabled:e(r),items:e(F),error:m.length>0,"error-messages":i}),{chip:n(()=>[s(R,{color:"#df2a4c"},{default:n(()=>[h(d(t.value),1)]),_:2},1024)]),_:2},1040,["model-value","loading","disabled","items","error","error-messages"])]),_:1})])])]),_:1},8,["validation-schema","initial-values"])]),_:1},8,["model-value","title","loading"]),s(E,{modelValue:e(w),"onUpdate:modelValue":o[9]||(o[9]=t=>N(w)?w.value=t:null),title:a.$t("components.dialog.title.create_new_user"),"confirm-text":"components.form.button.add",loading:e(r),onConfirm:o[10]||(o[10]=t=>oe())},{content:n(()=>[s(e(Q),{ref_key:"userVeeForm",ref:k,class:"flex flex-col w-full h-full px-3","validation-schema":e(ce)},{default:n(()=>[l("div",null,[l("div",Je,[l("label",je,d(a.$t("components.form.label.username")),1),s(e(g),{name:"username"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(b,c({name:"username",variant:"outlined",density:"compact"},t,{type:"text",loading:e(r),disabled:e(r),error:m.length>0,"error-messages":i}),null,16,["loading","disabled","error","error-messages"])]),_:1})]),l("div",qe,[l("label",Ge,d(a.$t("components.form.label.new_password")),1),s(e(g),{name:"password"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(b,c({name:"password",variant:"outlined",density:"compact"},t,{type:e(v)?"text":"password",loading:e(r),disabled:e(r),error:m.length>0,"error-messages":i,"append-inner-icon":e(v)?e($):e(U),"onClick:appendInner":o[7]||(o[7]=z=>v.value=!e(v))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),l("div",Ke,[l("label",We,d(a.$t("components.form.label.new_password_confirm")),1),s(e(g),{name:"passwordConfirm"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(b,c({name:"passwordConfirm",variant:"outlined",density:"compact"},t,{type:e(f)?"text":"password",loading:e(r),disabled:e(r),error:m.length>0,"error-messages":i,"append-inner-icon":e(f)?e($):e(U),"onClick:appendInner":o[8]||(o[8]=z=>f.value=!e(f))}),null,16,["type","loading","disabled","error","error-messages","append-inner-icon"])]),_:1})]),l("div",Xe,[l("label",Ye,d(a.$t("components.form.label.role")),1),s(e(g),{name:"role"},{default:n(({field:t,errorMessage:i,errors:m})=>[s(A,c({variant:"outlined",density:"compact",name:"role",chips:""},t,{loading:e(r),disabled:e(r),items:e(F),error:m.length>0,"error-messages":i}),{chip:n(()=>[s(R,{color:"#df2a4c"},{default:n(()=>[h(d(t.value),1)]),_:2},1024)]),_:2},1040,["loading","disabled","items","error","error-messages"])]),_:1})])])]),_:1},8,["validation-schema"])]),_:1},8,["modelValue","title","loading"])])}}}),zs=fe(Ze,[["__scopeId","data-v-90b4ff64"]]);export{zs as default};
@@ -0,0 +1 @@
1
+ .image-upload[data-v-90b4ff64]{position:absolute;right:10px;top:-12px;border:4px solid var(--background);border-radius:100px}div[data-v-90b4ff64] .v-data-table__tr .v-data-table__td{padding-top:10px;padding-bottom:10px}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ace-builds-CigWTak4.js","assets/@xterm-B4Ga69iL.js","assets/@xterm-CGrrDQr5.css"])))=>i.map(i=>d[i]);
2
+ import{L as E}from"./main-D1X9SzzX.js";import{m as T,b as V,t as B,c as L}from"./ace-builds-CigWTak4.js";import{C}from"./@vueuse-D76s02Ot.js";import{F as P,ak as w,at as A,al as R,t as x,r as n,w as l,y as z,a0 as D,e as j,f as F}from"./@vue-DMh6qW6s.js";const q=P({__name:"VConfigEditor",props:w({lang:{default:"yaml"},readOnly:{type:Boolean,default:!1},printMargin:{type:[Number,Boolean],default:!1},theme:{default:"light"},options:{},placeholder:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:w(["init","blur","input","change","changeSelectionStyle","changeSession","copy","focus","paste","update:value"],["update:modelValue"]),async setup(v,{emit:U}){let s,p;const u=([s,p]=A(()=>E(()=>import("./ace-builds-CigWTak4.js").then(e=>e.a),__vite__mapDeps([0,1,2]))),s=await s,p(),s),f=R(v,"modelValue"),o=U,b={useWorker:!1,wrap:!0,showPrintMargin:!1,tabSize:2,highlightGutterLine:!0,useSoftTabs:!0,dragEnabled:!1,showGutter:!0,scrollPastEnd:.1},k=v,{theme:c,readOnly:h,options:g,lang:y,printMargin:_,placeholder:S}=x(k),a=n(),r=n(),i=n(),d=n(!1),m=n("");C(i,()=>{a.value&&a.value.resize(!0)}),l(f,e=>{var t;if(m.value!==e){try{d.value=!0,(t=a.value)==null||t.setValue(e,1)}finally{d.value=!1}m.value=e}}),l(c,()=>{setTimeout(()=>{M()},10)}),l(y,e=>{var t;(t=a.value)==null||t.setOption("mode","ace/mode/"+e),e==="json"?u.config.setModuleUrl("ace/mode/json",T):u.config.setModuleUrl("ace/mode/yaml",V)},{immediate:!0}),l(g,e=>{var t;e&&((t=a.value)==null||t.setOptions(e))}),l(S,e=>{var t;e!==void 0&&((t=a.value)==null||t.setOption("placeholder",e))}),l(h,e=>{var t;(t=a.value)==null||t.setReadOnly(e)}),l(_,e=>{var t;(t=a.value)==null||t.setOption("printMargin",e)});const M=()=>{var O;const e=c.value==="dark"?"twilight":"tomorrow",t=c.value==="dark"?B:L;u.config.setModuleUrl(`ace/theme/${e}`,t),r.value=e,(O=a.value)==null||O.setTheme(`ace/theme/${r.value}`)};return z(()=>{i.value&&(a.value=u.edit(i.value,{placeholder:S.value,readOnly:h.value,value:f.value,mode:"ace/mode/"+y.value,theme:r.value?"ace/theme/"+r.value:void 0,printMargin:_.value,...b,...g.value}),M(),a.value.on("change",()=>{if(d.value)return;const e=a.value.getValue();m.value=e,o("update:value",e)}),a.value.on("blur",e=>{o("blur",e)}),a.value.on("input",()=>{o("input")}),a.value.on("change",e=>{o("change",e)}),a.value.on("changeSelectionStyle",e=>{o("changeSelectionStyle",e)}),a.value.on("changeSession",e=>{o("changeSession",e)}),a.value.on("copy",e=>{o("copy",e)}),a.value.on("focus",e=>{o("focus",e)}),a.value.on("paste",e=>{o("paste",e)}),o("init",a.value))}),D(()=>{var e,t;(e=a.value)==null||e.removeAllListeners(),(t=a.value)==null||t.destroy()}),(e,t)=>(j(),F("div",{ref_key:"editorEl",ref:i},null,512))}});export{q as _};
@@ -1 +1 @@
1
- import{x as y,a as g}from"./@xterm-B4Ga69iL.js";import{N as k,d as A}from"./main-BCWSiwnj.js";import{b as D,d as F,f as V}from"./@vueuse-BPeqNGoM.js";import{F as O,t as U,r as d,w as v,y as W,U as H,e as N,f as R}from"./@vue-C10tA4b9.js";const j=O({__name:"VConsole",props:{options:{default:()=>({fontSize:14})}},setup(S,{expose:x}){const E=S,M=V(k),b=D(),m=F({listenOrientation:!1}),{options:i}=U(E),n=d(null),p=d(null),e=d(null);let f,s;v(i,()=>{e.value&&(e.value.options=i.value,l())},{deep:!0}),v(b.orientation,()=>{l()},{deep:!0}),v([m.height,m.width],()=>{l()},{deep:!0}),M.on(t=>{try{t.sidebarState&&(clearTimeout(f),f=setTimeout(()=>{l()},150))}catch{}});const h=()=>{var t,a,o;(a=(t=e.value)==null?void 0:t._core)!=null&&a.viewport&&(e.value._core.viewport.scrollBarWidth=0),(o=n.value)==null||o.fit()},l=()=>{setTimeout(()=>{var t;h(),(t=e.value)==null||t.scrollToBottom()})},B=()=>{var t;(t=e.value)==null||t.clear()},I=t=>{var a;(a=e.value)==null||a.write(t)},Y=()=>{if(!e.value||!e.value.element)return;let t=0,a=0,o=0,c=0,u=!1;const w=1,z=10;e.value.element.addEventListener("touchstart",r=>{clearInterval(s),t=r.touches[0].clientY,a=t,o=0,c=Date.now(),u=!1}),e.value.element.addEventListener("touchmove",r=>{r.preventDefault();const _=r.touches[0].clientY,T=Date.now(),C=_-a,L=T-c;c=T,a=_,o=Math.max(-w,Math.min(C/L,w)),u=!0}),e.value.element.addEventListener("touchend",()=>{u&&Math.abs(o)>.5&&(s=setInterval(()=>{if(!e.value){clearInterval(s);return}e.value.scrollLines(-Math.round(o*z)),o*=.9,Math.abs(o)<.1&&clearInterval(s)},16))})};return W(()=>{e.value=new y.Terminal(i.value),n.value=new g.FitAddon,e.value.loadAddon(n.value),e.value.open(p.value),n.value.activate(e.value),h(),Y()}),H(()=>{var t,a;try{(t=e.value)==null||t.dispose(),(a=n.value)==null||a.dispose()}catch{}}),x({clearTerminal:B,writeTerminal:I,resizeHandler:l}),(t,a)=>(N(),R("div",{ref_key:"terminalContainer",ref:p,class:"console"},null,512))}}),P=A(j,[["__scopeId","data-v-25de724d"]]);export{P as V};
1
+ import{x as g,a as y}from"./@xterm-B4Ga69iL.js";import{Q as k,d as A}from"./main-D1X9SzzX.js";import{b as D,d as F,g as V}from"./@vueuse-D76s02Ot.js";import{F as O,t as U,r as d,w as v,y as W,U as H,e as Q,f as R}from"./@vue-DMh6qW6s.js";const j=O({__name:"VConsole",props:{options:{default:()=>({fontSize:14})}},setup(S,{expose:x}){const E=S,M=V(k),b=D(),m=F({listenOrientation:!1}),{options:i}=U(E),n=d(null),p=d(null),e=d(null);let f,s;v(i,()=>{e.value&&(e.value.options=i.value,l())},{deep:!0}),v(b.orientation,()=>{l()},{deep:!0}),v([m.height,m.width],()=>{l()},{deep:!0}),M.on(t=>{try{t.sidebarState&&(clearTimeout(f),f=setTimeout(()=>{l()},150))}catch{}});const h=()=>{var t,a,o;(a=(t=e.value)==null?void 0:t._core)!=null&&a.viewport&&(e.value._core.viewport.scrollBarWidth=0),(o=n.value)==null||o.fit()},l=()=>{setTimeout(()=>{var t;h(),(t=e.value)==null||t.scrollToBottom()})},B=()=>{var t;(t=e.value)==null||t.clear()},I=t=>{var a;(a=e.value)==null||a.write(t)},Y=()=>{if(!e.value||!e.value.element)return;let t=0,a=0,o=0,c=0,u=!1;const w=1,z=10;e.value.element.addEventListener("touchstart",r=>{clearInterval(s),t=r.touches[0].clientY,a=t,o=0,c=Date.now(),u=!1}),e.value.element.addEventListener("touchmove",r=>{r.preventDefault();const _=r.touches[0].clientY,T=Date.now(),C=_-a,L=T-c;c=T,a=_,o=Math.max(-w,Math.min(C/L,w)),u=!0}),e.value.element.addEventListener("touchend",()=>{u&&Math.abs(o)>.5&&(s=setInterval(()=>{if(!e.value){clearInterval(s);return}e.value.scrollLines(-Math.round(o*z)),o*=.9,Math.abs(o)<.1&&clearInterval(s)},16))})};return W(()=>{e.value=new g.Terminal(i.value),n.value=new y.FitAddon,e.value.loadAddon(n.value),e.value.open(p.value),n.value.activate(e.value),h(),Y()}),H(()=>{var t,a;try{(t=e.value)==null||t.dispose(),(a=n.value)==null||a.dispose()}catch{}}),x({clearTerminal:B,writeTerminal:I,resizeHandler:l}),(t,a)=>(Q(),R("div",{ref_key:"terminalContainer",ref:p,class:"console"},null,512))}}),N=A(j,[["__scopeId","data-v-25de724d"]]);export{N as V};