@camera.ui/server 2.2.6 → 2.2.7

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 (338) hide show
  1. package/dist/interface/assets/{404-BLVuKvLk.js → 404-C8EoOtBl.js} +1 -1
  2. package/dist/interface/assets/{About-C-AJ0jfI.js → About-Q7ZmOGgl.js} +1 -1
  3. package/dist/interface/assets/Assistant-DFLgklVe.js +1 -0
  4. package/dist/interface/assets/{Automation-C95DzuZb.js → Automation-D__qvx8c.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-C8VYjDzf.js → AutomationImport-CLQSdqg9.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-CE4PKRGd.js → AutomationStore-Dt6yTQDb.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DavWfjLv.js → AutomationStoreDetail-DqBrBhUI.js} +2 -2
  8. package/dist/interface/assets/Automations-BH_7lYR7.js +2 -0
  9. package/dist/interface/assets/Camera-aquPHFwb.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-C4AmtcrM.js → CameraConsole-rhle_cfW.js} +1 -1
  11. package/dist/interface/assets/{Cameras-DR577Bno.js → Cameras-Bzy3P0xN.js} +2 -2
  12. package/dist/interface/assets/Camview-CjcQbtTl.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-BYFKZCP9.js → CertificateUpload-CWVu_52v.js} +1 -1
  14. package/dist/interface/assets/Config-Dc1zKIPq.js +2 -0
  15. package/dist/interface/assets/{ConfigActionAssistant-YtCVI8LZ.js → ConfigActionAssistant-AfQfSqHZ.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-Dg_1zOYt.js → ConfigActionCameraControl-BKQdHxqe.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-_EqbfWgo.js → ConfigActionDelay-B52HeJGb.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-BzwLv2tn.js → ConfigActionHttp-BP5gvpQc.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-CLdY2sV4.js → ConfigActionImageInput-DE2mSost.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-lGqYshl3.js → ConfigActionMqtt-CYgnZjAE.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-D5Dj3EoU.js → ConfigActionNotification-C3q53I4n.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-Dy5fKamr.js → ConfigActionNotificationControl-eDJ8r5ao.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-DzsQ31L0.js → ConfigActionOutput-DgYSYvy-.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-BFrBcXvL.js → ConfigActionPlugin-utolgAXk.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-CX8ePlan.js → ConfigActionSensor-CmEKQPqs.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BATLRmh6.js → ConfigActionSnapshot-D7XucxVV.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-Dgn5jvaR.js → ConfigActionVariable-C-Mjm3gr.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-D5IIBjyk.js → ConfigConditionIfElse-B24Rqb8y.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-C0JxBWdG.js → ConfigConditionSensorState-42-yFDmK.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-Brlgd0XP.js → ConfigConditionSwitch-DezH_nwm.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-CM4bSMyU.js → ConfigConditionTime-Cg2Lwznd.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-CtuH8dCa.js → ConfigSensorValueInput-YHBDCTZm.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-DsL7lLQl.js → ConfigTriggerDetection-DxEpodjG.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerGeofence-CAGIk1_W.js → ConfigTriggerGeofence-Bye8syxc.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerManual-DgkR-GWy.js → ConfigTriggerManual-s_lEDTV9.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-B_iFalAQ.js → ConfigTriggerMqtt-DqdZj7TU.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-E_QWfNKy.js → ConfigTriggerSchedule-Q559hn6g.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-hYNbLXUu.js → ConfigTriggerSensor-DIKkdbTF.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DR1EFpE9.js → ConfigTriggerSystem-CwNZ4xEg.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-C-B5GGFH.js → ConfigTriggerWebhook-9ZC6X4mK.js} +1 -1
  41. package/dist/interface/assets/Console-BqIDZ5vq.js +1 -0
  42. package/dist/interface/assets/{CuiAssistantConversation-BmshW6Vc.css → CuiAssistantConversation-BmBhwrNh.css} +1 -1
  43. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +5 -0
  44. package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +1 -0
  46. package/dist/interface/assets/{CuiBottomSheet-C2sM2E3M.js → CuiBottomSheet-D75L0Zny.js} +1 -1
  47. package/dist/interface/assets/{CuiCameraPipCard-wdK7xir-.js → CuiCameraPipCard-eiJjYZ5W.js} +1 -1
  48. package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +1 -0
  49. package/dist/interface/assets/{CuiCameraShares-B6jdUBVm.js → CuiCameraShares-8mtgFsQ_.js} +1 -1
  50. package/dist/interface/assets/{CuiCameraTable-CpBo25Qc.js → CuiCameraTable-CmCT-XQF.js} +2 -2
  51. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +1 -0
  52. package/dist/interface/assets/CuiChartTable-DCr_AsSw.css +1 -0
  53. package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +1 -0
  54. package/dist/interface/assets/{CuiConsole-BGptpT6r.js → CuiConsole-DYV-FUE0.js} +2 -2
  55. package/dist/interface/assets/{CuiDataTable-CQmp5mAy.js → CuiDataTable-C0gsYYpg.js} +1 -1
  56. package/dist/interface/assets/{CuiLightControl-wbZi3fA1.js → CuiLightControl-CFIwBj3C.js} +1 -1
  57. package/dist/interface/assets/{CuiList-Dsu5m0TA.js → CuiList-9TVV8SB6.js} +1 -1
  58. package/dist/interface/assets/{CuiPluginCard-BjIc7It9.js → CuiPluginCard-DEfqwUhQ.js} +2 -2
  59. package/dist/interface/assets/{CuiPluginCategoryChip-BtJ_6_gN.js → CuiPluginCategoryChip-DhnIBJHa.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-Duf35I8K.js → CuiPluginOAuthButton-DAuzNRAA.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-jxXeRTH2.js → CuiPluginTrustBadge-Bz710WwC.js} +1 -1
  62. package/dist/interface/assets/{CuiQRCode-BNchrpoB.js → CuiQRCode-B8-4GHSY.js} +1 -1
  63. package/dist/interface/assets/{CuiSchema-DGTMkVSe.js → CuiSchema-C_CHuKuf.js} +1 -1
  64. package/dist/interface/assets/{CuiTopNavbarItem-CHtLvn53.js → CuiTopNavbarItem-CNEnOPSh.js} +1 -1
  65. package/dist/interface/assets/Faces-DRHMrrxh.js +1 -0
  66. package/dist/interface/assets/{FirstSteps-HzaBMDbH.js → FirstSteps-Ci2Iqbe2.js} +1 -1
  67. package/dist/interface/assets/Floorplan-CqWIbDbh.js +1 -0
  68. package/dist/interface/assets/{Instances-Dl-6rL5O.js → Instances-gzKFKB1l.js} +1 -1
  69. package/dist/interface/assets/{Logs-DsJkuQFq.js → Logs-DL1yw_Pe.js} +2 -2
  70. package/dist/interface/assets/{Menu-D_woMkjL.js → Menu-C0GQ63aj.js} +1 -1
  71. package/dist/interface/assets/Metrics-BYnnb7M0.js +12 -0
  72. package/dist/interface/assets/Metrics-DsHBab6t.css +1 -0
  73. package/dist/interface/assets/{OAuthDeviceFlow-CXfILAE1.js → OAuthDeviceFlow-Zd6r9IHU.js} +1 -1
  74. package/dist/interface/assets/Plugin-DJIrYUnZ.js +1 -0
  75. package/dist/interface/assets/{PluginConsole-C96m5zKy.js → PluginConsole-ag0jPZQ_.js} +1 -1
  76. package/dist/interface/assets/{PluginDetail-CnfaI1vh.js → PluginDetail-DmElwUuV.js} +2 -2
  77. package/dist/interface/assets/{PluginSchema-u1bqXU29.js → PluginSchema-CxUujnVs.js} +1 -1
  78. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +1 -0
  79. package/dist/interface/assets/PluginSearch-BqzngVRL.js +2 -0
  80. package/dist/interface/assets/{PluginUpdateProgress-BT4lN9HT.js → PluginUpdateProgress-CFut0RAe.js} +1 -1
  81. package/dist/interface/assets/Plugins-ZFcB_j6v.js +1 -0
  82. package/dist/interface/assets/{RecentEventsFilter-Kp_lTOuG.js → RecentEventsFilter-CqeHhECT.js} +1 -1
  83. package/dist/interface/assets/Recordings-BJrtW9eG.js +1 -0
  84. package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +1 -0
  85. package/dist/interface/assets/{SensorHistory-Cet35_RO.js → SensorHistory-q0UR3qMG.js} +1 -1
  86. package/dist/interface/assets/Sensors-C_InhcHA.js +2 -0
  87. package/dist/interface/assets/{Settings-C-LCDIbK.js → Settings-Cv38rGWn.js} +1 -1
  88. package/dist/interface/assets/SettingsAccount-B05739dn.js +1 -0
  89. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance-BS4EQNjH.js → SettingsAppearance-DdyYUgmV.js} +1 -1
  91. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +1 -0
  92. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +1 -0
  93. package/dist/interface/assets/{SettingsBackup-DBlV1gej.js → SettingsBackup-DKwlPQhD.js} +1 -1
  94. package/dist/interface/assets/{SettingsList-D8eSwbBY.js → SettingsList-D6hqnvUo.js} +1 -1
  95. package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +1 -0
  97. package/dist/interface/assets/{SettingsPermissions-CJiz0Z7B.js → SettingsPermissions-BeTCTrAf.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-CLz9Zp47.js → SettingsRecordings-mwL6Dalr.js} +1 -1
  99. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +2 -0
  100. package/dist/interface/assets/{SettingsSystem-txTFGomQ.js → SettingsSystem-BXnzXgqm.js} +2 -2
  101. package/dist/interface/assets/{SettingsUsers-CUp6vQPc.js → SettingsUsers-D2mVlJin.js} +1 -1
  102. package/dist/interface/assets/Terminal-C1UoXDRK.js +4 -0
  103. package/dist/interface/assets/Training-A5ynOv_l.js +1 -0
  104. package/dist/interface/assets/{Training-Bkn52mPJ.css → Training-C-ToeAl4.css} +1 -1
  105. package/dist/interface/assets/Updates-kS_Tm8HD.js +2 -0
  106. package/dist/interface/assets/{VariableInput-183LygmK.js → VariableInput-D9PfI8Ut.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-DwLtlzVz.js → VariableSuggestions-DArWzQuE.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-DkbkcypK.js → VersionsHandler-BZVMpB2v.js} +1 -1
  109. package/dist/interface/assets/{VirtualSensorCreate-Bn4tgdxA.js → VirtualSensorCreate-Cz-QFo4R.js} +1 -1
  110. package/dist/interface/assets/Workers-2sc4VMi9.js +2 -0
  111. package/dist/interface/assets/api-CGfJbsTz.css +2 -0
  112. package/dist/interface/assets/{api-h4HRB3ef.js → api-CzwdnGAH.js} +1 -1
  113. package/dist/interface/assets/api-DOpXVpef.js +4 -0
  114. package/dist/interface/assets/{assistant-4hYyIu6D.js → assistant-hGCAgv-f.js} +1 -1
  115. package/dist/interface/assets/{auth-DFesRtwI.js → auth-By-S-WEr.js} +1 -1
  116. package/dist/interface/assets/{automations-D2bnX8uw.js → automations-vwIwb2PQ.js} +1 -1
  117. package/dist/interface/assets/{cameraSources-DmVZWs4-.js → cameraSources-BMhXvtFt.js} +1 -1
  118. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +1 -0
  119. package/dist/interface/assets/{config-DDaCrMSU.js → config-BQxEwrK6.js} +1 -1
  120. package/dist/interface/assets/{flowSchema-YJtAu9gB.js → flowSchema-BPq6iHks.js} +1 -1
  121. package/dist/interface/assets/{intercomService-CjoJaOZ7.js → intercomService-CXcjcPa9.js} +1 -1
  122. package/dist/interface/assets/main-By4L33Im.js +3 -0
  123. package/dist/interface/assets/mqtt-DE1KQ8Td.js +1 -0
  124. package/dist/interface/assets/{notifications-5yeK345h.js → notifications-BCyiD-TP.js} +1 -1
  125. package/dist/interface/assets/{plugins-BTOdE_zv.js → plugins-BJPCV1YL.js} +1 -1
  126. package/dist/interface/assets/rooms-Dr4yiakO.js +1 -0
  127. package/dist/interface/assets/{sensorIcons-5Ynqwo3e.js → sensorIcons-DofElQ3w.js} +1 -1
  128. package/dist/interface/assets/{sensorSlots-BF70tpV7.js → sensorSlots-D2KJGvPw.js} +1 -1
  129. package/dist/interface/assets/{sensors-CeFEEz8r.js → sensors-3llrL7s3.js} +1 -1
  130. package/dist/interface/assets/server-Dw5DD473.js +1 -0
  131. package/dist/interface/assets/{theme-DF_XA58O.js → theme-C85LJhOY.js} +1 -1
  132. package/dist/interface/assets/{types-CklFkUXk.js → types-CPhy0Ovw.js} +1 -1
  133. package/dist/interface/assets/{types-ArGM5-5O.js → types-DYKmSGl4.js} +1 -1
  134. package/dist/interface/assets/{types-BcAxmlqC.js → types-i1kTodPP.js} +1 -1
  135. package/dist/interface/assets/ungrouped-BlheTJCh.css +1 -0
  136. package/dist/interface/assets/ungrouped-C2CWO39a.js +1 -0
  137. package/dist/interface/assets/{updates-D3x_kPMM.js → updates-C2LhMkNR.js} +1 -1
  138. package/dist/interface/assets/{useAppVersion-Dcvu95bZ.js → useAppVersion-DkazK9Vu.js} +1 -1
  139. package/dist/interface/assets/{useAssistantActions-Cc_O6M9_.js → useAssistantActions-BZP6NL18.js} +1 -1
  140. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +1 -0
  141. package/dist/interface/assets/{useCameraOptions-8I4MTDgj.js → useCameraOptions-DnI0xLrX.js} +1 -1
  142. package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +1 -0
  143. package/dist/interface/assets/{useLogsSocket-bpOiLgWT.js → useLogsSocket-C3Y8S0Ar.js} +1 -1
  144. package/dist/interface/assets/{useNavLayout-Cjf6Da2u.js → useNavLayout-C9pcDuVP.js} +1 -1
  145. package/dist/interface/assets/{usePermissions-BXTw4tII.js → usePermissions-CCTxwXF0.js} +1 -1
  146. package/dist/interface/assets/{usePluginUpdates-bOMj-IvL.js → usePluginUpdates-DBhLWAua.js} +1 -1
  147. package/dist/interface/assets/{usePushRegistration-HOvLuUVP.js → usePushRegistration-CPRVdLAx.js} +1 -1
  148. package/dist/interface/assets/{useServerRestart-CQN4cdHJ.js → useServerRestart-bScBLJ9r.js} +1 -1
  149. package/dist/interface/assets/{useStreamStatus-Da7c2Wme.js → useStreamStatus-Bfh-WmLH.js} +1 -1
  150. package/dist/interface/assets/{useTabSwipe-fFuyJJBQ.js → useTabSwipe-C_QOrvSW.js} +1 -1
  151. package/dist/interface/assets/{useUpdateChannel-Ca1RX32u.js → useUpdateChannel-g0h_4c55.js} +1 -1
  152. package/dist/interface/assets/{useUpdatesSocket-DHZNpLQX.js → useUpdatesSocket-CxrLRETs.js} +1 -1
  153. package/dist/interface/assets/{useUserOptions-BQdOB-Dp.js → useUserOptions-DN0t3gBr.js} +1 -1
  154. package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +2326 -0
  155. package/dist/interface/assets/{vendor-core-B-Q4es-f.js → vendor-core-DIa0tPNH.js} +1 -1
  156. package/dist/interface/assets/{vendor-primevue-Cmp3VjIC.js → vendor-primevue-CZKUAkMA.js} +77 -77
  157. package/dist/interface/ha/{404-C0mWQGWl.js → 404-tl2VQ3qy.js} +1 -1
  158. package/dist/interface/ha/{About-ByE7XErJ.js → About-Cn7KOblU.js} +3 -3
  159. package/dist/interface/ha/{Assistant-Z3FTR868.js → Assistant-DG2GGda0.js} +1225 -1203
  160. package/dist/interface/ha/{Automation-COQqTFNw.js → Automation-D0_WpXx4.js} +27 -27
  161. package/dist/interface/ha/{AutomationImport-ueWqMBX9.js → AutomationImport-DdC3dEaC.js} +6 -6
  162. package/dist/interface/ha/{AutomationStore-DBO4aZqy.js → AutomationStore-BrLn4oBx.js} +4 -4
  163. package/dist/interface/ha/{AutomationStoreDetail-DMnYu7hf.js → AutomationStoreDetail-DoppNsNc.js} +6 -6
  164. package/dist/interface/ha/{Automations-CMdbidc0.js → Automations-BaUJ9pVq.js} +3 -3
  165. package/dist/interface/ha/{Camera-C28q_3pu.js → Camera-Cj5ImvZG.js} +12 -12
  166. package/dist/interface/ha/{CameraConsole-oMNZfKE6.js → CameraConsole-7MhlS2VK.js} +3 -3
  167. package/dist/interface/ha/{Cameras-CsqrLx97.js → Cameras-vHYz8uSO.js} +6 -6
  168. package/dist/interface/ha/{Camview-Br0LUakz.js → Camview-BEglAx26.js} +452 -452
  169. package/dist/interface/ha/{Config-Y5eUNSW7.js → Config-CHiK--zP.js} +6 -6
  170. package/dist/interface/ha/{ConfigActionAssistant-hl-6ZACj.js → ConfigActionAssistant-DynduZYV.js} +4 -4
  171. package/dist/interface/ha/{ConfigActionCameraControl-DnXlVFWD.js → ConfigActionCameraControl-BEYePssz.js} +3 -3
  172. package/dist/interface/ha/{ConfigActionHttp-BkpkMmRd.js → ConfigActionHttp-h0vRWqZ5.js} +2 -2
  173. package/dist/interface/ha/{ConfigActionImageInput-Dp78_QS_.js → ConfigActionImageInput-B9GMZYAR.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionMqtt-DA_UWb5j.js → ConfigActionMqtt-BEQpHBgf.js} +4 -4
  175. package/dist/interface/ha/{ConfigActionNotification-CQ4Ses3a.js → ConfigActionNotification-BYsz8_aS.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionNotificationControl-Cb5PNGz-.js → ConfigActionNotificationControl-BxmIWVE8.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionOutput-DLuNHwRb.js → ConfigActionOutput-DTOQSa1S.js} +1 -1
  178. package/dist/interface/ha/{ConfigActionPlugin-ChKFCNaj.js → ConfigActionPlugin-NOsUs3QI.js} +5 -5
  179. package/dist/interface/ha/{ConfigActionSensor-DOutFalW.js → ConfigActionSensor-YWnsH_LV.js} +4 -4
  180. package/dist/interface/ha/{ConfigActionSnapshot-GWgY6YIN.js → ConfigActionSnapshot-DHJnTvin.js} +2 -2
  181. package/dist/interface/ha/{ConfigActionVariable-bu-9VYTG.js → ConfigActionVariable-C7UFnvW0.js} +1 -1
  182. package/dist/interface/ha/{ConfigConditionIfElse-iNp8tlZV.js → ConfigConditionIfElse-CAHbuhH3.js} +3 -3
  183. package/dist/interface/ha/{ConfigConditionSensorState-Dn7kcHpJ.js → ConfigConditionSensorState-CE6okUeb.js} +4 -4
  184. package/dist/interface/ha/{ConfigConditionSwitch-DaUlDgo0.js → ConfigConditionSwitch-D5FULaTy.js} +4 -4
  185. package/dist/interface/ha/{ConfigSensorValueInput-D6m6suqJ.js → ConfigSensorValueInput-mo6Gs_aZ.js} +3 -3
  186. package/dist/interface/ha/{ConfigTriggerDetection-C5B_DC_L.js → ConfigTriggerDetection-Bt-OhHtM.js} +11 -11
  187. package/dist/interface/ha/{ConfigTriggerGeofence-B4WVNcK5.js → ConfigTriggerGeofence-Cw3jV5qD.js} +2 -2
  188. package/dist/interface/ha/{ConfigTriggerMqtt-wnMfk_Un.js → ConfigTriggerMqtt-BXeV82UG.js} +1 -1
  189. package/dist/interface/ha/{ConfigTriggerSensor-xFpI5KPu.js → ConfigTriggerSensor-Baqq--nJ.js} +1 -1
  190. package/dist/interface/ha/{ConfigTriggerSystem-YI9WYYVM.js → ConfigTriggerSystem-braUVGzW.js} +2 -2
  191. package/dist/interface/ha/{ConfigTriggerWebhook-58c2KgUe.js → ConfigTriggerWebhook-Dm45r-1C.js} +1 -1
  192. package/dist/interface/ha/{Console-Coiqh32K.js → Console-q3TCsxYo.js} +2 -2
  193. package/dist/interface/ha/{CuiAutomationRunsDialog-CJ2MGfEY.js → CuiAutomationRunsDialog-DO6h5Tc4.js} +2 -2
  194. package/dist/interface/ha/{CuiBottomSheet-BlG9Pl9j.js → CuiBottomSheet-B7ldz0xi.js} +1 -1
  195. package/dist/interface/ha/{CuiCameraRecordings-DLXEB4Q7.js → CuiCameraRecordings-Dq1Vh3qA.js} +6 -6
  196. package/dist/interface/ha/{CuiCameraShares-BCIeaM6u.js → CuiCameraShares-DBqcpevG.js} +2 -2
  197. package/dist/interface/ha/{CuiCameraTable-PYYC7sOu.js → CuiCameraTable-kL8rK-Uv.js} +2 -2
  198. package/dist/interface/ha/{CuiChartTable-FQ2iR5Hd.js → CuiChartTable-BrFyiSt_.js} +81 -66
  199. package/dist/interface/ha/{CuiConsole-C77k5q_-.js → CuiConsole-DpeXZmJd.js} +1 -1
  200. package/dist/interface/ha/{CuiDataTable-CIKQLseG.js → CuiDataTable-BtqzIz0o.js} +1 -1
  201. package/dist/interface/ha/{CuiPluginCard-DZNXKP_P.js → CuiPluginCard-lBLypaN4.js} +6 -6
  202. package/dist/interface/ha/{CuiPluginOAuthButton-DVf52_Zc.js → CuiPluginOAuthButton-CuGauZJA.js} +3 -3
  203. package/dist/interface/ha/{CuiPluginTrustBadge-CPljYiM8.js → CuiPluginTrustBadge-BofBmRYc.js} +1 -1
  204. package/dist/interface/ha/{CuiQRCode-oe8PLnLj.js → CuiQRCode-CdK9bwKb.js} +2 -2
  205. package/dist/interface/ha/{CuiSchema-CQy94ZTs.js → CuiSchema-DqkCLv9Y.js} +2 -2
  206. package/dist/interface/ha/{CuiTopNavbarItem-D6OHZLQY.js → CuiTopNavbarItem-C2VZB7WV.js} +1 -1
  207. package/dist/interface/ha/{Faces-DxAPvemO.js → Faces-Crfi-75Z.js} +239 -239
  208. package/dist/interface/ha/{FirstSteps-ZINTSaeL.js → FirstSteps-CKVG86pf.js} +4 -4
  209. package/dist/interface/ha/{Floorplan-DkbL8ppT.js → Floorplan-CH9_-6hk.js} +5 -5
  210. package/dist/interface/ha/{Instances-totWtqd7.js → Instances-5gZdPPDA.js} +1 -1
  211. package/dist/interface/ha/{Logs-CzabIFja.js → Logs-BkzEM70F.js} +6 -6
  212. package/dist/interface/ha/{Menu-DcVBOQfw.js → Menu-BuT3_Ggx.js} +2 -2
  213. package/dist/interface/ha/{Metrics-B_SN5hbp.js → Metrics-BGrzu0bu.js} +288 -286
  214. package/dist/interface/ha/{OAuthDeviceFlow-B28TPsTQ.js → OAuthDeviceFlow-BEJtegqy.js} +3 -3
  215. package/dist/interface/ha/{Plugin-B2PbbB8d.js → Plugin-Bnp2jiC2.js} +6 -6
  216. package/dist/interface/ha/{PluginConsole-_KeG4FvO.js → PluginConsole-CmsuPVMz.js} +4 -4
  217. package/dist/interface/ha/{PluginDetail-GK_Fx14e.js → PluginDetail-BCNx7vHr.js} +6 -6
  218. package/dist/interface/ha/{PluginSearch-qSy4aqAW.js → PluginSearch-DOdhuxgM.js} +4 -4
  219. package/dist/interface/ha/{PluginUpdateProgress-C4Q2j6VO.js → PluginUpdateProgress-CwkKc8Tr.js} +3 -3
  220. package/dist/interface/ha/{Plugins-D0tvZHie.js → Plugins-BrFowCdC.js} +7 -7
  221. package/dist/interface/ha/{Recordings-CpxJYaAa.js → Recordings-BZhf39pJ.js} +168 -166
  222. package/dist/interface/ha/{SensorEdit-8KtqLXEu.js → SensorEdit-Ds6WbN4A.js} +3 -3
  223. package/dist/interface/ha/{SensorHistory-CPTTsdjM.js → SensorHistory-CoTIYTJx.js} +2 -2
  224. package/dist/interface/ha/{Sensors-DJt_Hnn2.js → Sensors-DZ2MKdlh.js} +4 -4
  225. package/dist/interface/ha/{Settings-B-OdG5pG.js → Settings-D3JKr430.js} +2 -2
  226. package/dist/interface/ha/{SettingsAccount-Ba2-2Lbi.js → SettingsAccount-cvtlSKZw.js} +4 -4
  227. package/dist/interface/ha/{SettingsAppearance-D56HjSuQ.js → SettingsAppearance-CaKuOHRu.js} +3 -3
  228. package/dist/interface/ha/{SettingsAssistant-DglU0auc.js → SettingsAssistant-vWVjAUqQ.js} +4 -4
  229. package/dist/interface/ha/{SettingsBackup-DZx4McDz.js → SettingsBackup-CvzL_bVf.js} +2 -2
  230. package/dist/interface/ha/{SettingsList-D9nIGkbE.js → SettingsList-C0Ec8x-H.js} +1 -1
  231. package/dist/interface/ha/{SettingsMqtt-BOszh--k.js → SettingsMqtt-COnq-QM5.js} +2 -2
  232. package/dist/interface/ha/{SettingsNotifications-DBVpZfp0.js → SettingsNotifications-BZ68bQzO.js} +3 -3
  233. package/dist/interface/ha/{SettingsRecordings-D3oJnizu.js → SettingsRecordings-BPtNNpDa.js} +4 -4
  234. package/dist/interface/ha/{SettingsRemote-BOotvcOT.js → SettingsRemote-BXG8IYjf.js} +4 -4
  235. package/dist/interface/ha/{SettingsSystem-Bg11qoQX.js → SettingsSystem-_jHBUhws.js} +7 -7
  236. package/dist/interface/ha/{SettingsUsers-KpLs9Jnh.js → SettingsUsers-CzGj_RJN.js} +3 -3
  237. package/dist/interface/ha/{Terminal-D6opTHYI.js → Terminal-BP3b8IBP.js} +4 -4
  238. package/dist/interface/ha/Training-C2-6DgY0.js +1699 -0
  239. package/dist/interface/ha/{Updates-C_OvXJjd.js → Updates-BMZsEhmy.js} +4 -4
  240. package/dist/interface/ha/{VariableInput-CfaDp67S.js → VariableInput-DmI7skCD.js} +1 -1
  241. package/dist/interface/ha/{VersionsHandler-D1FVeYUZ.js → VersionsHandler-DJd4NqtD.js} +8 -8
  242. package/dist/interface/ha/{VirtualSensorCreate-DJIgMVrt.js → VirtualSensorCreate-DmtGYvAn.js} +1 -1
  243. package/dist/interface/ha/{Workers-cJMI4mYX.js → Workers-2HTPHgKV.js} +6 -6
  244. package/dist/interface/ha/{api-D2VzV4is.js → api-BelbnLQO.js} +7110 -7058
  245. package/dist/interface/ha/{api-CDawdL4p.js → api-sy4rqV2N.js} +1 -1
  246. package/dist/interface/ha/{assistant-BmDAfChm.js → assistant-C6KYXJfi.js} +1 -1
  247. package/dist/interface/ha/{auth-CvLz9C4w.js → auth-Da66mVEd.js} +1 -1
  248. package/dist/interface/ha/{automationBlueprint-BhNaeOZ1.js → automationBlueprint-hlqqM17r.js} +2 -2
  249. package/dist/interface/ha/cameraui-cards.js +1 -1
  250. package/dist/interface/ha/{cards-MQrnU0T8.js → cards-BFRRfuM7.js} +67 -67
  251. package/dist/interface/ha/{config-t_oAKFkJ.js → config-Cd7JNMpD.js} +1 -1
  252. package/dist/interface/ha/{dist-oFWkn6pD.js → dist-BybVYMVs.js} +19 -19
  253. package/dist/interface/ha/{mqtt-C20h1uze.js → mqtt-UZfptWJl.js} +1 -1
  254. package/dist/interface/ha/{notifications-Cy9DKiEn.js → notifications-DTHM8fS-.js} +1 -1
  255. package/dist/interface/ha/{plugins-jozYyBhV.js → plugins-Bwp_GfaX.js} +1 -1
  256. package/dist/interface/ha/{rooms-DyfT3cXp.js → rooms-BvaD0r0q.js} +1 -1
  257. package/dist/interface/ha/{server-hCCjQjZE.js → server-OWdtITVa.js} +2 -2
  258. package/dist/interface/ha/{types-RG0SckNR.js → types-BFJjyMZe.js} +1 -1
  259. package/dist/interface/ha/{ungrouped-BbyfoCQp.js → ungrouped-x00DHNHO.js} +219 -196
  260. package/dist/interface/ha/{updates-hUgVDgoD.js → updates-C03Qf3Il.js} +5 -5
  261. package/dist/interface/ha/{useAppVersion-wNhZDuvR.js → useAppVersion-CrMd9CC9.js} +1 -1
  262. package/dist/interface/ha/{useKeyboardInset-Cmbvb_W3.js → useKeyboardInset-DwUQCWHC.js} +1 -1
  263. package/dist/interface/ha/{useLogsSocket-y9Aex3tJ.js → useLogsSocket-C6k217mW.js} +1 -1
  264. package/dist/interface/ha/{useNavLayout-Ehb0t34k.js → useNavLayout-DhuQE024.js} +1 -1
  265. package/dist/interface/ha/{useServerRestart-CRSVcz3z.js → useServerRestart-CYaen2r6.js} +1 -1
  266. package/dist/interface/ha/{useTabSwipe-B_bseZkI.js → useTabSwipe-DAmCFlgg.js} +1 -1
  267. package/dist/interface/ha/{useUpdateChannel-C_GU6lj6.js → useUpdateChannel-Dr1EoU2X.js} +2 -2
  268. package/dist/interface/ha/{useUpdatesSocket-CYgHb7UX.js → useUpdatesSocket-C8Gmhemh.js} +1 -1
  269. package/dist/interface/ha/{useUserOptions-pVYr-s3O.js → useUserOptions-BB5wk3Bq.js} +1 -1
  270. package/dist/interface/index.html +32 -32
  271. package/dist/interface/sw.js +1 -1
  272. package/dist/server/package.json +3 -3
  273. package/dist/server/requirements.txt +1 -1
  274. package/dist/server/src/api/controllers/api.controller.js +1 -1
  275. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  276. package/dist/server/src/api/websocket/nsp/notifications.d.ts +1 -0
  277. package/dist/server/src/api/websocket/nsp/notifications.js +7 -0
  278. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  279. package/dist/server/src/assistant/automation-catalog.js +12 -2
  280. package/dist/server/src/assistant/automation-catalog.js.map +1 -1
  281. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  282. package/dist/server/src/manager/notificationManager.js +11 -0
  283. package/dist/server/src/manager/notificationManager.js.map +1 -1
  284. package/dist/server/src/services/config/index.d.ts +1 -0
  285. package/dist/server/src/services/config/index.js +12 -1
  286. package/dist/server/src/services/config/index.js.map +1 -1
  287. package/dist/server/src/utils/ipc.js +23 -17
  288. package/dist/server/src/utils/ipc.js.map +1 -1
  289. package/npm-shrinkwrap.json +10 -10
  290. package/package.json +3 -3
  291. package/dist/interface/assets/Assistant-BJKGIvVo.js +0 -1
  292. package/dist/interface/assets/Automations-BOP_17Ri.js +0 -2
  293. package/dist/interface/assets/Camera-C5S7eI9a.js +0 -2
  294. package/dist/interface/assets/Camview-CHxKB41T.js +0 -1
  295. package/dist/interface/assets/Config-BrDDGWpr.js +0 -2
  296. package/dist/interface/assets/Console-cIr6lYux.js +0 -1
  297. package/dist/interface/assets/CuiAssistantConversation-Bigl43Ph.js +0 -5
  298. package/dist/interface/assets/CuiAutomationRunsDialog-Ci7SWAml.js +0 -1
  299. package/dist/interface/assets/CuiBottomSheet-ViBOgklN.js +0 -1
  300. package/dist/interface/assets/CuiCameraRecordings-BB7bF67B.js +0 -1
  301. package/dist/interface/assets/CuiCameraTable-CHnQFkce.js +0 -1
  302. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +0 -1
  303. package/dist/interface/assets/CuiChartTable-dIcxGtfl.js +0 -1
  304. package/dist/interface/assets/Faces-p18jNfXl.js +0 -1
  305. package/dist/interface/assets/Floorplan-DYyEx7WO.js +0 -1
  306. package/dist/interface/assets/Metrics-ChVnC6f6.css +0 -1
  307. package/dist/interface/assets/Metrics-l3UwykCM.js +0 -12
  308. package/dist/interface/assets/Plugin-Ldj3HygQ.js +0 -1
  309. package/dist/interface/assets/PluginSearch-BiXG3Xk2.js +0 -2
  310. package/dist/interface/assets/PluginSearch-BuE7we1T.js +0 -1
  311. package/dist/interface/assets/Plugins-Csx6AXaW.js +0 -1
  312. package/dist/interface/assets/Recordings-D0KTY5cI.js +0 -1
  313. package/dist/interface/assets/SensorEdit-zs-f_o1N.js +0 -1
  314. package/dist/interface/assets/Sensors-BLAoalEt.js +0 -2
  315. package/dist/interface/assets/SettingsAccount-BsN7jGmo.js +0 -1
  316. package/dist/interface/assets/SettingsAccount-DuVyCSE-.js +0 -1
  317. package/dist/interface/assets/SettingsAppearance-DQcGbYbV.js +0 -1
  318. package/dist/interface/assets/SettingsAssistant-DViJklFd.js +0 -1
  319. package/dist/interface/assets/SettingsMqtt-JoszJJgV.js +0 -1
  320. package/dist/interface/assets/SettingsNotifications-3veSrxa_.js +0 -1
  321. package/dist/interface/assets/SettingsRemote-DUyl8k7I.js +0 -2
  322. package/dist/interface/assets/Terminal-hln2UuSR.js +0 -4
  323. package/dist/interface/assets/Training-D6lhvUf-.js +0 -1
  324. package/dist/interface/assets/Updates-BwSWt9w7.js +0 -2
  325. package/dist/interface/assets/Workers-B6b15izn.js +0 -2
  326. package/dist/interface/assets/api-C9mnOxie.js +0 -4
  327. package/dist/interface/assets/api-Cj9a6qPu.css +0 -2
  328. package/dist/interface/assets/cloudHandoff-Ba98bzeq.js +0 -1
  329. package/dist/interface/assets/main-C796FmqQ.js +0 -3
  330. package/dist/interface/assets/mqtt-DGBPptzB.js +0 -1
  331. package/dist/interface/assets/rooms-BCdm6IAx.js +0 -1
  332. package/dist/interface/assets/server-bhW2Mw4D.js +0 -1
  333. package/dist/interface/assets/ungrouped-BnQIcSQd.css +0 -1
  334. package/dist/interface/assets/ungrouped-CkIlDUwl.js +0 -1
  335. package/dist/interface/assets/useBackupRestore-xp5KhKVn.js +0 -1
  336. package/dist/interface/assets/useKeyboardInset-C0Lp0UcX.js +0 -1
  337. package/dist/interface/assets/vendor-cameraui-CK4yHsJi.js +0 -2326
  338. package/dist/interface/ha/Training-OB2KOQ7L.js +0 -1694
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-DkbkcypK.js","./vendor-cameraui-CK4yHsJi.js","./rolldown-runtime-C0FnF6B9.js","./vendor-gFkr2qsZ.js","./api-C9mnOxie.js","./intercomService-CjoJaOZ7.js","./vendor-zod-CBbC1rE7.js","./types-BcAxmlqC.js","./alert-outline-IRxYbw0j.js","./eventIcons-UQutPG3p.js","./vendor-core-B-Q4es-f.js","./vendor-dnd-DGQLvX6Y.js","./vendor-primevue-Cmp3VjIC.js","./close-CMxyM4v9.js","./vendor-draggabilly-D8CK6M-y.js","./api-Cj9a6qPu.css","./server-bhW2Mw4D.js","./useServerRestart-CQN4cdHJ.js","./alert-circle-BdUVAt1B.js","./CuiMarkdownContent-BYBQX_aF.js","./vendor-markdown-qHIinIUE.js","./vendor-markdown-DtOhvyRx.css","./plugins-BTOdE_zv.js","./CuiConsole-BGptpT6r.js","./content-copy-Bz49QPOI.js","./vendor-xterm-G7KkmRYW.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-bpOiLgWT.js","./platformLabels-D-cF6OTP.js","./config-DDaCrMSU.js","./useUpdateChannel-Ca1RX32u.js","./CertificateUpload-BYFKZCP9.js","./upload-C3w1XH-o.js"])))=>i.map(i=>d[i]);
2
- import{Bt as e,Ur as t,Vt as n,Z as r}from"./vendor-cameraui-CK4yHsJi.js";import{Ar as i,Cn as a,Mr as o,_ as s,ct as c,kn as l,st as u}from"./api-C9mnOxie.js";import{$n as d,Cr as f,Ht as p,In as m,Pn as ee,Xn as h,cn as g,dn as _,dr as v,gn as y,hn as b,jn as te,ln as x,mr as ne,rn as S,sn as C,un as w,vn as re,yr as T}from"./vendor-gFkr2qsZ.js";import{a as ie,i as ae}from"./intercomService-CjoJaOZ7.js";import{B as oe,q as se}from"./vendor-primevue-Cmp3VjIC.js";import{a as ce,c as le,d as ue,r as de,s as fe,t as pe}from"./server-bhW2Mw4D.js";import{n as me}from"./useServerRestart-CQN4cdHJ.js";import{n as he,t as ge}from"./api-h4HRB3ef.js";import{t as _e}from"./useUpdateChannel-Ca1RX32u.js";import{t as ve}from"./useAppVersion-Dcvu95bZ.js";var ye={class:`flex flex-col w-full gap-6`},be={class:`flex items-center gap-4`},xe={class:`flex flex-col field-switch-gap`},Se={for:`betaChannel`,class:`cui-label-switch`},Ce={class:`flex flex-col gap-6`},we={key:0,class:`flex flex-row items-center justify-between`},Te={class:`text-sm`},Ee={key:1,class:`text-sm font-bold`},De={key:1,class:`flex flex-row items-center justify-between`},Oe={class:`text-sm`},ke={class:`text-sm font-bold`},Ae={key:0,class:`text-muted font-normal`},je={class:`flex flex-row items-center justify-between`},Me={class:`text-sm`},Ne={key:1,class:`text-sm font-bold`},Pe={key:2,class:`flex w-full items-center gap-2`},Fe={key:0},Ie={class:`card-title`},Le={class:`flex flex-col gap-6`},Re={class:`text-sm`},ze={key:0,class:`flex flex-col gap-2`},Be={class:`cui-label`},Ve={class:`flex justify-between gap-4 text-sm`},He={class:`text-muted shrink-0`},Ue={class:`text-right break-all`},We={class:`flex justify-between gap-4 text-sm`},Ge={class:`text-muted shrink-0`},Ke={class:`text-right break-all`},qe={class:`flex justify-between gap-4 text-sm`},Je={class:`text-muted shrink-0`},Ye={class:`text-right`},Xe={key:2,class:`text-sm text-muted`},Ze={class:`flex flex-wrap gap-2 ml-auto`},Qe={class:`card-title`},$e={class:`flex flex-col gap-6`},et={class:`text-sm`},tt={key:1},E={class:`card-title`},nt={class:`flex flex-col gap-6`},rt={class:`text-sm`},D=re({__name:`SettingsSystem`,setup(re){let D=c(()=>p(()=>import(`./VersionsHandler-DkbkcypK.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]),import.meta.url)),it=c(()=>p(()=>import(`./CertificateUpload-BYFKZCP9.js`),__vite__mapDeps([32,1,2,3,12,33]),import.meta.url)),O=new ge,k=new pe,A=ie(),j=u(),M=i(),{t:N}=t(),{isElectronApp:P,electron:at}=ae(),{isOnline:F}=o(),{restarting:I,beginServerRestart:ot}=me(),{isBeta:st,setBeta:ct}=_e(),{appVersion:L,nativeVersion:R,refreshAppVersion:lt}=ve(),ut=s(),{data:z,isBusy:dt}=O.apiInfoQuery(),{mutate:ft,isPending:pt}=k.restartServerQuery(),{mutateAsync:mt,isPending:ht}=k.resetServerQuery(),B=v(N(`views.settings.unknown`)),V=v(N(`views.settings.unknown`)),H=v(!1),U=ne(null),W=v(!1),G=0,K=C(()=>!P&&a(void 0,`master`)),gt=C(()=>{let e=U.value?.info;return!!(e&&e.chainLength<=1&&!e.selfSigned)}),q=C(()=>z.value?.electron??!1),J=C(()=>pt.value||ht.value||dt.value),Y=C(()=>z.value?.installedVersion||z.value?.version),X=C(()=>z.value?.restartRequired??!1),Z=C(()=>J.value||!F.value||I.value);function _t(e){ct(e===!0)}async function vt(){if(!H.value){H.value=!0;try{let e=await de(),t=new Blob([e],{type:`application/x-x509-ca-cert`});await l({blob:t,filename:`cert.pem`,mimeType:`application/x-x509-ca-cert`})}catch(e){A.error(e)}H.value=!1}}function yt(){ot(),ft()}function Q(e){switch(e){case`restart`:j.openTextDialog({data:{title:N(`components.dialog.title.restart`),confirmText:N(`components.form.button.restart`),contentText:N(`components.dialog.message.confirm_restart_server`),loading:J},onConfirm:yt});break;case`reset`:j.openTextDialog({data:{title:N(`components.dialog.title.reset_server`),confirmText:N(`components.form.button.reset`),contentText:N(`components.dialog.message.confirm_reset_server`),loading:J},onConfirm:async()=>{try{await mt()}catch{}finally{ut.logout()}}});break;case`versions`:j.openComponentDialog(D,{data:{title:N(`components.dialog.title.install_version`),confirmText:N(`components.form.button.install`),loading:J,contentProps:{target:{type:`server`}}}})}}async function bt(){if(P)try{V.value=await at.invoke(`get-app-version`)??N(`views.settings.unknown`)}catch(e){A.error(`Error getting electron app version:`,e)}}async function xt(){let e=++G;for(let t=0;t<30;t++)try{if(await he({signal:AbortSignal.timeout(5e3)}),e!==G)return;O.queryClient.invalidateQueries({queryKey:[`api`]});return}catch{if(await new Promise(e=>setTimeout(e,2e3)),e!==G||!F.value)return}}function $(){j.openTextDialog({data:{title:N(`views.settings.certificate_restart_title`),confirmText:N(`components.form.button.restart`),contentText:N(`views.settings.certificate_restart_info`)},onConfirm:async()=>{try{await le(),M.add({severity:`success`,detail:N(`views.settings.certificate_restart_done`),life:5e3})}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}}})}async function St(){try{U.value=await ce()}catch(e){A.error(`Certificate state failed:`,e)}}function Ct(){j.openComponentDialog(it,{data:{title:N(`views.settings.certificate_upload_title`),confirmText:N(`components.form.button.upload`),contentProps:{hasCertificate:U.value?.present===!0}},onConfirm:e=>wt(e)})}async function wt(e){W.value=!0;try{U.value=await ue(e),M.add({severity:`success`,detail:N(`views.settings.certificate_stored`),life:5e3}),$()}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{W.value=!1}}function Tt(){j.openTextDialog({data:{title:N(`views.settings.certificate_remove_title`),confirmText:N(`components.form.button.remove`),contentText:N(`views.settings.certificate_remove_confirm`),loading:W},onConfirm:Et})}async function Et(){W.value=!0;try{U.value=await fe(),M.add({severity:`success`,detail:N(`views.settings.certificate_removed`),life:5e3}),$()}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{W.value=!1}}return h(z,()=>{B.value=z.value?.version||N(`views.settings.unknown`)},{deep:!0,immediate:!0}),h([F,I],([e,t],[n,r])=>{q.value||(e&&!n||r&&!t&&e)&&xt()}),te(()=>{G++}),ee(()=>{P&&bt(),K.value&&St()}),(t,i)=>{let o=oe,s=se,c=r,l=e,u=n;return m(),_(`div`,null,[g(`div`,ye,[g(`div`,null,[y(c,{class:`cui-card`},{content:d(()=>[g(`div`,null,[g(`div`,be,[g(`div`,xe,[g(`label`,Se,f(t.$t(`views.settings.beta_updates`)),1),y(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:d(()=>[b(f(t.$t(`views.settings.beta_updates_info`)),1)]),_:1})]),y(s,{"input-id":`betaChannel`,"model-value":T(st),class:`ml-auto shrink-0`,"onUpdate:modelValue":_t},null,8,[`model-value`])])])]),_:1})]),g(`div`,null,[i[5]||=g(`span`,{class:`card-title`},`camera.ui`,-1),y(c,{class:`cui-card`},{content:d(()=>[g(`div`,Ce,[T(P)?(m(),_(`div`,we,[g(`span`,Te,f(t.$t(`views.settings.app`)),1),T(J)?(m(),x(l,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(m(),_(`span`,Ee,`v`+f(T(V)),1))])):w(``,!0),T(!1)&&T(L)?(m(),_(`div`,De,[g(`span`,Oe,f(t.$t(`views.settings.app`)),1),g(`span`,ke,[b(` v`+f(T(L)),1),T(R)&&T(R)!==T(L)?(m(),_(`span`,Ae,` (`+f(T(R))+`)`,1)):w(``,!0)])])):w(``,!0),g(`div`,je,[g(`span`,Me,f(t.$t(`views.settings.server`)),1),T(J)?(m(),x(l,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(m(),_(`span`,Ne,[b(` v`+f(T(B)),1),T(X)?(m(),_(S,{key:0},[b(` → v`+f(T(Y)),1)],64)):w(``,!0)]))]),T(q)?w(``,!0):(m(),_(`div`,Pe,[i[4]||=g(`div`,{class:`ml-auto`},null,-1),T(X)?(m(),x(u,{key:0,loading:T(J),disabled:T(Z),class:`cui-button-medium`,label:`${t.$t(`components.form.button.restart`)} (v${T(Y)})`,onClick:i[0]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])):w(``,!0),y(u,{loading:T(J),disabled:T(Z),class:`cui-button-medium`,label:t.$t(`components.form.button.manage`),onClick:i[1]||=e=>Q(`versions`)},null,8,[`loading`,`disabled`,`label`])]))])]),_:1})]),T(P)?w(``,!0):(m(),_(`div`,Fe,[g(`span`,Ie,f(t.$t(`views.settings.certificate`)),1),y(c,{class:`cui-card`},{content:d(()=>[g(`div`,Le,[g(`span`,Re,f(t.$t(`views.settings.certificate_info`)),1),T(K)?(m(),_(`div`,ze,[g(`span`,Be,f(t.$t(`views.settings.custom_certificate`)),1),T(U)?.problem?(m(),x(o,{key:0,severity:`error`,closable:!1},{default:d(()=>[b(f(t.$t(`views.settings.certificate_problem_${T(U).problem.code.replace(`-`,`_`)}`)),1)]),_:1})):T(U)?.info?(m(),_(S,{key:1},[g(`div`,Ve,[g(`span`,He,f(t.$t(`views.settings.certificate_names`)),1),g(`span`,Ue,f(T(U).info.names.join(`, `)),1)]),g(`div`,We,[g(`span`,Ge,f(t.$t(`views.settings.certificate_issuer`)),1),g(`span`,Ke,f(T(U).info.issuer),1)]),g(`div`,qe,[g(`span`,Je,f(t.$t(`views.settings.certificate_valid_to`)),1),g(`span`,Ye,f(T(U).info.validTo),1)]),T(gt)?(m(),x(o,{key:0,severity:`warn`,class:`mt-2`,closable:!1},{default:d(()=>[b(f(t.$t(`views.settings.certificate_chain_missing`)),1)]),_:1})):w(``,!0)],64)):(m(),_(`span`,Xe,f(t.$t(`views.settings.certificate_none`)),1))])):w(``,!0),g(`div`,Ze,[T(K)&&T(U)?.present?(m(),x(u,{key:0,severity:`danger`,outlined:``,loading:T(W),class:`cui-button-medium`,label:t.$t(`components.form.button.remove`),onClick:Tt},null,8,[`loading`,`label`])):w(``,!0),y(u,{loading:T(H)||T(J),disabled:T(Z),severity:`secondary`,outlined:``,class:`cui-button-medium`,label:t.$t(`components.form.button.download`),onClick:vt},null,8,[`loading`,`disabled`,`label`]),T(K)?(m(),x(u,{key:1,loading:T(W),class:`cui-button-medium`,label:t.$t(`components.form.button.upload`),onClick:Ct},null,8,[`loading`,`label`])):w(``,!0)])])]),_:1})])),g(`div`,null,[g(`span`,Qe,f(t.$t(`views.settings.restart_server`)),1),y(c,{class:`cui-card`},{content:d(()=>[g(`div`,$e,[g(`span`,et,f(t.$t(`views.settings.restart_server_info`)),1),y(u,{loading:T(J),disabled:T(Z),class:`cui-button-medium ml-auto`,label:t.$t(`components.form.button.restart`),onClick:i[2]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in t?t.hasPermission:T(a))(void 0,`master`)?(m(),_(`div`,tt,[g(`span`,E,f(t.$t(`views.settings.reset_server`)),1),y(c,{class:`cui-card !border-red-900`},{content:d(()=>[g(`div`,nt,[g(`span`,rt,f(t.$t(`views.settings.reset_server_info`)),1),y(u,{loading:T(J),disabled:T(Z),class:`cui-button-medium ml-auto`,label:t.$t(`components.form.button.reset`),onClick:i[3]||=e=>Q(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):w(``,!0)])])}}});export{D as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-BZVMpB2v.js","./vendor-cameraui-B28aGJJD.js","./rolldown-runtime-C0FnF6B9.js","./vendor-gFkr2qsZ.js","./api-DOpXVpef.js","./intercomService-CXcjcPa9.js","./vendor-zod-CBbC1rE7.js","./types-i1kTodPP.js","./alert-outline-IRxYbw0j.js","./eventIcons-UQutPG3p.js","./vendor-core-DIa0tPNH.js","./vendor-dnd-DGQLvX6Y.js","./vendor-primevue-CZKUAkMA.js","./close-CMxyM4v9.js","./vendor-draggabilly-D8CK6M-y.js","./api-CGfJbsTz.css","./server-Dw5DD473.js","./useServerRestart-bScBLJ9r.js","./alert-circle-BdUVAt1B.js","./CuiMarkdownContent-BYBQX_aF.js","./vendor-markdown-qHIinIUE.js","./vendor-markdown-DtOhvyRx.css","./plugins-BJPCV1YL.js","./CuiConsole-DYV-FUE0.js","./content-copy-Bz49QPOI.js","./vendor-xterm-G7KkmRYW.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-C3Y8S0Ar.js","./platformLabels-D-cF6OTP.js","./config-BQxEwrK6.js","./useUpdateChannel-g0h_4c55.js","./CertificateUpload-CWVu_52v.js","./upload-C3w1XH-o.js"])))=>i.map(i=>d[i]);
2
+ import{Ht as e,Vt as t,Z as n,sr as r}from"./vendor-cameraui-B28aGJJD.js";import{Cn as i,Ir as a,Rr as o,_ as s,ct as c,kn as l,st as u}from"./api-DOpXVpef.js";import{$n as d,Cr as f,Ht as p,In as m,Pn as ee,Xn as h,cn as g,dn as _,dr as v,gn as y,hn as b,jn as te,ln as x,mr as ne,rn as S,sn as C,un as w,vn as re,yr as T}from"./vendor-gFkr2qsZ.js";import{a as ie,i as ae}from"./intercomService-CXcjcPa9.js";import{B as oe,q as se}from"./vendor-primevue-CZKUAkMA.js";import{a as ce,c as le,d as ue,r as de,s as fe,t as pe}from"./server-Dw5DD473.js";import{n as me}from"./useServerRestart-bScBLJ9r.js";import{n as he,t as ge}from"./api-CzwdnGAH.js";import{t as _e}from"./useUpdateChannel-g0h_4c55.js";import{t as ve}from"./useAppVersion-DkazK9Vu.js";var ye={class:`flex flex-col w-full gap-6`},be={class:`flex items-center gap-4`},xe={class:`flex flex-col field-switch-gap`},Se={for:`betaChannel`,class:`cui-label-switch`},Ce={class:`flex flex-col gap-6`},we={key:0,class:`flex flex-row items-center justify-between`},Te={class:`text-sm`},Ee={key:1,class:`text-sm font-bold`},De={key:1,class:`flex flex-row items-center justify-between`},Oe={class:`text-sm`},ke={class:`text-sm font-bold`},Ae={key:0,class:`text-muted font-normal`},je={class:`flex flex-row items-center justify-between`},Me={class:`text-sm`},Ne={key:1,class:`text-sm font-bold`},Pe={key:2,class:`flex w-full items-center gap-2`},Fe={key:0},Ie={class:`card-title`},Le={class:`flex flex-col gap-6`},Re={class:`text-sm`},ze={key:0,class:`flex flex-col gap-2`},Be={class:`cui-label`},Ve={class:`flex justify-between gap-4 text-sm`},He={class:`text-muted shrink-0`},Ue={class:`text-right break-all`},We={class:`flex justify-between gap-4 text-sm`},Ge={class:`text-muted shrink-0`},Ke={class:`text-right break-all`},qe={class:`flex justify-between gap-4 text-sm`},Je={class:`text-muted shrink-0`},Ye={class:`text-right`},Xe={key:2,class:`text-sm text-muted`},Ze={class:`flex flex-wrap gap-2 ml-auto`},Qe={class:`card-title`},$e={class:`flex flex-col gap-6`},et={class:`text-sm`},tt={key:1},nt={class:`card-title`},E={class:`flex flex-col gap-6`},rt={class:`text-sm`},D=re({__name:`SettingsSystem`,setup(re){let D=c(()=>p(()=>import(`./VersionsHandler-BZVMpB2v.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]),import.meta.url)),it=c(()=>p(()=>import(`./CertificateUpload-CWVu_52v.js`),__vite__mapDeps([32,1,2,3,12,33]),import.meta.url)),O=new ge,k=new pe,A=ie(),j=u(),M=a(),{t:N}=r(),{isElectronApp:P,electron:at}=ae(),{isOnline:F}=o(),{restarting:I,beginServerRestart:ot}=me(),{isBeta:st,setBeta:ct}=_e(),{appVersion:L,nativeVersion:R,refreshAppVersion:lt}=ve(),ut=s(),{data:z,isBusy:dt}=O.apiInfoQuery(),{mutate:ft,isPending:pt}=k.restartServerQuery(),{mutateAsync:mt,isPending:ht}=k.resetServerQuery(),B=v(N(`views.settings.unknown`)),V=v(N(`views.settings.unknown`)),H=v(!1),U=ne(null),W=v(!1),G=0,K=C(()=>!P&&i(void 0,`master`)),gt=C(()=>{let e=U.value?.info;return!!(e&&e.chainLength<=1&&!e.selfSigned)}),q=C(()=>z.value?.electron??!1),J=C(()=>pt.value||ht.value||dt.value),Y=C(()=>z.value?.installedVersion||z.value?.version),X=C(()=>z.value?.restartRequired??!1),Z=C(()=>J.value||!F.value||I.value);function _t(e){ct(e===!0)}async function vt(){if(!H.value){H.value=!0;try{let e=await de(),t=new Blob([e],{type:`application/x-x509-ca-cert`});await l({blob:t,filename:`cert.pem`,mimeType:`application/x-x509-ca-cert`})}catch(e){A.error(e)}H.value=!1}}function yt(){ot(),ft()}function Q(e){switch(e){case`restart`:j.openTextDialog({data:{title:N(`components.dialog.title.restart`),confirmText:N(`components.form.button.restart`),contentText:N(`components.dialog.message.confirm_restart_server`),loading:J},onConfirm:yt});break;case`reset`:j.openTextDialog({data:{title:N(`components.dialog.title.reset_server`),confirmText:N(`components.form.button.reset`),contentText:N(`components.dialog.message.confirm_reset_server`),loading:J},onConfirm:async()=>{try{await mt()}catch{}finally{ut.logout()}}});break;case`versions`:j.openComponentDialog(D,{data:{title:N(`components.dialog.title.install_version`),confirmText:N(`components.form.button.install`),loading:J,contentProps:{target:{type:`server`}}}})}}async function bt(){if(P)try{V.value=await at.invoke(`get-app-version`)??N(`views.settings.unknown`)}catch(e){A.error(`Error getting electron app version:`,e)}}async function xt(){let e=++G;for(let t=0;t<30;t++)try{if(await he({signal:AbortSignal.timeout(5e3)}),e!==G)return;O.queryClient.invalidateQueries({queryKey:[`api`]});return}catch{if(await new Promise(e=>setTimeout(e,2e3)),e!==G||!F.value)return}}function $(){j.openTextDialog({data:{title:N(`views.settings.certificate_restart_title`),confirmText:N(`components.form.button.restart`),contentText:N(`views.settings.certificate_restart_info`)},onConfirm:async()=>{try{await le(),M.add({severity:`success`,detail:N(`views.settings.certificate_restart_done`),life:5e3})}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}}})}async function St(){try{U.value=await ce()}catch(e){A.error(`Certificate state failed:`,e)}}function Ct(){j.openComponentDialog(it,{data:{title:N(`views.settings.certificate_upload_title`),confirmText:N(`components.form.button.upload`),contentProps:{hasCertificate:U.value?.present===!0}},onConfirm:e=>wt(e)})}async function wt(e){W.value=!0;try{U.value=await ue(e),M.add({severity:`success`,detail:N(`views.settings.certificate_stored`),life:5e3}),$()}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{W.value=!1}}function Tt(){j.openTextDialog({data:{title:N(`views.settings.certificate_remove_title`),confirmText:N(`components.form.button.remove`),contentText:N(`views.settings.certificate_remove_confirm`),loading:W},onConfirm:Et})}async function Et(){W.value=!0;try{U.value=await fe(),M.add({severity:`success`,detail:N(`views.settings.certificate_removed`),life:5e3}),$()}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{W.value=!1}}return h(z,()=>{B.value=z.value?.version||N(`views.settings.unknown`)},{deep:!0,immediate:!0}),h([F,I],([e,t],[n,r])=>{q.value||(e&&!n||r&&!t&&e)&&xt()}),te(()=>{G++}),ee(()=>{P&&bt(),K.value&&St()}),(r,a)=>{let o=oe,s=se,c=n,l=t,u=e;return m(),_(`div`,null,[g(`div`,ye,[g(`div`,null,[y(c,{class:`cui-card`},{content:d(()=>[g(`div`,null,[g(`div`,be,[g(`div`,xe,[g(`label`,Se,f(r.$t(`views.settings.beta_updates`)),1),y(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:d(()=>[b(f(r.$t(`views.settings.beta_updates_info`)),1)]),_:1})]),y(s,{"input-id":`betaChannel`,"model-value":T(st),class:`ml-auto shrink-0`,"onUpdate:modelValue":_t},null,8,[`model-value`])])])]),_:1})]),g(`div`,null,[a[5]||=g(`span`,{class:`card-title`},`camera.ui`,-1),y(c,{class:`cui-card`},{content:d(()=>[g(`div`,Ce,[T(P)?(m(),_(`div`,we,[g(`span`,Te,f(r.$t(`views.settings.app`)),1),T(J)?(m(),x(l,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(m(),_(`span`,Ee,`v`+f(T(V)),1))])):w(``,!0),T(!1)&&T(L)?(m(),_(`div`,De,[g(`span`,Oe,f(r.$t(`views.settings.app`)),1),g(`span`,ke,[b(` v`+f(T(L)),1),T(R)&&T(R)!==T(L)?(m(),_(`span`,Ae,` (`+f(T(R))+`)`,1)):w(``,!0)])])):w(``,!0),g(`div`,je,[g(`span`,Me,f(r.$t(`views.settings.server`)),1),T(J)?(m(),x(l,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(m(),_(`span`,Ne,[b(` v`+f(T(B)),1),T(X)?(m(),_(S,{key:0},[b(` → v`+f(T(Y)),1)],64)):w(``,!0)]))]),T(q)?w(``,!0):(m(),_(`div`,Pe,[a[4]||=g(`div`,{class:`ml-auto`},null,-1),T(X)?(m(),x(u,{key:0,loading:T(J),disabled:T(Z),class:`cui-button-medium`,label:`${r.$t(`components.form.button.restart`)} (v${T(Y)})`,onClick:a[0]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])):w(``,!0),y(u,{loading:T(J),disabled:T(Z),class:`cui-button-medium`,label:r.$t(`components.form.button.manage`),onClick:a[1]||=e=>Q(`versions`)},null,8,[`loading`,`disabled`,`label`])]))])]),_:1})]),T(P)?w(``,!0):(m(),_(`div`,Fe,[g(`span`,Ie,f(r.$t(`views.settings.certificate`)),1),y(c,{class:`cui-card`},{content:d(()=>[g(`div`,Le,[g(`span`,Re,f(r.$t(`views.settings.certificate_info`)),1),T(K)?(m(),_(`div`,ze,[g(`span`,Be,f(r.$t(`views.settings.custom_certificate`)),1),T(U)?.problem?(m(),x(o,{key:0,severity:`error`,closable:!1},{default:d(()=>[b(f(r.$t(`views.settings.certificate_problem_${T(U).problem.code.replace(`-`,`_`)}`)),1)]),_:1})):T(U)?.info?(m(),_(S,{key:1},[g(`div`,Ve,[g(`span`,He,f(r.$t(`views.settings.certificate_names`)),1),g(`span`,Ue,f(T(U).info.names.join(`, `)),1)]),g(`div`,We,[g(`span`,Ge,f(r.$t(`views.settings.certificate_issuer`)),1),g(`span`,Ke,f(T(U).info.issuer),1)]),g(`div`,qe,[g(`span`,Je,f(r.$t(`views.settings.certificate_valid_to`)),1),g(`span`,Ye,f(T(U).info.validTo),1)]),T(gt)?(m(),x(o,{key:0,severity:`warn`,class:`mt-2`,closable:!1},{default:d(()=>[b(f(r.$t(`views.settings.certificate_chain_missing`)),1)]),_:1})):w(``,!0)],64)):(m(),_(`span`,Xe,f(r.$t(`views.settings.certificate_none`)),1))])):w(``,!0),g(`div`,Ze,[T(K)&&T(U)?.present?(m(),x(u,{key:0,severity:`danger`,outlined:``,loading:T(W),class:`cui-button-medium`,label:r.$t(`components.form.button.remove`),onClick:Tt},null,8,[`loading`,`label`])):w(``,!0),y(u,{loading:T(H)||T(J),disabled:T(Z),severity:`secondary`,outlined:``,class:`cui-button-medium`,label:r.$t(`components.form.button.download`),onClick:vt},null,8,[`loading`,`disabled`,`label`]),T(K)?(m(),x(u,{key:1,loading:T(W),class:`cui-button-medium`,label:r.$t(`components.form.button.upload`),onClick:Ct},null,8,[`loading`,`label`])):w(``,!0)])])]),_:1})])),g(`div`,null,[g(`span`,Qe,f(r.$t(`views.settings.restart_server`)),1),y(c,{class:`cui-card`},{content:d(()=>[g(`div`,$e,[g(`span`,et,f(r.$t(`views.settings.restart_server_info`)),1),y(u,{loading:T(J),disabled:T(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.restart`),onClick:a[2]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in r?r.hasPermission:T(i))(void 0,`master`)?(m(),_(`div`,tt,[g(`span`,nt,f(r.$t(`views.settings.reset_server`)),1),y(c,{class:`cui-card !border-red-900`},{content:d(()=>[g(`div`,E,[g(`span`,rt,f(r.$t(`views.settings.reset_server_info`)),1),y(u,{loading:T(J),disabled:T(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.reset`),onClick:a[3]||=e=>Q(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):w(``,!0)])])}}});export{D as default};
@@ -1 +1 @@
1
- import{B as e,Bt as t,Ur as n,Ut as r,Vt as i,Z as a,qt as o}from"./vendor-cameraui-CK4yHsJi.js";import{Ar as s,Dr as c,E as l,Ln as u,O as d,gn as f,mn as p,st as m}from"./api-C9mnOxie.js";import{$n as h,C as g,Cn as _,Cr as v,Dn as y,In as b,Jn as x,S,Sr as C,Xt as w,_r as T,br as E,cn as D,dn as O,dr as k,er as A,gn as j,hn as M,hr as N,ln as P,or as F,sn as I,sr as L,un as R,vn as z,x as B,yr as V}from"./vendor-gFkr2qsZ.js";import{a as H}from"./intercomService-CjoJaOZ7.js";import{C as U,L as ee,M as W,s as G,z as K}from"./vendor-primevue-Cmp3VjIC.js";import{t as te}from"./delete-Btu-UVx9.js";import{t as ne}from"./CuiDataTable-CQmp5mAy.js";import{n as re,t as ie}from"./auth-DFesRtwI.js";var q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return b(),O(`svg`,q,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`m21.7 13.35l-1 1l-2.05-2.05l1-1a.55.55 0 0 1 .77 0l1.28 1.28c.21.21.21.56 0 .77M12 18.94l6.06-6.06l2.05 2.05L14.06 21H12zM12 14c-4.42 0-8 1.79-8 4v2h6v-1.89l4-4c-.66-.08-1.33-.11-2-.11m0-10a4 4 0 0 0-4 4a4 4 0 0 0 4 4a4 4 0 0 0 4-4a4 4 0 0 0-4-4`},null,-1)]])}var ae=L({name:`mdi-account-edit`,render:J}),Y={for:`username`,class:`cui-label`},X={for:`password`,class:`cui-label`},Z={for:`passwordConfirm`,class:`cui-label`},Q={for:`role`,class:`cui-label`},oe=z({__name:`UserForm`,props:{user:{}},setup(t,{expose:r}){let i=new c,a=t,o=H(),u=s(),{t:f}=n(),p=_(`dialogRefProps`),{mutateAsync:m,isPending:C}=i.createUserQuery(),{mutateAsync:E,isPending:O}=i.patchUserQuery(),{user:A}=T(a),M=x(`formRef`),N=k({}),F=k([`user`,`admin`]),L=I(()=>!!(p.loading?.value||C.value||O.value));async function z(){let e=await M.value?.validate();if(!e?.valid)return o.error(`Validation failed`,e),u.add({severity:`error`,detail:f(`components.toast.validation_failed`),life:3e3}),null;A.value?await E({username:A.value.username,userData:N.value}):await m({userData:N.value})}return r({isLoading:L,onConfirm:z}),(t,n)=>{let r=e,i=K,a=G,o=W;return b(),P(V(g),{ref_key:`formRef`,ref:M,class:`flex flex-col gap-6`,"validation-schema":V(A)?V(d):V(l)},{default:h(()=>[j(V(S),{modelValue:V(N).username,"onUpdate:modelValue":n[0]||=e=>V(N).username=e,modelModifiers:{trim:!0},value:V(A)?.username??V(N).username,name:`username`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:e,errors:n})=>[D(`label`,Y,v(t.$t(`components.form.label.username`)),1),j(i,null,{default:h(()=>[j(r,y(e,{invalid:n.length>0,loading:V(L),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`username`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`value`]),j(V(S),{modelValue:V(N).password,"onUpdate:modelValue":n[1]||=e=>V(N).password=e,name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:e,errors:n})=>[D(`label`,X,v(t.$t(`components.form.label.new_password`)),1),j(i,null,{default:h(()=>[j(a,y({invalid:n.length>0},e,{loading:V(L),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),j(V(S),{modelValue:V(N).passwordConfirm,"onUpdate:modelValue":n[2]||=e=>V(N).passwordConfirm=e,name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:e,errors:n})=>[D(`label`,Z,v(t.$t(`components.form.label.new_password_confirm`)),1),j(i,null,{default:h(()=>[j(a,y({invalid:n.length>0},e,{loading:V(L),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),V(A)?.role===`master`?R(``,!0):(b(),P(V(S),{key:0,"model-value":V(N).role,name:`role`,as:`div`,class:`flex flex-col field-gap`},{default:h(({errors:e})=>[D(`label`,Q,v(t.$t(`components.form.label.role`)),1),j(i,null,{default:h(()=>[j(o,{"model-value":V(A)?.role??V(N).role,options:V(F),invalid:e.length>0,loading:V(L),type:`text`,onValueChange:n[3]||=e=>V(N).role=e},null,8,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`role`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]))]),_:1},8,[`validation-schema`])}}}),se={class:`flex flex-col w-full gap-6`},$={class:`card-title`},ce={class:`flex flex-col gap-6`},le={class:`flex items-center gap-2`},ue={class:`flex flex-col`},de={class:`text-sm font-semibold text-color`},fe={class:`text-xs text-muted`},pe={class:`relative w-6 h-6`},me={class:`flex flex-row items-end justify-end gap-2`},he={class:`card-title`},ge={class:`flex items-center justify-center`},_e={class:`font-medium block max-w-[200px] truncate`},ve={class:`text-muted text-sm`},ye=z({__name:`SettingsUsers`,setup(e){let s=new ie,l=new c,d=m(),{mdBreakpoint:g}=u(),{t:_}=n(),y=k({pageSize:15,page:1}),S=k({page:1,pageSize:-1}),{data:w,isBusy:T}=l.getUsersQuery(y),{mutate:L,isPending:R}=l.removeUserQuery(),{data:z,isBusy:B}=s.listAllSessionsQuery(S),{mutate:H,isPending:W}=s.revokeSessionQuery(),G={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},K=k({global:{value:null,matchMode:ee.CONTAINS}}),q=x(`menuRef`),J=I(()=>T.value||R.value),Y=I(()=>z.value??[]),X=I(()=>!!B.value),Z=I(()=>[{label:_(`views.settings.edit`),icon:ae,buttonProps:{disabled:J.value},onClick:e=>{Q(e)}},{label:_(`views.settings.remove`),icon:te,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:J.value,severity:`danger`},onClick:e=>{L({username:e.username})}}]);function Q(e){d.openComponentDialog(oe,{data:{title:_(e?`components.dialog.title.edit_user`:`components.dialog.title.create_new_user`),confirmText:_(e?`components.form.button.save`:`components.form.button.add`),loading:J,contentProps:{user:N(e)}}})}return(e,n)=>{let s=t,c=f,l=U,u=i,d=ne,m=a,_=r,x=re,S=o;return b(),O(`div`,null,[D(`div`,se,[D(`div`,null,[D(`span`,$,v(e.$t(`views.settings.registered_users`)),1),j(m,{class:`cui-card`},{content:h(()=>[D(`div`,ce,[j(d,{filters:V(K),"onUpdate:filters":n[0]||=e=>F(K)?K.value=e:null,value:V(w)?.result,paginator:V(y).page>1||V(w)?.result&&V(w).result.length>15,"data-key":`id`,"filter-display":`menu`,loading:V(J),"global-filter-fields":[`username`],pt:G,"striped-rows":``,scrollable:``},{loading:h(()=>[j(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),default:h(()=>[j(l,{field:`username`,"align-frozen":`left`,frozen:!V(g),header:e.$t(`views.settings.title_user`),"header-class":`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`,class:`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`},{body:h(({data:e})=>[D(`div`,le,[j(c,{src:e.avatar,size:54},null,8,[`src`]),D(`div`,ue,[D(`span`,de,v(e.username),1),D(`span`,fe,v(e.role),1)])])]),_:1},8,[`frozen`,`header`]),j(l,{field:`action`,"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7 text-right`},{body:h(({data:e})=>[D(`div`,null,[j(u,{severity:`secondary`,text:``,rounded:``,loading:V(J),class:`cui-icon-md`,onClick:t=>V(q)?.toggleMenu(t,void 0,e)},{icon:h(()=>[D(`div`,pe,[D(`div`,{class:E([`absolute top-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":V(q)?.isOpen&&V(q)?.data?._id===e._id}])},null,2),D(`div`,{class:E([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-1 rounded-full transition-all duration-100 bg-current`,{"opacity-0 scale-0":V(q)?.isOpen&&V(q)?.data?._id===e._id}])},null,2),D(`div`,{class:E([`absolute bottom-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":V(q)?.isOpen&&V(q)?.data?._id===e._id}])},null,2)])]),_:2},1032,[`loading`,`onClick`])])]),_:1})]),_:1},8,[`filters`,`value`,`paginator`,`loading`]),D(`div`,me,[j(u,{severity:`success`,loading:V(J),class:`cui-button-medium mr-4 md:mr-0`,label:e.$t(`components.form.button.create_new_user`),onClick:n[1]||=e=>Q()},null,8,[`loading`,`label`])])])]),_:1})]),D(`div`,null,[D(`span`,he,v(e.$t(`views.settings.logged_in_users`)),1),j(m,{class:`cui-card`},{content:h(()=>[j(d,{value:V(Y),loading:V(X),pt:G,"striped-rows":``,scrollable:``},{loading:h(()=>[j(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:h(()=>[D(`span`,ve,v(e.$t(`views.settings.no_sessions`)),1)]),default:h(()=>[j(l,{field:`status`,header:``,style:{width:`3rem`}},{body:h(({data:t})=>[D(`div`,ge,[A(j(_,{style:C({background:t.is_current?`var(--primary-500)`:`transparent`})},null,8,[`style`]),[[S,{value:t.is_current?e.$t(`components.user_table.you`):void 0}]])])]),_:1}),j(l,{field:`device.name`,header:e.$t(`components.user_table.title_device`)},{body:h(({data:e})=>[D(`span`,_e,v(e.device.name),1)]),_:1},8,[`header`]),j(l,{field:`device.ip`,header:e.$t(`components.user_table.title_address`)},{body:h(({data:e})=>[M(v(e.device.ip??`-`),1)]),_:1},8,[`header`]),j(l,{field:`device.kind`,header:e.$t(`components.user_table.title_kind`)},null,8,[`header`]),j(l,{field:`action`,class:`text-right`},{body:h(({data:t})=>[A((b(),P(u,{severity:`danger`,text:``,rounded:``,loading:V(W),class:`cui-icon-md`,onClick:e=>V(H)({id:t.id})},{icon:h(()=>[j(x,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[S,{value:e.$t(`views.settings.active_sessions.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`])]),_:1})])]),j(p,{ref_key:`menuRef`,ref:q,items:V(Z),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{ye as default};
1
+ import{B as e,Ht as t,Jt as n,Vt as r,Wt as i,Z as a,sr as o}from"./vendor-cameraui-B28aGJJD.js";import{E as s,Ir as c,Ln as l,Nr as u,O as d,gn as f,mn as p,st as m}from"./api-DOpXVpef.js";import{$n as h,C as g,Cn as _,Cr as v,Dn as y,In as b,Jn as x,S,Sr as C,Xt as w,_r as T,br as E,cn as D,dn as O,dr as k,er as A,gn as j,hn as M,hr as N,ln as P,or as F,sn as I,sr as L,un as R,vn as z,x as B,yr as V}from"./vendor-gFkr2qsZ.js";import{a as H}from"./intercomService-CXcjcPa9.js";import{C as U,L as ee,M as W,s as G,z as K}from"./vendor-primevue-CZKUAkMA.js";import{t as te}from"./delete-Btu-UVx9.js";import{t as ne}from"./CuiDataTable-C0gsYYpg.js";import{n as re,t as ie}from"./auth-By-S-WEr.js";var q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return b(),O(`svg`,q,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`m21.7 13.35l-1 1l-2.05-2.05l1-1a.55.55 0 0 1 .77 0l1.28 1.28c.21.21.21.56 0 .77M12 18.94l6.06-6.06l2.05 2.05L14.06 21H12zM12 14c-4.42 0-8 1.79-8 4v2h6v-1.89l4-4c-.66-.08-1.33-.11-2-.11m0-10a4 4 0 0 0-4 4a4 4 0 0 0 4 4a4 4 0 0 0 4-4a4 4 0 0 0-4-4`},null,-1)]])}var ae=L({name:`mdi-account-edit`,render:J}),Y={for:`username`,class:`cui-label`},X={for:`password`,class:`cui-label`},Z={for:`passwordConfirm`,class:`cui-label`},Q={for:`role`,class:`cui-label`},oe=z({__name:`UserForm`,props:{user:{}},setup(t,{expose:n}){let r=new u,i=t,a=H(),l=c(),{t:f}=o(),p=_(`dialogRefProps`),{mutateAsync:m,isPending:C}=r.createUserQuery(),{mutateAsync:E,isPending:O}=r.patchUserQuery(),{user:A}=T(i),M=x(`formRef`),N=k({}),F=k([`user`,`admin`]),L=I(()=>!!(p.loading?.value||C.value||O.value));async function z(){let e=await M.value?.validate();if(!e?.valid)return a.error(`Validation failed`,e),l.add({severity:`error`,detail:f(`components.toast.validation_failed`),life:3e3}),null;A.value?await E({username:A.value.username,userData:N.value}):await m({userData:N.value})}return n({isLoading:L,onConfirm:z}),(t,n)=>{let r=e,i=K,a=G,o=W;return b(),P(V(g),{ref_key:`formRef`,ref:M,class:`flex flex-col gap-6`,"validation-schema":V(A)?V(d):V(s)},{default:h(()=>[j(V(S),{modelValue:V(N).username,"onUpdate:modelValue":n[0]||=e=>V(N).username=e,modelModifiers:{trim:!0},value:V(A)?.username??V(N).username,name:`username`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:e,errors:n})=>[D(`label`,Y,v(t.$t(`components.form.label.username`)),1),j(i,null,{default:h(()=>[j(r,y(e,{invalid:n.length>0,loading:V(L),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`username`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`value`]),j(V(S),{modelValue:V(N).password,"onUpdate:modelValue":n[1]||=e=>V(N).password=e,name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:e,errors:n})=>[D(`label`,X,v(t.$t(`components.form.label.new_password`)),1),j(i,null,{default:h(()=>[j(a,y({invalid:n.length>0},e,{loading:V(L),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),j(V(S),{modelValue:V(N).passwordConfirm,"onUpdate:modelValue":n[2]||=e=>V(N).passwordConfirm=e,name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:e,errors:n})=>[D(`label`,Z,v(t.$t(`components.form.label.new_password_confirm`)),1),j(i,null,{default:h(()=>[j(a,y({invalid:n.length>0},e,{loading:V(L),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),V(A)?.role===`master`?R(``,!0):(b(),P(V(S),{key:0,"model-value":V(N).role,name:`role`,as:`div`,class:`flex flex-col field-gap`},{default:h(({errors:e})=>[D(`label`,Q,v(t.$t(`components.form.label.role`)),1),j(i,null,{default:h(()=>[j(o,{"model-value":V(A)?.role??V(N).role,options:V(F),invalid:e.length>0,loading:V(L),type:`text`,onValueChange:n[3]||=e=>V(N).role=e},null,8,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),j(w,{name:`fade`},{default:h(()=>[j(V(B),{name:`role`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]))]),_:1},8,[`validation-schema`])}}}),se={class:`flex flex-col w-full gap-6`},$={class:`card-title`},ce={class:`flex flex-col gap-6`},le={class:`flex items-center gap-2`},ue={class:`flex flex-col`},de={class:`text-sm font-semibold text-color`},fe={class:`text-xs text-muted`},pe={class:`relative w-6 h-6`},me={class:`flex flex-row items-end justify-end gap-2`},he={class:`card-title`},ge={class:`flex items-center justify-center`},_e={class:`font-medium block max-w-[200px] truncate`},ve={class:`text-muted text-sm`},ye=z({__name:`SettingsUsers`,setup(e){let s=new ie,c=new u,d=m(),{mdBreakpoint:g}=l(),{t:_}=o(),y=k({pageSize:15,page:1}),S=k({page:1,pageSize:-1}),{data:w,isBusy:T}=c.getUsersQuery(y),{mutate:L,isPending:R}=c.removeUserQuery(),{data:z,isBusy:B}=s.listAllSessionsQuery(S),{mutate:H,isPending:W}=s.revokeSessionQuery(),G={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},K=k({global:{value:null,matchMode:ee.CONTAINS}}),q=x(`menuRef`),J=I(()=>T.value||R.value),Y=I(()=>z.value??[]),X=I(()=>!!B.value),Z=I(()=>[{label:_(`views.settings.edit`),icon:ae,buttonProps:{disabled:J.value},onClick:e=>{Q(e)}},{label:_(`views.settings.remove`),icon:te,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:J.value,severity:`danger`},onClick:e=>{L({username:e.username})}}]);function Q(e){d.openComponentDialog(oe,{data:{title:_(e?`components.dialog.title.edit_user`:`components.dialog.title.create_new_user`),confirmText:_(e?`components.form.button.save`:`components.form.button.add`),loading:J,contentProps:{user:N(e)}}})}return(e,o)=>{let s=r,c=f,l=U,u=t,d=ne,m=a,_=i,x=re,S=n;return b(),O(`div`,null,[D(`div`,se,[D(`div`,null,[D(`span`,$,v(e.$t(`views.settings.registered_users`)),1),j(m,{class:`cui-card`},{content:h(()=>[D(`div`,ce,[j(d,{filters:V(K),"onUpdate:filters":o[0]||=e=>F(K)?K.value=e:null,value:V(w)?.result,paginator:V(y).page>1||V(w)?.result&&V(w).result.length>15,"data-key":`id`,"filter-display":`menu`,loading:V(J),"global-filter-fields":[`username`],pt:G,"striped-rows":``,scrollable:``},{loading:h(()=>[j(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),default:h(()=>[j(l,{field:`username`,"align-frozen":`left`,frozen:!V(g),header:e.$t(`views.settings.title_user`),"header-class":`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`,class:`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`},{body:h(({data:e})=>[D(`div`,le,[j(c,{src:e.avatar,size:54},null,8,[`src`]),D(`div`,ue,[D(`span`,de,v(e.username),1),D(`span`,fe,v(e.role),1)])])]),_:1},8,[`frozen`,`header`]),j(l,{field:`action`,"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7 text-right`},{body:h(({data:e})=>[D(`div`,null,[j(u,{severity:`secondary`,text:``,rounded:``,loading:V(J),class:`cui-icon-md`,onClick:t=>V(q)?.toggleMenu(t,void 0,e)},{icon:h(()=>[D(`div`,pe,[D(`div`,{class:E([`absolute top-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":V(q)?.isOpen&&V(q)?.data?._id===e._id}])},null,2),D(`div`,{class:E([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-1 rounded-full transition-all duration-100 bg-current`,{"opacity-0 scale-0":V(q)?.isOpen&&V(q)?.data?._id===e._id}])},null,2),D(`div`,{class:E([`absolute bottom-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":V(q)?.isOpen&&V(q)?.data?._id===e._id}])},null,2)])]),_:2},1032,[`loading`,`onClick`])])]),_:1})]),_:1},8,[`filters`,`value`,`paginator`,`loading`]),D(`div`,me,[j(u,{severity:`success`,loading:V(J),class:`cui-button-medium mr-4 md:mr-0`,label:e.$t(`components.form.button.create_new_user`),onClick:o[1]||=e=>Q()},null,8,[`loading`,`label`])])])]),_:1})]),D(`div`,null,[D(`span`,he,v(e.$t(`views.settings.logged_in_users`)),1),j(m,{class:`cui-card`},{content:h(()=>[j(d,{value:V(Y),loading:V(X),pt:G,"striped-rows":``,scrollable:``},{loading:h(()=>[j(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:h(()=>[D(`span`,ve,v(e.$t(`views.settings.no_sessions`)),1)]),default:h(()=>[j(l,{field:`status`,header:``,style:{width:`3rem`}},{body:h(({data:t})=>[D(`div`,ge,[A(j(_,{style:C({background:t.is_current?`var(--primary-500)`:`transparent`})},null,8,[`style`]),[[S,{value:t.is_current?e.$t(`components.user_table.you`):void 0}]])])]),_:1}),j(l,{field:`device.name`,header:e.$t(`components.user_table.title_device`)},{body:h(({data:e})=>[D(`span`,_e,v(e.device.name),1)]),_:1},8,[`header`]),j(l,{field:`device.ip`,header:e.$t(`components.user_table.title_address`)},{body:h(({data:e})=>[M(v(e.device.ip??`-`),1)]),_:1},8,[`header`]),j(l,{field:`device.kind`,header:e.$t(`components.user_table.title_kind`)},null,8,[`header`]),j(l,{field:`action`,class:`text-right`},{body:h(({data:t})=>[A((b(),P(u,{severity:`danger`,text:``,rounded:``,loading:V(W),class:`cui-icon-md`,onClick:e=>V(H)({id:t.id})},{icon:h(()=>[j(x,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[S,{value:e.$t(`views.settings.active_sessions.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`])]),_:1})])]),j(p,{ref_key:`menuRef`,ref:q,items:V(Z),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{ye as default};
@@ -0,0 +1,4 @@
1
+ import{Ht as e,Jt as t,Ni as n,ii as r,sr as i,ui as a,zt as o}from"./vendor-cameraui-B28aGJJD.js";import{Gn as s,H as c,Ln as l,Nn as u,h as d}from"./api-DOpXVpef.js";import{$n as f,Cr as p,Dn as m,Fn as h,Hn as g,In as _,Jn as v,On as y,Pn as ee,Rn as b,Sr as x,Xn as S,_r as te,br as C,cn as w,dn as T,dr as E,en as D,er as O,gn as k,ln as A,lr as j,mr as M,nn as N,rn as P,sn as F,sr as I,un as L,vn as R,yr as z}from"./vendor-gFkr2qsZ.js";import{a as B}from"./intercomService-CXcjcPa9.js";import{p as V}from"./vendor-core-DIa0tPNH.js";import{o as ne}from"./vendor-primevue-CZKUAkMA.js";import{i as H}from"./useKeyboardInset-Cr7SxKGN.js";import{a as U,i as W,n as G,r as re,t as K}from"./vendor-xterm-G7KkmRYW.js";import{t as q}from"./back-filled-D-X19YMO.js";import{t as J}from"./settings-DnksaK7m.js";import{n as ie,t as ae}from"./zoom-in-CHkXAWHy.js";import{n as oe,t as se}from"./CuiTopNavbarItem-CNEnOPSh.js";import{t as ce}from"./trash-2-DJeEhHf4.js";var Y={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function X(e,t){return _(),T(`svg`,Y,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M18 28A12 12 0 1 0 6 16v6.2l-3.6-3.6L1 20l6 6l6-6l-1.4-1.4L8 22.2V16a10 10 0 1 1 10 10Z`},null,-1)]])}var le=I({name:`carbon-reset`,render:X}),Z={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function ue(e,t){return _(),T(`svg`,Z,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M17 15V8h-2v7H8v2h7v7h2v-7h7v-2z`},null,-1)]])}var de=I({name:`carbon-add`,render:ue}),fe=u(R({__name:`CuiTerminal`,props:{autoConnect:{type:Boolean,default:!0},cwd:{},shell:{},options:{default:()=>({fontSize:14})},inputTransform:{}},emits:[`connected`,`disconnected`,`error`],setup(e,{expose:t,emit:i}){let a=e,s=i,{isConnected:c,isConnecting:l,isClientConnected:u,error:d,connect:f,write:p,resize:m,close:g}=o(),{options:b}=te(a),x={fontSize:14,scrollback:5e3,allowTransparency:!1,disableStdin:!1,cursorBlink:!0,allowProposedApi:!0,theme:{background:`#000000`}},C={"\x1B[A":`\x1BOA`,"\x1B[B":`\x1BOB`,"\x1B[C":`\x1BOC`,"\x1B[D":`\x1BOD`,"\x1B[H":`\x1BOH`,"\x1B[F":`\x1BOF`},w=v(`terminalContainerRef`),E=M(null),D=null,O=null,k=null,A=null,j=r(w);function N(e){c.value&&p(a.inputTransform?a.inputTransform(e):e)}function P(e){E.value&&E.value.write(e)}function F(){if(E.value&&D)try{D.fit()}catch{}}function I(){F(),c.value&&E.value&&m({cols:E.value.cols,rows:E.value.rows})}function L(){E.value&&y(()=>{F(),E.value&&(E.value.refresh(0,E.value.rows-1),E.value.focus())})}let R=n(I,100);function z(e){if(e)try{e.dispose()}catch{}}function B(){w.value&&(E.value=new K({...x,...b.value}),D=new U,A=new G,O=new W,k=new re,E.value.loadAddon(O),E.value.loadAddon(k),E.value.loadAddon(A),E.value.loadAddon(D),E.value.open(w.value),E.value.onData(N),E.value.onResize(({cols:e,rows:t})=>{c.value&&m({cols:e,rows:t})}),A.onContextLoss(()=>{z(A),A=null}),I())}async function V(){E.value&&await f({cols:E.value.cols,rows:E.value.rows,cwd:a.cwd,shell:a.shell,onData:P,onClose:()=>{E.value?.write(`\r
2
+ \x1B[33mSession closed.\x1B[0m\r
3
+ `)},onError:e=>{s(`error`,e)}})}async function ne(){await g()}function H(){E.value?.clear()}function q(){E.value?.focus()}function J(e){E.value?.modes.applicationCursorKeysMode&&(e=C[e]??e),N(e)}return S(b,()=>{E.value&&(E.value.options={...x,...b.value},R())},{deep:!0}),S(c,e=>{e?(s(`connected`),y(()=>E.value?.focus())):s(`disconnected`)}),S([j.height,j.width],()=>{R()}),ee(()=>{B(),a.autoConnect&&V()}),h(()=>{g(),z(D),z(A),z(O),z(k),z(E.value)}),t({connect:V,disconnect:ne,clear:H,focus:q,resize:I,refresh:L,sendInput:J,isConnected:c,isConnecting:l,isClientConnected:u,error:d,term:E}),(e,t)=>(_(),T(`div`,{ref_key:`terminalContainerRef`,ref:w,class:`cui-terminal w-full h-full bg-black overflow-hidden p-2 min-w-0`},null,512))}}),[[`__scopeId`,`data-v-82bcb47c`]]),Q=[{id:`esc`,label:`Esc`,sequence:`\x1B`},{id:`tab`,label:`Tab`,sequence:` `},{id:`ctrl`,label:`Ctrl`,sequence:``,modifier:!0},{id:`alt`,label:`Alt`,sequence:``,modifier:!0},{id:`home`,label:`Home`,sequence:`\x1B[H`},{id:`end`,label:`End`,sequence:`\x1B[F`},{id:`up`,label:`↑`,sequence:`\x1B[A`},{id:`down`,label:`↓`,sequence:`\x1B[B`},{id:`left`,label:`←`,sequence:`\x1B[D`},{id:`right`,label:`→`,sequence:`\x1B[C`},{id:`pgup`,label:`PgUp`,sequence:`\x1B[5~`},{id:`pgdn`,label:`PgDn`,sequence:`\x1B[6~`},{id:`del`,label:`Del`,sequence:`\x1B[3~`},{id:`slash`,label:`/`,sequence:`/`},{id:`dash`,label:`-`,sequence:`-`},{id:`pipe`,label:`|`,sequence:`|`},{id:`tilde`,label:`~`,sequence:`~`},{id:`underscore`,label:`_`,sequence:`_`}],pe=[`tab`,`ctrl`,`up`,`down`,`left`,`right`],$={a:``,b:``,c:``,d:``,e:``,f:``,g:`\x07`,h:`\b`,i:` `,j:`
4
+ `,k:`\v`,l:`\f`,m:`\r`,n:``,o:``,p:``,q:``,r:``,s:``,t:``,u:``,v:``,w:``,x:``,y:``,z:``},me=[`onPointerdown`],he={key:0,class:`flex flex-wrap gap-1.5 px-2 py-2 bg-black/90 border-t border-white/10`},ge=[`onClick`],_e=u(R({__name:`CuiTerminalToolbar`,emits:[`send`],setup(e,{expose:t,emit:n}){let r=n,{smBreakpoint:i}=l(),o=Q,s=a(`cui-terminal-toolbar-keys`,pe),c=E(!1),u=j(new Set),d=F(()=>s.value.map(e=>o.find(t=>t.id===e)).filter(Boolean));function f(e){if(u.has(`ctrl`)&&e.length===1){let t=$[e.toLowerCase()];if(t)return t}return u.has(`alt`)&&e.length===1?`\x1b${e}`:e}function m(e){if(e.modifier){u.has(e.id)?u.delete(e.id):u.add(e.id);return}let t=f(e.sequence);r(`send`,t),u.clear()}function h(e){let t=s.value.indexOf(e);t>=0?s.value.splice(t,1):s.value.push(e)}return t({activeModifiers:u,applyModifiers:f}),(e,t)=>{let n=J;return _(),T(`div`,null,[w(`div`,{class:C([`cui-terminal-toolbar flex items-center gap-1 px-2 py-1.5 bg-black/80 border-t border-white/10 overflow-x-auto no-scrollbar`,{"pt-3":!z(i)}])},[(_(!0),T(P,null,b(z(d),e=>(_(),T(`button`,{key:e.id,class:C([`toolbar-key flex-shrink-0 px-2.5 py-1.5 rounded text-xs font-mono select-none transition-colors duration-100 border min-w-[32px] text-center cursor-pointer`,{"bg-white/20 border-white/30 text-white":e.modifier&&z(u).has(e.id),"bg-white/5 border-white/10 text-white/70 hover:bg-white/15 hover:text-white active:bg-white/25":!(e.modifier&&z(u).has(e.id))}]),onPointerdown:N(t=>m(e),[`prevent`])},p(e.label),43,me))),128)),w(`button`,{class:C([`toolbar-key flex-shrink-0 px-2 py-1.5 rounded text-xs select-none transition-colors duration-100 border ml-auto`,{"bg-white/20 border-white/30 text-white":z(c),"bg-white/5 border-white/10 text-white/50 hover:bg-white/15 hover:text-white":!z(c)}]),onPointerdown:t[0]||=N(e=>c.value=!z(c),[`prevent`])},[k(n,{class:`w-3.5 h-3.5`})],34)],2),z(c)?(_(),T(`div`,he,[(_(!0),T(P,null,b(z(o),e=>(_(),T(`button`,{key:e.id,class:C([`px-2.5 py-1 rounded text-xs font-mono select-none transition-colors duration-100 border`,{"bg-white/20 border-white/30 text-white":z(s).includes(e.id),"bg-white/5 border-white/10 text-white/30":!z(s).includes(e.id)}]),onClick:t=>h(e.id)},p(e.label),11,ge))),128))])):L(``,!0)])}}}),[[`__scopeId`,`data-v-e111c595`]]),ve={class:`h-full w-full dark-mode relative overflow-hidden`},ye={class:`relative w-6 h-6`},be=R({__name:`Terminal`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(n){let a=n,o=B(),{t:l}=i(),u=s(),{uiSettings:p}=V(u),{navbarWidth:j,navbarLeft:M}=te(a),{keyboardInset:N}=H(),I=v(`toolbar`),L=E([]),R=E(``),U=new Map,W=0,G=r(I),re=F(()=>j.value+M.value),K=F(()=>L.value.find(e=>e.id===R.value)),J=F(()=>({fontSize:p.value.console.zoom})),Y=E([{label:l(`components.form.tooltip.clear`),icon:ce,buttonProps:{severity:`danger`},command:()=>{Q()?.clear()}},{label:l(`components.form.tooltip.zoom_out`),icon:ie,command:()=>{Ee()}},{label:l(`components.form.tooltip.zoom_in`),icon:ae,command:()=>{Te()}}]);function X(e){e.target?.closest?.(`.cui-terminal-toolbar`)||e.preventDefault()}function Z(e){e?(document.addEventListener(`touchmove`,X,{passive:!1}),document.documentElement.style.overscrollBehavior=`none`):(document.removeEventListener(`touchmove`,X),document.documentElement.style.overscrollBehavior=``)}function ue(e,t){t?U.set(e,t):U.delete(e)}function Q(){return U.get(R.value)}function pe(){return W++,{id:d(12),name:`Terminal ${W}`,isConnected:!1,isConnecting:!0}}function $(){let e=pe();L.value.push(e),R.value=e.id}async function me(e){let t=L.value.findIndex(t=>t.id===e);if(t===-1)return;let n=U.get(e);if(n&&await n.disconnect(),L.value.splice(t,1),U.delete(e),R.value===e&&L.value.length>0){let e=Math.min(t,L.value.length-1);R.value=L.value[e].id,y(()=>{Q()?.refresh()})}}function he(e){R.value=e,y(()=>{U.get(e)?.refresh()})}function ge(e){if(!I.value?.activeModifiers?.size)return e;let t=I.value.applyModifiers(e);return I.value.activeModifiers.clear(),t}function be(e){Q()?.sendInput(e)}async function xe(){let e=Q();e&&(await e.disconnect(),await e.connect())}function Se(e){let t=L.value.find(t=>t.id===e);t&&(t.isConnected=!0,t.isConnecting=!1),e===R.value&&y(()=>{Q()?.refresh()})}function Ce(e){let t=L.value.find(t=>t.id===e);t&&(t.isConnected=!1,t.isConnecting=!1)}function we(e,t){o.error(`Terminal ${e} error:`,t);let n=L.value.find(t=>t.id===e);n&&(n.isConnected=!1,n.isConnecting=!1)}function Te(){p.value.console.zoom!==20&&(p.value.console.zoom++,y(()=>{Q()?.resize()}))}function Ee(){p.value.console.zoom!==8&&(p.value.console.zoom--,y(()=>{Q()?.resize()}))}return S(N,e=>Z(e>0)),ee(()=>{$()}),h(()=>{Z(!1)}),(n,r)=>{let i=q,a=e,o=c,s=se,u=de,d=oe,p=ne,h=le,v=t;return _(),T(`div`,ve,[k(o,{position:`left`},{default:f(()=>[k(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=e=>n.$router.push(`/menu`)},{icon:f(()=>[k(i,{class:`w-6 h-6`})]),_:1})]),_:1}),k(d,{scrollable:``,"left-offset":z(re),animate:``},{left:f(()=>[(_(!0),T(P,null,b(z(L),e=>(_(),A(s,{key:e.id,type:`tab`,label:e.name,active:z(R)===e.id,status:e.isConnected?`connected`:e.isConnecting?`connecting`:`disconnected`,closeable:z(L).length>1,onClick:t=>he(e.id),onClose:t=>me(e.id)},null,8,[`label`,`active`,`status`,`closeable`,`onClick`,`onClose`]))),128)),O((_(),A(s,{type:`button`,onClick:$},{icon:f(()=>[k(u,{class:`w-4 h-4`})]),_:1})),[[v,z(l)(`views.terminal.new_tab`)]])]),_:1},8,[`left-offset`]),w(`div`,{class:`w-full h-full flex flex-col relative`,style:x({paddingTop:`${z(55)}px`})},[w(`div`,{class:C([`flex-1 relative min-h-0 overflow-hidden`,{"pb-1":z(N)>0}])},[(_(!0),T(P,null,b(z(L),e=>O((_(),A(fe,{key:e.id,ref_for:!0,ref:t=>ue(e.id,t),options:z(J),"input-transform":ge,"auto-connect":``,onConnected:()=>Se(e.id),onDisconnected:()=>Ce(e.id),onError:t=>we(e.id,t)},null,8,[`options`,`onConnected`,`onDisconnected`,`onError`])),[[D,z(R)===e.id]])),128))],2),k(_e,{ref_key:`toolbar`,ref:I,onSend:be},null,512)],4),k(p,{model:z(Y),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-3 z-11`,pt:{root:{style:`pointer-events: none`}},style:x({bottom:`calc(0.75rem + ${z(G).height.value}px)`,transition:`bottom 150ms ease-out`})},{button:f(({visible:e,toggleCallback:t})=>[k(a,{severity:`secondary`,class:C([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,onClick:t},{icon:f(()=>[w(`div`,ye,[w(`div`,{class:C([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),w(`div`,{class:C([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),w(`div`,{class:C([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`class`,`onClick`])]),item:f(({item:e,toggleCallback:t})=>[O((_(),A(a,m({severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:f(()=>[(_(),A(g(e.icon)))]),_:2},1040,[`onClick`])),[[v,{value:e.label}]])]),_:1},8,[`model`,`style`]),O((_(),A(a,{class:C([`opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition absolute right-14 z-11`,{"!opacity-20 pointer-events-none":z(K)?.isConnected||z(K)?.isConnecting}]),style:x({bottom:`calc(0.75rem + ${z(G).height.value}px)`,transition:`bottom 150ms ease-out`}),rounded:``,disabled:z(K)?.isConnected||z(K)?.isConnecting,onClick:xe},{icon:f(()=>[k(h,{class:`text-white`})]),_:1},8,[`class`,`style`,`disabled`])),[[v,z(l)(`views.terminal.reconnect`)]])])}}});export{be as default};
@@ -0,0 +1 @@
1
+ import{B as e,Ht as t,Jt as n,K as r,Q as i,Z as a,di as o,ii as s,li as c,si as l,sr as ee,ui as te,yi as ne}from"./vendor-cameraui-B28aGJJD.js";import{F as u,Fn as d,Ft as re,Gr as f,H as p,I as ie,Ir as ae,J as oe,L as se,Ln as ce,Mn as le,Nn as m,Pn as h,Pr as g,R as _,Tr as ue,V as v,bn as y,en as de,f as fe,h as pe,l as me,lr as b,mn as he,st as x,tt as ge,yn as _e}from"./api-DOpXVpef.js";import{$n as S,Cn as ve,Cr as C,Hn as ye,In as w,Jn as T,K as E,R as be,Rn as D,Sr as O,Xn as xe,Z as k,br as Se,cn as A,dn as j,dr as M,er as Ce,fr as we,gn as N,hn as P,hr as F,jn as Te,ln as I,lr as Ee,mr as De,nn as L,nr as Oe,or as ke,rn as R,sn as z,sr as Ae,un as B,vn as V,yr as H}from"./vendor-gFkr2qsZ.js";import{F as je,I as Me,R as Ne,a as Pe,f as U,z as Fe}from"./vendor-primevue-CZKUAkMA.js";import{t as Ie}from"./close-CMxyM4v9.js";import{t as Le}from"./chevron-down-CCFn9Z56.js";import{t as Re}from"./help-circle-outline-Cr_yNhPi.js";import{t as ze}from"./plus-CySoovdr.js";import{t as Be}from"./trash-can-outline-DrT6iw7I.js";import{t as Ve}from"./information-outline-CMWIvLNB.js";import{t as He}from"./search-BajCVmOI.js";import{n as Ue,t as We}from"./cloud-check-CbdFLIdR.js";import{t as Ge}from"./back-filled-D-X19YMO.js";import{t as Ke}from"./settings-DnksaK7m.js";var qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Je(e,t){return w(),j(`svg`,qe,[...t[0]||=[A(`path`,{fill:`currentColor`,d:`M13 19c0 .34.04.67.09 1H6.5c-1.5 0-2.81-.5-3.89-1.57C1.54 17.38 1 16.09 1 14.58q0-1.95 1.17-3.48C3.34 9.57 4 9.43 5.25 9.15c.42-1.53 1.25-2.77 2.5-3.72S10.42 4 12 4c1.95 0 3.6.68 4.96 2.04S19 9.05 19 11c1.15.13 2.1.63 2.86 1.5c.51.57.84 1.21 1 1.92A5.9 5.9 0 0 0 19 13h-2v-2c0-1.38-.5-2.56-1.46-3.54C14.56 6.5 13.38 6 12 6s-2.56.5-3.54 1.46C7.5 8.44 7 9.62 7 11h-.5c-.97 0-1.79.34-2.47 1.03c-.69.68-1.03 1.5-1.03 2.47s.34 1.79 1.03 2.5c.68.66 1.5 1 2.47 1h6.59c-.05.33-.09.66-.09 1m4.75.43l-1.59-1.59L15 19l2.75 3l4.75-4.75l-1.16-1.41z`},null,-1)]])}var Ye=Ae({name:`mdi-cloud-check-outline`,render:Je}),Xe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return w(),j(`svg`,Xe,[...t[0]||=[A(`path`,{fill:`currentColor`,d:`M6 13h12v-2H6M3 6v2h18V6M10 18h4v-2h-4z`},null,-1)]])}var Ze=Ae({name:`mdi-filter-variant`,render:W}),Qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function $e(e,t){return w(),j(`svg`,Qe,[...t[0]||=[A(`path`,{fill:`currentColor`,d:`M6.5 20q-2.28 0-3.89-1.57Q1 16.85 1 14.58q0-1.95 1.17-3.48q1.18-1.53 3.08-1.95q.63-2.3 2.5-3.72Q9.63 4 12 4q2.93 0 4.96 2.04Q19 8.07 19 11q1.73.2 2.86 1.5q1.14 1.28 1.14 3q0 1.88-1.31 3.19T18.5 20H13q-.82 0-1.41-.59Q11 18.83 11 18v-5.15L9.4 14.4L8 13l4-4l4 4l-1.4 1.4l-1.6-1.55V18h5.5q1.05 0 1.77-.73q.73-.72.73-1.77t-.73-1.77Q19.55 13 18.5 13H17v-2q0-2.07-1.46-3.54Q14.08 6 12 6Q9.93 6 8.46 7.46Q7 8.93 7 11h-.5q-1.45 0-2.47 1.03Q3 13.05 3 14.5T4.03 17q1.02 1 2.47 1H9v2m3-7`},null,-1)]])}var et=Ae({name:`mdi-cloud-upload-outline`,render:$e}),tt=200;async function nt(e={},{signal:t}={}){return(await f.get(`/training/candidates`,{params:e,signal:t})).data}async function rt(e,t){return(await f.patch(`/training/candidates/${e}`,t)).data}async function G(e){await f.delete(`/training/candidates/${e}`)}async function K(e){let t=0;for(let n=0;n<e.length;n+=tt){let r=await f.post(`/training/candidates/submit`,{ids:e.slice(n,n+tt)});t+=r.data.queued}return{queued:t}}async function it({cursor:e,signal:t}={}){return(await f.get(`/training/submissions`,{params:e?{cursor:e}:void 0,signal:t})).data}async function at(e){await f.delete(`/training/submissions/${e}`)}async function q({signal:e}={}){return(await f.get(`/training/settings`,{signal:e})).data}async function ot(e){return(await f.patch(`/training/settings`,e)).data}var st=class{queryClient=k();getCandidatesQuery(){return g({queryKey:[`training-candidates`],queryFn:({signal:e})=>nt({},{signal:e}),staleTime:5e3})}getSettingsQuery(){return g({queryKey:[`training-settings`],queryFn:({signal:e})=>q({signal:e}),staleTime:3e4})}patchCandidateMutation(){return E({mutationFn:({id:e,patch:t})=>rt(e,t),onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteCandidateMutation(){return E({mutationFn:G,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteSubmissionMutation(){return E({mutationFn:at})}submitCandidatesMutation(){return E({mutationFn:K,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}patchSettingsMutation(){return E({mutationFn:ot,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-settings`],exact:!0})}})}},ct={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return w(),j(`svg`,ct,[...t[0]||=[A(`path`,{fill:`currentColor`,d:`M17 14h2v3h3v2h-3v3h-2v-3h-3v-2h3zm-6 2L2 9l9-7l9 7zm0 2.54l1-.79V18c0 .71.12 1.39.35 2L11 21.07l-9-7l1.62-1.26z`},null,-1)]])}var lt=Ae({name:`mdi-layers-plus`,render:J}),ut=[`person`,`vehicle`,`animal`,`package`,`face`,`license_plate`],Y={desktop:{maxWidth:`1280px`,width:`85vw`}},X=Ee({progress:null}),dt=null,ft=null,Z=new Set,Q=new Set;function pt(e,t){for(let n of e)try{n(t)}catch{}}async function mt(){if(ft?.ready.value)try{let e=await ft.request(`get-submit-progress`);e.active?X.progress=e:X.progress?.active&&(X.progress=null)}catch{}}function ht(){mt(),pt(Z,{}),pt(Q,void 0)}function gt(){return ft||(dt=Oe(!0),dt.run(()=>{let e=ue(`/training`);ft=e,e.on(`candidates-changed`,e=>pt(Z,e??{})),e.on(`submit-progress`,e=>{X.progress=e,pt(Z,{})}),e.onReady(ht)}),ft)}function _t(){function e(){gt()}function t(e){return Z.add(e),()=>Z.delete(e)}function n(e){return Q.add(e),()=>Q.delete(e)}function r(){X.progress=null}return{submitProgress:z(()=>X.progress),connect:e,onCandidatesChanged:t,onResync:n,dismissProgress:r}}var vt={class:`flex items-center justify-between gap-2 text-sm`},yt={class:`min-w-0 flex items-center gap-2`},bt={class:`font-medium truncate`},xt={class:`text-muted shrink-0`},St={class:`flex items-center gap-1.5 shrink-0`},Ct={class:`text-muted tabular-nums`},wt=[`data-stage-zoom`],Tt=[`src`],Et=[`x`,`y`,`width`,`height`,`stroke`,`fill`,`fill-opacity`,`stroke-width`,`onPointerdown`],Dt=[`onPointerdown`],Ot=[`cx`,`cy`],kt=[`cx`,`cy`,`fill`],At=[`x`,`y`,`width`,`height`,`stroke`],jt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],Mt=[`onClick`],Nt=[`data-box-label`,`onPointerdown`],Pt={class:`bbox-label-text`},Ft={key:0,class:`bbox-label-confidence`},It={key:1,class:`bbox-label-confidence`},Lt=[`src`],Rt={class:`absolute inset-0 w-full h-full`},zt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],Bt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],Vt={key:2,class:`absolute left-2 top-1/2 -translate-y-1/2 z-[5] dark-mode`},Ht={key:3,class:`absolute right-2 top-1/2 -translate-y-1/2 z-[5] dark-mode`},Ut={key:0,class:`flex items-center justify-center gap-2`},Wt={class:`text-muted text-sm`,for:`plate-text`},Gt={class:`flex flex-col items-center gap-0.5`},Kt={class:`flex items-center justify-center gap-1.5`},qt={class:`text-muted text-sm text-center`},Jt={class:`text-muted text-sm text-center`},Yt={key:1,class:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 justify-center mx-auto text-sm text-muted`},Xt=.01,Zt=4,Qt=10,$t=26,en=60,tn=400,nn=110,rn=2,an=80,on=50,sn=.003,cn=.5,ln=m(V({__name:`TrainingBoxEditor`,props:{candidates:{},startId:{},cameraName:{type:Function},imageUrl:{type:Function},onSave:{type:Function},onDelete:{type:Function}},setup(r,{expose:i}){let a=r,c=ve(`dialogRef`),{t:te,te:ne}=ee(),u=ae(),d=_t(),re=[`nw`,`ne`,`sw`,`se`],f=new Map,p=Ee(new Set),ie=Ee(new Set),oe=we(new Map),se=0,ce=Math.max(0,a.candidates.findIndex(e=>e.id===a.startId)),le=pe(),m=T(`rootRef`),h=T(`labelMenuRef`),g=T(`stageRef`),_=T(`frameRef`),ue=T(`svgRef`),v=M(a.candidates[ce]?.boxes.map(e=>({...e}))??[]),fe=M({w:16,h:9}),b=M(null),x=M(null),E=M(-1),k=M(!1),Oe=M(!1),Ae=o(`(any-pointer: fine)`),V=M(null),je=null,Me=M(-1),Ne=M(`person`),U=M(ce),Fe=De([]),Ie=M(!1),{zoom:Le,pan:Ve,constraining:He,minimapStyle:Ue,minimapBoxStyle:We,onZoomPan:Ge,onDoubleClick:Ke,onTouchStart:qe,onTouchEnd:Je,reset:Ye}=ge(g,_),{height:Xe}=s(_),W=z(()=>a.candidates[U.value]),Ze=z(()=>a.candidates.slice(0,U.value+1).filter(e=>!p.has(e.id)).length),Qe=z(()=>a.candidates.filter(e=>!p.has(e.id)).length),$e=z(()=>a.candidates.slice(0,U.value).some(e=>!p.has(e.id))),et=z(()=>a.candidates.slice(U.value+1).some(e=>!p.has(e.id))),tt=z(()=>ie.has(W.value.id)?`verified`:W.value.status),nt=z(()=>v.value.map((e,t)=>({box:e,i:t})).sort((e,t)=>st(e)-st(t))),rt=z(()=>new Map(nt.value.map(({i:e},t)=>[e,t+1]))),G=z(()=>v.value[E.value]),K=z(()=>{let e=v.value[E.value];return e?.label===`license_plate`?e:null}),it=z(()=>Ie.value?Fe.value.filter(e=>!v.value.some(t=>Z(t,e)>=cn)):[]),at=z(()=>[...ut.map(e=>({key:e,label:ct(e),icon:de(e).icon,iconProps:{style:{color:de(e).color}},active:v.value[Me.value]?.label===e,onClick:()=>Cn(e)})),{key:`remove`,label:te(`components.training_editor.remove_box`),icon:Be,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},onClick:()=>Tn(Me.value)}]),q=z(()=>e=>{let t=Xe.value||360;return e.y*t>=$t?`above`:t-(e.y+e.height)*t>=$t?`below`:`inside`}),ot=z(()=>e=>e.x>.7);function st({box:e,i:t}){return t===E.value?2**53-1:oe.get(F(e))??t}function ct(e){let t=`components.training_editor.labels.${e}`;return ne(t)?te(t):e}function J(e){return de(e)}function Y(e){return`${e*100}%`}function X(e,t){return Y(t===`nw`||t===`sw`?e.x:e.x+e.width)}function dt(e,t){return Y(t===`nw`||t===`ne`?e.y:e.y+e.height)}function ft(e){let t={backgroundColor:J(e.label).color};ot.value(e)?t.right=Y(1-e.x-e.width):t.left=Y(e.x);let n=q.value(e);return t.top=n===`above`?Y(e.y):n===`below`?Y(e.y+e.height):`calc(${Y(e.y)} + 2px)`,t}function Z(e,t){let n=Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x),r=Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y);if(n<=0||r<=0)return 0;let i=n*r;return i/(e.width*e.height+t.width*t.height-i)}function Q(e){return{left:Y(e.x+e.width),top:Y(e.y+e.height),borderColor:J(e.label).color}}function pt(e){v.value.push({...e,confidence:1}),E.value=v.value.length-1}function mt(){for(let e of it.value)v.value.push({...e,confidence:1})}function ht(e){let t=e.target;t.naturalWidth&&t.naturalHeight&&(fe.value={w:t.naturalWidth,h:t.naturalHeight})}function gt(e){let t=ue.value?.getBoundingClientRect();return!t||t.width===0||t.height===0?{x:0,y:0}:{x:Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)),y:Math.min(1,Math.max(0,(e.clientY-t.top)/t.height))}}function ln(e,t){b.value={...t,clientX:e.clientX,clientY:e.clientY,moved:!1},ue.value?.setPointerCapture(e.pointerId)}function un(e){if(h.value?.hide(),Le.value>1||!e.isPrimary)return;let{x:t,y:n}=gt(e);ln(e,{mode:`draw`,index:-1,startX:t,startY:n,origin:{label:Ne.value,confidence:1,x:t,y:n,width:0,height:0}})}function dn(e,t){if(!t.isPrimary)return;let{x:n,y:r}=gt(t);E.value=e,ln(t,{mode:`move`,index:e,startX:n,startY:r,origin:{...v.value[e]}})}function fn(e,t,n){if(!n.isPrimary)return;h.value?.hide();let{x:r,y:i}=gt(n);E.value=e,ln(n,{mode:`resize`,index:e,corner:t,startX:r,startY:i,origin:{...v.value[e]}})}function pn(e){e.touches.length>1&&b.value&&(b.value=null,x.value=null,V.value=null),qe(e)}function mn(e){let t=b.value;if(!t)return;let{x:n,y:r}=gt(e),i=e.pointerType===`touch`?Qt:Zt;if(Math.hypot(e.clientX-t.clientX,e.clientY-t.clientY)>i&&(t.moved=!0),e.pointerType===`touch`&&t.moved&&(gn(t)?_n(e):V.value=null),t.mode===`draw`){if(t.moved){let e=xn(t.startX,t.startY,n,r);x.value=e.width>=Xt&&e.height>=Xt?{label:Ne.value,confidence:1,...e}:null}return}if(t.mode===`move`){if(!t.moved)return;let e=v.value[t.index];e.x=Math.min(1-t.origin.width,Math.max(0,t.origin.x+(n-t.startX))),e.y=Math.min(1-t.origin.height,Math.max(0,t.origin.y+(r-t.startY)));return}let a=t.corner===`nw`||t.corner===`sw`?t.origin.x+t.origin.width:t.origin.x,o=t.corner===`nw`||t.corner===`ne`?t.origin.y+t.origin.height:t.origin.y;Object.assign(v.value[t.index],xn(a,o,n,r))}function hn(e){let t=b.value;if(b.value=null,V.value=null,t){if(t.mode===`draw`){x.value&&x.value.width>=Xt&&x.value.height>=Xt?(v.value.push({...x.value}),E.value=v.value.length-1):t.moved||(E.value=-1),x.value=null;return}t.mode===`move`&&!t.moved&&Sn(t.index,e)}}function gn(e){let t=ue.value?.getBoundingClientRect();if(!t||t.width===0)return!1;let n=e.mode===`draw`?x.value:v.value[e.index];return!n||Math.max(n.width*t.width,n.height*t.height)<=on}function _n(e){let t=_.value?.getBoundingClientRect(),n=g.value?.getBoundingClientRect();if(!t||!n||t.width===0||t.height===0){V.value=null;return}let r=nn/2,i=Math.min(Math.max(e.clientX-n.left,59),n.width-r-4),a=e.clientY-n.top-an;a-r<4&&(a=e.clientY-n.top+an),V.value={x:i,y:a,frameW:t.width,frameH:t.height,tx:r-(e.clientX-t.left)*rn,ty:r-(e.clientY-t.top)*rn}}function vn(e){let t=e instanceof HTMLElement||e instanceof SVGElement?e:null;if(!t||g.value?.contains(t)||t.closest(`.p-dialog-header`)||t.closest(`button`))return!1;let n=m.value?.closest(`.p-dialog-content`)?.lastElementChild;return!(n&&n!==m.value&&n.contains(t))}function yn(e){if(je=null,e.touches.length!==1||!vn(e.target))return;let t=e.touches[0];je={x:t.clientX,y:t.clientY,at:Date.now()}}function bn(e){let t=je;if(je=null,!t||e.changedTouches.length!==1)return;let n=e.changedTouches[0],r=n.clientX-t.x,i=n.clientY-t.y;Date.now()-t.at<=tn&&Math.abs(r)>=en&&Math.abs(r)>2*Math.abs(i)&&$(r<0?1:-1)}function xn(e,t,n,r){return{x:Math.min(e,n),y:Math.min(t,r),width:Math.abs(n-e),height:Math.abs(r-t)}}function Sn(e,t){Me.value=e;let n=_.value?.querySelector(`[data-box-label="${e}"]`),r={currentTarget:_.value??t.currentTarget};h.value?.toggleMenu(r,n??void 0)}function Cn(e){let t=v.value[Me.value];t&&(t.label=e,t.confidence=1,Ne.value=e)}function wn(e){let t=v.value[E.value];t&&(t.text=(e??``).toUpperCase().replace(/[^A-Z0-9ÄÖÜ\- ]/g,``)||void 0)}function Tn(e){e<0||e>=v.value.length||(v.value.splice(e,1),E.value=-1,Me.value=-1,h.value?.hide())}function En(e,t=!0){e<0||e>=a.candidates.length||(t&&f.set(W.value.id,v.value.map(e=>({...e}))),Fe.value=v.value.map(e=>({...e})),U.value=e,v.value=(f.get(W.value.id)??W.value.boxes).map(e=>({...e})),x.value=null,b.value=null,V.value=null,E.value=-1,Me.value=-1,oe.clear(),h.value?.hide(),Ye())}async function Dn(e){return await a.onSave(W.value.id,v.value.map(e=>({...e})),e),f.set(W.value.id,v.value.map(e=>({...e}))),e===`verified`&&ie.add(W.value.id),$(1,!1)?null:void 0}function $(e,t=!0){let n=U.value+e;for(;n>=0&&n<a.candidates.length&&p.has(a.candidates[n].id);)n+=e;return n<0||n>=a.candidates.length?!1:(En(n,t),!0)}async function On(){let e=W.value.id;p.add(e);try{await a.onDelete(e)}catch(t){throw p.delete(e),t}return f.delete(e),$(1,!1)||$(-1,!1)?null:void 0}function kn(e){let t=!1;for(let n of e)!p.has(n)&&a.candidates.some(e=>e.id===n)&&(p.add(n),f.delete(n),n===W.value.id&&(t=!0));t&&(u.add({severity:`warn`,detail:te(`components.training_editor.removed_meanwhile`),life:4e3}),!$(1,!1)&&!$(-1,!1)&&c.value.close({status:`cancel`}))}function An(){for(let e of[1,-1]){let t=U.value+e;for(;t>=0&&t<a.candidates.length&&p.has(a.candidates[t].id);)t+=e;let n=a.candidates[t];n&&(new Image().src=a.imageUrl(n.id))}}function jn(e){v.value.length&&(E.value=(E.value+e+v.value.length)%v.value.length)}function Mn(e){let t=v.value[E.value];if(!t)return;let n=ut,r=n[(n.indexOf(t.label)+e+n.length)%n.length];t.label=r,t.confidence=1,Ne.value=r}function Nn(e,t,n){let r=v.value[E.value];r&&(n?(r.width=Math.min(1-r.x,Math.max(Xt,r.width+e)),r.height=Math.min(1-r.y,Math.max(Xt,r.height+t))):(r.x=Math.min(1-r.width,Math.max(0,r.x+e)),r.y=Math.min(1-r.height,Math.max(0,r.y+t))))}async function Pn(){if(!Oe.value){Oe.value=!0;try{let e=await Dn(`verified`);e!==null&&c.value.close({status:`confirm`,data:e})}finally{Oe.value=!1}}}xe(U,An,{immediate:!0}),xe(G,(e,t)=>{t&&t!==e&&v.value.includes(t)&&oe.set(F(t),--se)}),l(window,`keydown`,e=>{if(e.target?.closest?.(`input, textarea`))return;let t={ArrowLeft:[-.003,0],ArrowRight:[sn,0],ArrowUp:[0,-.003],ArrowDown:[0,sn]};if(t[e.key]){if(E.value>=0){e.preventDefault();let[n,r]=t[e.key];Nn(n,r,e.shiftKey)}else!e.repeat&&e.key===`ArrowLeft`?$(-1):!e.repeat&&e.key===`ArrowRight`&&$(1);return}e.repeat||(e.key===`Tab`?(e.preventDefault(),jn(e.shiftKey?-1:1)):e.key===`Escape`?(E.value=-1,h.value?.hide()):(e.key===`Delete`||e.key===`Backspace`)&&E.value>=0?Tn(E.value):e.key===`v`||e.key===`V`?e.shiftKey?mt():Fe.value.length>0&&(Ie.value=!Ie.value):e.key===`s`||e.key===`S`?Mn(e.shiftKey?-1:1):e.key===` `&&!h.value?.isOpen&&(e.preventDefault(),Pn()))}),l(()=>m.value?.closest(`.p-dialog-content`)??void 0,`touchstart`,yn,{passive:!0}),l(()=>m.value?.closest(`.p-dialog-content`)??void 0,`touchend`,bn,{passive:!0}),d.connect();let Fn=d.onCandidatesChanged(e=>{e.removed?.length&&kn(e.removed)});return Te(()=>{Fn()}),i({isLoading:Oe,onConfirm:()=>Dn(`verified`),onCancel:()=>On()}),(i,a)=>{let o=Pe,s=lt,c=t,l=ze,ee=_e,te=y,ne=e,u=Re,d=n;return w(),j(`div`,{ref_key:`rootRef`,ref:m,class:`flex flex-col gap-3 h-full min-h-0`},[A(`div`,vt,[A(`div`,yt,[N(o,{severity:H(tt)===`verified`?`success`:`info`,value:i.$t(`views.training.status_${H(tt)}`),class:`shrink-0`},null,8,[`severity`,`value`]),A(`span`,bt,C(r.cameraName(H(W).cameraId)),1),A(`span`,xt,C(H(me)(H(W).createdAt)),1)]),A(`div`,St,[H(Fe).length>0?Ce((w(),I(c,{key:0,severity:H(Ie)?`primary`:`secondary`,text:``,rounded:``,class:`cui-icon-sm`,onClick:a[0]||=e=>Ie.value=!H(Ie)},{icon:S(()=>[N(s,{class:`w-4 h-4`})]),_:1},8,[`severity`])),[[d,i.$t(`components.training_editor.ghosts_toggle`),void 0,{bottom:!0}]]):B(``,!0),A(`span`,Ct,C(H(Ze))+` / `+C(H(Qe)),1)])]),A(`div`,{ref_key:`stageRef`,ref:g,class:`stage relative w-full bg-black rounded-lg shrink-0 overflow-hidden select-none`},[N(H(be),{pan:H(Ve),"onUpdate:pan":a[10]||=e=>ke(Ve)?Ve.value=e:null,zoom:H(Le),"onUpdate:zoom":a[11]||=e=>ke(Le)?Le.value=e:null,"pan-enabled":H(Le)>1&&!H(b),"enable-control-button":!1,"dbl-click-enabled":!1,"min-zoom":1,"max-zoom":H(5),selector:`[data-stage-zoom='${H(le)}']`,"zoom-origin":`pointer`,class:Se([`absolute inset-0 flex items-center justify-center`,{"zoom-constraining":H(He)}]),onPanned:H(Ge),onZoom:H(Ge),onDblclick:H(Ke),onTouchstart:pn,onTouchend:H(Je)},{default:S(()=>[A(`div`,{ref_key:`frameRef`,ref:_,"data-stage-zoom":H(le),class:`frame relative`,style:O({"--ar-w":H(fe).w,"--ar-h":H(fe).h})},[A(`img`,{src:r.imageUrl(H(W).id),class:`absolute inset-0 w-full h-full`,draggable:`false`,onLoad:ht},null,40,Tt),(w(),j(`svg`,{ref_key:`svgRef`,ref:ue,class:Se([`absolute inset-0 w-full h-full touch-none`,H(Le)>1?`cursor-grab`:`cursor-crosshair`]),onPointerdown:un,onPointermove:mn,onPointerup:hn,onPointercancel:hn},[(w(!0),j(R,null,D(H(nt),({box:e,i:t})=>(w(),j(`g`,{key:t},[A(`rect`,{x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:J(e.label).color,"fill-opacity":t===H(E)?.22:.12,"stroke-width":t===H(E)?3.5:2,"vector-effect":`non-scaling-stroke`,class:`cursor-move`,onPointerdown:L(e=>dn(t,e),[`stop`]),onTouchstart:a[1]||=L(()=>{},[`stop`]),onMousedown:a[2]||=L(()=>{},[`stop`])},null,40,Et),(w(),j(R,null,D(re,n=>A(`g`,{key:n,class:`cursor-nwse-resize`,onPointerdown:L(e=>fn(t,n,e),[`stop`]),onTouchstart:a[3]||=L(()=>{},[`stop`]),onMousedown:a[4]||=L(()=>{},[`stop`])},[A(`circle`,{cx:X(e,n),cy:dt(e,n),r:`14`,fill:`transparent`},null,8,Ot),A(`circle`,{cx:X(e,n),cy:dt(e,n),r:`4.5`,fill:J(e.label).color},null,8,kt)],40,Dt)),64))]))),128)),(w(!0),j(R,null,D(H(it),(e,t)=>(w(),j(`rect`,{key:`ghost-${t}`,x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:`none`,"stroke-opacity":`0.75`,"stroke-dasharray":`3 5`,"stroke-width":`1.5`,"vector-effect":`non-scaling-stroke`,class:`pointer-events-none`},null,8,At))),128)),H(x)?(w(),j(`rect`,{key:0,x:Y(H(x).x),y:Y(H(x).y),width:Y(H(x).width),height:Y(H(x).height),stroke:J(H(x).label).color,fill:J(H(x).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`6 4`,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`},null,8,jt)):B(``,!0)],34)),(w(!0),j(R,null,D(H(it),(e,t)=>Ce((w(),j(`button`,{key:`ghost-chip-${t}`,type:`button`,class:`ghost-chip`,style:O(Q(e)),onPointerdown:a[5]||=L(()=>{},[`stop`]),onTouchstart:a[6]||=L(()=>{},[`stop`]),onMousedown:a[7]||=L(()=>{},[`stop`]),onClick:L(t=>pt(e),[`stop`])},[N(l,{class:`w-3.5 h-3.5 shrink-0`}),(w(),I(ye(J(e.label).icon),{class:`bbox-label-icon`}))],44,Mt)),[[d,i.$t(`components.training_editor.ghost_take`),void 0,{top:!0}]])),128)),(w(!0),j(R,null,D(H(v),(e,t)=>(w(),j(`div`,{key:`label-${t}`,class:Se([`bbox-label cursor-move`,{"label-bottom":H(q)(e)===`below`,"label-inside":H(q)(e)===`inside`,"label-right":H(ot)(e)}]),"data-box-label":t,onPointerdown:L(e=>dn(t,e),[`stop`]),onPointermove:mn,onPointerup:hn,onPointercancel:hn,onTouchstart:a[8]||=L(()=>{},[`stop`]),onMousedown:a[9]||=L(()=>{},[`stop`]),style:O([ft(e),{zIndex:H(rt).get(t)}])},[(w(),I(ye(J(e.label).icon),{class:`bbox-label-icon`})),A(`span`,Pt,C(ct(e.label)),1),e.text?(w(),j(`span`,Ft,C(e.text),1)):e.confidence<1?(w(),j(`span`,It,C(Math.round(e.confidence*100))+`%`,1)):B(``,!0)],46,Nt))),128))],12,wt)]),_:1},8,[`pan`,`zoom`,`pan-enabled`,`max-zoom`,`selector`,`class`,`onPanned`,`onZoom`,`onDblclick`,`onTouchend`]),H(Ue)?(w(),j(`div`,{key:0,class:`zoom-minimap`,style:O(H(We)??void 0)},[A(`div`,{class:`zoom-minimap-viewport`,style:O(H(Ue))},null,4)],4)):B(``,!0),H(V)?(w(),j(`div`,{key:1,class:`loupe`,style:O({left:`${H(V).x}px`,top:`${H(V).y}px`})},[A(`div`,{class:`loupe-content`,style:O({width:`${H(V).frameW}px`,height:`${H(V).frameH}px`,transform:`translate(${H(V).tx}px, ${H(V).ty}px) scale(${rn})`})},[A(`img`,{src:r.imageUrl(H(W).id),class:`absolute inset-0 w-full h-full`,draggable:`false`},null,8,Lt),(w(),j(`svg`,Rt,[(w(!0),j(R,null,D(H(v),(e,t)=>(w(),j(`rect`,{key:t,x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:J(e.label).color,"fill-opacity":`0.1`,"stroke-width":`1.5`},null,8,zt))),128)),H(x)?(w(),j(`rect`,{key:0,x:Y(H(x).x),y:Y(H(x).y),width:Y(H(x).width),height:Y(H(x).height),stroke:J(H(x).label).color,fill:J(H(x).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`4 3`,"stroke-width":`1.5`},null,8,Bt)):B(``,!0)]))],4),a[15]||=A(`div`,{class:`loupe-crosshair`},null,-1)],4)):B(``,!0),H($e)?(w(),j(`div`,Vt,[N(c,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:a[12]||=L(e=>$(-1),[`stop`])},{icon:S(()=>[N(ee,{width:`100%`,height:`100%`})]),_:1})])):B(``,!0),H(et)?(w(),j(`div`,Ht,[N(c,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:a[13]||=L(e=>$(1),[`stop`])},{icon:S(()=>[N(te,{width:`100%`,height:`100%`})]),_:1})])):B(``,!0)],512),H(K)?(w(),j(`div`,Ut,[A(`label`,Wt,C(i.$t(`components.training_editor.plate_text`)),1),N(ne,{id:`plate-text`,"model-value":H(K).text??``,size:`small`,maxlength:`12`,class:`w-40 uppercase`,placeholder:`ABC 1234`,"onUpdate:modelValue":wn},null,8,[`model-value`])])):B(``,!0),A(`div`,Gt,[A(`div`,Kt,[A(`span`,qt,C(i.$t(`components.training_editor.hint`)),1),H(Ae)?(w(),I(c,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:a[14]||=e=>k.value=!H(k)},{icon:S(()=>[N(u,{class:`w-4 h-4`})]),_:1})):B(``,!0)]),A(`span`,Jt,C(i.$t(`components.training_editor.hint_wrong`)),1)]),H(Ae)&&H(k)?(w(),j(`div`,Yt,[a[16]||=A(`span`,null,[A(`kbd`,null,`Tab`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_select`)),1),a[17]||=P(),a[18]||=A(`span`,null,[A(`kbd`,null,`←↑→↓`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_move`)),1),a[19]||=P(),a[20]||=A(`span`,null,[A(`kbd`,null,`Shift`),P(` + `),A(`kbd`,null,`←↑→↓`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_resize`)),1),a[21]||=P(),a[22]||=A(`span`,null,[A(`kbd`,null,`S`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_label`)),1),a[23]||=P(),a[24]||=A(`span`,null,[A(`kbd`,null,`Del`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_delete`)),1),a[25]||=P(),a[26]||=A(`span`,null,[A(`kbd`,null,`V`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_ghosts`)),1),a[27]||=P(),a[28]||=A(`span`,null,[A(`kbd`,null,`Shift`),P(` + `),A(`kbd`,null,`V`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_ghosts_all`)),1),a[29]||=P(),a[30]||=A(`span`,null,[A(`kbd`,null,`Esc`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_deselect`)),1),a[31]||=P(),a[32]||=A(`span`,null,[A(`kbd`,null,`Space`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_verify`)),1),a[33]||=P(),a[34]||=A(`span`,null,[A(`kbd`,null,`←`),P(` / `),A(`kbd`,null,`→`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_nav`)),1)])):B(``,!0),N(he,{ref_key:`labelMenuRef`,ref:h,items:H(at),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],512)}}}),[[`__scopeId`,`data-v-25538d2a`]]),un={class:`flex flex-col gap-3`},dn={key:0,class:`flex flex-col gap-2`},fn={key:1,class:`flex flex-col items-center gap-3 py-10`},pn={class:`text-muted text-sm text-center max-w-sm`},mn={key:2,class:`flex flex-col items-center gap-3 py-10`},hn={class:`text-muted text-sm text-center max-w-sm`},gn={class:`text-muted text-sm`},_n={class:`w-24 aspect-video rounded-lg overflow-hidden bg-black/5 dark:bg-black/30 shrink-0`},vn={class:`flex-1 min-w-0`},yn={class:`flex flex-wrap items-center gap-1`},bn={class:`text-xs text-muted mt-1`},xn={key:0,class:`flex justify-center py-2`},Sn=V({__name:`TrainingSubmissions`,setup(e){let r=new st,{t:a,te:o}=ee(),s=ae(),l=_t(),te=r.deleteSubmissionMutation(),ne=M(``),d=M([]),re=M(0),f=M(),p=M(!0),ie=M(!1),se=M(!1),ce=T(`loadMoreRef`);function m(e){let t={};for(let n of e.labels)t[n.label]=(t[n.label]??0)+1;return t}function h(e){let t=`components.training_editor.labels.${e}`;return o(t)?a(t):e}async function g(){p.value=d.value.length===0;try{let e=await it();d.value=e.items,re.value=e.total??e.items.length,f.value=e.nextCursor,se.value=!1}catch{se.value=!0}finally{p.value=!1}}async function _(){let e=f.value;if(e&&!ie.value){ie.value=!0;try{let t=await it({cursor:e}),n=new Set(d.value.map(e=>e.id));d.value.push(...t.items.filter(e=>!n.has(e.id))),f.value=t.nextCursor}catch(e){s.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{ie.value=!1}}}async function ue(e){ne.value=e;try{await te.mutateAsync(e),d.value=d.value.filter(t=>t.id!==e),re.value=Math.max(0,re.value-1)}catch(e){s.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{ne.value=``}}c(ce,([e])=>{e?.isIntersecting&&_()}),xe(()=>l.submitProgress.value?.active,(e,t)=>{t&&!e&&g()});let v=l.onResync(()=>{g()});return Te(()=>{v()}),g(),(e,r)=>{let a=i,o=Ue,s=u,c=le,l=Pe,ee=Be,ae=t,g=oe,_=n;return w(),j(`div`,un,[H(p)?(w(),j(`div`,dn,[(w(),j(R,null,D(4,e=>N(a,{key:e,height:`72px`,"border-radius":`12px`})),64))])):H(se)?(w(),j(`div`,fn,[N(o,{class:`w-10 h-10 text-muted`}),A(`span`,pn,C(e.$t(`components.training_submissions.load_failed`)),1)])):H(d).length?(w(),j(R,{key:3},[A(`span`,gn,C(e.$t(`components.training_submissions.count`,H(re))),1),(w(!0),j(R,null,D(H(d),t=>(w(),j(`div`,{key:t.id,class:`cui-card h-auto! shrink-0 p-2 flex items-center gap-3`},[A(`div`,_n,[N(c,{src:t.imageUrl,"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`])]),A(`div`,vn,[A(`div`,yn,[(w(!0),j(R,null,D(m(t),(e,t)=>(w(),j(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:O({backgroundColor:H(de)(String(t)).color})},C(h(String(t)))+` ×`+C(e),5))),128))]),A(`div`,bn,C(H(me)(new Date(t.createdAt).getTime())),1)]),N(l,{severity:t.usedInWave?`success`:`info`,value:t.usedInWave?e.$t(`components.training_submissions.status_trained`):e.$t(`components.training_submissions.status_pool`),class:`shrink-0`},null,8,[`severity`,`value`]),Ce((w(),I(ae,{severity:`danger`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,loading:H(te).isPending.value&&H(ne)===t.id,onClick:e=>ue(t.id)},{icon:S(()=>[N(ee,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[_,e.$t(`components.training_submissions.delete`),void 0,{left:!0}]])]))),128)),H(ie)?(w(),j(`div`,xn,[N(g,{class:`w-5 h-5 text-primary`})])):H(f)?(w(),j(`div`,{key:1,ref_key:`loadMoreRef`,ref:ce,class:`h-px`},null,512)):B(``,!0)],64)):(w(),j(`div`,mn,[N(s,{class:`w-10 h-10 text-muted`}),A(`span`,hn,C(e.$t(`components.training_submissions.empty`)),1)]))])}}}),Cn={desktop:{maxWidth:`720px`,width:`90vw`}},wn={class:`flex flex-col h-full min-h-0`},Tn={key:0,class:`page-title`},En={class:`font-semibold text-xl truncate`},Dn={class:`flex gap-2 mb-4`},$={key:1,class:`cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3`},On={class:`flex-1 min-w-0`},kn={class:`text-sm`},An={class:`flex-1 text-sm`},jn={key:2,class:`cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3`},Mn={class:`flex-1 text-sm`},Nn={class:`p-3`},Pn={key:1,class:`flex h-full flex-col items-center justify-center w-full gap-4 py-16`},Fn={class:`text-muted text-sm text-center max-w-md`},In={class:`relative flex-1 min-h-0 overflow-hidden bg-black/5 dark:bg-black/30`},Ln={class:`absolute top-1.5 left-1.5 flex flex-wrap gap-1`},Rn={key:0,class:`absolute bottom-1.5 left-1.5`},zn={key:1,class:`absolute top-1.5 right-1.5 dark-mode`},Bn={class:`flex items-center justify-between gap-2`},Vn={class:`flex items-center gap-2 min-w-0`},Hn={class:`min-w-0`},Un={class:`font-medium truncate`},Wn={class:`text-xs text-muted`},Gn=40,Kn=m(V({__name:`Training`,setup(o){let s=new re,l=new st,{t:u,te:f}=ee(),m=x(),g=ae(),{smBreakpoint:ue}=ce(),y=l.getCandidatesQuery(),pe=l.getSettingsQuery(),ge=l.patchCandidateMutation(),_e=l.deleteCandidateMutation(),ve=l.patchSettingsMutation(),ye=l.submitCandidatesMutation(),E=_t(),{data:be}=s.getCamerasQuery({page:1,pageSize:-1}),k=M(``),we=te(`cui-training-status-filter`,`all`),F=M(Gn),Ee=T(`statusMenuRef`),De=T(`cameraMenuRef`),Oe=T(`settingsMenuRef`),Ae=T(`loadMoreRef`),V=T(`scrollRef`),{y:Re}=ne(V),ze=z(()=>({gridTemplateColumns:`repeat(auto-fill, minmax(${ue.value?`220px`:`260px`}, 1fr))`})),qe=z(()=>{let e=[...new Set((y.data.value??[]).map(e=>Q(e.cameraId)))].sort((e,t)=>e.localeCompare(t));return[{key:`all`,label:u(`views.training.all_cameras`),active:k.value===``,onClick:()=>{k.value=``}},...e.map(e=>({key:e,label:e,active:k.value===e,onClick:()=>{k.value=e}}))]}),Je=z(()=>[{key:`collect`,label:u(`views.training.collection_enabled`),description:u(`views.training.collection_hint`),toggle:!0,toggleState:pe.data.value?.enabled??!0,onClick:()=>{Tt(!(pe.data.value?.enabled??!0))}}]),Xe=z(()=>{let e=k.value.trim().toLowerCase();return e?(y.data.value??[]).filter(t=>Q(t.cameraId).toLowerCase().includes(e)):y.data.value??[]}),W=z(()=>we.value===`all`?Xe.value:Xe.value.filter(e=>e.status===we.value)),Qe=z(()=>{let e={all:Xe.value.length,new:0,verified:0};for(let t of Xe.value)e[t.status]++;return e}),$e=z(()=>[`all`,`new`,`verified`].map(e=>({key:e,label:u(`views.training.status_${e}`),badge:String(Qe.value[e]),active:we.value===e,onClick:()=>{we.value=e}}))),tt=z(()=>we.value!==`all`||k.value.trim()!==``),nt=z(()=>W.value.slice(0,F.value)),rt=z(()=>W.value.length>nt.value.length),G=z(()=>(y.data.value??[]).filter(e=>at(e)).length),K=z(()=>E.submitProgress.value?E.submitProgress.value:G.value>0?{active:!0,total:G.value,done:0,failed:0}:null),it=z(()=>W.value.filter(e=>!at(e)));function at(e){return e.upload===`queued`||e.upload===`uploading`}let{selectionMode:q,selectedIds:ot,allSelected:ct,bulkBusy:J,enterSelectionMode:lt,exitSelectionMode:ut,toggleSelectAll:X,toggleSelection:dt}=ie(it,e=>e.id),ft=z(()=>[...ot.value].filter(e=>y.data.value?.find(t=>t.id===e)?.status===`verified`)),Z=z(()=>Xe.value.filter(e=>e.status===`verified`&&!at(e)).map(e=>e.id));function Q(e){return be.value?.result?.find(t=>t._id===e)?.name??e}function pt(e){return fe(`/api/training/candidates/${e}/image`)??``}function mt(e){let t=`components.training_editor.labels.${e}`;return f(t)?u(t):e}function ht(e){let t={};for(let n of e.boxes)t[n.label]=(t[n.label]??0)+1;return t}function gt(e){return e===`verified`?`success`:`info`}function vt(){F.value+=Gn}function yt(e){if(!at(e)){if(q.value){dt(e.id);return}bt(e)}}function bt(e){m.openComponentDialog(ln,{data:{title:u(`views.training.title`),cancelText:u(`components.form.button.remove`),confirmText:u(`components.training_editor.verify`),cancelButtonProps:{severity:`danger`},contentProps:{candidates:W.value.map(e=>({...e})),startId:e.id,cameraName:Q,imageUrl:pt,onSave:async(e,t,n)=>{await ge.mutateAsync({id:e,patch:{boxes:t,status:n}})},onDelete:async e=>{await _e.mutateAsync(e)}}},dialogSize:Y})}function xt(){m.openComponentDialog(Sn,{data:{title:u(`views.training.submissions`),hideConfirmButton:!0,cancelText:u(`components.form.button.close`),contentProps:{}},dialogSize:Cn})}function St(e){e.length&&!ye.isPending.value&&m.openTextDialog({data:{title:u(`components.dialog.title.confirm`),contentText:u(`views.training.submit_confirm`,{count:e.length}),confirmText:u(`views.training.submit`)},onConfirm:async()=>{try{await ye.mutateAsync(e),ut()}catch(e){g.add({severity:`error`,detail:e?.message??String(e),life:8e3})}}})}function Ct(){let e=[...ot.value];e.length&&!J.value&&m.openTextDialog({data:{title:u(`components.dialog.title.confirm`),contentText:u(`views.training.delete_selected_confirm`,{count:e.length}),confirmText:u(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{J.value=!0;try{for(let t of e)await _e.mutateAsync(t);ut(),g.add({severity:`success`,detail:u(`views.training.delete_selected_done`,{count:e.length}),life:5e3})}catch(e){g.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{J.value=!1}}})}async function wt(e){await _e.mutateAsync(e.id)}async function Tt(e){await ve.mutateAsync({enabled:e})}xe([k,we],()=>{F.value=Gn}),c(Ae,([e])=>{e?.isIntersecting&&vt()}),E.connect();let Et=E.onCandidatesChanged(()=>{y.refetch()});return Te(()=>{Et()}),(o,s)=>{let c=Ge,l=t,ee=p,te=He,ne=je,re=e,f=Me,ie=Ze,ae=Ne,ce=Le,m=Fe,g=Ye,fe=Ke,pe=oe,x=U,ge=Ue,_e=We,ve=Ie,T=Ve,be=i,xe=b,M=le,F=Pe,Te=Be,z=r,Qe=a,G=h,it=d,st=n;return w(),j(`div`,wn,[H(ue)?B(``,!0):(w(),j(`h1`,Tn,C(o.$t(`views.training.title`)),1)),N(ee,{position:`left`},{default:S(()=>[N(l,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:s[0]||=e=>o.$router.push(`/menu`)},{icon:S(()=>[N(c,{class:`w-6 h-6`})]),_:1})]),_:1}),N(ee,{position:`center`},{default:S(()=>[A(`span`,En,C(o.$t(`views.training.title`)),1)]),_:1}),A(`div`,Dn,[N(m,{class:`flex-1`},{default:S(()=>[N(f,{class:`flex-1`},{default:S(()=>[N(ne,null,{default:S(()=>[N(te,{class:`w-4 h-4`})]),_:1}),N(re,{modelValue:H(k),"onUpdate:modelValue":s[1]||=e=>ke(k)?k.value=e:null,placeholder:H(u)(`views.training.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),N(ae,null,{default:S(()=>[N(l,{severity:`secondary`,text:``,class:Se(H(we)===`all`?`text-color`:`text-primary`),onClick:s[2]||=e=>H(Ee)?.toggleMenu(e)},{icon:S(()=>[N(ie,{class:`w-4 h-4`})]),_:1},8,[`class`])]),_:1}),N(ae,null,{default:S(()=>[N(l,{severity:`secondary`,text:``,class:`text-color`,onClick:s[3]||=e=>H(De)?.toggleMenu(e)},{icon:S(()=>[N(ce,{class:Se([`w-4 h-4 transform transition-transform duration-300`,{"rotate-180":H(De)?.isOpen}])},null,8,[`class`])]),_:1})]),_:1})]),_:1}),Ce((w(),I(l,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:xt},{icon:S(()=>[N(g,{class:`w-4.5 h-4.5`})]),_:1})),[[st,{value:o.$t(`views.training.submissions`)},void 0,{left:!0}]]),Ce((w(),I(l,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:s[4]||=e=>H(Oe)?.toggleMenu(e)},{icon:S(()=>[N(fe,{class:`w-4.5 h-4.5`})]),_:1})),[[st,{value:o.$t(`views.training.collection`)},void 0,{left:!0}]])]),H(K)?(w(),j(`div`,$,[H(K).active?(w(),j(R,{key:0},[N(pe,{class:`w-4 h-4 text-primary shrink-0`}),A(`div`,On,[A(`div`,kn,C(o.$t(`views.training.upload_progress`,{done:H(K).done+H(K).failed,total:H(K).total})),1),N(x,{value:H(K).total?Math.round((H(K).done+H(K).failed)/H(K).total*100):0,"show-value":!1,style:{height:`6px`},class:`mt-1.5`},null,8,[`value`])])],64)):(w(),j(R,{key:1},[H(K).failed?(w(),I(ge,{key:0,class:`w-5 h-5 text-red-500 shrink-0`})):(w(),I(_e,{key:1,class:`w-5 h-5 text-green-500 shrink-0`})),A(`span`,An,[P(C(o.$t(`views.training.submit_done`,H(K).done)),1),H(K).failed?(w(),j(R,{key:0},[P(` · `+C(o.$t(`views.training.upload_failed_summary`,{count:H(K).failed})),1)],64)):B(``,!0)]),N(l,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:s[5]||=e=>H(E).dismissProgress()},{icon:S(()=>[N(ve,{class:`w-4 h-4`})]),_:1})],64))])):H(Xe).length&&!H(Z).length?(w(),j(`div`,jn,[N(T,{class:`w-5 h-5 text-primary shrink-0`}),A(`span`,Mn,C(o.$t(`views.training.verify_hint`)),1)])):B(``,!0),A(`div`,{ref_key:`scrollRef`,ref:V,class:`flex-1 min-h-0 overflow-y-auto overscroll-contain`},[H(y).isLoading.value&&!H(y).data.value?(w(),j(`div`,{key:0,class:`grid w-full gap-3 p-px`,style:O(H(ze))},[(w(),j(R,null,D(8,e=>A(`div`,{key:e,class:`cui-card overflow-hidden`},[N(be,{class:`aspect-video`,width:`100%`,height:`100%`}),A(`div`,Nn,[N(be,{height:`14px`,width:`70%`,class:`mb-1`}),N(be,{height:`12px`,width:`40%`})])])),64))],4)):H(W).length===0?(w(),j(`div`,Pn,[N(xe,{class:`w-12 h-12 text-muted`}),A(`span`,Fn,C(o.$t(H(tt)?`views.training.no_matches`:`views.training.no_candidates`)),1)])):(w(),j(R,{key:2},[A(`div`,{class:`grid w-full gap-3 p-px`,style:O(H(ze))},[(w(!0),j(R,null,D(H(nt),e=>(w(),I(Qe,{key:e.id,class:`cui-card cui-training-card overflow-hidden transition-shadow cursor-pointer hover:shadow-md aspect-[1.17] flex flex-col`,pt:{header:{class:`flex-1 min-h-0 flex`},body:{class:`shrink-0`,style:`height: auto`}},onClick:t=>yt(e)},{header:S(()=>[A(`div`,In,[N(M,{class:`absolute inset-0`,src:pt(e.id),alt:Q(e.cameraId),"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`,`alt`]),A(`div`,Ln,[(w(!0),j(R,null,D(ht(e),(e,t)=>(w(),j(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:O({backgroundColor:H(de)(String(t)).color})},C(mt(String(t)))+` ×`+C(e),5))),128))]),e.upload?(w(),j(`div`,Rn,[e.upload===`failed`?Ce((w(),I(F,{key:0,severity:`danger`,value:o.$t(`views.training.upload_failed`)},null,8,[`value`])),[[st,e.uploadError,void 0,{top:!0}]]):e.upload===`uploading`?(w(),I(F,{key:1,severity:`info`,value:o.$t(`views.training.upload_uploading`)},null,8,[`value`])):(w(),I(F,{key:2,severity:`secondary`,value:o.$t(`views.training.upload_queued`)},null,8,[`value`]))])):B(``,!0),!H(q)&&!at(e)?(w(),j(`div`,zn,[Ce((w(),I(l,{severity:`secondary`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:L(t=>wt(e),[`stop`])},{icon:S(()=>[N(Te,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[st,o.$t(`views.training.delete_candidate`),void 0,{top:!0}]])])):B(``,!0)])]),content:S(()=>[A(`div`,Bn,[A(`div`,Vn,[H(q)&&!at(e)?(w(),I(z,{key:0,"model-value":H(ot).has(e.id),binary:``,size:`small`,onClick:s[6]||=L(()=>{},[`stop`]),"onUpdate:modelValue":t=>H(dt)(e.id)},null,8,[`model-value`,`onUpdate:modelValue`])):B(``,!0),A(`div`,Hn,[A(`div`,Un,C(Q(e.cameraId)),1),A(`div`,Wn,C(H(me)(e.createdAt)),1)])]),N(F,{severity:gt(e.status),value:o.$t(`views.training.status_${e.status}`)},null,8,[`severity`,`value`])])]),_:2},1032,[`onClick`]))),128))],4),H(rt)?(w(),j(`div`,{key:0,ref_key:`loadMoreRef`,ref:Ae,class:`h-px`},null,512)):B(``,!0)],64))],512),H(W).length||H(q)?(w(),I(it,{key:3,"force-visible":H(q),"scroll-y":H(Re)},{default:S(()=>[H(q)?(w(),j(R,{key:1},[N(G,{grouped:``,"tooltip-props":{value:o.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:H(Ie),"icon-props":{width:`100%`,height:`100%`},onClick:H(ut)},null,8,[`tooltip-props`,`icon`,`onClick`]),N(G,{grouped:``,"tooltip-props":{value:H(ct)?o.$t(`views.training.deselect_all`):o.$t(`views.training.select_all`)},"button-props":{severity:H(ct)?`primary`:`secondary`},icon:H(v),"icon-props":{width:`100%`,height:`100%`},onClick:H(X)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),N(G,{grouped:``,"tooltip-props":{value:o.$t(`views.training.submit_selected`)},"button-props":{disabled:!H(ft).length||H(ye).isPending.value},icon:H(et),"icon-props":{width:`100%`,height:`100%`},onClick:s[8]||=e=>St(H(ft))},null,8,[`tooltip-props`,`button-props`,`icon`]),N(G,{grouped:``,"tooltip-props":{value:o.$t(`views.training.delete_selected`)},"button-props":{severity:`danger`,disabled:!H(ot).size||H(J)},icon:H(_),"icon-props":{width:`100%`,height:`100%`},onClick:Ct},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(w(),j(R,{key:0},[N(G,{grouped:``,"tooltip-props":{value:o.$t(`views.training.select`)},"button-props":{severity:`secondary`},icon:H(se),"icon-props":{width:`100%`,height:`100%`},onClick:H(lt)},null,8,[`tooltip-props`,`icon`,`onClick`]),N(G,{grouped:``,"tooltip-props":{value:H(Z).length?o.$t(`views.training.submit_ready`,H(Z).length):o.$t(`views.training.submit_disabled`)},"button-props":{class:`text-white`,disabled:!H(Z).length||H(ye).isPending.value},icon:H(et),"icon-props":{width:`26px`,height:`26px`},onClick:s[7]||=e=>St(H(Z))},null,8,[`tooltip-props`,`button-props`,`icon`])],64))]),_:1},8,[`force-visible`,`scroll-y`])):B(``,!0),N(he,{ref_key:`statusMenuRef`,ref:Ee,items:H($e),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),N(he,{ref_key:`cameraMenuRef`,ref:De,items:H(qe),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),N(he,{ref_key:`settingsMenuRef`,ref:Oe,items:H(Je),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-5b04f6ed`]]);export{Kn as default};
@@ -1 +1 @@
1
- .stage[data-v-9718b254]{height:clamp(240px,52vh,620px);container-type:size}.frame[data-v-9718b254]{width:min(100cqw, calc(100cqh * var(--ar-w) / var(--ar-h)));height:min(100cqh, calc(100cqw * var(--ar-h) / var(--ar-w)));transition:none!important}.zoom-constraining[data-v-9718b254]>*{transition:transform .15s ease-out!important}.zoom-minimap[data-v-9718b254]{z-index:5;pointer-events:none;background:#00000080;border:1px solid #ffffff4d;border-radius:4px;width:80px;position:absolute;bottom:10px;right:10px;overflow:hidden}.zoom-minimap-viewport[data-v-9718b254]{background:#ffffff1f;border:1.5px solid #ffffffb3;border-radius:2px;position:absolute}.loupe[data-v-9718b254]{z-index:6;pointer-events:none;background-color:#000;background-repeat:no-repeat;border:2px solid #fffc;border-radius:50%;width:110px;height:110px;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000080}.loupe-content[data-v-9718b254]{transform-origin:0 0;position:absolute;top:0;left:0}.loupe-crosshair[data-v-9718b254]{position:absolute;inset:0}kbd[data-v-9718b254]{border:1px solid var(--border-color);border-radius:5px;padding:1px 6px;font-family:monospace;font-size:12px}.loupe-crosshair[data-v-9718b254]:before,.loupe-crosshair[data-v-9718b254]:after{content:"";background:#ffffffd9;position:absolute}.loupe-crosshair[data-v-9718b254]:before{width:1.5px;height:18px;top:calc(50% - 9px);left:50%;transform:translate(-50%)}.loupe-crosshair[data-v-9718b254]:after{width:18px;height:1.5px;top:50%;left:calc(50% - 9px);transform:translateY(-50%)}.bbox-label[data-v-9718b254]{color:#fff;white-space:nowrap;border-radius:6px 6px 6px 0;align-items:center;gap:4px;max-width:100%;padding:3px 7px;font-size:12px;font-weight:700;display:flex;position:absolute;transform:translateY(-100%)}.bbox-label.label-bottom[data-v-9718b254]{border-radius:0 6px 6px;transform:translateY(0)}.bbox-label.label-right[data-v-9718b254]{border-radius:6px 0 0 6px;flex-direction:row-reverse}.bbox-label.label-inside[data-v-9718b254]{border-radius:6px;transform:translateY(0)}.ghost-chip[data-v-9718b254]{color:#fff;cursor:pointer;background:#0009;border:1.5px dashed;border-radius:6px;align-items:center;gap:2px;padding:2px 5px;display:flex;position:absolute;transform:translate(-100%,-100%)}.ghost-chip[data-v-9718b254]:hover{background:#000000d9}.bbox-label-icon[data-v-9718b254]{flex-shrink:0;width:14px;height:14px}.bbox-label-text[data-v-9718b254]{text-overflow:ellipsis;min-width:0;overflow:hidden}.bbox-label-confidence[data-v-9718b254]{opacity:.9}.cui-training-card[data-v-5b04f6ed] :is(.p-tag-success,.p-tag-info,.p-tag-danger){background-color:var(--card-background)}.cui-training-card[data-v-5b04f6ed] .p-tag-success{background-image:linear-gradient(var(--p-tag-success-background), var(--p-tag-success-background))}.cui-training-card[data-v-5b04f6ed] .p-tag-info{background-image:linear-gradient(var(--p-tag-info-background), var(--p-tag-info-background))}.cui-training-card[data-v-5b04f6ed] .p-tag-danger{background-image:linear-gradient(var(--p-tag-danger-background), var(--p-tag-danger-background))}
1
+ .stage[data-v-25538d2a]{height:clamp(240px,52vh,620px);container-type:size}.frame[data-v-25538d2a]{width:min(100cqw, calc(100cqh * var(--ar-w) / var(--ar-h)));height:min(100cqh, calc(100cqw * var(--ar-h) / var(--ar-w)));transition:none!important}.zoom-constraining[data-v-25538d2a]>*{transition:transform .15s ease-out!important}.zoom-minimap[data-v-25538d2a]{z-index:5;pointer-events:none;background:#00000080;border:1px solid #ffffff4d;border-radius:4px;width:80px;position:absolute;bottom:10px;right:10px;overflow:hidden}.zoom-minimap-viewport[data-v-25538d2a]{background:#ffffff1f;border:1.5px solid #ffffffb3;border-radius:2px;position:absolute}.loupe[data-v-25538d2a]{z-index:6;pointer-events:none;background-color:#000;background-repeat:no-repeat;border:2px solid #fffc;border-radius:50%;width:110px;height:110px;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000080}.loupe-content[data-v-25538d2a]{transform-origin:0 0;position:absolute;top:0;left:0}.loupe-crosshair[data-v-25538d2a]{position:absolute;inset:0}kbd[data-v-25538d2a]{border:1px solid var(--border-color);border-radius:5px;padding:1px 6px;font-family:monospace;font-size:12px}.loupe-crosshair[data-v-25538d2a]:before,.loupe-crosshair[data-v-25538d2a]:after{content:"";background:#ffffffd9;position:absolute}.loupe-crosshair[data-v-25538d2a]:before{width:1.5px;height:18px;top:calc(50% - 9px);left:50%;transform:translate(-50%)}.loupe-crosshair[data-v-25538d2a]:after{width:18px;height:1.5px;top:50%;left:calc(50% - 9px);transform:translateY(-50%)}.bbox-label[data-v-25538d2a]{color:#fff;white-space:nowrap;border-radius:6px 6px 6px 0;align-items:center;gap:4px;max-width:100%;padding:3px 7px;font-size:12px;font-weight:700;display:flex;position:absolute;transform:translateY(-100%)}.bbox-label.label-bottom[data-v-25538d2a]{border-radius:0 6px 6px;transform:translateY(0)}.bbox-label.label-right[data-v-25538d2a]{border-radius:6px 0 0 6px;flex-direction:row-reverse}.bbox-label.label-inside[data-v-25538d2a]{border-radius:6px;transform:translateY(0)}.ghost-chip[data-v-25538d2a]{color:#fff;cursor:pointer;background:#0009;border:1.5px dashed;border-radius:6px;align-items:center;gap:2px;padding:2px 5px;display:flex;position:absolute;transform:translate(-100%,-100%)}.ghost-chip[data-v-25538d2a]:hover{background:#000000d9}.bbox-label-icon[data-v-25538d2a]{flex-shrink:0;width:14px;height:14px}.bbox-label-text[data-v-25538d2a]{text-overflow:ellipsis;min-width:0;overflow:hidden}.bbox-label-confidence[data-v-25538d2a]{opacity:.9}.cui-training-card[data-v-5b04f6ed] :is(.p-tag-success,.p-tag-info,.p-tag-danger){background-color:var(--card-background)}.cui-training-card[data-v-5b04f6ed] .p-tag-success{background-image:linear-gradient(var(--p-tag-success-background), var(--p-tag-success-background))}.cui-training-card[data-v-5b04f6ed] .p-tag-info{background-image:linear-gradient(var(--p-tag-info-background), var(--p-tag-info-background))}.cui-training-card[data-v-5b04f6ed] .p-tag-danger{background-image:linear-gradient(var(--p-tag-danger-background), var(--p-tag-danger-background))}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiMarkdownContent-DTAm-EDR.js","./CuiMarkdownContent-BYBQX_aF.js","./vendor-gFkr2qsZ.js","./rolldown-runtime-C0FnF6B9.js","./vendor-markdown-qHIinIUE.js","./vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
2
+ import{Ht as e,Jt as t,Vt as n,Z as r,sr as i}from"./vendor-cameraui-B28aGJJD.js";import{H as a,Ln as o,ct as s,st as c}from"./api-DOpXVpef.js";import{$n as l,Cr as u,Ht as d,In as f,Pn as p,Rn as m,br as ee,cn as h,dn as g,dr as _,er as v,gn as y,hn as b,ln as x,rn as S,sn as C,sr as w,un as T,vn as E,yr as D}from"./vendor-gFkr2qsZ.js";import{p as O}from"./vendor-core-DIa0tPNH.js";import{B as k}from"./vendor-primevue-CZKUAkMA.js";import{o as A}from"./server-Dw5DD473.js";import{t as te}from"./check-circle-Bevuw8-0.js";import{t as ne}from"./alert-circle-BdUVAt1B.js";import{t as j}from"./refresh-CHTA3jVN.js";import{t as re}from"./check-circle-outline-aMxkvksr.js";import{c as M}from"./plugins-BJPCV1YL.js";import{t as N}from"./information-outline-CMWIvLNB.js";import{t as P}from"./back-filled-D-X19YMO.js";import{t as F}from"./updates-C2LhMkNR.js";var I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return f(),g(`svg`,I,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M5 3c-1.11 0-2 .89-2 2v14c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2zm0 2h14v14H5zm2 2v2h10V7zm0 4v2h10v-2zm0 4v2h7v-2z`},null,-1)]])}var R=w({name:`mdi-text-box-outline`,render:L}),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return f(),g(`svg`,z,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M13 18v-8l3.5 3.5l1.42-1.42L12 6.16l-5.92 5.92L7.5 13.5L11 10v8zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2`},null,-1)]])}var ie=w({name:`mdi-arrow-up-circle`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return f(),g(`svg`,V,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M13 18h-2v-8l-3.5 3.5l-1.42-1.42L12 6.16l5.92 5.92l-1.42 1.42L13 10zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8a8 8 0 0 0 8 8a8 8 0 0 0 8-8a8 8 0 0 0-8-8`},null,-1)]])}var ae=w({name:`mdi-arrow-up-circle-outline`,render:H}),U={class:`flex flex-col`},W={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},G={key:0,class:`flex items-center justify-center py-10`},K={key:2,class:`text-sm text-muted`},q=E({__name:`UpdateChangelog`,props:{kind:{},name:{},version:{}},setup(e){let t=s(()=>d(()=>import(`./CuiMarkdownContent-DTAm-EDR.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),r=e,i=_(``),a=_(!0);return p(async()=>{let e=new AbortController;try{r.kind===`plugin`?i.value=await M({pluginName:r.name,query:r.version?{pluginversion:r.version}:void 0,signal:e.signal}):i.value=await A({version:r.version??`latest`,signal:e.signal})}catch{i.value=``}finally{a.value=!1}}),(e,r)=>{let o=n;return f(),g(`div`,U,[h(`h3`,W,u(e.$t(`components.form.label.changelog`)),1),D(a)?(f(),g(`div`,G,[y(o,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):D(i)?(f(),x(D(t),{key:1,content:D(i)},null,8,[`content`])):(f(),g(`span`,K,u(e.$t(`views.updates.no_changelog`)),1))])}}}),J={key:0,class:`flex items-center justify-between`},oe={class:`page-title`},Y={key:1,class:`w-full flex items-center justify-center py-16`},se={key:2,class:`flex flex-col gap-6`},ce={key:0,class:`flex items-center gap-4`},le={class:`flex flex-col field-switch-gap min-w-0 flex-1`},ue={class:`text-sm font-bold text-color`},de={key:1,class:`flex items-center gap-4`},fe={class:`flex flex-col field-switch-gap min-w-0 flex-1`},pe={class:`text-sm font-bold text-color`},me={key:2,class:`flex flex-wrap items-center gap-4`},he={class:`flex flex-col field-switch-gap min-w-0 flex-1`},ge={class:`text-sm font-bold text-color`},_e={class:`card-title`},ve={class:`flex flex-col`},ye={class:`flex flex-col field-switch-gap min-w-0 flex-1`},be={class:`text-sm font-bold text-color truncate`},xe={key:0,class:`text-xs text-muted truncate`},X=E({__name:`Updates`,setup(s){let{t:d}=i(),_=c(),{smBreakpoint:w}=o(),E=F(),{status:A,runActive:M,cancelRequested:I,isChecking:L,checkedAt:z,runTotal:B,runDone:V,pendingCount:H,updatingItem:U,restartingItem:W,serverBusy:G,busy:K,allUpToDate:X,serverPending:Z}=O(E),Se=C(()=>[{kind:`server`,title:d(`views.updates.section_server`)},{kind:`plugin`,title:d(`views.updates.section_plugins`)},{kind:`worker`,title:d(`views.updates.section_workers`)}].map(e=>({...e,items:E.itemsOf(e.kind)})).filter(e=>e.items.length>0)),Q=C(()=>new Date(z.value).toLocaleTimeString());function Ce(e){return e.blockedReason===`legacy`?d(`views.updates.blocked_legacy`):d(`views.updates.blocked_desktop`)}function we(e){_.openComponentDialog(q,{data:{title:e.name,confirmText:d(`components.form.button.update`),contentProps:{kind:e.kind,name:e.packageName??e.name,version:e.latestVersion}},onConfirm:()=>E.updateItem(e.id)})}return p(()=>{E.connect()}),(i,o)=>{let s=j,c=e,d=P,p=a,_=n,C=k,O=re,F=ae,z=r,q=te,Te=ne,Ee=N,De=ie,Oe=R,$=t;return f(),g(`div`,null,[D(w)?T(``,!0):(f(),g(`div`,J,[h(`h1`,oe,u(i.$t(`views.updates.title`)),1),v((f(),x(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,loading:D(L),disabled:D(K),onClick:o[0]||=e=>D(E).refresh()},{icon:l(()=>[y(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])),[[$,{value:i.$t(`views.updates.check_now`)},void 0,{bottom:!0}]])])),y(p,{position:`left`},{default:l(()=>[y(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:o[1]||=e=>i.$router.push(`/menu`)},{icon:l(()=>[y(d,{class:`w-6 h-6`})]),_:1})]),_:1}),y(p,{position:`right`},{default:l(()=>[y(c,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,loading:D(L),disabled:D(K),onClick:o[2]||=e=>D(E).refresh()},{icon:l(()=>[y(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])]),_:1}),D(A)?(f(),g(`div`,se,[y(z,{class:`cui-card`},{content:l(()=>[D(M)?(f(),g(`div`,ce,[y(_,{class:`w-[26px] h-[26px] m-0 shrink-0`,"stroke-width":`5`}),h(`div`,le,[h(`span`,ue,u(D(U)?i.$t(`views.updates.run_updating`,{name:D(U).name}):D(W)?i.$t(`connection.restarting`):i.$t(`views.updates.run_preparing`)),1),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[b(u(i.$t(`views.updates.run_progress`,{done:D(V),total:D(B)}))+` `,1),D(Z)?(f(),g(S,{key:0},[b(` · `+u(i.$t(`views.updates.run_server_last`)),1)],64)):T(``,!0)]),_:1})]),y(c,{severity:`secondary`,class:`cui-button-medium shrink-0`,disabled:D(I),label:D(I)?i.$t(`views.updates.cancelling`):i.$t(`components.form.button.cancel`),onClick:o[3]||=e=>D(E).cancelRun()},null,8,[`disabled`,`label`])])):D(X)?(f(),g(`div`,de,[y(O,{class:`w-7 h-7 shrink-0 text-success`}),h(`div`,fe,[h(`span`,pe,u(i.$t(`views.updates.all_up_to_date`)),1),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[b(u(i.$t(`views.updates.checked_at`,{time:D(Q)})),1)]),_:1})])])):(f(),g(`div`,me,[y(F,{class:`w-7 h-7 shrink-0 text-primary`}),h(`div`,he,[h(`span`,ge,u(i.$t(`views.updates.pending_count`,{count:D(H)})),1),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[b(u(D(Z)?i.$t(`views.updates.summary_server_hint`):i.$t(`views.updates.checked_at`,{time:D(Q)})),1)]),_:1})]),y(c,{class:`cui-button-medium shrink-0 ml-auto`,disabled:D(K),label:i.$t(`views.updates.update_all`),onClick:o[4]||=e=>D(E).updateAll()},null,8,[`disabled`,`label`])]))]),_:1}),(f(!0),g(S,null,m(D(Se),e=>(f(),g(`div`,{key:e.kind},[h(`span`,_e,u(e.title),1),y(z,{class:`cui-card`},{content:l(()=>[h(`div`,ve,[(f(!0),g(S,null,m(e.items,(e,t)=>(f(),g(`div`,{key:e.id,class:ee([`flex items-center gap-4 py-3`,{"border-t border-surface":t>0}])},[e.status===`updating`||e.status===`restarting`?(f(),x(_,{key:0,class:`w-[22px] h-[22px] m-0 shrink-0`,"stroke-width":`5`})):e.status===`success`||e.status===`uptodate`?(f(),x(q,{key:1,class:`w-[22px] h-[22px] shrink-0 text-success`})):e.status===`error`?(f(),x(Te,{key:2,class:`w-[22px] h-[22px] shrink-0 text-red-500`})):e.status===`blocked`?(f(),x(Ee,{key:3,class:`w-[22px] h-[22px] shrink-0 text-muted`})):(f(),x(De,{key:4,class:`w-[22px] h-[22px] shrink-0 text-primary`})),h(`div`,ye,[h(`span`,be,u(e.name),1),e.packageName?(f(),g(`span`,xe,u(e.packageName),1)):T(``,!0),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:l(()=>[e.status===`error`?(f(),g(S,{key:0},[b(u(e.error),1)],64)):e.status===`restarting`?(f(),g(S,{key:1},[b(u(i.$t(`connection.restarting`)),1)],64)):e.status===`blocked`?(f(),g(S,{key:2},[b(u(Ce(e)),1)],64)):e.status===`uptodate`?(f(),g(S,{key:3},[b(`v`+u(e.installedVersion)+` · `+u(i.$t(`views.updates.up_to_date`)),1)],64)):e.status===`success`?(f(),g(S,{key:4},[b(u(i.$t(`views.updates.updated_to`,{version:e.latestVersion})),1)],64)):(f(),g(S,{key:5},[b(`v`+u(e.installedVersion)+` → v`+u(e.latestVersion),1)],64))]),_:2},1024)]),e.status===`pending`||e.status===`error`?(f(),g(S,{key:5},[v((f(),x(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:t=>we(e)},{icon:l(()=>[y(Oe,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`components.form.label.changelog`)},void 0,{top:!0}]]),y(c,{severity:`secondary`,outlined:``,class:`cui-button-medium shrink-0`,disabled:e.kind===`server`?D(K):D(M)||D(G),label:e.status===`error`?i.$t(`views.updates.retry`):i.$t(`components.form.button.update`),onClick:t=>D(E).updateItem(e.id)},null,8,[`disabled`,`label`,`onClick`])],64)):T(``,!0)],2))),128))])]),_:2},1024)]))),128))])):(f(),g(`div`,Y,[y(_,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{X as default};
@@ -1 +1 @@
1
- import{$n as e,Cr as t,In as n,cn as r,dr as i,ln as a,vn as o,yr as s}from"./vendor-gFkr2qsZ.js";import{T as c}from"./vendor-primevue-Cmp3VjIC.js";import{i as l}from"./flowSchema-YJtAu9gB.js";var u={class:`flex items-center justify-between gap-3 w-full min-w-0`},d={class:`truncate`},f={class:`text-[10px] text-muted font-mono shrink-0`},p=o({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(o,{emit:p}){let m=o,h=p,{options:g}=l(()=>m.nodeId),_=i([]),v=i(``);function y(e){let t=e.query.toLowerCase();v.value=e.query,t?_.value=g.value.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):_.value=[...g.value]}function b(e){let t=m.modelValue??``;v.value&&t.toLowerCase().endsWith(v.value.toLowerCase())&&(t=t.slice(0,t.length-v.value.length)),h(`update:modelValue`,t+e.value.value)}function x(e){typeof e==`string`&&h(`update:modelValue`,e)}return(i,l)=>{let p=c;return n(),a(p,{"model-value":o.modelValue,suggestions:s(_),"option-label":`label`,placeholder:o.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:e(({option:e})=>[r(`div`,u,[r(`span`,d,t(e.label),1),r(`span`,f,t(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
1
+ import{$n as e,Cr as t,In as n,cn as r,dr as i,ln as a,vn as o,yr as s}from"./vendor-gFkr2qsZ.js";import{T as c}from"./vendor-primevue-CZKUAkMA.js";import{i as l}from"./flowSchema-BPq6iHks.js";var u={class:`flex items-center justify-between gap-3 w-full min-w-0`},d={class:`truncate`},f={class:`text-[10px] text-muted font-mono shrink-0`},p=o({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(o,{emit:p}){let m=o,h=p,{options:g}=l(()=>m.nodeId),_=i([]),v=i(``);function y(e){let t=e.query.toLowerCase();v.value=e.query,t?_.value=g.value.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):_.value=[...g.value]}function b(e){let t=m.modelValue??``;v.value&&t.toLowerCase().endsWith(v.value.toLowerCase())&&(t=t.slice(0,t.length-v.value.length)),h(`update:modelValue`,t+e.value.value)}function x(e){typeof e==`string`&&h(`update:modelValue`,e)}return(i,l)=>{let p=c;return n(),a(p,{"model-value":o.modelValue,suggestions:s(_),"option-label":`label`,placeholder:o.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:e(({option:e})=>[r(`div`,u,[r(`span`,d,t(e.label),1),r(`span`,f,t(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
@@ -1 +1 @@
1
- import{Ur as e}from"./vendor-cameraui-CK4yHsJi.js";import{$n as t,In as n,Rn as r,cn as i,dn as a,ln as o,rn as s,un as c,vn as l,yr as u}from"./vendor-gFkr2qsZ.js";import{E as d,c as f}from"./vendor-primevue-Cmp3VjIC.js";var p={class:`flex flex-wrap gap-1`},m=l({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(l){let{t:m}=e();return(e,h)=>{let g=d,_=f;return l.variables.length?(n(),o(_,{key:0,header:u(m)(`components.automation_nodes.available_variables`),toggleable:``,collapsed:``,pt:{root:{class:`border-0`},header:{class:`py-1.5 px-0 text-xs`},content:{class:`px-0 py-2`},headerActions:{class:`flex`}},"toggle-button-props":{class:`w-4 h-4 p-0`,text:!0,rounded:!0,severity:`secondary`}},{default:t(()=>[i(`div`,p,[(n(!0),a(s,null,r(l.variables,t=>(n(),o(g,{key:t.value,label:t.label,class:`text-[10px] cursor-pointer hover:bg-primary/10 active:bg-primary/20`,onClick:n=>e.$emit(`select`,t.value)},null,8,[`label`,`onClick`]))),128))])]),_:1},8,[`header`])):c(``,!0)}}});export{m as t};
1
+ import{sr as e}from"./vendor-cameraui-B28aGJJD.js";import{$n as t,In as n,Rn as r,cn as i,dn as a,ln as o,rn as s,un as c,vn as l,yr as u}from"./vendor-gFkr2qsZ.js";import{E as d,c as f}from"./vendor-primevue-CZKUAkMA.js";var p={class:`flex flex-wrap gap-1`},m=l({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(l){let{t:m}=e();return(e,h)=>{let g=d,_=f;return l.variables.length?(n(),o(_,{key:0,header:u(m)(`components.automation_nodes.available_variables`),toggleable:``,collapsed:``,pt:{root:{class:`border-0`},header:{class:`py-1.5 px-0 text-xs`},content:{class:`px-0 py-2`},headerActions:{class:`flex`}},"toggle-button-props":{class:`w-4 h-4 p-0`,text:!0,rounded:!0,severity:`secondary`}},{default:t(()=>[i(`div`,p,[(n(!0),a(s,null,r(l.variables,t=>(n(),o(g,{key:t.value,label:t.label,class:`text-[10px] cursor-pointer hover:bg-primary/10 active:bg-primary/20`,onClick:n=>e.$emit(`select`,t.value)},null,8,[`label`,`onClick`]))),128))])]),_:1},8,[`header`])):c(``,!0)}}});export{m as t};
@@ -1,4 +1,4 @@
1
- import{Bt as e,Ur as t}from"./vendor-cameraui-CK4yHsJi.js";import{Ar as n,Ln as r}from"./api-C9mnOxie.js";import{Cn as i,Cr as a,Fn as o,In as s,Jn as c,Pn as l,Rn as ee,Xn as u,Z as te,_r as ne,cn as d,dn as f,dr as p,gn as m,hn as re,or as h,rn as ie,sn as g,t as ae,un as _,vn as v,yr as y}from"./vendor-gFkr2qsZ.js";import{u as oe}from"./vendor-core-B-Q4es-f.js";import{M as se,q as ce}from"./vendor-primevue-Cmp3VjIC.js";import{t as le}from"./server-bhW2Mw4D.js";import{n as ue}from"./useServerRestart-CQN4cdHJ.js";import{t as de}from"./alert-circle-BdUVAt1B.js";import{t as fe}from"./CuiMarkdownContent-BYBQX_aF.js";import{t as pe}from"./plugins-BTOdE_zv.js";import{t as me}from"./CuiConsole-BGptpT6r.js";import{t as he}from"./useLogsSocket-bpOiLgWT.js";import{t as ge}from"./platformLabels-D-cF6OTP.js";import{t as _e}from"./config-DDaCrMSU.js";import{t as ve}from"./useUpdateChannel-Ca1RX32u.js";function b(e){return`id`in e&&!(`type`in e)}function x(e){return`type`in e}var ye={key:0},be={key:0,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},xe={class:`flex flex-col gap-1 min-w-0`},Se={class:`text-sm font-semibold text-orange-400`},Ce={key:0},we={class:`text-xs text-orange-600 dark:text-orange-300`},Te={class:`text-sm text-orange-400`},Ee={key:1},De={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Oe={key:2},ke={class:`text-muted`},Ae={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},je={class:`flex flex-col gap-1 min-w-0`},Me={class:`text-sm font-semibold text-orange-400`},Ne={class:`text-xs text-orange-600 dark:text-orange-300`},Pe={key:3},Fe={class:`cui-label`},Ie={key:4,class:`w-full h-full relative`},Le={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Re=`2.0.0`,S=v({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(v,{expose:S}){let C=new pe,w=new le,ze=new _e,Be=te(),T=v,E=n(),{t:D}=t(),O=oe(),{mdBreakpoint:k}=r(),{beginServerRestart:Ve}=ue(),{isBeta:He}=ve(),A=i(`dialogRef`),j=i(`dialogRefProps`),{target:M,installVersion:N}=ne(T),P=p();C.toggleQueryActivator(`getPluginVersionsQuery`,!1),C.toggleQueryActivator(`getPluginChangelogQuery`,!1),C.toggleQueryActivator(`getPluginCompatQuery`,!1),w.toggleQueryActivator(`checkVersionQuery`,!1),w.toggleQueryActivator(`getServerChangelogQuery`,!1);let Ue=g(()=>b(M.value)?M.value.pluginName:`server`),F=g(()=>T.action===`uninstall`&&b(M.value)),I=he({target:Ue.value,onStdout:e=>V.value?.writeTerminal(e),onDisconnect:()=>V.value?.writeTerminal(`
1
+ import{Vt as e,sr as t}from"./vendor-cameraui-B28aGJJD.js";import{Ir as n,Ln as r}from"./api-DOpXVpef.js";import{Cn as i,Cr as a,Fn as o,In as s,Jn as c,Pn as l,Rn as ee,Xn as u,Z as te,_r as ne,cn as d,dn as f,dr as p,gn as m,hn as re,or as h,rn as ie,sn as g,t as ae,un as _,vn as v,yr as y}from"./vendor-gFkr2qsZ.js";import{u as oe}from"./vendor-core-DIa0tPNH.js";import{M as se,q as ce}from"./vendor-primevue-CZKUAkMA.js";import{t as le}from"./server-Dw5DD473.js";import{n as ue}from"./useServerRestart-bScBLJ9r.js";import{t as de}from"./alert-circle-BdUVAt1B.js";import{t as fe}from"./CuiMarkdownContent-BYBQX_aF.js";import{t as pe}from"./plugins-BJPCV1YL.js";import{t as me}from"./CuiConsole-DYV-FUE0.js";import{t as he}from"./useLogsSocket-C3Y8S0Ar.js";import{t as ge}from"./platformLabels-D-cF6OTP.js";import{t as _e}from"./config-BQxEwrK6.js";import{t as ve}from"./useUpdateChannel-g0h_4c55.js";function b(e){return`id`in e&&!(`type`in e)}function x(e){return`type`in e}var ye={key:0},be={key:0,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},xe={class:`flex flex-col gap-1 min-w-0`},Se={class:`text-sm font-semibold text-orange-400`},Ce={key:0},we={class:`text-xs text-orange-600 dark:text-orange-300`},Te={class:`text-sm text-orange-400`},Ee={key:1},De={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Oe={key:2},ke={class:`text-muted`},Ae={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},je={class:`flex flex-col gap-1 min-w-0`},Me={class:`text-sm font-semibold text-orange-400`},Ne={class:`text-xs text-orange-600 dark:text-orange-300`},Pe={key:3},Fe={class:`cui-label`},Ie={key:4,class:`w-full h-full relative`},Le={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Re=`2.0.0`,S=v({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(v,{expose:S}){let C=new pe,w=new le,ze=new _e,Be=te(),T=v,E=n(),{t:D}=t(),O=oe(),{mdBreakpoint:k}=r(),{beginServerRestart:Ve}=ue(),{isBeta:He}=ve(),A=i(`dialogRef`),j=i(`dialogRefProps`),{target:M,installVersion:N}=ne(T),P=p();C.toggleQueryActivator(`getPluginVersionsQuery`,!1),C.toggleQueryActivator(`getPluginChangelogQuery`,!1),C.toggleQueryActivator(`getPluginCompatQuery`,!1),w.toggleQueryActivator(`checkVersionQuery`,!1),w.toggleQueryActivator(`getServerChangelogQuery`,!1);let Ue=g(()=>b(M.value)?M.value.pluginName:`server`),F=g(()=>T.action===`uninstall`&&b(M.value)),I=he({target:Ue.value,onStdout:e=>V.value?.writeTerminal(e),onDisconnect:()=>V.value?.writeTerminal(`
2
2
  \rWebsocket failed to connect! Is the server running?\r
3
3
  \r
4
4
  `),onClearLog:()=>V.value?.clearTerminal(),onReconnected:()=>{V.value?.writeTerminal(`\r
@@ -1 +1 @@
1
- import{B as e,Ur as t}from"./vendor-cameraui-CK4yHsJi.js";import{Ar as n}from"./api-C9mnOxie.js";import{$n as r,C as i,Cr as a,Dn as o,In as s,Jn as c,S as l,Xt as u,cn as d,dr as f,gn as p,ln as m,or as h,sn as g,vn as _,x as v,yr as y}from"./vendor-gFkr2qsZ.js";import{T as b,x}from"./types-BcAxmlqC.js";import{M as S}from"./vendor-primevue-Cmp3VjIC.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=_({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(_,{expose:T}){let E=_,{t:D}=t(),O=n(),k=x.omit({cameraId:!0}),A=c(`formRef`),j=f(b[0]),M=f(``),N=g(()=>b.map(e=>({label:D(`components.camera_options.sensor_type_${e}`),value:e})));return T({onConfirm:async()=>(await A.value?.validate())?.valid?{cameraId:E.cameraId,type:j.value,name:M.value.trim()}:(O.add({severity:`error`,detail:D(`components.toast.validation_failed`),life:3e3}),null)}),(t,n)=>{let c=S,f=e;return s(),m(y(i),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":y(k)},{default:r(()=>[p(y(l),{"model-value":y(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:r(({errors:e})=>[d(`label`,C,a(t.$t(`components.form.label.type`)),1),p(c,{id:`virtualSensorType`,"model-value":y(j),options:y(N),"option-label":`label`,"option-value":`value`,invalid:e.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),p(u,{name:`fade`},{default:r(()=>[p(y(v),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),p(y(l),{modelValue:y(M),"onUpdate:modelValue":n[1]||=e=>h(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:r(({field:e,errors:n})=>[d(`label`,w,a(t.$t(`components.form.label.name`)),1),p(f,o({id:`virtualSensorName`},e,{invalid:n.length>0,class:`w-full`,placeholder:t.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),p(u,{name:`fade`},{default:r(()=>[p(y(v),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
1
+ import{B as e,sr as t}from"./vendor-cameraui-B28aGJJD.js";import{Ir as n}from"./api-DOpXVpef.js";import{$n as r,C as i,Cr as a,Dn as o,In as s,Jn as c,S as l,Xt as u,cn as d,dr as f,gn as p,ln as m,or as h,sn as g,vn as _,x as v,yr as y}from"./vendor-gFkr2qsZ.js";import{T as b,x}from"./types-i1kTodPP.js";import{M as S}from"./vendor-primevue-CZKUAkMA.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=_({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(_,{expose:T}){let E=_,{t:D}=t(),O=n(),k=x.omit({cameraId:!0}),A=c(`formRef`),j=f(b[0]),M=f(``),N=g(()=>b.map(e=>({label:D(`components.camera_options.sensor_type_${e}`),value:e})));return T({onConfirm:async()=>(await A.value?.validate())?.valid?{cameraId:E.cameraId,type:j.value,name:M.value.trim()}:(O.add({severity:`error`,detail:D(`components.toast.validation_failed`),life:3e3}),null)}),(t,n)=>{let c=S,f=e;return s(),m(y(i),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":y(k)},{default:r(()=>[p(y(l),{"model-value":y(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:r(({errors:e})=>[d(`label`,C,a(t.$t(`components.form.label.type`)),1),p(c,{id:`virtualSensorType`,"model-value":y(j),options:y(N),"option-label":`label`,"option-value":`value`,invalid:e.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),p(u,{name:`fade`},{default:r(()=>[p(y(v),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),p(y(l),{modelValue:y(M),"onUpdate:modelValue":n[1]||=e=>h(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:r(({field:e,errors:n})=>[d(`label`,w,a(t.$t(`components.form.label.name`)),1),p(f,o({id:`virtualSensorName`},e,{invalid:n.length>0,class:`w-full`,placeholder:t.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),p(u,{name:`fade`},{default:r(()=>[p(y(v),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
@@ -0,0 +1,2 @@
1
+ import{B as e,Ht as t,Vt as n,Z as r,sr as i}from"./vendor-cameraui-B28aGJJD.js";import{Ft as a,H as o,Ir as s,Ln as c,Nn as ee,R as l,Tr as u,dr as te,gt as ne,ht as d,i as f,mr as re,st as p}from"./api-DOpXVpef.js";import{$n as m,An as ie,Cr as h,Fn as g,In as _,On as v,Xn as y,cn as b,dn as x,dr as S,gn as C,hn as w,ln as T,lr as E,nr as D,or as O,rn as ae,sn as k,un as A,vn as j,yr as M}from"./vendor-gFkr2qsZ.js";import{B as oe,C as se,M as ce,R as le,q as ue,v as de,z as fe}from"./vendor-primevue-CZKUAkMA.js";import{t as pe}from"./api-CzwdnGAH.js";import{t as me}from"./pencil-outline-CIQL5Kui.js";import{t as he}from"./plugins-BJPCV1YL.js";import{t as ge}from"./CuiDataTable-C0gsYYpg.js";import{t as _e}from"./back-filled-D-X19YMO.js";import{r as ve,t as ye}from"./CuiChartTable-v8sGY6PD.js";import{n as be,t as xe}from"./updates-C2LhMkNR.js";var N={class:`flex flex-col gap-2 w-full`},P={for:`workerName`,class:`cui-label`},Se=j({__name:`RenameWorker`,props:{currentName:{}},setup(t,{expose:n}){let r=S(t.currentName);return n({onConfirm:async()=>r.value.trim()||null}),(t,n)=>{let i=e;return _(),x(`div`,N,[b(`label`,P,h(t.$t(`views.workers.name`)),1),C(i,{id:`workerName`,modelValue:M(r),"onUpdate:modelValue":n[0]||=e=>O(r)?r.value=e:null,class:`w-full`,autofocus:``},null,8,[`modelValue`])])}}}),F=E({workers:[],workerHistory:{}}),I=null,L=null;function Ce(e){let t=F.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...F.workers];n[t]=e,F.workers=n}else F.workers=[...F.workers,e];let n=F.workerHistory[e.agentId]??[];F.workerHistory={...F.workerHistory,[e.agentId]:[...n,e].slice(-30)}}async function we(){if(L?.ready.value)try{F.workers=await L.request(`get-workers`)}catch{}}async function Te(){if(L?.ready.value)try{F.workerHistory=await L.request(`get-worker-history`)}catch{}}async function R(){await Promise.all([we(),Te()])}function Ee(){return L||(I=D(!0),I.run(()=>{let e=u(`/workers`);L=e,e.on(`worker-update`,e=>Ce(e)),e.on(`worker-removed`,({agentId:e})=>{F.workers=F.workers.filter(t=>t.agentId!==e);let t={...F.workerHistory};delete t[e],F.workerHistory=t}),e.onReady(()=>{R()})}),L)}function De(){function e(){Ee()}function t(){}return{isConnected:k(()=>L?.connected.value??!1),workers:k(()=>F.workers),workerHistory:k(()=>F.workerHistory),connect:e,disconnect:t,loadAll:R}}var Oe={key:0,class:`page-title`},ke={key:1,class:`w-full h-full flex items-center justify-center`},Ae={key:2,class:`flex flex-col w-full gap-6`},je={class:`card-title`},Me={class:`flex flex-col gap-6`},Ne={class:`flex items-center gap-4`},Pe={class:`flex flex-col field-switch-gap`},Fe={class:`cui-label-switch`},Ie={class:`flex flex-col field-gap`},Le={for:`master-address`,class:`cui-label`},Re={class:`flex flex-col field-gap`},ze={for:`leaf-port`,class:`cui-label`},Be={class:`flex flex-row items-end justify-end`},Ve={key:0},He={class:`card-title`},Ue={class:`flex flex-col items-center justify-center gap-4 py-6`},We={class:`text-muted text-sm`},Ge={key:1},Ke={class:`card-title`},qe={class:`text-sm block mb-6`},Je={class:`text-muted text-sm`},Ye={class:`font-bold text-color text-sm`},Xe={key:2},Ze={class:`card-title`},Qe={class:`text-sm block mb-6`},$e={class:`text-muted text-sm`},et={class:`flex flex-col`},tt={class:`font-bold text-color text-sm`},nt={key:0,class:`text-muted text-xs`},rt={key:3},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`text-sm`},st={class:`flex flex-col field-gap`},ct={class:`cui-label`},lt={class:`flex flex-col field-gap`},ut={class:`flex flex-row items-center justify-between`},dt={class:`cui-label`},ft={class:`pairing-snippet`},pt={class:`flex flex-row items-end justify-end`},mt=ee(j({__name:`Workers`,setup(ee){let{t:u}=i(),{smBreakpoint:E}=c(),D=p(),j=xe(),N=s(),P=De(),{workers:F,workerHistory:I,isConnected:L}=P,Ce=new pe,we=new a,Te=new he,R=new be,{data:Ee,isLoading:mt}=we.getCamerasQuery(S({page:1,pageSize:999})),{data:ht,isLoading:gt}=Te.getPluginsQuery(S({page:1,pageSize:999})),{data:z}=R.getConfigQuery(),{mutateAsync:_t,isPending:vt}=R.patchConfigQuery(),{mutateAsync:yt}=R.assignCameraQuery(),{mutateAsync:bt}=R.unassignCameraQuery(),{mutateAsync:xt}=R.restartWorkerQuery(),{mutateAsync:St}=R.updateWorkerQuery(),{mutateAsync:Ct,isPending:wt}=R.createPairingQuery(),{mutateAsync:Tt}=R.removeWorkerQuery(),{mutateAsync:Et}=R.assignPluginQuery(),{mutateAsync:Dt}=R.unassignPluginQuery(),{mutateAsync:Ot}=R.renameWorkerQuery(),{data:kt}=Ce.apiInfoQuery(),At={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},jt=S(!1),B=S([]),V=S([]),H=S([]),U=S(new Set),W=S(new Set),G=S(null),K=S(``),q=S(7422),Mt=!1,J=new Map,Nt=k(()=>Ee.value?.result??[]),Pt=k(()=>ht.value?.result??[]),Y=k(()=>z.value?.enabled??!1),Ft=k(()=>(z.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),X=k(()=>q.value!==(z.value?.port??7422)),It=k(()=>K.value!==(z.value?.address??``)||X.value),Lt=k(()=>new Set(F.value.map(e=>e.agentId))),Z=k(()=>j.targetServerVersion??kt.value?.version),Rt=k(()=>G.value?Math.max(0,Math.round((G.value.expiresAt-Date.now())/6e4)):0),zt=k(()=>G.value?[`worker:`,` master: ${G.value.address||`<MASTER_IP>`}`,` apiPort: ${G.value.apiPort}`,` pairingCode: ${G.value.code}`,` name: my-worker`,` capabilities:`,` - frameDecoding`,` - pluginHost`].join(`
2
+ `):``),Bt=k(()=>[{type:`indicator`,field:`status`,columnProps:{headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(e){return e.online?e.versionMismatch?`orange`:`green`:`red`},tooltip(e){return e.online?e.update?.error?u(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?u(`views.workers.updating`):e.versionMismatch?u(`views.workers.version_mismatch`,{version:e.version||`?`}):u(`views.workers.online`):u(`views.workers.offline`)}},{type:`category`,field:`name`,name:u(`views.workers.name`),columnProps:{headerClass:`w-40 min-w-40 max-w-40`,class:`w-40 min-w-40 max-w-40`},props:{class:`font-bold text-color`}},{type:`category`,field:e=>e.version?e.versionMismatch&&Z.value?`v${e.version} → v${Z.value}`:`v${e.version}`:`—`,name:u(`views.workers.version`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`category`,field:e=>e.platform?`${e.platform.os}/${e.platform.arch}`:`—`,name:u(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:u(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:u(`views.workers.cpu`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`cpu_chart`,for:`cpuLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`category`,field:e=>e.memLoad===void 0?`—`:`${e.memLoad}%`,name:u(`views.workers.memory`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`memory_chart`,for:`memLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`action`,field:`actions`,columnProps:{class:`text-right`},buttons:[{icon:me,buttonProps:{severity:`secondary`},tooltip:()=>u(`views.workers.rename_worker`),action:e=>Ht(e)},{icon:te,buttonProps:{severity:`secondary`},loading:e=>e.update?.updating||H.value.includes(e.agentId),disabled:e=>!e.online||!e.versionMismatch||!e.update?.updatable,tooltip:e=>Ut(e),action:e=>Wt(e.agentId)},{icon:ve,buttonProps:{severity:`secondary`},loading:e=>B.value.includes(e.name),disabled:e=>!e.online,tooltip:()=>u(`views.workers.restart_worker`),action:e=>Gt(e.name,e.agentId)},{icon:l,buttonProps:{severity:`danger`},loading:e=>V.value.includes(e.agentId),tooltip:()=>u(`views.workers.remove_worker`),action:e=>rn(e)}]}]),Vt=k(()=>{let e=I.value;return F.value.reduce((t,n)=>{for(let r of[`cpuLoad`,`memLoad`]){let i=e[n.agentId]??[],a=i.slice(-30).filter(e=>e[r]!==void 0).map(e=>parseFloat(e[r])),o=i.slice(-30).map(e=>e.lastHeartbeat),s=[...a,...Array(30-a.length).fill(0)],c=[...o,...Array(30-o.length).fill(null)];t[`${n.name}_${r}`]={labels:c,datasets:[{data:s,backgroundColor:e=>{let t=e.raw;return t>=90?`#FA5252`:t>=50?`#FF9966`:`#df2a4c`},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}return t},{})});function Ht(e){D.openComponentDialog(Se,{data:{title:u(`views.workers.rename_worker`),confirmText:u(`views.workers.save`),contentProps:{currentName:e.name}},onConfirm:async t=>{t&&t!==e.name&&await Ot({agentId:e.agentId,name:t})}})}function Ut(e){return e.update?.updating?u(`views.workers.updating`):Z.value?u(`views.workers.update_worker`,{version:Z.value}):u(`views.workers.update_worker_short`)}async function Wt(e){J.delete(e),H.value.push(e);try{await St({agentId:e})}finally{H.value=H.value.filter(t=>t!==e)}}async function Gt(e,t){B.value.push(e);try{await xt(t)}finally{B.value=B.value.filter(t=>t!==e)}}function Kt(){let e=[];for(let t of F.value){let n=t.online?t.name:`${t.name} (${u(`views.workers.offline`).toLowerCase()})`;e.push({label:n,value:t.agentId})}return e}function Q(e){return e&&Lt.value.has(e)?e:null}function qt(e,t){if(!e?.length)return!0;let n=e.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1)),r=e.filter(e=>!e.startsWith(`!`));return n.includes(t)?!1:r.length===0||r.includes(t)}function Jt(e,t){return!t.platform||qt(e.os,t.platform.os)&&qt(e.cpu,t.platform.arch)}function Yt(e){let t=[];return e.os?.length&&t.push(`os: ${e.os.join(`, `)}`),e.cpu?.length&&t.push(`cpu: ${e.cpu.join(`, `)}`),t.join(` · `)}function Xt(e){let t=[];for(let n of F.value){let r=Jt(e,n),i=n.online?``:` (${u(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${u(`views.workers.incompatible`)}`;t.push({label:`${n.name}${i}${a}`,value:n.agentId,disabled:!r})}return t}function Zt(e){return W.value.has(e)}async function Qt(e,t){if(t===Q(e.workerAgentId))return;let n=new Set(W.value);n.add(e.pluginName),W.value=n;try{t?await Et({pluginName:e.pluginName,agentId:t}):await Dt({pluginName:e.pluginName})}catch{}finally{let t=new Set(W.value);t.delete(e.pluginName),W.value=t}}function $(e){return U.value.has(e)}async function $t(e,t){if(t===Q(e.workerAgentId))return;let n=new Set(U.value);n.add(e._id),U.value=n;try{t?await yt({cameraId:e._id,agentId:t}):await bt({cameraId:e._id})}catch{}finally{let t=new Set(U.value);t.delete(e._id),U.value=t}}async function en(){try{G.value=await Ct()}catch{}}async function tn(e){if(e&&!K.value&&(K.value=z.value?.suggestedAddresses?.[0]??``,!K.value)){D.openTextDialog({data:{title:u(`views.workers.enable_workers`),contentText:u(`views.workers.address_required`),confirmText:u(`views.workers.ok`)}});return}try{await _t(e?{enabled:!0,address:K.value,port:q.value}:{enabled:!1})}catch{}}async function nn(){try{await _t({address:K.value,port:q.value})}catch{}}function rn(e){D.openTextDialog({data:{title:u(`views.workers.remove_worker`),confirmText:u(`views.workers.remove`),contentText:u(`views.workers.remove_worker_confirm`,{name:e.name}),confirmButtonProps:{severity:`danger`}},dialogSize:{desktop:{width:`auto`,maxWidth:`560px`,maxHeight:`90vh`}},onConfirm:async()=>{V.value.push(e.agentId);try{await Tt(e.agentId)}finally{V.value=V.value.filter(t=>t!==e.agentId)}}})}return ie(async()=>{P.connect(),j.connect(),await v(),P.loadAll(),jt.value=!0}),y(z,e=>{e&&(K.value=e.address,q.value=e.port)},{immediate:!0}),y(F,e=>{if(!Mt){if(!e.length)return;for(let t of e)t.update?.error&&J.set(t.agentId,t.update.error);Mt=!0;return}for(let t of e){if(t.update?.updating){J.delete(t.agentId);continue}let e=t.update?.error;if(!e){J.delete(t.agentId);continue}J.get(t.agentId)!==e&&(J.set(t.agentId,e),N.add({severity:`error`,summary:t.name,detail:u(`views.workers.update_failed`,{error:e}),life:6e3}))}}),g(()=>{P.disconnect()}),(i,a)=>{let s=_e,c=t,ee=o,l=n,u=oe,te=ue,p=ce,ie=de,g=r,v=ye,y=re,S=se,D=ge,k=e,j=ne,pe=le,me=fe;return _(),x(`div`,null,[M(E)?A(``,!0):(_(),x(`h1`,Oe,h(i.$t(`views.workers.title`)),1)),C(ee,{position:`left`},{default:m(()=>[C(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>i.$router.push(`/menu`)},{icon:m(()=>[C(s,{class:`w-6 h-6`})]),_:1})]),_:1}),!M(jt)||!M(L)?(_(),x(`div`,ke,[C(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(_(),x(`div`,Ae,[b(`div`,null,[b(`span`,je,h(i.$t(`views.workers.configuration`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`div`,Me,[b(`div`,Ne,[b(`div`,Pe,[b(`label`,Fe,h(i.$t(`views.workers.enable_workers`)),1),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[w(h(i.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),C(te,{"model-value":M(Y),disabled:M(vt),class:`ml-auto shrink-0`,"onUpdate:modelValue":tn},null,8,[`model-value`,`disabled`])]),M(Y)?(_(),x(ae,{key:0},[b(`div`,Ie,[b(`label`,Le,h(i.$t(`views.workers.master_address`)),1),C(p,{modelValue:M(K),"onUpdate:modelValue":a[1]||=e=>O(K)?K.value=e:null,"input-id":`master-address`,options:M(Ft),editable:``,"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(i.$t(`views.workers.master_address_hint`)),1)]),_:1})]),b(`div`,Re,[b(`label`,ze,h(i.$t(`views.workers.leaf_port`)),1),C(ie,{modelValue:M(q),"onUpdate:modelValue":a[2]||=e=>O(q)?q.value=e:null,"input-id":`leaf-port`,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),M(X)&&(M(z)?.pairedWorkers??0)>0?(_(),T(u,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(i.$t(`views.workers.port_change_warning`)),1)]),_:1})):A(``,!0)]),b(`div`,Be,[C(c,{class:`cui-button-medium`,label:i.$t(`views.workers.save`),loading:M(vt),disabled:!M(It),onClick:nn},null,8,[`label`,`loading`,`disabled`])])],64)):A(``,!0)])]),_:1})]),M(Y)?(_(),x(`div`,Ve,[b(`span`,He,h(i.$t(`views.workers.workers`)),1),M(F).length?(_(),T(v,{key:0,items:M(F),headers:M(Bt),"chart-data":M(Vt)},null,8,[`items`,`headers`,`chart-data`])):(_(),T(g,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:m(()=>[b(`div`,Ue,[C(y,{class:`w-12 h-12 text-muted`}),b(`span`,We,h(i.$t(`views.workers.no_workers`)),1)])]),_:1}))])):A(``,!0),M(Y)&&M(F).length?(_(),x(`div`,Ge,[b(`span`,Ke,h(i.$t(`views.workers.camera_assignments`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`span`,qe,h(i.$t(`views.workers.camera_assignments_description`)),1),C(D,{value:M(Nt),loading:M(mt),pt:At,"striped-rows":``,class:`w-full`},{loading:m(()=>[C(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[b(`span`,Je,h(i.$t(`views.workers.no_cameras`)),1)]),default:m(()=>[C(S,{field:`name`,header:i.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:m(({data:e})=>[b(`span`,Ye,h(e.name),1)]),_:1},8,[`header`]),C(S,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:m(({data:e})=>[C(p,{"model-value":Q(e.workerAgentId),options:Kt(),"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>$t(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):A(``,!0),M(Y)&&M(F).length?(_(),x(`div`,Xe,[b(`span`,Ze,h(i.$t(`views.workers.plugin_assignments`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`span`,Qe,h(i.$t(`views.workers.plugin_assignments_description`)),1),C(D,{value:M(Pt),loading:M(gt),pt:At,"striped-rows":``,class:`w-full`},{loading:m(()=>[C(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[b(`span`,$e,h(i.$t(`views.workers.no_plugins`)),1)]),default:m(()=>[C(S,{field:`displayName`,header:i.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:m(({data:e})=>[b(`div`,et,[b(`span`,tt,h(e.displayName),1),Yt(e)?(_(),x(`span`,nt,h(Yt(e)),1)):A(``,!0)])]),_:1},8,[`header`]),C(S,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:m(({data:e})=>[C(p,{"model-value":Q(e.workerAgentId),options:Xt(e),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Zt(e.pluginName),disabled:Zt(e.pluginName),"onUpdate:modelValue":t=>Qt(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):A(``,!0),M(Y)?(_(),x(`div`,rt,[b(`span`,it,h(i.$t(`views.workers.pair_worker`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`div`,at,[b(`span`,ot,h(i.$t(`views.workers.pair_worker_description`)),1),M(G)?(_(),x(ae,{key:0},[b(`div`,st,[b(`label`,ct,h(i.$t(`views.workers.pairing_code`)),1),C(me,null,{default:m(()=>[C(k,{"model-value":M(G).code,readonly:``,type:`text`},null,8,[`model-value`]),C(pe,null,{default:m(()=>[C(j,{"action-text":i.$t(`views.workers.copied`),icon:M(d),"button-props":{severity:`secondary`,text:!0},onAction:a[3]||=e=>M(f)(M(G).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(i.$t(`views.workers.pairing_expires`,{minutes:M(Rt)})),1)]),_:1})]),b(`div`,lt,[b(`div`,ut,[b(`label`,dt,h(i.$t(`views.workers.pairing_snippet`)),1),C(j,{"action-text":i.$t(`views.workers.copied`),icon:M(d),"button-props":{severity:`secondary`,text:!0},onAction:a[4]||=e=>M(f)(M(zt))},null,8,[`action-text`,`icon`])]),b(`pre`,ft,h(M(zt)),1),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(i.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):A(``,!0),b(`div`,pt,[C(c,{class:`cui-button-medium`,label:i.$t(`views.workers.generate_code`),loading:M(wt),onClick:en},null,8,[`label`,`loading`])])])]),_:1})])):A(``,!0)]))])}}}),[[`__scopeId`,`data-v-11df8752`]]);export{mt as default};