@camera.ui/server 2.2.5-beta.2 → 2.2.5-beta.4
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-BDvtK1qR.js → 404-YZOLos9r.js} +1 -1
- package/dist/interface/assets/{About-B4A35rRx.js → About-HtxMc8JZ.js} +1 -1
- package/dist/interface/assets/Assistant-bB8RBo-m.js +1 -0
- package/dist/interface/assets/Automation-D3DcUyui.js +3 -0
- package/dist/interface/assets/{AutomationImport-CEJdhE_d.js → AutomationImport-Dp_hT6hQ.js} +2 -2
- package/dist/interface/assets/AutomationStore-BKR7GXMk.js +2 -0
- package/dist/interface/assets/{AutomationStoreDetail-BenRMMtV.js → AutomationStoreDetail-B9yh51WQ.js} +2 -2
- package/dist/interface/assets/Automations-BdZZW2eN.js +2 -0
- package/dist/interface/assets/Camera-Ct7ndOxr.js +2 -0
- package/dist/interface/assets/{CameraConsole-D24yXOQn.js → CameraConsole-BI93OaRt.js} +2 -2
- package/dist/interface/assets/Cameras-Ctub8sVt.js +651 -0
- package/dist/interface/assets/Camview-BjQdTHNh.js +1 -0
- package/dist/interface/assets/{CertificateUpload-26LAL4MY.js → CertificateUpload-xW55NA1Q.js} +1 -1
- package/dist/interface/assets/Config-CBTbYd5v.js +2 -0
- package/dist/interface/assets/{ConfigActionAssistant-Cl_kr3hp.js → ConfigActionAssistant-B488rOp5.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-CL4vXcNe.js → ConfigActionCameraControl-ZMUuBxOs.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-DtPgmqWh.js → ConfigActionDelay-BJ11xvOW.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-DnkZTP5l.js → ConfigActionHttp-DOUo69OR.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-3svn6YP9.js → ConfigActionImageInput-BMzuVZW9.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-BTsFTLgm.js → ConfigActionMqtt-Co_uksca.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-Cr4xJrZp.js → ConfigActionNotification-CcZkstYx.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-Cxkb_g8p.js → ConfigActionNotificationControl--VeucoTw.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-WTr7FGf_.js → ConfigActionOutput-CyDa1LGA.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-BpcJepbD.js → ConfigActionPlugin-Kfg3ZEQF.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-BgD_F-hD.js → ConfigActionSensor-DhAF0HPw.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-DjR-Z08N.js → ConfigActionSnapshot-zMe3SPvW.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-gPuPbjpm.js → ConfigActionVariable-BE5q3NwY.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-CUHKJmPx.js → ConfigConditionIfElse-BNIRtSVD.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-D-gPRqMu.js → ConfigConditionSensorState-DTNd-SzI.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-BRf1T5tJ.js → ConfigConditionSwitch-BU5wWMU1.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-BC0n6sWO.js → ConfigConditionTime-KXTCIVIV.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-BUHapx4M.js → ConfigSensorValueInput-BC1FpMm-.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-Byd6SLGg.js → ConfigTriggerDetection-hIN1hi53.js} +1 -1
- package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-B2dWcFrl.js → ConfigTriggerManual-C5vwxS-e.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-B_aUDBu4.js → ConfigTriggerMqtt-B4PtWC3E.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-DAZo1PLj.js → ConfigTriggerSchedule-BZzUdGBa.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-BCqAiPu4.js → ConfigTriggerSensor-D18nwMsj.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-DuBydCiq.js → ConfigTriggerSystem-BhygWLB4.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-DDsnpwJr.js → ConfigTriggerWebhook-yyuBuhLD.js} +1 -1
- package/dist/interface/assets/Console-Cfk9MA9m.js +1 -0
- package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +5 -0
- package/dist/interface/assets/CuiAssistantConversation-lkpZg3ML.css +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-C_sMg7E1.js → CuiAutomationRunsDialog-B0ohEHw0.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-D_0LrjA_.js → CuiBottomSheet-DWefGWK2.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-C2qaGJlH.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-BIUB1xMa.js → CuiCameraShares-DcqOcePX.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-D-UhqHk4.js → CuiCameraTable-BOkfp_5M.js} +2 -2
- package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +1 -0
- package/dist/interface/assets/{CuiChartTable-CSK4Mzn3.js → CuiChartTable-DP38uBwK.js} +1 -1
- package/dist/interface/assets/{CuiConsole-DAbJXJBq.js → CuiConsole-C7xE_nQg.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-DgcJsG-K.js → CuiDataTable-CsqH-RB1.js} +1 -1
- package/dist/interface/assets/CuiLightControl-ChGYpQAK.js +1 -0
- package/dist/interface/assets/{CuiLightControl-DFrZm_sv.css → CuiLightControl-D9sm8NZb.css} +1 -1
- package/dist/interface/assets/{CuiList-HdsA9vV1.js → CuiList-DJp0__mV.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-CWImTZ6l.js +2 -0
- package/dist/interface/assets/{CuiPluginCategoryChip-C7R1jP7r.js → CuiPluginCategoryChip-Ch_upS6Y.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-BJJw0IaC.js → CuiPluginOAuthButton-DEQ9xILN.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-Bmm1qYdC.js → CuiPluginTrustBadge-sVWdvHcM.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-DTSEFMBt.js → CuiQRCode-DqSF4SkD.js} +1 -1
- package/dist/interface/assets/CuiSchema-ytExUVhI.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-B_KWykgq.js +1 -0
- package/dist/interface/assets/Faces-Cb6XMxDC.js +1 -0
- package/dist/interface/assets/FirstSteps-QNYTkEJo.js +1 -0
- package/dist/interface/assets/Floorplan-DbqADtN1.js +1 -0
- package/dist/interface/assets/Instances-DrMzPD65.js +1 -0
- package/dist/interface/assets/{Logs-BjcfuMQV.js → Logs-BSPT80vP.js} +2 -2
- package/dist/interface/assets/{Menu-BjjnSgdP.js → Menu-HHtuhIS2.js} +1 -1
- package/dist/interface/assets/Metrics-CqhUnVRA.js +12 -0
- package/dist/interface/assets/{OAuthDeviceFlow-9v-Czy_u.js → OAuthDeviceFlow-Bn1nlWNa.js} +1 -1
- package/dist/interface/assets/Plugin-DyOg_fbg.js +1 -0
- package/dist/interface/assets/{PluginConsole-C7sO42RG.js → PluginConsole-Cv-uhnPY.js} +2 -2
- package/dist/interface/assets/PluginDetail-cpOz7FkA.js +2 -0
- package/dist/interface/assets/{PluginSchema-D0eL9H-b.js → PluginSchema-DW3TGeTM.js} +1 -1
- package/dist/interface/assets/PluginSearch-BgecD9Ob.js +2 -0
- package/dist/interface/assets/PluginSearch-C8xHKikH.js +1 -0
- package/dist/interface/assets/{PluginUpdateProgress--MM9D8hs.js → PluginUpdateProgress-n6q6vzyd.js} +1 -1
- package/dist/interface/assets/Plugins-CuujWEtM.js +1 -0
- package/dist/interface/assets/{RecentEventsFilter-CvIJS8Se.js → RecentEventsFilter-CTR5JK_P.js} +1 -1
- package/dist/interface/assets/Recordings-ths9khZr.js +1 -0
- package/dist/interface/assets/SensorEdit-BzoIH7QC.js +1 -0
- package/dist/interface/assets/{SensorHistory-Efw0bZ-X.js → SensorHistory-9CdOpCPs.js} +1 -1
- package/dist/interface/assets/Sensors-CK5uExfU.js +2 -0
- package/dist/interface/assets/Settings-DN5hFtw_.js +1 -0
- package/dist/interface/assets/SettingsAccount-BCrmon5O.js +1 -0
- package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +1 -0
- package/dist/interface/assets/{SettingsAccount-si-6gWl5.css → SettingsAccount-CY8YE_cy.css} +1 -1
- package/dist/interface/assets/SettingsAppearance-BY1xQMx4.js +1 -0
- package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +1 -0
- package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +1 -0
- package/dist/interface/assets/{SettingsBackup-BqKBKis5.js → SettingsBackup-D_weokqu.js} +1 -1
- package/dist/interface/assets/{SettingsList-BU191rmt.js → SettingsList-Bq24WTDU.js} +1 -1
- package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +1 -0
- package/dist/interface/assets/SettingsNotifications-8TZOUxg2.js +1 -0
- package/dist/interface/assets/{SettingsPermissions-sI64FPZG.js → SettingsPermissions-M8u_jrN0.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-CghrKErw.js → SettingsRecordings-C1Kp5xW_.js} +1 -1
- package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +2 -0
- package/dist/interface/assets/{SettingsSystem-DP1p1Xns.js → SettingsSystem-Cetu2faJ.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-Dpej-he1.js → SettingsUsers-CDwtQLdV.js} +1 -1
- package/dist/interface/assets/{Terminal-DPRPXCSt.js → Terminal-Dl-aAZME.js} +2 -2
- package/dist/interface/assets/{Training-Dwf5rXyC.css → Training-B1oQjAr8.css} +1 -1
- package/dist/interface/assets/Training-DdZjXgt1.js +1 -0
- package/dist/interface/assets/{Updates-QTvCp1aS.js → Updates-CkB1lXuo.js} +1 -1
- package/dist/interface/assets/{VariableInput-DhusSZPw.js → VariableInput-BxPj5wo6.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-Bkzz4Mv3.js → VariableSuggestions-CbizvAkz.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-DjNSpSYy.js → VersionsHandler-CePyEUVO.js} +2 -2
- package/dist/interface/assets/{VirtualSensorCreate-soGT6h2c.js → VirtualSensorCreate-D_GVoeL7.js} +1 -1
- package/dist/interface/assets/Workers-7yiebNkl.js +2 -0
- package/dist/interface/assets/api-DK2Bav9D.js +4 -0
- package/dist/interface/assets/api-DTCqDA-h.css +2 -0
- package/dist/interface/assets/{api-CK2tonlH.js → api-DW2niHRN.js} +1 -1
- package/dist/interface/assets/{assistant-BEe1ExZL.js → assistant-BJ6xKcw_.js} +1 -1
- package/dist/interface/assets/{auth-QEpUGkWd.js → auth-Dc8bUpc-.js} +1 -1
- package/dist/interface/assets/{automations-BBIBV4Uu.js → automations-DXrjbArj.js} +1 -1
- package/dist/interface/assets/{cameraSources-Cm18cW9L.js → cameraSources-QJfUDOQJ.js} +1 -1
- package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +1 -0
- package/dist/interface/assets/{config-vwkU8aqP.js → config-CiQDwB4t.js} +1 -1
- package/dist/interface/assets/{flowSchema-rzBroL0H.js → flowSchema-BRTZHQ1w.js} +1 -1
- package/dist/interface/assets/{intercomService-Du8V_HxF.js → intercomService-BnA-FQ0Q.js} +1 -1
- package/dist/interface/assets/{main-XHFrBKKz.css → main-BoGhBedC.css} +1 -1
- package/dist/interface/assets/main-D74mRIxc.js +3 -0
- package/dist/interface/assets/mqtt-iD9XHYO_.js +1 -0
- package/dist/interface/assets/{notifications-CN6eTJb_.js → notifications-CbAJX7RF.js} +1 -1
- package/dist/interface/assets/{plugins-DKtX7zQp.js → plugins-eIUrXNeM.js} +1 -1
- package/dist/interface/assets/rooms-BqPyo8jc.js +1 -0
- package/dist/interface/assets/{sensorIcons-ztqlMLDc.js → sensorIcons-DQVgryYP.js} +1 -1
- package/dist/interface/assets/{sensorSlots-D-uxjuv3.js → sensorSlots-BZCXtnb6.js} +1 -1
- package/dist/interface/assets/{sensors-DV2Z0IJt.js → sensors-DttBNEEt.js} +1 -1
- package/dist/interface/assets/{server-CfZnIVzn.js → server-DUFhf2c_.js} +1 -1
- package/dist/interface/assets/{theme-Bi7qdjBK.js → theme-BMmjtQ4w.js} +1 -1
- package/dist/interface/assets/{types-CNLAvgyw.js → types-5rE8Tz0_.js} +1 -1
- package/dist/interface/assets/{types-DwbeYXvn.js → types-CXw7CEzu.js} +1 -1
- package/dist/interface/assets/{types-DuwD8xp5.js → types-DWTSNJ79.js} +1 -1
- package/dist/interface/assets/ungrouped-D56FGIrg.js +1 -0
- package/dist/interface/assets/ungrouped-DHMJ9Rg1.css +1 -0
- package/dist/interface/assets/{updates-BqCH6Vr8.js → updates-TIPWXKzL.js} +1 -1
- package/dist/interface/assets/{useAppVersion-B-rmq3Bb.js → useAppVersion-BIz44Bg4.js} +1 -1
- package/dist/interface/assets/{useAssistantActions-Kf-5ijVf.js → useAssistantActions-CLkkw9kB.js} +1 -1
- package/dist/interface/assets/useBackupRestore-Crfd592q.js +1 -0
- package/dist/interface/assets/{useCameraOptions-Dt2J8sP_.js → useCameraOptions-A97teAIr.js} +1 -1
- package/dist/interface/assets/{useKeyboardInset-DtD3I2WC.js → useKeyboardInset-DXVi1dLG.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-CEhUQdiY.js → useLogsSocket-BlFxVXjF.js} +1 -1
- package/dist/interface/assets/{useNavLayout-CtpYjS5W.js → useNavLayout-C5obaCNv.js} +1 -1
- package/dist/interface/assets/{usePermissions-CJzuagwD.js → usePermissions-C8hB_pG1.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-BwoWN5yb.js → usePluginUpdates-DO0-Gk4Q.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-ANx4BS6_.js → usePushRegistration-BUttCraQ.js} +1 -1
- package/dist/interface/assets/{useServerRestart-7edyD8M0.js → useServerRestart-Cz9eVHUE.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-DCSWHdbW.js → useStreamStatus-BhS_MCCB.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-DfS3R3uP.js → useTabSwipe-D4k8lm1M.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-Cr9mSIRC.js → useUpdateChannel-D9lhfW0y.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-B5Rm9syb.js → useUpdatesSocket-DnH9sON5.js} +1 -1
- package/dist/interface/assets/{useUserOptions-CJjImz8V.js → useUserOptions-BTRBUuE2.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-BbGOMenD.js → vendor-cameraui-QXD8jkcj.js} +26 -26
- package/dist/interface/assets/{vendor-core-tgH2YubJ.js → vendor-core-CnhnyKDl.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-DNJJiEZl.js → vendor-primevue-CCUqY55W.js} +207 -207
- package/dist/interface/ha/{404-Dl6JtQWv.js → 404-DLhJqxRl.js} +1 -1
- package/dist/interface/ha/{About-wjv4kCO3.js → About-DC0i1iE4.js} +3 -3
- package/dist/interface/ha/{Assistant-Dpb4IsDC.js → Assistant-BmazMPIg.js} +821 -825
- package/dist/interface/ha/{Automation-CqTPjCUh.js → Automation-gabF9YzQ.js} +336 -336
- package/dist/interface/ha/{AutomationImport-CvdeneoU.js → AutomationImport-DaqZNs9s.js} +8 -8
- package/dist/interface/ha/{AutomationStore-bVPE68io.js → AutomationStore-DzM4huo5.js} +54 -54
- package/dist/interface/ha/{AutomationStoreDetail-BYaNUjoH.js → AutomationStoreDetail-CpzQMt_D.js} +7 -7
- package/dist/interface/ha/{Automations-BfsYh2A_.js → Automations-Dcm4Us50.js} +81 -81
- package/dist/interface/ha/{Camera-C70onr_O.js → Camera-CNK3QR7l.js} +198 -198
- package/dist/interface/ha/{CameraConsole-Dg3lV-wq.js → CameraConsole-CpcF0411.js} +5 -5
- package/dist/interface/ha/{Cameras-DpM6gt3G.js → Cameras-Cf9rwRyf.js} +293 -294
- package/dist/interface/ha/{Camview-CO_bHntH.js → Camview-BFKR2t6C.js} +87 -87
- package/dist/interface/ha/{Config-D-cpocuH.js → Config-1XH3zfr2.js} +11 -11
- package/dist/interface/ha/{ConfigActionAssistant-DVVVfVvT.js → ConfigActionAssistant-C0-NFoTB.js} +5 -5
- package/dist/interface/ha/{ConfigActionCameraControl-BPpzE9-F.js → ConfigActionCameraControl-DNSKZPSZ.js} +5 -5
- package/dist/interface/ha/{ConfigActionDelay-zU6H75hY.js → ConfigActionDelay-iZ3lPGzw.js} +1 -1
- package/dist/interface/ha/{ConfigActionHttp-BsNy03j4.js → ConfigActionHttp-DVJAcGkl.js} +3 -3
- package/dist/interface/ha/{ConfigActionImageInput-JUvNYn0w.js → ConfigActionImageInput-VVbHHHZs.js} +3 -3
- package/dist/interface/ha/{ConfigActionMqtt-PZqAKfTo.js → ConfigActionMqtt-N5OUJDzM.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-DIL7abEm.js → ConfigActionNotification-s142tQoU.js} +6 -6
- package/dist/interface/ha/{ConfigActionNotificationControl-BQ2w5yeg.js → ConfigActionNotificationControl-Dh7kaKVP.js} +3 -3
- package/dist/interface/ha/{ConfigActionOutput-DVilKhPV.js → ConfigActionOutput-B4HHTg5C.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-BUfTEJQ_.js → ConfigActionPlugin-D20G2Dqf.js} +5 -5
- package/dist/interface/ha/{ConfigActionSensor-Dzp16VyX.js → ConfigActionSensor-BS3jrFaG.js} +6 -6
- package/dist/interface/ha/{ConfigActionSnapshot-CRjD5AMC.js → ConfigActionSnapshot-CInLAcwK.js} +3 -3
- package/dist/interface/ha/{ConfigActionVariable-CR8g7gEh.js → ConfigActionVariable-C5vADGNF.js} +2 -2
- package/dist/interface/ha/{ConfigConditionIfElse-CHoSgzXF.js → ConfigConditionIfElse-CPeWDD31.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSensorState-Dn8_OhQe.js → ConfigConditionSensorState-BM5GmpN6.js} +6 -6
- package/dist/interface/ha/{ConfigConditionSwitch-Ds-nqWeU.js → ConfigConditionSwitch-Dmz9FduJ.js} +4 -4
- package/dist/interface/ha/{ConfigConditionTime-DWNfEluj.js → ConfigConditionTime-DF6llIJq.js} +2 -2
- package/dist/interface/ha/{ConfigSensorValueInput-DwXM9wP1.js → ConfigSensorValueInput-Ch5njvtv.js} +7 -7
- package/dist/interface/ha/{ConfigTriggerDetection-D37OkR_u.js → ConfigTriggerDetection-BR2QWNyO.js} +5 -5
- package/dist/interface/ha/{ConfigTriggerGeofence-EbXy_y3Q.js → ConfigTriggerGeofence-CaImOjyW.js} +9 -9
- package/dist/interface/ha/{ConfigTriggerMqtt-BX6uNEZy.js → ConfigTriggerMqtt-DWz1XwZQ.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerSensor-BFGEtBVF.js → ConfigTriggerSensor-lfnhz0im.js} +3 -3
- package/dist/interface/ha/{ConfigTriggerSystem-fRnAgUGR.js → ConfigTriggerSystem-CwUhyFAj.js} +3 -3
- package/dist/interface/ha/{ConfigTriggerWebhook-DegifRdj.js → ConfigTriggerWebhook-J6Xts7GQ.js} +2 -2
- package/dist/interface/ha/{Console-Bo6S5psN.js → Console-BSdKFm6Y.js} +8 -8
- package/dist/interface/ha/{CuiAutomationRunsDialog-DXpNJqDE.js → CuiAutomationRunsDialog-BU8sympp.js} +3 -3
- package/dist/interface/ha/{CuiBottomSheet-DLkC2OmT.js → CuiBottomSheet-Bnp7ta7V.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-9tdkxXiT.js → CuiCameraRecordings-E-mMqKSs.js} +18 -19
- package/dist/interface/ha/{CuiCameraShares-BbqY_2b7.js → CuiCameraShares-DcNwd2OC.js} +8 -8
- package/dist/interface/ha/{CuiCameraTable-BmH1yAgl.js → CuiCameraTable-DNW9Vm_A.js} +6 -6
- package/dist/interface/ha/{CuiChartTable-BjBBI7Fo.js → CuiChartTable-muC7jL2H.js} +6 -6
- package/dist/interface/ha/{CuiConsole-By3m4UbE.js → CuiConsole-ND8bcuTg.js} +2 -2
- package/dist/interface/ha/{CuiDataTable-C_ndu5My.js → CuiDataTable-CN4T8DgP.js} +13 -13
- package/dist/interface/ha/{CuiPluginCard-BLQ1galy.js → CuiPluginCard-nIQiyQvH.js} +31 -31
- package/dist/interface/ha/{CuiPluginOAuthButton-BDghklSy.js → CuiPluginOAuthButton-FJ49NfUh.js} +3 -3
- package/dist/interface/ha/{CuiPluginTrustBadge-DolANNao.js → CuiPluginTrustBadge-D6eanMyI.js} +2 -2
- package/dist/interface/ha/{CuiQRCode-CcjPngXI.js → CuiQRCode-BdJzeeoE.js} +2 -2
- package/dist/interface/ha/{CuiSchema-D9JFf0dp.js → CuiSchema-DY0V-8xP.js} +67 -67
- package/dist/interface/ha/{CuiTopNavbarItem-DcUEq-4e.js → CuiTopNavbarItem-DT5pAKHp.js} +7 -8
- package/dist/interface/ha/{Faces-DjXHzr77.js → Faces-C_svyTrr.js} +92 -92
- package/dist/interface/ha/{FirstSteps-CQAP9Siw.js → FirstSteps-yS2M2cor.js} +9 -9
- package/dist/interface/ha/{Floorplan-DyaPzlQO.js → Floorplan-DSOeScjI.js} +194 -194
- package/dist/interface/ha/{Instances-DWjaU5gj.js → Instances-B4h5EKpF.js} +20 -20
- package/dist/interface/ha/{Logs-Dlx-X1NS.js → Logs-BH0Lxvs6.js} +12 -12
- package/dist/interface/ha/{Menu-iqEe01qO.js → Menu-COH7QXuE.js} +13 -13
- package/dist/interface/ha/{Metrics-Br2Dyvzh.js → Metrics-BtnRqL_I.js} +136 -136
- package/dist/interface/ha/{OAuthDeviceFlow-CIGk92FD.js → OAuthDeviceFlow-D2QJ9MnP.js} +8 -8
- package/dist/interface/ha/{Plugin-DklIr7j2.js → Plugin-EfUSqwyh.js} +85 -85
- package/dist/interface/ha/{PluginConsole-DCfxPtGU.js → PluginConsole-hh_o15f7.js} +4 -4
- package/dist/interface/ha/PluginDetail-DFiXGkrY.js +805 -0
- package/dist/interface/ha/{PluginSearch-BTKBnjxb.js → PluginSearch-Cdrfubrj.js} +54 -54
- package/dist/interface/ha/{PluginUpdateProgress-Dej5AcCt.js → PluginUpdateProgress-BD2g2kVj.js} +3 -3
- package/dist/interface/ha/{Plugins-C2fONspm.js → Plugins-qFiHW-Nk.js} +45 -45
- package/dist/interface/ha/{RecentEventsFilter-ylgjiDo8.js → RecentEventsFilter-UWrXnvfq.js} +1 -1
- package/dist/interface/ha/{Recordings-w39I43cc.js → Recordings-BzeC6tOz.js} +437 -419
- package/dist/interface/ha/{SensorEdit-BkKi1l-A.js → SensorEdit-BSgy7lkZ.js} +360 -360
- package/dist/interface/ha/{SensorHistory-BGJjMlc3.js → SensorHistory-IDvP8LKH.js} +2 -2
- package/dist/interface/ha/{Sensors-D_Wi9XPa.js → Sensors-Diqp4oZ0.js} +96 -97
- package/dist/interface/ha/{Settings-Bn7WLWf0.js → Settings-BgDsxAlx.js} +11 -11
- package/dist/interface/ha/{SettingsAccount-CRTex-1j.js → SettingsAccount-DBXMQPYk.js} +159 -159
- package/dist/interface/ha/{SettingsAppearance-B1qmJnYk.js → SettingsAppearance-VmbjnT3o.js} +6 -6
- package/dist/interface/ha/{SettingsAssistant-DDd1X0BC.js → SettingsAssistant-C2R4ZetE.js} +133 -133
- package/dist/interface/ha/{SettingsBackup-DZbhSB13.js → SettingsBackup-BqY9TwYn.js} +20 -20
- package/dist/interface/ha/{SettingsList-BQdyPe0H.js → SettingsList-CzHcfo2N.js} +4 -4
- package/dist/interface/ha/{SettingsMqtt-CSZcY6ht.js → SettingsMqtt-DqV3h3Ow.js} +149 -149
- package/dist/interface/ha/{SettingsNotifications-CfEhl0-y.js → SettingsNotifications-yn5fIR_7.js} +6 -6
- package/dist/interface/ha/{SettingsRecordings-BnAGDvcH.js → SettingsRecordings-DDs1lyfY.js} +8 -8
- package/dist/interface/ha/{SettingsRemote-w86TQVUA.js → SettingsRemote-jBw3l5E0.js} +172 -172
- package/dist/interface/ha/{SettingsSystem-CENjHL3k.js → SettingsSystem-BOv9hNlk.js} +9 -9
- package/dist/interface/ha/{SettingsUsers-CqSHRklV.js → SettingsUsers-Biv-2F4C.js} +90 -90
- package/dist/interface/ha/{Terminal-WsuxG3k-.js → Terminal-CmcrGEV0.js} +4 -4
- package/dist/interface/ha/Training-BEzPiXZg.js +1512 -0
- package/dist/interface/ha/{Updates-Dl_lLLR2.js → Updates-DJAcmDQJ.js} +12 -12
- package/dist/interface/ha/{VariableInput-C8Q81GUt.js → VariableInput-DlYg7t0m.js} +2 -2
- package/dist/interface/ha/{VersionsHandler-BOvjesvp.js → VersionsHandler-UnrAWn-b.js} +11 -11
- package/dist/interface/ha/{VirtualSensorCreate-sgwATaky.js → VirtualSensorCreate-CssxeaCC.js} +2 -2
- package/dist/interface/ha/{Workers-CkDuQ9NG.js → Workers-CLpqLugC.js} +14 -14
- package/dist/interface/ha/{accordion-Xem2SzgR.js → accordion-BylV-jUK.js} +2 -2
- package/dist/interface/ha/{api-BmYisoxj.js → api-BP7mlzjP.js} +11181 -11736
- package/dist/interface/ha/{api-oqpIZTkx.js → api-B_tDa73J.js} +1 -1
- package/dist/interface/ha/{assistant-0jE4C19U.js → assistant-Cb6ACguQ.js} +1 -1
- package/dist/interface/ha/{auth-B4Msg7R-.js → auth-DOYDRgFm.js} +1 -1
- package/dist/interface/ha/{autocomplete-B94Amei3.js → autocomplete-Cp3u2Ywa.js} +4 -4
- package/dist/interface/ha/{automationBlueprint-C-12Yjl7.js → automationBlueprint-CbbG_ku4.js} +1 -1
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-BrOcoiQJ.js → cards-BpBP1zVW.js} +1206 -1198
- package/dist/interface/ha/{config-IG56wp6m.js → config-DroY1HBs.js} +1 -1
- package/dist/interface/ha/{datepicker-B4Azs5zr.js → datepicker-DXk97lTw.js} +4 -4
- package/dist/interface/ha/{mqtt-pl13wSmG.js → mqtt-NJTVdd53.js} +1 -1
- package/dist/interface/ha/{multiselect-Dp4XDBRR.js → multiselect-BOb4ScAZ.js} +4 -4
- package/dist/interface/ha/{notifications-B6wxSmou.js → notifications-BPTvvgvv.js} +1 -1
- package/dist/interface/ha/{plugins-BwwaWxye.js → plugins-B29K3nQP.js} +1 -1
- package/dist/interface/ha/{rooms-NIzjFYAd.js → rooms-DLw0WUy_.js} +1 -1
- package/dist/interface/ha/{select-UR3ZRDew.js → select-DV7p2EDj.js} +4 -4
- package/dist/interface/ha/{server-YOLwDVAW.js → server-B4b5_Ecu.js} +1 -1
- package/dist/interface/ha/{speeddial-LCbl5g8p.js → speeddial-B5p0fuqL.js} +1 -1
- package/dist/interface/ha/{tooltip-Z7VN-E1u.js → tooltip-BDrlgLof.js} +1 -1
- package/dist/interface/ha/{types-B8B9MqK0.js → types-DJHHL7nn.js} +1 -1
- package/dist/interface/ha/{ungrouped-DttNEB62.js → ungrouped-xyK1QrsM.js} +344 -376
- package/dist/interface/ha/{updates-DVhiQhMM.js → updates-XFSu9Tfm.js} +5 -5
- package/dist/interface/ha/{useAppVersion-CG4D44Aa.js → useAppVersion-BH3rU1zz.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-PKsRDttg.js → useLogsSocket-CaTRzvgU.js} +1 -1
- package/dist/interface/ha/{useNavLayout-DoEcPx9Z.js → useNavLayout-DV0_OQx0.js} +1 -1
- package/dist/interface/ha/{useServerRestart-CMl589qX.js → useServerRestart-C8tynLUf.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-Cmqdn0J5.js → useTabSwipe-CFoLDp3j.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-BBW2EX7N.js → useUpdateChannel-DSG2RTPe.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-B6ICpKKC.js → useUpdatesSocket-CSQ0g7-6.js} +1 -1
- package/dist/interface/ha/{useUserOptions-CzclRfar.js → useUserOptions-CFaCy6L1.js} +1 -1
- package/dist/interface/ha/{virtualscroller-C5j7FXj4.js → virtualscroller-B-UQZDMJ.js} +88 -88
- package/dist/interface/index.html +34 -34
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +22 -20
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/api/controllers/auth.controller.js +5 -6
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.js +5 -5
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/database/checks.js +20 -8
- package/dist/server/src/api/database/checks.js.map +1 -1
- package/dist/server/src/api/database/selfcheck.js +2 -2
- package/dist/server/src/api/database/selfcheck.js.map +1 -1
- package/dist/server/src/api/index.js +8 -6
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/plugins/logger.plugin.js +11 -11
- package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
- package/dist/server/src/api/services/twoFactor.service.d.ts +4 -5
- package/dist/server/src/api/services/twoFactor.service.js +16 -17
- package/dist/server/src/api/services/twoFactor.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +0 -1
- package/dist/server/src/api/utils/cert.js +128 -135
- package/dist/server/src/api/utils/cert.js.map +1 -1
- package/dist/server/src/api/utils/form-body.d.ts +2 -0
- package/dist/server/src/api/utils/form-body.js +22 -0
- package/dist/server/src/api/utils/form-body.js.map +1 -0
- package/dist/server/src/api/utils/install-logger.js +12 -12
- package/dist/server/src/api/utils/install-logger.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/logs.d.ts +7 -3
- package/dist/server/src/api/websocket/nsp/logs.js +79 -65
- package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
- package/dist/server/src/assistant/history.d.ts +2 -0
- package/dist/server/src/assistant/history.js +46 -0
- package/dist/server/src/assistant/history.js.map +1 -0
- package/dist/server/src/assistant/manager.js +2 -1
- package/dist/server/src/assistant/manager.js.map +1 -1
- package/dist/server/src/camera/controller.d.ts +1 -0
- package/dist/server/src/camera/controller.js +23 -18
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.d.ts +3 -0
- package/dist/server/src/camera/decoder/worker.js +42 -5
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +2 -2
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/main.js +5 -5
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/discoveryManager.js +2 -2
- package/dist/server/src/manager/discoveryManager.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare-managed.js +6 -3
- package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare.d.ts +0 -1
- package/dist/server/src/remote/services/cloudflare.js +9 -20
- package/dist/server/src/remote/services/cloudflare.js.map +1 -1
- package/dist/server/src/remote/services/cloudflaredBinary.d.ts +3 -2
- package/dist/server/src/remote/services/cloudflaredBinary.js +9 -16
- package/dist/server/src/remote/services/cloudflaredBinary.js.map +1 -1
- package/dist/server/src/rpc/server.js +2 -2
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/utils/automation-registry/index.js +3 -3
- package/dist/server/src/utils/automation-registry/index.js.map +1 -1
- package/dist/server/src/utils/colors.d.ts +2 -0
- package/dist/server/src/utils/colors.js +8 -0
- package/dist/server/src/utils/colors.js.map +1 -0
- package/dist/server/src/utils/npm/auth.d.ts +3 -2
- package/dist/server/src/utils/npm/auth.js +1 -1
- package/dist/server/src/utils/npm/auth.js.map +1 -1
- package/dist/server/src/utils/npm/index.d.ts +3 -15
- package/dist/server/src/utils/npm/index.js +26 -17
- package/dist/server/src/utils/npm/index.js.map +1 -1
- package/dist/server/src/utils/npm/registry.d.ts +69 -0
- package/dist/server/src/utils/npm/registry.js +240 -0
- package/dist/server/src/utils/npm/registry.js.map +1 -0
- package/dist/server/src/utils/plugin-registry/index.js +3 -3
- package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
- package/dist/server/src/utils/process.d.ts +10 -0
- package/dist/server/src/utils/process.js +112 -0
- package/dist/server/src/utils/process.js.map +1 -0
- package/dist/server/src/utils/totp.d.ts +12 -0
- package/dist/server/src/utils/totp.js +71 -0
- package/dist/server/src/utils/totp.js.map +1 -0
- package/dist/server/src/utils/ttl-cache.d.ts +20 -0
- package/dist/server/src/utils/ttl-cache.js +63 -0
- package/dist/server/src/utils/ttl-cache.js.map +1 -0
- package/npm-shrinkwrap.json +6427 -0
- package/package.json +22 -20
- package/dist/interface/assets/Assistant-BKxssfw-.js +0 -1
- package/dist/interface/assets/Automation-CP59cgP7.js +0 -3
- package/dist/interface/assets/AutomationStore-BZGR_5Xl.js +0 -2
- package/dist/interface/assets/Automations-BpXorYAS.js +0 -2
- package/dist/interface/assets/Camera-UBUfaR5a.js +0 -2
- package/dist/interface/assets/Cameras-B21Y8MdQ.js +0 -651
- package/dist/interface/assets/Camview-BySyPtU5.js +0 -1
- package/dist/interface/assets/Config-BGyGmukb.js +0 -2
- package/dist/interface/assets/ConfigTriggerGeofence-CkzTFEZn.js +0 -1
- package/dist/interface/assets/Console-HXmKYaK_.js +0 -1
- package/dist/interface/assets/CuiAssistantConversation-2qrRCsgw.js +0 -5
- package/dist/interface/assets/CuiAssistantConversation-DmSdiv1b.css +0 -1
- package/dist/interface/assets/CuiBottomSheet-CTr-KHC8.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-BZCayhy_.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-BbaEL2ST.js +0 -1
- package/dist/interface/assets/CuiCameraTable-C5tQHs63.js +0 -1
- package/dist/interface/assets/CuiLightControl-v6k9hVGl.js +0 -1
- package/dist/interface/assets/CuiPluginCard-5MRYJcF2.js +0 -2
- package/dist/interface/assets/CuiSchema-BDXeXora.js +0 -1
- package/dist/interface/assets/CuiTopNavbarItem-BVknLbRO.js +0 -1
- package/dist/interface/assets/Faces-BEpYvbB0.js +0 -1
- package/dist/interface/assets/FirstSteps-U93RDOcP.js +0 -1
- package/dist/interface/assets/Floorplan-D8XoCNOB.js +0 -1
- package/dist/interface/assets/Instances-CFwZotvU.js +0 -1
- package/dist/interface/assets/Metrics-Ca_d5CbP.js +0 -12
- package/dist/interface/assets/Plugin-BjLw46Sw.js +0 -1
- package/dist/interface/assets/PluginDetail-BuLW4lkN.js +0 -2
- package/dist/interface/assets/PluginSearch--LLMEeyx.js +0 -2
- package/dist/interface/assets/PluginSearch-0akjE0ef.js +0 -1
- package/dist/interface/assets/Plugins-26O511gf.js +0 -1
- package/dist/interface/assets/Recordings-DQOGeSFm.js +0 -1
- package/dist/interface/assets/SensorEdit-DEW5D80x.js +0 -1
- package/dist/interface/assets/Sensors-C8yOyAwo.js +0 -2
- package/dist/interface/assets/Settings-B-RgMeVm.js +0 -1
- package/dist/interface/assets/SettingsAccount-B6aXFx3F.js +0 -1
- package/dist/interface/assets/SettingsAccount-_0ccrXYU.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CkDwzx6f.js +0 -1
- package/dist/interface/assets/SettingsAppearance-DBFE3uVH.js +0 -1
- package/dist/interface/assets/SettingsAssistant-DN5OUJqt.js +0 -1
- package/dist/interface/assets/SettingsMqtt-hsKZkU-o.js +0 -1
- package/dist/interface/assets/SettingsNotifications-DIeiUEAk.js +0 -1
- package/dist/interface/assets/SettingsRemote-Doa0aBMC.js +0 -2
- package/dist/interface/assets/Training-DYlefOX1.js +0 -1
- package/dist/interface/assets/Workers-CUVvTuts.js +0 -2
- package/dist/interface/assets/api-B0wYDGQj.css +0 -2
- package/dist/interface/assets/api-BNrZVfeD.js +0 -4
- package/dist/interface/assets/cloudHandoff-Dnndt2el.js +0 -1
- package/dist/interface/assets/main-CRlC4FBY.js +0 -3
- package/dist/interface/assets/mqtt-BY6-Hrbv.js +0 -1
- package/dist/interface/assets/ring-resize-DyqCo2UN.js +0 -1
- package/dist/interface/assets/rooms-BHP4q6yf.js +0 -1
- package/dist/interface/assets/ungrouped-DBRZ-Ori.css +0 -1
- package/dist/interface/assets/ungrouped-DHLAmt__.js +0 -1
- package/dist/interface/assets/useBackupRestore-Dj-ZXODq.js +0 -1
- package/dist/interface/ha/PluginDetail-BFfRnkdG.js +0 -230
- package/dist/interface/ha/Training-hu_XOYBk.js +0 -1505
- package/dist/interface/ha/ring-resize-Dr2PxWIg.js +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Nt as e,Pt as t,xt as n}from"./vendor-cameraui-QXD8jkcj.js";import{kr as r,p as i}from"./api-DK2Bav9D.js";import{Cn as a,In as o,Xn as s,_r as c,dr as l,ln as u,sn as d,vn as f,yr as p}from"./vendor-DGke_6M4.js";import{t as m}from"./CuiSchema-ytExUVhI.js";var h=f({__name:`PluginSchema`,props:{schemaConfig:{},pluginName:{},cameraId:{},buttonKey:{},sensorId:{},pluginId:{}},setup(f,{expose:h}){let g=f,_=r(),v=a(`dialogRef`),y=a(`dialogRefProps`),{schemaConfig:b,pluginName:x,cameraId:S,buttonKey:C,sensorId:w,pluginId:T}=c(g),E=e(x),D=n(S,x),O=t(w,T),k=l({schema:[],config:{}}),A=d(()=>S.value&&w.value?`sensor`:S.value?`camera`:`plugin`),j=d(()=>{switch(A.value){case`sensor`:return O;case`camera`:return D;default:return E}}),M=d(()=>!!(y.loading?.value||j.value.isLoading.value));async function N(e){await j.value.setValue(e.key,void 0)}async function P(e){let t={...b.value.config,...e},n=await j.value.submitValue(C.value,t);if(n?.toast){let e=i(n.toast.type);_.add({severity:e,detail:n.toast.message,life:3e3})}n?.schema&&Object.keys(n.schema).length&&k.value?k.value.schema=n.schema:v.value.close()}return s(b,e=>{k.value=e},{deep:!0,immediate:!0}),h({isLoading:M}),(e,t)=>{let n=m;return o(),u(n,{"schema-form":p(k),loading:p(M),"show-button":``,onOnAction:N,onOnFormSubmit:P},null,8,[`schema-form`,`loading`])}}});export{h as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-CePyEUVO.js","./vendor-cameraui-QXD8jkcj.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-DK2Bav9D.js","./intercomService-BnA-FQ0Q.js","./vendor-zod-CBbC1rE7.js","./types-5rE8Tz0_.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-CnhnyKDl.js","./vendor-dnd-CEJS9JKU.js","./vendor-primevue-CCUqY55W.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-DTCqDA-h.css","./server-DUFhf2c_.js","./useServerRestart-Cz9eVHUE.js","./alert-circle-D2fAQwTX.js","./CuiMarkdownContent-BUYtK_wD.js","./vendor-markdown-DD4teg2u.js","./vendor-markdown-DtOhvyRx.css","./plugins-eIUrXNeM.js","./CuiConsole-C7xE_nQg.js","./content-copy-V0DW9ZbH.js","./vendor-xterm-G7KkmRYW.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-BlFxVXjF.js","./platformLabels-D-cF6OTP.js","./config-CiQDwB4t.js","./useUpdateChannel-D9lhfW0y.js","./PluginDetail-cpOz7FkA.js","./check-circle-DHAAn6A6.js","./clock-outline-CKTiLKoR.js","./source-branch-oyzrlfCD.js","./home-B-_OQpZ6.js","./CuiPluginTrustBadge-sVWdvHcM.js","./CuiPluginTrustBadge-QHTLaN1n.css","./account-Bu30He0P.js","./CuiPluginCategoryChip-Ch_upS6Y.js","./brain-CIJB1ree.js","./bell-ring-CyCFPUL_.js","./cctv-D6kxZ-lp.js","./CuiPluginCategoryChip-CdGrTCxH.css","./download-CyjJ7yJW.js","./PluginDetail-BYqji8yN.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Bt as e,Ht as t,Kt as n,Vr as r,Z as i,z as a}from"./vendor-cameraui-QXD8jkcj.js";import{En as o,Mn as s,P as c,c as l,ct as u,jn as d,l as f,lt as p}from"./api-DK2Bav9D.js";import{$n as m,Cn as h,Cr as g,Ht as _,In as v,Rn as y,Xn as b,br as x,cn as S,dn as C,dr as w,er as T,gn as E,hn as D,ln as O,nn as ee,or as k,rn as A,sn as j,sr as M,tn as N,un as P,vn as F,yr as I}from"./vendor-DGke_6M4.js";import{M as te,R as ne,W as re,a as L,f as ie,z as ae}from"./vendor-primevue-CCUqY55W.js";import{t as oe}from"./close-BbEPZQqa.js";import{t as R}from"./clock-outline-CKTiLKoR.js";import{t as se}from"./plugins-eIUrXNeM.js";import{t as z}from"./CuiPluginTrustBadge-sVWdvHcM.js";import{i as B,n as ce,r as le,t as V}from"./CuiPluginCategoryChip-Ch_upS6Y.js";import{t as H}from"./download-CyjJ7yJW.js";var U={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return v(),C(`svg`,U,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M13 15.6c.3.2.7.2 1 0l5-2.9v.3c.7 0 1.4.1 2 .4v-1.8l1-.6c.5-.3.6-.9.4-1.4l-1.5-2.5c-.1-.2-.2-.4-.4-.5l-7.9-4.4c-.2-.1-.4-.2-.6-.2s-.4.1-.6.2L3.6 6.6c-.2.1-.4.2-.5.4L1.6 9.6c-.3.5-.1 1.1.4 1.4c.3.2.7.2 1 0v5.5c0 .4.2.7.5.9l7.9 4.4c.2.1.4.2.6.2s.4-.1.6-.2l.9-.5c-.3-.6-.4-1.3-.5-2m-2 0l-6-3.4V9.2l6 3.4zm9.1-9.6l-6.3 3.6l-.6-1l6.3-3.6zM12 10.8V4.2l6 3.3zm8 4.2v3h3v2h-3v3h-2v-3h-3v-2h3v-3z`},null,-1)]])}var ue=M({name:`mdi-package-variant-plus`,render:W}),G={class:`plugin-store-card-body`},K={class:`flex items-start gap-3 min-w-0`},de={class:`plugin-store-icon flex-shrink-0`},q={class:`min-w-0 flex-1`},J={class:`flex items-center gap-2 min-w-0`},fe={class:`font-medium text-base truncate`},pe={class:`text-sm text-muted truncate`},me={class:`plugin-store-card-description`},Y={class:`flex flex-wrap items-center gap-x-3 gap-y-1 mt-auto pt-2`},X={key:2,class:`plugin-store-meta`},Z={key:3,class:`plugin-store-meta`},Q={class:`flex gap-1`},he=s(F({__name:`CuiPluginStoreCard`,props:{plugin:{},inProgress:{type:Boolean}},emits:[`open`,`install`],setup(t,{emit:i}){let a=t,o=i,{t:s}=r(),u=j(()=>a.plugin),p=j(()=>{let e=u.value.downloads?.weekly;return typeof e==`number`?s(`components.plugin_search.downloads_per_week`,{count:l(e)}):void 0}),h=j(()=>u.value.lastUpdated?f(u.value.lastUpdated):void 0);return(r,i)=>{let a=d,s=z,l=L,f=V,_=H,y=R,b=c,w=e,k=B,A=n;return v(),C(`div`,{class:x([`plugin-store-card shadow-sm transition-default card-background custom-scrollbar`,{"opacity-50 in-progress":t.inProgress}]),role:`button`,tabindex:`0`,onClick:i[4]||=e=>o(`open`,I(u)),onKeydown:i[5]||=N(e=>o(`open`,I(u)),[`enter`])},[S(`div`,G,[S(`div`,K,[S(`div`,de,[E(a,{src:I(u).logo,alt:`Plugin logo`,class:`block w-full h-full`,"image-container-class":`w-full h-full`,"image-class":`object-contain`},null,8,[`src`])]),S(`div`,q,[S(`div`,J,[S(`h4`,fe,g(I(u).displayName),1),E(s,{trust:I(u).trust,"show-label":!1,class:`flex-shrink-0`},null,8,[`trust`])]),S(`div`,pe,g(I(u).pluginName),1)])]),S(`p`,me,g(I(u).tagline||I(u).description),1),S(`div`,Y,[I(u).compatible===!1?T((v(),O(l,{key:0,severity:`warn`,value:r.$t(`components.plugin_search.incompatible`)},null,8,[`value`])),[[A,{value:r.$t(`components.plugin_search.incompatible_system`)},void 0,{top:!0}]]):P(``,!0),I(u).protocolCompat===`serverTooOld`?T((v(),O(l,{key:1,severity:`warn`,value:r.$t(`components.plugin_search.requires_newer_server`)},null,8,[`value`])),[[A,{value:r.$t(`components.plugin_search.requires_newer_server_hint`)},void 0,{top:!0}]]):P(``,!0),E(f,{category:I(u).category},null,8,[`category`]),I(p)?(v(),C(`span`,X,[E(_,{class:`plugin-store-meta-icon`}),D(` `+g(I(p)),1)])):P(``,!0),I(h)?(v(),C(`span`,Z,[E(y,{class:`plugin-store-meta-icon`}),D(` `+g(r.$t(`components.plugin_search.updated_ago`,{time:I(h)})),1)])):P(``,!0)])]),S(`div`,{class:`plugin-store-card-actions`,onClick:i[3]||=ee(()=>{},[`stop`])},[S(`div`,Q,[I(u).links?.repository||I(u).links?.homepage?T((v(),O(w,{key:0,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:i[0]||=e=>r.$router.absUrl(I(u).links?.repository||I(u).links?.homepage,!0)},{icon:m(()=>[E(b,{width:`100%`,height:`100%`})]),_:1})),[[A,{value:`Github`},void 0,{top:!0}]]):P(``,!0),I(u).links?.npm?T((v(),O(w,{key:1,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:i[1]||=e=>r.$router.absUrl(I(u).links.npm,!0)},{icon:m(()=>[E(k,{width:`100%`,height:`100%`})]),_:1})),[[A,{value:`NPM`},void 0,{top:!0}]]):P(``,!0)]),E(w,{class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.install`),disabled:t.inProgress,onClick:i[2]||=e=>o(`install`,I(u))},null,8,[`label`,`disabled`])])],34)}}}),[[`__scopeId`,`data-v-870f576c`]]),ge={class:`cui-label`},_e={class:`flex flex-wrap gap-2 mt-4`},ve={key:0,class:`mt-6`},ye={class:`featured-row custom-scrollbar mt-3`},be={class:`flex flex-row items-center justify-center w-full mt-8`},xe={key:3,class:`text-center py-10`},Se={class:`text-muted mb-2`},Ce={class:`text-muted`},we={key:4,class:`w-full`},Te={key:5,class:`w-full plugin-list`},$=s(F({__name:`PluginSearch`,setup(s,{expose:c}){let l=p(()=>_(()=>import(`./VersionsHandler-CePyEUVO.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]),import.meta.url)),d=p(()=>_(()=>import(`./PluginDetail-cpOz7FkA.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,33,18,34,19,20,21,35,22,36,37,38,39,40,41,42,43,44,45,29,46]),import.meta.url)),f=new se,x=u(),{t:D}=r(),M=h(`dialogRefProps`),N=w(``),F=w({}),L=w([]),R=w(`all`),z=w(`all`),B=w(`name`),V=w(!1),{data:H,isBusy:U,refetch:W}=f.searchPluginsQuery(F,{page:1,pageSize:-1},V),{data:G,isBusy:K,refetch:de}=f.getPluginsProgressQuery({page:1,pageSize:-1}),q=j(()=>U.value||K.value),J=j(()=>!!(M.loading?.value||q.value)),fe=j(()=>[{label:D(`components.plugin_search.filter_all_categories`),value:`all`},...le.map(e=>({label:D(ce[e].labelKey),value:e}))]),pe=j(()=>[{label:D(`components.plugin_search.filter_all_trust`),value:`all`},{label:D(`components.plugin_search.trust_official`),value:`official`},{label:D(`components.plugin_search.trust_verified`),value:`verified`},{label:D(`components.plugin_search.trust_community`),value:`community`}]),me=j(()=>[{label:D(`components.plugin_search.sort_name`),value:`name`},{label:D(`components.plugin_search.sort_downloads`),value:`downloads`},{label:D(`components.plugin_search.sort_updated`),value:`updated`}]),Y=j(()=>{let e=L.value.slice();return R.value!==`all`&&(e=e.filter(e=>e.category===R.value)),z.value!==`all`&&(e=e.filter(e=>e.trust===z.value)),e.sort((e,t)=>{switch(B.value){case`downloads`:return(t.downloads?.weekly??0)-(e.downloads?.weekly??0);case`updated`:return new Date(t.lastUpdated??0).getTime()-new Date(e.lastUpdated??0).getTime();default:return(e.displayName||e.pluginName).localeCompare(t.displayName||t.pluginName)}}),e}),X=j(()=>Y.value.filter(e=>e.featured)),Z=j(()=>Y.value.filter(e=>!e.featured));function Q(e){return G.value?.result.some(t=>t.pluginName===e)}function $(e){e?.preventDefault(),F.value.pluginname=N.value??``}function Ee(){N.value=``,F.value={},R.value=`all`,z.value=`all`,B.value=`name`,$()}function De(){V.value=!0,Promise.all([W(),de()]).finally(()=>{V.value=!1})}function Oe(e){x.openComponentDialog(l,{data:{title:D(`components.dialog.title.install`),loading:J,contentProps:{target:I(e),installVersion:`latest`}}})}function ke(e){x.openComponentDialog(d,{data:{title:D(`components.dialog.title.details`),confirmText:D(`components.form.button.install`),contentProps:{plugin:I(e)}}})}return b(H,e=>{e?.result&&(L.value=e.result.filter(e=>!e.installPath))},{immediate:!0,deep:!0}),c({isLoading:J}),(r,s)=>{let c=a,l=oe,u=e,d=ne,f=ae,p=te,h=he,_=o,b=t,x=ie,w=re,D=ue,j=i,M=n;return v(),C(`div`,null,[S(`form`,{onSubmit:ee($,[`prevent`])},[S(`label`,ge,g(r.$t(`components.form.label.name`)),1),E(f,null,{default:m(()=>[E(c,{modelValue:I(N),"onUpdate:modelValue":s[0]||=e=>k(N)?N.value=e:null,modelModifiers:{trim:!0},loading:I(q),placeholder:`camera-ui-`,type:`text`},null,8,[`modelValue`,`loading`]),E(d,null,{default:m(()=>[E(u,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:Ee},{icon:m(()=>[E(l,{width:`100%`,height:`100%`})]),_:1})]),_:1})]),_:1})],32),S(`div`,_e,[E(p,{modelValue:I(R),"onUpdate:modelValue":s[1]||=e=>k(R)?R.value=e:null,options:I(fe),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:r.$t(`components.plugin_search.filter_category`)},null,8,[`modelValue`,`options`,`placeholder`]),E(p,{modelValue:I(z),"onUpdate:modelValue":s[2]||=e=>k(z)?z.value=e:null,options:I(pe),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:r.$t(`components.plugin_search.filter_trust`)},null,8,[`modelValue`,`options`,`placeholder`]),E(p,{modelValue:I(B),"onUpdate:modelValue":s[3]||=e=>k(B)?B.value=e:null,options:I(me),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:r.$t(`components.plugin_search.sort_by`)},null,8,[`modelValue`,`options`,`placeholder`])]),!I(q)&&I(X).length?(v(),C(`div`,ve,[S(`h3`,null,g(r.$t(`components.plugin_search.featured`)),1),S(`div`,ye,[(v(!0),C(A,null,y(I(X),e=>(v(),C(`div`,{key:e.pluginName,class:`featured-item`},[E(h,{plugin:e,"in-progress":Q(e.pluginName),onOpen:ke,onInstall:Oe},null,8,[`plugin`,`in-progress`])]))),128))])])):P(``,!0),S(`div`,be,[S(`h3`,null,g(r.$t(`components.plugin_search.plugins`)),1),T((v(),O(u,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md ml-auto`,onClick:De},{icon:m(()=>[E(_,{width:`100%`,height:`100%`})]),_:1})),[[M,{value:r.$t(`components.plugin_search.refresh`)},void 0,{left:!0}]]),E(b,{size:`small`,class:`ml-2 rounded-full`,value:String(I(Z).length)},null,8,[`value`])]),I(q)?(v(),O(x,{key:1,mode:`indeterminate`,class:`my-3 !h-[1px]`})):(v(),O(w,{key:2,class:`m-0 py-3`})),!I(q)&&!I(Z).length?(v(),C(`div`,xe,[S(`div`,Se,[E(D,{class:`w-12 h-12 mx-auto opacity-30`})]),S(`p`,Ce,g(r.$t(`views.plugins.no_plugins`)),1)])):I(q)?(v(),C(`div`,we,[(v(),C(A,null,y(6,e=>E(j,{key:e,class:`mb-2`,height:`132px`})),64))])):(v(),C(`div`,Te,[(v(!0),C(A,null,y(I(Z),e=>T((v(),O(h,{key:e.pluginName,plugin:e,"in-progress":Q(e.pluginName),onOpen:ke,onInstall:Oe},null,8,[`plugin`,`in-progress`])),[[M,{value:Q(e.pluginName)?r.$t(`components.plugin_search.in_progress`):void 0}]])),128))]))])}}}),[[`__scopeId`,`data-v-8faee7ef`]]);export{$ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./PluginSearch-BgecD9Ob.js";export{e as default};
|
package/dist/interface/assets/{PluginUpdateProgress--MM9D8hs.js → PluginUpdateProgress-n6q6vzyd.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{In as e}from"./api-DK2Bav9D.js";import{Cr as t,In as n,Jn as r,On as i,Pn as a,Xn as o,cn as s,dn as c,gn as l,sn as u,un as d,vn as f,yr as p}from"./vendor-DGke_6M4.js";import{t as m}from"./alert-circle-D2fAQwTX.js";import{t as h}from"./CuiConsole-C7xE_nQg.js";import{t as g}from"./usePluginUpdates-DO0-Gk4Q.js";var _={class:`w-full h-full flex flex-col gap-3`},v={key:0,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-red-500/10 border border-red-500/30 shrink-0`},y={class:`text-sm text-red-400 break-all`},b={class:`w-full flex-1 min-h-0 relative`},x=f({__name:`PluginUpdateProgress`,props:{pluginName:{}},setup(f){let x=f,{mdBreakpoint:S}=e(),{runOf:C}=g(),w=r(`consoleRef`),T=0,E=u(()=>C(x.pluginName)),D=u(()=>({fontSize:S.value?12:14}));function O(){let e=E.value?.lines??[];for(;T<e.length;T++)w.value?.writeTerminal(e[T])}return o(()=>E.value?.lines.length,()=>O()),a(async()=>{await i(),O()}),(e,r)=>{let i=m,a=h;return n(),c(`div`,_,[p(E)?.status===`error`?(n(),c(`div`,v,[l(i,{class:`w-5 h-5 shrink-0 text-red-400 mt-0.5`}),s(`span`,y,t(p(E).error),1)])):d(``,!0),s(`div`,b,[l(a,{ref_key:`consoleRef`,ref:w,options:p(D),class:`bg-black !w-full`,"ignore-breakpoint":``},null,8,[`options`])])])}}});export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,G as t,Ht as n,Kt as r,Vr as i,X as a,Z as o,z as ee,zt as s}from"./vendor-cameraui-QXD8jkcj.js";import{Bn as c,H as te,In as l,Jn as u,L as d,Nn as f,Pn as ne,R as re,Sn as p,U as ie,Wn as ae,Xn as oe,cr as m,ct as se,hn as ce,ir as h,kr as le,z as ue}from"./api-DK2Bav9D.js";import{$n as g,An as _,Bn as de,Cr as v,Fn as fe,In as y,Jn as b,Rn as pe,Sr as x,Xn as me,Xt as he,_r as S,cn as C,dn as w,dr as T,er as E,gn as D,hn as ge,ln as O,or as _e,rn as k,sn as A,sr as j,un as M,vn as N,yr as P}from"./vendor-DGke_6M4.js";import{p as ve}from"./vendor-core-CnhnyKDl.js";import{B as ye,C as be,F as xe,I as Se}from"./vendor-primevue-CCUqY55W.js";import{t as Ce}from"./close-BbEPZQqa.js";import{t as we}from"./useUpdatesSocket-DnH9sON5.js";import{a as Te,i as Ee,l as De,n as Oe,r as F,t as ke}from"./plugins-eIUrXNeM.js";import{t as Ae}from"./CuiDataTable-CsqH-RB1.js";import{t as je}from"./search-BXbDWhLk.js";import{t as I}from"./PluginSearch-BgecD9Ob.js";import{t as Me}from"./usePluginUpdates-DO0-Gk4Q.js";import{t as Ne}from"./config-CiQDwB4t.js";import{t as Pe}from"./dots-vertical-pP1vP0Qa.js";import{t as Fe}from"./back-filled-BPBVnQjx.js";import{t as Ie}from"./plus-CHPYoMO_.js";import{t as Le}from"./settings-Cw63SIJl.js";import{a as Re,i as ze,n as Be,o as Ve,r as He,s as Ue,t as We}from"./CuiPluginCard-CWImTZ6l.js";var Ge={class:`flex items-center justify-end gap-1`},Ke=N({__name:`CuiPluginTableActions`,props:{plugin:{}},setup(t){let{plugin:n}=S(t),{pluginUpdate:i,queued:a,updating:o,isLoading:ee,items:c,openDialog:te,handleInlineUpdate:l}=Be(n),u=b(`menuRef`);return(t,n)=>{let d=s,f=e,ne=m,re=Pe,p=r;return y(),w(`div`,Ge,[P(i)?.updateAvailable||P(o)?E((y(),O(f,{key:0,text:``,rounded:``,class:`cui-icon-md`,onClick:P(l)},{icon:g(()=>[P(o)?(y(),O(d,{key:0,class:`w-4! h-4! m-0`,"stroke-width":`6`})):(y(),O(P(h),{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`onClick`])),[[p,{value:P(o)?t.$t(P(a)?`components.plugin_card.update_queued`:`components.plugin_card.update_running`):t.$t(`components.plugin_card.update_now`,{version:P(i)?.latestVersion})},void 0,{top:!0}]]):M(``,!0),E((y(),O(f,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:n[0]||=e=>P(te)(`console`)},{icon:g(()=>[D(ne,{width:`100%`,height:`100%`})]),_:1})),[[p,{value:t.$t(`components.form.tooltip.console`)},void 0,{top:!0}]]),D(f,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:P(ee),onClick:P(u)?.toggleMenu},{icon:g(()=>[D(re,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`]),D(ce,{ref_key:`menuRef`,ref:u,items:P(c),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),qe=N({__name:`CuiPluginStatusBadge`,props:{pluginName:{}},setup(e){let t=He(e.pluginName);return _(()=>{t.connect()}),(e,i)=>{let a=n,o=r;return E((y(),O(a,{style:x({background:P(t).statusColor.value})},null,8,[`style`])),[[o,{value:e.$t(`components.plugin_card.status_${P(t).status.value}`)},void 0,{top:!0}]])}}}),Je={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return y(),w(`svg`,Je,[...t[0]||=[C(`path`,{fill:`none`,stroke:`currentColor`,"stroke-width":`2`,d:`M4 9h16M9 4v16m-4 0h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1Z`},null,-1)]])}var Ye=j({name:`mingcute-table-2-line`,render:L}),Xe={class:`flex flex-col`},Ze={key:0,class:`page-title`},Qe={class:`flex gap-2 mb-4`},$e={key:1,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},et={class:`text-muted text-sm`},tt={class:`flex items-center justify-center`},nt={class:`flex items-center gap-3 min-w-0`},rt={class:`font-bold text-color text-sm truncate`},it={class:`text-xs text-muted truncate`},at={class:`flex flex-col`},ot={class:`text-sm`},st={key:0,class:`text-xs text-green-500`},R=N({__name:`Plugins`,setup(n){let s=new ke,m=new Ne,_=se(),S=le(),{t:j}=i(),{smBreakpoint:N}=l(),{width:Pe,height:Be}=c(),{startUpdate:He}=Me(),Ge=we(),Je=ae(),{uiSettings:L}=ve(Je),{data:R,isBusy:ct}=s.getPluginsQuery({page:1,pageSize:-1}),{data:z}=m.getConfigQuery(!0),{mutateAsync:lt}=m.patchConfigQuery(),ut=b(`menuRef`),B=T(``),V=T({}),H=T(!1),{selectionMode:U,selectedIds:W,selectedItems:G,allSelected:dt,bulkBusy:K,enterSelectionMode:ft,exitSelectionMode:q,toggleSelectAll:pt,toggleSelection:mt}=d(()=>X.value,e=>e.pluginName),J=A(()=>Ge.status.value?.runActive===!0),ht=A(()=>[{key:`betaVersions`,label:j(`views.plugins.beta_versions`),description:j(`views.plugins.beta_versions_hint`),toggle:!0,toggleState:z.value?.plugins?.betaVersions??!1,onClick:kt},{key:`allowBuildScripts`,label:j(`views.plugins.allow_build_scripts`),description:j(`views.plugins.allow_build_scripts_hint`),toggle:!0,toggleState:z.value?.plugins?.allowBuildScripts??!1,onClick:Ot}]),gt=A(()=>ct.value&&!R.value),Y=A(()=>L.value.plugins.view),X=A(()=>{let e=R.value?.result??[],t=B.value.toLowerCase().trim();return t?e.filter(e=>e.pluginName.toLowerCase().includes(t)||e.displayName?.toLowerCase().includes(t)):e}),Z=A(()=>(R.value?.result??[]).filter(e=>V.value[e.pluginName]?.updateAvailable)),_t=A(()=>G.value.filter(e=>V.value[e.pluginName]?.updateAvailable)),vt=A(()=>(N.value?1:Math.max(1,Math.floor(Pe.value/450)))*Math.max(1,Math.ceil(Be.value/(Ve.HEIGHT+8))));function yt(){L.value.plugins.view=Y.value===`cards`?`table`:`cards`}async function bt(){let e=R.value?.result??[];await Promise.all(e.map(async e=>{V.value[e.pluginName]=await s.queryClient.fetchQuery({queryKey:[`plugins`,e.pluginName,`update`],queryFn:({signal:t})=>De({pluginName:e.pluginName,signal:t}),staleTime:6e4}).catch(()=>void 0)}))}async function Q(){await s.queryClient.refetchQueries({queryKey:[`pluginsList`]}),await s.queryClient.refetchQueries({queryKey:[`plugins`]}),await bt()}async function xt(e){let t=e.map(e=>({plugin:e,version:V.value[e.pluginName]?.latestVersion})).filter(e=>!!e.version);if(!t.length)return{done:0,failed:[]};let n=Ee({plugins:t.map(e=>({pluginname:e.plugin.pluginName,pluginversion:e.version}))}),r=[],i=0;return await Promise.all(t.map(async({plugin:e,version:t})=>{await He(e.pluginName,t,async()=>{let t=(await n).failed.find(t=>t.id===e.pluginName);if(t)throw Error(t.error)})?i++:r.push(e.displayName||e.pluginName)})),{done:i,failed:r}}async function St(){if(H.value)return;H.value=!0;let e=0,t=[];try{({done:e,failed:t}=await xt([...Z.value]))}finally{H.value=!1}await Q(),t.length&&S.add({severity:`error`,summary:j(`views.plugins.update_all_failed`,{count:t.length}),detail:t.join(`, `),life:8e3}),e&&S.add({severity:`success`,detail:j(`views.plugins.update_all_done`,{count:e}),life:5e3})}function $(e,t,n){t.length&&S.add({severity:`error`,summary:j(`views.plugins.bulk_failed`,{count:t.length}),detail:t.join(`, `),life:8e3}),e&&S.add({severity:`success`,detail:j(n,{count:e}),life:5e3})}function Ct(e,t){return e.filter(e=>t.some(t=>t.id===e.pluginName)).map(e=>e.displayName||e.pluginName)}async function wt(){K.value=!0;let e=0,t=[];try{({done:e,failed:t}=await xt([..._t.value]))}finally{K.value=!1}await Q(),q(),$(e,t,`views.plugins.update_all_done`)}async function Tt(){let e=[...G.value];K.value=!0;try{let t=await F({pluginNames:e.map(e=>e.pluginName)});await Q(),q(),$(t.succeeded.length,Ct(e,t.failed),`views.plugins.enable_selected_done`)}catch(e){S.add({severity:`error`,detail:e?.response?.data?.message??e?.message??String(e),life:5e3})}finally{K.value=!1}}async function Et(){let e=[...G.value];K.value=!0;try{let t=await Oe({pluginNames:e.map(e=>e.pluginName)});await Q(),q(),$(t.succeeded.length,Ct(e,t.failed),`views.plugins.disable_selected_done`)}catch(e){S.add({severity:`error`,detail:e?.response?.data?.message??e?.message??String(e),life:5e3})}finally{K.value=!1}}function Dt(){let e=[...G.value];_.openTextDialog({data:{title:j(`components.dialog.title.confirm`),contentText:j(`views.plugins.uninstall_selected_confirm`,{count:e.length}),confirmText:j(`components.form.button.uninstall`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{K.value=!0;try{let t=await Te({pluginNames:e.map(e=>e.pluginName)});await Q(),q(),$(t.succeeded.length,Ct(e,t.failed),`views.plugins.uninstall_selected_done`)}catch(e){S.add({severity:`error`,detail:e?.response?.data?.message??e?.message??String(e),life:5e3})}finally{K.value=!1}}})}async function Ot(){let e=z.value;if(!e||typeof e==`string`)return;let t={...e,plugins:{...e.plugins,allowBuildScripts:!e.plugins?.allowBuildScripts}};await lt({configData:JSON.stringify(t)})}async function kt(){let e=z.value;if(!e||typeof e==`string`)return;let t={...e,plugins:{...e.plugins,betaVersions:!e.plugins?.betaVersions}};await lt({configData:JSON.stringify(t)})}function At(){_.openComponentDialog(I,{data:{title:j(`components.dialog.title.search_plugin`),contentProps:{},hideConfirmButton:!0,fullscreen:!0}})}me(()=>R.value?.result,e=>{e?.length&&bt()},{immediate:!0});let jt=s.queryClient.getQueryCache().subscribe(e=>{let[t,n,r]=e.query.queryKey;if(t!==`plugins`||r!==`update`||typeof n!=`string`)return;let i=e.query.state.data;i&&(V.value[n]=i)});return fe(jt),(n,i)=>{let s=ye,c=Fe,l=e,d=ie,ae=je,m=xe,se=ee,le=Se,_=Le,fe=ce,b=o,me=u,S=t,T=be,A=qe,ve=Ue,we=de(`RouterLink`),Te=Ke,Ee=Ae,De=a,Oe=We,F=f,ke=ne,I=r;return y(),w(`div`,Xe,[P(N)?M(``,!0):(y(),w(`h1`,Ze,v(n.$t(`views.${String(n.$route.name).toLowerCase()}.title`)),1)),P(J)?(y(),O(s,{key:1,severity:`warn`,class:`mb-4`,closable:!1},{default:g(()=>[ge(v(P(j)(`views.plugins.updates_run_active`)),1)]),_:1})):M(``,!0),D(d,{position:`left`},{default:g(()=>[D(l,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:i[0]||=e=>n.$router.push(`/menu`)},{icon:g(()=>[D(c,{class:`w-6 h-6`})]),_:1})]),_:1}),C(`div`,Qe,[D(le,{class:`flex-1`},{default:g(()=>[D(m,null,{default:g(()=>[D(ae,{class:`w-4 h-4`})]),_:1}),D(se,{modelValue:P(B),"onUpdate:modelValue":i[1]||=e=>_e(B)?B.value=e:null,placeholder:P(j)(`views.plugins.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),(`hasPermission`in n?n.hasPermission:P(p))(void 0,`admin`)?(y(),w(k,{key:0},[E((y(),O(l,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:i[2]||=e=>P(ut)?.toggleMenu(e)},{icon:g(()=>[D(_,{class:`w-4.5 h-4.5`})]),_:1})),[[I,{value:P(j)(`views.plugins.settings`)},void 0,{left:!0}]]),P(Z).length?E((y(),O(l,{key:0,class:`cui-button shrink-0 whitespace-nowrap`,loading:P(H),disabled:P(J),label:P(N)?String(P(Z).length):P(j)(`views.plugins.update_all`,{count:P(Z).length}),onClick:St},{icon:g(()=>[D(P(h),{class:`w-4.5 h-4.5`})]),_:1},8,[`loading`,`disabled`,`label`])),[[I,{value:P(j)(`views.plugins.update_all_hint`)},void 0,{left:!0}]]):M(``,!0),D(fe,{ref_key:`menuRef`,ref:ut,items:P(ht),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],64)):M(``,!0)]),D(he,{name:`fade-2`,mode:`out-in`},{default:g(()=>[P(gt)?(y(),w(`div`,{key:`loading`,class:`grid w-full gap-2`,style:x({gridTemplateColumns:`repeat(auto-fill, minmax(${P(N)?`100%`:`450px`}, 1fr))`})},[(y(!0),w(k,null,pe(P(vt),e=>(y(),O(b,{key:e,height:`${P(Ve).HEIGHT}px`,class:`cui-card`},null,8,[`height`]))),128))],4)):!P(X).length||!(`hasPermission`in n?n.hasPermission:P(p))(void 0,`admin`)?(y(),w(`div`,$e,[D(me,{class:`w-12 h-12 text-muted`}),C(`span`,et,v(n.$t(`views.plugins.no_plugins`)),1)])):P(Y)===`table`?(y(),O(De,{key:`table`,class:`cui-card h-auto! self-start`},{content:g(()=>[D(Ee,{value:P(X),paginator:``,"striped-rows":``,class:`w-full`},{default:g(()=>[P(U)?(y(),O(T,{key:0,header:``,"header-class":`p-2 pl-4 w-8 max-w-8`,class:`p-2 pl-4 w-8 max-w-8`},{body:g(({data:e})=>[D(S,{"model-value":P(W).has(e.pluginName),binary:``,size:`small`,"onUpdate:modelValue":t=>P(mt)(e.pluginName)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:1})):M(``,!0),D(T,{header:``,"header-class":`p-2 pl-4 w-5 max-w-5`,class:`p-2 pl-4 w-5 max-w-5`},{body:g(({data:e})=>[C(`div`,tt,[D(A,{"plugin-name":e.pluginName},null,8,[`plugin-name`])])]),_:1}),D(T,{field:`displayName`,header:P(j)(`views.plugins.plugin`),"header-class":`p-2 min-w-48`,class:`p-2 min-w-48`},{body:g(({data:e})=>[D(we,{to:`/plugins/${e.pluginName}`,class:`flex flex-col min-w-0`},{default:g(()=>[C(`div`,nt,[C(`span`,rt,v(e.displayName||e.pluginName),1),P(V)[e.pluginName]?.updateAvailable?E((y(),O(ve,{key:0,class:`text-green-500 shrink-0`},null,512)),[[I,{value:n.$t(`components.form.tooltip.update_available`)}]]):M(``,!0)]),C(`span`,it,v(e.pluginName),1)]),_:2},1032,[`to`])]),_:1},8,[`header`]),D(T,{field:`installedVersion`,header:P(j)(`views.plugins.version`),"header-class":`p-2`,class:`p-2`},{body:g(({data:e})=>[C(`div`,at,[C(`span`,ot,`v`+v(e.installedVersion||e.latestVersion),1),P(V)[e.pluginName]?.updateAvailable?(y(),w(`span`,st,`v`+v(P(V)[e.pluginName]?.latestVersion),1)):M(``,!0)])]),_:1},8,[`header`]),D(T,{"header-class":`p-2 w-32`,class:`p-2 w-32`},{body:g(({data:e})=>[D(Te,{plugin:e},null,8,[`plugin`])]),_:1})]),_:1},8,[`value`])]),_:1})):(y(),w(`div`,{key:`content`,class:`grid w-full gap-2`,style:x({gridTemplateColumns:`repeat(auto-fill, minmax(${P(N)?`100%`:`450px`}, 1fr))`})},[(y(!0),w(k,null,pe(P(X),e=>(y(),O(Oe,{key:e.pluginName,plugin:e,"selection-mode":P(U),selected:P(W).has(e.pluginName),onSelect:t=>P(mt)(e.pluginName)},null,8,[`plugin`,`selection-mode`,`selected`,`onSelect`]))),128))],4))]),_:1}),(`hasPermission`in n?n.hasPermission:P(p))(void 0,`admin`)?(y(),O(ke,{key:2,"force-visible":P(U)},{default:g(()=>[P(U)?(y(),w(k,{key:1},[D(F,{grouped:``,"tooltip-props":{value:n.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:P(Ce),"icon-props":{width:`100%`,height:`100%`},onClick:P(q)},null,8,[`tooltip-props`,`icon`,`onClick`]),D(F,{grouped:``,"tooltip-props":{value:P(dt)?n.$t(`components.form.tooltip.deselect_all`):n.$t(`components.form.tooltip.select_all`)},"button-props":{severity:P(dt)?`primary`:`secondary`},icon:P(te),"icon-props":{width:`100%`,height:`100%`},onClick:P(pt)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),D(F,{grouped:``,"tooltip-props":{value:P(j)(`views.plugins.update_selected`)},"button-props":{severity:`secondary`,disabled:!P(_t).length||P(K)||P(J)},icon:P(h),"icon-props":{width:`100%`,height:`100%`},onClick:wt},null,8,[`tooltip-props`,`button-props`,`icon`]),D(F,{grouped:``,"tooltip-props":{value:P(j)(`views.plugins.enable_selected`)},"button-props":{severity:`secondary`,disabled:!P(W).size||P(K)||P(J)},icon:P(ze),"icon-props":{width:`100%`,height:`100%`},onClick:Tt},null,8,[`tooltip-props`,`button-props`,`icon`]),D(F,{grouped:``,"tooltip-props":{value:P(j)(`views.plugins.disable_selected`)},"button-props":{severity:`secondary`,disabled:!P(W).size||P(K)||P(J)},icon:P(Re),"icon-props":{width:`100%`,height:`100%`},onClick:Et},null,8,[`tooltip-props`,`button-props`,`icon`]),D(F,{grouped:``,"tooltip-props":{value:P(j)(`views.plugins.uninstall_selected`)},"button-props":{severity:`danger`,disabled:!P(W).size||P(K)||P(J)},icon:P(ue),"icon-props":{width:`100%`,height:`100%`},onClick:Dt},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(y(),w(k,{key:0},[P(X).length?(y(),O(F,{key:0,grouped:``,"tooltip-props":{value:P(j)(`views.plugins.select`)},"button-props":{severity:`secondary`},icon:P(re),"icon-props":{width:`100%`,height:`100%`},onClick:P(ft)},null,8,[`tooltip-props`,`icon`,`onClick`])):M(``,!0),D(F,{grouped:``,"tooltip-props":{value:P(Y)===`cards`?P(j)(`views.plugins.view_table`):P(j)(`views.plugins.view_cards`)},"button-props":{severity:`secondary`},icon:P(Y)===`cards`?P(Ye):P(oe),"icon-props":{width:`100%`,height:`100%`},onClick:yt},null,8,[`tooltip-props`,`icon`]),D(F,{grouped:``,"tooltip-props":{value:n.$t(`views.plugins.search_plugins`)},"button-props":{class:`text-white`},icon:P(Ie),"icon-props":{width:`30px`,height:`30px`},onClick:At},null,8,[`tooltip-props`,`icon`])],64))]),_:1},8,[`force-visible`])):M(``,!0)])}}});export{R as default};
|
package/dist/interface/assets/{RecentEventsFilter-CvIJS8Se.js → RecentEventsFilter-CTR5JK_P.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Cr as e,Vr as t}from"./vendor-cameraui-
|
|
1
|
+
import{Cr as e,Vr as t}from"./vendor-cameraui-QXD8jkcj.js";import{Cr as n,Hn as r,In as i,Rn as a,cn as o,dn as s,dr as c,gn as l,hn as u,ln as d,rn as f,sn as p,vn as m,yr as h}from"./vendor-DGke_6M4.js";import{t as g}from"./eventIcons-cdzqQc0W.js";import{l as _}from"./vendor-primevue-CCUqY55W.js";import{i as v,n as y}from"./eventLabels-BsPoPWS9.js";var b=[`person`,`vehicle`,`animal`,`face`,`license_plate`],x={class:`flex flex-col gap-5 w-full`},S={class:`text-sm text-muted`},C=[`for`],w=m({__name:`RecentEventsFilter`,props:{cameras:{},hidden:{}},setup(m,{expose:w}){let T=m,{t:E}=t(),{icons:D,generic:O}=g(),k=c(Object.fromEntries(Object.entries(T.hidden).map(([e,t])=>[e,[...t]]))),A=p(()=>T.cameras.map(e=>({label:e.name,value:e._id}))),j=p(()=>b.map(t=>({value:t,label:E(e.includes(t)?y(t):v(t)),icon:D[t]??O})));function M(e){return T.cameras.filter(t=>!k.value[t._id]?.includes(e)).map(e=>e._id)}function N(e){let t=M(e).length;return t===T.cameras.length?E(`components.camera_events.filter_all_cameras`):E(`components.camera_events.filter_shown_on`,{n:t,total:T.cameras.length})}function P(e,t){let n=new Set(t),r={...k.value};for(let t of T.cameras){let i=(r[t._id]??[]).filter(t=>t!==e);r[t._id]=n.has(t._id)?i:[...i,e]}k.value=r}return w({onConfirm:async()=>Object.fromEntries(Object.entries(k.value).filter(([,e])=>e.length>0))}),(e,t)=>{let c=_;return i(),s(`div`,x,[o(`span`,S,n(e.$t(`components.camera_events.filter_hint`)),1),(i(!0),s(f,null,a(h(j),t=>(i(),s(`div`,{key:t.value,class:`flex flex-col field-gap`},[o(`label`,{for:`shown-${t.value}`,class:`cui-label flex items-center gap-2`},[(i(),d(r(t.icon),{class:`w-4 h-4 text-muted`})),u(` `+n(t.label),1)],8,C),l(c,{"model-value":M(t.value),"input-id":`shown-${t.value}`,options:h(A),"option-label":`label`,"option-value":`value`,"max-selected-labels":2,"selected-items-label":N(t.value),placeholder:e.$t(`components.camera_events.filter_hidden_everywhere`),filter:``,fluid:``,"onUpdate:modelValue":e=>P(t.value,e)},null,8,[`model-value`,`input-id`,`options`,`selected-items-label`,`placeholder`,`onUpdate:modelValue`])]))),128))])}}});export{w as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ai as e,Ar as t,Bt as n,Cr as r,D as i,Fi as a,G as o,I as s,Kt as c,M as ee,Mt as l,T as u,Vr as d,Yr as f,Z as p,_ as m,b as h,ei as g,g as _,j as te,ji as ne,r as v,u as y,wr as b,z as x,zr as S,zt as C}from"./vendor-cameraui-QXD8jkcj.js";import{B as w,Dn as re,Er as ie,Fn as T,G as E,H as D,In as ae,It as oe,L as se,Ln as ce,Mn as le,Nn as ue,On as O,Pn as de,R as fe,Sn as pe,U as me,V as he,W as ge,Y as _e,Yn as ve,_ as k,ct as ye,et as be,hn as xe,it as Se,kr as Ce,nn as we,tt as Te,yn as Ee,z as De}from"./api-DK2Bav9D.js";import{$n as A,Cn as j,Cr as M,Hn as N,In as P,Jn as Oe,Ln as ke,Pn as Ae,Rn as F,Sr as je,Xn as I,Zn as Me,an as Ne,br as Pe,cn as L,dn as R,dr as z,er as Fe,gn as B,hn as V,ln as H,lr as Ie,mr as Le,nn as Re,or as U,rn as W,sn as G,sr as ze,tn as Be,un as K,vn as q,yr as J}from"./vendor-DGke_6M4.js";import{i as Ve}from"./alert-outline-D7zaSJH_.js";import{t as He}from"./eventIcons-cdzqQc0W.js";import{B as Y,M as Ue,a as X,f as We,i as Ge,l as Ke}from"./vendor-primevue-CCUqY55W.js";import{t as qe}from"./close-BbEPZQqa.js";import{s as Je,t as Ye}from"./assistant-BJ6xKcw_.js";import{a as Xe,n as Z,r as Ze}from"./eventLabels-BsPoPWS9.js";import{i as Qe,n as $e,r as et,t as tt}from"./ungrouped-D56FGIrg.js";import{t as nt}from"./utils-gctUU5q_.js";import{t as rt}from"./settings-Cw63SIJl.js";import{n as it,t as at}from"./round-alt-arrow-left-bold-56eF9Bol.js";var ot={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function st(e,t){return P(),R(`svg`,ot,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M6 12.45V9.64c1.47.83 3.61 1.36 6 1.36s4.53-.53 6-1.36v2.39c.17-.03.33-.03.5-.03c.5 0 1 .07 1.5.18V7c0-2.21-3.58-4-8-4S4 4.79 4 7v10c0 2.21 3.59 4 8 4h.5c-.26-.63-.41-1.3-.47-2H12c-3.87 0-6-1.5-6-2v-2.23c1.61.78 3.72 1.23 6 1.23h.5c.35-.82.84-1.54 1.45-2.14c-.63.09-1.28.14-1.95.14c-2.42 0-4.7-.6-6-1.55M12 5c3.87 0 6 1.5 6 2s-2.13 2-6 2s-6-1.5-6-2s2.13-2 6-2m6 13.5l1.77-1.77A2.5 2.5 0 1 0 20 20h1.71A3.99 3.99 0 0 1 18 22.5c-2.21 0-4-1.79-4-4s1.79-4 4-4c1.11 0 2.11.45 2.83 1.17L22 14.5v4z`},null,-1)]])}var ct=ze({name:`mdi-database-refresh-outline`,render:st}),lt={class:`flex flex-col gap-4`},ut={class:`text-sm text-pretty`},dt={key:0,class:`flex flex-col gap-2`},ft={key:0,class:`flex justify-between text-sm text-muted`},pt={key:0},mt=q({__name:`ClipReindex`,setup(e,{expose:t}){let n=j(`dialogRefProps`),{t:r}=d(),{status:i,isBusy:a,checking:o,refresh:s,start:c,cancel:ee}=h(),l=z(!1),u=z(!1),f=z(0),p=G(()=>i.value?.running===!0),m=G(()=>{if(u.value){if(!i.value?.total)return r(`views.recordings.reindex.up_to_date`);let{done:e,total:t,skipped:n}=i.value;return n?r(`views.recordings.reindex.result_failed`,{done:e,total:t,skipped:n}):r(`views.recordings.reindex.result`,{done:e,total:t})}return o.value?r(`views.recordings.reindex.checking`):p.value?r(`views.recordings.reindex.running_intro`):r(`views.recordings.reindex.intro`)}),g=G(()=>{if(u.value)return f.value;let e=i.value?.total??0;return e<=0?0:Math.min(100,Math.round(((i.value?.done??0)+(i.value?.skipped??0))/e*100))});async function _(){return p.value?ee():(l.value=!0,c()),null}return I(p,(e,t)=>{t&&!e&&l.value&&(u.value=!0,f.value=i.value?.total?100:0,i.value?.total||requestAnimationFrame(()=>f.value=100))}),Me(()=>{n.hideConfirmButton&&(n.hideConfirmButton.value=u.value),n.confirmText&&(n.confirmText.value=p.value?r(`views.recordings.reindex.stop`):r(`views.recordings.reindex.start`)),n.confirmButtonProps&&(n.confirmButtonProps.value=p.value?{severity:`danger`}:{}),n.disabled&&(n.disabled.value=a.value)}),Ae(()=>{i.value?.running&&(l.value=!0),s().then(()=>{i.value?.running&&(l.value=!0)})}),t({onConfirm:_}),(e,t)=>{let n=We;return P(),R(`div`,lt,[L(`span`,ut,M(J(m)),1),J(l)||J(p)?(P(),R(`div`,dt,[B(n,{mode:J(o)?`indeterminate`:`determinate`,value:J(g),"show-value":!1,class:`h-2`},null,8,[`mode`,`value`]),J(p)&&!J(o)?(P(),R(`div`,ft,[L(`span`,null,M(e.$t(`views.recordings.reindex.progress`,{done:J(i)?.done??0,total:J(i)?.total??0})),1),J(i)?.skipped?(P(),R(`span`,pt,M(e.$t(`views.recordings.reindex.skipped`,{count:J(i).skipped})),1)):K(``,!0)])):K(``,!0)])):K(``,!0)])}}}),ht={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function gt(e,t){return P(),R(`svg`,ht,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`m14 2l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm4 18V9h-5V4H6v16zm-2-2l-2.5-1.7V18H8v-5h5.5v1.7L16 13z`},null,-1)]])}var Q=ze({name:`mdi-file-video-outline`,render:gt}),_t={class:`flex flex-col gap-6`},vt={class:`flex flex-col field-gap`},yt={class:`cui-label`},bt={class:`flex flex-col field-gap`},xt={class:`cui-label`},St={class:`grid grid-cols-1 xs:grid-cols-2 gap-3`},Ct={class:`flex flex-col gap-1`},wt={class:`text-xs text-muted`},Tt={class:`flex flex-col gap-1`},Et={class:`text-xs text-muted`},Dt={class:`grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4`},Ot={class:`flex flex-col field-gap`},kt={class:`cui-label`},At={class:`flex flex-col field-gap`},jt={class:`cui-label`},Mt={class:`flex flex-col field-gap`},Nt={class:`flex items-center gap-3`},$={class:`cui-label !mb-0`},Pt={key:0,class:`ml-auto flex items-center gap-2.5 text-sm tabular-nums`},Ft={class:`font-semibold`},It={class:`font-semibold`},Lt={class:`border border-color rounded-xl card-background overflow-hidden`},Rt={class:`flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5`},zt={key:0,class:`flex items-center justify-center gap-2 text-muted text-sm py-6`},Bt={key:1,class:`text-center text-muted text-sm py-6`},Vt={class:`text-xs text-muted px-0.5`},Ht={class:`font-mono text-xs truncate flex-1`},Ut={class:`text-xs text-muted tabular-nums shrink-0`},Wt={class:`font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right`},Gt=30,Kt=q({__name:`ExportRecordings`,props:{cameras:{},preselect:{}},setup(e,{expose:t}){let n=e,{t:r}=d(),i=Ce(),o=j(`dialogRefProps`),{plugin:c}=l(`@camera.ui/camera-ui-nvr`),u=z([]),f=z(!1),p=z(n.preselect?.length?[...n.preselect]:[]),m=z(`best`),h=z(0),g=z(new Date(new Date().setHours(0,0,0,0))),_=z(new Date),te=G(()=>[{label:r(`views.recordings.export.quality_best`),value:`best`},{label:r(`views.recordings.export.quality_smallest`),value:`smallest`}]),ne=G(()=>[0,1,2,5,10,30,60,120,180,240,300].map(e=>({label:e===0?r(`views.recordings.export.timelapse_off`):e<60?`${e} s`:`${e/60} min`,value:e}))),v=G(()=>h.value>0),y=G(()=>v.value?`~`:``),b=G(()=>new Map(n.cameras.map(e=>[e.id,e.name]))),x=G(()=>g.value instanceof Date&&_.value instanceof Date&&g.value<_.value),S=G(()=>{if(!x.value)return[];let e=[],t=g.value.getTime(),n=_.value.getTime(),r=new Date(g.value);r.setHours(0,0,0,0);let i=new Date(_.value);for(i.setHours(0,0,0,0);r.getTime()<=i.getTime();){let i=new Date(r),a=new Date(r);a.setDate(a.getDate()+1);let o=Math.max(i.getTime(),t),s=Math.min(a.getTime(),n);s>o&&e.push({day:D(i),startUs:o*1e3,endUs:s*1e3}),r.setDate(r.getDate()+1)}return e}),w=G(()=>u.value.map(e=>{let t=b.value.get(e.cameraId)??e.cameraId,n=new Date(e.startUs/1e3),i=new Date(e.endUs/1e3),a=n.getHours()===0&&n.getMinutes()===0&&e.endUs-e.startUs===864e8,o=i.getHours()===0&&i.getMinutes()===0?`24:00`:ae(i);return{cameraId:e.cameraId,cameraName:t,name:`${oe(t)}_${e.day}${v.value?`_timelapse`:``}.mp4`,span:a?r(`views.recordings.export.whole_day`):`${ae(n)}–${o}`,bytes:v.value?e.bytes/Gt:e.bytes}})),re=G(()=>{let e=new Map;for(let t of w.value){let n=e.get(t.cameraId);n||(n={cameraId:t.cameraId,cameraName:t.cameraName,files:[],bytes:0},e.set(t.cameraId,n)),n.files.push(t),n.bytes+=t.bytes}return[...e.values()]}),ie=G(()=>w.value.reduce((e,t)=>e+t.bytes,0)),T=G(()=>p.value.length===0?r(`views.recordings.export.no_cameras`):x.value?r(`views.recordings.export.no_footage`):r(`views.recordings.export.no_range`));function E(e){return String(e).padStart(2,`0`)}function D(e){return`${e.getFullYear()}-${E(e.getMonth()+1)}-${E(e.getDate())}`}function ae(e){return`${E(e.getHours())}:${E(e.getMinutes())}`}function oe(e){return e.replace(/[^a-zA-Z0-9-_]/g,`_`)}function se(e){if(e<=0)return`0 MB`;let t=e/1e6;if(t<1e3)return`${t<10?t.toFixed(1):Math.round(t)} MB`;let n=e/1e9;return`${n.toFixed(+(n<10))} GB`}async function ce(){let e=c.value;if(!e?.nvrExportEstimate||p.value.length===0||S.value.length===0){u.value=[],f.value=!1;return}f.value=!0;try{let t=await e.nvrExportEstimate({cameras:p.value,slices:S.value,quality:m.value});u.value=t.files??[]}catch{u.value=[]}finally{f.value=!1}}async function le(){if(!x.value||p.value.length===0||S.value.length===0)return null;let e=c.value;if(!e?.nvrExportBatch)return i.add({severity:`error`,detail:r(`views.recordings.export.plugin_missing`),life:3e3}),null;let t=await e.nvrExportBatch({cameras:p.value,slices:S.value,quality:m.value,timelapseIntervalSec:v.value?h.value:0});await O({url:t.url,filename:t.filename})}return a([p,S,m],ce,{debounce:350,immediate:!0,deep:!0}),Me(()=>{o.disabled&&(o.disabled.value=!x.value||p.value.length===0||!f.value&&w.value.length===0)}),t({onConfirm:le}),(t,n)=>{let r=Ke,i=s,a=Y,o=ee,c=Ue,l=X,u=C,d=Q;return P(),R(`div`,_t,[L(`div`,vt,[L(`label`,yt,M(t.$t(`views.recordings.export.cameras`)),1),B(r,{modelValue:J(p),"onUpdate:modelValue":n[0]||=e=>U(p)?p.value=e:null,options:e.cameras,"option-label":`name`,"option-value":`id`,display:`chip`,filter:``,placeholder:t.$t(`views.recordings.export.cameras_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])]),L(`div`,bt,[L(`label`,xt,M(t.$t(`views.recordings.export.range`)),1),L(`div`,St,[L(`div`,Ct,[L(`span`,wt,M(t.$t(`views.recordings.export.from`)),1),B(i,{modelValue:J(g),"onUpdate:modelValue":n[1]||=e=>U(g)?g.value=e:null,"show-time":``,"hour-format":`24`,fluid:``,"max-date":J(_)},null,8,[`modelValue`,`max-date`])]),L(`div`,Tt,[L(`span`,Et,M(t.$t(`views.recordings.export.to`)),1),B(i,{modelValue:J(_),"onUpdate:modelValue":n[2]||=e=>U(_)?_.value=e:null,"show-time":``,"hour-format":`24`,fluid:``,"min-date":J(g)},null,8,[`modelValue`,`min-date`])])]),J(x)?(P(),H(a,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:A(()=>[V(M(t.$t(`views.recordings.export.range_hint`)),1)]),_:1})):(P(),H(a,{key:0,severity:`error`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:A(()=>[V(M(t.$t(`views.recordings.export.invalid_range`)),1)]),_:1}))]),L(`div`,Dt,[L(`div`,Ot,[L(`label`,kt,M(t.$t(`views.recordings.export.quality`)),1),B(o,{modelValue:J(m),"onUpdate:modelValue":n[3]||=e=>U(m)?m.value=e:null,options:J(te),"option-label":`label`,"option-value":`value`,"allow-empty":!1,pt:{root:{class:`flex w-full`},pcToggleButton:{root:{class:`flex-1`}}}},null,8,[`modelValue`,`options`])]),L(`div`,At,[L(`label`,jt,M(t.$t(`views.recordings.export.timelapse`)),1),B(c,{modelValue:J(h),"onUpdate:modelValue":n[4]||=e=>U(h)?h.value=e:null,options:J(ne),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`])])]),L(`div`,Mt,[L(`div`,Nt,[L(`label`,$,M(t.$t(`views.recordings.export.result`)),1),J(w).length?(P(),R(`div`,Pt,[L(`span`,Ft,M(J(w).length)+` `+M(J(w).length===1?t.$t(`views.recordings.export.file`):t.$t(`views.recordings.export.files`)),1),n[5]||=L(`span`,{class:`text-muted`},`·`,-1),L(`span`,It,M(J(y))+M(se(J(ie))),1),B(l,{value:J(w).length===1?`MP4`:`ZIP`,severity:`info`},null,8,[`value`])])):K(``,!0)]),L(`div`,Lt,[L(`div`,Rt,[J(f)&&!J(w).length?(P(),R(`div`,zt,[B(u,{style:{width:`1rem`,height:`1rem`},"stroke-width":`4`,class:`m-0`}),L(`span`,null,M(t.$t(`views.recordings.export.estimating`)),1)])):J(w).length?(P(!0),R(W,{key:2},F(J(re),e=>(P(),R(`div`,{key:e.cameraId,class:`flex flex-col gap-1`},[L(`span`,Vt,M(e.cameraName)+` · `+M(e.files.length)+` · `+M(J(y))+M(se(e.bytes)),1),(P(!0),R(W,null,F(e.files,e=>(P(),R(`div`,{key:e.name,class:`flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2`},[B(d,{class:`w-4 h-4 text-muted shrink-0`}),L(`span`,Ht,M(e.name),1),L(`span`,Ut,M(e.span),1),L(`span`,Wt,M(J(y))+M(se(e.bytes)),1)]))),128))]))),128)):(P(),R(`div`,Bt,M(J(T)),1))])])])])}}}),qt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Jt(e,t){return P(),R(`svg`,qt,[...t[0]||=[L(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 9l6 6l6-6`},null,-1)]])}var Yt=ze({name:`tabler-chevron-down`,render:Jt}),Xt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Zt(e,t){return P(),R(`svg`,Xt,[...t[0]||=[L(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 15l6-6l6 6`},null,-1)]])}var Qt=ze({name:`tabler-chevron-up`,render:Zt}),$t={class:`flex flex-col gap-2`},en={class:`sidebar-section-title`},tn={key:0,class:`text-xs text-muted`},nn={class:`flex flex-col gap-2`},rn={class:`sidebar-section-title`},an={class:`p-input-icon-left w-full`},on={class:`text-xs text-muted`},sn={class:`flex flex-col gap-2`},cn={class:`sidebar-section-title flex items-center gap-1.5`},ln={key:0,class:`inline-flex items-center gap-1 text-xs text-muted`},un={key:1,class:`flex flex-col gap-1.5 mt-1`},dn={class:`text-xs text-muted`},fn={class:`flex items-center gap-3`},pn={class:`text-xs font-mono w-8 text-right shrink-0`},mn={class:`flex flex-col gap-2`},hn={class:`sidebar-section-title flex items-center gap-1.5`},gn={key:0,class:`text-xs text-muted`},_n={key:2,class:`flex flex-col gap-2`},vn={class:`sidebar-section-title`},yn={class:`flex flex-col gap-2`},bn={class:`sidebar-section-title`},xn={class:`flex flex-col gap-2`},Sn={class:`sidebar-section-title`},Cn={class:`relative rounded-md overflow-hidden`},wn={key:4,class:`sidebar-divider`},Tn={key:5,class:`flex flex-col gap-2`},En={class:`sidebar-section-title`},Dn={class:`flex items-center gap-3`},On={class:`text-xs font-mono w-8 text-right shrink-0`},kn={class:`flex flex-col gap-2`},An={class:`sidebar-section-title`},jn={class:`flex flex-wrap gap-1`},Mn={class:`flex flex-col gap-2`},Nn={key:0,class:`flex flex-col gap-2`},Pn={class:`flex items-center gap-2 cursor-pointer text-sm`},Fn={key:0,class:`flex flex-col gap-2 ml-6`},In={class:`filter-logic-divider`},Ln={class:`flex flex-col gap-2`},Rn={key:0,class:`flex flex-col gap-2`},zn={class:`filter-logic-divider`},Bn={class:`flex flex-col gap-2`},Vn={key:0,class:`flex flex-col gap-2`},Hn={class:`flex items-center gap-2 cursor-pointer text-sm`},Un=288,Wn=le(q({__name:`RecordingsFilterSidebar`,props:{filters:{},cameras:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},resultCount:{},semanticCount:{},semanticSearchAvailable:{type:Boolean},semanticSearchLoading:{type:Boolean},assistantSearchAvailable:{type:Boolean},assistantSearchLoading:{type:Boolean},assistantSearchNote:{}},emits:[`update:filters`,`semantic-search`,`assistant-search`,`close`],setup(e,{expose:a,emit:s}){let c=new Set([`motion`,`audio`]),l=e,u=s,{t:p}=d(),{xlBreakpoint:m}=ae(),{topbarOffset:h,bottombarHeight:g}=ce(),{icons:_,generic:v}=He(),y=_,C=Qt,w=Yt,ie=Oe(`sidebarRef`),T=z(l.filters.semanticQuery??``),E=z(``),D=Ie({eventTypes:!0,attributes:!0,sensorEvents:!0}),oe=G(()=>l.isOpen?Un:0),se=G(()=>{let e=[...new Set(l.cameras.map(e=>e.room).filter(e=>!!e))];return e.sort((e,t)=>e.localeCompare(t)),e.map(e=>({id:e,name:e===`Default`?p(`components.form.label.room_default`):e}))}),le=G(()=>{let e=l.filters.rooms;return(e.length>0?l.cameras.filter(t=>e.includes(t.room??``)):l.cameras).map(e=>({id:e.id,name:e.name}))}),ue=G(()=>{if(l.filters.cameraIds.length===1)return l.cameras.find(e=>e.id===l.filters.cameraIds[0])?.name}),O=G(()=>l.filters.contentKind===`episodes`),de=G(()=>[{label:p(`views.recordings.content_kind_all`),value:`all`},{label:p(`views.recordings.content_kind_events`),value:`events`},{label:p(`views.recordings.content_kind_episodes`),value:`episodes`}]),fe=G(()=>[{label:p(`views.recordings.filter_and`),value:`and`},{label:p(`views.recordings.filter_or`),value:`or`}]),pe=G(()=>[{label:p(`views.recordings.time_1h`),value:`1h`},{label:p(`views.recordings.time_1d`),value:`1d`},{label:p(`views.recordings.time_1w`),value:`1w`},{label:p(`views.recordings.time_1m`),value:`1m`}]),me=G(()=>b.filter(e=>!c.has(e)).map(e=>({label:p(`views.recordings.type_${e}`),value:e,icon:_[e]??v}))),he=G(()=>({label:p(`views.recordings.type_other`),value:i,icon:_.other??v})),ge=G(()=>S.map(e=>({label:p(Xe(e)),value:e,icon:y[e]??v}))),_e=G(()=>t.map(e=>({label:p(Ze(e)),value:e,icon:_[e]??v}))),ve=G(()=>r.map(e=>({label:p(Z(e)),value:e,icon:_[e]??v})));function k(e,t){u(`update:filters`,{...l.filters,[e]:t})}let ye=ne(e=>{k(`search`,e)},300);function be(e){let t=new Set(l.cameras.filter(t=>e.length===0||e.includes(t.room??``)).map(e=>e.id));u(`update:filters`,{...l.filters,rooms:e,cameraIds:l.filters.cameraIds.filter(e=>t.has(e))})}function xe(){let e=E.value.trim();e&&!l.assistantSearchLoading&&u(`assistant-search`,e)}function Se(){let e=T.value.trim();k(`semanticQuery`,e),u(`semantic-search`,e)}function Ce(e){let t=[...l.filters.eventTypes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),k(`eventTypes`,t)}function Te(e){let t=[...l.filters.audioLabels],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),k(`audioLabels`,t)}function De(e){let t=[...l.filters.sensorEvents],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),k(`sensorEvents`,t)}function A(e){let t=[...l.filters.hasAttributes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),k(`hasAttributes`,t)}function j(e){D[e]=!D[e]}return I(T,e=>{!e?.trim()&&l.filters.semanticQuery&&k(`semanticQuery`,``)}),f(ie,e=>{let t=e.target;t.closest(`#recordings-sidebar-toggle`)||t.closest(`[data-pc-section="overlay"], [data-pc-section="panel"], .p-connected-overlay`)||l.isOpen&&(l.isOverlay||!m.value)&&u(`close`)}),a({sidebarWidth:oe}),(t,r)=>{let i=ee,a=x,s=Ee,c=Ge,l=n,u=te,d=Ve,f=Ke,p=re,m=we,_=o;return P(),R(`nav`,{ref_key:`sidebarRef`,ref:ie,class:`recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe pb-safe flex flex-col z-4`,style:je({width:`${J(oe)}px`,borderRightWidth:e.isOpen?`1px`:`0px`,paddingBottom:`calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${J(g)}px + ${J(h)}px)`})},[L(`div`,{class:`flex flex-col gap-4 p-4`,style:je({width:`${Un}px`})},[L(`div`,$t,[L(`label`,en,M(t.$t(`views.recordings.content_kind`)),1),B(i,{"model-value":e.filters.contentKind,options:J(de),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`content-kind-toggle`,"onUpdate:modelValue":r[0]||=e=>k(`contentKind`,e)},null,8,[`model-value`,`options`]),J(O)?(P(),R(`span`,tn,M(t.$t(`views.recordings.content_kind_episodes_hint`)),1)):K(``,!0)]),r[25]||=L(`div`,{class:`sidebar-divider`},null,-1),J(O)?K(``,!0):(P(),R(W,{key:0},[L(`div`,nn,[L(`label`,rn,M(t.$t(`views.recordings.search`)),1),L(`span`,an,[B(a,{"model-value":e.filters.search,placeholder:t.$t(`views.recordings.search_placeholder`),class:`w-full text-sm`,"onUpdate:modelValue":r[1]||=e=>J(ye)(e)},null,8,[`model-value`,`placeholder`])]),L(`span`,on,M(t.$t(`views.recordings.result_count`,{count:e.resultCount})),1)]),r[16]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,sn,[L(`label`,cn,[B(s,{class:`w-3.5 h-3.5`}),V(` `+M(t.$t(`views.recordings.semantic_search`)),1)]),B(c,{modelValue:J(T),"onUpdate:modelValue":r[2]||=e=>U(T)?T.value=e:null,placeholder:t.$t(`views.recordings.semantic_search_placeholder`),class:`w-full text-sm semantic-textarea`,rows:`3`,disabled:!e.semanticSearchAvailable},null,8,[`modelValue`,`placeholder`,`disabled`]),B(l,{label:t.$t(`views.recordings.semantic_search_button`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,loading:e.semanticSearchLoading,disabled:!e.semanticSearchAvailable||!J(T)?.trim(),onClick:Se},null,8,[`label`,`loading`,`disabled`]),e.semanticCount==null?K(``,!0):(P(),R(`span`,ln,[B(s,{class:`w-3 h-3`}),V(` `+M(t.$t(`views.recordings.semantic_results`,{count:e.semanticCount})),1)])),e.filters.semanticQuery?(P(),R(`div`,un,[L(`label`,dn,M(t.$t(`views.recordings.min_match_score`)),1),L(`div`,fn,[B(u,{"model-value":e.filters.minSemanticScore,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":r[3]||=e=>k(`minSemanticScore`,e)},null,8,[`model-value`]),L(`span`,pn,M(Math.round(e.filters.minSemanticScore*100))+`%`,1)])])):K(``,!0)]),r[17]||=L(`div`,{class:`sidebar-divider`},null,-1)],64)),e.assistantSearchAvailable?(P(),R(W,{key:1},[L(`div`,mn,[L(`label`,hn,[B(d,{class:`w-3.5 h-3.5`}),V(` `+M(t.$t(`views.recordings.assistant_search`)),1)]),B(a,{modelValue:J(E),"onUpdate:modelValue":r[4]||=e=>U(E)?E.value=e:null,placeholder:t.$t(`views.recordings.assistant_search_placeholder`),class:`w-full text-sm`,disabled:e.assistantSearchLoading,onKeydown:Be(Re(xe,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`disabled`,`onKeydown`]),B(l,{label:t.$t(`views.recordings.assistant_search_button`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,loading:e.assistantSearchLoading,disabled:!J(E).trim(),onClick:xe},null,8,[`label`,`loading`,`disabled`]),e.assistantSearchNote?(P(),R(`span`,gn,M(e.assistantSearchNote),1)):K(``,!0)]),r[18]||=L(`div`,{class:`sidebar-divider`},null,-1)],64)):K(``,!0),J(se).length>1?(P(),R(`div`,_n,[L(`label`,vn,M(t.$t(`views.recordings.rooms`)),1),B(f,{"model-value":e.filters.rooms,options:J(se),"option-label":`name`,"option-value":`id`,placeholder:t.$t(`views.recordings.all_rooms`),class:`w-full text-sm`,"max-selected-labels":2,"show-toggle-all":!1,pt:{overlay:{style:`position: fixed`}},"onUpdate:modelValue":r[5]||=e=>be(e)},null,8,[`model-value`,`options`,`placeholder`])])):K(``,!0),L(`div`,yn,[L(`label`,bn,M(t.$t(`views.recordings.cameras`)),1),B(f,{"model-value":e.filters.cameraIds,options:J(le),"option-label":`name`,"option-value":`id`,placeholder:t.$t(`views.recordings.all_cameras`),class:`w-full text-sm`,"max-selected-labels":2,"show-toggle-all":!1,pt:{overlay:{style:`position: fixed`}},"onUpdate:modelValue":r[6]||=e=>k(`cameraIds`,e)},null,8,[`model-value`,`options`,`placeholder`])]),J(ue)&&!J(O)?(P(),R(W,{key:3},[r[19]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,xn,[L(`label`,Sn,M(t.$t(`views.recordings.grid_search`)),1),L(`div`,Cn,[B(p,{camera:J(ue),"object-fit":`cover`},null,8,[`camera`]),B(m,{"model-value":e.filters.gridRegions,"onUpdate:modelValue":r[7]||=e=>k(`gridRegions`,e)},null,8,[`model-value`])]),B(l,{label:t.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,disabled:e.filters.gridRegions.length===0,onClick:r[8]||=e=>k(`gridRegions`,[])},null,8,[`label`,`disabled`])])],64)):K(``,!0),J(O)?K(``,!0):(P(),R(`div`,wn)),J(O)?K(``,!0):(P(),R(`div`,Tn,[L(`label`,En,M(t.$t(`views.recordings.confidence`)),1),L(`div`,Dn,[B(u,{"model-value":e.filters.minConfidence,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":r[9]||=e=>k(`minConfidence`,e)},null,8,[`model-value`]),L(`span`,On,M(Math.round(e.filters.minConfidence*100))+`%`,1)])])),r[26]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,kn,[L(`label`,An,M(t.$t(`views.recordings.time_range`)),1),L(`div`,jn,[(P(!0),R(W,null,F(J(pe),t=>(P(),H(l,{key:t.value,label:t.label,severity:e.filters.timeRange===t.value?void 0:`secondary`,outlined:e.filters.timeRange!==t.value,size:`small`,class:`text-xs flex-1 min-w-0`,onClick:n=>k(`timeRange`,e.filters.timeRange===t.value?null:t.value)},null,8,[`label`,`severity`,`outlined`,`onClick`]))),128))])]),J(O)?K(``,!0):(P(),R(W,{key:6},[r[24]||=L(`div`,{class:`sidebar-divider`},null,-1),L(`div`,Mn,[L(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:r[10]||=e=>j(`sensorEvents`)},[L(`span`,null,M(t.$t(`views.recordings.sensor_events`)),1),(P(),H(N(J(D).sensorEvents?J(C):J(w)),{class:`w-4 h-4 text-muted`}))]),J(D).sensorEvents?(P(),R(`div`,Nn,[(P(!0),R(W,null,F(J(ge),t=>(P(),R(W,{key:t.value},[L(`label`,Pn,[B(_,{"model-value":e.filters.sensorEvents.includes(t.value),binary:!0,"onUpdate:modelValue":e=>De(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),H(N(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,M(t.label),1)]),t.value===`audio`&&e.filters.sensorEvents.includes(`audio`)?(P(),R(`div`,Fn,[(P(!0),R(W,null,F(J(_e),t=>(P(),R(`label`,{key:t.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[B(_,{"model-value":e.filters.audioLabels.includes(t.value),binary:!0,"onUpdate:modelValue":e=>Te(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),H(N(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,M(t.label),1)]))),128))])):K(``,!0)],64))),128))])):K(``,!0)]),L(`div`,In,[r[20]||=L(`div`,{class:`filter-logic-line`},null,-1),B(i,{"model-value":e.filters.filterLogicTriggers,options:J(fe),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":r[11]||=e=>k(`filterLogicTriggers`,e)},null,8,[`model-value`,`options`]),r[21]||=L(`div`,{class:`filter-logic-line`},null,-1)]),L(`div`,Ln,[L(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:r[12]||=e=>j(`eventTypes`)},[L(`span`,null,M(t.$t(`views.recordings.event_type`)),1),(P(),H(N(J(D).eventTypes?J(C):J(w)),{class:`w-4 h-4 text-muted`}))]),J(D).eventTypes?(P(),R(`div`,Rn,[(P(!0),R(W,null,F(J(me),t=>(P(),R(`label`,{key:t.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[B(_,{"model-value":e.filters.eventTypes.includes(t.value),binary:!0,"onUpdate:modelValue":e=>Ce(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),H(N(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,M(t.label),1)]))),128))])):K(``,!0)]),L(`div`,zn,[r[22]||=L(`div`,{class:`filter-logic-line`},null,-1),B(i,{"model-value":e.filters.filterLogicAttributes,options:J(fe),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":r[13]||=e=>k(`filterLogicAttributes`,e)},null,8,[`model-value`,`options`]),r[23]||=L(`div`,{class:`filter-logic-line`},null,-1)]),L(`div`,Bn,[L(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:r[14]||=e=>j(`attributes`)},[L(`span`,null,M(t.$t(`views.recordings.attributes`)),1),(P(),H(N(J(D).attributes?J(C):J(w)),{class:`w-4 h-4 text-muted`}))]),J(D).attributes?(P(),R(`div`,Vn,[(P(!0),R(W,null,F(J(ve),t=>(P(),R(`label`,{key:t.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[B(_,{"model-value":e.filters.hasAttributes.includes(t.value),binary:!0,"onUpdate:modelValue":e=>A(t.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),H(N(t.icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,M(t.label),1)]))),128)),L(`label`,Hn,[B(_,{"model-value":e.filters.eventTypes.includes(J(he).value),binary:!0,"onUpdate:modelValue":r[15]||=e=>Ce(J(he).value)},null,8,[`model-value`]),(P(),H(N(J(he).icon),{class:`w-4 h-4 text-muted`})),L(`span`,null,M(J(he).label),1)])])):K(``,!0)])],64))],4)],4)}}}),[[`__scopeId`,`data-v-e863f967`]]),Gn={class:`font-semibold text-xl truncate`},Kn={class:`w-full h-full relative`},qn={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},Jn={class:`relative z-2 page-title !m-0`},Yn={key:1,class:`fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center`},Xn={key:2,class:`flex justify-center py-4`},Zn={key:3,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},Qn={class:`text-muted text-sm`},$n=288,er=q({__name:`Recordings`,setup(t){let r=new Ye,i=new oe,a=new ie,o=ye(),s=k(),{bottombarHeight:ee}=ce(),{status:l,checking:f}=h(),{openEventTrace:te}=Te(),ne=_(`@camera.ui/camera-ui-nvr`),b=Ce(),{t:x,locale:S}=d(),{smBreakpoint:C,xlBreakpoint:re,mdBreakpoint:le}=ae(),{registerScrollToTop:O}=ge();if(typeof VideoDecoder<`u`){let t=m({cacheSize:20});ke(y,t),e(()=>t.dispose())}let{results:we,isSearching:j,isAvailable:N,hasSearched:Me,search:V,clear:Ie}=u(),{data:Re}=r.getAssistantStatusQuery(),{data:U}=i.getCamerasQuery({page:1,pageSize:-1}),{data:ze}=a.getUserQuery(G(()=>s.user?.username??``)),Be={contentKind:`all`,favoritesOnly:!1,search:``,semanticQuery:``,filterLogicTriggers:`or`,filterLogicAttributes:`or`,rooms:[],cameraIds:[],timeRange:null,customDateRange:null,eventTypes:[],audioLabels:[],hasAttributes:[],sensorEvents:[],gridRegions:[],minConfidence:.5,minSemanticScore:.5,onlyWithRecordings:!0},q={"1h":36e5,"1d":864e5,"1w":6048e5,"1m":2592e6},Ve=Oe(`gridRef`),He=Oe(`viewMenuRef`),Y=z(`closed`),Ue=z(!1),X=z({...Be}),We=z(!1),Ge=z(``),Ke=Le({hasDetections:!0,withRecordingInfo:!0,hasRecording:!0}),Xe=JSON.stringify(Ke.value),Z=z(!1),Ze=Le([]),ot=z(null),st=Oe(`reindexAnchorRef`),{left:lt}=g(st),ut=!1,dt=G(()=>re.value?!0:Y.value===`opened`),ft=G(()=>le.value),pt=T(()=>Ve.value?.scrollY??0),ht=G(()=>dt.value&&ft.value?!0:pt.value&&!l.value?.running),gt=G(()=>le.value?`0px`:dt.value?`${$n}px`:`0px`),Q=G(()=>(U.value?.result??[]).map(e=>({id:e._id,name:e.name,room:e.room}))),_t=G(()=>{let e=new Map;for(let t of Q.value)e.set(t.id,t.name);return e}),vt=G(()=>{let e=new Map;for(let t of U.value?.result??[])e.set(t._id,t);return e}),yt=G(()=>{let e=X.value.rooms;return(e.length>0?Q.value.filter(t=>e.includes(t.room??``)):Q.value).map(e=>e.id)}),bt=G(()=>X.value.cameraIds.filter(e=>yt.value.includes(e))),xt=G(()=>yt.value);O(()=>Ve.value?.scrollToTop());let{events:St,isLoading:Ct,hasMore:wt,loadMore:Tt,loadThumbnails:Et,deleteEvents:Dt,reset:Ot,loadFailed:kt,pluginUnavailable:At}=v({availableCameraIds:xt,cameraIds:bt,realtime:!0,pageSize:40,filter:Ke,withEpisodes:!0}),jt=G(()=>{let e=new Map;for(let t of we.value??[]){let n=e.get(t.eventId);(!n||t.score>n)&&e.set(t.eventId,t.score)}return e}),Mt=G(()=>Me.value),Nt=G(()=>At.value?x(`views.recordings.recordings_unavailable`):kt.value?x(`views.recordings.load_failed`):x(`views.recordings.no_recordings`)),$=G(()=>{let e=St.value.filter(e=>e.state===`ended`||(e.segments?.length??0)>0),t=X.value;if(t.timeRange&&q[t.timeRange]){let n=Date.now()-q[t.timeRange];e=e.filter(e=>e.startTime>=n)}return t.gridRegions.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&nt(e.box,t.gridRegions))))),t.favoritesOnly&&(e=e.filter(e=>e.favorite)),Mt.value&&(e=e.filter(e=>{let n=jt.value.get(e.id);return n!=null&&n>=t.minSemanticScore}),e.sort((e,t)=>(jt.value.get(t.id)??0)-(jt.value.get(e.id)??0))),e}),Pt=G(()=>X.value.contentKind===`episodes`),Ft=G(()=>Re.value?.state===`ready`),It=G(()=>{if(X.value.contentKind===`events`)return[];ne.storeVersion.value;let e=X.value;if(!Pt.value&&(Z.value||Mt.value||e.gridRegions.length>0||e.search.trim()!==``||e.eventTypes.length>0||e.audioLabels.length>0||e.hasAttributes.length>0||e.sensorEvents.length>0||e.minConfidence!==.5))return[];let t=bt.value.length>0?bt.value:xt.value,n=e.timeRange&&q[e.timeRange]?Date.now()-q[e.timeRange]:0,r=1/0;if(e.timeRange===`custom`&&e.customDateRange&&(n=Math.max(n,e.customDateRange[0].getTime()),r=e.customDateRange[1].getTime()),wt.value&&!Pt.value){let e=1/0;for(let t of St.value)e=Math.min(e,t.thumbnailAt??t.startTime);n=Math.max(n,e)}let i=[];for(let a of ne.getEpisodes())a.description&&(!e.favoritesOnly||a.favorite)&&(n&&a.endTime<n||a.startTime>r||t.length>0&&!a.members.some(e=>t.includes(e.cameraId))||i.push({event:void 0,key:`episode:${a.id}`,episode:a}));return i}),Lt=G(()=>{if(Pt.value)return[...It.value].sort((e,t)=>$e(t)-$e(e));if(Z.value&&Ze.value.length)return Ze.value;let e=$.value.map(e=>({event:e,key:e.id}));return It.value.length&&(e.push(...It.value),e.sort((e,t)=>$e(t)-$e(e))),e}),Rt=G(()=>pe(void 0,`admin`)),zt=G(()=>$.value.filter(e=>e.state===`ended`)),{selectionMode:Bt,selectedIds:Vt,allSelected:Ht,bulkBusy:Ut,enterSelectionMode:Wt,exitSelectionMode:Gt,toggleSelectAll:qt,toggleSelection:Jt}=se(zt,e=>e.id);function Yt(){let e=[...Vt.value];e.length&&!Ut.value&&o.openTextDialog({data:{title:x(`components.dialog.title.confirm`),contentText:x(`views.recordings.delete_selected_confirm`,{count:e.length}),confirmText:x(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{Ut.value=!0;try{await Dt(e),Gt(),b.add({severity:`success`,detail:x(`views.recordings.delete_selected_done`,{count:e.length}),life:5e3})}catch(e){b.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{Ut.value=!1}}})}let Xt=G(()=>[{key:`ungroup`,label:x(`views.recordings.ungroup`),description:x(`views.recordings.ungroup_hint`),toggle:!0,toggleState:Z.value,onClick:()=>{ut=!0,Z.value=!Z.value,s.updateUser({preferences:{recordings:{ungrouped:Z.value}}})}},{key:`onlyWithRecordings`,label:x(`views.recordings.only_with_recordings`),description:x(`views.recordings.only_with_recordings_hint`),toggle:!0,toggleState:X.value.onlyWithRecordings,onClick:()=>{X.value={...X.value,onlyWithRecordings:!X.value.onlyWithRecordings}}},...Rt.value?[{key:`favoritesOnly`,label:x(`views.recordings.favorites_only`),description:x(`views.recordings.favorites_hint`),toggle:!0,toggleState:X.value.favoritesOnly,onClick:()=>{X.value={...X.value,favoritesOnly:!X.value.favoritesOnly}}}]:[]]);function Zt(){o.openComponentDialog(mt,{data:{title:x(`views.recordings.reindex.title`),contentProps:{},confirmText:x(`views.recordings.reindex.start`)}})}function Qt(){o.openComponentDialog(Kt,{data:{title:x(`views.recordings.export.title`),contentProps:{cameras:Q.value,preselect:X.value.cameraIds?.length?X.value.cameraIds:[]},confirmText:x(`views.recordings.export.confirm`)}})}function $t(){let e=Y.value;Y.value=e===`opened`?`closed`:`opened`}function en(){Y.value=`closed`}function tn(e){!e.semanticQuery?.trim()&&X.value.semanticQuery?.trim()&&Ie(),X.value=e}async function nn(e){We.value=!0,Ge.value=``;try{let t=await Je(e,S.value,Intl.DateTimeFormat().resolvedOptions().timeZone);tn({...Be,...t.filters,favoritesOnly:Rt.value&&t.filters.favoritesOnly}),rn(t.filters.semanticQuery),Ge.value=t.note}catch(e){b.add({severity:`error`,detail:e?.response?.data?.message??x(`views.recordings.assistant_search_failed`),life:5e3})}finally{We.value=!1}}function rn(e){if(!e.trim()){Ie();return}V(e)}function an(e,t){let n=vt.value.get(e.cameraId);n&&te(e,n,t)}function on(e,t){let n=vt.value.get(e.cameraId);n&&o.openComponentDialog(be,{data:{title:n.name,dedupeKey:`camera-event:${n._id}:${t}`,stayActive:!0,hideCancelButton:!0,hideConfirmButton:!0,contentProps:{camera:n,eventTimestamp:t},headerActions:e.segments?.some(e=>e?.description)?[{icon:Ee,toggle:!0,onClick:()=>{}}]:void 0,draggable:!0,blockDragOnSelectors:[`.p-dialog-body`],dismissableMask:!1,modal:!1,dialogContentClass:`!px-0 h-full`,goTo:`/cameras/${n.name}?startTs=${t}`},dialogSize:{desktop:{maxWidth:`800px`,maxHeight:`calc(100vh - max(1rem, var(--safe-area-inset-top)) - max(1rem, var(--safe-area-inset-bottom)))`,width:`50vw`}}})}return I(re,e=>{e&&(Y.value=`closed`)}),I(X,e=>{let t=e.eventTypes.length>0||e.sensorEvents.length>0||e.audioLabels.length>0||e.hasAttributes.length>0,n={types:e.eventTypes.length>0?e.eventTypes:void 0,triggers:e.sensorEvents.length>0?e.sensorEvents:void 0,triggerLabels:e.audioLabels.length>0?e.audioLabels:void 0,attributes:e.hasAttributes.length>0?e.hasAttributes:void 0,filterLogicTriggers:t?e.filterLogicTriggers:void 0,filterLogicAttributes:t?e.filterLogicAttributes:void 0,search:e.search||void 0,minConfidence:e.minConfidence>0?e.minConfidence:void 0,hasDetections:!t,withRecordingInfo:!0,hasRecording:e.onlyWithRecordings||void 0,favoritesOnly:e.favoritesOnly||void 0},r=JSON.stringify(n);r!==Xe&&(Xe=r,Ke.value=n)},{deep:!0,immediate:!0}),I(ze,e=>{if(!e||ut)return;let t=e.preferences?.recordings?.ungrouped;t!==void 0&&(Z.value=t)},{immediate:!0}),I([Z,$],([e,t])=>{Ze.value=e?tt(t):[]}),I(()=>X.value.cameraIds,e=>{e.length!==1&&X.value.gridRegions.length>0&&(X.value={...X.value,gridRegions:[]})}),Ae(()=>{requestAnimationFrame(()=>{Ue.value=!0})}),(e,t)=>{let r=me,i=he,a=w,o=n,s=rt,u=at,d=it,m=E,h=Qe,g=et,_=p,te=_e,ne=ve,v=ue,y=de,b=c;return P(),R(`div`,null,[B(r,{position:`center`},{default:A(()=>[L(`span`,Gn,M(e.$t(`views.recordings.title`)),1)]),_:1}),B(r,{position:`left`},{default:A(()=>[B(o,{id:`recordings-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:$t},{icon:A(()=>[J(Y)===`closed`?(P(),H(i,{key:0,width:`100%`,height:`100%`})):(P(),H(a,{key:1,width:`100%`,height:`100%`}))]),_:1})]),_:1}),B(r,{position:`right`},{default:A(()=>[B(o,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:t[0]||=e=>J(He)?.toggleMenu(e)},{icon:A(()=>[B(s,{width:`100%`,height:`100%`})]),_:1})]),_:1}),B(Wn,{filters:J(X),cameras:J(Q),"is-open":J(dt),"is-overlay":J(ft),"result-count":J(Lt).length,"semantic-count":J(Mt)?J(jt).size:void 0,"semantic-search-available":J(N),"semantic-search-loading":J(j),"assistant-search-available":J(Ft),"assistant-search-loading":J(We),"assistant-search-note":J(Ge),"onUpdate:filters":tn,onSemanticSearch:rn,onAssistantSearch:nn,onClose:en},null,8,[`filters`,`cameras`,`is-open`,`is-overlay`,`result-count`,`semantic-count`,`semantic-search-available`,`semantic-search-loading`,`assistant-search-available`,`assistant-search-loading`,`assistant-search-note`]),(P(),H(Ne,{to:`#container`,defer:``},[J(dt)&&J(ft)?(P(),R(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:en})):K(``,!0)])),L(`main`,{ref_key:`reindexAnchorRef`,ref:st,class:`relative w-full h-full`,style:je({paddingLeft:J(gt),transition:J(Ue)?`padding-left 200ms`:void 0})},[L(`div`,Kn,[J(C)?K(``,!0):(P(),R(`div`,qn,[t[3]||=L(`div`,{class:`ml-2`},null,-1),J(re)?K(``,!0):(P(),H(o,{key:0,id:`recordings-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:$t},{icon:A(()=>[J(dt)?(P(),H(u,{key:0,width:`100%`,height:`100%`})):(P(),H(d,{key:1,width:`100%`,height:`100%`}))]),_:1})),L(`h1`,Jn,M(e.$t(`views.recordings.title`)),1),t[4]||=L(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[L(`div`),L(`div`),L(`div`),L(`div`),L(`div`),L(`div`)],-1)])),J(C)?K(``,!0):(P(),R(`div`,Yn,[Fe((P(),H(o,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,onClick:t[1]||=e=>J(He)?.toggleMenu(e)},{icon:A(()=>[B(s,{width:`100%`,height:`100%`})]),_:1})),[[b,{value:e.$t(`views.recordings.view_options`)},void 0,{bottom:!0}]])])),L(`div`,{class:Pe([`px-2 h-full w-full flex flex-col`,{"pt-4":J(C),"pt-[calc(40px+2rem)]":!J(C)}])},[J(Lt).length?(P(),H(g,{key:0,ref_key:`gridRef`,ref:Ve,items:J(Lt),"min-item-width":J(C)?160:180,gap:8,"has-more":J(wt),"load-more":J(Tt),"item-key":e=>e.key,class:`flex-1 min-h-0`},{item:A(({item:e})=>[e.episode?(P(),H(m,{key:0,episode:e.episode,"camera-by-id":J(vt),fluid:``,"click-disabled":J(Bt)},null,8,[`episode`,`camera-by-id`,`click-disabled`])):(P(),H(h,{key:1,event:e.event,"camera-name":J(_t).get(e.event.cameraId),camera:J(vt).get(e.event.cameraId),"load-thumbnails":J(Et),"semantic-score":J(jt).get(e.event.id),"seg-index":e.segIndex,"selection-mode":J(Bt)&&e.event.state===`ended`,selected:J(Vt).has(e.event.id),"sibling-active":e.segIndex!==void 0&&J(ot)===e.event.id,onSelect:t=>J(Jt)(e.event.id),onScrollToEvent:t=>on(e.event,t),onOpenTrace:t=>an(e.event,t),onMouseenter:t=>ot.value=e.segIndex===void 0?null:e.event.id,onMouseleave:t[2]||=e=>ot.value=null},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`,`semantic-score`,`seg-index`,`selection-mode`,`selected`,`sibling-active`,`onSelect`,`onScrollToEvent`,`onOpenTrace`,`onMouseenter`]))]),_:1},8,[`items`,`min-item-width`,`has-more`,`load-more`,`item-key`])):J(Ct)?(P(),R(`div`,{key:1,class:`grid gap-2 flex-1 min-h-0 overflow-hidden content-start`,style:je({gridTemplateColumns:`repeat(auto-fill, minmax(${J(C)?160:180}px, 1fr))`})},[(P(),R(W,null,F(24,e=>B(_,{key:`skeleton-${e}`,class:`w-full rounded-xl`,style:{"aspect-ratio":`1/1`},height:`auto`})),64))],4)):K(``,!0),J(Ct)&&J(Lt).length||J(j)?(P(),R(`div`,Xn,[B(te,{width:`24px`,height:`24px`,class:`text-muted`})])):K(``,!0),!J($).length&&!J(Ct)&&!J(j)?(P(),R(`div`,Zn,[B(ne,{class:`w-12 h-12 text-muted`}),L(`span`,Qn,M(J(Nt)),1),J(kt)&&!J(At)?(P(),H(o,{key:0,severity:`secondary`,class:`cui-button-small`,label:e.$t(`views.recordings.load_failed_retry`),onClick:J(Ot)},null,8,[`label`,`onClick`])):K(``,!0)])):K(``,!0)],2)])],4),J(Rt)&&J(Q).length?(P(),R(`div`,{key:0,class:Pe([`fixed z-10`,J(ht)?`scale-0 opacity-0`:`scale-100 opacity-100`]),style:je({left:`calc(${J(lt)}px + ${J(gt)} + 0.75rem + var(--safe-area-inset-left))`,bottom:`calc(${J(ee)}px + 1.25rem + var(--safe-area-inset-bottom))`,transition:J(Ue)?`left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out`:void 0})},[B(o,{severity:`secondary`,rounded:``,class:`shadow-lg`,disabled:J(l)?.running,label:J(f)?e.$t(`views.recordings.reindex.checking`):J(l)?.running?e.$t(`views.recordings.reindex.progress`,{done:J(l).done,total:J(l).total}):e.$t(`views.recordings.reindex.button`),onClick:Zt},{icon:A(()=>[J(l)?.running?(P(),H(J(_e),{key:0})):(P(),H(J(ct),{key:1}))]),_:1},8,[`disabled`,`label`])],6)):K(``,!0),J(Q).length?(P(),H(y,{key:1,"force-visible":J(Bt),"scroll-y":J(Ve)?.scrollY??0},{default:A(()=>[J(Bt)?(P(),R(W,{key:1},[B(v,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:J(qe),"icon-props":{width:`100%`,height:`100%`},onClick:J(Gt)},null,8,[`tooltip-props`,`icon`,`onClick`]),B(v,{grouped:``,"tooltip-props":{value:J(Ht)?e.$t(`components.form.tooltip.deselect_all`):e.$t(`components.form.tooltip.select_all`)},"button-props":{severity:J(Ht)?`primary`:`secondary`},icon:J(D),"icon-props":{width:`100%`,height:`100%`},onClick:J(qt)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),B(v,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.delete_selected`)},"button-props":{severity:`danger`,disabled:!J(Vt).size||J(Ut)},icon:J(De),"icon-props":{width:`100%`,height:`100%`},onClick:Yt},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(P(),R(W,{key:0},[J(Rt)&&J($).length?(P(),H(v,{key:0,grouped:``,"tooltip-props":{value:e.$t(`views.recordings.select`)},"button-props":{severity:`secondary`},icon:J(fe),"icon-props":{width:`100%`,height:`100%`},onClick:J(Wt)},null,8,[`tooltip-props`,`icon`,`onClick`])):K(``,!0),B(v,{grouped:``,"tooltip-props":{value:e.$t(`views.recordings.export.title`)},"button-props":{class:`text-white`},icon:J(Se),"icon-props":{width:`26px`,height:`26px`},onClick:Qt},null,8,[`tooltip-props`,`icon`])],64))]),_:1},8,[`force-visible`,`scroll-y`])):K(``,!0),B(xe,{ref_key:`viewMenuRef`,ref:He,items:J(Xt),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{er as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Dr as e,Er as t,Lr as n,Sr as r,Vr as i,_t as a,ar as o,at as s,br as c,cr as l,ct as u,et as d,fr as f,ft as p,gr as m,gt as ee,hr as h,ht as te,ir as ne,it as re,kr as ie,lt as g,mt as _,nt as v,or as y,ot as b,pt as x,sr as S,tt as ae,vr as oe,yr as se,yt as C,z as w}from"./vendor-cameraui-QXD8jkcj.js";import{Mn as T,Sn as E}from"./api-DK2Bav9D.js";import{$n as D,Cr as O,Hn as k,In as A,Rn as j,Sr as M,Tn as N,_r as P,br as F,cn as I,dn as L,dr as R,gn as z,hn as B,ln as V,or as H,rn as U,sn as W,un as G,vn as K,yr as q}from"./vendor-DGke_6M4.js";import{B as J,E as ce,l as le,q as ue}from"./vendor-primevue-CCUqY55W.js";import{a as de,c as fe,d as pe,f as me,i as he,l as ge,m as _e,n as ve,o as ye,p as be,r as xe,s as Se,t as Ce,u as we}from"./CuiLightControl-ChGYpQAK.js";import{t as Y}from"./sensorIcons-DQVgryYP.js";var Te={disabled:!1,size:`medium`},Ee={class:`cui-measurement-info__header`},De={class:`cui-measurement-info__icon`},Oe={class:`cui-measurement-info__info`},ke={key:0,class:`cui-measurement-info__label`},Ae={class:`cui-measurement-info__value`},je=T(K({__name:`CuiMeasurementInfo`,props:N({type:{},unit:{},current:{},label:{},disabled:{type:Boolean},size:{}},Te),setup(e){let{type:t}=P(e),n=W(()=>Y(t.value));return(t,r)=>(A(),L(`div`,{class:F([`cui-measurement-info`,[`cui-measurement-info--${e.size}`,{"cui-measurement-info--disabled":e.disabled}]])},[I(`div`,Ee,[I(`div`,De,[(A(),V(k(q(n)),{class:`cui-measurement-info__icon-svg`}))]),I(`div`,Oe,[e.label?(A(),L(`span`,ke,O(e.label),1)):G(``,!0),I(`span`,Ae,O(e.current==null?`--`:`${e.current} ${e.unit}`),1)])])],2))}}),[[`__scopeId`,`data-v-3344cbd6`]]),Me={detected:!1,disabled:!1,size:`medium`},Ne={class:`cui-binary-sensor__header`},Pe={class:`cui-binary-sensor__icon`},Fe={class:`cui-binary-sensor__info`},Ie={key:0,class:`cui-binary-sensor__label`},Le=T(K({__name:`CuiBinarySensor`,props:N({type:{},detected:{type:Boolean},label:{},disabled:{type:Boolean},size:{}},Me),setup(e){let t=e,{t:n}=i(),{type:r,detected:a}=P(t),o=W(()=>Y(r.value)),s=W(()=>({color:`rgb(239, 68, 68)`,filter:`drop-shadow(0 0 6px rgba(239, 68, 68, 0.5))`})),c=W(()=>({color:`var(--text-secondary-color)`})),l=W(()=>a.value?`cui-binary-sensor__status--detected`:`cui-binary-sensor__status--clear`),u=W(()=>a.value?`cui-binary-sensor__indicator--detected`:`cui-binary-sensor__indicator--clear`);return(t,r)=>(A(),L(`div`,{class:F([`cui-binary-sensor`,[`cui-binary-sensor--${e.size}`,{"cui-binary-sensor--disabled":e.disabled,"cui-binary-sensor--clear":!q(a),"cui-binary-sensor--detected":q(a)}]])},[I(`div`,Ne,[I(`div`,Pe,[(A(),V(k(q(o)),{class:`cui-binary-sensor__icon-svg`,style:M(q(a)?q(s):q(c))},null,8,[`style`]))]),I(`div`,Fe,[e.label?(A(),L(`span`,Ie,O(e.label),1)):G(``,!0),I(`span`,{class:F([`cui-binary-sensor__status`,q(l)])},O(q(a)?q(n)(`components.binary_sensor.detected`):q(n)(`components.binary_sensor.clear`)),3)]),I(`div`,{class:F([`cui-binary-sensor__indicator`,q(u)])},null,2)])],2))}}),[[`__scopeId`,`data-v-c89ce8e7`]]),Re={detected:!1,size:`medium`},ze={class:`cui-detection-info__header`},Be={class:`cui-detection-info__icon`},Ve={class:`cui-detection-info__info`},He={key:0,class:`cui-detection-info__label`},Ue={key:0,class:`cui-detection-info__decibels`},We=T(K({__name:`CuiDetectionSensorInfo`,props:N({type:{},label:{},detected:{type:Boolean},labels:{},decibels:{},size:{}},Re),setup(e){let t=e,{t:n}=i(),r={color:`rgb(251, 146, 60)`,filter:`drop-shadow(0 0 8px rgba(251, 146, 60, 0.6))`},a=W(()=>{if(!t.detected)return n(`components.detection_sensor.idle`);let e=(t.labels??[]).filter(Boolean);return e.length?e.join(`, `):n(`components.detection_sensor.detected`)});return(t,n)=>(A(),L(`div`,{class:F([`cui-detection-info`,[`cui-detection-info--${e.size}`,{"cui-detection-info--active":e.detected}]])},[I(`div`,ze,[I(`div`,Be,[(A(),V(k(q(Y)(e.type)),{class:`cui-detection-info__icon-svg`,style:M(e.detected?r:void 0)},null,8,[`style`]))]),I(`div`,Ve,[e.label?(A(),L(`span`,He,O(e.label),1)):G(``,!0),I(`span`,{class:F([`cui-detection-info__status`,e.detected?`cui-detection-info__status--active`:`cui-detection-info__status--idle`])},O(q(a)),3)]),e.decibels===void 0?G(``,!0):(A(),L(`span`,Ue,O(Math.round(e.decibels))+` dB`,1)),I(`div`,{class:F([`cui-detection-info__indicator`,e.detected?`cui-detection-info__indicator--active`:`cui-detection-info__indicator--idle`])},null,2)])],2))}}),[[`__scopeId`,`data-v-f3272b7a`]]),X=new Set([n.Motion,n.Object,n.Audio,n.Face,n.LicensePlate,n.Classifier]),Z=new Set([n.Gas,n.CarbonMonoxide,n.Heat,n.Cold,n.Vibration,n.Tamper,n.Problem,n.Power]),Q=new Map([[n.Illuminance,`lx`],[n.CarbonDioxide,`ppm`]]),Ge=new Set([...X,...Z,...Q.keys(),n.Light,n.Switch,n.Lock,n.Siren,n.SecuritySystem,n.Garage,n.Doorbell,n.Contact,n.Occupancy,n.Smoke,n.Leak,n.Temperature,n.Humidity,n.Battery]);function Ke(e){return Ge.has(e)}var qe=K({__name:`CuiSensorControl`,props:{sensor:{},disabled:{type:Boolean}},setup(i){function C(e){return Z.has(e.type)}function w(e){return Q.get(e.type)}function T(e){return X.has(e.type)}function E(e){let t=e.getProperty(`detections`)??[];return[...new Set(t.map(e=>e.label??e.attribute).filter(e=>!!e))]}return(D,O)=>{let k=Ce,j=ve,M=xe,N=he,P=de,F=pe,I=ye,L=Se,R=fe,z=ge,B=we,H=me,U=be,W=_e,K=Le,J=je;return q(u)(i.sensor)?(A(),V(k,{key:0,label:i.sensor.displayName.value,on:i.sensor.getProperty(q(m).On)??!1,brightness:i.sensor.getProperty(q(m).Brightness)??100,"has-brightness":i.sensor.hasCapability(`brightness`),disabled:i.disabled,size:`small`,class:`card-border`,"onUpdate:on":O[0]||=e=>i.sensor.setProperty(q(m).On,e),"onUpdate:brightness":O[1]||=e=>i.sensor.setProperty(q(m).Brightness,e)},null,8,[`label`,`on`,`brightness`,`has-brightness`,`disabled`])):q(ee)(i.sensor)?(A(),V(j,{key:1,label:i.sensor.displayName.value,on:i.sensor.getProperty(q(o).On)??!1,disabled:i.disabled,size:`small`,class:`card-border`,"onUpdate:on":O[2]||=e=>i.sensor.setProperty(q(o).On,e)},null,8,[`label`,`on`,`disabled`])):q(g)(i.sensor)?(A(),V(M,{key:2,label:i.sensor.displayName.value,"current-state":i.sensor.getProperty(q(h).CurrentState)??2,"target-state":i.sensor.getProperty(q(h).TargetState)??0,disabled:i.disabled,size:`small`,class:`card-border`,"onUpdate:targetState":O[3]||=e=>i.sensor.setProperty(q(h).TargetState,e)},null,8,[`label`,`current-state`,`target-state`,`disabled`])):q(_)(i.sensor)?(A(),V(N,{key:3,label:i.sensor.displayName.value,active:i.sensor.getProperty(q(S).Active)??!1,volume:i.sensor.getProperty(q(S).Volume)??100,"has-volume":i.sensor.hasCapability(`volume`),disabled:i.disabled,size:`small`,class:`card-border`,"onUpdate:active":O[4]||=e=>i.sensor.setProperty(q(S).Active,e),"onUpdate:volume":O[5]||=e=>i.sensor.setProperty(q(S).Volume,e)},null,8,[`label`,`active`,`volume`,`has-volume`,`disabled`])):q(x)(i.sensor)?(A(),V(P,{key:4,label:i.sensor.displayName.value,"current-state":i.sensor.getProperty(q(l).CurrentState)??3,"target-state":i.sensor.getProperty(q(l).TargetState)??3,disabled:i.disabled,size:`small`,class:`card-border`,"onUpdate:targetState":O[6]||=e=>i.sensor.setProperty(q(l).TargetState,e)},null,8,[`label`,`current-state`,`target-state`,`disabled`])):q(re)(i.sensor)?(A(),V(F,{key:5,label:i.sensor.displayName.value,"current-state":i.sensor.getProperty(q(c).CurrentState)??1,"target-state":i.sensor.getProperty(q(c).TargetState)??1,"obstruction-detected":i.sensor.getProperty(q(c).ObstructionDetected)??!1,disabled:i.disabled,size:`small`,class:`card-border`,"onUpdate:targetState":O[7]||=e=>i.sensor.setProperty(q(c).TargetState,e)},null,8,[`label`,`current-state`,`target-state`,`obstruction-detected`,`disabled`])):q(v)(i.sensor)?(A(),V(I,{key:6,label:i.sensor.displayName.value,ring:i.sensor.getProperty(q(r).Ring)??!1,disabled:i.disabled,size:`small`,class:`card-border`,onTrigger:O[8]||=()=>i.sensor.setProperty(q(r).Ring,!0)},null,8,[`label`,`ring`,`disabled`])):q(ae)(i.sensor)?(A(),V(L,{key:7,label:i.sensor.displayName.value,detected:i.sensor.getProperty(q(t).Detected)??!1,size:`small`,class:`card-border`},null,8,[`label`,`detected`])):q(p)(i.sensor)?(A(),V(R,{key:8,label:i.sensor.displayName.value,detected:i.sensor.getProperty(q(f).Detected)??!1,size:`small`,class:`card-border`},null,8,[`label`,`detected`])):q(te)(i.sensor)?(A(),V(z,{key:9,label:i.sensor.displayName.value,detected:i.sensor.getProperty(q(y).Detected)??!1,size:`small`,class:`card-border`},null,8,[`label`,`detected`])):q(b)(i.sensor)?(A(),V(B,{key:10,label:i.sensor.displayName.value,detected:i.sensor.getProperty(q(oe).Detected)??!1,size:`small`,class:`card-border`},null,8,[`label`,`detected`])):q(a)(i.sensor)?(A(),V(H,{key:11,label:i.sensor.displayName.value,current:i.sensor.getProperty(q(ne).Current),size:`small`,class:`card-border`},null,8,[`label`,`current`])):q(s)(i.sensor)?(A(),V(U,{key:12,label:i.sensor.displayName.value,current:i.sensor.getProperty(q(se).Current),size:`small`,class:`card-border`},null,8,[`label`,`current`])):q(d)(i.sensor)?(A(),V(W,{key:13,label:i.sensor.displayName.value,level:i.sensor.getProperty(q(e).Level)??100,charging:i.sensor.getProperty(q(e).Charging)??`NOT_CHARGING`,low:i.sensor.getProperty(q(e).Low)??!1,size:`small`,class:`card-border`},null,8,[`label`,`level`,`charging`,`low`])):C(i.sensor)?(A(),V(K,{key:14,type:i.sensor.type,label:i.sensor.displayName.value,detected:i.sensor.getProperty(`detected`)??!1,size:`small`,class:`card-border`},null,8,[`type`,`label`,`detected`])):w(i.sensor)?(A(),V(J,{key:15,type:i.sensor.type,label:i.sensor.displayName.value,current:i.sensor.getProperty(`current`)??void 0,unit:w(i.sensor),size:`small`,class:`card-border`},null,8,[`type`,`label`,`current`,`unit`])):T(i.sensor)?(A(),V(We,{key:16,type:i.sensor.type,label:i.sensor.displayName.value,detected:i.sensor.getProperty(`detected`)??!1,labels:E(i.sensor),decibels:i.sensor.type===q(n).Audio?i.sensor.getProperty(q(ie).Decibels)??void 0:void 0,size:`small`,class:`card-border`},null,8,[`type`,`label`,`detected`,`labels`,`decibels`])):G(``,!0)}}}),Je={class:`flex flex-col gap-4 w-full`},$={key:0,class:`flex flex-col field-gap`},Ye={class:`cui-label`},Xe={class:`flex flex-col field-gap`},Ze={for:`sensorDisplayName`,class:`cui-label`},Qe={key:1,class:`flex flex-col field-gap`},$e={for:`sensorNativeId`,class:`cui-label`},et={class:`flex flex-col field-gap`},tt={class:`cui-label`},nt={key:0,class:`flex flex-wrap gap-2`},rt={key:2,class:`flex items-center gap-4 cui-toggle-switch`},it={class:`flex flex-col min-w-0`},at={class:`cui-label-switch`},ot={class:`text-xs text-muted`},st=K({__name:`SensorEdit`,props:{sensor:{},cameraOptions:{}},setup(e,{expose:t}){let n=e,r=R(n.sensor.displayName||n.sensor.name),i=R([...n.sensor.assignedCameraIds]),a=R(n.sensor.exposed),{sensors:o}=C(),s=W(()=>E(void 0,`admin`)),c=W(()=>n.cameraOptions.filter(e=>n.sensor.assignedCameraIds.includes(e.value))),l=W(()=>Ke(n.sensor.type)),u=W(()=>o.value.find(e=>e.id===n.sensor.id));return t({onConfirm:async()=>({displayName:r.value||n.sensor.name,assignedCameraIds:i.value,exposed:a.value})}),(t,n)=>{let o=J,d=w,f=ce,p=le,m=ue;return A(),L(`div`,Je,[q(l)?(A(),L(`div`,$,[I(`label`,Ye,O(t.$t(`views.sensors.control`)),1),q(u)?(A(),V(qe,{key:0,sensor:q(u),disabled:!q(s)},null,8,[`sensor`,`disabled`])):(A(),V(o,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:D(()=>[B(O(t.$t(`views.sensors.control_offline`)),1)]),_:1}))])):G(``,!0),I(`div`,Xe,[I(`label`,Ze,O(t.$t(`components.camera_options.sensor_display_name`)),1),z(d,{id:`sensorDisplayName`,modelValue:q(r),"onUpdate:modelValue":n[0]||=e=>H(r)?r.value=e:null,modelModifiers:{trim:!0},class:`w-full`},null,8,[`modelValue`])]),e.sensor.nativeId?(A(),L(`div`,Qe,[I(`label`,$e,O(t.$t(`views.sensors.native_id`)),1),z(d,{id:`sensorNativeId`,"model-value":e.sensor.nativeId,readonly:``,class:`w-full font-mono text-sm`},null,8,[`model-value`])])):G(``,!0),I(`div`,et,[I(`label`,tt,O(t.$t(`views.sensors.assigned_cameras`)),1),e.sensor.assignmentLocked?(A(),L(`div`,nt,[(A(!0),L(U,null,j(q(c),e=>(A(),V(f,{key:e.value,label:e.label},null,8,[`label`]))),128))])):(A(),V(p,{key:1,modelValue:q(i),"onUpdate:modelValue":n[1]||=e=>H(i)?i.value=e:null,options:e.cameraOptions,"option-label":`label`,"option-value":`value`,placeholder:t.$t(`views.sensors.assigned_cameras_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])),z(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:D(()=>[B(O(e.sensor.assignmentLocked?t.$t(`views.sensors.assigned_cameras_locked_hint`):t.$t(`views.sensors.assigned_cameras_hint`)),1)]),_:1})]),e.sensor.cameraBound?G(``,!0):(A(),L(`div`,rt,[I(`div`,it,[I(`label`,at,O(t.$t(`views.sensors.exposed`)),1),I(`span`,ot,O(t.$t(`views.sensors.exposed_hint`)),1)]),z(m,{modelValue:q(a),"onUpdate:modelValue":n[2]||=e=>H(a)?a.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])]))])}}});export{st as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Vr as e,Z as t}from"./vendor-cameraui-QXD8jkcj.js";import{Cr as n,In as r,Pn as i,Rn as a,cn as o,dn as s,dr as c,gn as l,rn as u,vn as d,yr as f}from"./vendor-DGke_6M4.js";import{t as p}from"./history-CNJREqJG.js";import{n as m}from"./sensors-DttBNEEt.js";var h={class:`flex flex-col gap-2 w-full min-h-[200px] max-h-[60vh] overflow-y-auto`},g={key:0,class:`flex flex-col gap-2`},_={class:`flex flex-col flex-1 min-w-0`},v={class:`text-sm font-medium truncate`},y={class:`text-xs text-muted`},b={class:`text-sm font-mono shrink-0`},x={key:2,class:`flex flex-1 flex-col items-center justify-center gap-3 py-10`},S={class:`text-muted text-sm`},C=d({__name:`SensorHistory`,props:{sensorId:{},sensorType:{}},setup(d){let C=d,{t:w,te:T}=e(),E=c([]),D=c(!0);i(async()=>{try{E.value=await m({id:C.sensorId})}catch{E.value=[]}finally{D.value=!1}});function O(e){let t=`components.automation_nodes.sensor_property_${e}`;return T(t)?w(t):e}function k(e){return e==null?`–`:String(e)}function A(e){return new Date(e).toLocaleString()}return(e,i)=>{let c=t,d=p;return r(),s(`div`,h,[f(D)?(r(),s(`div`,g,[(r(),s(u,null,a(6,e=>l(c,{key:e,height:`40px`,class:`rounded-md`})),64))])):f(E).length?(r(!0),s(u,{key:1},a(f(E),(e,t)=>(r(),s(`div`,{key:t,class:`flex items-center gap-3 p-2 rounded-md border-color`},[o(`div`,_,[o(`span`,v,n(O(e.property)),1),o(`span`,y,n(A(e.timestamp)),1)]),o(`span`,b,n(k(e.value)),1)]))),128)):(r(),s(`div`,x,[l(d,{class:`w-10 h-10 text-muted`}),o(`span`,S,n(e.$t(`views.sensors.history_empty`)),1)]))])}}});export{C as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SensorEdit-BzoIH7QC.js","./vendor-cameraui-QXD8jkcj.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-DK2Bav9D.js","./intercomService-BnA-FQ0Q.js","./vendor-zod-CBbC1rE7.js","./types-5rE8Tz0_.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-CnhnyKDl.js","./vendor-dnd-CEJS9JKU.js","./vendor-primevue-CCUqY55W.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-DTCqDA-h.css","./CuiLightControl-ChGYpQAK.js","./bell-ring-CyCFPUL_.js","./home-B-_OQpZ6.js","./cube-scan-DGhUFV1x.js","./CuiLightControl-D9sm8NZb.css","./sensorIcons-DQVgryYP.js","./SensorEdit-ono85O3c.css","./SensorHistory-9CdOpCPs.js","./history-CNJREqJG.js","./sensors-DttBNEEt.js","./VirtualSensorCreate-D_GVoeL7.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Ai as e,Bt as t,G as n,Ht as ee,Kt as te,Lr as r,Vr as ne,X as re,yt as i,z as ie,zt as ae}from"./vendor-cameraui-QXD8jkcj.js";import{H as oe,In as se,It as ce,L as le,Mn as ue,Nn as de,Pn as fe,R as pe,Sn as me,U as he,Wn as ge,Y as _e,ct as ve,hn as ye,kr as be,lt as a,rr as xe,vr as o}from"./api-DK2Bav9D.js";import{$n as s,Cr as c,Fn as l,Hn as Se,Ht as u,In as d,Jn as Ce,Pn as f,Sr as we,Xn as Te,Z as Ee,br as p,cn as m,dn as h,dr as De,er as g,gn as _,hn as v,ln as y,lr as b,nn as x,nr as Oe,or as ke,rn as Ae,sn as S,sr as C,un as w,ur as T,vn as E,yr as D}from"./vendor-DGke_6M4.js";import{p as je}from"./vendor-core-CnhnyKDl.js";import{C as Me,E as Ne,F as Pe,I as Fe}from"./vendor-primevue-CCUqY55W.js";import{t as Ie}from"./close-BbEPZQqa.js";import{t as Le}from"./history-CNJREqJG.js";import{t as O}from"./sensors-DttBNEEt.js";import{t as Re}from"./trash-can-outline-Bk5eENNM.js";import{t as ze}from"./CuiDataTable-CsqH-RB1.js";import{t as Be}from"./sensorSlots-BZCXtnb6.js";import{t as Ve}from"./search-BXbDWhLk.js";import{n as He,t as Ue}from"./sensorIcons-DQVgryYP.js";import{t as We}from"./back-filled-BPBVnQjx.js";import{t as Ge}from"./plus-CHPYoMO_.js";import{t as Ke}from"./settings-Cw63SIJl.js";import{t as qe}from"./radar-B3ra28GD.js";import{t as Je}from"./eye-off-outline-GErp76H2.js";var k={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function A(e,t){return d(),h(`svg`,k,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M14 10H3v2h11zm0-4H3v2h11zM3 16h7v-2H3zm18.5-4.5L23 13l-7 7l-4.5-4.5L13 14l3 3z`},null,-1)]])}var Ye=C({name:`mdi-playlist-check`,render:A}),j={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function M(e,t){return d(),h(`svg`,j,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M3 16h7v-2H3m15 0v-4h-2v4h-4v2h4v4h2v-4h4v-2m-8-8H3v2h11m0 2H3v2h11z`},null,-1)]])}var Xe=C({name:`mdi-playlist-plus`,render:M}),N=5e3,P=b({isLoading:!0,sensors:[],isScanning:!1,error:null}),F=null,I=null,L=!1,R=0,z=null,B=new Set;function Ze(){P.isLoading=!0,P.sensors=[],P.isScanning=!1,P.error=null}function Qe(){return I||(F=Oe(!0),F.run(()=>{let e=o(`/sensors`);I=e,e.onReady(()=>{V()}),Te(e.connected,(e,t)=>{!e&&t&&(L=!1)}),e.on(`sensors:discovered`,e=>{P.sensors=[...P.sensors.filter(t=>t.pluginId!==e.source),...e.sensors]}),e.on(`sensors:scanning`,e=>{P.isScanning=e.isScanning}),e.on(`sensors:adopted`,e=>{P.sensors=P.sensors.filter(t=>t.pluginId!==e.pluginId||t.id!==e.id)}),e.on(`sensor:source:changed`,e=>{for(let t of B)t(e)})}),I)}async function V(){if(!I||L)return{success:L,sensors:P.sensors,isScanning:P.isScanning};try{let e=await I.request(`sensors:subscribe`,{});return L=e.success,e.sensors&&(P.sensors=e.sensors),e.isScanning!==void 0&&(P.isScanning=e.isScanning),P.isLoading=!1,e}catch(e){return P.isLoading=!1,P.error=e instanceof Error?e.message:`subscribe failed`,{success:!1}}}async function H(){if(!I||!L)return{success:!0};try{let e=await I.request(`sensors:unsubscribe`,{});return L=!e.success,e}catch{return{success:!1}}}function $e(){L&&H(),F?.stop(),F=null,I=null,L=!1,Ze()}function et(){z&&=(clearTimeout(z),null),R++;function t(){Qe(),I?.connected.value&&!L&&V()}function n(){L&&H()}async function ee(){if(!I?.ready.value)return{success:!1,error:`Not connected`};P.sensors=[],P.isScanning=!0;try{let e=await I.request(`sensors:rescan`,{});return e.success||(P.isScanning=!1),e}catch(e){return P.isScanning=!1,{success:!1,error:e instanceof Error?e.message:`rescan failed`}}}async function te(e){if(!I?.ready.value)return{success:!1,error:`Not connected`};let{pluginId:t,pluginName:n,...ee}=e;try{return await I.request(`sensors:adopt`,{pluginId:t,sensor:ee})}catch(e){return{success:!1,error:e instanceof Error?e.message:`adopt failed`}}}function r(e){return B.add(e),()=>B.delete(e)}let ne=S(()=>[...P.sensors].sort((e,t)=>e.name.localeCompare(t.name)));return e(()=>{R--,!(R>0)&&(R=0,z=setTimeout(()=>{R<=0&&($e(),z=null)},N))}),{state:T(P),isConnected:S(()=>I?.connected.value??!1),isLoading:S(()=>P.isLoading),sensors:S(()=>P.sensors),isScanning:S(()=>P.isScanning),error:S(()=>P.error),sortedSensors:ne,connect:t,disconnect:n,subscribe:V,unsubscribe:H,forceRescan:ee,adoptSensor:te,onSourceChanged:r}}var tt={class:`flex flex-col`},nt={key:0,class:`page-title`},rt={class:`flex gap-2 mb-4`},it={key:1,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-16`},at={key:2,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-20`},ot={class:`text-muted text-sm`},st={key:3,class:`flex min-h-0 flex-col`},ct={class:`card-title`},lt={class:`flex items-center justify-center`},ut={class:`flex items-center gap-2 min-w-0`},dt={class:`flex flex-col min-w-0`},ft={class:`flex items-center gap-2 min-w-0`},pt={class:`font-bold text-color truncate`},mt={key:0,class:`text-xs text-muted truncate`},ht={key:1,class:`text-xs text-muted truncate font-mono`},gt={key:0,class:`text-xs text-muted truncate font-mono block`},_t={key:1,class:`text-xs text-muted`},vt={class:`text-xs text-muted whitespace-nowrap`},yt={class:`flex items-center justify-center gap-1 min-w-0`},bt={class:`flex items-center justify-end gap-1`},xt={key:0,class:`shrink-0`},St={class:`card-title`},Ct={class:`flex items-center justify-center`},wt={class:`flex items-center gap-2 min-w-0`},Tt={class:`flex flex-col min-w-0`},Et={class:`font-bold text-color truncate`},Dt={class:`text-xs text-muted truncate font-mono`},Ot={class:`text-xs text-muted whitespace-nowrap`},kt={key:1,class:`flex flex-col items-center justify-center py-6 gap-2`},At={class:`text-muted text-sm`},jt={class:`flex flex-wrap items-center gap-2 mt-4`},Mt=ue(E({__name:`Sensors`,setup(e){let ue=a(()=>u(()=>import(`./SensorEdit-BzoIH7QC.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]),import.meta.url)),o=a(()=>u(()=>import(`./SensorHistory-9CdOpCPs.js`),__vite__mapDeps([23,1,2,3,24,25,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url)),Te=a(()=>u(()=>import(`./VirtualSensorCreate-D_GVoeL7.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url)),b={connected:`green`,disconnected:`gray`,unavailable:`orange`,removed:`red`},Oe={color:`rgb(251, 146, 60)`,filter:`drop-shadow(0 0 6px rgba(251, 146, 60, 0.6))`},C=new Set([r.Motion,r.Object,r.Audio,r.Face,r.LicensePlate,r.Classifier,r.Contact,r.Occupancy,r.Smoke,r.Leak,r.Gas,r.CarbonMonoxide,r.Heat,r.Cold,r.Vibration,r.Tamper,r.Problem,r.Power]),T=new O,E=new ce,k=ve(),A=et(),j=Ee(),M=be(),{t:N}=ne(),{smBreakpoint:P}=se(),F=ge(),{uiSettings:I}=je(F),{sensors:L}=i(),{data:R,isBusy:z}=T.getSensorsQuery(),{data:B}=E.getCamerasQuery({page:1,pageSize:-1}),{mutateAsync:Ze,isPending:Qe}=T.createVirtualSensorQuery(),{mutateAsync:V}=T.patchSensorQuery(),{mutateAsync:H,isPending:$e}=T.deleteSensorQuery(),{mutateAsync:Mt}=T.bulkDeleteSensorsQuery(),Nt={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}},datatable:{class:`z-0`}},Pt=Ce(`menuRef`),U=De(``),W=De(!1),Ft,It=S(()=>R.value===void 0&&z.value),G=S(()=>me(void 0,`admin`)),K=S(()=>R.value??[]),Lt=S(()=>K.value.filter(e=>e.assignmentLocked).length),Rt=S(()=>K.value.filter(e=>!on(e)).length),zt=S(()=>[{key:`hideAllCameraBound`,label:N(`views.sensors.hide_all_camera_bound`),description:N(`views.sensors.hide_all_camera_bound_hint`),badge:Lt.value?String(Lt.value):void 0,toggle:!0,toggleState:I.value.sensors.hideAllCameraBound,onClick:()=>I.value.sensors.hideAllCameraBound=!I.value.sensors.hideAllCameraBound},{key:`onlyEnabledCameraBound`,label:N(`views.sensors.only_enabled_camera_bound`),description:N(`views.sensors.only_enabled_camera_bound_hint`),badge:Rt.value?String(Rt.value):void 0,toggle:!0,toggleState:I.value.sensors.onlyEnabledCameraBound,onClick:()=>I.value.sensors.onlyEnabledCameraBound=!I.value.sensors.onlyEnabledCameraBound}]),Bt=S(()=>(B.value?.result??[]).map(e=>({label:e.name,value:e._id}))),Vt=S(()=>new Map((B.value?.result??[]).map(e=>[e._id,e]))),Ht=S(()=>new Map(L.value.map(e=>[e.id,e]))),q=S(()=>{let e=U.value.toLowerCase().trim();return K.value.map(e=>{let t=cn(e);return{sensor:e,label:e.displayName||e.name,typeLabel:N(`components.camera_options.sensor_type_${e.type}`),nativeLabel:e.address??e.nativeId??``,pluginLabel:e.virtual?N(`views.sensors.owner_virtual`):e.pluginName,assignedLabel:e.assignedCameraIds.map(e=>Bt.value.find(t=>t.value===e)?.label).filter(Boolean).join(`, `),state:t,stateLabel:ln(t,e),stateColor:b[t]}}).filter(e=>!I.value.sensors.hideAllCameraBound||!e.sensor.assignmentLocked).filter(e=>!I.value.sensors.onlyEnabledCameraBound||on(e.sensor)).filter(t=>!e||[t.label,t.typeLabel,t.nativeLabel,t.pluginLabel,t.assignedLabel].some(t=>t.toLowerCase().includes(e))).sort((e,t)=>e.label.localeCompare(t.label))}),J=S(()=>A.isScanning.value),Y=S(()=>{let e=U.value.toLowerCase().trim();return A.sortedSensors.value.filter(t=>!e||[t.name,t.id,t.pluginName,t.room??``].some(t=>t.toLowerCase().includes(e)))}),{selectionMode:X,selectedIds:Ut,selectedItems:Wt,allSelected:Gt,bulkBusy:Kt,enterSelectionMode:qt,exitSelectionMode:Jt,toggleSelectAll:Yt,toggleSelection:Xt}=le(()=>q.value,e=>e.sensor.id),{selectionMode:Z,selectedIds:Zt,selectedItems:Qt,allSelected:$t,bulkBusy:Q,enterSelectionMode:en,exitSelectionMode:tn,toggleSelectAll:nn,toggleSelection:rn}=le(()=>Y.value,$),an=S(()=>Wt.value.filter(e=>gn(e.sensor)));function $(e){return`${e.pluginId}:${e.id}`}function on(e){if(!e.boundCameraId)return!0;let t=Vt.value.get(e.boundCameraId);return t?Be(e,t):!1}function sn(e){return Ht.value.get(e.id)?.connected.value??e.connected}function cn(e){return sn(e)?e.sourceState===`removed`?`removed`:e.sourceState===`unavailable`?`unavailable`:`connected`:`disconnected`}function ln(e,t){switch(e){case`disconnected`:return N(`views.sensors.disconnected`);case`unavailable`:return N(`views.sensors.state_unavailable`);case`removed`:return N(`views.sensors.state_removed`,{plugin:t.pluginName});default:return N(`views.sensors.connected`)}}function un(){tn(),qt()}function dn(){Jt(),en()}function fn(e){if(Z.value){rn($(e));return}pn(e)}function pn(e){k.openTextDialog({data:{title:N(`views.sensors.adopt_title`),contentText:N(`views.sensors.adopt_confirm`,{name:e.name,plugin:e.pluginName}),confirmText:N(`components.form.button.add`),loading:W},onConfirm:async()=>{W.value=!0;try{let t=await A.adoptSensor(e);if(!t.success){M.add({severity:`error`,summary:N(`views.sensors.adopt_title`),detail:t.error,life:3e3});return}await j.refetchQueries({queryKey:[`sensorsList`]}),M.add({severity:`success`,detail:N(`views.sensors.adopted`,{name:e.name}),life:3e3})}finally{W.value=!1}}})}async function mn(){let e=await A.forceRescan();e.success||M.add({severity:`error`,summary:N(`views.sensors.rescan`),detail:e.error,life:3e3})}function hn(e){let t=Ht.value.get(e.id),n=n=>t?t.getProperty(n):e.properties?.[n];switch(e.type){case r.Light:case r.Switch:return!!n(`on`);case r.Siren:return!!n(`active`);case r.Doorbell:return!!n(`ring`);case r.Garage:case r.Lock:return n(`currentState`)===0;case r.SecuritySystem:return n(`currentState`)===4;case r.Battery:return!!n(`low`);default:return C.has(String(e.type))&&!!n(`detected`)}}function gn(e){return e.virtual||!e.assignmentLocked||!sn(e)}function _n(e){if(X.value){Xt(e.sensor.id);return}G.value&&k.openComponentDialog(ue,{data:{title:e.label,confirmText:N(`components.form.button.save`),contentProps:{sensor:e.sensor,cameraOptions:Bt.value}},onConfirm:async t=>{t&&await V({id:e.sensor.id,data:t})}})}function vn(e){k.openComponentDialog(o,{data:{title:`${e.displayName||e.name} · ${N(`views.sensors.history`)}`,hideConfirmButton:!0,contentProps:{sensorId:e.id,sensorType:String(e.type)}}})}function yn(e,t,n){t.length&&M.add({severity:`error`,summary:N(`views.sensors.bulk_failed`,{count:t.length}),detail:t.join(`, `),life:8e3}),e&&M.add({severity:`success`,detail:N(n,{count:e}),life:5e3})}function bn(){let e=[...an.value];k.openTextDialog({data:{title:N(`components.dialog.title.confirm`),contentText:N(`views.sensors.delete_selected_confirm`,{count:e.length}),confirmText:N(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{Kt.value=!0;try{let{skipped:t}=await Mt({ids:e.map(e=>e.sensor.id)}),n=e.filter(e=>t.includes(e.sensor.id)).map(e=>e.label);Jt(),yn(e.length-n.length,n,`views.sensors.delete_selected_done`)}finally{Kt.value=!1}}})}function xn(){let e=[...Qt.value];k.openTextDialog({data:{title:N(`views.sensors.adopt_title`),contentText:N(`views.sensors.adopt_selected_confirm`,{count:e.length}),confirmText:N(`components.form.button.add`)},onConfirm:async()=>{Q.value=!0;try{let t=[];for(let n of e)(await A.adoptSensor(n)).success||t.push(n.name);await j.refetchQueries({queryKey:[`sensorsList`]}),tn(),yn(e.length-t.length,t,`views.sensors.adopt_selected_done`)}finally{Q.value=!1}}})}function Sn(e){j.setQueryData([`sensorsList`],t=>t?.map(t=>t.id===e.sensorId?{...t,sourceState:e.sourceState,address:e.address}:t))}function Cn(){k.openComponentDialog(Te,{data:{title:N(`views.sensors.create_virtual`),confirmText:N(`components.form.button.save`),loading:Qe,contentProps:{}},onConfirm:async e=>{e&&await Ze({data:e})}})}function wn(e){k.openTextDialog({data:{title:N(`views.sensors.delete`),contentText:N(`views.sensors.delete_confirm`),confirmText:N(`components.form.button.remove`),loading:$e,confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{await H({id:e.id})}})}return f(()=>{G.value&&(A.connect(),Ft=A.onSourceChanged(Sn))}),l(()=>{Ft?.(),G.value&&A.unsubscribe()}),(e,r)=>{let ne=We,i=t,se=he,ce=Ve,le=Pe,ue=ie,me=Fe,ge=Ke,ve=ye,be=ae,a=xe,o=n,l=Me,u=ee,Ce=Je,f=Ne,Te=He,Ee=Le,De=Re,b=ze,S=re,C=_e,T=qe,E=de,je=fe,O=te;return d(),h(`div`,tt,[D(P)?w(``,!0):(d(),h(`h1`,nt,c(D(N)(`views.sensors.title`)),1)),_(se,{position:`left`},{default:s(()=>[_(i,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=t=>e.$router.push(`/menu`)},{icon:s(()=>[_(ne,{class:`w-6 h-6`})]),_:1})]),_:1}),m(`div`,rt,[_(me,{class:`flex-1`},{default:s(()=>[_(le,null,{default:s(()=>[_(ce,{class:`w-4 h-4`})]),_:1}),_(ue,{modelValue:D(U),"onUpdate:modelValue":r[1]||=e=>ke(U)?U.value=e:null,placeholder:D(N)(`views.sensors.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),g((d(),y(i,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:r[2]||=e=>D(Pt)?.toggleMenu(e)},{icon:s(()=>[_(ge,{class:`w-4.5 h-4.5`})]),_:1})),[[O,{value:D(N)(`views.sensors.settings`)},void 0,{left:!0}]]),_(ve,{ref_key:`menuRef`,ref:Pt,items:D(zt),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])]),D(It)?(d(),h(`div`,it,[_(be,{"stroke-width":`5`,class:`w-[30px] h-[30px]`})])):!D(q).length&&!D(Y).length&&!D(J)?(d(),h(`div`,at,[_(a,{class:`w-12 h-12 text-muted`}),m(`span`,ot,c(D(K).length?D(N)(`views.sensors.no_matches`):D(N)(`views.sensors.no_sensors`)),1)])):D(q).length?(d(),h(`div`,st,[m(`span`,ct,c(D(N)(`views.sensors.adopted_title`)),1),_(S,{class:`cui-card`},{content:s(()=>[_(b,{value:D(q),"striped-rows":``,pt:Nt,class:`w-full`,onRowClick:r[4]||=e=>_n(e.data)},{default:s(()=>[D(X)?(d(),y(l,{key:0,header:``,"header-class":`p-2 pl-4 w-8 max-w-8`,class:`p-2 pl-4 w-8 max-w-8`},{body:s(({data:e})=>[_(o,{"model-value":D(Ut).has(e.sensor.id),binary:``,size:`small`,onClick:r[3]||=x(()=>{},[`stop`]),"onUpdate:modelValue":t=>D(Xt)(e.sensor.id)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:1})):w(``,!0),_(l,{header:``,"header-class":`p-2 pl-4 w-5 max-w-5`,class:`p-2 pl-4 w-5 max-w-5`},{body:s(({data:e})=>[m(`div`,lt,[g(_(u,{style:we({background:e.stateColor})},null,8,[`style`]),[[O,{value:e.stateLabel}]])])]),_:1}),_(l,{field:`label`,header:D(N)(`views.sensors.name`),sortable:``,"header-class":`p-2`,class:`p-2 w-[40%] min-w-[180px] max-w-0`},{body:s(({data:e})=>[m(`div`,ut,[(d(),y(Se(D(Ue)(e.sensor.type)),{class:p([`w-5 h-5 shrink-0 transition-colors`,{"text-muted":!hn(e.sensor)}]),style:we(hn(e.sensor)?Oe:void 0)},null,8,[`class`,`style`])),m(`div`,dt,[m(`div`,ft,[g((d(),h(`span`,pt,[v(c(e.label),1)])),[[O,e.label]]),e.sensor.exposed?w(``,!0):g((d(),y(Ce,{key:0,class:`w-4 h-4 shrink-0 text-muted`},null,512)),[[O,D(N)(`views.sensors.not_exposed`)]])]),D(P)?(d(),h(`span`,mt,c(e.typeLabel)+` · `+c(e.pluginLabel),1)):w(``,!0),D(P)&&e.nativeLabel?g((d(),h(`span`,ht,[v(c(e.nativeLabel),1)])),[[O,e.nativeLabel]]):w(``,!0),D(P)&&e.state!==`connected`?(d(),h(`span`,{key:2,class:`text-xs truncate`,style:we({color:e.stateColor})},c(e.stateLabel),5)):w(``,!0)])])]),_:1},8,[`header`]),D(P)?w(``,!0):(d(),y(l,{key:1,field:`nativeLabel`,header:D(N)(`views.sensors.native_id`),sortable:``,"header-class":`p-2 whitespace-nowrap cui-col-center`,class:`p-2 w-[28%] min-w-[160px] max-w-0 text-center`},{body:s(({data:e})=>[e.nativeLabel?g((d(),h(`span`,gt,[v(c(e.nativeLabel),1)])),[[O,e.nativeLabel]]):(d(),h(`span`,_t,`—`))]),_:1},8,[`header`])),D(P)?w(``,!0):(d(),y(l,{key:2,field:`typeLabel`,header:D(N)(`views.sensors.type`),sortable:``,"header-class":`p-2 whitespace-nowrap cui-col-center`,class:`p-2 whitespace-nowrap text-center`},{body:s(({data:e})=>[m(`span`,vt,c(e.typeLabel),1)]),_:1},8,[`header`])),D(P)?w(``,!0):(d(),y(l,{key:3,field:`pluginLabel`,header:D(N)(`views.sensors.plugin`),sortable:``,"header-class":`p-2 whitespace-nowrap cui-col-center`,class:`p-2 whitespace-nowrap text-center`},{body:s(({data:e})=>[_(f,{label:e.pluginLabel,class:`text-xs whitespace-nowrap`},null,8,[`label`])]),_:1},8,[`header`])),_(l,{field:`assignedLabel`,header:D(N)(`views.sensors.assigned_cameras`),sortable:``,"header-class":`p-2 whitespace-nowrap cui-col-center`,class:`p-2 min-w-[140px] text-center`},{body:s(({data:e})=>[m(`div`,yt,[e.sensor.assignmentLocked?g((d(),y(Te,{key:0,class:`w-3.5 h-3.5 shrink-0 text-muted`},null,512)),[[O,D(N)(`views.sensors.assigned_cameras_locked_hint`)]]):w(``,!0),m(`span`,{class:p([`text-xs truncate`,e.assignedLabel?`text-muted`:`text-muted italic`])},c(e.assignedLabel||D(N)(`views.sensors.unassigned`)),3)])]),_:1},8,[`header`]),_(l,{header:``,"header-class":`p-2 pr-4 w-28`,class:`p-2 pr-4 w-28`},{body:s(({data:e})=>[m(`div`,bt,[g((d(),y(i,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-sm shrink-0`,onClick:x(t=>vn(e.sensor),[`stop`])},{icon:s(()=>[_(Ee,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[O,D(N)(`views.sensors.history`),void 0,{left:!0}]]),D(G)?g((d(),h(`span`,xt,[_(i,{text:``,rounded:``,severity:`danger`,class:`cui-icon-sm`,disabled:!gn(e.sensor),onClick:x(t=>wn(e.sensor),[`stop`])},{icon:s(()=>[_(De,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`])])),[[O,gn(e.sensor)?D(N)(`views.sensors.delete`):D(N)(`views.sensors.delete_camera_bound`),void 0,{left:!0}]]):w(``,!0)])]),_:1})]),_:1},8,[`value`])]),_:1})])):w(``,!0),D(G)&&!D(It)?(d(),h(`div`,{key:4,class:p([`flex min-h-0 flex-col`,{"mt-6":D(q).length}])},[m(`span`,St,c(D(N)(`views.sensors.discovered_title`)),1),_(S,{class:`cui-card`},{content:s(()=>[D(Y).length?(d(),y(b,{key:0,value:D(Y),"striped-rows":``,pt:Nt,class:p([`w-full`,{"opacity-60 pointer-events-none":D(W)||D(Q)}]),onRowClick:r[6]||=e=>fn(e.data)},{default:s(()=>[D(Z)?(d(),y(l,{key:0,header:``,"header-class":`p-2 pl-4 w-8 max-w-8`,class:`p-2 pl-4 w-8 max-w-8`},{body:s(({data:e})=>[_(o,{"model-value":D(Zt).has($(e)),binary:``,size:`small`,onClick:r[5]||=x(()=>{},[`stop`]),"onUpdate:modelValue":t=>D(rn)($(e))},null,8,[`model-value`,`onUpdate:modelValue`])]),_:1})):w(``,!0),_(l,{header:``,"header-class":`p-2 pl-4 w-5 max-w-5`,class:`p-2 pl-4 w-5 max-w-5`},{body:s(()=>[m(`div`,Ct,[g(_(u,{style:{background:`orange`}},null,512),[[O,{value:D(N)(`views.sensors.status_discovered`)}]])])]),_:1}),_(l,{field:`name`,header:D(N)(`views.sensors.name`),sortable:``,"header-class":`p-2`,class:`p-2 w-full min-w-[200px] max-w-0`},{body:s(({data:e})=>[m(`div`,wt,[(d(),y(Se(D(Ue)(e.type)),{class:`w-5 h-5 shrink-0 text-muted`})),m(`div`,Tt,[g((d(),h(`span`,Et,[v(c(e.name),1)])),[[O,e.name]]),g((d(),h(`span`,Dt,[v(c(e.address??e.id),1)])),[[O,e.address??e.id]])])])]),_:1},8,[`header`]),D(P)?w(``,!0):(d(),y(l,{key:1,field:`type`,header:D(N)(`views.sensors.type`),sortable:``,"header-class":`p-2 whitespace-nowrap`,class:`p-2 whitespace-nowrap`},{body:s(({data:e})=>[m(`span`,Ot,c(D(N)(`components.camera_options.sensor_type_${e.type}`)),1)]),_:1},8,[`header`])),D(P)?w(``,!0):(d(),y(l,{key:2,field:`room`,header:D(N)(`components.form.label.room`),sortable:``,"header-class":`p-2 whitespace-nowrap`,class:`p-2 whitespace-nowrap`},{body:s(({data:e})=>[e.room?(d(),y(f,{key:0,label:e.room,class:`text-xs whitespace-nowrap`},null,8,[`label`])):w(``,!0)]),_:1},8,[`header`])),_(l,{field:`pluginName`,header:D(N)(`views.sensors.plugin`),sortable:``,"header-class":`p-2 pr-4 whitespace-nowrap`,class:`p-2 pr-4 whitespace-nowrap`},{body:s(({data:e})=>[_(f,{label:e.pluginName,class:`text-xs whitespace-nowrap`},null,8,[`label`])]),_:1},8,[`header`])]),_:1},8,[`value`,`class`])):(d(),h(`div`,kt,[D(J)?(d(),y(C,{key:0,width:`24px`,height:`24px`,class:`text-muted`})):(d(),y(T,{key:1,width:`32px`,height:`32px`,class:`text-muted`})),m(`span`,At,c(D(J)?D(N)(`views.sensors.scanning`):D(N)(`views.sensors.no_discovered`)),1)])),m(`div`,jt,[r[7]||=m(`div`,{class:`ml-auto`},null,-1),_(i,{severity:`secondary`,class:`cui-button-medium`,label:D(N)(`views.sensors.rescan`),loading:D(J),onClick:mn},null,8,[`label`,`loading`])])]),_:1})],2)):w(``,!0),D(G)?(d(),y(je,{key:5,"force-visible":D(X)||D(Z)},{default:s(()=>[!D(X)&&!D(Z)?(d(),h(Ae,{key:0},[D(q).length?(d(),y(E,{key:0,grouped:``,"tooltip-props":{value:D(N)(`views.sensors.select`)},"button-props":{severity:`secondary`},icon:D(pe),"icon-props":{width:`100%`,height:`100%`},onClick:un},null,8,[`tooltip-props`,`icon`])):w(``,!0),D(Y).length?(d(),y(E,{key:1,grouped:``,"tooltip-props":{value:D(N)(`views.sensors.select_discovered`)},"button-props":{severity:`secondary`},icon:D(Ye),"icon-props":{width:`100%`,height:`100%`},onClick:dn},null,8,[`tooltip-props`,`icon`])):w(``,!0),_(E,{grouped:``,"tooltip-props":{value:D(N)(`views.sensors.create_virtual`)},"button-props":{class:`text-white`},icon:D(Ge),"icon-props":{width:`30px`,height:`30px`},onClick:Cn},null,8,[`tooltip-props`,`icon`])],64)):D(X)?(d(),h(Ae,{key:1},[_(E,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:D(Ie),"icon-props":{width:`100%`,height:`100%`},onClick:D(Jt)},null,8,[`tooltip-props`,`icon`,`onClick`]),_(E,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.select_all`)},"button-props":{severity:D(Gt)?`primary`:`secondary`},icon:D(oe),"icon-props":{width:`100%`,height:`100%`},onClick:D(Yt)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),_(E,{grouped:``,"tooltip-props":{value:D(N)(`views.sensors.delete_selected`)},"button-props":{severity:`danger`,disabled:!D(an).length||D(Kt)},icon:D(Re),"icon-props":{width:`100%`,height:`100%`},onClick:bn},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(d(),h(Ae,{key:2},[_(E,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:D(Ie),"icon-props":{width:`100%`,height:`100%`},onClick:D(tn)},null,8,[`tooltip-props`,`icon`,`onClick`]),_(E,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.select_all`)},"button-props":{severity:D($t)?`primary`:`secondary`},icon:D(oe),"icon-props":{width:`100%`,height:`100%`},onClick:D(nn)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),_(E,{grouped:``,"tooltip-props":{value:D(N)(`views.sensors.adopt_selected`)},"button-props":{class:`text-white`,disabled:!D(Qt).length||D(Q)},icon:D(Xe),"icon-props":{width:`100%`,height:`100%`},onClick:xn},null,8,[`tooltip-props`,`button-props`,`icon`])],64))]),_:1},8,[`force-visible`])):w(``,!0)])}}}),[[`__scopeId`,`data-v-cf8a7b2d`]]);export{Mt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,Yr as t,hi as n,ji as r,ni as i,zt as a}from"./vendor-cameraui-QXD8jkcj.js";import{Hn as o,In as s,Ln as c,Mn as l,Sn as u,U as d,Un as f,Vn as p,Wn as m,w as h,x as g}from"./api-DK2Bav9D.js";import{$n as _,Bn as v,Cr as y,Hn as b,In as x,Jn as S,On as C,Pn as w,Rn as T,Sr as E,Xn as D,_r as O,br as k,cn as A,dn as j,dr as M,gn as N,ln as P,rn as F,sn as I,un as L,vn as R,yr as z}from"./vendor-DGke_6M4.js";import{p as B,u as V}from"./vendor-core-CnhnyKDl.js";import{t as H}from"./back-filled-BPBVnQjx.js";import{t as ee}from"./useTabSwipe-D4k8lm1M.js";import{n as te,t as U}from"./round-alt-arrow-left-bold-56eF9Bol.js";var W={},G={class:`w-full h-full flex items-center justify-center`};function K(e,t){let n=a;return x(),j(`div`,G,[N(n,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])}var q=l(W,[[`render`,K]]),J={key:0},Y={key:1},X={class:`overflow-hidden w-full`},Z={class:`ml-2 flex flex-row items-center justify-between`},ne={class:`text-start flex-1`},re={class:`text-sm font-bold max-w-100 truncate`},ie={key:0,class:`text-sm text-muted font-normal`},Q=l(R({__name:`CuiSubNavItem`,props:{label:{},to:{},description:{},icon:{},activeIcon:{}},setup(t){let{icon:n,activeIcon:r,label:i,description:a,to:o}=O(t);return(t,s)=>{let c=e,l=v(`RouterLink`);return x(),P(l,{to:z(o)},{default:_(({isExactActive:e})=>[N(c,{text:``,severity:`secondary`,class:k([`subnavitem-button w-full h-[120px] flex items-start justify-start p-6 bg-none text-color hover:!text-primary active:!text-primary focus:!text-primary rounded-none`,{"active !text-primary":e}]),fluid:``},{default:_(()=>[z(n)&&!e||!z(r)?(x(),j(`div`,J,[N(z(n),{class:`w-[24px] h-[24px]`})])):z(r)&&e?(x(),j(`div`,Y,[N(z(r),{class:`w-[24px] h-[24px]`})])):L(``,!0),A(`div`,X,[A(`div`,Z,[A(`div`,ne,[A(`div`,re,y(z(i)),1),z(a)?(x(),j(`div`,ie,y(z(a)),1)):L(``,!0)])])])]),_:2},1032,[`class`])]),_:1},8,[`to`])}}}),[[`__scopeId`,`data-v-a5399c04`]]),$={CLOSED:0,EXPANDED:288},ae=l(R({__name:`CuiSubNavbar`,setup(e,{expose:i}){let a=V(),{bus:o}=p(),{xlBreakpoint:l,mdBreakpoint:d}=s(),{bottombarHeight:f,subbarState:m,navbarState:h,topbarOffset:_}=c(),v=S(`subnavbarRef`),b=M(`closed`),O=I(()=>l.value?`opened`:b.value),k=I(()=>O.value===`closed`?$.CLOSED:$.EXPANDED),N=I(()=>g.find(e=>e.name===`Settings`).children.filter(e=>e.meta?.settingsBar&&u(e))),L=I(()=>[`personal`,`system`].map(e=>({key:e,routes:N.value.filter(t=>(t.meta.settingsBar.group??`personal`)===e)})).filter(e=>e.routes.length>0));function R(){b.value=`closed`,o.emit({subbarState:`closed`})}function B(){C(()=>{let e=v.value?.querySelector(`.subnavitem-button.active`);e&&e.scrollIntoView({block:`center`,behavior:`smooth`})})}let H=r(B,100);return t(v,e=>{let t=e.target,n=t.closest(`#menu-icon`),r=t.closest(`#submenu-icon`),i=t.closest(`#navbar-icon`);!n&&!r&&!i&&R()}),n(v,()=>{H()}),D(m,e=>{e&&e!==b.value&&(b.value=e)},{immediate:!0}),D(a.currentRoute,(e,t)=>{e.path!==t.path&&R()}),D(h,e=>{e===`opened`&&d.value&&R()}),w(()=>{B()}),i({subnavbarState:O}),(e,t)=>{let n=Q;return x(),j(`nav`,{ref_key:`subnavbarRef`,ref:v,class:`cui-subnavbar fixed transition-all duration-200 overflow-x-hidden overflow-y-scroll md:!pl-0 pl-safe pb-safe w-full h-full flex flex-col`,style:E({width:`${z(k)}px`,borderRightWidth:z(O)===`opened`?`1px`:`0px`,paddingBottom:`calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${z(f)}px + ${z(_)}px)`})},[(x(!0),j(F,null,T(z(L),t=>(x(),j(F,{key:t.key},[A(`span`,{class:`shrink-0 pl-4 pt-4 pb-1 text-[11px] font-semibold uppercase tracking-widest text-muted`,style:E({width:`${z($).EXPANDED}px`})},y(e.$t(`views.settings.section_${t.key}`)),5),(x(!0),j(F,null,T(t.routes,t=>(x(),P(n,{key:t.name,icon:t.meta.settingsBar.icon.default,"active-icon":t.meta.settingsBar.icon.active,to:t.path,label:e.$t(`navigation.${(t.meta?.name).toLowerCase()}`),description:e.$t(`navigation_description.${t.meta?.description}`),class:`cui-list-item !m-0 !p-0 shrink-0`,style:E({width:`${z($).EXPANDED}px`})},null,8,[`icon`,`active-icon`,`to`,`label`,`description`,`style`]))),128))],64))),128))],4)}}}),[[`__scopeId`,`data-v-cbcd01f8`]]),oe={class:`font-semibold text-xl truncate`},se={class:`w-full h-full relative`},ce={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-2`},le={class:`relative z-2 page-title !m-0`},ue=R({__name:`Settings`,setup(t){let n=V(),r=o(),{bus:a}=p(),{mdBreakpoint:c,xlBreakpoint:l,smBreakpoint:C}=s(),w=h(),{routerLoading:T}=B(w),O=[`personal`,`system`].flatMap(e=>g.find(e=>e.name===`Settings`).children.filter(t=>u(t)&&t.meta?.settingsBar&&(t.meta.settingsBar.group??`personal`)===e)),M=S(`subnavbarRef`),F=S(`containerRef`),R=I(()=>n.currentRoute.value.path===`/settings`);ee(F,e=>{if(R.value)return;let t=O.findIndex(e=>e.path===n.currentRoute.value.path.split(`/settings/`)[1]),r=e===`right`?O[t-1]:O[t+1];r&&n.push({path:r.path})});let W=i(M),G=I(()=>M.value?.subnavbarState??`closed`);function K(){let e=G.value===`opened`?`closed`:`opened`;a.emit({subbarState:e})}return D(C,e=>{if(!e&&R.value){let e=m().uiSettings.interface.selectedSettingsView;n.replace(`/settings/${f.includes(e)?e:`account`}`)}}),(t,n)=>{let i=d,a=H,o=e,s=ae,u=U,f=te,p=q,m=v(`RouterView`);return x(),j(`div`,null,[N(i,{position:`center`},{default:_(()=>[A(`span`,oe,y(t.$t(`views.settings.title_${t.$route.meta?.name}`)),1)]),_:1}),N(i,{position:`left`},{default:_(()=>[N(o,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:n[0]||=e=>t.$router.push(z(R)?`/menu`:`/settings`)},{icon:_(()=>[N(a,{class:`w-6 h-6`})]),_:1})]),_:1}),z(C)?L(``,!0):(x(),P(s,{key:0,ref_key:`subnavbarRef`,ref:M,class:`z-4 min-w-0`},null,512)),A(`main`,{class:`relative w-full h-full`,style:E({paddingLeft:z(c)?`0px`:`${z(W).width.value}px`})},[A(`div`,se,[z(C)?L(``,!0):(x(),j(`div`,ce,[n[1]||=A(`div`,{class:`ml-2`},null,-1),z(l)?L(``,!0):(x(),P(o,{key:0,id:`submenu-icon`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:K},{icon:_(()=>[z(G)===`opened`?(x(),P(u,{key:0,width:`100%`,height:`100%`})):(x(),P(f,{key:1,width:`100%`,height:`100%`}))]),_:1})),A(`h1`,le,y(t.$t(`views.settings.title_${t.$route.meta?.name}`)),1),n[2]||=A(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[A(`div`),A(`div`),A(`div`),A(`div`),A(`div`),A(`div`)],-1)])),A(`div`,{ref_key:`containerRef`,ref:F,class:k([`px-2 h-full w-full`,{"py-4":z(C),"pt-[calc(40px+2rem)] pb-2":!z(C)}])},[z(T)&&z(r).showRouterLoadingSub.value?(x(),P(p,{key:0,class:`w-full h-full relative overflow-x-hidden`})):(x(),P(m,{key:1},{default:_(({Component:e})=>[(x(),P(b(e),{class:`h-full`}))]),_:1}))],2)])],4)])}}});export{ue as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./SettingsAccount-CSy1BAIH.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,Kt as t,Vr as n,X as r,z as i,zt as a}from"./vendor-cameraui-QXD8jkcj.js";import{M as o,Mn as s,O as c,Zn as l,_ as u,_n as d,_t as ee,ct as f,g as p,gr as m,gt as te,i as h,kr as g,l as ne,z as re}from"./api-DK2Bav9D.js";import{$n as _,C as ie,Cn as v,Cr as y,Dn as b,Hn as ae,In as x,Jn as S,Pn as oe,Rn as C,S as w,Xt as T,_r as E,cn as D,dn as O,dr as k,er as se,gn as A,hn as ce,ln as j,mr as le,or as M,rn as ue,sn as N,sr as P,un as F,vn as I,x as L,yr as R}from"./vendor-DGke_6M4.js";import{i as z,r as de}from"./vendor-zod-CBbC1rE7.js";import{h as fe}from"./eventIcons-cdzqQc0W.js";import{p as pe}from"./vendor-core-CnhnyKDl.js";import{B as me,C as he,R as ge,a as _e,q as ve,s as ye,u as be,z as xe}from"./vendor-primevue-CCUqY55W.js";import{t as Se}from"./CuiDataTable-CsqH-RB1.js";import{t as Ce}from"./CuiQRCode-DqSF4SkD.js";import{n as we,t as B}from"./auth-Dc8bUpc-.js";var V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return x(),O(`svg`,V,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`M7 14c-1.1 0-2-.9-2-2s.9-2 2-2s2 .9 2 2s-.9 2-2 2m5.6-4c-.8-2.3-3-4-5.6-4c-3.3 0-6 2.7-6 6s2.7 6 6 6c2.6 0 4.8-1.7 5.6-4H16v4h4v-4h3v-4z`},null,-1)]])}var Te=P({name:`mdi-key`,render:H}),U={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return x(),O(`svg`,U,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`M17 19H7V5h10m0-4H7c-1.11 0-2 .89-2 2v18a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2`},null,-1)]])}var Ee=P({name:`mdi-cellphone`,render:W}),G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(e,t){return x(),O(`svg`,G,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`M22 18v4h-4v-3h-3v-3h-3l-2.26-2.26c-.55.17-1.13.26-1.74.26a6 6 0 0 1-6-6a6 6 0 0 1 6-6a6 6 0 0 1 6 6c0 .61-.09 1.19-.26 1.74zM7 5a2 2 0 0 0-2 2a2 2 0 0 0 2 2a2 2 0 0 0 2-2a2 2 0 0 0-2-2`},null,-1)]])}var De=P({name:`mdi-key-variant`,render:K}),Oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ke(e,t){return x(),O(`svg`,Oe,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`M4 6h16v10H4m16 2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4c-1.11 0-2 .89-2 2v10a2 2 0 0 0 2 2H0v2h24v-2z`},null,-1)]])}var Ae=P({name:`mdi-laptop`,render:ke}),je={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Me(e,t){return x(),O(`svg`,je,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`M21 17H3V5h18m0-2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5v2h8v-2h5a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2`},null,-1)]])}var Ne=P({name:`mdi-television`,render:Me}),Pe={class:`flex flex-col gap-6`},Fe={class:`token-box`},Ie={class:`token-value`},Le=s(I({__name:`ApiTokenCreated`,props:{token:{}},setup(r,{expose:i}){let a=r,o=g(),{t:s}=n(),{token:c}=E(a);async function l(){await h(c.value)?o.add({severity:`success`,detail:s(`components.toast.copied`),life:1500}):o.add({severity:`error`,detail:s(`components.toast.copy_failed`),life:3e3})}async function u(){}return i({onConfirm:u}),(n,r)=>{let i=me,a=e,o=t;return x(),O(`div`,Pe,[A(i,{severity:`warn`},{default:_(()=>[ce(y(n.$t(`views.settings.api_tokens.created_warning`)),1)]),_:1}),D(`div`,Fe,[D(`span`,Ie,y(R(c)),1),se((x(),j(a,{text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:l},{icon:_(()=>[A(R(te),{width:`100%`,height:`100%`})]),_:1})),[[o,{value:n.$t(`components.form.button.copy`)}]])])])}}}),[[`__scopeId`,`data-v-591cfcb4`]]),Re={class:`flex flex-col gap-2 w-full`},ze={for:`apiTokenName`,class:`cui-label`},Be={key:0,class:`text-xs text-red-500`},Ve=I({__name:`CreateApiToken`,props:{existingNames:{}},setup(e,{expose:t}){let n=e,r=k(``),a=N(()=>n.existingNames.includes(r.value.trim()));return t({onConfirm:async()=>{let e=r.value.trim();return!e||a.value?null:e}}),(e,t)=>{let n=i;return x(),O(`div`,Re,[D(`label`,ze,y(e.$t(`views.settings.api_tokens.name_label`)),1),A(n,{id:`apiTokenName`,modelValue:R(r),"onUpdate:modelValue":t[0]||=e=>M(r)?r.value=e:null,class:`w-full`,placeholder:e.$t(`views.settings.api_tokens.name_placeholder`),autofocus:``,invalid:R(a)},null,8,[`modelValue`,`placeholder`,`invalid`]),R(a)?(x(),O(`span`,Be,y(e.$t(`views.settings.api_tokens.name_exists`)),1)):F(``,!0)])}}}),He={class:`flex flex-col gap-6`},Ue={class:`backup-codes-grid`},We=s(I({__name:`TwoFactorBackupCodes`,props:{backupCodes:{}},setup(e,{expose:t}){let{backupCodes:n}=E(e);async function r(){}return t({onConfirm:r}),(e,t)=>{let r=me;return x(),O(`div`,He,[A(r,{severity:`warn`},{default:_(()=>[ce(y(e.$t(`views.settings.security.backup_warning`)),1)]),_:1}),D(`div`,Ue,[(x(!0),O(ue,null,C(R(n),e=>(x(),O(`span`,{key:e,class:`backup-code`},y(e),1))),128))])])}}}),[[`__scopeId`,`data-v-0761a2ae`]]),Ge={class:`flex flex-col gap-6`},Ke={class:`text-muted`},qe={class:`flex flex-col gap-2 justify-center items-center mt-5`},Je={class:`cui-label`},Ye=I({__name:`TwoFactorDisable`,setup(e,{expose:t}){let r=new B,i=g(),{t:a}=n(),o=v(`dialogRefProps`),{mutateAsync:s,isPending:c}=r.disable2FAQuery(),l=k(``),u=N(()=>!!(o.loading?.value||c.value)),d=N(()=>l.value.length<6);async function ee(){if(l.value.length<6)return null;try{await s({code:l.value}),i.add({severity:`success`,detail:a(`views.settings.security.2fa_disabled_success`),life:3e3})}catch(e){return i.add({severity:`error`,detail:e,life:3e3}),null}}return t({isLoading:u,isDisabled:d,onConfirm:ee}),(e,t)=>{let n=be;return x(),O(`div`,Ge,[D(`p`,Ke,y(e.$t(`views.settings.security.disable_confirm`)),1),D(`div`,qe,[D(`label`,Je,y(e.$t(`views.settings.security.enter_code`)),1),A(n,{modelValue:R(l),"onUpdate:modelValue":t[0]||=e=>M(l)?l.value=e:null,length:6,"integer-only":``,class:`justify-center`},null,8,[`modelValue`])])])}}}),Xe={class:`flex flex-col gap-6`},Ze={class:`text-muted`},q={class:`flex flex-col gap-2 justify-center items-center mt-5`},J={class:`cui-label`},Qe=I({__name:`TwoFactorRegenerate`,props:{onBackupCodesGenerated:{type:Function}},setup(e,{expose:t}){let r=new B,i=e,a=g(),{t:o}=n(),s=v(`dialogRefProps`),{mutateAsync:c,isPending:l}=r.regenerateBackupCodesQuery(),u=k(``),d=N(()=>!!(s.loading?.value||l.value)),ee=N(()=>u.value.length<6);async function f(){if(u.value.length<6)return null;try{let e=await c({code:u.value});a.add({severity:`success`,detail:o(`views.settings.security.backup_regenerated`),life:3e3}),i.onBackupCodesGenerated&&i.onBackupCodesGenerated(e.backupCodes)}catch(e){return a.add({severity:`error`,detail:e,life:3e3}),null}}return t({isLoading:d,isDisabled:ee,onConfirm:f}),(e,t)=>{let n=be;return x(),O(`div`,Xe,[D(`p`,Ze,y(e.$t(`views.settings.security.regenerate_confirm`)),1),D(`div`,q,[D(`label`,J,y(e.$t(`views.settings.security.enter_code`)),1),A(n,{modelValue:R(u),"onUpdate:modelValue":t[0]||=e=>M(u)?u.value=e:null,length:6,"integer-only":``,class:`justify-center`},null,8,[`modelValue`])])])}}}),$e={class:`flex flex-col w-full gap-6`},et={class:`relative`},tt={class:`image-upload rounded-full z-1`},nt={for:`file-input`},rt={class:`card-title`},it={class:`flex flex-col gap-6`},at={for:`username`,class:`cui-label`},ot={class:`card-title`},st={class:`flex flex-col gap-6`},ct={for:`password`,class:`cui-label`},lt={for:`passwordConfirm`,class:`cui-label`},ut={class:`relative`},dt={class:`image-upload rounded-full z-1`},ft={for:`file-input`},pt={class:`card-title`},mt={class:`flex flex-col gap-6`},ht={class:`flex flex-col field-gap`},gt={for:`username`,class:`cui-label`},_t={class:`flex flex-row items-end justify-end`},vt={class:`card-title`},yt={for:`password`,class:`cui-label`},bt={for:`passwordConfirm`,class:`cui-label`},xt={class:`flex flex-row items-end justify-end`},St={class:`card-title`},Ct={key:0,class:`flex justify-center py-6`},wt={key:`initial`,class:`flex flex-col gap-6`},Tt={class:`flex flex-col gap-1`},Et={class:`tfa-row-title`},Dt={class:`tfa-row-description`},Ot={key:`loading`,class:`flex flex-col items-center py-8 gap-3`},kt={class:`text-sm text-muted`},At={key:`setup`,class:`tfa-setup`},jt={class:`tfa-setup-qr`},Mt={class:`text-sm text-muted text-center mt-3`},Nt={class:`flex flex-col gap-5 flex-1`},Pt={class:`flex flex-col field-gap`},Ft={class:`cui-label`},It={class:`flex flex-col field-gap`},Lt={class:`cui-label`},Rt={class:`flex gap-2 justify-end`},zt={key:`enabled`,class:`flex flex-col gap-6`},Bt={class:`tfa-row tfa-row-enabled`},Vt={class:`tfa-status-icon`},Ht={class:`tfa-row-content`},Ut={class:`tfa-row-title`},Wt={key:0,class:`tfa-backup-info`},Gt={class:`flex gap-2 justify-end`},Kt={key:0},qt={class:`card-title`},Jt={class:`flex items-center gap-4`},Yt={class:`flex flex-col field-switch-gap min-w-0`},Xt={class:`text-sm font-bold text-color`},Zt={class:`card-title`},Qt={class:`flex flex-col gap-6`},$t={class:`text-sm text-muted`},en={class:`text-muted text-sm`},tn={class:`flex items-center gap-3`},nn={class:`flex flex-col min-w-0`},rn={class:`text-sm font-semibold text-color truncate`},an={class:`text-xs text-muted truncate font-mono`},on={class:`text-xs text-muted`},sn={class:`flex flex-row items-end justify-end gap-2`},cn={class:`card-title`},ln={class:`flex flex-col gap-6`},un={class:`text-muted text-sm`},dn={class:`flex items-center gap-3`},fn={class:`flex flex-col min-w-0`},pn={class:`flex items-center gap-2`},mn={class:`text-sm font-semibold text-color truncate`},hn={class:`text-xs text-muted truncate`},gn={key:0,class:`flex flex-row items-end justify-end gap-2`},Y=s(I({__name:`SettingsAccount`,props:{firststeps:{type:Boolean}},setup(s,{expose:v}){let C=new B,P=s,I=f(),V=g(),{t:H}=n(),{firststeps:U}=E(P),W=u(),{user:G}=pe(W),{data:K,isLoading:Oe}=C.toggleQueryActivator(`get2FAStatusQuery`,!U.value).get2FAStatusQuery(),{mutateAsync:ke,isPending:je}=C.setup2FAQuery(),{mutateAsync:Me,isPending:Pe}=C.enable2FAQuery(),{data:Fe,isBusy:Ie}=C.toggleQueryActivator(`listSessionsQuery`,!U.value).listSessionsQuery({page:1,pageSize:-1}),{mutateAsync:Re}=C.revokeSessionQuery(),{mutateAsync:ze}=C.revokeOtherSessionsQuery(),{data:Be,isBusy:He}=C.toggleQueryActivator(`listApiTokensQuery`,!U.value).listApiTokensQuery(),{mutateAsync:Ue,isPending:Ge}=C.createApiTokenQuery(),{mutateAsync:Ke}=C.revokeApiTokenQuery(),qe=de({password:c,passwordConfirm:z().min(1)}).refine(e=>e.password===e.passwordConfirm,{message:`Passwords do not match`,path:[`passwordConfirm`]}),Je=de({username:z().min(1),password:c,passwordConfirm:z().min(1)}).refine(e=>e.password===e.passwordConfirm,{message:`Passwords do not match`,path:[`passwordConfirm`]}),Xe=S(`formRef`),Ze=S(`passwordFormRef`),q=le(),J=k(`avatar`),Y=k(G.value?.username??``),X=k(!1),Z=k(!1),Q=k(null),$=k(``),_n=k(null),vn=k(!1),yn=k(null);k(!1);let bn=k(!1),xn=k(!1),Sn=N(()=>!1),Cn={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},wn=N(()=>(Fe.value??[]).filter(e=>!e.is_current).length),Tn=N(()=>!Q.value?.secret||!G.value?.username?``:`otpauth://totp/${encodeURIComponent(`camera.ui:${G.value.username}`)}?secret=${Q.value.secret}&issuer=camera.ui`);async function En(){Q.value?.secret&&await h(Q.value.secret)}function Dn(e){return e===`tv`?Ne:e===`native`?Ee:Ae}async function On(e){_n.value=e;try{await Re({id:e})}catch(e){V.add({severity:`error`,detail:e,life:3e3})}finally{_n.value=null}}function kn(){I.openComponentDialog(Ve,{data:{title:H(`views.settings.api_tokens.create`),confirmText:H(`views.settings.api_tokens.create_confirm`),contentProps:{existingNames:(Be.value??[]).map(e=>e.name)}},onConfirm:async e=>{if(e)try{An((await Ue({name:e})).token)}catch(e){V.add({severity:`error`,detail:e,life:3e3})}}})}function An(e){I.openComponentDialog(Le,{data:{title:H(`views.settings.api_tokens.created_title`),confirmText:H(`components.form.button.close`),hideCancelButton:!0,contentProps:{token:e}}})}function jn(e){I.openTextDialog({data:{title:H(`views.settings.api_tokens.revoke_title`),contentText:H(`views.settings.api_tokens.revoke_confirm`,{name:e.name}),confirmText:H(`views.settings.api_tokens.revoke`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{yn.value=e.id;try{await Ke({id:e.id})}catch(e){V.add({severity:`error`,detail:e,life:3e3})}finally{yn.value=null}}})}function Mn(){I.openTextDialog({data:{title:H(`views.settings.active_sessions.revoke_others_title`),contentText:H(`views.settings.active_sessions.revoke_others_confirm`,{count:wn.value}),confirmText:H(`views.settings.active_sessions.revoke`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{vn.value=!0;try{await ze()}catch(e){V.add({severity:`error`,detail:e,life:3e3})}finally{vn.value=!1}}})}async function Nn(){try{Q.value=await ke()}catch(e){V.add({severity:`error`,detail:e,life:3e3})}}function Pn(){Q.value=null,$.value=``}async function Fn(){try{let e=await Me({code:$.value});Q.value=null,$.value=``,V.add({severity:`success`,detail:H(`views.settings.security.2fa_enabled_success`),life:3e3}),Rn(e.backupCodes)}catch(e){V.add({severity:`error`,detail:e,life:3e3})}}function In(){I.openComponentDialog(Ye,{data:{title:H(`views.settings.security.disable_2fa`),confirmText:H(`views.settings.security.disable_2fa`),confirmButtonProps:{severity:`danger`},contentProps:{}}})}function Ln(){I.openComponentDialog(Qe,{data:{title:H(`views.settings.security.regenerate_backup`),confirmText:H(`views.settings.security.regenerate_backup`),contentProps:{onBackupCodesGenerated:e=>{Rn(e)}}}})}function Rn(e){I.openComponentDialog(We,{data:{title:H(`views.settings.security.backup_codes`),confirmText:H(`components.form.button.close`),hideCancelButton:!0,contentProps:{backupCodes:e}}})}async function zn(e){let t=e.target?.files;q.value=t?.[0],J.value=await p(e)??J.value}async function Bn(){X.value=!0;try{let e;q.value&&(e=new FormData,e.append(`upload`,q.value));let t=G.value?.username!==Y.value;if(t)await W.updateUser({username:Y.value},e);else if(e)await W.updateUser(void 0,e);else{X.value=!1;return}V.add({severity:`success`,detail:H(`components.toast.profile_updated`),life:3e3}),q.value=void 0,t&&W.logout()}catch{}X.value=!1}async function Vn(e){Z.value=!0;try{await W.updateUser({password:e.password,passwordConfirm:e.passwordConfirm}),V.add({severity:`success`,detail:H(`components.toast.password_updated`),life:3e3}),Ze.value?.resetForm(),W.logout()}catch(e){V.add({severity:`error`,detail:e,life:3e3})}Z.value=!1}async function Hn(){}async function Un(e){if(e!==bn.value){if(e){V.add({severity:`info`,detail:H(`views.settings.biometric.enable_hint`),life:3e3});return}xn.value=!0;try{await o(m()),bn.value=!1,V.add({severity:`success`,detail:H(`views.settings.biometric.cleared`),life:3e3})}finally{xn.value=!1}}}return oe(()=>{Hn()}),v({formRef:Xe}),(n,o)=>{let s=d,c=i,u=xe,f=r,p=ye,m=e,h=a,g=Ce,v=ee,S=ge,oe=be,C=l,E=Te,k=fe,le=me,N=ve,P=he,I=re,z=Se,de=_e,pe=we,B=t;return x(),O(`div`,null,[D(`div`,$e,[R(U)?(x(),j(R(ie),{key:0,ref_key:`formRef`,ref:Xe,"validation-schema":R(Je),class:`flex flex-col w-full gap-6`},{default:_(()=>[D(`div`,et,[D(`div`,tt,[D(`label`,nt,[A(s,{src:R(J),size:64,"show-border":!1,class:`cursor-pointer`},null,8,[`src`]),D(`input`,{id:`file-input`,type:`file`,class:`hidden`,accept:`image/png,image/jpeg,image/jpg`,onChange:o[0]||=e=>zn(e)},null,32)])]),D(`span`,rt,y(n.$t(`views.settings.profile`)),1),A(f,{class:`cui-card`},{content:_(()=>[D(`div`,it,[A(R(w),{"model-value":R(G)?.username,name:`username`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:e,errors:t})=>[D(`label`,at,y(n.$t(`components.form.label.username`)),1),A(u,null,{default:_(()=>[A(c,b(e,{invalid:t.length>0,type:`text`}),null,16,[`invalid`])]),_:2},1024),A(T,{name:`fade`},{default:_(()=>[A(R(L),{name:`username`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`])])]),_:1})]),D(`div`,null,[D(`span`,ot,y(n.$t(`views.settings.password`)),1),A(f,{class:`cui-card`},{content:_(()=>[D(`div`,st,[A(R(w),{name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:e,errors:t})=>[D(`label`,ct,y(n.$t(`components.form.label.new_password`)),1),A(u,null,{default:_(()=>[A(p,b({invalid:t.length>0},e,{feedback:!1,"toggle-mask":``}),null,16,[`invalid`])]),_:2},1024),A(T,{name:`fade`},{default:_(()=>[A(R(L),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1}),A(R(w),{name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:e,errors:t})=>[D(`label`,lt,y(n.$t(`components.form.label.new_password_confirm`)),1),A(u,null,{default:_(()=>[A(p,b({invalid:t.length>0},e,{feedback:!1,"toggle-mask":``}),null,16,[`invalid`])]),_:2},1024),A(T,{name:`fade`},{default:_(()=>[A(R(L),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1})])]),_:1})])]),_:1},8,[`validation-schema`])):(x(),O(ue,{key:1},[D(`div`,ut,[D(`div`,dt,[D(`label`,ft,[A(s,{src:R(J),size:64,"show-border":!1,class:`cursor-pointer`},null,8,[`src`]),D(`input`,{id:`file-input`,type:`file`,class:`hidden`,accept:`image/png,image/jpeg,image/jpg`,onChange:o[1]||=e=>zn(e)},null,32)])]),D(`span`,pt,y(n.$t(`views.settings.profile`)),1),A(f,{class:`cui-card`},{content:_(()=>[D(`div`,mt,[D(`div`,ht,[D(`label`,gt,y(n.$t(`components.form.label.username`)),1),A(u,null,{default:_(()=>[A(c,{modelValue:R(Y),"onUpdate:modelValue":o[2]||=e=>M(Y)?Y.value=e:null,loading:R(X),type:`text`},null,8,[`modelValue`,`loading`])]),_:1})]),D(`div`,_t,[A(m,{loading:R(X),class:`cui-button-medium`,label:n.$t(`components.form.button.update_profile`),onClick:Bn},null,8,[`loading`,`label`])])])]),_:1})]),D(`div`,null,[D(`span`,vt,y(n.$t(`views.settings.password`)),1),A(f,{class:`cui-card`},{content:_(()=>[A(R(ie),{ref_key:`passwordFormRef`,ref:Ze,"validation-schema":R(qe),class:`flex flex-col gap-6`,onSubmit:o[3]||=e=>Vn(e)},{default:_(()=>[A(R(w),{name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:e,errors:t})=>[D(`label`,yt,y(n.$t(`components.form.label.new_password`)),1),A(u,null,{default:_(()=>[A(p,b({invalid:t.length>0},e,{loading:R(Z),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),A(T,{name:`fade`},{default:_(()=>[A(R(L),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1}),A(R(w),{name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:e,errors:t})=>[D(`label`,bt,y(n.$t(`components.form.label.new_password_confirm`)),1),A(u,null,{default:_(()=>[A(p,b({invalid:t.length>0},e,{loading:R(Z),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),A(T,{name:`fade`},{default:_(()=>[A(R(L),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1}),D(`div`,xt,[A(m,{type:`submit`,loading:R(Z),class:`cui-button-medium`,label:n.$t(`components.form.button.change_password`)},null,8,[`loading`,`label`])])]),_:1},8,[`validation-schema`])]),_:1})]),D(`div`,null,[D(`span`,St,y(n.$t(`views.settings.security.title`)),1),A(f,{class:`cui-card`},{content:_(()=>[R(Oe)?(x(),O(`div`,Ct,[A(h,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(x(),j(T,{key:1,name:`fade`,mode:`out-in`},{default:_(()=>[!R(K)?.enabled&&!R(Q)&&!R(je)?(x(),O(`div`,wt,[D(`div`,Tt,[D(`span`,Et,y(n.$t(`views.settings.security.2fa_title`)),1),D(`span`,Dt,y(n.$t(`views.settings.security.2fa_description`)),1)]),A(m,{class:`cui-button-medium ml-auto`,label:n.$t(`views.settings.security.setup_2fa`),onClick:Nn},null,8,[`label`])])):!R(K)?.enabled&&R(je)?(x(),O(`div`,Ot,[A(h,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`}),D(`span`,kt,y(n.$t(`views.settings.security.generating_qr`)),1)])):!R(K)?.enabled&&R(Q)?(x(),O(`div`,At,[D(`div`,jt,[A(g,{value:R(Tn),size:160,"logo-size":36},null,8,[`value`]),D(`p`,Mt,y(n.$t(`views.settings.security.scan_qr`)),1)]),D(`div`,Nt,[D(`div`,Pt,[D(`label`,Ft,y(n.$t(`views.settings.security.manual_entry`)),1),A(u,null,{default:_(()=>[A(c,{"model-value":R(Q)?.secret,readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),A(S,null,{default:_(()=>[A(v,{"action-text":n.$t(`components.form.tooltip.copied`),icon:R(te),"button-props":{severity:`secondary`,text:!0},onAction:En},null,8,[`action-text`,`icon`])]),_:1})]),_:1})]),D(`div`,It,[D(`label`,Lt,y(n.$t(`views.settings.security.enter_code`)),1),A(oe,{modelValue:R($),"onUpdate:modelValue":o[4]||=e=>M($)?$.value=e:null,length:6,"integer-only":``},null,8,[`modelValue`])]),D(`div`,Rt,[A(m,{severity:`secondary`,class:`cui-button-medium`,label:n.$t(`components.form.button.cancel`),onClick:Pn},null,8,[`label`]),A(m,{class:`cui-button-medium`,label:n.$t(`views.settings.security.enable_2fa`),loading:R(Pe),disabled:R($).length<6,onClick:Fn},null,8,[`label`,`loading`,`disabled`])])])])):(x(),O(`div`,zt,[D(`div`,Bt,[D(`div`,Vt,[A(C,{class:`w-5 h-5`})]),D(`div`,Ht,[D(`span`,Ut,y(n.$t(`views.settings.security.2fa_enabled`)),1)])]),R(K)?.backupCodesCount===void 0?F(``,!0):(x(),O(`div`,Wt,[A(E,{class:`w-4 h-4`}),D(`span`,null,y(n.$t(`views.settings.security.backup_codes_remaining`,{count:R(K).backupCodesCount})),1)])),D(`div`,Gt,[A(m,{severity:`secondary`,class:`cui-button-medium`,label:n.$t(`views.settings.security.regenerate_backup`),onClick:Ln},null,8,[`label`]),A(m,{severity:`danger`,class:`cui-button-medium`,label:n.$t(`views.settings.security.disable_2fa`),onClick:In},null,8,[`label`])])]))]),_:1}))]),_:1})]),R(Sn)?(x(),O(`div`,Kt,[D(`span`,qt,y(n.$t(`views.settings.biometric.title`)),1),A(f,{class:`cui-card`},{content:_(()=>[D(`div`,Jt,[A(k,{class:`shrink-0 w-6 h-6 text-color`}),D(`div`,Yt,[D(`span`,Xt,y(n.$t(`views.settings.biometric.label`)),1),A(le,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:_(()=>[ce(y(n.$t(`views.settings.biometric.description`)),1)]),_:1})]),A(N,{"model-value":R(bn),loading:R(xn),class:`ml-auto shrink-0`,"onUpdate:modelValue":Un},null,8,[`model-value`,`loading`])])]),_:1})])):F(``,!0),D(`div`,null,[D(`span`,Zt,y(n.$t(`views.settings.api_tokens.title`)),1),A(f,{class:`cui-card`},{content:_(()=>[D(`div`,Qt,[D(`span`,$t,y(n.$t(`views.settings.api_tokens.info`)),1),A(z,{value:R(Be)??[],"data-key":`id`,loading:R(He),pt:Cn,"striped-rows":``,scrollable:``},{loading:_(()=>[A(h,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[D(`span`,en,y(n.$t(`views.settings.api_tokens.empty`)),1)]),default:_(()=>[A(P,{field:`name`,header:n.$t(`views.settings.api_tokens.name_label`),"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7`},{body:_(({data:e})=>[D(`div`,tn,[A(R(De),{class:`cui-session-icon`}),D(`div`,nn,[D(`span`,rn,y(e.name),1),D(`span`,an,y(e.token_hint),1)])])]),_:1},8,[`header`]),A(P,{field:`last_seen_at`,header:n.$t(`views.settings.api_tokens.last_used`),"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7`},{body:_(({data:e})=>[D(`span`,on,y(e.last_seen_at>e.created_at?R(ne)(e.last_seen_at):n.$t(`views.settings.api_tokens.never`)),1)]),_:1},8,[`header`]),A(P,{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:_(({data:e})=>[se((x(),j(m,{severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,loading:R(yn)===e.id,onClick:t=>jn(e)},{icon:_(()=>[A(I,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[B,{value:n.$t(`views.settings.api_tokens.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`]),D(`div`,sn,[A(m,{loading:R(Ge),class:`cui-button-medium mr-4 md:mr-0`,label:n.$t(`views.settings.api_tokens.create`),onClick:kn},null,8,[`loading`,`label`])])])]),_:1})]),D(`div`,null,[D(`span`,cn,y(n.$t(`views.settings.active_sessions.title`)),1),A(f,{class:`cui-card`},{content:_(()=>[D(`div`,ln,[A(z,{value:R(Fe)??[],"data-key":`id`,loading:R(Ie),pt:Cn,"striped-rows":``,scrollable:``},{loading:_(()=>[A(h,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[D(`span`,un,y(n.$t(`views.settings.active_sessions.empty`)),1)]),default:_(()=>[A(P,{field:`device`,header:n.$t(`views.settings.title_device`),"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7`},{body:_(({data:e})=>[D(`div`,dn,[(x(),j(ae(Dn(e.device.kind)),{class:`cui-session-icon`})),D(`div`,fn,[D(`div`,pn,[D(`span`,mn,y(e.device.name),1),e.is_current?(x(),j(de,{key:0,severity:`success`,value:n.$t(`views.settings.active_sessions.this_device`),class:`cui-session-tag`},null,8,[`value`])):F(``,!0)]),D(`span`,hn,y(e.device.ip||`—`),1)])])]),_:1},8,[`header`]),A(P,{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:_(({data:e})=>[e.is_current?F(``,!0):se((x(),j(m,{key:0,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,loading:R(_n)===e.id,onClick:t=>On(e.id)},{icon:_(()=>[A(pe,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[B,{value:n.$t(`views.settings.active_sessions.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`]),R(wn)>0?(x(),O(`div`,gn,[A(m,{loading:R(vn),class:`cui-button-medium mr-4 md:mr-0`,label:n.$t(`views.settings.active_sessions.revoke_all_others`,{count:R(wn)}),onClick:Mn},null,8,[`loading`,`label`])])):F(``,!0)])]),_:1})])],64))])])}}}),[[`__scopeId`,`data-v-f85a1758`]]);export{Y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.token-box[data-v-591cfcb4]{background:var(--p-form-field-background);border:1px solid var(--border-color);border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.token-value[data-v-591cfcb4]{word-break:break-all;flex:1;font-family:monospace;font-size:.875rem}.backup-codes-grid[data-v-0761a2ae]{background:var(--p-form-field-background);text-align:center;border:1px solid var(--border-color);border-radius:.5rem;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem;font-family:monospace;display:grid}.backup-code[data-v-0761a2ae]{background:var(--p-content-background);border:1px solid var(--border-color);border-radius:.375rem;padding:.5rem}.image-upload[data-v-
|
|
1
|
+
.token-box[data-v-591cfcb4]{background:var(--p-form-field-background);border:1px solid var(--border-color);border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.token-value[data-v-591cfcb4]{word-break:break-all;flex:1;font-family:monospace;font-size:.875rem}.backup-codes-grid[data-v-0761a2ae]{background:var(--p-form-field-background);text-align:center;border:1px solid var(--border-color);border-radius:.5rem;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem;font-family:monospace;display:grid}.backup-code[data-v-0761a2ae]{background:var(--p-content-background);border:1px solid var(--border-color);border-radius:.375rem;padding:.5rem}.image-upload[data-v-f85a1758]{border:6px solid var(--ground-background);position:absolute;top:-15px;right:30px}.tfa-row[data-v-f85a1758]{align-items:center;gap:1rem;display:flex}.tfa-row-content[data-v-f85a1758]{flex-direction:column;flex:1;gap:.125rem;display:flex}.tfa-row-title[data-v-f85a1758]{color:var(--p-text-color);font-size:.9375rem;font-weight:500}.tfa-row-description[data-v-f85a1758]{color:var(--p-text-muted-color);font-size:.8125rem;line-height:1.4}.tfa-row-enabled[data-v-f85a1758]{background:color-mix(in srgb, var(--p-green-500) 10%, transparent);border-radius:10px;padding:.75rem}.tfa-status-icon[data-v-f85a1758]{background:color-mix(in srgb, var(--p-green-500) 15%, transparent);width:36px;height:36px;color:var(--p-green-500);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tfa-backup-info[data-v-f85a1758]{background:var(--p-form-field-background);color:var(--p-text-muted-color);border-radius:8px;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;display:flex}.tfa-actions[data-v-f85a1758]{gap:.5rem;margin-top:.25rem;display:flex}.tfa-setup[data-v-f85a1758]{flex-direction:column;gap:1.5rem;display:flex}@media (width>=768px){.tfa-setup[data-v-f85a1758]{flex-direction:row;align-items:flex-start;gap:2rem}}.tfa-setup-qr[data-v-f85a1758]{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.cui-session-icon[data-v-f85a1758]{width:22px;height:22px;color:var(--p-text-muted-color);flex-shrink:0}.cui-session-tag[data-v-f85a1758]{flex-shrink:0;padding:.0625rem .375rem;font-size:.6875rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Vr as e,X as t,la as n}from"./vendor-cameraui-QXD8jkcj.js";import{Sn as ee,Un as r,Wn as i,v as a,wr as o,y as s}from"./api-DK2Bav9D.js";import{$n as c,Cr as l,Fn as te,In as u,Rn as ne,cn as d,dn as f,dr as p,gn as m,hn as h,or as g,rn as re,sn as _,un as v,vn as y,yr as b}from"./vendor-DGke_6M4.js";import{p as x}from"./vendor-core-CnhnyKDl.js";import{B as ie,M as ae,q as oe}from"./vendor-primevue-CCUqY55W.js";import{n as se,r as ce}from"./useNavLayout-C5obaCNv.js";import{n as le}from"./theme-BMmjtQ4w.js";var S={class:`flex flex-col w-full gap-6`},C={key:0},w={class:`card-title`},T={class:`flex flex-col gap-6`},E={class:`flex flex-col field-gap`},D={class:`cui-label`},O={class:`w-full flex flex-col gap-2`},k={class:`flex flex-col field-gap cui-toggle-switch`},A={class:`flex items-center gap-4`},j={class:`flex flex-col field-switch-gap`},M={class:`cui-label-switch`},N={key:1},P={class:`card-title`},F={class:`flex flex-col gap-6`},I={class:`flex flex-col field-gap`},L={class:`cui-label`},R={key:2},z={class:`card-title`},B={class:`flex flex-col gap-6`},V={class:`flex flex-col field-gap`},H={class:`cui-label`},U={key:0,class:`flex flex-col field-gap`},W={class:`cui-label`},ue={class:`flex flex-col field-gap`},de={class:`cui-label`},fe={class:`w-full flex flex-col gap-2`},pe={class:`flex flex-col field-gap cui-toggle-switch`},me={class:`flex items-center gap-4`},he={class:`flex flex-col field-switch-gap`},ge={class:`cui-label-switch`},_e={key:3},ve={class:`card-title`},ye={class:`w-full flex flex-col gap-2`},be={class:`flex flex-col field-gap cui-toggle-switch`},xe={class:`flex items-center gap-4`},Se={class:`flex flex-col field-switch-gap`},Ce={class:`cui-label-switch`},we={class:`flex items-center gap-4`},Te={class:`flex flex-col field-switch-gap`},Ee={class:`cui-label-switch`},De={class:`card-title`},Oe={class:`w-full flex flex-col gap-2`},ke={class:`flex flex-col field-gap cui-toggle-switch`},Ae={class:`flex items-center gap-4`},je={class:`flex flex-col field-switch-gap`},Me={class:`cui-label-switch`},Ne={class:`flex flex-col field-gap cui-toggle-switch`},Pe={class:`flex items-center gap-4`},Fe={class:`flex flex-col field-switch-gap`},Ie={class:`cui-label-switch`},G=y({__name:`SettingsAppearance`,props:{compact:{type:Boolean,default:!1}},setup(y){let{t:G}=e(),{settingsInNav:K,isCollapsible:Le,setCollapsible:Re,setSettingsInNav:ze}=ce(),Be=a(),{language:q,languageOptions:Ve}=x(Be),He=le(),{colors:Ue,theme:J,autoMode:Y}=x(He),We=i(),{uiSettings:X}=x(We),Z=p(n.isRecording()),Q=p(n.isDebug()),$=[5,10,15,25,50,100],Ge=_(()=>[...se,...K.value?[`settings`]:[]]),Ke=_(()=>s().map(e=>({label:G(`navigation.${e.meta.name}`),value:e.path}))),qe=_(()=>r.map(e=>({label:G(`navigation.${e}`),value:e}))),Je=n.onChange(()=>{Z.value=n.isRecording(),Q.value=n.isDebug()});function Ye(e){n.setRecording(e),e||n.clear()}function Xe(e){n.setDebug(e)}return te(Je),(e,n)=>{let r=ae,i=ie,a=oe,s=t;return u(),f(`div`,null,[d(`div`,S,[b(o)()?v(``,!0):(u(),f(`div`,C,[d(`span`,w,l(e.$t(`views.settings.theme`)),1),m(s,{class:`cui-card`},{content:c(()=>[d(`div`,T,[d(`div`,E,[d(`label`,D,l(e.$t(`components.form.label.theme`)),1),m(r,{modelValue:b(J),"onUpdate:modelValue":n[0]||=e=>g(J)?J.value=e:null,options:b(Ue),disabled:b(Y)},null,8,[`modelValue`,`options`,`disabled`])]),d(`div`,O,[d(`div`,k,[d(`div`,A,[d(`div`,j,[d(`label`,M,l(e.$t(`components.form.label.system_preference`)),1),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.system_preference`)),1)]),_:1})]),m(a,{modelValue:b(Y),"onUpdate:modelValue":n[1]||=e=>g(Y)?Y.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])])])]),_:1})])),b(o)()?v(``,!0):(u(),f(`div`,N,[d(`span`,P,l(e.$t(`views.settings.locale`)),1),m(s,{class:`cui-card`},{content:c(()=>[d(`div`,F,[d(`div`,I,[d(`label`,L,l(e.$t(`components.form.label.language`)),1),m(r,{modelValue:b(q),"onUpdate:modelValue":n[2]||=e=>g(q)?q.value=e:null,options:b(Ve),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`])])])]),_:1})])),y.compact?v(``,!0):(u(),f(`div`,R,[d(`span`,z,l(e.$t(`views.settings.interface`)),1),m(s,{class:`cui-card`},{content:c(()=>[d(`div`,B,[d(`div`,V,[d(`label`,H,l(e.$t(`components.form.label.default_landing_page`)),1),m(r,{modelValue:b(X).interface.landingPage,"onUpdate:modelValue":n[3]||=e=>b(X).interface.landingPage=e,options:b(Ke),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`]),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.default_landing_page`)),1)]),_:1})]),(`hasPermission`in e?e.hasPermission:b(ee))(void 0,`admin`)?(u(),f(`div`,U,[d(`label`,W,l(e.$t(`components.form.label.default_settings_page`)),1),m(r,{modelValue:b(X).interface.selectedSettingsView,"onUpdate:modelValue":n[4]||=e=>b(X).interface.selectedSettingsView=e,options:b(qe),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`]),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.default_settings_page`)),1)]),_:1})])):v(``,!0),d(`div`,ue,[d(`label`,de,l(e.$t(`components.form.label.table_rows`)),1),m(r,{modelValue:b(X).interface.tableRows,"onUpdate:modelValue":n[5]||=e=>b(X).interface.tableRows=e,options:$},null,8,[`modelValue`]),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.table_rows`)),1)]),_:1})]),d(`div`,fe,[d(`div`,pe,[d(`div`,me,[d(`div`,he,[d(`label`,ge,l(e.$t(`components.form.label.navbar_stay_collapsed`)),1),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.navbar_stay_collapsed`)),1)]),_:1})]),m(a,{modelValue:b(X).interface.navbarStayCollapsed,"onUpdate:modelValue":n[6]||=e=>b(X).interface.navbarStayCollapsed=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])])])]),_:1})])),y.compact?v(``,!0):(u(),f(`div`,_e,[d(`span`,ve,l(e.$t(`views.settings.navigation`)),1),m(s,{class:`cui-card`},{content:c(()=>[d(`div`,ye,[d(`div`,be,[d(`div`,xe,[d(`div`,Se,[d(`label`,Ce,l(e.$t(`components.form.label.nav_settings_in_nav`)),1),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.nav_settings_in_nav`)),1)]),_:1})]),m(a,{"model-value":b(K),class:`ml-auto shrink-0`,"onUpdate:modelValue":n[7]||=e=>b(ze)(e)},null,8,[`model-value`])])]),(u(!0),f(re,null,ne(b(Ge),t=>(u(),f(`div`,{key:t,class:`flex flex-col field-gap cui-toggle-switch`},[d(`div`,we,[d(`div`,Te,[d(`label`,Ee,l(e.$t(`components.form.label.nav_group_collapsible`,{group:e.$t(`navigation.group_${t}`)})),1),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.nav_group_collapsible`,{group:e.$t(`navigation.group_${t}`)})),1)]),_:2},1024)]),m(a,{"model-value":b(Le)(t),class:`ml-auto shrink-0`,"onUpdate:modelValue":e=>b(Re)(t,e)},null,8,[`model-value`,`onUpdate:modelValue`])])]))),128))])]),_:1})])),d(`div`,null,[d(`span`,De,l(e.$t(`views.settings.debugging`)),1),m(s,{class:`cui-card`},{content:c(()=>[d(`div`,Oe,[d(`div`,ke,[d(`div`,Ae,[d(`div`,je,[d(`label`,Me,l(e.$t(`components.form.label.debug_verbose`)),1),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.debug_verbose`)),1)]),_:1})]),m(a,{"model-value":b(Q),class:`ml-auto shrink-0`,"onUpdate:modelValue":Xe},null,8,[`model-value`])])]),d(`div`,Ne,[d(`div`,Pe,[d(`div`,Fe,[d(`label`,Ie,l(e.$t(`components.form.label.record_logs`)),1),m(i,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[h(l(e.$t(`components.form.hint.record_logs`)),1)]),_:1})]),m(a,{"model-value":b(Z),class:`ml-auto shrink-0`,"onUpdate:modelValue":Ye},null,8,[`model-value`])])])])]),_:1})])])])}}});export{G as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./SettingsAppearance-BY1xQMx4.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,Kt as t,Vr as n,X as r,z as i,zt as a}from"./vendor-cameraui-QXD8jkcj.js";import{Mn as o,Rr as ee,_t as te,ct as s,hn as c,i as l,kr as u,m as d,o as f,z as p}from"./api-DK2Bav9D.js";import{$n as m,An as h,Bn as ne,Cr as g,In as _,Jn as v,Rn as y,Xn as b,br as x,cn as S,dn as C,dr as w,er as T,gn as E,hn as D,hr as O,ln as k,or as A,rn as j,sn as M,sr as N,un as P,vn as F,yr as I}from"./vendor-DGke_6M4.js";import{q as L}from"./types-5rE8Tz0_.js";import{B as re,C as ie,G as ae,H as oe,K as se,M as ce,R as le,T as ue,U as de,V as fe,a as pe,i as me,l as he,q as ge,s as _e,v as ve,z as ye}from"./vendor-primevue-CCUqY55W.js";import{t as be}from"./chevron-down-ZYTrU871.js";import{t as R}from"./assistant-BJ6xKcw_.js";import{a as xe,d as Se,i as Ce,n as z,o as we,r as Te,s as Ee,t as De}from"./assistantModels-D0soYqq7.js";import{t as Oe}from"./pencil-outline-CD3Xv98d.js";import{t as ke}from"./content-copy-V0DW9ZbH.js";import{t as Ae}from"./plus--kDl8ben.js";import{t as je}from"./restore-FMacmqd_.js";import{t as Me}from"./CuiDataTable-CsqH-RB1.js";import{t as Ne}from"./pause-DKzvPG2b.js";import{t as Pe}from"./dots-vertical-pP1vP0Qa.js";var Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return _(),C(`svg`,Fe,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`m22.61 19l-9.08-9.09c.93-2.34.47-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11L6.08 7.5L2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.39-.4.39-1.01 0-1.4m-3 1.59l-9.46-9.46c-.61.45-1.29.72-2 .82c-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09l4.24-4.24L7.24 3c1.26-.05 2.49.39 3.44 1.33a4.47 4.47 0 0 1 1.24 3.96a4.35 4.35 0 0 1-.88 1.96l9.46 9.45z`},null,-1)]])}var Ie=N({name:`mdi-wrench-outline`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Le(e,t){return _(),C(`svg`,V,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M11 9.47V11h3.76L13 14.53V13H9.24zM13 1L6 15h5v8l7-14h-5z`},null,-1)]])}var Re=N({name:`mdi-lightning-bolt-outline`,render:Le}),ze={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return _(),C(`svg`,ze,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`m12 15.39l-3.76 2.27l.99-4.28l-3.32-2.88l4.38-.37L12 6.09l1.71 4.04l4.38.37l-3.32 2.88l.99 4.28M22 9.24l-7.19-.61L12 2L9.19 8.63L2 9.24l5.45 4.73L5.82 21L12 17.27L18.18 21l-1.64-7.03z`},null,-1)]])}var Be=N({name:`mdi-star-outline`,render:H}),U={class:`flex w-full flex-col gap-6`},Ve={class:`flex flex-col field-gap`},He={for:`assistantModelProvider`,class:`cui-label`},Ue={key:0,class:`flex flex-col field-gap`},We={for:`assistantModelBaseUrl`,class:`cui-label`},Ge={key:1,class:`flex flex-col field-gap`},W={for:`assistantModelKey`,class:`cui-label`},G={class:`flex flex-col field-gap`},K={for:`assistantModelModel`,class:`cui-label`},q={class:`flex flex-col field-gap`},Ke={for:`assistantModelName`,class:`cui-label`},J={class:`flex items-center gap-4 cui-toggle-switch`},Y={class:`flex flex-col field-switch-gap`},qe={for:`assistantModelUsers`,class:`cui-label-switch`},Je={key:2,class:`flex items-center gap-4 cui-toggle-switch`},X={class:`flex flex-col field-switch-gap`},Ye={for:`assistantModelImages`,class:`cui-label-switch`},Xe=F({__name:`AssistantModel`,props:{entry:{},models:{}},setup(e,{expose:t}){let r=new R,a=e,{t:o}=n(),ee=u(),te=r.listAssistantModelsMutation(),s=w(a.entry?.provider??`ollama`),c=w(a.entry?.baseURL??``),l=w(``),d=w(a.entry?.model??``),f=w(a.entry&&a.entry.name!==a.entry.model?a.entry.name:``),p=w(a.entry?.sendImages??!1),ne=w(a.entry?.userAccess!==!1),v=w(`new`),y=w([]),b=w([]),x=w(!1),T=M(()=>z.includes(s.value)),O=M(()=>s.value===`ollama`||s.value===`openai-compatible`),N=M(()=>a.entry?.apiKeySet===!0&&a.entry.provider===s.value),F=M(()=>a.models.filter(e=>e._id!==a.entry?._id&&e.provider===s.value&&e.apiKeySet)),L=M(()=>[{label:N.value?o(`views.settings.assistant_api_key_stored`):o(`views.settings.assistant_api_key_new`),value:`new`},...F.value.map(e=>({label:o(`views.settings.assistant_api_key_from`,{name:e.name}),value:e._id}))]),ie=M(()=>T.value&&v.value===`new`&&!l.value&&!N.value);function ae(){return N.value?`new`:F.value[0]?._id??`new`}function oe(){let e=v.value===`new`?l.value?{apiKey:l.value}:a.entry&&!N.value?{apiKey:null}:{}:{copyKeyFrom:v.value};return{...a.entry?{id:a.entry._id,retest:!0,sendImages:p.value}:{},...e,name:f.value,provider:s.value,baseURL:O.value&&c.value?c.value:null,model:d.value.trim(),userAccess:ne.value}}function se(){c.value=``,d.value=``,y.value=[],b.value=[],v.value=ae()}function le(e){let t=e.query.toLowerCase();b.value=y.value.filter(e=>e.toLowerCase().includes(t))}async function de(){let e=await te.mutateAsync(oe());if(e.error){ee.add({severity:`warn`,detail:o(`views.settings.assistant_models_failed`,{message:e.error}),life:5e3});return}y.value=e.models,b.value=e.models}return h(()=>{v.value=ae()}),t({onConfirm:async()=>!d.value.trim()||ie.value?(x.value=!0,null):oe()}),(t,n)=>{let r=ce,a=re,o=i,ee=_e,u=ue,h=ge;return _(),C(`div`,U,[S(`div`,Ve,[S(`label`,He,g(t.$t(`views.settings.assistant_provider_label`)),1),E(r,{modelValue:I(s),"onUpdate:modelValue":n[0]||=e=>A(s)?s.value=e:null,"input-id":`assistantModelProvider`,options:I(Te),"option-label":`label`,"option-value":`value`,fluid:``,onChange:se},null,8,[`modelValue`,`options`]),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_provider_hint_${I(s).replace(`-`,`_`)}`)),1)]),_:1})]),I(O)?(_(),C(`div`,Ue,[S(`label`,We,g(t.$t(`views.settings.assistant_base_url_label`)),1),E(o,{id:`assistantModelBaseUrl`,modelValue:I(c),"onUpdate:modelValue":n[1]||=e=>A(c)?c.value=e:null,modelModifiers:{trim:!0},placeholder:I(De)[I(s)],fluid:``,autocomplete:`off`},null,8,[`modelValue`,`placeholder`])])):P(``,!0),I(T)||I(s)===`openai-compatible`?(_(),C(`div`,Ge,[S(`label`,W,g(t.$t(`views.settings.assistant_api_key_label`)),1),I(F).length?(_(),k(r,{key:0,modelValue:I(v),"onUpdate:modelValue":n[2]||=e=>A(v)?v.value=e:null,options:I(L),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])):P(``,!0),I(v)===I(`new`)?(_(),C(j,{key:1},[E(ee,{modelValue:I(l),"onUpdate:modelValue":n[3]||=e=>A(l)?l.value=e:null,"input-id":`assistantModelKey`,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,invalid:I(x)&&I(ie),placeholder:I(N)?`••••••••`:``},null,8,[`modelValue`,`invalid`,`placeholder`]),I(N)?(_(),k(a,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_api_key_keep_hint`)),1)]),_:1})):I(T)?P(``,!0):(_(),k(a,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_api_key_optional`)),1)]),_:1}))],64)):P(``,!0)])):P(``,!0),S(`div`,G,[S(`label`,K,g(t.$t(`views.settings.assistant_model_label`)),1),E(u,{modelValue:I(d),"onUpdate:modelValue":n[4]||=e=>A(d)?d.value=e:null,"input-id":`assistantModelModel`,suggestions:I(b),loading:I(te).isPending.value,invalid:I(x)&&!I(d).trim(),dropdown:``,fluid:``,placeholder:t.$t(`views.settings.assistant_model_placeholder`),onComplete:le,onDropdownClick:de},null,8,[`modelValue`,`suggestions`,`loading`,`invalid`,`placeholder`]),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_model_info`)),1)]),_:1})]),S(`div`,q,[S(`label`,Ke,g(t.$t(`views.settings.assistant_model_name_label`)),1),E(o,{id:`assistantModelName`,modelValue:I(f),"onUpdate:modelValue":n[5]||=e=>A(f)?f.value=e:null,modelModifiers:{trim:!0},placeholder:I(d).trim()||t.$t(`views.settings.assistant_model_name_placeholder`),maxlength:`40`,fluid:``},null,8,[`modelValue`,`placeholder`])]),S(`div`,J,[S(`div`,Y,[S(`label`,qe,g(t.$t(`views.settings.assistant_model_users`)),1),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_model_users_info`)),1)]),_:1})]),E(h,{modelValue:I(ne),"onUpdate:modelValue":n[6]||=e=>A(ne)?ne.value=e:null,"input-id":`assistantModelUsers`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),e.entry?(_(),C(`div`,Je,[S(`div`,X,[S(`label`,Ye,g(t.$t(`views.settings.assistant_send_images`)),1),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(e.entry.capabilities?.vision===!1?t.$t(`views.settings.assistant_send_images_no_vision`):t.$t(`views.settings.assistant_send_images_info`)),1)]),_:1})]),E(h,{modelValue:I(p),"onUpdate:modelValue":n[7]||=e=>A(p)?p.value=e:null,"input-id":`assistantModelImages`,class:`ml-auto shrink-0`},null,8,[`modelValue`])])):P(``,!0)])}}}),Ze={class:`w-full h-full`},Qe={key:0,class:`w-full h-full flex items-center justify-center`},$e={key:1,class:`flex flex-col w-full gap-6`},et={class:`card-title`},tt={class:`flex items-center gap-4`},nt={class:`flex flex-col field-switch-gap min-w-0`},rt={class:`text-sm font-bold text-color`},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`flex items-center gap-4 cui-toggle-switch`},st={class:`flex flex-col field-switch-gap`},ct={for:`enabled`,class:`cui-label-switch`},lt={key:0,class:`flex flex-col divide-y divide-(--border-color)`},ut={class:`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1`},dt={class:`max-w-full basis-full truncate font-medium text-color md:basis-auto`},ft={class:`order-3 mt-1 flex flex-wrap items-center gap-1.5 md:order-2 md:mt-0`},pt={class:`order-2 basis-full truncate text-muted md:order-3`},mt={key:0,class:`order-4 basis-full text-xs text-danger line-clamp-2`},ht={class:`hidden shrink-0 items-center gap-1 md:flex`},gt={class:`shrink-0 md:hidden`},_t={key:1,class:`text-sm text-muted`},vt={class:`flex`},yt={class:`card-title`},bt={class:`flex flex-col gap-6`},xt={class:`flex min-w-0 items-center gap-2`},St=[`for`],Ct={key:1,class:`text-sm text-muted`},wt={class:`flex`},Tt={class:`card-title`},Et={class:`flex flex-col gap-6`},Dt={class:`flex items-center gap-4 cui-toggle-switch`},Ot={class:`flex flex-col field-switch-gap`},kt={for:`memoryEnabled`,class:`cui-label-switch`},At={class:`flex items-center gap-4 cui-toggle-switch`},jt={class:`flex flex-col field-switch-gap`},Mt={for:`terminalEnabled`,class:`cui-label-switch`},Nt={class:`flex flex-col field-gap`},Pt={for:`language`,class:`cui-label`},Ft={class:`flex flex-col field-gap`},It={for:`reasoning`,class:`cui-label`},Lt={class:`flex flex-col md:flex-row gap-6`},Rt={class:`flex flex-col field-gap flex-1`},zt={for:`maxIterations`,class:`cui-label`},Bt={class:`flex flex-col field-gap flex-1`},Vt={for:`maxToolCalls`,class:`cui-label`},Ht={class:`flex flex-col field-gap`},Ut={for:`contextTokens`,class:`cui-label`},Wt={class:`flex flex-col md:flex-row gap-4`},Gt={class:`flex flex-col field-gap flex-1`},Kt={for:`historyThreads`,class:`cui-label`},qt={class:`flex flex-col field-gap flex-1`},Jt={for:`historyImages`,class:`cui-label`},Yt={class:`flex flex-col field-gap`},Xt={for:`systemPromptExtra`,class:`cui-label`},Zt={class:`flex items-center gap-2`},Qt={class:`card-title`},$t={class:`flex flex-col gap-6`},en={class:`flex flex-col gap-4`},tn={class:`flex items-center justify-between gap-4`},nn={class:`flex flex-col`},rn={class:`text-sm font-medium text-color`},an={class:`text-xs text-muted`},on={class:`flex items-center justify-between gap-4`},sn={class:`flex flex-col`},cn={class:`text-sm font-medium text-color`},ln={class:`text-xs text-muted`},un={key:0,class:`flex flex-col gap-6`},dn={class:`flex flex-col field-gap`},fn={for:`mcpEndpoint`,class:`cui-label`},pn={class:`flex flex-col field-gap`},mn={for:`mcpClient`,class:`cui-label`},hn={class:`flex`},gn={class:`card-title`},_n={class:`flex flex-col gap-6`},vn=[`aria-expanded`,`onClick`],yn={class:`flex min-w-0 flex-1 flex-col gap-0.5`},bn={class:`truncate text-sm font-medium text-color`},xn=[`inert`],Sn={class:`flex flex-col gap-4 px-4 pb-4`},Cn={class:`flex items-center gap-4 cui-toggle-switch`},wn={class:`flex flex-col field-switch-gap`},Tn=[`for`],En={class:`flex flex-col md:flex-row gap-4`},Dn={class:`flex flex-col field-gap md:w-56`},On=[`for`],kn={class:`flex flex-col field-gap flex-1`},An=[`for`],jn={class:`flex flex-col field-gap`},Mn=[`for`],Nn={class:`flex items-center gap-4 cui-toggle-switch`},Pn={class:`flex flex-col field-switch-gap`},Fn=[`for`],In={class:`flex`},Ln={class:`flex items-center gap-2`},Rn={class:`card-title`},zn={class:`flex flex-col gap-6`},Bn={key:0,class:`flex flex-col divide-y divide-(--border-color)`},Vn={class:`max-w-full basis-full truncate font-medium text-color md:basis-auto`},Hn={class:`flex flex-wrap items-center gap-1.5`},Un={class:`basis-full text-muted line-clamp-2`},Wn={class:`basis-full text-xs text-muted`},Gn={key:0},Kn={key:1},qn={key:0,class:`basis-full text-xs text-danger line-clamp-2`},Jn={class:`shrink-0`},Yn={class:`hidden items-center gap-1 md:flex`},Xn={class:`md:hidden`},Zn={class:`flex flex-col md:flex-row gap-6`},Qn={class:`flex flex-col field-gap flex-1`},$n={for:`scheduleTitle`,class:`cui-label`},er={class:`flex flex-col field-gap w-full md:w-52 shrink-0`},tr={for:`scheduleDeliver`,class:`cui-label`},nr={class:`flex flex-col field-gap`},rr={for:`schedulePrompt`,class:`cui-label`},ir={key:0,class:`flex flex-col field-gap`},ar={for:`scheduleProfile`,class:`cui-label`},or={class:`flex flex-col md:flex-row gap-6`},sr={class:`flex flex-col field-gap flex-1`},cr={for:`schedulePreset`,class:`cui-label`},lr={key:0,class:`flex flex-col field-gap w-full md:w-40 shrink-0`},ur={for:`scheduleTime`,class:`cui-label`},dr={key:1,class:`flex flex-col field-gap flex-1`},fr={for:`scheduleCron`,class:`cui-label`},pr={class:`flex`},mr={class:`card-title`},hr={class:`flex flex-col gap-3`},gr={class:`text-sm text-muted`},_r={class:`truncate`},vr={class:`truncate`},yr={class:`card-title`},br={key:0,class:`text-sm text-muted`},xr={key:1,class:`flex flex-col gap-6`},Sr={key:0,class:`mb-4 flex flex-col field-gap`},Cr=[`for`],wr={class:`flex max-h-96 flex-col divide-y divide-(--border-color) overflow-y-auto pr-2`},Tr={class:`min-w-0 flex-1`},Er={class:`flex flex-wrap items-center gap-2`},Dr={class:`font-medium text-color`},Or={class:`text-muted`},kr={key:0,class:`flex`},Z=`none`,Ar=o(F({__name:`SettingsAssistant`,setup(o){let h={icon:p,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{severity:`danger`}},N={memoryEnabled:!0,terminalEnabled:!1,language:null,reasoning:`default`,maxIterations:8,maxToolCalls:25,contextTokens:48e3,historyThreads:50,historyImages:24},F={columnHeaderContent:{class:`justify-end`}},ue={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},z=new R,De=u(),Fe=s(),{t:B,locale:V}=n(),{data:Le,isLoading:ze}=z.usageAllQuery(),{data:H}=z.getAssistantInfoQuery(),U=z.patchAssistantInfoMutation(),{data:Ve}=z.listProfilesQuery(),{data:He}=z.listSchedulesQuery(),Ue=z.createScheduleMutation(),We=z.patchScheduleMutation(),Ge=z.deleteScheduleMutation(),W=z.runScheduleMutation(),G=w(null),K=w({title:``,prompt:``,preset:`daily`,time:`20:00`,cron:``,deliver:`push`,profileId:null}),q=w({}),Ke=w([]),J=w([]),Y=w(`claude-code`),qe=w(`core`),Je=v(`rowMenuRef`),X=M(()=>H.value?.settings.models??[]),Ye=M(()=>H.value?xe(H.value.settings):void 0),Ar=M(()=>[{label:B(`views.settings.assistant_plugin_no_access`),value:Z},...X.value.map(e=>({label:e.name,value:e._id}))]),jr=M(()=>{let e=new Map;for(let t of H.value?.tools??[]){let n=t.source.kind===`plugin`?t.source.pluginId:t.source.kind===`external`?t.source.serverId:`core`,r=t.source.kind===`plugin`?t.source.pluginName:t.source.kind===`external`?t.source.serverName:`camera.ui`,i=e.get(n)??{key:n,label:r,serverId:t.source.kind===`external`?t.source.serverId:void 0,tools:[]};i.tools.push(t),e.set(n,i)}return Array.from(e.values())}),Mr=M(()=>Le.value?.map(e=>({...e,key:`${e.userId}-${e.month}-${e.provider}-${e.model}`}))),Q=M(()=>H.value?.status),Nr=M(()=>{let e=new Intl.DisplayNames([V.value],{type:`language`}),t=L.map(t=>({label:e.of(t)??t,value:t})).sort((e,t)=>e.label.localeCompare(t.label,V.value));return[{label:B(`views.settings.assistant_language_auto`),value:null},...t]}),Pr=M(()=>[`default`,`off`,`low`,`high`].map(e=>({label:B(`views.settings.assistant_reasoning_${e}`),value:e}))),Fr=M(()=>new URL(`${ee.defaults.baseURL??`/api`}/assistant/mcp`.replace(/\/{2,}/g,`/`),window.location.origin).toString()),Ir=M(()=>[{label:`Claude Code`,value:`claude-code`},{label:`Cursor, Windsurf, VS Code`,value:`cursor`},{label:`Claude Desktop`,value:`claude-desktop`}]),Lr=M(()=>{let e=Fr.value;return Y.value===`claude-code`?`claude mcp add --transport http camera-ui ${e} --header "Authorization: Bearer <api token>"`:Y.value===`cursor`?JSON.stringify({mcpServers:{"camera-ui":{url:e,headers:{Authorization:`Bearer <api token>`}}}},null,2):JSON.stringify({mcpServers:{"camera-ui":{command:`npx`,args:[`-y`,`mcp-remote`,e,`--header`,`Authorization: Bearer <api token>`]}}},null,2)}),Rr=M(()=>[`push`,`thread`,`both`].map(e=>({label:B(`views.settings.assistant_schedule_deliver_${e}`),value:e}))),zr=M(()=>[`daily`,`weekdays`,`weekends`,`weekly`,`hourly`,`custom`].map(e=>({label:B(`views.settings.assistant_schedule_preset_${e}`),value:e}))),Br=M(()=>{let{preset:e,time:t,cron:n}=K.value,[r,i]=t.split(`:`).map(e=>Number.parseInt(e,10));return e===`custom`?n.trim():e===`hourly`?`0 * * * *`:Number.isNaN(r)||Number.isNaN(i)?``:`${i} ${r} * * ${e===`weekdays`?`1-5`:e===`weekends`?`0,6`:e===`weekly`?`0`:`*`}`}),Vr=M(()=>{switch(Q.value?.state){case`ready`:return`success`;case`unconfigured`:return`warn`;default:return`secondary`}}),Hr=M(()=>B(`views.settings.assistant_state_${Q.value?.state??`disabled`}`)),Ur=M(()=>Q.value?Q.value.state===`ready`?B(`views.settings.assistant_status_ready`,{model:Q.value.model}):B(`views.settings.assistant_status_info`):``);function Wr(e){let t=/^(\d+) (\d+) \* \* (\*|1-5|0,6|0)$/.exec(e);if(!t)return e;let n=`${t[2].padStart(2,`0`)}:${t[1].padStart(2,`0`)}`,r=t[3]===`*`?`daily`:t[3]===`1-5`?`weekdays`:t[3]===`0`?`weekly`:`weekends`;return`${B(`views.settings.assistant_schedule_preset_${r}`)} ${n}`}function Gr(e){return e===`push`?`info`:e===`thread`?`secondary`:`success`}function Kr(e){return new Date(e).toLocaleString(V.value,{day:`2-digit`,month:`2-digit`,hour:`2-digit`,minute:`2-digit`})}async function qr(){await Ue.mutateAsync({title:K.value.title,prompt:K.value.prompt,cron:Br.value,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:V.value,deliver:K.value.deliver,profileId:K.value.profileId,enabled:!0}),K.value={...K.value,title:``,prompt:``,cron:``,profileId:null}}function Jr(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function Yr(e){if(e.source.kind!==`external`)return e.approval;let{serverId:t,toolName:n}=e.source;return G.value?.mcpServers.find(e=>e.id===t)?.toolApproval[n]??e.approval}function Xr(e){return e.tools.flatMap(e=>e.source.kind===`external`?[{label:Se(e.name),value:e.source.toolName}]:[])}function Zr(e){return e.tools.flatMap(e=>e.source.kind===`external`&&!Yr(e)?[e.source.toolName]:[])}function Qr(e,t){let n=G.value?.mcpServers.find(t=>t.id===e.serverId);n&&(n.toolApproval=Object.fromEntries(Xr(e).map(e=>[e.value,!t.includes(e.value)])))}function $r(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(+(e<1e4))}k`:`${(e/1e6).toFixed(2)}M`}function ei(e){return H.value?.external.find(t=>t.id===e)}function ti(e){let t=ei(e);return t?t.state===`connected`?B(`views.settings.assistant_external_state_connected`,{n:t.toolCount}):t.state===`error`?B(`views.settings.assistant_external_state_error`,{message:t.error??``}):B(`views.settings.assistant_external_state_${t.state}`):``}function ni(e){let t=ei(e)?.state;return t===`connected`?`text-success`:t===`error`?`text-danger`:`text-muted`}function ri(){if(!G.value)return;let e=d();G.value.mcpServers.push({id:e,name:``,url:``,enabled:!0,insecure:!1,tokenSet:!1,toolApproval:{}}),J.value.push(e)}function ii(e){J.value=J.value.includes(e)?J.value.filter(t=>t!==e):[...J.value,e]}function ai(e){G.value&&(G.value.mcpServers=G.value.mcpServers.filter(t=>t.id!==e),J.value=J.value.filter(t=>t!==e),delete q.value[e])}function oi(){let e=f(G.value);return{language:e.language,maxIterations:e.maxIterations,maxToolCalls:e.maxToolCalls,contextTokens:e.contextTokens,historyThreads:e.historyThreads,historyImages:e.historyImages,terminalEnabled:e.terminalEnabled,reasoning:e.reasoning,systemPromptExtra:e.systemPromptExtra,mcpEnabled:e.mcpEnabled,mcpWrites:e.mcpWrites,memoryEnabled:e.memoryEnabled,plugins:e.plugins.map(({pluginId:e,modelId:t})=>({pluginId:e,modelId:t})),mcpServers:e.mcpServers.filter(e=>e.name.trim()||e.url.trim()).map(e=>({id:e.id,name:e.name.trim(),url:e.url.trim(),enabled:e.enabled,insecure:e.insecure,toolApproval:e.toolApproval,...q.value[e.id]?{token:q.value[e.id]}:{}}))}}function si(){G.value&&Object.assign(G.value,N)}async function ci(){G.value&&(await U.mutateAsync(oi()),q.value={})}function li(e){return Te.find(t=>t.value===e)?.label??e}async function ui(e){return U.mutateAsync({models:e})}function di(e,t){Ke.value=[{label:B(`views.settings.assistant_model_make_default`),icon:Be,hide:t._id===Ye.value?._id,disabled:U.isPending.value,onClick:()=>_i(t)},{label:B(`views.settings.assistant_model_edit`),icon:Oe,onClick:()=>mi(t)},{...h,label:B(`views.settings.assistant_model_delete`),onClick:()=>gi(t)}],Je.value?.toggleMenu(e)}function fi(e){We.mutate({scheduleId:e._id,patch:{enabled:!e.enabled}})}function pi(e,t){Ke.value=[{label:B(`views.settings.assistant_schedule_run`),icon:Re,onClick:()=>W.mutate(t._id)},t.enabled?{label:B(`views.settings.assistant_schedule_pause`),icon:Ne,onClick:()=>fi(t)}:{label:B(`views.settings.assistant_schedule_resume`),icon:Ee,onClick:()=>fi(t)},{...h,label:B(`views.settings.assistant_schedule_delete`),onClick:()=>Ge.mutate(t._id)}],Je.value?.toggleMenu(e)}function mi(e){let t=new Set(X.value.map(e=>e._id));Fe.openComponentDialog(Xe,{data:{title:B(e?`views.settings.assistant_model_edit`:`views.settings.assistant_model_add`),confirmText:B(`components.form.button.save`),awaitConfirm:!0,contentProps:{entry:e?O(e):void 0,models:O(X.value)}},onConfirm:async n=>{hi((await ui(e?X.value.map(t=>t._id===e._id?n:we(t)):[...X.value.map(we),n])).settings.models.find(n=>e?n._id===e._id:!t.has(n._id)))}})}function hi(e){let t=e?.capabilities;if(!t)return;let n=t.error?B(`views.settings.assistant_test_failed`,{message:t.error}):t.toolCalling?t.vision===!1?B(`views.settings.assistant_test_vision_missing`):``:B(`views.settings.assistant_test_tools_missing`);n&&De.add({severity:t.error?`error`:`warn`,detail:n,life:8e3})}function gi(e){Fe.openTextDialog({data:{title:B(`views.settings.assistant_model_delete`),contentText:B(`views.settings.assistant_model_delete_confirm`,{name:e.name}),confirmText:B(`views.settings.assistant_model_delete`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{await ui(X.value.filter(t=>t._id!==e._id).map(we))}})}async function _i(e){await U.mutateAsync({defaultModelId:e._id})}function vi(e){return G.value?.plugins.find(t=>t.pluginId===e)?.modelId??Z}function yi(e){return X.value.find(t=>t._id===vi(e))}function bi(e,t){if(!G.value)return;let n=G.value.plugins.filter(t=>t.pluginId!==e);G.value.plugins=t===Z?n:[...n,{pluginId:e,modelId:t}]}function xi(e){return X.value.find(t=>t.provider===e.provider&&t.model===e.model)?.name??e.model}function Si(e){return Ve.value?.find(t=>t._id===e)?.name}return b(H,e=>{e&&!G.value&&(G.value=f(e.settings))},{immediate:!0}),(n,o)=>{let ee=a,s=re,u=pe,d=r,f=ge,h=Be,v=e,b=Oe,w=p,O=Pe,M=Ae,N=ce,L=ve,R=me,xe=je,z=i,we=te,Te=le,De=ye,Fe=ne(`RouterLink`),B=be,V=_e,Le=Re,We=Ne,Xe=Ee,Z=ie,Q=Me,ei=fe,oi=oe,ui=he,hi=Ie,Ci=de,wi=ae,Ti=se,$=t;return _(),C(`div`,Ze,[I(G)?(_(),C(`div`,$e,[S(`div`,null,[S(`span`,et,g(n.$t(`views.settings.status`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,tt,[S(`div`,nt,[S(`span`,rt,g(n.$t(`views.settings.assistant_title`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:m(()=>[D(g(I(Ur)),1)]),_:1})]),E(u,{class:`ml-auto shrink-0`,severity:I(Vr),value:I(Hr)},null,8,[`severity`,`value`])])]),_:1})]),S(`div`,null,[S(`span`,it,g(n.$t(`views.settings.assistant_model`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,at,[S(`div`,ot,[S(`div`,st,[S(`label`,ct,g(n.$t(`components.form.label.enabled`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_enabled_info`)),1)]),_:1})]),E(f,{"model-value":I(H)?.settings.enabled??!1,"input-id":`enabled`,disabled:I(U).isPending.value,class:`ml-auto shrink-0`,"onUpdate:modelValue":o[0]||=e=>I(U).mutate({enabled:e})},null,8,[`model-value`,`disabled`])]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_models_info`)),1)]),_:1}),I(X).length?(_(),C(`div`,lt,[(_(!0),C(j,null,y(I(X),e=>(_(),C(`div`,{key:e._id,class:`flex items-start gap-3 py-3 text-sm`},[S(`div`,ut,[S(`span`,dt,g(e.name),1),S(`div`,ft,[e._id===I(Ye)?._id?(_(),k(u,{key:0,severity:`info`,value:n.$t(`views.settings.assistant_model_default`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),e.userAccess===!1?(_(),k(u,{key:1,severity:`secondary`,value:n.$t(`views.settings.assistant_model_admins_only`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),(_(!0),C(j,null,y(I(Ce)(e),e=>(_(),k(u,{key:e.key,severity:e.severity,value:n.$t(`views.settings.assistant_capability_${e.key}`),class:`text-[10px]`},null,8,[`severity`,`value`]))),128))]),S(`div`,pt,g(li(e.provider))+` · `+g(e.model),1),e.capabilities?.error?(_(),C(`div`,mt,g(e.capabilities.error),1)):P(``,!0)]),S(`div`,ht,[e._id===I(Ye)?._id?P(``,!0):T((_(),k(v,{key:0,type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:I(U).isPending.value,onClick:t=>_i(e)},{icon:m(()=>[E(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`])),[[$,{value:n.$t(`views.settings.assistant_model_make_default`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>mi(e)},{icon:m(()=>[E(b,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:n.$t(`views.settings.assistant_model_edit`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>gi(e)},{icon:m(()=>[E(w,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:n.$t(`views.settings.assistant_model_delete`)},void 0,{top:!0}]])]),S(`div`,gt,[E(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>di(t,e)},{icon:m(()=>[E(O,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])]))),128))])):(_(),C(`div`,_t,g(n.$t(`views.settings.assistant_models_empty`)),1)),S(`div`,vt,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium ml-auto`,label:n.$t(`views.settings.assistant_model_add`),disabled:I(X).length>=20,onClick:o[1]||=e=>mi()},{icon:m(()=>[E(M,{class:`w-4 h-4`})]),_:1},8,[`label`,`disabled`])])])]),_:1})]),S(`div`,null,[S(`span`,yt,g(n.$t(`views.settings.assistant_plugins`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,bt,[E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_plugins_info`)),1)]),_:1}),I(H)?.plugins.length?(_(!0),C(j,{key:0},y(I(H).plugins,e=>(_(),C(`div`,{key:e.id,class:`flex flex-col field-gap`},[S(`div`,xt,[S(`label`,{for:`plugin-${e.id}`,class:`cui-label truncate`},g(e.name),9,St),yi(e.id)?.capabilities?.vision===!1?(_(),k(u,{key:0,severity:`warn`,value:n.$t(`views.settings.assistant_capability_no_vision`),class:`shrink-0 text-[10px]`},null,8,[`value`])):P(``,!0)]),E(N,{"model-value":vi(e.id),"input-id":`plugin-${e.id}`,options:I(Ar),"option-label":`label`,"option-value":`value`,fluid:``,"onUpdate:modelValue":t=>bi(e.id,t)},null,8,[`model-value`,`input-id`,`options`,`onUpdate:modelValue`])]))),128)):(_(),C(`div`,Ct,g(n.$t(`views.settings.assistant_plugins_empty`)),1)),S(`div`,wt,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Tt,g(n.$t(`views.settings.assistant_behavior`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,Et,[S(`div`,Dt,[S(`div`,Ot,[S(`label`,kt,g(n.$t(`views.settings.assistant_memory`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_memory_info`)),1)]),_:1})]),E(f,{modelValue:I(G).memoryEnabled,"onUpdate:modelValue":o[2]||=e=>I(G).memoryEnabled=e,"input-id":`memoryEnabled`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),S(`div`,At,[S(`div`,jt,[S(`label`,Mt,g(n.$t(`views.settings.assistant_terminal`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_terminal_info`)),1)]),_:1})]),E(f,{modelValue:I(G).terminalEnabled,"onUpdate:modelValue":o[3]||=e=>I(G).terminalEnabled=e,"input-id":`terminalEnabled`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),S(`div`,Nt,[S(`label`,Pt,g(n.$t(`views.settings.assistant_language_label`)),1),E(N,{modelValue:I(G).language,"onUpdate:modelValue":o[4]||=e=>I(G).language=e,"input-id":`language`,options:I(Nr),"option-label":`label`,"option-value":`value`,filter:``,fluid:``},null,8,[`modelValue`,`options`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_language_info`)),1)]),_:1})]),S(`div`,Ft,[S(`label`,It,g(n.$t(`views.settings.assistant_reasoning_label`)),1),E(N,{modelValue:I(G).reasoning,"onUpdate:modelValue":o[5]||=e=>I(G).reasoning=e,"input-id":`reasoning`,options:I(Pr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_reasoning_info`)),1)]),_:1})]),S(`div`,Lt,[S(`div`,Rt,[S(`label`,zt,g(n.$t(`views.settings.assistant_max_iterations_label`)),1),E(L,{modelValue:I(G).maxIterations,"onUpdate:modelValue":o[6]||=e=>I(G).maxIterations=e,min:1,max:30,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_max_iterations_info`)),1)]),_:1})]),S(`div`,Bt,[S(`label`,Vt,g(n.$t(`views.settings.assistant_max_tool_calls_label`)),1),E(L,{modelValue:I(G).maxToolCalls,"onUpdate:modelValue":o[7]||=e=>I(G).maxToolCalls=e,min:1,max:100,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_max_tool_calls_info`)),1)]),_:1})])]),S(`div`,Ht,[S(`label`,Ut,g(n.$t(`views.settings.assistant_context_tokens_label`)),1),E(L,{id:`contextTokens`,modelValue:I(G).contextTokens,"onUpdate:modelValue":o[8]||=e=>I(G).contextTokens=e,min:8e3,max:4e5,step:1e3,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_context_tokens_info`)),1)]),_:1})]),S(`div`,Wt,[S(`div`,Gt,[S(`label`,Kt,g(n.$t(`views.settings.assistant_history_threads_label`)),1),E(L,{id:`historyThreads`,modelValue:I(G).historyThreads,"onUpdate:modelValue":o[9]||=e=>I(G).historyThreads=e,min:5,max:500,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_history_threads_info`)),1)]),_:1})]),S(`div`,qt,[S(`label`,Jt,g(n.$t(`views.settings.assistant_history_images_label`)),1),E(L,{id:`historyImages`,modelValue:I(G).historyImages,"onUpdate:modelValue":o[10]||=e=>I(G).historyImages=e,min:0,max:200,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_history_images_info`)),1)]),_:1})])]),S(`div`,Yt,[S(`label`,Xt,g(n.$t(`views.settings.assistant_extra_prompt_label`)),1),E(R,{modelValue:I(G).systemPromptExtra,"onUpdate:modelValue":o[11]||=e=>I(G).systemPromptExtra=e,rows:`3`,"auto-resize":``,placeholder:n.$t(`views.settings.assistant_extra_prompt_placeholder`)},null,8,[`modelValue`,`placeholder`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_extra_prompt_info`)),1)]),_:1})]),S(`div`,Zt,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.reset_defaults`),onClick:si},{icon:m(()=>[E(xe,{class:`w-4 h-4`})]),_:1},8,[`label`]),E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium`,label:n.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Qt,g(n.$t(`views.settings.assistant_mcp`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,$t,[E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_mcp_info`)),1)]),_:1}),S(`div`,en,[S(`div`,tn,[S(`div`,nn,[S(`span`,rn,g(n.$t(`views.settings.assistant_mcp_enabled_label`)),1),S(`span`,an,g(n.$t(`views.settings.assistant_mcp_enabled_info`)),1)]),E(f,{modelValue:I(G).mcpEnabled,"onUpdate:modelValue":o[12]||=e=>I(G).mcpEnabled=e},null,8,[`modelValue`])]),S(`div`,on,[S(`div`,sn,[S(`span`,cn,g(n.$t(`views.settings.assistant_mcp_writes_label`)),1),S(`span`,ln,g(n.$t(`views.settings.assistant_mcp_writes_info`)),1)]),E(f,{modelValue:I(G).mcpWrites,"onUpdate:modelValue":o[13]||=e=>I(G).mcpWrites=e,disabled:!I(G).mcpEnabled},null,8,[`modelValue`,`disabled`])])]),I(G).mcpEnabled?(_(),C(`div`,un,[S(`div`,dn,[S(`label`,fn,g(n.$t(`views.settings.assistant_mcp_endpoint_label`)),1),E(De,null,{default:m(()=>[E(z,{id:`mcpEndpoint`,"model-value":I(Fr),readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(Te,null,{default:m(()=>[E(we,{"action-text":n.$t(`components.form.tooltip.copied`),icon:I(ke),"button-props":{severity:`secondary`,text:!0},onAction:o[14]||=e=>I(l)(I(Fr))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_mcp_token_info`))+` `,1),E(Fe,{to:{name:`SettingsAccount`},class:`underline`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_mcp_token_link`)),1)]),_:1})]),_:1})]),S(`div`,pn,[S(`label`,mn,g(n.$t(`views.settings.assistant_mcp_client_label`)),1),E(N,{modelValue:I(Y),"onUpdate:modelValue":o[15]||=e=>A(Y)?Y.value=e:null,"input-id":`mcpClient`,options:I(Ir),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`]),E(De,null,{default:m(()=>[E(R,{id:`mcpSnippet`,"model-value":I(Lr),readonly:``,"auto-resize":``,rows:`3`,class:`font-mono text-xs`},null,8,[`model-value`]),E(Te,null,{default:m(()=>[E(we,{"action-text":n.$t(`components.form.tooltip.copied`),icon:I(ke),"button-props":{severity:`secondary`,text:!0},onAction:o[16]||=e=>I(l)(I(Lr))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_mcp_snippet_info`)),1)]),_:1})])])):P(``,!0),S(`div`,hn,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,gn,g(n.$t(`views.settings.assistant_external`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,_n,[E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_external_info`)),1)]),_:1}),(_(!0),C(j,null,y(I(G).mcpServers,e=>(_(),C(`div`,{key:e.id,class:`cui-assistant-server overflow-hidden rounded-xl`},[S(`button`,{type:`button`,class:`flex w-full cursor-pointer items-center gap-3 p-4 text-left`,"aria-expanded":I(J).includes(e.id),onClick:t=>ii(e.id)},[S(`div`,yn,[S(`span`,bn,g(e.name||n.$t(`views.settings.assistant_external_new`)),1),ti(e.id)?(_(),C(`span`,{key:0,class:x([`truncate text-xs`,ni(e.id)])},g(ti(e.id)),3)):P(``,!0)]),E(B,{class:x([`h-5 w-5 shrink-0 text-muted transition-transform duration-200`,{"rotate-180":I(J).includes(e.id)}])},null,8,[`class`])],8,vn),S(`div`,{class:x([`cui-assistant-server-body grid`,{"cui-assistant-server-open":I(J).includes(e.id)}])},[S(`div`,{class:`min-h-0 overflow-hidden`,inert:!I(J).includes(e.id)},[S(`div`,Sn,[S(`div`,Cn,[S(`div`,wn,[S(`label`,{for:`server-enabled-${e.id}`,class:`cui-label-switch`},g(n.$t(`components.form.label.enabled`)),9,Tn),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_external_enabled_info`)),1)]),_:1})]),E(f,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,"input-id":`server-enabled-${e.id}`,class:`ml-auto shrink-0`},null,8,[`modelValue`,`onUpdate:modelValue`,`input-id`])]),S(`div`,En,[S(`div`,Dn,[S(`label`,{for:`server-name-${e.id}`,class:`cui-label`},g(n.$t(`views.settings.assistant_external_name`)),9,On),E(z,{id:`server-name-${e.id}`,modelValue:e.name,"onUpdate:modelValue":t=>e.name=t,fluid:``,placeholder:`Home Assistant`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]),S(`div`,kn,[S(`label`,{for:`server-url-${e.id}`,class:`cui-label`},g(n.$t(`views.settings.assistant_external_url`)),9,An),E(z,{id:`server-url-${e.id}`,modelValue:e.url,"onUpdate:modelValue":t=>e.url=t,fluid:``,placeholder:`http://homeassistant.local:8123/api/mcp`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])])]),S(`div`,jn,[S(`label`,{for:`server-token-${e.id}`,class:`cui-label`},g(n.$t(`views.settings.assistant_external_token`)),9,Mn),E(V,{id:`server-token-${e.id}`,modelValue:I(q)[e.id],"onUpdate:modelValue":t=>I(q)[e.id]=t,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,placeholder:e.tokenSet?`••••••••`:``},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`placeholder`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(e.tokenSet?n.$t(`views.settings.assistant_external_token_set`):n.$t(`views.settings.assistant_external_token_info`)),1)]),_:2},1024)]),S(`div`,Nn,[S(`div`,Pn,[S(`label`,{for:`server-insecure-${e.id}`,class:`cui-label-switch`},g(n.$t(`views.settings.assistant_external_insecure`)),9,Fn),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_external_insecure_info`)),1)]),_:1})]),E(f,{"input-id":`server-insecure-${e.id}`,modelValue:e.insecure,"onUpdate:modelValue":t=>e.insecure=t,class:`ml-auto shrink-0`},null,8,[`input-id`,`modelValue`,`onUpdate:modelValue`])]),S(`div`,In,[E(v,{type:`button`,severity:`danger`,outlined:``,class:`cui-button-medium ml-auto`,label:n.$t(`views.settings.assistant_external_remove`),onClick:t=>ai(e.id)},{icon:m(()=>[E(w,{class:`w-4 h-4`})]),_:1},8,[`label`,`onClick`])])])],8,xn)],2)]))),128)),S(`div`,Ln,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium`,label:n.$t(`views.settings.assistant_external_add`),disabled:I(G).mcpServers.length>=10,onClick:ri},{icon:m(()=>[E(M,{class:`w-4 h-4`})]),_:1},8,[`label`,`disabled`]),E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Rn,g(n.$t(`views.settings.assistant_schedules`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,zn,[E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_schedules_info`)),1)]),_:1}),I(He)?.length?(_(),C(`div`,Bn,[(_(!0),C(j,null,y(I(He),e=>(_(),C(`div`,{key:e._id,class:`flex items-start gap-3 py-3 text-sm`},[S(`div`,{class:x([`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1`,{"opacity-60":!e.enabled}])},[S(`span`,Vn,g(e.title),1),S(`div`,Hn,[E(u,{severity:`secondary`,value:Wr(e.cron),class:`text-[10px]`},null,8,[`value`]),E(u,{severity:Gr(e.deliver),value:n.$t(`views.settings.assistant_schedule_deliver_${e.deliver}`),class:`text-[10px]`},null,8,[`severity`,`value`]),e.profileId?(_(),k(u,{key:0,severity:Si(e.profileId)?`secondary`:`warn`,value:Si(e.profileId)??n.$t(`views.settings.assistant_schedule_profile_missing`),class:`text-[10px]`},null,8,[`severity`,`value`])):P(``,!0)]),S(`div`,Un,g(e.prompt),1),S(`div`,Wn,[e.enabled&&e.nextRun?(_(),C(`span`,Gn,g(n.$t(`views.settings.assistant_schedule_next`,{time:Kr(e.nextRun)})),1)):e.enabled?P(``,!0):(_(),C(`span`,Kn,g(n.$t(`views.settings.assistant_schedule_paused`)),1)),e.lastRun?(_(),C(`span`,{key:2,class:x({"text-danger":e.lastRun.status===`error`})},` · `+g(n.$t(`views.settings.assistant_schedule_last_${e.lastRun.status}`,{time:Kr(e.lastRun.at)})),3)):P(``,!0)]),e.lastRun?.status===`error`&&e.lastRun.message?(_(),C(`div`,qn,g(e.lastRun.message),1)):P(``,!0)],2),S(`div`,Jn,[S(`div`,Yn,[T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,loading:I(W).isPending.value&&I(W).variables.value===e._id,onClick:t=>I(W).mutate(e._id)},{icon:m(()=>[E(Le,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[$,{value:n.$t(`views.settings.assistant_schedule_run`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>fi(e)},{icon:m(()=>[e.enabled?(_(),k(We,{key:0,width:`100%`,height:`100%`})):(_(),k(Xe,{key:1,width:`100%`,height:`100%`}))]),_:2},1032,[`onClick`])),[[$,{value:e.enabled?n.$t(`views.settings.assistant_schedule_pause`):n.$t(`views.settings.assistant_schedule_resume`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>I(Ge).mutate(e._id)},{icon:m(()=>[E(w,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:n.$t(`views.settings.assistant_schedule_delete`)},void 0,{top:!0}]])]),S(`div`,Xn,[E(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,loading:I(W).isPending.value&&I(W).variables.value===e._id,onClick:t=>pi(t,e)},{icon:m(()=>[E(O,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])])])]))),128))])):P(``,!0),S(`div`,{class:x([`flex flex-col gap-6`,{"cui-assistant-schedule-form":I(He)?.length}])},[S(`div`,Zn,[S(`div`,Qn,[S(`label`,$n,g(n.$t(`views.settings.assistant_schedule_title_label`)),1),E(z,{modelValue:I(K).title,"onUpdate:modelValue":o[17]||=e=>I(K).title=e,modelModifiers:{trim:!0},type:`text`,placeholder:n.$t(`views.settings.assistant_schedule_title_placeholder`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),S(`div`,er,[S(`label`,tr,g(n.$t(`views.settings.assistant_schedule_deliver_label`)),1),E(N,{modelValue:I(K).deliver,"onUpdate:modelValue":o[18]||=e=>I(K).deliver=e,options:I(Rr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])])]),S(`div`,nr,[S(`label`,rr,g(n.$t(`views.settings.assistant_schedule_prompt_label`)),1),E(R,{modelValue:I(K).prompt,"onUpdate:modelValue":o[19]||=e=>I(K).prompt=e,rows:`2`,"auto-resize":``,placeholder:n.$t(`views.settings.assistant_schedule_prompt_placeholder`)},null,8,[`modelValue`,`placeholder`])]),I(Ve)?.length?(_(),C(`div`,ir,[S(`label`,ar,g(n.$t(`views.settings.assistant_schedule_profile_label`)),1),E(N,{modelValue:I(K).profileId,"onUpdate:modelValue":o[20]||=e=>I(K).profileId=e,"input-id":`scheduleProfile`,options:I(Ve),"option-label":`name`,"option-value":`_id`,"show-clear":``,fluid:``,placeholder:n.$t(`views.settings.assistant_schedule_profile_none`)},null,8,[`modelValue`,`options`,`placeholder`])])):P(``,!0),S(`div`,or,[S(`div`,sr,[S(`label`,cr,g(n.$t(`views.settings.assistant_schedule_when_label`)),1),E(N,{modelValue:I(K).preset,"onUpdate:modelValue":o[21]||=e=>I(K).preset=e,options:I(zr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])]),I(K).preset!==`hourly`&&I(K).preset!==`custom`?(_(),C(`div`,lr,[S(`label`,ur,g(n.$t(`views.settings.assistant_schedule_time_label`)),1),E(z,{modelValue:I(K).time,"onUpdate:modelValue":o[22]||=e=>I(K).time=e,type:`time`,class:`cui-time-input w-full`},null,8,[`modelValue`])])):P(``,!0),I(K).preset===`custom`?(_(),C(`div`,dr,[S(`label`,fr,g(n.$t(`views.settings.assistant_schedule_cron_label`)),1),E(z,{modelValue:I(K).cron,"onUpdate:modelValue":o[23]||=e=>I(K).cron=e,modelModifiers:{trim:!0},type:`text`,placeholder:`0 20 * * *`,class:`w-full font-mono text-sm`},null,8,[`modelValue`])])):P(``,!0)]),S(`div`,pr,[E(v,{type:`button`,loading:I(Ue).isPending.value,disabled:!I(K).title||!I(K).prompt||!I(Br),class:`cui-button-medium ml-auto`,label:n.$t(`views.settings.assistant_schedule_add`),onClick:qr},null,8,[`loading`,`disabled`,`label`])])],2)])]),_:1})]),S(`div`,null,[S(`span`,mr,g(n.$t(`views.settings.assistant_usage`)),1),E(d,{class:`cui-card`},{content:m(()=>[S(`div`,hr,[E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_usage_info`)),1)]),_:1}),E(Q,{value:I(Mr)??[],"data-key":`key`,loading:I(ze),pt:ue,"striped-rows":``,scrollable:``},{loading:m(()=>[E(ee,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[S(`span`,gr,g(n.$t(`views.settings.assistant_usage_empty`)),1)]),default:m(()=>[E(Z,{field:`month`,header:n.$t(`views.settings.assistant_usage_month`),"header-class":`p-2`,class:`p-2 tabular-nums`},null,8,[`header`]),E(Z,{field:`username`,header:n.$t(`views.settings.assistant_usage_user`),"header-class":`p-2`,class:`p-2`},{body:m(({data:e})=>[S(`span`,_r,g(e.pluginName??e.username??e.userId),1)]),_:1},8,[`header`]),E(Z,{field:`model`,header:n.$t(`views.settings.assistant_usage_model`),"header-class":`p-2`,class:`p-2`},{body:m(({data:e})=>[S(`span`,vr,g(xi(e)),1)]),_:1},8,[`header`]),E(Z,{field:`runs`,header:n.$t(`views.settings.assistant_usage_runs`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},null,8,[`header`]),E(Z,{field:`promptTokens`,header:n.$t(`views.settings.assistant_usage_in`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g($r(e.promptTokens)),1)]),_:1},8,[`header`]),E(Z,{field:`completionTokens`,header:n.$t(`views.settings.assistant_usage_out`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g($r(e.completionTokens)),1)]),_:1},8,[`header`]),E(Z,{field:`costUsd`,header:n.$t(`views.settings.assistant_usage_cost`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g(e.costUsd?`$${e.costUsd.toFixed(e.costUsd<1?3:2)}`:`–`),1)]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])])]),_:1})]),S(`div`,null,[S(`span`,yr,g(n.$t(`views.settings.assistant_tools`)),1),E(d,{class:`cui-card`},{content:m(()=>[I(jr).length?(_(),C(`div`,xr,[E(Ti,{value:I(qe),"onUpdate:value":o[24]||=e=>A(qe)?qe.value=e:null,scrollable:``},{default:m(()=>[E(oi,{class:`mb-3`},{default:m(()=>[(_(!0),C(j,null,y(I(jr),e=>(_(),k(ei,{key:e.key,value:e.key,class:`text-sm`},{default:m(()=>[D(g(e.label)+` (`+g(e.tools.length)+`)`,1)]),_:2},1032,[`value`]))),128))]),_:1}),E(wi,{class:`!p-0 !bg-transparent`},{default:m(()=>[(_(!0),C(j,null,y(I(jr),e=>(_(),k(Ci,{key:e.key,value:e.key},{default:m(()=>[e.serverId?(_(),C(`div`,Sr,[S(`label`,{for:`trusted-${e.key}`,class:`cui-label`},g(n.$t(`views.settings.assistant_tools_trusted_label`)),9,Cr),E(ui,{"model-value":Zr(e),"input-id":`trusted-${e.key}`,options:Xr(e),"option-label":`label`,"option-value":`value`,"max-selected-labels":3,"selected-items-label":n.$t(`views.settings.assistant_tools_trusted_selected`,{n:Zr(e).length}),placeholder:n.$t(`views.settings.assistant_tools_trusted_none`),filter:``,fluid:``,"onUpdate:modelValue":t=>Qr(e,t)},null,8,[`model-value`,`input-id`,`options`,`selected-items-label`,`placeholder`,`onUpdate:modelValue`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(n.$t(`views.settings.assistant_tools_trusted_info`)),1)]),_:1})])):P(``,!0),S(`div`,wr,[(_(!0),C(j,null,y(e.tools,e=>(_(),C(`div`,{key:e.name,class:`flex items-start gap-3 py-2 text-sm`},[E(hi,{class:`w-4 h-4 mt-0.5 shrink-0 text-muted`}),S(`div`,Tr,[S(`div`,Er,[S(`span`,Dr,g(I(Se)(e.name)),1),Yr(e)?(_(),k(u,{key:0,severity:`warn`,value:n.$t(`views.settings.assistant_tool_approval`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),e.adminOnly?(_(),k(u,{key:1,severity:`info`,value:n.$t(`views.settings.assistant_tool_admin`),class:`text-[10px]`},null,8,[`value`])):P(``,!0)]),S(`div`,Or,g(Jr(e.description)),1)])]))),128))])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`value`]),I(jr).some(e=>e.serverId)?(_(),C(`div`,kr,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])):P(``,!0)])):(_(),C(`div`,br,g(n.$t(`views.settings.assistant_tools_empty`)),1))]),_:1})])])):(_(),C(`div`,Qe,[E(ee,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])),E(c,{ref_key:`rowMenuRef`,ref:Je,items:I(Ke),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-69f75eeb`]]);export{Ar as default};
|