@camera.ui/server 2.0.24 → 2.1.1
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.
- package/dist/interface/assets/{404-CRIhzt2J.js → 404-BLohRivq.js} +1 -1
- package/dist/interface/assets/{About-CvY4xvAU.js → About-CY0n3OBB.js} +1 -1
- package/dist/interface/assets/Adminpanel-C11HOLZO.js +1 -0
- package/dist/interface/assets/Automation-DOefiaJj.js +3 -0
- package/dist/interface/assets/{AutomationImport-RNgRv6Uc.js → AutomationImport-DCqF_Kg7.js} +2 -2
- package/dist/interface/assets/{AutomationStore-D8plMzVI.js → AutomationStore-Cm9mbUVu.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-BO-9XCRn.js → AutomationStoreDetail-C-4llF7V.js} +2 -2
- package/dist/interface/assets/Automations-BwlGOItY.js +2 -0
- package/dist/interface/assets/Camera-D_DY9F_D.js +2 -0
- package/dist/interface/assets/{CameraConsole-BnKiGukm.js → CameraConsole-BYwWyoKF.js} +2 -2
- package/dist/interface/assets/{Cameras-BuHNAHpD.js → Cameras-CghEdt7m.js} +2 -2
- package/dist/interface/assets/Camview-CienqE_s.js +1 -0
- package/dist/interface/assets/{Camview-Cj10uxGy.css → Camview-mLCaY0ld.css} +1 -1
- package/dist/interface/assets/Config-DI8pFgr0.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-C2qva2mT.js → ConfigActionCameraControl-D3lpO_-w.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-C02w0yBx.js → ConfigActionDelay-Cv1q6noO.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-DVf26mYG.js → ConfigActionHttp-D8NUgGZ1.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-BTlFV7kK.js → ConfigActionImageInput-DBRsJW_A.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-CD9RW5Lq.js → ConfigActionMqtt-B86fFcxQ.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-CjbIPrEb.js → ConfigActionNotification-BxauFTos.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-BCdKNvgC.js → ConfigActionNotificationControl-O2D9WWpM.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-wV9RFDQO.js → ConfigActionOutput-C0ib9PLZ.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-DijuNALK.js → ConfigActionPlugin-BjcHk149.js} +1 -1
- package/dist/interface/assets/ConfigActionSensor-0tYVSASv.js +1 -0
- package/dist/interface/assets/{ConfigActionSnapshot-B79IJLFV.js → ConfigActionSnapshot-BOqdP-It.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Do94c7oi.js → ConfigActionVariable-Dq7YjPoV.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-BtbZhnCM.js → ConfigConditionIfElse-CT2cuUYH.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-D1V_FhNU.js → ConfigConditionSensorState-BfUvxUEF.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-C74dDt3R.js → ConfigConditionSwitch-0G3BqEQj.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-5IrJQgAV.js → ConfigConditionTime-Pbl2smdz.js} +1 -1
- package/dist/interface/assets/ConfigSensorValueInput-CuTrBHsT.js +1 -0
- package/dist/interface/assets/ConfigTriggerDetection-CiE3Vjp2.js +1 -0
- package/dist/interface/assets/ConfigTriggerGeofence-CPn3drQV.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-t-J-HbqF.js → ConfigTriggerManual-xBaOnpVY.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-i57J8-Nq.js → ConfigTriggerMqtt-LJkIASv5.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-Dv7wIG3G.js → ConfigTriggerSchedule-BD3Wph3i.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-Ba2lCSGc.js → ConfigTriggerSensor-CJWLgK9h.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-BWs3rP_W.js → ConfigTriggerSystem-BUKBqK_H.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-CpQakeYG.js → ConfigTriggerWebhook-DTfV1By5.js} +1 -1
- package/dist/interface/assets/Console-BCTb_cA5.js +1 -0
- package/dist/interface/assets/CuiAutomationRunsDialog-BR7NAzJ4.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-DIg-nl0p.js → CuiBottomSheet-DoljrPAH.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-bbdtyXf2.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-q3yeptLd.js → CuiCameraPipCard-Dgq8lF_V.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-DtwHYkGE.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-BggG5Ic_.js → CuiCameraShares-MAey7ufK.js} +1 -1
- package/dist/interface/assets/CuiCameraTable-B4WVkliT.js +2 -0
- package/dist/interface/assets/CuiDataTable-BGleWv6B.css +1 -0
- package/dist/interface/assets/CuiDataTable-BmGMKsJm.js +1 -0
- package/dist/interface/assets/CuiLightControl-jUzSwiWP.js +1 -0
- package/dist/interface/assets/CuiPluginCard-DAmNhiUu.js +2 -0
- package/dist/interface/assets/{CuiPluginCard-C9zsmIaC.css → CuiPluginCard-D_6UFFZW.css} +1 -1
- package/dist/interface/assets/{CuiPluginCategoryChip-DsEuwQrw.js → CuiPluginCategoryChip-DSPwTxQi.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-Bbwly_xJ.js → CuiPluginOAuthButton-BCcvYrt8.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-BC6F9f-3.js → CuiPluginTrustBadge-D6p-Cs5H.js} +1 -1
- package/dist/interface/assets/CuiQRCode-Dll6D9H0.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-CBcFHQrq.js +1 -0
- package/dist/interface/assets/CuiSchema-cCkrONzF.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-BZawroJz.js → CuiTopNavbarItem-Dj1lpqE0.js} +1 -1
- package/dist/interface/assets/Faces-C-99fN6H.js +1 -0
- package/dist/interface/assets/{FirstSteps-Dg0Bvjs2.js → FirstSteps-BTcTmqRf.js} +1 -1
- package/dist/interface/assets/Instances-Czb39Tkc.js +1 -0
- package/dist/interface/assets/{Logs-DSSDjAY-.js → Logs-Cxug_P1Y.js} +2 -2
- package/dist/interface/assets/Menu-DVPNefJA.js +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-CKTokRaq.js → OAuthDeviceFlow-CxdoPgV9.js} +1 -1
- package/dist/interface/assets/Plugin-BoBgPYYY.js +1 -0
- package/dist/interface/assets/{PluginConsole-CcRMneFa.js → PluginConsole-Cb0aYqXf.js} +1 -1
- package/dist/interface/assets/PluginDetail-BUKn2x1R.js +2 -0
- package/dist/interface/assets/{PluginSchema-CP0JWUSD.js → PluginSchema-Czc6k-Yu.js} +1 -1
- package/dist/interface/assets/PluginSearch-CL0-IZD0.js +1 -0
- package/dist/interface/assets/{PluginSearch-Bbp8D7BJ.css → PluginSearch-CLjLT9JT.css} +1 -1
- package/dist/interface/assets/PluginSearch-RgI-CCYF.js +2 -0
- package/dist/interface/assets/Plugins-BihIbjoN.js +1 -0
- package/dist/interface/assets/Recordings-BMIf2FlS.js +1 -0
- package/dist/interface/assets/SensorEdit-BNQC_Typ.js +1 -0
- package/dist/interface/assets/{SensorHistory-BeCbNWJh.js → SensorHistory-CFLrj259.js} +1 -1
- package/dist/interface/assets/Sensors-DfE07b1Q.css +1 -0
- package/dist/interface/assets/Sensors-Dpwy5UT3.js +2 -0
- package/dist/interface/assets/Settings-BTWXZyrk.js +1 -0
- package/dist/interface/assets/SettingsAccount-3DkQ3Lxj.js +1 -0
- package/dist/interface/assets/SettingsAccount-DwVO8fq2.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CFAwBkaK.js +1 -0
- package/dist/interface/assets/SettingsAppearance-xKZ26BqD.js +1 -0
- package/dist/interface/assets/SettingsBackup-BSyrNc3Z.js +1 -0
- package/dist/interface/assets/SettingsList-C077meHM.js +1 -0
- package/dist/interface/assets/{SettingsMqtt-DoYFVHoD.js → SettingsMqtt-BReb2PWO.js} +1 -1
- package/dist/interface/assets/SettingsNotifications-zfpvJfMb.js +2 -0
- package/dist/interface/assets/{SettingsPermissions-D33G-1kM.js → SettingsPermissions-CIv5OeZF.js} +1 -1
- package/dist/interface/assets/SettingsRecordings-dSPQF-by.js +1 -0
- package/dist/interface/assets/SettingsRemote-D0ZJX5wf.js +1 -0
- package/dist/interface/assets/SettingsSystem-BLEcpC-p.js +2 -0
- package/dist/interface/assets/{SettingsUsers-2uMPOpyC.js → SettingsUsers-BQQqlcRJ.js} +1 -1
- package/dist/interface/assets/Terminal-I3uC-c7V.js +4 -0
- package/dist/interface/assets/{VariableInput-Cx9tgiM4.js → VariableInput-Be7j2nen.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-DV_QjTtU.js → VariableSuggestions-Dr5nstx8.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-v4hH23M_.js → VersionsHandler-Cb2CN1L7.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-DhuGE1Mf.js → VirtualSensorCreate-CA_F6RPb.js} +1 -1
- package/dist/interface/assets/{Workers-CzAz4N2_.css → Workers-7hKMBU4w.css} +1 -1
- package/dist/interface/assets/Workers-CTqGBl_F.js +2 -0
- package/dist/interface/assets/api-B3KZZ8rN.js +2 -0
- package/dist/interface/assets/api-BMM5CP59.css +2 -0
- package/dist/interface/assets/{api-BKU9IS3U.js → api-BWixZaOV.js} +1 -1
- package/dist/interface/assets/{auth-B4latCDR.js → auth-D-G85zNQ.js} +1 -1
- package/dist/interface/assets/{automations-BFkAMu3Y.js → automations-CDnI6oDm.js} +1 -1
- package/dist/interface/assets/{cameras.schema-BtaT3B32.js → cameras.schema-B6NhSVdK.js} +1 -1
- package/dist/interface/assets/chevron-right-DKkuIAth.js +1 -0
- package/dist/interface/assets/cloudHandoff-DOVTmlDw.js +1 -0
- package/dist/interface/assets/{config-B_lj3Myj.js → config-CuTS8b79.js} +1 -1
- package/dist/interface/assets/deployed-code-update-CHr3gyW9.js +1 -0
- package/dist/interface/assets/{flowSchema-CyZseAPD.js → flowSchema-CTDMgLvN.js} +1 -1
- package/dist/interface/assets/main-DRmCcFpa.js +3 -0
- package/dist/interface/assets/{mqtt-CFw_CCq8.js → mqtt-DaqGTQzc.js} +1 -1
- package/dist/interface/assets/{notifications-0_glcRlR.js → notifications-Dit0-wMf.js} +1 -1
- package/dist/interface/assets/{plugins-ICpmsguj.js → plugins-cZz4VMT0.js} +1 -1
- package/dist/interface/assets/round-restart-alt-BZXAnyzF.js +1 -0
- package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +1 -0
- package/dist/interface/assets/sensors-D6TLuqrM.js +1 -0
- package/dist/interface/assets/{server-DbpDC3pc.js → server-CKNXGRUG.js} +1 -1
- package/dist/interface/assets/{theme-DlMdsvGC.js → theme-DlzhloFW.js} +1 -1
- package/dist/interface/assets/types-BDNk1b9h.js +1 -0
- package/dist/interface/assets/{types-CggzoTPX.js → types-DaO4wazK.js} +1 -1
- package/dist/interface/assets/{useAppVersion-CCxZnwIP.js → useAppVersion-C9RbfMSY.js} +1 -1
- package/dist/interface/assets/useBackupRestore-CXFWCOQy.js +1 -0
- package/dist/interface/assets/{useCameraOptions-DVlhUpbE.js → useCameraOptions-Baxr6kPX.js} +1 -1
- package/dist/interface/assets/{useElectron-KnqvZz0q.js → useElectron-_5uSFUvf.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-CUQwZ6wm.js → useLogsSocket-B6JGfF3p.js} +2 -2
- package/dist/interface/assets/{usePermissions-C3D3JcPH.js → usePermissions-qSwLp41H.js} +1 -1
- package/dist/interface/assets/{useServerRestart-CqZRPCpR.js → useServerRestart-D8lCTOtI.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-CVJFHRLZ.js → useStreamStatus-Dpu6Hkfi.js} +1 -1
- package/dist/interface/assets/{useUserOptions-drl3-JUC.js → useUserOptions-CBRlNL95.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-Cgb5z6NJ.js → vendor-cameraui-D2u3KrB1.js} +313 -27
- package/dist/interface/assets/vendor-core-BXi0Qi10.js +1 -0
- package/dist/interface/assets/{vendor-primevue-CyD8V_Ft.js → vendor-primevue-Bchwc-Ab.js} +85 -371
- package/dist/interface/index.html +23 -22
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +6 -6
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +3 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +3 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +14 -28
- package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -10
- package/dist/server/src/api/controllers/cameras.controller.js +0 -99
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.js +30 -4
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
- package/dist/server/src/api/controllers/workers.controller.js +9 -0
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +0 -1
- package/dist/server/src/api/database/index.js +1 -1
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/record-schemas.js +1 -1
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +0 -1
- package/dist/server/src/api/index.js +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +1 -42
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/workers.routes.js +11 -0
- package/dist/server/src/api/routes/workers.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -18
- package/dist/server/src/api/schemas/cameras.schema.js +4 -11
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +1 -0
- package/dist/server/src/api/services/cameras.service.js +23 -0
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.d.ts +1 -0
- package/dist/server/src/api/services/plugins.service.js +18 -0
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/sensors.service.d.ts +1 -0
- package/dist/server/src/api/services/sensors.service.js +1 -0
- package/dist/server/src/api/services/sensors.service.js.map +1 -1
- package/dist/server/src/api/services/server.service.d.ts +2 -0
- package/dist/server/src/api/services/server.service.js +16 -2
- package/dist/server/src/api/services/server.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +33 -15
- package/dist/server/src/api/websocket/nsp/events.js +0 -3
- package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
- package/dist/server/src/camera/controller.d.ts +0 -3
- package/dist/server/src/camera/controller.js +0 -18
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +61 -7
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-pipeline.d.ts +16 -1
- package/dist/server/src/camera/decoder/detection-pipeline.js +92 -14
- package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
- package/dist/server/src/camera/decoder/frame-scaler.d.ts +20 -0
- package/dist/server/src/camera/decoder/frame-scaler.js +74 -10
- package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
- package/dist/server/src/camera/decoder/secondary-stage.js +17 -14
- package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.js +2 -2
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/camera/sensors/controller.d.ts +1 -10
- package/dist/server/src/camera/sensors/controller.js +8 -59
- package/dist/server/src/camera/sensors/controller.js.map +1 -1
- package/dist/server/src/main.js +2 -97
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/types.d.ts +1 -0
- package/dist/server/src/manager/types.js +2 -0
- package/dist/server/src/manager/types.js.map +1 -1
- package/dist/server/src/mqtt/bridge.d.ts +0 -5
- package/dist/server/src/mqtt/bridge.js +2 -5
- package/dist/server/src/mqtt/bridge.js.map +1 -1
- package/dist/server/src/plugins/plugin.js +3 -1
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.d.ts +1 -0
- package/dist/server/src/plugins/runtime/base.js +19 -0
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/go/index.js +1 -1
- package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/child.js +5 -2
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.d.ts +0 -1
- package/dist/server/src/plugins/runtime/node/index.js +1 -20
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +0 -5
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +0 -5
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +62 -5
- package/dist/server/src/plugins/runtime/python/index.js +3 -0
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -7
- package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +0 -7
- package/dist/server/src/plugins/types.d.ts +3 -1
- package/dist/server/src/plugins/types.js +2 -0
- package/dist/server/src/plugins/types.js.map +1 -1
- package/dist/server/src/plugins/worker.d.ts +1 -0
- package/dist/server/src/plugins/worker.js +42 -3
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/rpc/interfaces/device.d.ts +0 -3
- package/dist/server/src/rpc/namespaces.d.ts +0 -7
- package/dist/server/src/rpc/namespaces.js +0 -7
- package/dist/server/src/rpc/namespaces.js.map +1 -1
- package/dist/server/src/rpc/server.js +10 -13
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/sensors/registry.d.ts +5 -1
- package/dist/server/src/sensors/registry.js +53 -25
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/utils/engines.d.ts +3 -1
- package/dist/server/src/utils/engines.js +11 -0
- package/dist/server/src/utils/engines.js.map +1 -1
- package/dist/server/src/utils/ipc.d.ts +2 -0
- package/dist/server/src/utils/ipc.js +104 -0
- package/dist/server/src/utils/ipc.js.map +1 -1
- package/dist/server/src/utils/npm/index.d.ts +6 -1
- package/dist/server/src/utils/npm/index.js +3 -0
- package/dist/server/src/utils/npm/index.js.map +1 -1
- package/dist/server/src/utils/plugin-registry/index.d.ts +1 -0
- package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
- package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
- package/dist/server/src/utils/pythonInstaller.js +14 -0
- package/dist/server/src/utils/pythonInstaller.js.map +1 -1
- package/dist/server/src/workers/agent.d.ts +5 -0
- package/dist/server/src/workers/agent.js +49 -1
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.js +8 -0
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +1 -0
- package/dist/server/src/workers/manager.js +22 -0
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +8 -0
- package/package.json +6 -6
- package/dist/interface/assets/Adminpanel-4ilp8plp.js +0 -1
- package/dist/interface/assets/Automation-uaWWTeTZ.js +0 -3
- package/dist/interface/assets/Automations-PHMVe6wG.js +0 -2
- package/dist/interface/assets/Camera-Akukeq4_.js +0 -2
- package/dist/interface/assets/Camview-dF8o0iy2.js +0 -1
- package/dist/interface/assets/Config-iq-YI9Vg.js +0 -2
- package/dist/interface/assets/ConfigActionSensor-C9q3sRuI.js +0 -1
- package/dist/interface/assets/ConfigSensorValueInput-BcbzMf0g.js +0 -1
- package/dist/interface/assets/ConfigTriggerDetection-ld9Upgoc.js +0 -1
- package/dist/interface/assets/ConfigTriggerGeofence-DbfBc1AM.js +0 -1
- package/dist/interface/assets/Console-BTb5Yc32.js +0 -1
- package/dist/interface/assets/CuiAutomationRunsDialog-DX0xpNxx.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-Bu0PtwX-.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-BWN8gBl4.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BCrE4TMJ.js +0 -2
- package/dist/interface/assets/CuiDataTable-Dk8LJl5S.js +0 -1
- package/dist/interface/assets/CuiDataTable-W68cyoLf.css +0 -1
- package/dist/interface/assets/CuiLightControl-CaIl2eCO.js +0 -1
- package/dist/interface/assets/CuiList-Cjbxtb1E.js +0 -1
- package/dist/interface/assets/CuiPluginCard-cvZkF8Cz.js +0 -2
- package/dist/interface/assets/CuiQRCode-DKHFwuhr.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-DSf7RXci.js +0 -1
- package/dist/interface/assets/CuiSchema-Dda4lNPz.js +0 -1
- package/dist/interface/assets/Faces-CvQCD53E.js +0 -1
- package/dist/interface/assets/Instances-DisNu3zt.js +0 -1
- package/dist/interface/assets/Menu-CJ-MMxvd.js +0 -1
- package/dist/interface/assets/Plugin-7daLGUVo.js +0 -1
- package/dist/interface/assets/PluginDetail-B1-NdurE.js +0 -2
- package/dist/interface/assets/PluginSearch-BHN0J_JP.js +0 -2
- package/dist/interface/assets/PluginSearch-Cx_lzDqC.js +0 -1
- package/dist/interface/assets/Plugins-DnMPdcQF.js +0 -1
- package/dist/interface/assets/Recordings-Dxs3srmh.js +0 -1
- package/dist/interface/assets/SensorEdit-Dq2nV1Wf.js +0 -1
- package/dist/interface/assets/Sensors-BA9P_Ray.css +0 -1
- package/dist/interface/assets/Sensors-D9DLdMaD.js +0 -2
- package/dist/interface/assets/Settings-DCHoD7r8.js +0 -1
- package/dist/interface/assets/SettingsAccount-BrhnlNuF.js +0 -1
- package/dist/interface/assets/SettingsAccount-djLxmQ9r.js +0 -1
- package/dist/interface/assets/SettingsAppearance-Bq-xM16S.js +0 -1
- package/dist/interface/assets/SettingsAppearance-JKbe5xiH.js +0 -1
- package/dist/interface/assets/SettingsBackup-CjlVk3hF.js +0 -1
- package/dist/interface/assets/SettingsList-C4mMOKJh.js +0 -1
- package/dist/interface/assets/SettingsNotifications-Cmr9Bvy0.js +0 -2
- package/dist/interface/assets/SettingsRecordings-DYiuW0rA.js +0 -1
- package/dist/interface/assets/SettingsRemote-CROA1Oa7.js +0 -1
- package/dist/interface/assets/SettingsSystem-rgucO68X.js +0 -2
- package/dist/interface/assets/Terminal-BMFWoJ_k.js +0 -4
- package/dist/interface/assets/Workers-DyJXudfY.js +0 -2
- package/dist/interface/assets/api-3va2gyB0.css +0 -2
- package/dist/interface/assets/api-Cc-rMHwl.js +0 -2
- package/dist/interface/assets/chevron-right-B4vB0gm4.js +0 -1
- package/dist/interface/assets/cloudHandoff-CPrXpD0L.js +0 -1
- package/dist/interface/assets/main-C4qjk6s5.js +0 -3
- package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +0 -1
- package/dist/interface/assets/round-restart-alt-CxUkNgtt.js +0 -1
- package/dist/interface/assets/sensors-Bh5GuQ78.js +0 -1
- package/dist/interface/assets/types-C1VwkReu.js +0 -1
- package/dist/interface/assets/useBackupRestore-DQQc_D6D.js +0 -1
- package/dist/interface/assets/vendor-core-BJsSXMFQ.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-Lt6R0RFn.js","./vendor-capacitor-C-8IYzpJ.js","./vendor-CSg6_Jfu.js","./rolldown-runtime-C0FnF6B9.js","./dist-DVb-CALh.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{D as e,Mr as t,Mt as n,Ot as r,Rt as ee,k as te,z as ne}from"./vendor-cameraui-D2u3KrB1.js";import{$t as i,Hn as a,Qn as o}from"./api-B3KZZ8rN.js";import{Fn as re,Ln as ie,Nn as s,Qt as ae,Rt as c,Xn as l,Zn as oe,an as u,br as d,cn as f,cr as p,en as m,fn as h,gr as g,hn as _,in as v,jn as y,on as b,or as x,pn as S,qn as C,sn as w}from"./vendor-CSg6_Jfu.js";import{a as T,t as E}from"./useElectron-_5uSFUvf.js";import{K as se,S as ce,T as le,U as ue,z as de}from"./vendor-primevue-Bchwc-Ab.js";import{t as D}from"./notifications-Dit0-wMf.js";import{t as fe}from"./delete-xWUQUP2x.js";import{t as pe}from"./CuiDataTable-BmGMKsJm.js";import{t as me}from"./usePermissions-qSwLp41H.js";T(`PushRegistration`);var O=`cui.push.registrations`;p(!1);var k=null;function he(){return{registerForPush:async()=>{},forgetIfThisDevice:async(e,t)=>{if(!e)return;let n=await j(e);!n||n.deviceId!==t||(await M(e),await P(e))},isServerSynced:async e=>e?await j(e)!==null:!1}}async function A(){try{let{Preferences:e}=await c(async()=>{let{Preferences:e}=await import(`./esm-Lt6R0RFn.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url),{value:t}=await e.get({key:O});return t?JSON.parse(t):{}}catch{return{}}}async function ge(e){try{let{Preferences:t}=await c(async()=>{let{Preferences:e}=await import(`./esm-Lt6R0RFn.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);await t.set({key:O,value:JSON.stringify(e)})}catch{}}async function j(e){return(await A())[e]??null}async function M(e){let t=await A();t[e]&&(delete t[e],await ge(t))}function N(){return k??=(async()=>{try{let{Capacitor:e,registerPlugin:t}=await c(async()=>{let{Capacitor:e,registerPlugin:t}=await import(`./dist-DVb-CALh.js`);return{Capacitor:e,registerPlugin:t}},__vite__mapDeps([4,2,3]),import.meta.url);return e.isPluginAvailable(`PushCrypto`)?{plugin:t(`PushCrypto`)}:{plugin:null}}catch{return{plugin:null}}})(),k}async function P(e){try{let{plugin:t}=await N();await t?.deleteKey({serverId:e})}catch{}}var _e={class:`flex flex-col w-full gap-6`},ve={class:`card-title`},ye={class:`flex flex-col gap-6`},be={class:`text-sm`},xe={key:1,class:`flex items-center justify-center py-8`},Se={class:`flex items-center gap-4`},Ce={class:`flex flex-col field-switch-gap`},we={class:`cui-label-switch`},Te={key:0,class:`flex items-center gap-4`},Ee={class:`flex flex-col field-switch-gap min-w-0`},De={class:`cui-label-switch`},Oe={key:1,class:`flex items-center gap-4`},ke={class:`flex flex-col field-switch-gap min-w-0`},Ae={class:`cui-label-switch`},je={key:2,class:`flex flex-col gap-2`},Me={class:`flex items-center gap-4`},Ne={class:`flex flex-col field-switch-gap`},Pe={class:`cui-label-switch`},Fe={key:0,class:`grid grid-cols-1 sm:grid-cols-3 gap-3 mt-2`},Ie={class:`flex flex-col field-gap`},Le={for:`qh-from`,class:`cui-label`},Re={class:`flex flex-col field-gap`},ze={for:`qh-to`,class:`cui-label`},Be={class:`flex flex-col field-gap`},Ve={for:`qh-tz`,class:`cui-label`},He={key:0},Ue={class:`card-title`},We={class:`flex flex-col gap-6`},Ge={class:`text-sm`},Ke={key:0,class:`flex items-center justify-center py-8`},qe={key:1,class:`text-sm text-muted text-center py-8`},Je={key:2,class:`flex flex-col gap-3`},Ye={class:`flex items-center gap-4`},Xe={class:`flex flex-col field-switch-gap`},Ze={class:`cui-label-switch`},Qe={key:1},$e={class:`card-title`},et={class:`flex flex-col gap-6`},tt={class:`text-sm`},nt={key:0,class:`flex items-center justify-center py-8`},rt={key:1,class:`text-sm text-muted text-center py-8`},it={key:2,class:`flex flex-col gap-3`},at={class:`flex items-center gap-4`},ot={class:`flex flex-col field-switch-gap`},st={class:`cui-label-switch`},ct={key:2},lt={class:`card-title`},ut={class:`flex flex-col gap-6`},dt={class:`text-sm`},ft={key:0,class:`flex items-center justify-center py-8`},pt={key:1,class:`text-sm text-muted text-center py-8`},mt={key:3,class:`flex justify-end gap-2`},F=_({__name:`SettingsNotifications`,setup(c){let _=new D,{t:T,te:O}=t(),k=o(),A=i(void 0,`admin`),{registerForPush:ge,forgetIfThisDevice:j,isServerSynced:M}=he(),{isElectronApp:N,electron:P}=E(),{states:F,refresh:ht}=me(),{data:I,isLoading:gt}=_.getSettingsQuery(),{data:L,isLoading:_t}=_.listDevicesQuery(()=>!0),{data:R,isLoading:z}=_.listSourcesQuery(),{mutate:vt,isPending:yt}=_.setSettingsQuery(),{mutateAsync:bt}=_.setSettingsQuerySilent(),{mutate:xt}=_.revokeDeviceQuery(),{mutate:B}=_.updateDeviceQuery(),V=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`,H=p(null),U=p(``),W=p(!1),G=p(!1),K=p(!1),q=p(!0),J=p(!1),Y=p(null),X=x({}),Z=p(null),St=v(()=>!!H.value&&JSON.stringify(H.value)!==U.value),Q=v(()=>!!H.value?.enabled),Ct=v(()=>yt.value),wt=v(()=>Ot(H.value?.quietHours?.from)),Tt=v(()=>Ot(H.value?.quietHours?.to));function $(e){e&&(H.value=JSON.parse(JSON.stringify(e)),U.value=JSON.stringify(e))}function Et(){$(I.value)}function Dt(e){H.value&&(e?H.value.quietHours={from:`22:00`,to:`07:00`,timezone:V}:delete H.value.quietHours)}function Ot(e){if(!e)return null;let[t,n]=e.split(`:`).map(Number);if(!Number.isFinite(t)||!Number.isFinite(n))return null;let r=new Date;return r.setHours(t,n,0,0),r}function kt(e){return e?`${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`:`00:00`}function At(e,t){H.value?.quietHours&&(H.value.quietHours[e]=kt(t))}function jt(e){return H.value?.systemTypes?.[e]!==!1}function Mt(e,t){H.value&&(H.value.systemTypes||(H.value.systemTypes={}),t?delete H.value.systemTypes[e]:H.value.systemTypes[e]=!1)}function Nt(e){return H.value?.sources?.[e]!==!1}function Pt(e,t){H.value&&(H.value.sources||(H.value.sources={}),t?delete H.value.sources[e]:H.value.sources[e]=!1)}function Ft(e){let t=`views.settings.notifications.system_types.${e.type.replaceAll(`.`,`_`)}`;return O(t)?T(t):e.label}function It(){H.value&&vt({settings:H.value},{onSuccess:e=>$(e)})}async function Lt(e){if(!(!H.value||!I.value)){W.value=!0;try{$(await bt({settings:{...I.value,enabled:e}}))}catch(e){k.add({severity:`error`,detail:e,life:3e3})}finally{W.value=!1}}}async function Rt(){let e=a();G.value=e?await M(e):!1}async function zt(){if(!(!N||!P))try{q.value=await P.invoke(`get-desktop-notifications`)}catch{}}async function Bt(e){if(P){J.value=!0;try{q.value=await P.invoke(`set-desktop-notifications`,e)}catch(e){k.add({severity:`error`,detail:e,life:3e3})}finally{J.value=!1}}}async function Vt(){K.value=!0;try{await ge(),await Rt(),await _.queryClient.invalidateQueries({queryKey:[`notifications`,`devices`]})}catch(e){k.add({severity:`error`,detail:e,life:3e3})}finally{K.value=!1}}function Ht(e){Y.value=e;let t=a();xt({deviceId:e},{onSuccess:async()=>{t&&await j(t,e),Rt()},onSettled:()=>Y.value=null})}function Ut(e){let t=X[e.id];if(t==null)return;let n=t.trim();if(!n||n===e.name){delete X[e.id];return}Z.value=e.id,B({deviceId:e.id,patch:{name:n}},{onSuccess:()=>delete X[e.id],onSettled:()=>Z.value=null})}function Wt(e,t){Z.value=e,B({deviceId:e,patch:{active:t}},{onSettled:()=>Z.value=null})}return C(I,$,{immediate:!0}),y(()=>{N&&zt(),ht()}),(t,i)=>{let a=ie(`RouterLink`),o=de,c=r,p=se,_=n,v=e,y=te,x=ne,C=ue,T=ce,E=le,D=fe,me=pe,O=ee;return s(),f(`div`,null,[u(`div`,_e,[u(`div`,null,[u(`span`,ve,d(t.$t(`views.settings.notifications.general`)),1),S(x,{class:`cui-card`},{content:l(()=>[u(`div`,ye,[u(`span`,be,d(t.$t(`views.settings.notifications.general_info`)),1),g(F).notifications===`denied`?(s(),b(o,{key:0,severity:`warn`,size:`small`},{default:l(()=>[h(d(t.$t(`views.settings.notifications.os_permission_denied`))+` `,1),S(a,{to:`/settings/permissions`,class:`underline`},{default:l(()=>[h(d(t.$t(`views.settings.notifications.os_permission_link`)),1)]),_:1})]),_:1})):w(``,!0),g(gt)&&!g(H)?(s(),f(`div`,xe,[S(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):g(H)?(s(),f(m,{key:2},[u(`div`,Se,[u(`div`,Ce,[u(`label`,we,d(t.$t(`views.settings.notifications.enable`)),1),S(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[h(d(t.$t(`views.settings.notifications.enable_info`)),1)]),_:1})]),S(p,{"model-value":g(H).enabled,loading:g(W),class:`ml-auto shrink-0`,"onUpdate:modelValue":Lt},null,8,[`model-value`,`loading`])]),g(!1)&&g(H).enabled?(s(),f(`div`,Te,[u(`div`,Ee,[u(`label`,De,d(t.$t(`views.settings.notifications.this_device`)),1),S(o,{severity:g(G)?`secondary`:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[h(d(g(G)?t.$t(`views.settings.notifications.this_device_synced`):t.$t(`views.settings.notifications.this_device_unsynced`)),1)]),_:1},8,[`severity`])]),S(_,{severity:g(G)?`secondary`:void 0,loading:g(K),class:`cui-button-small ml-auto shrink-0`,label:g(G)?t.$t(`views.settings.notifications.resync`):t.$t(`views.settings.notifications.sync`),onClick:Vt},null,8,[`severity`,`loading`,`label`])])):g(N)&&g(H).enabled?(s(),f(`div`,Oe,[u(`div`,ke,[u(`label`,Ae,d(t.$t(`views.settings.notifications.this_device`)),1),S(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[h(d(t.$t(`views.settings.notifications.this_device_desktop`)),1)]),_:1})]),S(p,{"model-value":g(q),loading:g(J),class:`ml-auto shrink-0`,"onUpdate:modelValue":Bt},null,8,[`model-value`,`loading`])])):w(``,!0),g(H).enabled?(s(),f(`div`,je,[u(`div`,Me,[u(`div`,Ne,[u(`label`,Pe,d(t.$t(`views.settings.notifications.quiet_hours`)),1),S(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[h(d(t.$t(`views.settings.notifications.quiet_hours_info`)),1)]),_:1})]),S(p,{"model-value":!!g(H).quietHours,class:`ml-auto shrink-0`,"onUpdate:modelValue":Dt},null,8,[`model-value`])]),g(H).quietHours?(s(),f(`div`,Fe,[u(`div`,Ie,[u(`label`,Le,d(t.$t(`views.settings.notifications.from`)),1),S(v,{"input-id":`qh-from`,"model-value":g(wt),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":i[0]||=e=>At(`from`,e)},null,8,[`model-value`])]),u(`div`,Re,[u(`label`,ze,d(t.$t(`views.settings.notifications.to`)),1),S(v,{"input-id":`qh-to`,"model-value":g(Tt),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":i[1]||=e=>At(`to`,e)},null,8,[`model-value`])]),u(`div`,Be,[u(`label`,Ve,d(t.$t(`views.settings.notifications.timezone`)),1),S(y,{id:`qh-tz`,modelValue:g(H).quietHours.timezone,"onUpdate:modelValue":i[2]||=e=>g(H).quietHours.timezone=e,placeholder:g(V)},null,8,[`modelValue`,`placeholder`])])])):w(``,!0)])):w(``,!0)],64)):w(``,!0)])]),_:1})]),g(Q)&&g(A)?(s(),f(`div`,He,[u(`span`,Ue,d(t.$t(`views.settings.notifications.system_notifications`)),1),S(x,{class:`cui-card`},{content:l(()=>[u(`div`,We,[u(`span`,Ge,d(t.$t(`views.settings.notifications.system_notifications_info`)),1),g(z)&&!g(R)?(s(),f(`div`,Ke,[S(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):g(R)?.system?.length?(s(),f(`div`,Je,[(s(!0),f(m,null,re(g(R).system,(e,t)=>(s(),f(`div`,{key:e.type},[u(`div`,Ye,[u(`div`,Xe,[u(`label`,Ze,d(Ft(e)),1),e.description?(s(),b(o,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[h(d(e.description),1)]),_:2},1024)):w(``,!0)]),S(p,{"model-value":jt(e.type),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>Mt(e.type,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<g(R).system.length-1?(s(),b(C,{key:0,class:`my-2`})):w(``,!0)]))),128))])):(s(),f(`div`,qe,d(t.$t(`views.settings.notifications.no_system_types`)),1))])]),_:1})])):w(``,!0),g(Q)?(s(),f(`div`,Qe,[u(`span`,$e,d(t.$t(`views.settings.notifications.plugin_notifications`)),1),S(x,{class:`cui-card`},{content:l(()=>[u(`div`,et,[u(`span`,tt,d(t.$t(`views.settings.notifications.plugin_notifications_info`)),1),g(z)&&!g(R)?(s(),f(`div`,nt,[S(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):g(R)?.plugins?.length?(s(),f(`div`,it,[(s(!0),f(m,null,re(g(R).plugins,(e,t)=>(s(),f(`div`,{key:e.id},[u(`div`,at,[u(`div`,ot,[u(`label`,st,d(e.name),1)]),S(p,{"model-value":Nt(e.id),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>Pt(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<g(R).plugins.length-1?(s(),b(C,{key:0,class:`my-2`})):w(``,!0)]))),128))])):(s(),f(`div`,rt,d(t.$t(`views.settings.notifications.no_plugin_sources`)),1))])]),_:1})])):w(``,!0),g(Q)?(s(),f(`div`,ct,[u(`span`,lt,d(t.$t(`views.settings.notifications.devices`)),1),S(x,{class:`cui-card`},{content:l(()=>[u(`div`,ut,[u(`span`,dt,d(t.$t(`views.settings.notifications.devices_info`)),1),g(_t)&&!g(L)?(s(),f(`div`,ft,[S(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):g(L)?.length?(s(),b(me,{key:2,value:g(L),"striped-rows":``},{default:l(()=>[S(T,{field:`name`,header:t.$t(`views.settings.notifications.col_name`)},{body:l(({data:e})=>[S(y,{"model-value":g(X)[e.id]??e.name,disabled:g(Z)===e.id,class:`w-full max-w-xs min-w-[150px]`,"onUpdate:modelValue":t=>g(X)[e.id]=t??``,onBlur:t=>Ut(e),onKeyup:ae(t=>Ut(e),[`enter`])},null,8,[`model-value`,`disabled`,`onUpdate:modelValue`,`onBlur`,`onKeyup`])]),_:1},8,[`header`]),S(T,{field:`pluginName`,header:t.$t(`views.settings.notifications.col_plugin`)},{body:l(({data:e})=>[S(E,{label:e.pluginName,class:`text-xs`},null,8,[`label`])]),_:1},8,[`header`]),S(T,{field:`active`,header:t.$t(`views.settings.notifications.col_active`),style:{width:`7rem`}},{body:l(({data:e})=>[S(p,{"model-value":e.active,loading:g(Z)===e.id,"onUpdate:modelValue":t=>Wt(e.id,t)},null,8,[`model-value`,`loading`,`onUpdate:modelValue`])]),_:1},8,[`header`]),S(T,{field:`actions`,header:``,style:{width:`6rem`}},{body:l(({data:e})=>[oe((s(),b(_,{severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,loading:g(Y)===e.id,onClick:t=>Ht(e.id)},{icon:l(()=>[S(D,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[O,{value:t.$t(`views.settings.notifications.revoke`)}]])]),_:1})]),_:1},8,[`value`])):(s(),f(`div`,pt,d(t.$t(`views.settings.notifications.no_devices`)),1))])]),_:1})])):w(``,!0),g(H)&&g(St)?(s(),f(`div`,mt,[S(_,{severity:`secondary`,outlined:``,class:`cui-button-medium`,disabled:g(Ct),label:t.$t(`views.settings.notifications.reset`),onClick:Et},null,8,[`disabled`,`label`]),S(_,{severity:`success`,class:`cui-button-medium`,loading:g(Ct),label:t.$t(`views.settings.notifications.save`),onClick:It},null,8,[`loading`,`label`])])):w(``,!0)])])}}});export{F as default};
|
package/dist/interface/assets/{SettingsPermissions-D33G-1kM.js → SettingsPermissions-CIv5OeZF.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mt as e,Yr as t,z as n}from"./vendor-cameraui-D2u3KrB1.js";import{Fn as r,Nn as i,Xn as a,an as o,br as s,cn as c,cr as l,en as u,fn as d,gr as f,hn as p,jn as m,on as h,pn as g,sn as _}from"./vendor-CSg6_Jfu.js";import{a as v,z as y}from"./vendor-primevue-Bchwc-Ab.js";import{t as b}from"./usePermissions-qSwLp41H.js";var x={class:`flex flex-col w-full gap-6`},S={class:`card-title`},C={class:`flex flex-col gap-6`},w={class:`text-sm`},T={class:`flex flex-col field-switch-gap min-w-0`},E={class:`cui-label-switch`},D={class:`flex items-center gap-2 ml-auto shrink-0`},O=p({__name:`SettingsPermissions`,setup(p){let{states:O,canOpenSettings:k,refresh:A,request:j,openSettings:M}=b(),N=[{name:`microphone`},{name:`location`},{name:`notifications`}],P=l(null);function F(e){return e===`granted`?`success`:e===`denied`?`danger`:e===`prompt`?`warn`:`secondary`}async function I(e){P.value=e;try{await j(e)}finally{P.value=null}}return t(document,`visibilitychange`,()=>{document.visibilityState===`visible`&&A()}),m(()=>{A()}),(t,l)=>{let p=y,m=v,b=e,A=n;return i(),c(`div`,null,[o(`div`,x,[o(`div`,null,[o(`span`,S,s(t.$t(`views.settings.permissions.general`)),1),g(A,{class:`cui-card`},{content:a(()=>[o(`div`,C,[o(`span`,w,s(t.$t(`views.settings.permissions.general_info`)),1),(i(),c(u,null,r(N,e=>o(`div`,{key:e.name,class:`flex items-center gap-4`},[o(`div`,T,[o(`label`,E,s(t.$t(`views.settings.permissions.${e.name}`)),1),g(p,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:a(()=>[d(s(t.$t(`views.settings.permissions.${e.name}_info`)),1)]),_:2},1024),f(O)[e.name]===`denied`&&!f(k)?(i(),h(p,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:a(()=>[d(s(t.$t(`views.settings.permissions.browser_hint`)),1)]),_:1})):_(``,!0)]),o(`div`,D,[g(m,{severity:F(f(O)[e.name]),value:t.$t(`views.settings.permissions.state_${f(O)[e.name]}`)},null,8,[`severity`,`value`]),f(O)[e.name]===`prompt`||f(O)[e.name]===`unknown`?(i(),h(b,{key:0,loading:f(P)===e.name,class:`cui-button-small`,label:t.$t(`views.settings.permissions.request`),onClick:t=>I(e.name)},null,8,[`loading`,`label`,`onClick`])):f(O)[e.name]===`denied`&&f(k)?(i(),h(b,{key:1,severity:`secondary`,class:`cui-button-small`,label:t.$t(`views.settings.permissions.open_settings`),onClick:f(M)},null,8,[`label`,`onClick`])):_(``,!0)])])),64))])]),_:1})])])])}}});export{O as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Mr as e,Ot as t,Pt as n,Rt as r,St as i,u as a,vt as o,z as ee}from"./vendor-cameraui-D2u3KrB1.js";import{Qn as s,at as c,jt as te}from"./api-B3KZZ8rN.js";import{Nn as l,Xn as u,Zn as ne,an as d,br as f,cn as p,fn as m,gr as h,hn as g,in as _,on as v,pn as y,qn as b,sn as x,yr as re}from"./vendor-CSg6_Jfu.js";import{S as ie,T as ae}from"./vendor-primevue-Bchwc-Ab.js";import{t as oe}from"./CuiSchema-cCkrONzF.js";import{t as se}from"./CuiDataTable-BmGMKsJm.js";import{t as ce}from"./alert-outline-DXHNnhoP.js";import{l as S,n as le,o as C,r as ue,s as de}from"./vendor-chart-CoQ9HTE3.js";import{t as fe}from"./CuiPluginOAuthButton-BCcvYrt8.js";var w={class:`flex flex-col w-full gap-6`},T={key:0,class:`cui-banner cui-banner-error`},E={key:1,class:`cui-banner cui-banner-warn`},D={key:2,class:`cui-banner cui-banner-warn`},O={class:`card-title`},k={class:`flex items-center justify-between gap-4`},A={class:`min-w-0`},j={class:`text-sm`},M={class:`text-xs text-muted-color mt-1`},N={class:`card-title`},P={key:0,class:`flex items-center justify-center py-8`},F={key:1,class:`text-sm text-muted text-center py-8`},I={key:2,class:`flex flex-col sm:flex-row items-center gap-6`},L={class:`shrink-0`,style:{width:`180px`,height:`180px`}},R={class:`text-color`},z={class:`font-medium`},B={class:`card-title`},V={key:1,class:`flex items-center justify-center py-8`},pe={key:2,class:`text-sm text-muted text-center py-8`},me={class:`card-title`},he={key:0,class:`flex items-center justify-center py-8`},ge={key:1,class:`text-sm text-muted text-center py-8`},_e={class:`flex items-center justify-center`},ve={class:`font-medium`},ye={class:`text-muted text-sm`},H=`@camera.ui/camera-ui-nvr`,U=g({__name:`SettingsRecordings`,setup(g){C.register(de,ue,S);let U=new c,{t:W}=e(),G=s(),{stats:K,isLoading:q,refresh:J}=a(),{state:Y}=o(H),{isConnected:be,isLoading:X,config:Z,getConfig:xe,setConfig:Se,setValue:Ce,submitValue:we}=i(H),Te=_(()=>{switch(Y.value.status){case`connected`:return W(`components.oauth.connected_as`,{email:Y.value.userEmail||`—`});case`awaiting_user`:case`polling`:return W(`components.oauth.tooltip_authorizing`);case`error`:return W(`components.oauth.error_generic`);default:return W(`views.settings.recordings.license_disconnected`)}}),{data:Ee}=U.getCamerasQuery({page:1,pageSize:-1}),Q={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},De=_(()=>{let e=new Map;for(let t of Ee.value?.result??[])e.set(t._id,t.name);return e}),Oe=_(()=>K.value?.cameras?Object.entries(K.value.cameras).map(([e,t])=>({id:e,name:De.value.get(e)||e,usedBytes:t.usedBytes,segmentCount:t.segmentCount,oldestDay:t.oldestDay,newestDay:t.newestDay,daysCount:t.daysCount,bandwidthMBh:t.bandwidthMBh,recordingMode:t.recordingMode,isRecording:t.isRecording})).sort((e,t)=>t.usedBytes-e.usedBytes):[]),ke=_(()=>K.value?[{label:W(`views.settings.recordings.disk_total`),value:$(K.value.diskTotalGB)},{label:W(`views.settings.recordings.nvr_usage`),value:$(K.value.nvrUsedGB)},{label:W(`views.settings.recordings.quota`),value:K.value.nvrQuotaGB>0?$(K.value.nvrQuotaGB):W(`views.settings.recordings.unlimited`)},{label:W(`views.settings.recordings.retention`),value:K.value.retentionDays>0?W(`views.settings.recordings.days_count`,{count:K.value.retentionDays}):W(`views.settings.recordings.unlimited`)},{label:W(`views.settings.recordings.disk_free`),value:`${$(K.value.diskFreeGB)} (${K.value.diskFreePercent.toFixed(1)}%)`}]:[]),Ae=_(()=>{let e=K.value?.nvrUsedGB??0,t=K.value?.diskFreeGB??0,n=Math.max(0,(K.value?.diskUsedGB??0)-e),r=e===0&&n===0&&t===0;return{labels:[W(`views.settings.recordings.chart_nvr`),W(`views.settings.recordings.chart_other`),W(`views.settings.recordings.chart_free`)],datasets:[{data:r?[0,0,1]:[e,n,t],backgroundColor:[`#df2a4c`,`rgba(223,42,76,0.35)`,`rgba(223,42,76,0.10)`],borderWidth:0}]}}),je=_(()=>({responsive:!0,maintainAspectRatio:!0,cutout:`65%`,animation:!1,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.label}: ${$(e.parsed)}`}}}}));async function Me(e){try{await Ce(e.key,void 0),G.add({severity:`success`,detail:W(`components.toast.config_updated`),life:3e3}),J()}catch(e){G.add({severity:`error`,detail:e,life:3e3})}}async function Ne(e){try{let t=await we(e.key,e.payload);t?.toast?G.add({severity:t.toast.type,detail:t.toast.message,life:3e3}):G.add({severity:`success`,detail:W(`components.toast.config_updated`),life:3e3}),J()}catch(e){G.add({severity:`error`,detail:e,life:3e3})}}async function Pe(e){try{await Se(e),G.add({severity:`success`,detail:W(`components.toast.config_updated`),life:3e3}),J()}catch(e){G.add({severity:`error`,detail:e,life:3e3})}}function $(e){return e>=1e3?`${(e/1e3).toFixed(2)} TB`:e>=1?`${e.toFixed(2)} GB`:`${(e*1e3).toFixed(0)} MB`}function Fe(e){return e>=0xe8d4a51000?`${(e/0xe8d4a51000).toFixed(2)} TB`:e>=1e9?`${(e/1e9).toFixed(2)} GB`:e>=1e6?`${(e/1e6).toFixed(0)} MB`:`${(e/1e3).toFixed(0)} KB`}function Ie(e){let t=e*24/1e3;return t>=1?`${t.toFixed(1)} GB/d`:`${(t*1e3).toFixed(0)} MB/d`}return b(be,async e=>{e&&await xe()},{immediate:!0}),(e,i)=>{let a=te,o=ce,s=ee,c=t,g=ie,_=se,b=n,S=ae,C=r;return l(),p(`div`,null,[d(`div`,w,[h(K)&&h(K).paused===!0?(l(),p(`div`,T,[y(a,{class:`shrink-0 w-5 h-5`}),d(`span`,null,f(e.$t(`views.settings.recordings.disk_critical`)),1)])):h(K)&&h(K).diskFreePercent>0&&h(K).diskFreePercent<8?(l(),p(`div`,E,[y(o,{class:`shrink-0 w-5 h-5`}),d(`span`,null,f(e.$t(`views.settings.recordings.disk_warning`)),1)])):x(``,!0),h(K)&&h(K).smallVolume?(l(),p(`div`,D,[y(o,{class:`shrink-0 w-5 h-5`}),d(`span`,null,f(e.$t(`views.settings.recordings.disk_small_volume`)),1)])):x(``,!0),d(`div`,null,[d(`span`,O,f(e.$t(`views.settings.recordings.license_title`)),1),y(s,{class:`cui-card`},{content:u(()=>[d(`div`,k,[d(`div`,A,[d(`p`,j,f(h(Te)),1),d(`p`,M,f(e.$t(`views.settings.recordings.license_description`)),1)]),y(fe,{"plugin-name":H,class:`flex-shrink-0`})])]),_:1})]),d(`div`,null,[d(`span`,N,f(e.$t(`views.settings.recordings.storage_overview`)),1),y(s,{class:`cui-card`},{content:u(()=>[h(q)&&!h(K)?(l(),p(`div`,P,[y(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):h(K)?(l(),p(`div`,I,[d(`div`,L,[y(h(le),{data:h(Ae),options:h(je)},null,8,[`data`,`options`])]),y(_,{value:h(ke),pt:Q,"striped-rows":``,"show-headers":!1,class:`w-full`},{default:u(()=>[y(g,{field:`label`},{body:u(({data:e})=>[d(`span`,R,f(e.label),1)]),_:1}),y(g,{field:`value`,style:{"text-align":`right`}},{body:u(({data:e})=>[d(`span`,z,f(e.value),1)]),_:1})]),_:1},8,[`value`])])):(l(),p(`div`,F,f(e.$t(`views.settings.recordings.not_available`)),1))]),_:1})]),d(`div`,null,[d(`span`,B,f(e.$t(`views.settings.recordings.global_settings`)),1),y(s,{class:`cui-card`},{content:u(()=>[h(Z)?(l(),v(oe,{key:0,"schema-form":{schema:h(Z).schema,config:h(Z).config},loading:h(X),"save-button-color":`success`,onOnAction:Me,onOnSubmit:Ne,onOnFormSubmit:Pe},null,8,[`schema-form`,`loading`])):h(q)||h(X)?(l(),p(`div`,V,[y(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(l(),p(`div`,pe,f(e.$t(`views.settings.recordings.not_available`)),1))]),_:1})]),d(`div`,null,[d(`span`,me,f(e.$t(`views.settings.recordings.camera_storage`)),1),y(s,{class:`cui-card`},{content:u(()=>[h(q)&&!h(K)?(l(),p(`div`,he,[y(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):h(K)?(l(),v(_,{key:2,value:h(Oe),pt:Q,"striped-rows":``,scrollable:``},{empty:u(()=>[d(`span`,ye,f(e.$t(`views.settings.recordings.no_cameras`)),1)]),default:u(()=>[y(g,{field:`status`,header:``,style:{width:`3rem`}},{body:u(({data:t})=>[d(`div`,_e,[ne(y(b,{style:re({background:t.isRecording?`green`:`gray`})},null,8,[`style`]),[[C,{value:t.isRecording?e.$t(`views.settings.recordings.status_recording`):e.$t(`views.settings.recordings.status_stopped`)}]])])]),_:1}),y(g,{field:`name`,header:e.$t(`views.settings.recordings.col_camera`)},{body:u(({data:e})=>[d(`span`,ve,f(e.name),1)]),_:1},8,[`header`]),y(g,{field:`size`,header:e.$t(`views.settings.recordings.col_size`)},{body:u(({data:e})=>[m(f(Fe(e.usedBytes)),1)]),_:1},8,[`header`]),y(g,{field:`daysCount`,header:e.$t(`views.settings.recordings.col_days`)},null,8,[`header`]),y(g,{field:`rate`,header:e.$t(`views.settings.recordings.col_rate`)},{body:u(({data:e})=>[m(f(e.bandwidthMBh>0?Ie(e.bandwidthMBh):`-`),1)]),_:1},8,[`header`]),y(g,{field:`recordingMode`,header:e.$t(`views.settings.recordings.col_mode`)},{body:u(({data:e})=>[y(S,{label:e.recordingMode,class:`text-xs`},null,8,[`label`])]),_:1},8,[`header`])]),_:1},8,[`value`])):(l(),p(`div`,ge,f(e.$t(`views.settings.recordings.not_available`)),1))]),_:1})])])])}}});export{U as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Mr as e,Mt as t,Ot as n,Rt as r,k as ee,z as te}from"./vendor-cameraui-D2u3KrB1.js";import{$n as i,An as ne,Qn as a,Xn as o,Y as s,Z as re,i as c,ir as l,it as ie,kn as ae,o as u,rt as oe,sn as d,sr as f}from"./api-B3KZZ8rN.js";import{Nn as p,On as se,U as m,Xn as h,Zn as ce,_r as le,an as g,b as ue,br as _,cn as v,cr as y,en as de,fn as b,gr as x,hn as S,in as C,ir as w,on as T,pn as E,q as fe,qn as D,qt as O,rr as k,sn as A,v as j,wn as pe,y as M,zn as me}from"./vendor-CSg6_Jfu.js";import{a as he}from"./useElectron-_5uSFUvf.js";import{B as N,z as P}from"./types-BDNk1b9h.js";import{K as ge,L as _e,R as ve,a as ye,j as be,l as xe,s as Se,z as Ce}from"./vendor-primevue-Bchwc-Ab.js";import{t as we}from"./server-CKNXGRUG.js";import{t as Te}from"./CuiQRCode-Dll6D9H0.js";var Ee={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function F(e,t){return p(),v(`svg`,Ee,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M20.454 21.87L17.612 19H6.5q-1.896 0-3.198-1.302T2 14.5q0-1.829 1.226-3.098t2.87-1.368q.018-.373.208-.925q.19-.553.438-.951l-3.88-3.881l.707-.708l17.593 17.593zm.454-3.812L8.78 5.937q.875-.523 1.612-.73T12 5q2.502 0 4.251 1.749T18 11v1h.616q1.436.046 2.41 1.055T22 15.5q0 .687-.25 1.332t-.842 1.226`},null,-1)]])}var De=w({name:`material-symbols-light-cloud-off`,render:F}),Oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ke(e,t){return p(),v(`svg`,Oe,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z`},null,-1)]])}var Ae=w({name:`material-symbols-check`,render:ke}),je={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function I(e,t){return p(),v(`svg`,je,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M20.5 16H15v-1h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h4v1H3.5c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h17c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5M5 4h14v9H5zm10 16H5v-2h10zm3 0c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1`,class:`b`},null,-1)]])}var Me=w({name:`boxicons-computer-filled`,render:I}),Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pe(e,t){return p(),v(`svg`,Ne,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M17.9 17.39c-.26-.8-1.01-1.39-1.9-1.39h-1v-3a1 1 0 0 0-1-1H8v-2h2a1 1 0 0 0 1-1V7h2a2 2 0 0 0 2-2v-.41a7.984 7.984 0 0 1 2.9 12.8M11 19.93c-3.95-.49-7-3.85-7-7.93c0-.62.08-1.22.21-1.79L9 15v1a2 2 0 0 0 2 2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2`},null,-1)]])}var Fe=w({name:`mdi-earth`,render:Pe}),L={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return p(),v(`svg`,L,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M10 2c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h1v2H2v2h4v2H5c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2H8v-2h8v2h-1c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2h-1v-2h4v-2h-9V9h1c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 2h4v3h-4zM5 17h4v3H5zm10 0h4v3h-4z`},null,-1)]])}var Le=w({name:`mdi-lan`,render:Ie});async function Re({signal:e}){return(await f.get(`/remote`,{signal:e})).data}async function ze(e){return(await f.patch(`/remote`,e)).data}async function Be(e){return(await f.post(`/remote/pair/init`,e?{name:e}:{})).data}async function Ve({name:e}={}){return(await f.post(`/remote/pair/poll`,e?{name:e}:{})).data}async function He(){await f.delete(`/remote/unregister`)}async function Ue({signal:e}){return(await f.get(`/remote/status`,{signal:e})).data}async function We(e){await f.patch(`/remote/name`,{name:e})}async function Ge({signal:e}){return(await f.get(`/remote/tunnel`,{signal:e})).data}async function Ke({signal:e}={}){return(await f.get(`/remote/connection-info`,{signal:e})).data}async function R(e){return(await f.post(`/remote/test/${e}`)).data}async function qe({signal:e}={}){return(await f.get(`/remote/cloudflare/managed/status`,{signal:e})).data}async function Je(e){await f.post(`/remote/cloudflare/managed/connect`,{hostname:e})}async function Ye(){await f.post(`/remote/cloudflare/managed/cancel`)}async function Xe(){await f.post(`/remote/cloudflare/managed/disconnect`)}async function Ze(){await f.post(`/remote/cloudflare/managed/logout`)}var Qe=class{_queryClient=fe();t=i.global.t;toast=a();queryActivator=y([{name:`getRemoteInfoQuery`,enabled:!0},{name:`getRegistrationStatusQuery`,enabled:!0},{name:`getTunnelStatusQuery`,enabled:!0},{name:`getConnectionInfoQuery`,enabled:!0},{name:`getCloudflareManagedStatusQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getRemoteInfoQuery(){return o({queryKey:[`remote`],queryFn:({signal:e})=>Re({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getRemoteInfoQuery`&&e.enabled),staleTime:1e3})}patchRemoteInfoQuery(){return m({mutationFn:ze,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_updated`),life:3e3})}})}getRegistrationStatusQuery(){return o({queryKey:[`remote`,`status`],queryFn:({signal:e})=>Ue({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getRegistrationStatusQuery`&&e.enabled),staleTime:1e3})}pairInitMutation(){return m({mutationFn:Be})}pairPollMutation(){return m({mutationFn:Ve,onSuccess:async e=>{e.state===`confirmed`&&(await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_registered`),life:3e3}))}})}unregisterServerQuery(){return m({mutationFn:He,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_unregistered`),life:3e3})}})}getTunnelStatusQuery(){return o({queryKey:[`remote`,`tunnel`],queryFn:({signal:e})=>Ge({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getTunnelStatusQuery`&&e.enabled),refetchInterval:3e4,staleTime:1e4})}updateServerNameQuery(){return m({mutationFn:We,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_name_updated`),life:3e3})}})}getConnectionInfoQuery(){return o({queryKey:[`remote`,`connection-info`],queryFn:({signal:e})=>Ke({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConnectionInfoQuery`&&e.enabled),refetchInterval:1e4})}testRemoteModeMutation(){return m({mutationFn:R})}getCloudflareManagedStatusQuery(){return o({queryKey:[`remote`,`cloudflare`,`managed`],queryFn:({signal:e})=>qe({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCloudflareManagedStatusQuery`&&e.enabled),refetchInterval:e=>{let t=e.state.data?.state;return t===`awaiting_login`||t===`creating_tunnel`||t===`setting_dns`?2e3:!1},refetchOnWindowFocus:!0,staleTime:1e3})}cloudflareManagedConnectMutation(){return m({mutationFn:Je,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedCancelMutation(){return m({mutationFn:Ye,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedDisconnectMutation(){return m({mutationFn:Xe,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedLogoutMutation(){return m({mutationFn:Ze,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}},$e=N,et=P,tt={class:`w-full h-full`},nt={key:0,class:`w-full h-full flex items-center justify-center`},rt={key:1,class:`flex flex-col w-full gap-6`},it={key:0},at={class:`card-title`},ot={class:`flex items-center gap-4`},st={class:`flex flex-col field-switch-gap min-w-0`},ct={class:`text-sm font-bold text-color`},lt={class:`card-title`},ut={class:`flex flex-col gap-6`},dt={class:`flex items-center gap-4`},ft={class:`flex flex-col field-switch-gap`},pt={for:`enabled`,class:`cui-label-switch`},mt={class:`flex flex-col field-gap`},ht={for:`serverName`,class:`cui-label`},gt={class:`flex items-center gap-4`},_t={class:`flex flex-col field-switch-gap`},vt={class:`text-sm`},yt={class:`ml-auto shrink-0`},bt={key:1,class:`text-sm font-bold text-amber-500`},xt={key:2,class:`text-sm font-bold`},St={key:0,class:`flex items-center gap-4`},Ct={class:`flex flex-col field-switch-gap`},wt={class:`text-sm`},Tt={class:`ml-auto shrink-0`},Et={key:`pairing`,class:`cui-toggle-switch flex flex-col gap-4`},Dt={class:`cui-pair-layout`},Ot={class:`cui-pair-qr`},kt={class:`flex flex-col gap-4 flex-1 min-w-0`},At={class:`flex flex-col field-gap`},jt={class:`cui-label`},Mt={class:`flex flex-col field-gap`},Nt={class:`cui-label`},Pt={class:`flex items-center gap-3`},Ft={class:`text-sm`},It={class:`flex items-center gap-4`},Lt={class:`flex`},Rt={class:`card-title`},zt={class:`flex flex-col gap-6`},Bt={class:`flex items-center gap-4`},Vt={class:`flex flex-col field-switch-gap`},Ht={for:`directEnabled`,class:`cui-label-switch`},Ut={class:`flex flex-col field-gap`},Wt={class:`cui-label`},Gt={for:`directMode`,class:`cui-label`},Kt={key:0,class:`cui-toggle-switch flex flex-col gap-4`},qt={class:`flex flex-col field-gap`},Jt={for:`cloudflareVariant`,class:`cui-label`},Yt={key:0,class:`flex items-center gap-3`},Xt={class:`flex flex-col field-gap`},Zt={for:`cloudflareHostname`,class:`cui-label`},Qt={class:`flex flex-col field-gap`},$t={for:`cloudflareToken`,class:`cui-label`},en={class:`flex items-center gap-3`},tn={class:`flex flex-col field-gap`},nn={for:`cloudflareHostnameManaged`,class:`cui-label`},rn={class:`flex items-center gap-3`},an={key:0,class:`cf-login-setup`},on={class:`cf-login-qr`},sn={class:`flex flex-col gap-4 flex-1 min-w-0`},cn={class:`flex flex-col field-gap`},ln={class:`cui-label`},un={class:`flex items-center gap-3`},dn={class:`text-sm`},fn={key:1,class:`flex items-center gap-3`},pn={class:`text-sm`},mn={key:2,class:`flex items-center gap-3`},hn={class:`text-sm`},gn={class:`flex flex-col field-gap`},_n={class:`cui-label`},vn={key:0,class:`flex flex-col field-gap`},yn={class:`cui-label`},bn={class:`flex items-center gap-3`},xn={key:1,class:`cui-toggle-switch flex flex-col gap-4`},Sn={for:`customDomain.url`,class:`cui-label`},Cn={class:`flex items-center gap-3`},wn={class:`card-title`},Tn={class:`flex flex-col gap-6`},En={class:`text-sm`},Dn={for:`serverAddresses`,class:`cui-label`},On=d(S({__name:`SettingsRemote`,setup(i){let o=new we,d=new Qe,f=he(),m=s(),S=a(),{t:w}=e(),{data:fe,isBusy:N}=o.getServerInfoQuery(),{data:P,isBusy:Ee}=d.getRemoteInfoQuery(),{data:F,isBusy:Oe}=d.getRegistrationStatusQuery(),{data:ke,isLoading:je}=d.getTunnelStatusQuery(),{data:I}=d.getConnectionInfoQuery(),{mutateAsync:Ne,isPending:Pe}=o.patchSystemInfoQuery(),{mutateAsync:L,isPending:Ie}=d.patchRemoteInfoQuery(),{mutateAsync:Re,isPending:ze}=d.pairInitMutation(),{mutateAsync:Be}=d.pairPollMutation(),{mutateAsync:Ve,isPending:He}=d.unregisterServerQuery(),{mutateAsync:Ue,isPending:We}=d.updateServerNameQuery(),{mutateAsync:Ge,isPending:Ke}=d.testRemoteModeMutation(),{data:R}=d.getCloudflareManagedStatusQuery(),{mutateAsync:qe,isPending:Je}=d.cloudflareManagedConnectMutation(),{mutateAsync:Ye,isPending:Xe}=d.cloudflareManagedCancelMutation(),{mutateAsync:Ze,isPending:On}=d.cloudflareManagedDisconnectMutation(),{mutateAsync:kn,isPending:An}=d.cloudflareManagedLogoutMutation(),z=y(),B=y(),V=y(``),H=y(``),U=y(`quick`),W=y(``),G=y(``),jn=y(!1),K=y(null),q=y(``),Mn=y(null),Nn=y(2),Pn=y(``),J=null,Y=null,X=C(()=>Pe.value||Ie.value||N.value||Ee.value||Oe.value||He.value),Fn=C(()=>!!(B.value?.enabled||B.value?.directEnabled)),In=C(()=>P.value?.directOverride??{active:!1,fallback:!1}),Z=C(()=>F.value?.isRegistered??!1),Ln=C(()=>F.value?.needsReauth??!1),Rn=C(()=>!X.value),zn=C(()=>{if(!Rn.value)return!1;let e=V.value.trim();return!e||e.length>100?!1:e!==(F.value?.serverName??``)}),Bn=C(()=>{if(!B.value)return!1;if(B.value.directMode===`customDomain`){let e=H.value.trim();if(!e)return!1;try{new URL(e)}catch{return!1}return e!==(P.value?.remoteSettings.customDomain.url??``)}if(B.value.directMode===`cloudflare`){let e=P.value?.remoteSettings.cloudflare,t=P.value?.remoteSettings.directMode!==`cloudflare`,n=U.value;if(n===`quick`)return t||e?.mode!==`quick`;let r=W.value.trim();if(!r||!/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(r))return!1;if(n===`token`){let n=G.value.trim();if(!n&&!jn.value)return!1;let ee=n.length>0;return t||e?.mode!==`token`||e?.hostname!==r||ee}return n===`managed`?t||e?.mode!==`managed`||e?.hostname!==r:!1}return B.value.directMode!==P.value?.remoteSettings.directMode}),Vn=C(()=>[{value:`cloudflare`,label:w(`components.form.label.cloudflare`),description:w(`components.form.hint.cloudflare_mode_info`)},{value:`customDomain`,label:w(`components.form.label.custom_domain`),description:w(`components.form.hint.custom_domain_mode_info`)}]),Hn=C(()=>Vn.value.find(e=>e.value===B.value?.directMode)?.description??``),Un=C(()=>[{value:`quick`,label:w(`components.form.label.cloudflare_variant_quick`),description:w(`components.form.hint.cloudflare_variant_quick`)},{value:`token`,label:w(`components.form.label.cloudflare_variant_token`),description:w(`components.form.hint.cloudflare_variant_token`)},{value:`managed`,label:w(`components.form.label.cloudflare_variant_managed`),description:w(`components.form.hint.cloudflare_variant_managed`)}]),Wn=C(()=>Un.value.find(e=>e.value===U.value)?.description??``),Gn=C(()=>{if(U.value===`quick`)return!0;let e=P.value?.remoteSettings.cloudflare;return e?.mode===U.value&&!!e?.hostname}),Q=C(()=>R.value?.state??`idle`),Kn=C(()=>{if(Q.value!==`idle`)return!1;let e=W.value.trim();return!!e&&/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(e)}),qn=C(()=>{let e=I.value?.currentConnection.type??`lan`;return w(`views.settings.connection_type.${e}`)}),Jn=C(()=>{let e=I.value?.currentConnection.type;return e===`cloud`?ae:e===`external`?Fe:e===`local`?Me:Le}),Yn=C(()=>{let e=I.value?.currentConnection.type;return e===`cloud`?`text-warning`:e===`external`?`text-info`:e===`local`?`text-primary`:`text-success`});async function Xn(){let e=V.value.trim();if(e)try{await Ue(e)}catch{}}function Zn(){m.openTextDialog({data:{title:w(`components.dialog.title.unregister_server`),confirmText:w(`components.form.button.unregister`),contentText:w(`components.dialog.message.confirm_unregister_server`),loading:X},onConfirm:async()=>{try{await Ve()}catch{}}})}function Qn(){J&&=(clearTimeout(J),null),Y&&=(clearInterval(Y),null)}function $(){Qn(),K.value=null,q.value=``,Mn.value=null,Pn.value=``}function $n(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function er(){Y&&clearInterval(Y);let e=()=>{if(!Mn.value)return;let e=Mn.value-Date.now();if(e<=0){$(),S.add({severity:`warn`,detail:w(`components.toast.pair_expired`),life:3e3});return}Pn.value=$n(e)};e(),Y=setInterval(e,1e3)}function tr(){J&&clearTimeout(J),J=setTimeout(nr,Nn.value*1e3)}async function nr(){if(!K.value)return;let e=K.value;try{let t=await Be({name:V.value.trim()||void 0});if(!K.value||K.value!==e)return;if(t.state===`confirmed`){$();return}if(t.state===`expired`){$(),S.add({severity:`warn`,detail:w(`components.toast.pair_expired`),life:3e3});return}if(t.state===`denied`){$(),S.add({severity:`warn`,detail:w(`components.toast.pair_denied`),life:3e3});return}t.state===`slow_down`&&(Nn.value=Math.min(Nn.value+2,10)),tr()}catch(t){if(!K.value||K.value!==e)return;f.error(`pair poll failed:`,t),tr()}}async function rr(){$();try{let e=V.value.trim();if(e&&e!==(F.value?.serverName??``))try{await Ue(e)}catch{}let t=await Re(e||void 0);K.value=t.userCode,q.value=t.verificationUriComplete,Mn.value=Date.now()+t.expiresIn*1e3,Nn.value=Math.max(1,t.pollInterval),er(),tr()}catch(e){S.add({severity:`error`,detail:e,life:3e3})}}function ir(){$()}async function ar(){if(K.value)try{await c(K.value)}catch{}}async function or(){if(q.value)try{await c(q.value)}catch{}}function sr(){q.value&&window.open(q.value,`_blank`,`noopener`)}function cr(e){let t=window.location.host===l||!1,n;n=e?`components.dialog.message.confirm_enable_cloud`:t?`components.dialog.message.confirm_disable_cloud_remote`:`components.dialog.message.confirm_disable_cloud_local`,m.openTextDialog({data:{title:w(`components.dialog.title.confirm`),contentText:w(n),confirmText:w(e?`components.form.button.enable`:`components.form.button.disable`),loading:X,confirmButtonProps:e?void 0:{severity:`danger`}},onConfirm:async()=>{try{await L(e?{enabled:!0}:{enabled:!1})}catch{B.value&&(B.value.enabled=!e)}},onCancel:()=>{B.value&&(B.value.enabled=!e)}})}function lr(e){L({directEnabled:e}).catch(()=>{B.value&&(B.value.directEnabled=!e)})}function ur(e){B.value&&(B.value.directMode=e)}function dr(e){U.value=e}async function fr(){let e=W.value.trim();if(e)try{await L({directMode:`cloudflare`,cloudflare:{mode:`managed`,hostname:e}}),await qe(e)}catch{}}async function pr(){try{await Ye()}catch{}}async function mr(){try{await Ze()}catch{}}async function hr(){try{await kn()}catch{}}async function gr(e){try{await c(e)}catch{}}function _r(e){window.open(e,`_blank`,`noopener`)}async function vr(e){try{let t=await Ge(e);t.ok?S.add({severity:`success`,detail:w(`components.toast.remote_test_success`),life:3e3}):S.add({severity:`error`,detail:w(`components.toast.remote_test_failed`,{message:t.message??``}),life:5e3})}catch(e){S.add({severity:`error`,detail:w(`components.toast.remote_test_failed`,{message:e?.message??``}),life:5e3})}}async function yr(e){let t={directMode:e.directMode};if(e.directMode===`customDomain`)t.customDomain={url:H.value.trim()};else if(e.directMode===`cloudflare`){let e=U.value;if(e===`quick`)t.cloudflare={mode:`quick`,hostname:null,token:null};else if(e===`token`){let e=G.value.trim();t.cloudflare={mode:`token`,hostname:W.value.trim(),...e?{token:e}:{}}}else e===`managed`&&(t.cloudflare={mode:`managed`,hostname:W.value.trim(),token:null})}try{await L(t)}catch{}}async function br(e){try{await Ne(e)}catch{}}return D(()=>F.value?.serverName,e=>{e&&(V.value=e)},{immediate:!0}),D(Z,e=>{e&&K.value&&$()}),D(fe,e=>{if(e){let t=u(e);z.value={...t,serverAddresses:(t.serverAddresses||[]).filter(Boolean)}}},{deep:!0,immediate:!0}),D(P,e=>{if(e){let t=u(e);B.value={...t.remoteSettings},H.value=t.remoteSettings.customDomain.url??``;let n=t.remoteSettings.cloudflare;U.value=n?.mode??`quick`,W.value=n?.hostname??``,G.value=``,jn.value=t.cloudflareTokenSet??!1}},{deep:!0,immediate:!0}),se(()=>{Qn()}),(e,i)=>{let a=n,o=Ce,s=te,c=ge,l=ee,ae=Ae,u=t,d=_e,f=ve,se=ye,m=Te,y=ie,S=ne,C=De,w=be,D=Se,he=xe,N=r;return p(),v(`div`,tt,[!x(z)||!x(B)?(p(),v(`div`,nt,[E(a,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(p(),v(`div`,rt,[x(I)?(p(),v(`div`,it,[g(`span`,at,_(e.$t(`views.settings.connection_status`)),1),E(s,{class:`cui-card`},{content:h(()=>[g(`div`,ot,[(p(),T(me(x(Jn)),{class:le([`shrink-0 w-6 h-6`,x(Yn)])},null,8,[`class`])),g(`div`,st,[g(`span`,ct,_(x(qn)),1),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:h(()=>[b(_(x(I).currentConnection.address),1)]),_:1})])])]),_:1})])):A(``,!0),E(x(ue),{ref:`remoteFormRef`,class:`flex flex-col w-full gap-6`,"validation-schema":x($e),onSubmit:i[18]||=e=>yr(e)},{default:h(()=>[g(`div`,null,[g(`span`,lt,_(e.$t(`views.settings.cloud`)),1),E(s,{class:`cui-card`},{content:h(()=>[g(`div`,ut,[E(x(M),{"model-value":x(B).enabled,value:!0,"unchecked-value":!1,type:`checkbox`,name:`enabled`,as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:h(({field:t,errors:n})=>[g(`div`,dt,[g(`div`,ft,[g(`label`,pt,_(e.$t(`components.form.label.enabled`)),1),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[b(_(e.$t(`components.form.hint.cloud_access_enabled_info`)),1)]),_:1}),E(O,{name:`fade`},{default:h(()=>[E(x(j),{name:`enabled`,class:`cui-input-switch-error`})]),_:1})]),E(c,pe({"model-value":x(B).enabled},t,{invalid:n.length>0,loading:x(X),class:`ml-auto shrink-0`,onValueChange:i[0]||=e=>x(B).enabled=e,"onUpdate:modelValue":i[1]||=e=>cr(e)}),null,16,[`model-value`,`invalid`,`loading`])])]),_:1},8,[`model-value`]),g(`div`,mt,[g(`label`,ht,_(e.$t(`views.settings.server_name_label`)),1),E(f,null,{default:h(()=>[E(l,{id:`serverName`,modelValue:x(V),"onUpdate:modelValue":i[2]||=e=>k(V)?V.value=e:null,modelModifiers:{trim:!0},disabled:!x(Rn),loading:x(X),type:`text`,maxlength:100},null,8,[`modelValue`,`disabled`,`loading`]),E(d,null,{default:h(()=>[ce((p(),T(u,{text:``,severity:`secondary`,loading:x(We),disabled:!x(zn),type:`button`,onClick:Xn},{icon:h(()=>[E(ae)]),_:1},8,[`loading`,`disabled`])),[[N,{value:e.$t(`components.form.button.save`)}]])]),_:1})]),_:1}),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[b(_(e.$t(`views.settings.server_name_info`)),1)]),_:1})]),g(`div`,gt,[g(`div`,_t,[g(`span`,vt,_(e.$t(`views.settings.status`)),1),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[b(_(e.$t(`views.settings.status_info`)),1)]),_:1})]),g(`div`,yt,[x(X)?(p(),T(a,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):x(Ln)?(p(),v(`span`,bt,_(e.$t(`views.settings.needs_reauth`)),1)):(p(),v(`span`,xt,_(x(Z)?e.$t(`views.settings.registered`):e.$t(`views.settings.not_registered`)),1))])]),x(Z)?(p(),v(`div`,St,[g(`div`,Ct,[g(`span`,wt,_(e.$t(`views.settings.tunnel_status`)),1),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[b(_(e.$t(`views.settings.tunnel_status_info`)),1)]),_:1})]),g(`div`,Tt,[x(je)?(p(),T(a,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(p(),T(se,{key:1,severity:x(ke)?.connected?`success`:`secondary`,value:x(ke)?.connected?e.$t(`views.settings.tunnel_connected`):e.$t(`views.settings.tunnel_disconnected`)},null,8,[`severity`,`value`]))])])):A(``,!0),E(O,{name:`fade`,mode:`out-in`},{default:h(()=>[x(K)?(p(),v(`div`,Et,[E(o,{severity:`error`,variant:`simple`,size:`small`,class:`text-primary`},{default:h(()=>[b(_(e.$t(`views.settings.pair_instructions`)),1)]),_:1}),g(`div`,Dt,[g(`div`,Ot,[E(m,{value:x(q),size:180,"logo-size":36},null,8,[`value`])]),g(`div`,kt,[g(`div`,At,[g(`label`,jt,_(e.$t(`views.settings.pair_code`)),1),E(f,null,{default:h(()=>[E(l,{"model-value":x(K),readonly:``,class:`font-mono text-lg text-center tracking-widest`},null,8,[`model-value`]),E(d,null,{default:h(()=>[E(y,{"action-text":e.$t(`components.form.tooltip.copied`),icon:x(oe),"button-props":{severity:`secondary`,text:!0},onAction:ar},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(e.$t(`views.settings.pair_code_hint`)),1)]),_:1})]),g(`div`,Mt,[g(`label`,Nt,_(e.$t(`views.settings.pair_url`)),1),E(f,null,{default:h(()=>[E(l,{"model-value":x(q),readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(d,null,{default:h(()=>[E(y,{"action-text":e.$t(`components.form.tooltip.copied`),icon:x(oe),"button-props":{severity:`secondary`,text:!0},onAction:or},null,8,[`action-text`,`icon`])]),_:1}),E(d,null,{default:h(()=>[ce((p(),T(u,{type:`button`,severity:`secondary`,text:``,onClick:sr},{icon:h(()=>[E(x(re))]),_:1})),[[N,{value:e.$t(`components.form.button.open_in_browser`)}]])]),_:1})]),_:1})]),g(`div`,Pt,[E(a,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),g(`span`,Ft,_(e.$t(`views.settings.pair_waiting`,{remaining:x(Pn)})),1),E(u,{type:`button`,severity:`secondary`,class:`cui-button-small ml-auto`,label:e.$t(`components.form.button.cancel`),onClick:ir},null,8,[`label`])])])])])):A(``,!0)]),_:1}),g(`div`,It,[g(`div`,Lt,[ce((p(),T(u,{severity:`secondary`,rounded:``,class:`cui-icon-lg text-color`,disabled:!x(Z),onClick:i[3]||=t=>e.$router.absUrl(x(`https://cloud.cameraui.com`),!0)},{icon:h(()=>[x(Z)?(p(),T(S,{key:0,width:`100%`,height:`100%`})):(p(),T(C,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[N,{value:x(Z)?e.$t(`views.settings.registered`):e.$t(`views.settings.not_registered`)}]])]),i[21]||=g(`div`,{class:`ml-auto`},null,-1),!x(Z)&&!x(K)?(p(),T(u,{key:0,loading:x(ze),class:`cui-button-medium`,label:e.$t(`components.form.button.register_server`),onClick:rr},null,8,[`loading`,`label`])):A(``,!0),x(Ln)&&!x(K)?(p(),T(u,{key:1,loading:x(ze),severity:`warn`,class:`cui-button-medium`,label:e.$t(`components.form.button.reconnect_server`),onClick:rr},null,8,[`loading`,`label`])):A(``,!0),x(Z)?(p(),T(u,{key:2,loading:x(X),severity:x(Ln)?`secondary`:void 0,text:x(Ln),class:`cui-button-medium`,label:e.$t(`components.form.button.unregister_server`),onClick:Zn},null,8,[`loading`,`severity`,`text`,`label`])):A(``,!0)])])]),_:1})]),g(`div`,null,[g(`span`,Rt,_(e.$t(`views.settings.direct_connection`)),1),E(s,{class:`cui-card`},{content:h(()=>[g(`div`,zt,[E(x(M),{"model-value":x(B).directEnabled,value:!0,"unchecked-value":!1,type:`checkbox`,name:`directEnabled`,as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:h(({field:t,errors:n})=>[g(`div`,Bt,[g(`div`,Vt,[g(`label`,Ht,_(e.$t(`components.form.label.enabled`)),1),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[b(_(e.$t(`views.settings.direct_connection_info`)),1)]),_:1}),E(O,{name:`fade`},{default:h(()=>[E(x(j),{name:`directEnabled`,class:`cui-input-switch-error`})]),_:1})]),E(c,pe({"model-value":x(Fn)},t,{invalid:n.length>0,loading:x(X),disabled:x(B).enabled,class:`ml-auto shrink-0`,onValueChange:i[4]||=e=>x(B).directEnabled=e,"onUpdate:modelValue":i[5]||=e=>lr(e)}),null,16,[`model-value`,`invalid`,`loading`,`disabled`])]),E(O,{name:`fade`},{default:h(()=>[x(In).active?(p(),T(o,{key:0,variant:`simple`,size:`small`,class:`cui-input-switch-hint text-primary`},{default:h(()=>[b(_(x(In).fallback?e.$t(`views.settings.direct_override_fallback`):e.$t(`views.settings.direct_override_active`)),1)]),_:1})):A(``,!0)]),_:1})]),_:1},8,[`model-value`]),x(Fn)?(p(),v(de,{key:0},[g(`div`,Ut,[g(`label`,Wt,_(e.$t(`views.settings.external_url`)),1),E(l,{readonly:``,type:`text`,value:x(I)?.externalUrl??e.$t(`components.form.label.disconnected`)},null,8,[`value`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(e.$t(`views.settings.external_url_info`)),1)]),_:1})]),E(x(M),{"model-value":x(B).directMode,name:`directMode`,as:`div`,class:`flex flex-col field-gap`},{default:h(({errors:t})=>[g(`label`,Gt,_(e.$t(`views.settings.connection_method`)),1),E(w,{"model-value":x(B).directMode,options:x(Vn),"option-label":`label`,"option-value":`value`,invalid:t.length>0,loading:x(X),"onUpdate:modelValue":i[6]||=e=>ur(e)},null,8,[`model-value`,`options`,`invalid`,`loading`]),E(O,{name:`fade`},{default:h(()=>[E(x(j),{name:`directMode`,class:`cui-input-error`})]),_:1}),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(x(Hn)),1)]),_:1})]),_:1},8,[`model-value`]),x(B).directMode===`cloudflare`?(p(),v(`div`,Kt,[g(`div`,qt,[g(`label`,Jt,_(e.$t(`components.form.label.cloudflare_variant`)),1),E(w,{"model-value":x(U),options:x(Un),"option-label":`label`,"option-value":`value`,loading:x(X),"onUpdate:modelValue":i[7]||=e=>dr(e)},null,8,[`model-value`,`options`,`loading`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(x(Wn)),1)]),_:1})]),x(U)===`quick`?(p(),v(`div`,Yt,[E(u,{type:`button`,severity:`secondary`,loading:x(Ke),class:`cui-button-small`,label:e.$t(`components.form.button.test_connection`),onClick:i[8]||=e=>vr(`cloudflare`)},null,8,[`loading`,`label`])])):x(U)===`token`?(p(),v(de,{key:1},[g(`div`,Xt,[g(`label`,Zt,_(e.$t(`components.form.label.hostname`)),1),E(l,{id:`cloudflareHostname`,modelValue:x(W),"onUpdate:modelValue":i[9]||=e=>k(W)?W.value=e:null,modelModifiers:{trim:!0},loading:x(X),type:`text`,placeholder:`nvr.example.com`,maxlength:253},null,8,[`modelValue`,`loading`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(e.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),g(`div`,Qt,[g(`label`,$t,_(e.$t(`components.form.label.tunnel_token`)),1),E(D,{id:`cloudflareToken`,modelValue:x(G),"onUpdate:modelValue":i[10]||=e=>k(G)?G.value=e:null,modelModifiers:{trim:!0},loading:x(X),feedback:!1,"toggle-mask":``,fluid:``,placeholder:x(jn)?`••••••••••••`:`eyJ...`},null,8,[`modelValue`,`loading`,`placeholder`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(x(jn)?e.$t(`components.form.hint.cloudflare_token_already_set`):e.$t(`components.form.hint.cloudflare_token_info`)),1)]),_:1})]),g(`div`,en,[E(u,{type:`button`,severity:`secondary`,loading:x(Ke),disabled:!x(Gn),class:`cui-button-small`,label:e.$t(`components.form.button.test_connection`),onClick:i[11]||=e=>vr(`cloudflare`)},null,8,[`loading`,`disabled`,`label`])])],64)):x(U)===`managed`?(p(),T(O,{key:2,name:`fade`,mode:`out-in`},{default:h(()=>[(p(),v(`div`,{key:x(Q),class:`flex flex-col gap-4`},[x(Q)===`idle`?(p(),v(de,{key:0},[g(`div`,tn,[g(`label`,nn,_(e.$t(`components.form.label.hostname`)),1),E(l,{id:`cloudflareHostnameManaged`,modelValue:x(W),"onUpdate:modelValue":i[12]||=e=>k(W)?W.value=e:null,modelModifiers:{trim:!0},loading:x(X),type:`text`,placeholder:`nvr.example.com`,maxlength:253},null,8,[`modelValue`,`loading`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(e.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),x(R)?.lastError?(p(),T(o,{key:0,severity:`error`,variant:`simple`,size:`small`},{default:h(()=>[b(_(x(R).lastError),1)]),_:1})):A(``,!0),g(`div`,rn,[E(u,{type:`button`,loading:x(Je),disabled:!x(Kn),class:`cui-button-medium`,label:e.$t(`components.form.button.connect_cloudflare`),onClick:fr},null,8,[`loading`,`disabled`,`label`])])],64)):x(Q)===`awaiting_login`?(p(),v(de,{key:1},[x(R)?.loginUrl?(p(),v(`div`,an,[g(`div`,on,[E(m,{value:x(R).loginUrl,size:160,"logo-size":32},null,8,[`value`])]),g(`div`,sn,[E(o,{variant:`simple`,size:`small`,class:`text-primary`},{default:h(()=>[b(_(e.$t(`components.form.hint.cloudflare_managed_awaiting_login`,{hostname:x(W)})),1)]),_:1}),g(`div`,cn,[g(`label`,ln,_(e.$t(`components.form.label.cloudflare_url`)),1),E(f,null,{default:h(()=>[E(l,{"model-value":x(R).loginUrl,readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(d,null,{default:h(()=>[E(y,{"action-text":e.$t(`components.form.tooltip.copied`),icon:x(oe),"button-props":{severity:`secondary`,text:!0},onAction:i[13]||=e=>gr(x(R).loginUrl)},null,8,[`action-text`,`icon`])]),_:1}),E(d,null,{default:h(()=>[ce((p(),T(u,{type:`button`,severity:`secondary`,text:``,onClick:i[14]||=e=>_r(x(R).loginUrl)},{icon:h(()=>[E(x(re))]),_:1})),[[N,{value:e.$t(`components.form.button.open_in_browser`)}]])]),_:1})]),_:1})]),g(`div`,un,[E(a,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),g(`span`,dn,_(e.$t(`views.settings.cloudflare_login_waiting`)),1),E(u,{type:`button`,severity:`secondary`,loading:x(Xe),class:`cui-button-small ml-auto`,label:e.$t(`components.form.button.cancel`),onClick:pr},null,8,[`loading`,`label`])])])])):(p(),v(`div`,fn,[E(a,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),g(`span`,pn,_(e.$t(`views.settings.cloudflare_login_waiting`)),1),E(u,{type:`button`,severity:`secondary`,loading:x(Xe),class:`cui-button-small ml-auto`,label:e.$t(`components.form.button.cancel`),onClick:pr},null,8,[`loading`,`label`])]))],64)):x(Q)===`creating_tunnel`||x(Q)===`setting_dns`?(p(),v(`div`,mn,[E(a,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),g(`span`,hn,_(x(Q)===`creating_tunnel`?e.$t(`components.form.hint.cloudflare_managed_creating_tunnel`):e.$t(`components.form.hint.cloudflare_managed_setting_dns`,{hostname:x(W)})),1),E(u,{type:`button`,severity:`secondary`,loading:x(Xe),class:`cui-button-small ml-auto`,label:e.$t(`components.form.button.cancel`),onClick:pr},null,8,[`loading`,`label`])])):x(Q)===`running`?(p(),v(de,{key:3},[g(`div`,gn,[g(`label`,_n,_(e.$t(`components.form.label.hostname`)),1),E(l,{readonly:``,value:`https://${x(R)?.hostname??``}`,type:`text`},null,8,[`value`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(e.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),x(R)?.tunnelId?(p(),v(`div`,vn,[g(`label`,yn,_(e.$t(`components.form.label.tunnel_id`)),1),E(l,{readonly:``,value:x(R).tunnelId,type:`text`},null,8,[`value`]),E(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:h(()=>[b(_(e.$t(`components.form.hint.cloudflare_tunnel_id_info`)),1)]),_:1})])):A(``,!0),g(`div`,bn,[E(u,{type:`button`,severity:`secondary`,loading:x(Ke),class:`cui-button-small`,label:e.$t(`components.form.button.test_connection`),onClick:i[15]||=e=>vr(`cloudflare`)},null,8,[`loading`,`label`]),E(u,{type:`button`,severity:`secondary`,loading:x(On),class:`cui-button-small ml-auto`,label:e.$t(`components.form.button.disconnect`),onClick:mr},null,8,[`loading`,`label`]),E(u,{type:`button`,severity:`danger`,loading:x(An),class:`cui-button-small`,label:e.$t(`components.form.button.logout`),onClick:hr},null,8,[`loading`,`label`])])],64)):A(``,!0)]))]),_:1})):A(``,!0)])):x(B).directMode===`customDomain`?(p(),v(`div`,xn,[E(x(M),{modelValue:x(H),"onUpdate:modelValue":i[16]||=e=>k(H)?H.value=e:null,modelModifiers:{trim:!0},loading:x(X),name:`customDomain.url`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:t,errors:n})=>[g(`label`,Sn,_(e.$t(`components.form.label.url`)),1),E(l,pe(t,{invalid:n.length>0,loading:x(X),type:`text`,placeholder:`https://my.example.com`}),null,16,[`invalid`,`loading`]),E(O,{name:`fade`},{default:h(()=>[E(x(j),{name:`customDomain.url`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`loading`]),g(`div`,Cn,[E(u,{type:`button`,severity:`secondary`,loading:x(Ke),disabled:!x(H),class:`cui-button-small`,label:e.$t(`components.form.button.test_connection`),onClick:i[17]||=e=>vr(`customDomain`)},null,8,[`loading`,`disabled`,`label`])])])):A(``,!0),E(u,{type:`submit`,loading:x(X),disabled:!x(Bn),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.save`)},null,8,[`loading`,`disabled`,`label`])],64)):A(``,!0)])]),_:1})])]),_:1},8,[`validation-schema`]),E(x(ue),{ref:`serverFormRef`,class:`flex flex-col w-full gap-6`,"validation-schema":x(et),onSubmit:i[20]||=e=>br(e)},{default:h(()=>[g(`div`,null,[g(`span`,wn,_(e.$t(`views.settings.network`)),1),E(s,{class:`cui-card`},{content:h(()=>[g(`div`,Tn,[g(`span`,En,_(e.$t(`views.settings.network_info`)),1),E(x(M),{"model-value":x(z).serverAddresses,name:`serverAddresses`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:t,errors:n})=>[g(`label`,Dn,_(e.$t(`components.form.label.server_addresses`)),1),E(f,null,{default:h(()=>[E(he,pe(t,{"model-value":x(z).serverAddresses,options:x(fe)?.availableAddresses||[],invalid:n.length>0,loading:x(X),"max-selected-labels":2,"show-toggle-all":!1,"show-clear":``,"option-label":`address`,"option-value":`address`,type:`text`,display:`chip`,onValueChange:i[19]||=e=>x(z).serverAddresses=e}),null,16,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),E(O,{name:`fade`},{default:h(()=>[E(x(j),{name:`serverAddresses`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),E(u,{type:`submit`,loading:x(X),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.save`)},null,8,[`loading`,`label`])])]),_:1})])]),_:1},8,[`validation-schema`])]))])}}}),[[`__scopeId`,`data-v-788da547`]]);export{On as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-Cb2CN1L7.js","./vendor-cameraui-D2u3KrB1.js","./rolldown-runtime-C0FnF6B9.js","./vendor-CSg6_Jfu.js","./api-B3KZZ8rN.js","./useElectron-_5uSFUvf.js","./vendor-zod-Dbq0fBXY.js","./types-BDNk1b9h.js","./lightbulb-outline-ccTlGyvW.js","./vendor-core-BXi0Qi10.js","./vendor-primevue-Bchwc-Ab.js","./vendor-dnd-DQF7Aoap.js","./close-CQoGQHOF.js","./vendor-draggabilly-Cghb3aIb.js","./api-BMM5CP59.css","./server-CKNXGRUG.js","./useServerRestart-D8lCTOtI.js","./plugins-cZz4VMT0.js","./useLogsSocket-B6JGfF3p.js","./vendor-xterm-BafMBqaV.js","./vendor-xterm-BrP-ENHg.css","./useLogsSocket-CoA-Nq-_.css","./CuiMarkdownContent-Bjs3wRnq.js","./vendor-markdown-DWwrEE67.js","./vendor-markdown-DtOhvyRx.css","./alert-circle-Cu_kjPlA.js","./platformLabels-D-cF6OTP.js","./config-CuTS8b79.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Mr as e,Mt as t,Ot as n,z as r}from"./vendor-cameraui-D2u3KrB1.js";import{$t as ee,C as i,X as a,Y as o,an as s,er as c,g as l}from"./api-B3KZZ8rN.js";import{Nn as u,On as te,Rt as ne,Xn as d,an as f,br as p,cn as m,cr as h,en as re,fn as g,gr as _,hn as ie,in as v,jn as ae,on as y,pn as b,qn as x,sn as S,t as C}from"./vendor-CSg6_Jfu.js";import{a as oe,t as se}from"./useElectron-_5uSFUvf.js";import{K as ce,z as le}from"./vendor-primevue-Bchwc-Ab.js";import{r as ue,t as de}from"./server-CKNXGRUG.js";import{n as fe}from"./useServerRestart-D8lCTOtI.js";import{n as pe,t as me}from"./api-BWixZaOV.js";import{t as he}from"./useAppVersion-C9RbfMSY.js";var ge={class:`flex flex-col w-full gap-6`},_e={key:0},ve={class:`flex items-center gap-4`},ye={class:`flex flex-col field-switch-gap`},be={for:`betaChannel`,class:`cui-label-switch`},xe={class:`flex flex-col gap-6`},Se={key:0,class:`flex flex-row items-center justify-between`},Ce={class:`text-sm`},we={key:1,class:`text-sm font-bold`},Te={key:1,class:`flex flex-row items-center justify-between`},Ee={class:`text-sm`},De={class:`text-sm font-bold`},Oe={key:0,class:`text-muted font-normal`},ke={class:`flex flex-row items-center justify-between`},Ae={class:`text-sm`},je={key:1,class:`text-sm font-bold`},Me={key:2,class:`flex w-full items-center gap-2`},Ne={key:1},Pe={class:`card-title`},Fe={class:`flex flex-col gap-6`},Ie={class:`text-sm`},Le={class:`card-title`},Re={class:`flex flex-col gap-6`},ze={class:`text-sm`},Be={key:2},Ve={class:`card-title`},He={class:`flex flex-col gap-6`},Ue={class:`text-sm`},w=ie({__name:`SettingsSystem`,setup(ie){let w=a(()=>ne(()=>import(`./VersionsHandler-Cb2CN1L7.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]),import.meta.url)),T=new me,E=new de,D=oe(),O=o(),{t:k}=e(),{isElectronApp:A,electron:j}=se(),{isOnline:M}=c(),{restarting:N,beginServerRestart:We}=fe(),{isBeta:P,setChannel:Ge}=i(),{appVersion:F,nativeVersion:I,refreshAppVersion:Ke}=he(),qe=l();E.toggleQueryActivator(`checkVersionQuery`,!1);let{data:L,isBusy:Je}=T.apiInfoQuery(),{data:R,isBusy:Ye}=E.checkVersionQuery(),{mutate:Xe,isPending:Ze}=E.restartServerQuery(),{mutateAsync:Qe,isPending:$e}=E.resetServerQuery(),et=h(k(`views.settings.unknown`)),tt=h(k(`views.settings.unknown`)),z=h(),B=h(),V=h(),H=h(),U=h(!1),W=h(!1),nt=h(!1),G=h(!1),K=0,q=v(()=>L.value?.electron??!1),J=v(()=>Ze.value||$e.value||Je.value||Ye.value||G.value||W.value),Y=v(()=>L.value?.installedVersion||L.value?.version),X=v(()=>L.value?.restartRequired??!1),Z=v(()=>J.value||!M.value||N.value),rt=v(()=>Y.value&&V.value?C(V.value,Y.value)===1:!1),it=v(()=>Y.value&&z.value?C(z.value,Y.value)===1:!1),at=v(()=>P.value&&Y.value&&B.value?C(B.value,Y.value)===1:!1),Q=v(()=>{let e=[rt.value?V.value:void 0,at.value?B.value:void 0,it.value?z.value:void 0].filter(e=>!!e);if(e.length)return e.sort((e,t)=>C(t,e))[0]});function ot(e){Ge(e===!0?`beta`:`production`)}async function st(){if(!U.value){U.value=!0;try{let e=await ue(),t=new Blob([e],{type:`application/x-x509-ca-cert`});await s({blob:t,filename:`cert.pem`,mimeType:`application/x-x509-ca-cert`})}catch(e){D.error(e)}U.value=!1}}function ct(){We(),Xe()}function $(e){switch(e){case`restart`:O.openTextDialog({data:{title:k(`components.dialog.title.restart`),confirmText:k(`components.form.button.restart`),contentText:k(`components.dialog.message.confirm_restart_server`),loading:J},onConfirm:ct});break;case`reset`:O.openTextDialog({data:{title:k(`components.dialog.title.reset_server`),confirmText:k(`components.form.button.reset`),contentText:k(`components.dialog.message.confirm_reset_server`),loading:J},onConfirm:async()=>{try{await Qe()}catch{}finally{qe.logout()}}});break;case`versions`:case`install`:O.openComponentDialog(w,{data:{title:k(`components.dialog.title.install_version`),confirmText:k(e===`install`?`components.form.button.update`:`components.form.button.install`),loading:J,contentProps:{target:{type:`server`},installVersion:e===`install`?Q.value:void 0}}})}}async function lt(){if(A)try{nt.value=!0,tt.value=await j.invoke(`get-app-version`)??k(`views.settings.unknown`)}catch(e){D.error(`Error getting electron app version:`,e)}finally{nt.value=!1}}async function ut(){if(A)try{G.value=!0;let e=await j.invoke(`get-update-available`);H.value=e.isUpdateAvailable?e.version:void 0}catch(e){D.error(`Error checking for electron updates:`,e)}finally{G.value=!1}}async function dt(){if(A)try{W.value=!0,await j.invoke(`quit-and-install`)}catch(e){D.error(`Error installing electron update:`,e)}finally{W.value=!1}}async function ft(){let e=++K;for(let t=0;t<30;t++)try{if(await pe({signal:AbortSignal.timeout(5e3)}),e!==K)return;T.queryClient.invalidateQueries({queryKey:[`api`]}),E.queryClient.invalidateQueries({queryKey:[`version`]});return}catch{if(await new Promise(e=>setTimeout(e,2e3)),e!==K||!M.value)return}}return x(L,()=>{et.value=L.value?.version||k(`views.settings.unknown`),L.value&&E.toggleQueryActivator(`checkVersionQuery`,!q.value)},{deep:!0,immediate:!0}),x(R,()=>{V.value=R.value?.[`dist-tags`].latest,z.value=R.value?.[`dist-tags`].alpha,B.value=R.value?.[`dist-tags`].beta},{deep:!0,immediate:!0}),x([M,N],([e,t],[n,r])=>{q.value||(e&&!n||r&&!t&&e)&&ft()}),te(()=>{K++}),ae(()=>{A&&(lt(),ut())}),(e,i)=>{let a=le,o=ce,s=r,c=n,l=t;return u(),m(`div`,null,[f(`div`,ge,[_(q)?S(``,!0):(u(),m(`div`,_e,[b(s,{class:`cui-card`},{content:d(()=>[f(`div`,null,[f(`div`,ve,[f(`div`,ye,[f(`label`,be,p(e.$t(`views.settings.beta_updates`)),1),b(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:d(()=>[g(p(e.$t(`views.settings.beta_updates_info`)),1)]),_:1})]),b(o,{"input-id":`betaChannel`,"model-value":_(P),class:`ml-auto shrink-0`,"onUpdate:modelValue":ot},null,8,[`model-value`])])])]),_:1})])),f(`div`,null,[i[6]||=f(`span`,{class:`card-title`},`camera.ui`,-1),b(s,{class:`cui-card`},{content:d(()=>[f(`div`,xe,[_(A)?(u(),m(`div`,Se,[f(`span`,Ce,p(e.$t(`views.settings.app`)),1),_(J)?(u(),y(c,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(u(),m(`span`,we,`v`+p(_(tt)),1))])):S(``,!0),_(!1)&&_(F)?(u(),m(`div`,Te,[f(`span`,Ee,p(e.$t(`views.settings.app`)),1),f(`span`,De,[g(` v`+p(_(F)),1),_(I)&&_(I)!==_(F)?(u(),m(`span`,Oe,` (`+p(_(I))+`)`,1)):S(``,!0)])])):S(``,!0),f(`div`,ke,[f(`span`,Ae,p(e.$t(`views.settings.server`)),1),_(J)?(u(),y(c,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(u(),m(`span`,je,[g(` v`+p(_(et)),1),_(X)?(u(),m(re,{key:0},[g(` → v`+p(_(Y)),1)],64)):S(``,!0)]))]),_(A)&&_(H)||!_(q)?(u(),m(`div`,Me,[i[5]||=f(`div`,{class:`ml-auto`},null,-1),_(A)&&_(H)?(u(),y(l,{key:0,disabled:!_(A),loading:_(J),class:`cui-button-medium`,label:`${e.$t(`components.form.button.update`)} (v${_(H)})`,onClick:dt},null,8,[`disabled`,`loading`,`label`])):S(``,!0),!_(q)&&_(X)?(u(),y(l,{key:1,loading:_(J),disabled:_(Z),class:`cui-button-medium`,label:`${e.$t(`components.form.button.restart`)} (v${_(Y)})`,onClick:i[0]||=e=>$(`restart`)},null,8,[`loading`,`disabled`,`label`])):!_(q)&&_(Q)?(u(),y(l,{key:2,loading:_(J),disabled:_(Z),class:`cui-button-medium`,label:`${e.$t(`components.form.button.update`)} (v${_(Q)})`,onClick:i[1]||=e=>$(`install`)},null,8,[`loading`,`disabled`,`label`])):S(``,!0),_(q)?S(``,!0):(u(),y(l,{key:3,loading:_(J),disabled:_(Z),class:`cui-button-medium`,label:e.$t(`components.form.button.manage`),onClick:i[2]||=e=>$(`versions`)},null,8,[`loading`,`disabled`,`label`]))])):S(``,!0)])]),_:1})]),_(A)?S(``,!0):(u(),m(`div`,Ne,[f(`span`,Pe,p(e.$t(`views.settings.certificate`)),1),b(s,{class:`cui-card`},{content:d(()=>[f(`div`,Fe,[f(`span`,Ie,p(e.$t(`views.settings.certificate_info`)),1),b(l,{loading:_(U)||_(J),disabled:_(Z),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.download`),onClick:st},null,8,[`loading`,`disabled`,`label`])])]),_:1})])),f(`div`,null,[f(`span`,Le,p(e.$t(`views.settings.restart_server`)),1),b(s,{class:`cui-card`},{content:d(()=>[f(`div`,Re,[f(`span`,ze,p(e.$t(`views.settings.restart_server_info`)),1),b(l,{loading:_(J),disabled:_(Z),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.restart`),onClick:i[3]||=e=>$(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in e?e.hasPermission:_(ee))(void 0,`master`)?(u(),m(`div`,Be,[f(`span`,Ve,p(e.$t(`views.settings.reset_server`)),1),b(s,{class:`cui-card !border-red-900`},{content:d(()=>[f(`div`,He,[f(`span`,Ue,p(e.$t(`views.settings.reset_server_info`)),1),b(l,{loading:_(J),disabled:_(Z),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.reset`),onClick:i[4]||=e=>$(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):S(``,!0)])])}}});export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mr as e,Mt as t,Ot as n,k as r,z as i}from"./vendor-cameraui-D2u3KrB1.js";import{D as a,Jt as o,Qn as s,Y as c,Yn as l,Yt as u,k as d,un as f}from"./api-B3KZZ8rN.js";import{Gn as p,Nn as m,Xn as h,_r as g,an as _,b as v,bn as y,br as b,cn as x,cr as S,fr as C,gr as w,hn as T,in as E,ir as D,mr as O,on as k,pn as A,qt as j,rr as M,sn as N,v as P,wn as F,y as I}from"./vendor-CSg6_Jfu.js";import{a as L}from"./useElectron-_5uSFUvf.js";import{I as R,R as z,S as B,j as V,s as H}from"./vendor-primevue-Bchwc-Ab.js";import{t as U}from"./delete-xWUQUP2x.js";import{t as W}from"./CuiDataTable-BmGMKsJm.js";var G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(e,t){return m(),x(`svg`,G,[...t[0]||=[_(`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 q=D({name:`mdi-account-edit`,render:K}),J={for:`username`,class:`cui-label`},Y={for:`password`,class:`cui-label`},X={for:`passwordConfirm`,class:`cui-label`},Z={for:`role`,class:`cui-label`},Q=T({__name:`UserForm`,props:{user:{}},setup(t,{expose:n}){let i=new l,o=t,c=L(),u=s(),{t:f}=e(),g=y(`dialogRefProps`),{mutateAsync:x,isPending:C}=i.createUserQuery(),{mutateAsync:T,isPending:D}=i.patchUserQuery(),{user:M}=O(o),R=p(`formRef`),B=S({}),U=S([`user`,`admin`]),W=E(()=>!!(g.loading?.value||C.value||D.value));async function G(){let e=await R.value?.validate();if(!e?.valid)return c.error(`Validation failed`,e),u.add({severity:`error`,detail:f(`components.toast.validation_failed`),life:3e3}),null;M.value?await T({username:M.value.username,userData:B.value}):await x({userData:B.value})}return n({isLoading:W,onConfirm:G}),(e,t)=>{let n=r,i=z,o=H,s=V;return m(),k(w(v),{ref_key:`formRef`,ref:R,class:`flex flex-col gap-6`,"validation-schema":w(M)?w(d):w(a)},{default:h(()=>[A(w(I),{modelValue:w(B).username,"onUpdate:modelValue":t[0]||=e=>w(B).username=e,modelModifiers:{trim:!0},value:w(M)?.username??w(B).username,name:`username`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:t,errors:r})=>[_(`label`,J,b(e.$t(`components.form.label.username`)),1),A(i,null,{default:h(()=>[A(n,F(t,{invalid:r.length>0,loading:w(W),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),A(j,{name:`fade`},{default:h(()=>[A(w(P),{name:`username`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`value`]),A(w(I),{modelValue:w(B).password,"onUpdate:modelValue":t[1]||=e=>w(B).password=e,name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:t,errors:n})=>[_(`label`,Y,b(e.$t(`components.form.label.new_password`)),1),A(i,null,{default:h(()=>[A(o,F({invalid:n.length>0},t,{loading:w(W),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),A(j,{name:`fade`},{default:h(()=>[A(w(P),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),A(w(I),{modelValue:w(B).passwordConfirm,"onUpdate:modelValue":t[2]||=e=>w(B).passwordConfirm=e,name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:h(({field:t,errors:n})=>[_(`label`,X,b(e.$t(`components.form.label.new_password_confirm`)),1),A(i,null,{default:h(()=>[A(o,F({invalid:n.length>0},t,{loading:w(W),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),A(j,{name:`fade`},{default:h(()=>[A(w(P),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),w(M)?.role===`master`?N(``,!0):(m(),k(w(I),{key:0,"model-value":w(B).role,name:`role`,as:`div`,class:`flex flex-col field-gap`},{default:h(({errors:n})=>[_(`label`,Z,b(e.$t(`components.form.label.role`)),1),A(i,null,{default:h(()=>[A(s,{"model-value":w(M)?.role??w(B).role,options:w(U),invalid:n.length>0,loading:w(W),type:`text`,onValueChange:t[3]||=e=>w(B).role=e},null,8,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),A(j,{name:`fade`},{default:h(()=>[A(w(P),{name:`role`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]))]),_:1},8,[`validation-schema`])}}}),$={class:`flex flex-col w-full gap-6`},ee={class:`card-title`},te={class:`flex flex-col gap-6`},ne={class:`flex items-center gap-2`},re={class:`flex flex-col`},ie={class:`text-sm font-semibold text-color`},ae={class:`text-xs text-muted`},oe={class:`relative w-6 h-6`},se={class:`flex flex-row items-end justify-end gap-2`},ce=T({__name:`SettingsUsers`,setup(r){let a=new l,s=c(),{mdBreakpoint:d}=f(),{t:v}=e(),y=S({pageSize:15,page:1}),{data:T,isBusy:D}=a.getUsersQuery(y),{mutate:O,isPending:k}=a.removeUserQuery(),j={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},N=S({global:{value:null,matchMode:R.CONTAINS}}),P=p(`menuRef`),F=E(()=>D.value||k.value),I=E(()=>[{label:v(`views.settings.edit`),icon:q,buttonProps:{disabled:F.value},onClick:e=>{L(e)}},{label:v(`views.settings.remove`),icon:U,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:F.value,severity:`danger`},onClick:e=>{O({username:e.username})}}]);function L(e){s.openComponentDialog(Q,{data:{title:v(e?`components.dialog.title.edit_user`:`components.dialog.title.create_new_user`),confirmText:v(e?`components.form.button.save`:`components.form.button.add`),loading:F,contentProps:{user:C(e)}}})}return(e,r)=>{let a=n,s=u,c=B,l=t,f=W,p=i;return m(),x(`div`,null,[_(`div`,$,[_(`div`,null,[_(`span`,ee,b(e.$t(`views.settings.registered_users`)),1),A(p,{class:`cui-card`},{content:h(()=>[_(`div`,te,[A(f,{filters:w(N),"onUpdate:filters":r[0]||=e=>M(N)?N.value=e:null,value:w(T)?.result,paginator:w(y).page>1||w(T)?.result&&w(T).result.length>15,"data-key":`id`,"filter-display":`menu`,loading:w(F),"global-filter-fields":[`username`],pt:j,"striped-rows":``,scrollable:``},{loading:h(()=>[A(a,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),default:h(()=>[A(c,{field:`username`,"align-frozen":`left`,frozen:!w(d),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})=>[_(`div`,ne,[A(s,{src:e.avatar,size:54},null,8,[`src`]),_(`div`,re,[_(`span`,ie,b(e.username),1),_(`span`,ae,b(e.role),1)])])]),_:1},8,[`frozen`,`header`]),A(c,{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})=>[_(`div`,null,[A(l,{severity:`secondary`,text:``,rounded:``,loading:w(F),class:`cui-icon-md`,onClick:t=>w(P)?.toggleMenu(t,void 0,e)},{icon:h(()=>[_(`div`,oe,[_(`div`,{class:g([`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":w(P)?.isOpen&&w(P)?.data?._id===e._id}])},null,2),_(`div`,{class:g([`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":w(P)?.isOpen&&w(P)?.data?._id===e._id}])},null,2),_(`div`,{class:g([`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":w(P)?.isOpen&&w(P)?.data?._id===e._id}])},null,2)])]),_:2},1032,[`loading`,`onClick`])])]),_:1})]),_:1},8,[`filters`,`value`,`paginator`,`loading`]),_(`div`,se,[A(l,{severity:`success`,loading:w(F),class:`cui-button-medium mr-4 md:mr-0`,label:e.$t(`components.form.button.create_new_user`),onClick:r[1]||=e=>L()},null,8,[`loading`,`label`])])])]),_:1})])]),A(o,{ref_key:`menuRef`,ref:P,items:w(I),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{ce as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Et as e,Kr as t,Mr as n,Mt as r,Qr as i,Rt as a,xi as o}from"./vendor-cameraui-D2u3KrB1.js";import{V as s,m as c,sn as l,un as u,vn as d}from"./api-B3KZZ8rN.js";import{$t as f,Fn as p,Gn as m,Mn as h,Nn as g,Tn as _,Xn as v,Zn as y,Zt as b,_r as x,an as S,br as C,cn as w,cr as T,dr as ee,en as E,gr as D,hn as O,in as k,ir as A,jn as te,mr as j,on as M,or as N,pn as P,qn as F,sn as I,wn as ne,yr as L,zn as R}from"./vendor-CSg6_Jfu.js";import{a as re}from"./useElectron-_5uSFUvf.js";import{p as z}from"./vendor-core-BXi0Qi10.js";import{o as B}from"./vendor-primevue-Bchwc-Ab.js";import{a as V,i as H,n as U,r as W,t as G}from"./vendor-xterm-BafMBqaV.js";import{t as ie}from"./back-filled-r7bN5ObT.js";import{t as K}from"./settings-DY0TJSAM.js";import{n as ae,t as oe}from"./zoom-in-D7BJNotF.js";import{n as se,t as ce}from"./CuiTopNavbarItem-Dj1lpqE0.js";import{t as le}from"./trash-2-B-di2M48.js";var q={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function ue(e,t){return g(),w(`svg`,q,[...t[0]||=[S(`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 de=A({name:`carbon-reset`,render:ue}),fe={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function J(e,t){return g(),w(`svg`,fe,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M17 15V8h-2v7H8v2h7v7h2v-7h7v-2z`},null,-1)]])}var pe=A({name:`carbon-add`,render:J}),me=l(O({__name:`CuiTerminal`,props:{autoConnect:{type:Boolean,default:!0},cwd:{},shell:{},options:{default:()=>({fontSize:14})},inputTransform:{}},emits:[`connected`,`disconnected`,`error`],setup(n,{expose:r,emit:i}){let a=n,s=i,{isConnected:c,isConnecting:l,isClientConnected:u,error:d,connect:f,write:p,resize:v,close:y}=e(),{options:b}=j(a),x={fontSize:14,scrollback:5e3,allowTransparency:!1,disableStdin:!1,cursorBlink:!0,allowProposedApi:!0,theme:{background:`#000000`}},S={"\x1B[A":`\x1BOA`,"\x1B[B":`\x1BOB`,"\x1B[C":`\x1BOC`,"\x1B[D":`\x1BOD`,"\x1B[H":`\x1BOH`,"\x1B[F":`\x1BOF`},C=m(`terminalContainerRef`),T=ee(null),E=null,D=null,O=null,k=null,A=t(C);function M(e){c.value&&p(a.inputTransform?a.inputTransform(e):e)}function N(e){T.value&&T.value.write(e)}function P(){if(!(!T.value||!E))try{E.fit()}catch{}}function I(){P(),c.value&&T.value&&v({cols:T.value.cols,rows:T.value.rows})}function ne(){T.value&&_(()=>{P(),T.value&&(T.value.refresh(0,T.value.rows-1),T.value.focus())})}let L=o(I,100);function R(e){if(e)try{e.dispose()}catch{}}function re(){C.value&&(T.value=new G({...x,...b.value}),E=new V,k=new U,D=new H,O=new W,T.value.loadAddon(D),T.value.loadAddon(O),T.value.loadAddon(k),T.value.loadAddon(E),T.value.open(C.value),T.value.onData(M),T.value.onResize(({cols:e,rows:t})=>{c.value&&v({cols:e,rows:t})}),k.onContextLoss(()=>{R(k),k=null}),I())}async function z(){T.value&&await f({cols:T.value.cols,rows:T.value.rows,cwd:a.cwd,shell:a.shell,onData:N,onClose:()=>{T.value?.write(`\r
|
|
2
|
+
\x1B[33mSession closed.\x1B[0m\r
|
|
3
|
+
`)},onError:e=>{s(`error`,e)}})}async function B(){await y()}function ie(){T.value?.clear()}function K(){T.value?.focus()}function ae(e){T.value?.modes.applicationCursorKeysMode&&(e=S[e]??e),M(e)}return F(b,()=>{T.value&&(T.value.options={...x,...b.value},L())},{deep:!0}),F(c,e=>{e?(s(`connected`),_(()=>T.value?.focus())):s(`disconnected`)}),F([A.height,A.width],()=>{L()}),te(()=>{re(),a.autoConnect&&z()}),h(()=>{y(),R(E),R(k),R(D),R(O),R(T.value)}),r({connect:z,disconnect:B,clear:ie,focus:K,resize:I,refresh:ne,sendInput:ae,isConnected:c,isConnecting:l,isClientConnected:u,error:d,term:T}),(e,t)=>(g(),w(`div`,{ref_key:`terminalContainerRef`,ref:C,class:`cui-terminal w-full h-full bg-black overflow-hidden p-2 min-w-0`},null,512))}}),[[`__scopeId`,`data-v-82bcb47c`]]),Y=[{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:`_`}],X=[`tab`,`ctrl`,`up`,`down`,`left`,`right`],Z={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:``},he=[`onPointerdown`],Q={key:0,class:`flex flex-wrap gap-1.5 px-2 py-2 bg-black/90 border-t border-white/10`},ge=[`onClick`],_e=l(O({__name:`CuiTerminalToolbar`,emits:[`send`],setup(e,{expose:t,emit:n}){let r=n,{smBreakpoint:a}=u(),o=Y,s=i(`cui-terminal-toolbar-keys`,X),c=T(!1),l=N(new Set),d=k(()=>s.value.map(e=>o.find(t=>t.id===e)).filter(Boolean));function m(e){if(l.has(`ctrl`)&&e.length===1){let t=Z[e.toLowerCase()];if(t)return t}return l.has(`alt`)&&e.length===1?`\x1b${e}`:e}function h(e){if(e.modifier){l.has(e.id)?l.delete(e.id):l.add(e.id);return}let t=m(e.sequence);r(`send`,t),l.clear()}function _(e){let t=s.value.indexOf(e);t>=0?s.value.splice(t,1):s.value.push(e)}return t({activeModifiers:l,applyModifiers:m}),(e,t)=>{let n=K;return g(),w(`div`,null,[S(`div`,{class:x([`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":!D(a)}])},[(g(!0),w(E,null,p(D(d),e=>(g(),w(`button`,{key:e.id,class:x([`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&&D(l).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&&D(l).has(e.id))}]),onPointerdown:f(t=>h(e),[`prevent`])},C(e.label),43,he))),128)),S(`button`,{class:x([`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":D(c),"bg-white/5 border-white/10 text-white/50 hover:bg-white/15 hover:text-white":!D(c)}]),onPointerdown:t[0]||=f(e=>c.value=!D(c),[`prevent`])},[P(n,{class:`w-3.5 h-3.5`})],34)],2),D(c)?(g(),w(`div`,Q,[(g(!0),w(E,null,p(D(o),e=>(g(),w(`button`,{key:e.id,class:x([`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":D(s).includes(e.id),"bg-white/5 border-white/10 text-white/30":!D(s).includes(e.id)}]),onClick:t=>_(e.id)},C(e.label),11,ge))),128))])):I(``,!0)])}}}),[[`__scopeId`,`data-v-e111c595`]]),ve={class:`h-full w-full dark-mode relative overflow-hidden`},ye={class:`relative w-6 h-6`},$=O({__name:`Terminal`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(e){let i=e,o=re(),{t:l}=n(),u=d(),{uiSettings:f}=z(u),{navbarWidth:C,navbarLeft:ee}=j(i),O=m(`toolbar`),A=T([]),N=T(``),F=T(0),I=new Map,V=window.innerHeight,H=0,U=t(O),W=k(()=>C.value+ee.value),G=k(()=>{let e=document.getElementById(`container`);return e&&parseFloat(getComputedStyle(e).paddingBottom)||0}),K=k(()=>F.value<=0?0:Math.max(0,F.value-G.value)),q=k(()=>A.value.find(e=>e.id===N.value)),ue=k(()=>({fontSize:f.value.console.zoom})),fe=T([{label:l(`components.form.tooltip.clear`),icon:le,buttonProps:{severity:`danger`},command:()=>{Q()?.clear()}},{label:l(`components.form.tooltip.zoom_out`),icon:ae,command:()=>{ke()}},{label:l(`components.form.tooltip.zoom_in`),icon:oe,command:()=>{Oe()}}]);function J(){V=window.innerHeight,Y()}function Y(){let e=window.visualViewport;if(!e)return;let t=Math.max(0,V-e.height-e.offsetTop);t!==F.value&&(F.value=t,Z(t>0))}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 he(e,t){t?I.set(e,t):I.delete(e)}function Q(){return I.get(N.value)}function ge(){return H++,{id:c(12),name:`Terminal ${H}`,isConnected:!1,isConnecting:!0}}function $(){let e=ge();A.value.push(e),N.value=e.id}async function be(e){let t=A.value.findIndex(t=>t.id===e);if(t===-1)return;let n=I.get(e);if(n&&await n.disconnect(),A.value.splice(t,1),I.delete(e),N.value===e&&A.value.length>0){let e=Math.min(t,A.value.length-1);N.value=A.value[e].id,_(()=>{Q()?.refresh()})}}function xe(e){N.value=e,_(()=>{I.get(e)?.refresh()})}function Se(e){if(!O.value?.activeModifiers?.size)return e;let t=O.value.applyModifiers(e);return O.value.activeModifiers.clear(),t}function Ce(e){Q()?.sendInput(e)}async function we(){let e=Q();e&&(await e.disconnect(),await e.connect())}function Te(e){let t=A.value.find(t=>t.id===e);t&&(t.isConnected=!0,t.isConnecting=!1),e===N.value&&_(()=>{Q()?.refresh()})}function Ee(e){let t=A.value.find(t=>t.id===e);t&&(t.isConnected=!1,t.isConnecting=!1)}function De(e,t){o.error(`Terminal ${e} error:`,t);let n=A.value.find(t=>t.id===e);n&&(n.isConnected=!1,n.isConnecting=!1)}function Oe(){f.value.console.zoom!==20&&(f.value.console.zoom++,_(()=>{Q()?.resize()}))}function ke(){f.value.console.zoom!==8&&(f.value.console.zoom--,_(()=>{Q()?.resize()}))}return te(()=>{window.addEventListener(`resize`,J);let e=window.visualViewport;e&&(e.addEventListener(`resize`,Y),e.addEventListener(`scroll`,Y)),$()}),h(()=>{window.removeEventListener(`resize`,J);let e=window.visualViewport;e&&(e.removeEventListener(`resize`,Y),e.removeEventListener(`scroll`,Y)),Z(!1)}),(e,t)=>{let n=ie,i=r,o=s,c=ce,u=pe,d=se,f=B,m=de,h=a;return g(),w(`div`,ve,[P(o,{position:`left`},{default:v(()=>[P(i,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:t[0]||=t=>e.$router.push(`/menu`)},{icon:v(()=>[P(n,{class:`w-6 h-6`})]),_:1})]),_:1}),P(d,{scrollable:``,"left-offset":D(W),animate:``},{left:v(()=>[(g(!0),w(E,null,p(D(A),e=>(g(),M(c,{key:e.id,type:`tab`,label:e.name,active:D(N)===e.id,status:e.isConnected?`connected`:e.isConnecting?`connecting`:`disconnected`,closeable:D(A).length>1,onClick:t=>xe(e.id),onClose:t=>be(e.id)},null,8,[`label`,`active`,`status`,`closeable`,`onClick`,`onClose`]))),128)),y((g(),M(c,{type:`button`,onClick:$},{icon:v(()=>[P(u,{class:`w-4 h-4`})]),_:1})),[[h,D(l)(`views.terminal.new_tab`)]])]),_:1},8,[`left-offset`]),S(`div`,{class:`w-full flex flex-col relative`,style:L({paddingTop:`${D(55)}px`,height:`calc(100% - ${D(K)}px)`,transition:`height 150ms ease-out`})},[S(`div`,{class:x([`flex-1 relative min-h-0 overflow-hidden`,{"pb-1":D(F)>0}])},[(g(!0),w(E,null,p(D(A),e=>y((g(),M(me,{key:e.id,ref_for:!0,ref:t=>he(e.id,t),options:D(ue),"input-transform":Se,"auto-connect":``,onConnected:()=>Te(e.id),onDisconnected:()=>Ee(e.id),onError:t=>De(e.id,t)},null,8,[`options`,`onConnected`,`onDisconnected`,`onError`])),[[b,D(N)===e.id]])),128))],2),P(_e,{ref_key:`toolbar`,ref:O,onSend:Ce},null,512)],4),P(f,{model:D(fe),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:L({bottom:`calc(0.75rem + ${D(U).height.value}px + ${D(K)}px)`,transition:`bottom 150ms ease-out`})},{button:v(({visible:e,toggleCallback:t})=>[P(i,{severity:`secondary`,class:x([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,onClick:t},{icon:v(()=>[S(`div`,ye,[S(`div`,{class:x([`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),S(`div`,{class:x([`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),S(`div`,{class:x([`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:v(({item:e,toggleCallback:t})=>[y((g(),M(i,ne({severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:v(()=>[(g(),M(R(e.icon)))]),_:2},1040,[`onClick`])),[[h,{value:e.label}]])]),_:1},8,[`model`,`style`]),y((g(),M(i,{class:x([`opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition absolute right-14 z-11`,{"!opacity-20 pointer-events-none":D(q)?.isConnected||D(q)?.isConnecting}]),style:L({bottom:`calc(0.75rem + ${D(U).height.value}px + ${D(K)}px)`,transition:`bottom 150ms ease-out`}),rounded:``,disabled:D(q)?.isConnected||D(q)?.isConnecting,onClick:we},{icon:v(()=>[P(m,{class:`text-white`})]),_:1},8,[`class`,`style`,`disabled`])),[[h,D(l)(`views.terminal.reconnect`)]])])}}});export{$ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Nn as e,Xn as t,an as n,br as r,cr as i,gr as a,hn as o,on as s}from"./vendor-CSg6_Jfu.js";import{w as c}from"./vendor-primevue-
|
|
1
|
+
import{Nn as e,Xn as t,an as n,br as r,cr as i,gr as a,hn as o,on as s}from"./vendor-CSg6_Jfu.js";import{w as c}from"./vendor-primevue-Bchwc-Ab.js";import{i as l}from"./flowSchema-CTDMgLvN.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 e(),s(p,{"model-value":o.modelValue,suggestions:a(_),"option-label":`label`,placeholder:o.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:t(({option:e})=>[n(`div`,u,[n(`span`,d,r(e.label),1),n(`span`,f,r(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
|
package/dist/interface/assets/{VariableSuggestions-DV_QjTtU.js → VariableSuggestions-Dr5nstx8.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mr as e}from"./vendor-cameraui-D2u3KrB1.js";import{Fn as t,Nn as n,Xn as r,an as i,cn as a,en as o,gr as s,hn as c,on as l,sn as u}from"./vendor-CSg6_Jfu.js";import{T as d,c as f}from"./vendor-primevue-Bchwc-Ab.js";var p={class:`flex flex-wrap gap-1`},m=c({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(c){let{t:m}=e();return(e,h)=>{let g=d,_=f;return c.variables.length?(n(),l(_,{key:0,header:s(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:r(()=>[i(`div`,p,[(n(!0),a(o,null,t(c.variables,t=>(n(),l(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`])):u(``,!0)}}});export{m as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mr as e,Ot as t}from"./vendor-cameraui-D2u3KrB1.js";import{C as n,Qn as r,un as i}from"./api-B3KZZ8rN.js";import{Fn as ee,Gn as a,Mn as o,Nn as s,an as c,bn as l,br as u,cn as d,cr as f,en as te,fn as ne,gr as p,hn as m,in as h,jn as re,mr as ie,pn as g,q as ae,qn as _,rr as v,sn as y,t as oe}from"./vendor-CSg6_Jfu.js";import{K as se,j as ce}from"./vendor-primevue-Bchwc-Ab.js";import{t as le}from"./server-CKNXGRUG.js";import{n as ue}from"./useServerRestart-D8lCTOtI.js";import{t as de}from"./plugins-cZz4VMT0.js";import{n as fe,t as pe}from"./useLogsSocket-B6JGfF3p.js";import{t as me}from"./CuiMarkdownContent-Bjs3wRnq.js";import{t as he}from"./alert-circle-Cu_kjPlA.js";import{t as ge}from"./platformLabels-D-cF6OTP.js";import{t as _e}from"./config-CuTS8b79.js";function b(e){return`id`in e&&!(`type`in e)}function x(e){return`type`in e}var ve={key:0},ye={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`},be={class:`flex flex-col gap-1 min-w-0`},xe={class:`text-sm font-semibold text-orange-400`},Se={key:0},Ce={class:`text-xs text-orange-600 dark:text-orange-300`},we={class:`text-sm text-orange-400`},Te={key:1},Ee={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},De={key:2},Oe={class:`text-muted`},ke={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},Ae={class:`flex flex-col gap-1 min-w-0`},je={class:`text-sm font-semibold text-orange-400`},Me={class:`text-xs text-orange-600 dark:text-orange-300`},Ne={key:3},Pe={class:`cui-label`},Fe={key:4,class:`w-full h-full relative`},Ie={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Le=`2.0.0`,S=m({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(m,{expose:S}){let C=new de,w=new le,Re=new _e,ze=ae(),T=m,E=r(),{t:D}=e(),{mdBreakpoint:O}=i(),{beginServerRestart:Be}=ue(),{isBeta:Ve}=n(),k=l(`dialogRef`),A=l(`dialogRefProps`),{target:j,installVersion:M}=ie(T),N=f();C.toggleQueryActivator(`getPluginVersionsQuery`,!1),C.toggleQueryActivator(`getPluginChangelogQuery`,!1),C.toggleQueryActivator(`getPluginCompatQuery`,!1),w.toggleQueryActivator(`checkVersionQuery`,!1),w.toggleQueryActivator(`getServerChangelogQuery`,!1);let He=h(()=>b(j.value)?j.value.pluginName:`server`),P=h(()=>T.action===`uninstall`&&b(j.value)),F=pe({target:He.value,onStdout:e=>B.value?.writeTerminal(e),onDisconnect:()=>B.value?.writeTerminal(`
|
|
2
2
|
\rWebsocket failed to connect! Is the server running?\r
|
|
3
3
|
\r
|
|
4
4
|
`),onClearLog:()=>B.value?.clearTerminal(),onReconnected:()=>{B.value?.writeTerminal(`\r
|
package/dist/interface/assets/{VirtualSensorCreate-DhuGE1Mf.js → VirtualSensorCreate-CA_F6RPb.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mr as e,k as t}from"./vendor-cameraui-D2u3KrB1.js";import{Qn as n}from"./api-B3KZZ8rN.js";import{Gn as r,Nn as i,Xn as a,an as o,b as s,br as c,cr as l,gr as u,hn as d,in as f,on as p,pn as m,qt as h,rr as g,v as _,wn as v,y}from"./vendor-CSg6_Jfu.js";import{O as b,T as x}from"./types-BDNk1b9h.js";import{j as S}from"./vendor-primevue-Bchwc-Ab.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=d({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(d,{expose:T}){let E=d,{t:D}=e(),O=n(),k=x.omit({cameraId:!0}),A=r(`formRef`),j=l(b[0]),M=l(``),N=f(()=>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)}),(e,n)=>{let r=S,l=t;return i(),p(u(s),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":u(k)},{default:a(()=>[m(u(y),{"model-value":u(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:a(({errors:t})=>[o(`label`,C,c(e.$t(`components.form.label.type`)),1),m(r,{id:`virtualSensorType`,"model-value":u(j),options:u(N),"option-label":`label`,"option-value":`value`,invalid:t.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),m(h,{name:`fade`},{default:a(()=>[m(u(_),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),m(u(y),{modelValue:u(M),"onUpdate:modelValue":n[1]||=e=>g(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:a(({field:t,errors:n})=>[o(`label`,w,c(e.$t(`components.form.label.name`)),1),m(l,v({id:`virtualSensorName`},t,{invalid:n.length>0,class:`w-full`,placeholder:e.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),m(h,{name:`fade`},{default:a(()=>[m(u(_),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.pairing-snippet[data-v-
|
|
1
|
+
.pairing-snippet[data-v-94ca58a2]{background:var(--p-content-hover-background);border:1px solid var(--p-content-border-color);white-space:pre;border-radius:6px;padding:.75rem;font-size:.8rem;overflow-x:auto}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Mr as e,Mt as t,Ot as n,k as r,z as i}from"./vendor-cameraui-D2u3KrB1.js";import{Mn as a,Qn as o,V as ee,Wn as s,Xn as c,Y as te,at as l,i as ne,it as re,rt as u,sn as ie,sr as d,un as ae,z as f}from"./api-B3KZZ8rN.js";import{$n as p,Dn as m,Mn as oe,Nn as h,Tn as se,U as g,Xn as _,an as v,br as y,cn as b,cr as x,en as ce,fn as S,gr as C,hn as w,in as T,on as E,or as D,pn as O,q as le,qn as k,rr as A,sn as j}from"./vendor-CSg6_Jfu.js";import{K as ue,L as de,R as fe,S as pe,_ as me,j as he,z as ge}from"./vendor-primevue-Bchwc-Ab.js";import{t as _e}from"./api-BWixZaOV.js";import{t as ve}from"./plugins-cZz4VMT0.js";import{t as ye}from"./CuiDataTable-BmGMKsJm.js";import{t as be}from"./back-filled-r7bN5ObT.js";import{n as xe,t as Se}from"./round-restart-alt-BZXAnyzF.js";import{t as Ce}from"./pencil-outline-M9I4mCJO.js";import{t as we}from"./deployed-code-update-CHr3gyW9.js";async function Te(){return(await d.get(`/workers/config`)).data}async function Ee(e){return(await d.patch(`/workers/config`,e)).data}async function De(){return(await d.post(`/workers/pairings`)).data}async function M(e){await d.delete(`/workers/${e}`)}async function Oe(e){await d.post(`/workers/${e}/restart`)}async function ke(e){await d.post(`/workers/${e}/update`)}async function Ae({agentId:e,name:t}){await d.patch(`/workers/${e}`,{name:t})}async function je({cameraId:e,agentId:t}){return(await d.post(`/workers/assign`,{cameraId:e,agentId:t})).data}async function N({cameraId:e}){return(await d.post(`/workers/unassign`,{cameraId:e})).data}async function P({pluginName:e,agentId:t}){return(await d.post(`/workers/assign-plugin`,{pluginName:e,agentId:t})).data}async function F({pluginName:e}){return(await d.post(`/workers/unassign-plugin`,{pluginName:e})).data}var Me=class{_queryClient=le();toast=o();getConfigQuery(){return c({queryKey:[`workersConfig`],queryFn:()=>Te(),retry:!1})}patchConfigQuery(){return g({mutationFn:Ee,onSuccess:()=>this._queryClient.invalidateQueries({queryKey:[`workersConfig`]}),onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}createPairingQuery(){return g({mutationFn:De})}removeWorkerQuery(){return g({mutationFn:M,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}assignCameraQuery(){return g({mutationFn:je,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return g({mutationFn:N,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return g({mutationFn:Oe})}updateWorkerQuery(){return g({mutationFn:ke,onError:e=>{this.toast.add({severity:`error`,detail:e,life:5e3})}})}renameWorkerQuery(){return g({mutationFn:Ae,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}assignPluginQuery(){return g({mutationFn:P,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}unassignPluginQuery(){return g({mutationFn:F,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},Ne={class:`flex flex-col gap-2 w-full`},I={for:`workerName`,class:`cui-label`},Pe=w({__name:`RenameWorker`,props:{currentName:{}},setup(e,{expose:t}){let n=x(e.currentName);return t({onConfirm:async()=>n.value.trim()||null}),(e,t)=>{let i=r;return h(),b(`div`,Ne,[v(`label`,I,y(e.$t(`views.workers.name`)),1),O(i,{id:`workerName`,modelValue:C(n),"onUpdate:modelValue":t[0]||=e=>A(n)?n.value=e:null,class:`w-full`,autofocus:``},null,8,[`modelValue`])])}}}),L=D({workers:[],workerHistory:{}}),R=null,z=null;function Fe(e){let t=L.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...L.workers];n[t]=e,L.workers=n}else L.workers=[...L.workers,e];let n=L.workerHistory[e.agentId]??[];L.workerHistory={...L.workerHistory,[e.agentId]:[...n,e].slice(-30)}}async function Ie(){if(z?.ready.value)try{L.workers=await z.request(`get-workers`)}catch{}}async function Le(){if(z?.ready.value)try{L.workerHistory=await z.request(`get-worker-history`)}catch{}}async function B(){await Promise.all([Ie(),Le()])}function Re(){return z||(R=p(!0),R.run(()=>{let e=s(`/workers`);z=e,e.on(`worker-update`,e=>Fe(e)),e.on(`worker-removed`,({agentId:e})=>{L.workers=L.workers.filter(t=>t.agentId!==e);let t={...L.workerHistory};delete t[e],L.workerHistory=t}),e.onReady(()=>{B()})}),z)}function ze(){function e(){Re()}function t(){}return{isConnected:T(()=>z?.connected.value??!1),workers:T(()=>L.workers),workerHistory:T(()=>L.workerHistory),connect:e,disconnect:t,loadAll:B}}var Be={key:0,class:`page-title`},Ve={key:1,class:`w-full h-full flex items-center justify-center`},He={key:2,class:`flex flex-col w-full gap-6`},Ue={class:`card-title`},We={class:`flex flex-col gap-6`},Ge={class:`flex items-center gap-4`},Ke={class:`flex flex-col field-switch-gap`},qe={class:`cui-label-switch`},Je={class:`flex flex-col field-gap`},Ye={for:`master-address`,class:`cui-label`},Xe={class:`flex flex-col field-gap`},Ze={for:`leaf-port`,class:`cui-label`},Qe={class:`flex flex-row items-end justify-end`},$e={key:0},et={class:`card-title`},tt={class:`flex flex-col items-center justify-center gap-4 py-6`},nt={class:`text-muted text-sm`},rt={key:1},it={class:`card-title`},at={class:`text-sm block mb-6`},ot={class:`text-muted text-sm`},st={class:`font-bold text-color text-sm`},ct={key:2},lt={class:`card-title`},ut={class:`text-sm block mb-6`},dt={class:`text-muted text-sm`},ft={class:`flex flex-col`},pt={class:`font-bold text-color text-sm`},mt={key:0,class:`text-muted text-xs`},ht={key:3},gt={class:`card-title`},_t={class:`flex flex-col gap-6`},vt={class:`text-sm`},yt={class:`flex flex-col field-gap`},bt={class:`cui-label`},xt={class:`flex flex-col field-gap`},St={class:`flex flex-row items-center justify-between`},Ct={class:`cui-label`},wt={class:`pairing-snippet`},Tt={class:`flex flex-row items-end justify-end`},Et=ie(w({__name:`Workers`,setup(s){let{t:c}=e(),{smBreakpoint:ie}=ae(),d=te(),p=o(),g=ze(),{workers:w,workerHistory:D,isConnected:le}=g,Te=new _e,Ee=new l,De=new ve,M=new Me,{data:Oe,isLoading:ke}=Ee.getCamerasQuery(x({page:1,pageSize:999})),{data:Ae,isLoading:je}=De.getPluginsQuery(x({page:1,pageSize:999})),{data:N}=M.getConfigQuery(),{mutateAsync:P,isPending:F}=M.patchConfigQuery(),{mutateAsync:Ne}=M.assignCameraQuery(),{mutateAsync:I}=M.unassignCameraQuery(),{mutateAsync:L}=M.restartWorkerQuery(),{mutateAsync:R}=M.updateWorkerQuery(),{mutateAsync:z,isPending:Fe}=M.createPairingQuery(),{mutateAsync:Ie}=M.removeWorkerQuery(),{mutateAsync:Le}=M.assignPluginQuery(),{mutateAsync:B}=M.unassignPluginQuery(),{mutateAsync:Re}=M.renameWorkerQuery(),{data:Et}=Te.apiInfoQuery(),Dt={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},Ot=x(!1),V=x([]),H=x([]),U=x([]),W=x(new Set),G=x(new Set),K=x(null),q=x(``),J=x(7422),kt=!1,Y=new Map,At=T(()=>Oe.value?.result??[]),jt=T(()=>Ae.value?.result??[]),X=T(()=>N.value?.enabled??!1),Mt=T(()=>(N.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),Z=T(()=>J.value!==(N.value?.port??7422)),Nt=T(()=>q.value!==(N.value?.address??``)||Z.value),Pt=T(()=>new Set(w.value.map(e=>e.agentId))),Q=T(()=>Et.value?.version),Ft=T(()=>K.value?Math.max(0,Math.round((K.value.expiresAt-Date.now())/6e4)):0),It=T(()=>K.value?[`worker:`,` master: ${K.value.address||`<MASTER_IP>`}`,` apiPort: ${K.value.apiPort}`,` pairingCode: ${K.value.code}`,` name: my-worker`,` capabilities:`,` - frameDecoding`,` - pluginHost`].join(`
|
|
2
|
+
`):``),Lt=T(()=>[{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?c(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?c(`views.workers.updating`):e.versionMismatch?c(`views.workers.version_mismatch`,{version:e.version||`?`}):c(`views.workers.online`):c(`views.workers.offline`)}},{type:`category`,field:`name`,name:c(`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&&Q.value?`v${e.version} → v${Q.value}`:`v${e.version}`:`—`,name:c(`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:c(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:c(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:c(`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:c(`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:Ce,buttonProps:{severity:`secondary`},tooltip:()=>c(`views.workers.rename_worker`),action:e=>zt(e)},{icon:we,buttonProps:{severity:`secondary`},loading:e=>e.update?.updating||U.value.includes(e.agentId),disabled:e=>!e.online||!e.versionMismatch||!e.update?.updatable,tooltip:e=>Bt(e),action:e=>Vt(e.agentId)},{icon:Se,buttonProps:{severity:`secondary`},loading:e=>V.value.includes(e.name),disabled:e=>!e.online,tooltip:()=>c(`views.workers.restart_worker`),action:e=>Ht(e.name,e.agentId)},{icon:f,buttonProps:{severity:`danger`},loading:e=>H.value.includes(e.agentId),tooltip:()=>c(`views.workers.remove_worker`),action:e=>tn(e)}]}]),Rt=T(()=>{let e=D.value;return w.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),ee=[...a,...Array(30-a.length).fill(0)],s=[...o,...Array(30-o.length).fill(null)];t[`${n.name}_${r}`]={labels:s,datasets:[{data:ee,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 zt(e){d.openComponentDialog(Pe,{data:{title:c(`views.workers.rename_worker`),confirmText:c(`views.workers.save`),contentProps:{currentName:e.name}},onConfirm:async t=>{!t||t===e.name||await Re({agentId:e.agentId,name:t})}})}function Bt(e){return e.update?.updating?c(`views.workers.updating`):Q.value?c(`views.workers.update_worker`,{version:Q.value}):c(`views.workers.update_worker_short`)}async function Vt(e){Y.delete(e),U.value.push(e);try{await R(e)}finally{U.value=U.value.filter(t=>t!==e)}}async function Ht(e,t){V.value.push(e);try{await L(t)}finally{V.value=V.value.filter(t=>t!==e)}}function Ut(){let e=[];for(let t of w.value){let n=t.online?t.name:`${t.name} (${c(`views.workers.offline`).toLowerCase()})`;e.push({label:n,value:t.agentId})}return e}function $(e){return e&&Pt.value.has(e)?e:null}function Wt(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 Gt(e,t){return!t.platform||Wt(e.os,t.platform.os)&&Wt(e.cpu,t.platform.arch)}function Kt(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 qt(e){let t=[];for(let n of w.value){let r=Gt(e,n),i=n.online?``:` (${c(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${c(`views.workers.incompatible`)}`;t.push({label:`${n.name}${i}${a}`,value:n.agentId,disabled:!r})}return t}function Jt(e){return G.value.has(e)}async function Yt(e,t){if(t===$(e.workerAgentId))return;let n=new Set(G.value);n.add(e.pluginName),G.value=n;try{t?await Le({pluginName:e.pluginName,agentId:t}):await B({pluginName:e.pluginName})}catch{}finally{let t=new Set(G.value);t.delete(e.pluginName),G.value=t}}function Xt(e){return W.value.has(e)}async function Zt(e,t){if(t===$(e.workerAgentId))return;let n=new Set(W.value);n.add(e._id),W.value=n;try{t?await Ne({cameraId:e._id,agentId:t}):await I({cameraId:e._id})}catch{}finally{let t=new Set(W.value);t.delete(e._id),W.value=t}}async function Qt(){try{K.value=await z()}catch{}}async function $t(e){if(e&&!q.value&&(q.value=N.value?.suggestedAddresses?.[0]??``,!q.value)){d.openTextDialog({data:{title:c(`views.workers.enable_workers`),contentText:c(`views.workers.address_required`),confirmText:c(`views.workers.ok`)}});return}try{await P(e?{enabled:!0,address:q.value,port:J.value}:{enabled:!1})}catch{}}async function en(){try{await P({address:q.value,port:J.value})}catch{}}function tn(e){d.openTextDialog({data:{title:c(`views.workers.remove_worker`),confirmText:c(`views.workers.remove`),contentText:c(`views.workers.remove_worker_confirm`,{name:e.name}),confirmButtonProps:{severity:`danger`}},dialogSize:{desktop:{width:`auto`,maxWidth:`560px`,maxHeight:`90vh`}},onConfirm:async()=>{H.value.push(e.agentId);try{await Ie(e.agentId)}finally{H.value=H.value.filter(t=>t!==e.agentId)}}})}return m(async()=>{g.connect(),await se(),g.loadAll(),Ot.value=!0}),k(N,e=>{e&&(q.value=e.address,J.value=e.port)},{immediate:!0}),k(w,e=>{if(!kt){if(!e.length)return;for(let t of e)t.update?.error&&Y.set(t.agentId,t.update.error);kt=!0;return}for(let t of e){if(t.update?.updating){Y.delete(t.agentId);continue}let e=t.update?.error;if(!e){Y.delete(t.agentId);continue}Y.get(t.agentId)!==e&&(Y.set(t.agentId,e),p.add({severity:`error`,summary:t.name,detail:c(`views.workers.update_failed`,{error:e}),life:6e3}))}}),oe(()=>{g.disconnect()}),(e,o)=>{let s=be,c=t,te=ee,l=n,d=ge,ae=ue,f=he,p=me,m=i,oe=xe,se=a,g=pe,x=ye,T=r,D=re,k=de,_e=fe;return h(),b(`div`,null,[C(ie)?j(``,!0):(h(),b(`h1`,Be,y(e.$t(`views.workers.title`)),1)),O(te,{position:`left`},{default:_(()=>[O(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:o[0]||=t=>e.$router.push(`/menu`)},{icon:_(()=>[O(s,{class:`w-6 h-6`})]),_:1})]),_:1}),!C(Ot)||!C(le)?(h(),b(`div`,Ve,[O(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(h(),b(`div`,He,[v(`div`,null,[v(`span`,Ue,y(e.$t(`views.workers.configuration`)),1),O(m,{class:`cui-card`},{content:_(()=>[v(`div`,We,[v(`div`,Ge,[v(`div`,Ke,[v(`label`,qe,y(e.$t(`views.workers.enable_workers`)),1),O(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:_(()=>[S(y(e.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),O(ae,{"model-value":C(X),disabled:C(F),class:`ml-auto shrink-0`,"onUpdate:modelValue":$t},null,8,[`model-value`,`disabled`])]),C(X)?(h(),b(ce,{key:0},[v(`div`,Je,[v(`label`,Ye,y(e.$t(`views.workers.master_address`)),1),O(f,{modelValue:C(q),"onUpdate:modelValue":o[1]||=e=>A(q)?q.value=e:null,"input-id":`master-address`,options:C(Mt),editable:``,"option-label":`label`,"option-value":`value`,placeholder:e.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),O(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[S(y(e.$t(`views.workers.master_address_hint`)),1)]),_:1})]),v(`div`,Xe,[v(`label`,Ze,y(e.$t(`views.workers.leaf_port`)),1),O(p,{modelValue:C(J),"onUpdate:modelValue":o[2]||=e=>A(J)?J.value=e:null,"input-id":`leaf-port`,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),C(Z)&&(C(N)?.pairedWorkers??0)>0?(h(),E(d,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[S(y(e.$t(`views.workers.port_change_warning`)),1)]),_:1})):j(``,!0)]),v(`div`,Qe,[O(c,{class:`cui-button-medium`,label:e.$t(`views.workers.save`),loading:C(F),disabled:!C(Nt),onClick:en},null,8,[`label`,`loading`,`disabled`])])],64)):j(``,!0)])]),_:1})]),C(X)?(h(),b(`div`,$e,[v(`span`,et,y(e.$t(`views.workers.workers`)),1),C(w).length?(h(),E(oe,{key:0,items:C(w),headers:C(Lt),"chart-data":C(Rt)},null,8,[`items`,`headers`,`chart-data`])):(h(),E(m,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:_(()=>[v(`div`,tt,[O(se,{class:`w-12 h-12 text-muted`}),v(`span`,nt,y(e.$t(`views.workers.no_workers`)),1)])]),_:1}))])):j(``,!0),C(X)&&C(w).length?(h(),b(`div`,rt,[v(`span`,it,y(e.$t(`views.workers.camera_assignments`)),1),O(m,{class:`cui-card`},{content:_(()=>[v(`span`,at,y(e.$t(`views.workers.camera_assignments_description`)),1),O(x,{value:C(At),loading:C(ke),pt:Dt,"striped-rows":``,class:`w-full`},{loading:_(()=>[O(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[v(`span`,ot,y(e.$t(`views.workers.no_cameras`)),1)]),default:_(()=>[O(g,{field:`name`,header:e.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:_(({data:e})=>[v(`span`,st,y(e.name),1)]),_:1},8,[`header`]),O(g,{header:e.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:_(({data:t})=>[O(f,{"model-value":$(t.workerAgentId),options:Ut(),"option-label":`label`,"option-value":`value`,placeholder:e.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Xt(t._id),disabled:Xt(t._id),"onUpdate:modelValue":e=>Zt(t,e)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):j(``,!0),C(X)&&C(w).length?(h(),b(`div`,ct,[v(`span`,lt,y(e.$t(`views.workers.plugin_assignments`)),1),O(m,{class:`cui-card`},{content:_(()=>[v(`span`,ut,y(e.$t(`views.workers.plugin_assignments_description`)),1),O(x,{value:C(jt),loading:C(je),pt:Dt,"striped-rows":``,class:`w-full`},{loading:_(()=>[O(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[v(`span`,dt,y(e.$t(`views.workers.no_plugins`)),1)]),default:_(()=>[O(g,{field:`displayName`,header:e.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:_(({data:e})=>[v(`div`,ft,[v(`span`,pt,y(e.displayName),1),Kt(e)?(h(),b(`span`,mt,y(Kt(e)),1)):j(``,!0)])]),_:1},8,[`header`]),O(g,{header:e.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:_(({data:t})=>[O(f,{"model-value":$(t.workerAgentId),options:qt(t),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:e.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Jt(t.pluginName),disabled:Jt(t.pluginName),"onUpdate:modelValue":e=>Yt(t,e)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):j(``,!0),C(X)?(h(),b(`div`,ht,[v(`span`,gt,y(e.$t(`views.workers.pair_worker`)),1),O(m,{class:`cui-card`},{content:_(()=>[v(`div`,_t,[v(`span`,vt,y(e.$t(`views.workers.pair_worker_description`)),1),C(K)?(h(),b(ce,{key:0},[v(`div`,yt,[v(`label`,bt,y(e.$t(`views.workers.pairing_code`)),1),O(_e,null,{default:_(()=>[O(T,{"model-value":C(K).code,readonly:``,type:`text`},null,8,[`model-value`]),O(k,null,{default:_(()=>[O(D,{"action-text":e.$t(`views.workers.copied`),icon:C(u),"button-props":{severity:`secondary`,text:!0},onAction:o[3]||=e=>C(ne)(C(K).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),O(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[S(y(e.$t(`views.workers.pairing_expires`,{minutes:C(Ft)})),1)]),_:1})]),v(`div`,xt,[v(`div`,St,[v(`label`,Ct,y(e.$t(`views.workers.pairing_snippet`)),1),O(D,{"action-text":e.$t(`views.workers.copied`),icon:C(u),"button-props":{severity:`secondary`,text:!0},onAction:o[4]||=e=>C(ne)(C(It))},null,8,[`action-text`,`icon`])]),v(`pre`,wt,y(C(It)),1),O(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[S(y(e.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):j(``,!0),v(`div`,Tt,[O(c,{class:`cui-button-medium`,label:e.$t(`views.workers.generate_code`),loading:C(Fe),onClick:Qt},null,8,[`label`,`loading`])])])]),_:1})])):j(``,!0)]))])}}}),[[`__scopeId`,`data-v-94ca58a2`]]);export{Et as default};
|