@camera.ui/server 2.2.6 → 2.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/assets/{404-BLVuKvLk.js → 404-C8EoOtBl.js} +1 -1
- package/dist/interface/assets/{About-C-AJ0jfI.js → About-Q7ZmOGgl.js} +1 -1
- package/dist/interface/assets/Assistant-DFLgklVe.js +1 -0
- package/dist/interface/assets/{Automation-C95DzuZb.js → Automation-D__qvx8c.js} +3 -3
- package/dist/interface/assets/{AutomationImport-C8VYjDzf.js → AutomationImport-CLQSdqg9.js} +2 -2
- package/dist/interface/assets/{AutomationStore-CE4PKRGd.js → AutomationStore-Dt6yTQDb.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-DavWfjLv.js → AutomationStoreDetail-DqBrBhUI.js} +2 -2
- package/dist/interface/assets/Automations-BH_7lYR7.js +2 -0
- package/dist/interface/assets/Camera-aquPHFwb.js +2 -0
- package/dist/interface/assets/{CameraConsole-C4AmtcrM.js → CameraConsole-rhle_cfW.js} +1 -1
- package/dist/interface/assets/{Cameras-DR577Bno.js → Cameras-Bzy3P0xN.js} +2 -2
- package/dist/interface/assets/Camview-CjcQbtTl.js +1 -0
- package/dist/interface/assets/{CertificateUpload-BYFKZCP9.js → CertificateUpload-CWVu_52v.js} +1 -1
- package/dist/interface/assets/Config-Dc1zKIPq.js +2 -0
- package/dist/interface/assets/{ConfigActionAssistant-YtCVI8LZ.js → ConfigActionAssistant-AfQfSqHZ.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-Dg_1zOYt.js → ConfigActionCameraControl-BKQdHxqe.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-_EqbfWgo.js → ConfigActionDelay-B52HeJGb.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-BzwLv2tn.js → ConfigActionHttp-BP5gvpQc.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-CLdY2sV4.js → ConfigActionImageInput-DE2mSost.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-lGqYshl3.js → ConfigActionMqtt-CYgnZjAE.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-D5Dj3EoU.js → ConfigActionNotification-C3q53I4n.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-Dy5fKamr.js → ConfigActionNotificationControl-eDJ8r5ao.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-DzsQ31L0.js → ConfigActionOutput-DgYSYvy-.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-BFrBcXvL.js → ConfigActionPlugin-utolgAXk.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-CX8ePlan.js → ConfigActionSensor-CmEKQPqs.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-BATLRmh6.js → ConfigActionSnapshot-D7XucxVV.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Dgn5jvaR.js → ConfigActionVariable-C-Mjm3gr.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-D5IIBjyk.js → ConfigConditionIfElse-B24Rqb8y.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-C0JxBWdG.js → ConfigConditionSensorState-42-yFDmK.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-Brlgd0XP.js → ConfigConditionSwitch-DezH_nwm.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-CM4bSMyU.js → ConfigConditionTime-Cg2Lwznd.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-CtuH8dCa.js → ConfigSensorValueInput-YHBDCTZm.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-DsL7lLQl.js → ConfigTriggerDetection-DxEpodjG.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CAGIk1_W.js → ConfigTriggerGeofence-Bye8syxc.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-DgkR-GWy.js → ConfigTriggerManual-s_lEDTV9.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-B_iFalAQ.js → ConfigTriggerMqtt-DqdZj7TU.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-E_QWfNKy.js → ConfigTriggerSchedule-Q559hn6g.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-hYNbLXUu.js → ConfigTriggerSensor-DIKkdbTF.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-DR1EFpE9.js → ConfigTriggerSystem-CwNZ4xEg.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-C-B5GGFH.js → ConfigTriggerWebhook-9ZC6X4mK.js} +1 -1
- package/dist/interface/assets/Console-BqIDZ5vq.js +1 -0
- package/dist/interface/assets/{CuiAssistantConversation-BmshW6Vc.css → CuiAssistantConversation-BmBhwrNh.css} +1 -1
- package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +5 -0
- package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-C2sM2E3M.js → CuiBottomSheet-D75L0Zny.js} +1 -1
- package/dist/interface/assets/{CuiCameraPipCard-wdK7xir-.js → CuiCameraPipCard-eiJjYZ5W.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-B6jdUBVm.js → CuiCameraShares-8mtgFsQ_.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-CpBo25Qc.js → CuiCameraTable-CmCT-XQF.js} +2 -2
- package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +1 -0
- package/dist/interface/assets/CuiChartTable-DCr_AsSw.css +1 -0
- package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +1 -0
- package/dist/interface/assets/{CuiConsole-BGptpT6r.js → CuiConsole-DYV-FUE0.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-CQmp5mAy.js → CuiDataTable-C0gsYYpg.js} +1 -1
- package/dist/interface/assets/{CuiLightControl-wbZi3fA1.js → CuiLightControl-CFIwBj3C.js} +1 -1
- package/dist/interface/assets/{CuiList-Dsu5m0TA.js → CuiList-9TVV8SB6.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-BjIc7It9.js → CuiPluginCard-DEfqwUhQ.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-BtJ_6_gN.js → CuiPluginCategoryChip-DhnIBJHa.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-Duf35I8K.js → CuiPluginOAuthButton-DAuzNRAA.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-jxXeRTH2.js → CuiPluginTrustBadge-Bz710WwC.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-BNchrpoB.js → CuiQRCode-B8-4GHSY.js} +1 -1
- package/dist/interface/assets/{CuiSchema-DGTMkVSe.js → CuiSchema-C_CHuKuf.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-CHtLvn53.js → CuiTopNavbarItem-CNEnOPSh.js} +1 -1
- package/dist/interface/assets/Faces-DRHMrrxh.js +1 -0
- package/dist/interface/assets/{FirstSteps-HzaBMDbH.js → FirstSteps-Ci2Iqbe2.js} +1 -1
- package/dist/interface/assets/Floorplan-CqWIbDbh.js +1 -0
- package/dist/interface/assets/{Instances-Dl-6rL5O.js → Instances-gzKFKB1l.js} +1 -1
- package/dist/interface/assets/{Logs-DsJkuQFq.js → Logs-DL1yw_Pe.js} +2 -2
- package/dist/interface/assets/{Menu-D_woMkjL.js → Menu-C0GQ63aj.js} +1 -1
- package/dist/interface/assets/Metrics-BYnnb7M0.js +12 -0
- package/dist/interface/assets/Metrics-DsHBab6t.css +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-CXfILAE1.js → OAuthDeviceFlow-Zd6r9IHU.js} +1 -1
- package/dist/interface/assets/Plugin-DJIrYUnZ.js +1 -0
- package/dist/interface/assets/{PluginConsole-C96m5zKy.js → PluginConsole-ag0jPZQ_.js} +1 -1
- package/dist/interface/assets/{PluginDetail-CnfaI1vh.js → PluginDetail-DmElwUuV.js} +2 -2
- package/dist/interface/assets/{PluginSchema-u1bqXU29.js → PluginSchema-CxUujnVs.js} +1 -1
- package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +1 -0
- package/dist/interface/assets/PluginSearch-BqzngVRL.js +2 -0
- package/dist/interface/assets/{PluginUpdateProgress-BT4lN9HT.js → PluginUpdateProgress-CFut0RAe.js} +1 -1
- package/dist/interface/assets/Plugins-ZFcB_j6v.js +1 -0
- package/dist/interface/assets/{RecentEventsFilter-Kp_lTOuG.js → RecentEventsFilter-CqeHhECT.js} +1 -1
- package/dist/interface/assets/Recordings-BJrtW9eG.js +1 -0
- package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +1 -0
- package/dist/interface/assets/{SensorHistory-Cet35_RO.js → SensorHistory-q0UR3qMG.js} +1 -1
- package/dist/interface/assets/Sensors-C_InhcHA.js +2 -0
- package/dist/interface/assets/{Settings-C-LCDIbK.js → Settings-Cv38rGWn.js} +1 -1
- package/dist/interface/assets/SettingsAccount-B05739dn.js +1 -0
- package/dist/interface/assets/SettingsAccount-gm28wtbl.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-BS4EQNjH.js → SettingsAppearance-DdyYUgmV.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +1 -0
- package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +1 -0
- package/dist/interface/assets/{SettingsBackup-DBlV1gej.js → SettingsBackup-DKwlPQhD.js} +1 -1
- package/dist/interface/assets/{SettingsList-D8eSwbBY.js → SettingsList-D6hqnvUo.js} +1 -1
- package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +1 -0
- package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +1 -0
- package/dist/interface/assets/{SettingsPermissions-CJiz0Z7B.js → SettingsPermissions-BeTCTrAf.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-CLz9Zp47.js → SettingsRecordings-mwL6Dalr.js} +1 -1
- package/dist/interface/assets/SettingsRemote-MhaShPIf.js +2 -0
- package/dist/interface/assets/{SettingsSystem-txTFGomQ.js → SettingsSystem-BXnzXgqm.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-CUp6vQPc.js → SettingsUsers-D2mVlJin.js} +1 -1
- package/dist/interface/assets/Terminal-C1UoXDRK.js +4 -0
- package/dist/interface/assets/Training-A5ynOv_l.js +1 -0
- package/dist/interface/assets/{Training-Bkn52mPJ.css → Training-C-ToeAl4.css} +1 -1
- package/dist/interface/assets/Updates-kS_Tm8HD.js +2 -0
- package/dist/interface/assets/{VariableInput-183LygmK.js → VariableInput-D9PfI8Ut.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-DwLtlzVz.js → VariableSuggestions-DArWzQuE.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-DkbkcypK.js → VersionsHandler-BZVMpB2v.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-Bn4tgdxA.js → VirtualSensorCreate-Cz-QFo4R.js} +1 -1
- package/dist/interface/assets/Workers-2sc4VMi9.js +2 -0
- package/dist/interface/assets/api-CGfJbsTz.css +2 -0
- package/dist/interface/assets/{api-h4HRB3ef.js → api-CzwdnGAH.js} +1 -1
- package/dist/interface/assets/api-DOpXVpef.js +4 -0
- package/dist/interface/assets/{assistant-4hYyIu6D.js → assistant-hGCAgv-f.js} +1 -1
- package/dist/interface/assets/{auth-DFesRtwI.js → auth-By-S-WEr.js} +1 -1
- package/dist/interface/assets/{automations-D2bnX8uw.js → automations-vwIwb2PQ.js} +1 -1
- package/dist/interface/assets/{cameraSources-DmVZWs4-.js → cameraSources-BMhXvtFt.js} +1 -1
- package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +1 -0
- package/dist/interface/assets/{config-DDaCrMSU.js → config-BQxEwrK6.js} +1 -1
- package/dist/interface/assets/{flowSchema-YJtAu9gB.js → flowSchema-BPq6iHks.js} +1 -1
- package/dist/interface/assets/{intercomService-CjoJaOZ7.js → intercomService-CXcjcPa9.js} +1 -1
- package/dist/interface/assets/main-By4L33Im.js +3 -0
- package/dist/interface/assets/mqtt-DE1KQ8Td.js +1 -0
- package/dist/interface/assets/{notifications-5yeK345h.js → notifications-BCyiD-TP.js} +1 -1
- package/dist/interface/assets/{plugins-BTOdE_zv.js → plugins-BJPCV1YL.js} +1 -1
- package/dist/interface/assets/rooms-Dr4yiakO.js +1 -0
- package/dist/interface/assets/{sensorIcons-5Ynqwo3e.js → sensorIcons-DofElQ3w.js} +1 -1
- package/dist/interface/assets/{sensorSlots-BF70tpV7.js → sensorSlots-D2KJGvPw.js} +1 -1
- package/dist/interface/assets/{sensors-CeFEEz8r.js → sensors-3llrL7s3.js} +1 -1
- package/dist/interface/assets/server-Dw5DD473.js +1 -0
- package/dist/interface/assets/{theme-DF_XA58O.js → theme-C85LJhOY.js} +1 -1
- package/dist/interface/assets/{types-CklFkUXk.js → types-CPhy0Ovw.js} +1 -1
- package/dist/interface/assets/{types-ArGM5-5O.js → types-DYKmSGl4.js} +1 -1
- package/dist/interface/assets/{types-BcAxmlqC.js → types-i1kTodPP.js} +1 -1
- package/dist/interface/assets/ungrouped-BlheTJCh.css +1 -0
- package/dist/interface/assets/ungrouped-C2CWO39a.js +1 -0
- package/dist/interface/assets/{updates-D3x_kPMM.js → updates-C2LhMkNR.js} +1 -1
- package/dist/interface/assets/{useAppVersion-Dcvu95bZ.js → useAppVersion-DkazK9Vu.js} +1 -1
- package/dist/interface/assets/{useAssistantActions-Cc_O6M9_.js → useAssistantActions-BZP6NL18.js} +1 -1
- package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +1 -0
- package/dist/interface/assets/{useCameraOptions-8I4MTDgj.js → useCameraOptions-DnI0xLrX.js} +1 -1
- package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +1 -0
- package/dist/interface/assets/{useLogsSocket-bpOiLgWT.js → useLogsSocket-C3Y8S0Ar.js} +1 -1
- package/dist/interface/assets/{useNavLayout-Cjf6Da2u.js → useNavLayout-C9pcDuVP.js} +1 -1
- package/dist/interface/assets/{usePermissions-BXTw4tII.js → usePermissions-CCTxwXF0.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-bOMj-IvL.js → usePluginUpdates-DBhLWAua.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-HOvLuUVP.js → usePushRegistration-CPRVdLAx.js} +1 -1
- package/dist/interface/assets/{useServerRestart-CQN4cdHJ.js → useServerRestart-bScBLJ9r.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-Da7c2Wme.js → useStreamStatus-Bfh-WmLH.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-fFuyJJBQ.js → useTabSwipe-C_QOrvSW.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-Ca1RX32u.js → useUpdateChannel-g0h_4c55.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-DHZNpLQX.js → useUpdatesSocket-CxrLRETs.js} +1 -1
- package/dist/interface/assets/{useUserOptions-BQdOB-Dp.js → useUserOptions-DN0t3gBr.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +2326 -0
- package/dist/interface/assets/{vendor-core-B-Q4es-f.js → vendor-core-DIa0tPNH.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-Cmp3VjIC.js → vendor-primevue-CZKUAkMA.js} +77 -77
- package/dist/interface/ha/{404-C0mWQGWl.js → 404-tl2VQ3qy.js} +1 -1
- package/dist/interface/ha/{About-ByE7XErJ.js → About-Cn7KOblU.js} +3 -3
- package/dist/interface/ha/{Assistant-Z3FTR868.js → Assistant-DG2GGda0.js} +1225 -1203
- package/dist/interface/ha/{Automation-COQqTFNw.js → Automation-D0_WpXx4.js} +27 -27
- package/dist/interface/ha/{AutomationImport-ueWqMBX9.js → AutomationImport-DdC3dEaC.js} +6 -6
- package/dist/interface/ha/{AutomationStore-DBO4aZqy.js → AutomationStore-BrLn4oBx.js} +4 -4
- package/dist/interface/ha/{AutomationStoreDetail-DMnYu7hf.js → AutomationStoreDetail-DoppNsNc.js} +6 -6
- package/dist/interface/ha/{Automations-CMdbidc0.js → Automations-BaUJ9pVq.js} +3 -3
- package/dist/interface/ha/{Camera-C28q_3pu.js → Camera-Cj5ImvZG.js} +12 -12
- package/dist/interface/ha/{CameraConsole-oMNZfKE6.js → CameraConsole-7MhlS2VK.js} +3 -3
- package/dist/interface/ha/{Cameras-CsqrLx97.js → Cameras-vHYz8uSO.js} +6 -6
- package/dist/interface/ha/{Camview-Br0LUakz.js → Camview-BEglAx26.js} +452 -452
- package/dist/interface/ha/{Config-Y5eUNSW7.js → Config-CHiK--zP.js} +6 -6
- package/dist/interface/ha/{ConfigActionAssistant-hl-6ZACj.js → ConfigActionAssistant-DynduZYV.js} +4 -4
- package/dist/interface/ha/{ConfigActionCameraControl-DnXlVFWD.js → ConfigActionCameraControl-BEYePssz.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-BkpkMmRd.js → ConfigActionHttp-h0vRWqZ5.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-Dp78_QS_.js → ConfigActionImageInput-B9GMZYAR.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-DA_UWb5j.js → ConfigActionMqtt-BEQpHBgf.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-CQ4Ses3a.js → ConfigActionNotification-BYsz8_aS.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-Cb5PNGz-.js → ConfigActionNotificationControl-BxmIWVE8.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-DLuNHwRb.js → ConfigActionOutput-DTOQSa1S.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-ChKFCNaj.js → ConfigActionPlugin-NOsUs3QI.js} +5 -5
- package/dist/interface/ha/{ConfigActionSensor-DOutFalW.js → ConfigActionSensor-YWnsH_LV.js} +4 -4
- package/dist/interface/ha/{ConfigActionSnapshot-GWgY6YIN.js → ConfigActionSnapshot-DHJnTvin.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-bu-9VYTG.js → ConfigActionVariable-C7UFnvW0.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-iNp8tlZV.js → ConfigConditionIfElse-CAHbuhH3.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-Dn7kcHpJ.js → ConfigConditionSensorState-CE6okUeb.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-DaUlDgo0.js → ConfigConditionSwitch-D5FULaTy.js} +4 -4
- package/dist/interface/ha/{ConfigSensorValueInput-D6m6suqJ.js → ConfigSensorValueInput-mo6Gs_aZ.js} +3 -3
- package/dist/interface/ha/{ConfigTriggerDetection-C5B_DC_L.js → ConfigTriggerDetection-Bt-OhHtM.js} +11 -11
- package/dist/interface/ha/{ConfigTriggerGeofence-B4WVNcK5.js → ConfigTriggerGeofence-Cw3jV5qD.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerMqtt-wnMfk_Un.js → ConfigTriggerMqtt-BXeV82UG.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-xFpI5KPu.js → ConfigTriggerSensor-Baqq--nJ.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-YI9WYYVM.js → ConfigTriggerSystem-braUVGzW.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-58c2KgUe.js → ConfigTriggerWebhook-Dm45r-1C.js} +1 -1
- package/dist/interface/ha/{Console-Coiqh32K.js → Console-q3TCsxYo.js} +2 -2
- package/dist/interface/ha/{CuiAutomationRunsDialog-CJ2MGfEY.js → CuiAutomationRunsDialog-DO6h5Tc4.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-BlG9Pl9j.js → CuiBottomSheet-B7ldz0xi.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-DLXEB4Q7.js → CuiCameraRecordings-Dq1Vh3qA.js} +6 -6
- package/dist/interface/ha/{CuiCameraShares-BCIeaM6u.js → CuiCameraShares-DBqcpevG.js} +2 -2
- package/dist/interface/ha/{CuiCameraTable-PYYC7sOu.js → CuiCameraTable-kL8rK-Uv.js} +2 -2
- package/dist/interface/ha/{CuiChartTable-FQ2iR5Hd.js → CuiChartTable-BrFyiSt_.js} +81 -66
- package/dist/interface/ha/{CuiConsole-C77k5q_-.js → CuiConsole-DpeXZmJd.js} +1 -1
- package/dist/interface/ha/{CuiDataTable-CIKQLseG.js → CuiDataTable-BtqzIz0o.js} +1 -1
- package/dist/interface/ha/{CuiPluginCard-DZNXKP_P.js → CuiPluginCard-lBLypaN4.js} +6 -6
- package/dist/interface/ha/{CuiPluginOAuthButton-DVf52_Zc.js → CuiPluginOAuthButton-CuGauZJA.js} +3 -3
- package/dist/interface/ha/{CuiPluginTrustBadge-CPljYiM8.js → CuiPluginTrustBadge-BofBmRYc.js} +1 -1
- package/dist/interface/ha/{CuiQRCode-oe8PLnLj.js → CuiQRCode-CdK9bwKb.js} +2 -2
- package/dist/interface/ha/{CuiSchema-CQy94ZTs.js → CuiSchema-DqkCLv9Y.js} +2 -2
- package/dist/interface/ha/{CuiTopNavbarItem-D6OHZLQY.js → CuiTopNavbarItem-C2VZB7WV.js} +1 -1
- package/dist/interface/ha/{Faces-DxAPvemO.js → Faces-Crfi-75Z.js} +239 -239
- package/dist/interface/ha/{FirstSteps-ZINTSaeL.js → FirstSteps-CKVG86pf.js} +4 -4
- package/dist/interface/ha/{Floorplan-DkbL8ppT.js → Floorplan-CH9_-6hk.js} +5 -5
- package/dist/interface/ha/{Instances-totWtqd7.js → Instances-5gZdPPDA.js} +1 -1
- package/dist/interface/ha/{Logs-CzabIFja.js → Logs-BkzEM70F.js} +6 -6
- package/dist/interface/ha/{Menu-DcVBOQfw.js → Menu-BuT3_Ggx.js} +2 -2
- package/dist/interface/ha/{Metrics-B_SN5hbp.js → Metrics-BGrzu0bu.js} +288 -286
- package/dist/interface/ha/{OAuthDeviceFlow-B28TPsTQ.js → OAuthDeviceFlow-BEJtegqy.js} +3 -3
- package/dist/interface/ha/{Plugin-B2PbbB8d.js → Plugin-Bnp2jiC2.js} +6 -6
- package/dist/interface/ha/{PluginConsole-_KeG4FvO.js → PluginConsole-CmsuPVMz.js} +4 -4
- package/dist/interface/ha/{PluginDetail-GK_Fx14e.js → PluginDetail-BCNx7vHr.js} +6 -6
- package/dist/interface/ha/{PluginSearch-qSy4aqAW.js → PluginSearch-DOdhuxgM.js} +4 -4
- package/dist/interface/ha/{PluginUpdateProgress-C4Q2j6VO.js → PluginUpdateProgress-CwkKc8Tr.js} +3 -3
- package/dist/interface/ha/{Plugins-D0tvZHie.js → Plugins-BrFowCdC.js} +7 -7
- package/dist/interface/ha/{Recordings-CpxJYaAa.js → Recordings-BZhf39pJ.js} +168 -166
- package/dist/interface/ha/{SensorEdit-8KtqLXEu.js → SensorEdit-Ds6WbN4A.js} +3 -3
- package/dist/interface/ha/{SensorHistory-CPTTsdjM.js → SensorHistory-CoTIYTJx.js} +2 -2
- package/dist/interface/ha/{Sensors-DJt_Hnn2.js → Sensors-DZ2MKdlh.js} +4 -4
- package/dist/interface/ha/{Settings-B-OdG5pG.js → Settings-D3JKr430.js} +2 -2
- package/dist/interface/ha/{SettingsAccount-Ba2-2Lbi.js → SettingsAccount-cvtlSKZw.js} +4 -4
- package/dist/interface/ha/{SettingsAppearance-D56HjSuQ.js → SettingsAppearance-CaKuOHRu.js} +3 -3
- package/dist/interface/ha/{SettingsAssistant-DglU0auc.js → SettingsAssistant-vWVjAUqQ.js} +4 -4
- package/dist/interface/ha/{SettingsBackup-DZx4McDz.js → SettingsBackup-CvzL_bVf.js} +2 -2
- package/dist/interface/ha/{SettingsList-D9nIGkbE.js → SettingsList-C0Ec8x-H.js} +1 -1
- package/dist/interface/ha/{SettingsMqtt-BOszh--k.js → SettingsMqtt-COnq-QM5.js} +2 -2
- package/dist/interface/ha/{SettingsNotifications-DBVpZfp0.js → SettingsNotifications-BZ68bQzO.js} +3 -3
- package/dist/interface/ha/{SettingsRecordings-D3oJnizu.js → SettingsRecordings-BPtNNpDa.js} +4 -4
- package/dist/interface/ha/{SettingsRemote-BOotvcOT.js → SettingsRemote-BXG8IYjf.js} +4 -4
- package/dist/interface/ha/{SettingsSystem-Bg11qoQX.js → SettingsSystem-_jHBUhws.js} +7 -7
- package/dist/interface/ha/{SettingsUsers-KpLs9Jnh.js → SettingsUsers-CzGj_RJN.js} +3 -3
- package/dist/interface/ha/{Terminal-D6opTHYI.js → Terminal-BP3b8IBP.js} +4 -4
- package/dist/interface/ha/Training-C2-6DgY0.js +1699 -0
- package/dist/interface/ha/{Updates-C_OvXJjd.js → Updates-BMZsEhmy.js} +4 -4
- package/dist/interface/ha/{VariableInput-CfaDp67S.js → VariableInput-DmI7skCD.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-D1FVeYUZ.js → VersionsHandler-DJd4NqtD.js} +8 -8
- package/dist/interface/ha/{VirtualSensorCreate-DJIgMVrt.js → VirtualSensorCreate-DmtGYvAn.js} +1 -1
- package/dist/interface/ha/{Workers-cJMI4mYX.js → Workers-2HTPHgKV.js} +6 -6
- package/dist/interface/ha/{api-D2VzV4is.js → api-BelbnLQO.js} +7110 -7058
- package/dist/interface/ha/{api-CDawdL4p.js → api-sy4rqV2N.js} +1 -1
- package/dist/interface/ha/{assistant-BmDAfChm.js → assistant-C6KYXJfi.js} +1 -1
- package/dist/interface/ha/{auth-CvLz9C4w.js → auth-Da66mVEd.js} +1 -1
- package/dist/interface/ha/{automationBlueprint-BhNaeOZ1.js → automationBlueprint-hlqqM17r.js} +2 -2
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-MQrnU0T8.js → cards-BFRRfuM7.js} +67 -67
- package/dist/interface/ha/{config-t_oAKFkJ.js → config-Cd7JNMpD.js} +1 -1
- package/dist/interface/ha/{dist-oFWkn6pD.js → dist-BybVYMVs.js} +19 -19
- package/dist/interface/ha/{mqtt-C20h1uze.js → mqtt-UZfptWJl.js} +1 -1
- package/dist/interface/ha/{notifications-Cy9DKiEn.js → notifications-DTHM8fS-.js} +1 -1
- package/dist/interface/ha/{plugins-jozYyBhV.js → plugins-Bwp_GfaX.js} +1 -1
- package/dist/interface/ha/{rooms-DyfT3cXp.js → rooms-BvaD0r0q.js} +1 -1
- package/dist/interface/ha/{server-hCCjQjZE.js → server-OWdtITVa.js} +2 -2
- package/dist/interface/ha/{types-RG0SckNR.js → types-BFJjyMZe.js} +1 -1
- package/dist/interface/ha/{ungrouped-BbyfoCQp.js → ungrouped-x00DHNHO.js} +219 -196
- package/dist/interface/ha/{updates-hUgVDgoD.js → updates-C03Qf3Il.js} +5 -5
- package/dist/interface/ha/{useAppVersion-wNhZDuvR.js → useAppVersion-CrMd9CC9.js} +1 -1
- package/dist/interface/ha/{useKeyboardInset-Cmbvb_W3.js → useKeyboardInset-DwUQCWHC.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-y9Aex3tJ.js → useLogsSocket-C6k217mW.js} +1 -1
- package/dist/interface/ha/{useNavLayout-Ehb0t34k.js → useNavLayout-DhuQE024.js} +1 -1
- package/dist/interface/ha/{useServerRestart-CRSVcz3z.js → useServerRestart-CYaen2r6.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-B_bseZkI.js → useTabSwipe-DAmCFlgg.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-C_GU6lj6.js → useUpdateChannel-Dr1EoU2X.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-CYgHb7UX.js → useUpdatesSocket-C8Gmhemh.js} +1 -1
- package/dist/interface/ha/{useUserOptions-pVYr-s3O.js → useUserOptions-BB5wk3Bq.js} +1 -1
- package/dist/interface/index.html +32 -32
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/api/controllers/api.controller.js +1 -1
- package/dist/server/src/api/controllers/api.controller.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/notifications.d.ts +1 -0
- package/dist/server/src/api/websocket/nsp/notifications.js +7 -0
- package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
- package/dist/server/src/assistant/automation-catalog.js +12 -2
- package/dist/server/src/assistant/automation-catalog.js.map +1 -1
- package/dist/server/src/manager/notificationManager.d.ts +1 -0
- package/dist/server/src/manager/notificationManager.js +11 -0
- package/dist/server/src/manager/notificationManager.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +12 -1
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/utils/ipc.js +23 -17
- package/dist/server/src/utils/ipc.js.map +1 -1
- package/npm-shrinkwrap.json +10 -10
- package/package.json +3 -3
- package/dist/interface/assets/Assistant-BJKGIvVo.js +0 -1
- package/dist/interface/assets/Automations-BOP_17Ri.js +0 -2
- package/dist/interface/assets/Camera-C5S7eI9a.js +0 -2
- package/dist/interface/assets/Camview-CHxKB41T.js +0 -1
- package/dist/interface/assets/Config-BrDDGWpr.js +0 -2
- package/dist/interface/assets/Console-cIr6lYux.js +0 -1
- package/dist/interface/assets/CuiAssistantConversation-Bigl43Ph.js +0 -5
- package/dist/interface/assets/CuiAutomationRunsDialog-Ci7SWAml.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-ViBOgklN.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-BB7bF67B.js +0 -1
- package/dist/interface/assets/CuiCameraTable-CHnQFkce.js +0 -1
- package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +0 -1
- package/dist/interface/assets/CuiChartTable-dIcxGtfl.js +0 -1
- package/dist/interface/assets/Faces-p18jNfXl.js +0 -1
- package/dist/interface/assets/Floorplan-DYyEx7WO.js +0 -1
- package/dist/interface/assets/Metrics-ChVnC6f6.css +0 -1
- package/dist/interface/assets/Metrics-l3UwykCM.js +0 -12
- package/dist/interface/assets/Plugin-Ldj3HygQ.js +0 -1
- package/dist/interface/assets/PluginSearch-BiXG3Xk2.js +0 -2
- package/dist/interface/assets/PluginSearch-BuE7we1T.js +0 -1
- package/dist/interface/assets/Plugins-Csx6AXaW.js +0 -1
- package/dist/interface/assets/Recordings-D0KTY5cI.js +0 -1
- package/dist/interface/assets/SensorEdit-zs-f_o1N.js +0 -1
- package/dist/interface/assets/Sensors-BLAoalEt.js +0 -2
- package/dist/interface/assets/SettingsAccount-BsN7jGmo.js +0 -1
- package/dist/interface/assets/SettingsAccount-DuVyCSE-.js +0 -1
- package/dist/interface/assets/SettingsAppearance-DQcGbYbV.js +0 -1
- package/dist/interface/assets/SettingsAssistant-DViJklFd.js +0 -1
- package/dist/interface/assets/SettingsMqtt-JoszJJgV.js +0 -1
- package/dist/interface/assets/SettingsNotifications-3veSrxa_.js +0 -1
- package/dist/interface/assets/SettingsRemote-DUyl8k7I.js +0 -2
- package/dist/interface/assets/Terminal-hln2UuSR.js +0 -4
- package/dist/interface/assets/Training-D6lhvUf-.js +0 -1
- package/dist/interface/assets/Updates-BwSWt9w7.js +0 -2
- package/dist/interface/assets/Workers-B6b15izn.js +0 -2
- package/dist/interface/assets/api-C9mnOxie.js +0 -4
- package/dist/interface/assets/api-Cj9a6qPu.css +0 -2
- package/dist/interface/assets/cloudHandoff-Ba98bzeq.js +0 -1
- package/dist/interface/assets/main-C796FmqQ.js +0 -3
- package/dist/interface/assets/mqtt-DGBPptzB.js +0 -1
- package/dist/interface/assets/rooms-BCdm6IAx.js +0 -1
- package/dist/interface/assets/server-bhW2Mw4D.js +0 -1
- package/dist/interface/assets/ungrouped-BnQIcSQd.css +0 -1
- package/dist/interface/assets/ungrouped-CkIlDUwl.js +0 -1
- package/dist/interface/assets/useBackupRestore-xp5KhKVn.js +0 -1
- package/dist/interface/assets/useKeyboardInset-C0Lp0UcX.js +0 -1
- package/dist/interface/assets/vendor-cameraui-CK4yHsJi.js +0 -2326
- package/dist/interface/ha/Training-OB2KOQ7L.js +0 -1694
|
@@ -2,60 +2,60 @@ import { c as e, m as t } from "./ripple-ZDATPc2w.js";
|
|
|
2
2
|
import { D as n, G as r, H as i, Jt as a, N as o, Wt as s, _t as c, d as l, f as u, gt as d, kt as f, l as p, lt as m, ot as h, p as g, qt as _, r as v, rt as y, st as b, u as x, ut as S, v as C, x as w, xt as T, y as E, yt as D, z as ee } from "./runtime-core.esm-bundler-_TfE0DWz.js";
|
|
3
3
|
import { t as te } from "./tooltip-BDrlgLof.js";
|
|
4
4
|
import { t as O } from "./message-D6dIy_hz.js";
|
|
5
|
-
import { Ar as k, B as ne, Dr as re,
|
|
6
|
-
import { A as
|
|
7
|
-
import { n as
|
|
8
|
-
import { h as
|
|
9
|
-
import { n as
|
|
10
|
-
import { t as
|
|
11
|
-
import { t as
|
|
12
|
-
import { i as
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { t as
|
|
20
|
-
import { n as
|
|
21
|
-
import { t as
|
|
22
|
-
import { t as
|
|
5
|
+
import { Ar as k, B as ne, Dr as re, Jn as ie, Or as ae, Pr as oe, Qn as se, R as A, Si as j, U as ce, Un as M, _r as le, dr as ue, et as de, gr as N, gt as P, jr as F, kr as fe, l as pe, q as me, ua as he, z as ge } from "./api-BelbnLQO.js";
|
|
6
|
+
import { A as I, M as _e, h as L, i as ve } from "./intercomService-B7HkLs6z.js";
|
|
7
|
+
import { n as ye } from "./vue-i18n-D5EAy78K.js";
|
|
8
|
+
import { h as be } from "./eventIcons-BFNUgeGr.js";
|
|
9
|
+
import { n as xe, t as Se } from "./button-BouAFgf5.js";
|
|
10
|
+
import { t as R } from "./inputtext-C_ygnPrC.js";
|
|
11
|
+
import { t as Ce } from "./close-CxFbonhd.js";
|
|
12
|
+
import { i as we, n as Te, r as Ee, t as De } from "./accordion-BylV-jUK.js";
|
|
13
|
+
import { t as z } from "./autocomplete-Cp3u2Ywa.js";
|
|
14
|
+
import { t as Oe } from "./progressbar-CaUaM8Bt.js";
|
|
15
|
+
import { t as ke } from "./delete-DWdURc9X.js";
|
|
16
|
+
import { t as B } from "./upload-BF0iIQFa.js";
|
|
17
|
+
import { t as Ae } from "./back-filled-CaxrZv0Q.js";
|
|
18
|
+
import { t as je } from "./refresh-CpjKkasY.js";
|
|
19
|
+
import { t as Me } from "./plus-CgxY7W0L.js";
|
|
20
|
+
import { n as Ne, t as Pe } from "./eye-off-UG_p9nl8.js";
|
|
21
|
+
import { t as Fe } from "./minus-D3V6azhV.js";
|
|
22
|
+
import { t as Ie } from "./database-refresh-outline-PiqlCkA7.js";
|
|
23
23
|
//#region ~icons/mdi/account-question
|
|
24
|
-
var
|
|
24
|
+
var Le = {
|
|
25
25
|
viewBox: "0 0 24 24",
|
|
26
26
|
width: "1.2em",
|
|
27
27
|
height: "1.2em"
|
|
28
28
|
};
|
|
29
|
-
function
|
|
30
|
-
return i(), g("svg",
|
|
29
|
+
function V(e, t) {
|
|
30
|
+
return i(), g("svg", Le, [...t[0] ||= [x("path", {
|
|
31
31
|
fill: "currentColor",
|
|
32
32
|
d: "M13 8a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4a4 4 0 0 1 4 4m4 10v2H1v-2c0-2.21 3.58-4 8-4s8 1.79 8 4m3.5-3.5V16H19v-1.5zm-2-5H17V9a3 3 0 0 1 3-3a3 3 0 0 1 3 3c0 .97-.5 1.88-1.29 2.41l-.3.19c-.57.4-.91 1.01-.91 1.7v.2H19v-.2c0-1.19.6-2.3 1.59-2.95l.29-.19c.39-.26.62-.69.62-1.16A1.5 1.5 0 0 0 20 7.5A1.5 1.5 0 0 0 18.5 9z"
|
|
33
33
|
}, null, -1)]]);
|
|
34
34
|
}
|
|
35
|
-
var
|
|
35
|
+
var Re = c({
|
|
36
36
|
name: "mdi-account-question",
|
|
37
|
-
render:
|
|
38
|
-
}),
|
|
37
|
+
render: V
|
|
38
|
+
}), ze = {
|
|
39
39
|
viewBox: "0 0 24 24",
|
|
40
40
|
width: "1.2em",
|
|
41
41
|
height: "1.2em"
|
|
42
42
|
};
|
|
43
|
-
function
|
|
44
|
-
return i(), g("svg",
|
|
43
|
+
function H(e, t) {
|
|
44
|
+
return i(), g("svg", ze, [...t[0] ||= [x("path", {
|
|
45
45
|
fill: "currentColor",
|
|
46
46
|
d: "M15 14c-2.67 0-8 1.33-8 4v2h16v-2c0-2.67-5.33-4-8-4m-9-4V7H4v3H1v2h3v3h2v-3h3v-2m6 2a4 4 0 0 0 4-4a4 4 0 0 0-4-4a4 4 0 0 0-4 4a4 4 0 0 0 4 4"
|
|
47
47
|
}, null, -1)]]);
|
|
48
48
|
}
|
|
49
|
-
var
|
|
49
|
+
var U = c({
|
|
50
50
|
name: "mdi-account-plus",
|
|
51
|
-
render:
|
|
52
|
-
}),
|
|
51
|
+
render: H
|
|
52
|
+
}), Be = {
|
|
53
53
|
viewBox: "0 0 24 24",
|
|
54
54
|
width: "1.2em",
|
|
55
55
|
height: "1.2em"
|
|
56
56
|
};
|
|
57
|
-
function
|
|
58
|
-
return i(), g("svg",
|
|
57
|
+
function Ve(e, t) {
|
|
58
|
+
return i(), g("svg", Be, [...t[0] ||= [x("path", {
|
|
59
59
|
fill: "none",
|
|
60
60
|
stroke: "currentColor",
|
|
61
61
|
"stroke-linecap": "round",
|
|
@@ -64,16 +64,16 @@ function Be(e, t) {
|
|
|
64
64
|
d: "m9 6l6 6l-6 6"
|
|
65
65
|
}, null, -1)]]);
|
|
66
66
|
}
|
|
67
|
-
var
|
|
67
|
+
var He = c({
|
|
68
68
|
name: "tabler-chevron-right",
|
|
69
|
-
render:
|
|
70
|
-
}),
|
|
69
|
+
render: Ve
|
|
70
|
+
}), Ue = {
|
|
71
71
|
viewBox: "0 0 24 24",
|
|
72
72
|
width: "1.2em",
|
|
73
73
|
height: "1.2em"
|
|
74
74
|
};
|
|
75
|
-
function
|
|
76
|
-
return i(), g("svg",
|
|
75
|
+
function W(e, t) {
|
|
76
|
+
return i(), g("svg", Ue, [...t[0] ||= [x("path", {
|
|
77
77
|
fill: "none",
|
|
78
78
|
stroke: "currentColor",
|
|
79
79
|
"stroke-linecap": "round",
|
|
@@ -82,22 +82,22 @@ function G(e, t) {
|
|
|
82
82
|
d: "M5 12h14"
|
|
83
83
|
}, null, -1)]]);
|
|
84
84
|
}
|
|
85
|
-
var
|
|
85
|
+
var We = c({
|
|
86
86
|
name: "tabler-minus",
|
|
87
|
-
render:
|
|
88
|
-
}),
|
|
87
|
+
render: W
|
|
88
|
+
}), Ge = { class: "aspect-square overflow-hidden flex items-center justify-center bg-black/5 dark:bg-black/30" }, G = ["src"], K = ["src"], q = { class: "font-medium truncate" }, Ke = { class: "text-xs text-muted" }, J = {
|
|
89
89
|
class: "bg-neutral-900 w-full rounded-xl overflow-hidden relative border-[1px] border-color shadow-lg",
|
|
90
90
|
style: { "aspect-ratio": "1 / 1" }
|
|
91
|
-
},
|
|
91
|
+
}, qe = ["src"], Y = {
|
|
92
92
|
key: 1,
|
|
93
93
|
class: "w-full h-full flex items-center justify-center bg-neutral-800/80"
|
|
94
|
-
},
|
|
94
|
+
}, Je = ["src"], Ye = { class: "absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/60 to-transparent" }, Xe = { class: "flex items-center justify-between" }, Ze = { class: "text-xs text-white/70" }, Qe = {
|
|
95
95
|
key: 2,
|
|
96
96
|
class: "absolute bottom-2 left-2 pointer-events-none"
|
|
97
|
-
},
|
|
97
|
+
}, $e = {
|
|
98
98
|
key: 3,
|
|
99
99
|
class: "absolute bottom-0 left-0 right-0 p-1.5 bg-gradient-to-t from-black/60 to-transparent flex items-center justify-center gap-1 dark-mode"
|
|
100
|
-
},
|
|
100
|
+
}, et = /* @__PURE__ */ w({
|
|
101
101
|
__name: "CuiFaceCard",
|
|
102
102
|
props: {
|
|
103
103
|
variant: {},
|
|
@@ -124,50 +124,50 @@ var Ue = c({
|
|
|
124
124
|
"restore"
|
|
125
125
|
],
|
|
126
126
|
setup(e) {
|
|
127
|
-
let n = e, r =
|
|
127
|
+
let n = e, r = pe(), o = p(() => n.confidence ? n.confidence >= .9 ? "text-green-400" : n.confidence >= .7 ? "text-yellow-400" : "text-red-400" : "text-white/50"), c = p(() => n.timestamp ? new Date(n.timestamp).toLocaleTimeString([], {
|
|
128
128
|
hour: "2-digit",
|
|
129
129
|
minute: "2-digit"
|
|
130
130
|
}) : "");
|
|
131
131
|
return (n, d) => {
|
|
132
|
-
let p =
|
|
132
|
+
let p = ve, h = le, _ = Ne, y = Se, b = We, C = U, w = Pe, T = ke, D = te;
|
|
133
133
|
return e.variant === "known" ? (i(), l(p, {
|
|
134
134
|
key: 0,
|
|
135
135
|
class: "cui-card transition-shadow cursor-pointer hover:shadow-md",
|
|
136
136
|
onClick: d[0] ||= (e) => n.$emit("click")
|
|
137
137
|
}, {
|
|
138
|
-
header: m(() => [x("div",
|
|
138
|
+
header: m(() => [x("div", Ge, [e.thumbnail ? (i(), g("img", {
|
|
139
139
|
key: 0,
|
|
140
140
|
src: e.thumbnail,
|
|
141
141
|
class: "w-full h-full object-cover"
|
|
142
|
-
}, null, 8,
|
|
142
|
+
}, null, 8, G)) : (i(), g("img", {
|
|
143
143
|
key: 1,
|
|
144
144
|
src: f(r),
|
|
145
145
|
class: "w-1/2 h-1/2 object-contain"
|
|
146
|
-
}, null, 8,
|
|
147
|
-
content: m(() => [x("div",
|
|
146
|
+
}, null, 8, K))])]),
|
|
147
|
+
content: m(() => [x("div", q, a(e.name), 1), x("div", Ke, a(e.imageCount) + " " + a(n.$t("views.faces.images")), 1)]),
|
|
148
148
|
_: 1
|
|
149
149
|
})) : (i(), g("div", {
|
|
150
150
|
key: 1,
|
|
151
151
|
class: s(["relative", e.selectionMode ? "cursor-pointer" : "cursor-default"]),
|
|
152
152
|
onClick: d[6] ||= (t) => e.selectionMode && n.$emit("click")
|
|
153
|
-
}, [x("div",
|
|
153
|
+
}, [x("div", J, [
|
|
154
154
|
e.thumbnail ? (i(), g("img", {
|
|
155
155
|
key: 0,
|
|
156
156
|
src: e.thumbnail,
|
|
157
157
|
class: "w-full h-full object-cover"
|
|
158
|
-
}, null, 8,
|
|
158
|
+
}, null, 8, qe)) : (i(), g("div", Y, [x("img", {
|
|
159
159
|
src: f(r),
|
|
160
160
|
class: "w-1/3 h-1/3 object-contain opacity-20"
|
|
161
|
-
}, null, 8,
|
|
162
|
-
x("div",
|
|
161
|
+
}, null, 8, Je)])),
|
|
162
|
+
x("div", Ye, [x("div", Xe, [x("span", Ze, a(f(c)), 1), e.confidence ? (i(), g("span", {
|
|
163
163
|
key: 0,
|
|
164
164
|
class: s(["text-xs font-medium", f(o)])
|
|
165
165
|
}, a(Math.round(e.confidence * 100)) + "%", 3)) : u("", !0)])]),
|
|
166
|
-
e.selectionMode ? (i(), g("div",
|
|
166
|
+
e.selectionMode ? (i(), g("div", Qe, [x("div", { class: s(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors", e.selected ? "bg-primary border-primary" : "bg-black/40 border-white/80"]) }, [e.selected ? (i(), l(h, {
|
|
167
167
|
key: 0,
|
|
168
168
|
class: "w-4 h-4 text-white"
|
|
169
169
|
})) : u("", !0)], 2)])) : u("", !0),
|
|
170
|
-
e.selectionMode ? u("", !0) : (i(), g("div",
|
|
170
|
+
e.selectionMode ? u("", !0) : (i(), g("div", $e, [e.variant === "ignored" ? S((i(), l(y, {
|
|
171
171
|
key: 0,
|
|
172
172
|
severity: "secondary",
|
|
173
173
|
rounded: "",
|
|
@@ -260,16 +260,16 @@ var Ue = c({
|
|
|
260
260
|
])], 2));
|
|
261
261
|
};
|
|
262
262
|
}
|
|
263
|
-
}),
|
|
263
|
+
}), tt = {
|
|
264
264
|
key: 0,
|
|
265
265
|
class: "text-sm text-muted mb-4"
|
|
266
|
-
},
|
|
266
|
+
}, nt = {
|
|
267
267
|
key: 2,
|
|
268
268
|
class: "grid grid-cols-3 gap-2"
|
|
269
|
-
},
|
|
269
|
+
}, X = ["src"], rt = {
|
|
270
270
|
key: 3,
|
|
271
271
|
class: "text-muted text-sm text-center py-8"
|
|
272
|
-
},
|
|
272
|
+
}, it = /* @__PURE__ */ w({
|
|
273
273
|
__name: "FaceDetail",
|
|
274
274
|
props: {
|
|
275
275
|
face: {},
|
|
@@ -279,9 +279,9 @@ var Ue = c({
|
|
|
279
279
|
setup(e, { expose: t }) {
|
|
280
280
|
let n = e, o = p(() => n.face);
|
|
281
281
|
return t({ onConfirm: async () => (n.onDeletePerson(), !0) }), (t, n) => {
|
|
282
|
-
let c = O, d =
|
|
282
|
+
let c = O, d = Ce, p = Se;
|
|
283
283
|
return i(), g("div", null, [
|
|
284
|
-
f(o).imageCount ? (i(), g("div",
|
|
284
|
+
f(o).imageCount ? (i(), g("div", tt, a(f(o).imageCount) + " " + a(t.$t("views.faces.training_images")), 1)) : u("", !0),
|
|
285
285
|
f(o).images.length > 0 && f(o).images.length < f(10) ? (i(), l(c, {
|
|
286
286
|
key: 1,
|
|
287
287
|
severity: "warn",
|
|
@@ -292,14 +292,14 @@ var Ue = c({
|
|
|
292
292
|
default: m(() => [C(a(t.$t("views.faces.few_pictures_hint", { count: f(10) })), 1)]),
|
|
293
293
|
_: 1
|
|
294
294
|
})) : u("", !0),
|
|
295
|
-
f(o).images.length ? (i(), g("div",
|
|
295
|
+
f(o).images.length ? (i(), g("div", nt, [(i(!0), g(v, null, r(f(o).images, (t, n) => (i(), g("div", {
|
|
296
296
|
key: n,
|
|
297
297
|
class: "relative aspect-square rounded-2xl overflow-hidden bg-surface-100 dark:bg-surface-800"
|
|
298
298
|
}, [
|
|
299
299
|
x("img", {
|
|
300
300
|
src: t.src,
|
|
301
301
|
class: "w-full h-full object-cover"
|
|
302
|
-
}, null, 8,
|
|
302
|
+
}, null, 8, X),
|
|
303
303
|
t.confidence ? (i(), g("div", {
|
|
304
304
|
key: 0,
|
|
305
305
|
class: s(["absolute bottom-0.5 right-0.5 text-[10px] font-medium px-1 rounded bg-black/60", t.confidence >= .9 ? "text-green-400" : t.confidence >= .7 ? "text-yellow-400" : "text-red-400"])
|
|
@@ -316,11 +316,11 @@ var Ue = c({
|
|
|
316
316
|
})]),
|
|
317
317
|
_: 1
|
|
318
318
|
}, 8, ["onClick"])
|
|
319
|
-
]))), 128))])) : (i(), g("div",
|
|
319
|
+
]))), 128))])) : (i(), g("div", rt, a(t.$t("views.faces.no_known_faces")), 1))
|
|
320
320
|
]);
|
|
321
321
|
};
|
|
322
322
|
}
|
|
323
|
-
}),
|
|
323
|
+
}), Z = { class: "flex flex-col gap-2 w-full" }, Q = {
|
|
324
324
|
for: "personName",
|
|
325
325
|
class: "cui-label"
|
|
326
326
|
}, at = /* @__PURE__ */ w({
|
|
@@ -333,8 +333,8 @@ var Ue = c({
|
|
|
333
333
|
o.value = t ? r.filter((e) => e.toLowerCase().includes(t)) : [...r];
|
|
334
334
|
}
|
|
335
335
|
return t({ onConfirm: async () => r.value.trim() || null }), (e, t) => {
|
|
336
|
-
let n =
|
|
337
|
-
return i(), g("div",
|
|
336
|
+
let n = z;
|
|
337
|
+
return i(), g("div", Z, [x("label", Q, a(e.$t("views.faces.name")), 1), E(n, {
|
|
338
338
|
id: "personName",
|
|
339
339
|
modelValue: f(r),
|
|
340
340
|
"onUpdate:modelValue": t[0] ||= (e) => d(r) ? r.value = e : null,
|
|
@@ -369,7 +369,7 @@ var Ue = c({
|
|
|
369
369
|
}, ft = /* @__PURE__ */ w({
|
|
370
370
|
__name: "FacesReindex",
|
|
371
371
|
setup(e, { expose: t }) {
|
|
372
|
-
let r = n("dialogRefProps"), { t: o } =
|
|
372
|
+
let r = n("dialogRefProps"), { t: o } = ye(), { status: s, isBusy: c, checking: l, refresh: d, start: m, cancel: _ } = ie(), v = T(!1), y = T(!1), S = T(0), C = p(() => s.value?.running === !0), w = p(() => C.value ? [] : s.value?.unusable ?? []), D = p(() => C.value ? [] : (s.value?.skippedNames ?? []).filter((e) => !w.value.includes(e))), te = p(() => {
|
|
373
373
|
if (y.value) {
|
|
374
374
|
if (!s.value?.total) return o("views.faces.reindex.up_to_date");
|
|
375
375
|
let { done: e, total: t } = s.value;
|
|
@@ -396,7 +396,7 @@ var Ue = c({
|
|
|
396
396
|
s.value?.running && (v.value = !0);
|
|
397
397
|
});
|
|
398
398
|
}), t({ onConfirm: k }), (e, t) => {
|
|
399
|
-
let n =
|
|
399
|
+
let n = Oe;
|
|
400
400
|
return i(), g("div", ot, [
|
|
401
401
|
x("span", st, a(f(te)), 1),
|
|
402
402
|
f(v) || f(C) ? (i(), g("div", ct, [E(n, {
|
|
@@ -424,7 +424,7 @@ var Ue = c({
|
|
|
424
424
|
__name: "FaceUpload",
|
|
425
425
|
props: { onEnroll: { type: Function } },
|
|
426
426
|
setup(e, { expose: n }) {
|
|
427
|
-
let r = e, { t: o } =
|
|
427
|
+
let r = e, { t: o } = ye(), s = T(""), c = T(""), l = T(null), p = T(""), m = T();
|
|
428
428
|
function h() {
|
|
429
429
|
m.value?.click();
|
|
430
430
|
}
|
|
@@ -456,7 +456,7 @@ var Ue = c({
|
|
|
456
456
|
}, r.readAsDataURL(e);
|
|
457
457
|
}
|
|
458
458
|
return n({ onConfirm: async () => !s.value || !l.value ? null : (await r.onEnroll(s.value, l.value), !0) }), (e, n) => {
|
|
459
|
-
let r =
|
|
459
|
+
let r = R, o = B;
|
|
460
460
|
return i(), g("div", pt, [x("div", null, [x("label", mt, a(e.$t("views.faces.name")), 1), E(r, {
|
|
461
461
|
modelValue: f(s),
|
|
462
462
|
"onUpdate:modelValue": n[0] ||= (e) => d(s) ? s.value = e : null,
|
|
@@ -506,42 +506,42 @@ var Ue = c({
|
|
|
506
506
|
}, nn = 160, rn = 12, an = /* @__PURE__ */ w({
|
|
507
507
|
__name: "Faces",
|
|
508
508
|
setup(n) {
|
|
509
|
-
let c =
|
|
509
|
+
let c = P(), d = j(), { t: b } = ye(), { smBreakpoint: w } = k(), { width: O } = oe(), { bottombarHeight: pe } = F(), R = se(), z = R.clusteredUnknowns, Oe = y("knownSkeletonRef"), B = y("knownRowRef"), Ne = y("reindexAnchorRef"), { left: Le } = L(Ne), V = T(!1), ze = T(!1), { status: H, checking: Be } = ie(), { y: Ve } = _e(window, { throttle: 100 }), Ue = fe(() => Ve.value), W = D({
|
|
510
510
|
left: 0,
|
|
511
511
|
max: 0
|
|
512
|
-
}),
|
|
513
|
-
let e = new Set(
|
|
514
|
-
return [...
|
|
515
|
-
}),
|
|
512
|
+
}), Ge = p(() => [...z.value.clusters.flatMap((e) => e.faces), ...z.value.ungrouped]), { selectionMode: G, selectedIds: K, selectedItems: q, allSelected: Ke, bulkBusy: J, enterSelectionMode: qe, exitSelectionMode: Y, toggleSelectAll: Je, toggleSelection: Ye } = A(Ge, (e) => e.id), Xe = p(() => N(void 0, "admin")), Ze = p(() => Ue.value && !H.value?.running), Qe = p(() => {
|
|
513
|
+
let e = new Set(z.value.clusters.flatMap((e) => e.faces.map((e) => e.id)));
|
|
514
|
+
return [...K.value].filter((t) => e.has(t));
|
|
515
|
+
}), $e = p(() => {
|
|
516
516
|
O.value;
|
|
517
|
-
let e =
|
|
517
|
+
let e = Oe.value?.clientWidth ?? O.value;
|
|
518
518
|
return Math.floor((e + rn) / 172) || 4;
|
|
519
|
-
}),
|
|
520
|
-
function
|
|
521
|
-
let e =
|
|
522
|
-
e && (
|
|
519
|
+
}), tt = p(() => W.left > 4), nt = p(() => W.left < W.max - 4);
|
|
520
|
+
function X() {
|
|
521
|
+
let e = B.value;
|
|
522
|
+
e && (W.left = e.scrollLeft, W.max = e.scrollWidth - e.clientWidth);
|
|
523
523
|
}
|
|
524
|
-
function
|
|
525
|
-
let t =
|
|
524
|
+
function rt(e) {
|
|
525
|
+
let t = B.value;
|
|
526
526
|
t && t.scrollBy({
|
|
527
527
|
left: e * Math.max(t.clientWidth - 172, 172),
|
|
528
528
|
behavior: "smooth"
|
|
529
529
|
});
|
|
530
530
|
}
|
|
531
|
-
function
|
|
531
|
+
function Z(e) {
|
|
532
532
|
let t = 0;
|
|
533
|
-
for (let n of e)
|
|
533
|
+
for (let n of e) K.value.has(n.id) && t++;
|
|
534
534
|
return t === 0 ? "none" : t === e.length ? "all" : "some";
|
|
535
535
|
}
|
|
536
|
-
function
|
|
537
|
-
let t = new Set(
|
|
536
|
+
function Q(e) {
|
|
537
|
+
let t = new Set(K.value), n = e.every((e) => t.has(e.id));
|
|
538
538
|
for (let r of e) n ? t.delete(r.id) : t.add(r.id);
|
|
539
|
-
|
|
539
|
+
K.value = t;
|
|
540
540
|
}
|
|
541
541
|
async function ot() {
|
|
542
|
-
|
|
542
|
+
V.value = !0;
|
|
543
543
|
try {
|
|
544
|
-
let e = await
|
|
544
|
+
let e = await R.rescanFaces();
|
|
545
545
|
e > 0 ? d.add({
|
|
546
546
|
severity: "success",
|
|
547
547
|
detail: b("views.faces.rescan_complete", { count: e }),
|
|
@@ -558,14 +558,14 @@ var Ue = c({
|
|
|
558
558
|
life: 3e3
|
|
559
559
|
});
|
|
560
560
|
} finally {
|
|
561
|
-
|
|
561
|
+
V.value = !1;
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
564
|
async function st(e) {
|
|
565
565
|
let t = T([]);
|
|
566
566
|
try {
|
|
567
|
-
t.value = (await
|
|
568
|
-
let t =
|
|
567
|
+
t.value = (await R.getFaceImages(e.name)).map((e) => {
|
|
568
|
+
let t = M(e.jpeg);
|
|
569
569
|
return t ? {
|
|
570
570
|
id: e.id,
|
|
571
571
|
src: t,
|
|
@@ -573,7 +573,7 @@ var Ue = c({
|
|
|
573
573
|
} : null;
|
|
574
574
|
}).filter(Boolean);
|
|
575
575
|
} catch {}
|
|
576
|
-
let n = c.openComponentDialog(
|
|
576
|
+
let n = c.openComponentDialog(it, { data: {
|
|
577
577
|
title: e.name,
|
|
578
578
|
contentProps: {
|
|
579
579
|
face: p(() => ({
|
|
@@ -584,11 +584,11 @@ var Ue = c({
|
|
|
584
584
|
onRemoveImage: async (n) => {
|
|
585
585
|
let r = t.value[n];
|
|
586
586
|
if (r) try {
|
|
587
|
-
await
|
|
587
|
+
await R.removeFaceImage(e.name, r.id), t.value.splice(n, 1), d.add({
|
|
588
588
|
severity: "success",
|
|
589
589
|
detail: b("views.faces.image_removed"),
|
|
590
590
|
life: 3e3
|
|
591
|
-
}), await
|
|
591
|
+
}), await R.refresh(!0);
|
|
592
592
|
} catch (e) {
|
|
593
593
|
d.add({
|
|
594
594
|
severity: "error",
|
|
@@ -599,11 +599,11 @@ var Ue = c({
|
|
|
599
599
|
},
|
|
600
600
|
onDeletePerson: async () => {
|
|
601
601
|
try {
|
|
602
|
-
await
|
|
602
|
+
await R.deleteFace(e.name), d.add({
|
|
603
603
|
severity: "success",
|
|
604
604
|
detail: b("views.faces.person_deleted"),
|
|
605
605
|
life: 3e3
|
|
606
|
-
}), n.close(), await
|
|
606
|
+
}), n.close(), await R.refresh(!0);
|
|
607
607
|
} catch (e) {
|
|
608
608
|
d.add({
|
|
609
609
|
severity: "error",
|
|
@@ -629,11 +629,11 @@ var Ue = c({
|
|
|
629
629
|
title: b("views.faces.add_face"),
|
|
630
630
|
confirmText: b("views.faces.enroll"),
|
|
631
631
|
contentProps: { onEnroll: async (e, t) => {
|
|
632
|
-
await
|
|
632
|
+
await R.enrollFace(e, t), d.add({
|
|
633
633
|
severity: "success",
|
|
634
634
|
detail: b("views.faces.face_enrolled"),
|
|
635
635
|
life: 3e3
|
|
636
|
-
}), await
|
|
636
|
+
}), await R.refresh(!0);
|
|
637
637
|
} }
|
|
638
638
|
} });
|
|
639
639
|
}
|
|
@@ -644,7 +644,7 @@ var Ue = c({
|
|
|
644
644
|
return;
|
|
645
645
|
}
|
|
646
646
|
try {
|
|
647
|
-
await
|
|
647
|
+
await R.enrollCluster(t, n), d.add({
|
|
648
648
|
severity: "success",
|
|
649
649
|
detail: b("views.faces.face_assigned"),
|
|
650
650
|
life: 3e3
|
|
@@ -662,11 +662,11 @@ var Ue = c({
|
|
|
662
662
|
data: {
|
|
663
663
|
title: b("views.faces.enter_person_name"),
|
|
664
664
|
confirmText: b("views.faces.enroll"),
|
|
665
|
-
contentProps: { knownNames:
|
|
665
|
+
contentProps: { knownNames: R.knownFaces.value.map((e) => e.name) }
|
|
666
666
|
},
|
|
667
667
|
onConfirm: async (t) => {
|
|
668
668
|
try {
|
|
669
|
-
await
|
|
669
|
+
await R.enrollCluster(t, e), d.add({
|
|
670
670
|
severity: "success",
|
|
671
671
|
detail: b("views.faces.face_enrolled"),
|
|
672
672
|
life: 3e3
|
|
@@ -683,7 +683,7 @@ var Ue = c({
|
|
|
683
683
|
}
|
|
684
684
|
async function $(e) {
|
|
685
685
|
try {
|
|
686
|
-
await
|
|
686
|
+
await R.deleteUnknownFacesByCluster(e.clusterId);
|
|
687
687
|
} catch (e) {
|
|
688
688
|
d.add({
|
|
689
689
|
severity: "error",
|
|
@@ -694,7 +694,7 @@ var Ue = c({
|
|
|
694
694
|
}
|
|
695
695
|
async function pt(e) {
|
|
696
696
|
try {
|
|
697
|
-
await
|
|
697
|
+
await R.deleteUnknownFace(e.id);
|
|
698
698
|
} catch (e) {
|
|
699
699
|
d.add({
|
|
700
700
|
severity: "error",
|
|
@@ -705,7 +705,7 @@ var Ue = c({
|
|
|
705
705
|
}
|
|
706
706
|
async function mt(e) {
|
|
707
707
|
try {
|
|
708
|
-
await
|
|
708
|
+
await R.removeFromCluster(e.id);
|
|
709
709
|
} catch (e) {
|
|
710
710
|
d.add({
|
|
711
711
|
severity: "error",
|
|
@@ -716,7 +716,7 @@ var Ue = c({
|
|
|
716
716
|
}
|
|
717
717
|
async function ht(e) {
|
|
718
718
|
try {
|
|
719
|
-
await
|
|
719
|
+
await R.ignoreFaces([e.id]), d.add({
|
|
720
720
|
severity: "success",
|
|
721
721
|
detail: b("views.faces.face_ignored"),
|
|
722
722
|
life: 3e3
|
|
@@ -731,7 +731,7 @@ var Ue = c({
|
|
|
731
731
|
}
|
|
732
732
|
async function gt(e) {
|
|
733
733
|
try {
|
|
734
|
-
await
|
|
734
|
+
await R.ignoreCluster(e.clusterId), d.add({
|
|
735
735
|
severity: "success",
|
|
736
736
|
detail: b("views.faces.face_ignored"),
|
|
737
737
|
life: 3e3
|
|
@@ -745,15 +745,15 @@ var Ue = c({
|
|
|
745
745
|
}
|
|
746
746
|
}
|
|
747
747
|
async function _t() {
|
|
748
|
-
let e =
|
|
748
|
+
let e = q.value.map((e) => e.id);
|
|
749
749
|
if (e.length) {
|
|
750
|
-
|
|
750
|
+
J.value = !0;
|
|
751
751
|
try {
|
|
752
|
-
await
|
|
752
|
+
await R.ignoreFaces(e), d.add({
|
|
753
753
|
severity: "success",
|
|
754
754
|
detail: b("views.faces.face_ignored"),
|
|
755
755
|
life: 3e3
|
|
756
|
-
}),
|
|
756
|
+
}), Y();
|
|
757
757
|
} catch (e) {
|
|
758
758
|
d.add({
|
|
759
759
|
severity: "error",
|
|
@@ -761,13 +761,13 @@ var Ue = c({
|
|
|
761
761
|
life: 3e3
|
|
762
762
|
});
|
|
763
763
|
} finally {
|
|
764
|
-
|
|
764
|
+
J.value = !1;
|
|
765
765
|
}
|
|
766
766
|
}
|
|
767
767
|
}
|
|
768
768
|
async function vt(e) {
|
|
769
769
|
try {
|
|
770
|
-
await
|
|
770
|
+
await R.unignoreFaces([e.id]), d.add({
|
|
771
771
|
severity: "success",
|
|
772
772
|
detail: b("views.faces.face_restored"),
|
|
773
773
|
life: 3e3
|
|
@@ -785,15 +785,15 @@ var Ue = c({
|
|
|
785
785
|
data: {
|
|
786
786
|
title: b("views.faces.assign"),
|
|
787
787
|
confirmText: b("views.faces.enroll"),
|
|
788
|
-
contentProps: { knownNames:
|
|
788
|
+
contentProps: { knownNames: R.knownFaces.value.map((e) => e.name) }
|
|
789
789
|
},
|
|
790
790
|
onConfirm: async (t) => {
|
|
791
791
|
try {
|
|
792
|
-
await
|
|
792
|
+
await R.enrollFromEvent(t, e.id), d.add({
|
|
793
793
|
severity: "success",
|
|
794
794
|
detail: b("views.faces.face_assigned"),
|
|
795
795
|
life: 3e3
|
|
796
|
-
}), await
|
|
796
|
+
}), await R.refresh(!0);
|
|
797
797
|
} catch (e) {
|
|
798
798
|
d.add({
|
|
799
799
|
severity: "error",
|
|
@@ -805,21 +805,21 @@ var Ue = c({
|
|
|
805
805
|
});
|
|
806
806
|
}
|
|
807
807
|
function bt() {
|
|
808
|
-
let e =
|
|
808
|
+
let e = q.value.map((e) => e.id);
|
|
809
809
|
e.length && c.openComponentDialog(at, {
|
|
810
810
|
data: {
|
|
811
811
|
title: b("views.faces.assign"),
|
|
812
812
|
confirmText: b("views.faces.enroll"),
|
|
813
|
-
contentProps: { knownNames:
|
|
813
|
+
contentProps: { knownNames: R.knownFaces.value.map((e) => e.name) }
|
|
814
814
|
},
|
|
815
815
|
onConfirm: async (t) => {
|
|
816
|
-
|
|
816
|
+
J.value = !0;
|
|
817
817
|
try {
|
|
818
|
-
await
|
|
818
|
+
await R.enrollCluster(t, e), d.add({
|
|
819
819
|
severity: "success",
|
|
820
820
|
detail: b("views.faces.face_assigned"),
|
|
821
821
|
life: 3e3
|
|
822
|
-
}),
|
|
822
|
+
}), Y();
|
|
823
823
|
} catch (e) {
|
|
824
824
|
d.add({
|
|
825
825
|
severity: "error",
|
|
@@ -827,17 +827,17 @@ var Ue = c({
|
|
|
827
827
|
life: 3e3
|
|
828
828
|
});
|
|
829
829
|
} finally {
|
|
830
|
-
|
|
830
|
+
J.value = !1;
|
|
831
831
|
}
|
|
832
832
|
}
|
|
833
833
|
});
|
|
834
834
|
}
|
|
835
835
|
async function xt() {
|
|
836
|
-
let e =
|
|
836
|
+
let e = Qe.value;
|
|
837
837
|
if (e.length) {
|
|
838
|
-
|
|
838
|
+
J.value = !0;
|
|
839
839
|
try {
|
|
840
|
-
await
|
|
840
|
+
await R.removeFacesFromCluster(e), Y();
|
|
841
841
|
} catch (e) {
|
|
842
842
|
d.add({
|
|
843
843
|
severity: "error",
|
|
@@ -845,16 +845,16 @@ var Ue = c({
|
|
|
845
845
|
life: 3e3
|
|
846
846
|
});
|
|
847
847
|
} finally {
|
|
848
|
-
|
|
848
|
+
J.value = !1;
|
|
849
849
|
}
|
|
850
850
|
}
|
|
851
851
|
}
|
|
852
852
|
async function an() {
|
|
853
|
-
let e =
|
|
853
|
+
let e = q.value.map((e) => e.id);
|
|
854
854
|
if (e.length) {
|
|
855
|
-
|
|
855
|
+
J.value = !0;
|
|
856
856
|
try {
|
|
857
|
-
await
|
|
857
|
+
await R.deleteUnknownFaces(e), Y();
|
|
858
858
|
} catch (e) {
|
|
859
859
|
d.add({
|
|
860
860
|
severity: "error",
|
|
@@ -862,13 +862,13 @@ var Ue = c({
|
|
|
862
862
|
life: 3e3
|
|
863
863
|
});
|
|
864
864
|
} finally {
|
|
865
|
-
|
|
865
|
+
J.value = !1;
|
|
866
866
|
}
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
869
|
async function on() {
|
|
870
870
|
try {
|
|
871
|
-
await
|
|
871
|
+
await R.deleteUngroupedUnknownFaces(), d.add({
|
|
872
872
|
severity: "success",
|
|
873
873
|
detail: b("views.faces.all_unknown_cleared"),
|
|
874
874
|
life: 3e3
|
|
@@ -881,15 +881,15 @@ var Ue = c({
|
|
|
881
881
|
});
|
|
882
882
|
}
|
|
883
883
|
}
|
|
884
|
-
return h(() =>
|
|
884
|
+
return h(() => R.knownFaces.value.length, () => o(X)), I(B, X), ee(() => {
|
|
885
885
|
requestAnimationFrame(() => {
|
|
886
|
-
|
|
886
|
+
ze.value = !0;
|
|
887
887
|
});
|
|
888
888
|
}), (n, o) => {
|
|
889
|
-
let c =
|
|
889
|
+
let c = Ae, d = Se, p = me, h = he, y = be, b = xe, T = et, D = ue, ee = He, O = le, k = Fe, ie = U, oe = Pe, se = ke, A = Ee, j = we, N = Te, P = De, F = ve, fe = Re, I = re, _e = ae, L = te;
|
|
890
890
|
return i(), g("div", {
|
|
891
891
|
ref_key: "reindexAnchorRef",
|
|
892
|
-
ref:
|
|
892
|
+
ref: Ne,
|
|
893
893
|
class: "flex flex-col"
|
|
894
894
|
}, [
|
|
895
895
|
f(w) ? u("", !0) : (i(), g("div", Ct, [x("h1", wt, a(n.$t("views.faces.title")), 1)])),
|
|
@@ -905,16 +905,16 @@ var Ue = c({
|
|
|
905
905
|
})]),
|
|
906
906
|
_: 1
|
|
907
907
|
}),
|
|
908
|
-
f(
|
|
908
|
+
f(R).isLoading.value ? (i(), g("section", {
|
|
909
909
|
key: 1,
|
|
910
910
|
ref_key: "knownSkeletonRef",
|
|
911
|
-
ref:
|
|
911
|
+
ref: Oe,
|
|
912
912
|
class: "mb-6 p-px"
|
|
913
913
|
}, [E(h, {
|
|
914
914
|
height: "16px",
|
|
915
915
|
width: "140px",
|
|
916
916
|
class: "mb-3"
|
|
917
|
-
}), x("div", Tt, [(i(!0), g(v, null, r(f(
|
|
917
|
+
}), x("div", Tt, [(i(!0), g(v, null, r(f($e), (e) => (i(), g("div", {
|
|
918
918
|
key: e,
|
|
919
919
|
class: "cui-card overflow-hidden shrink-0",
|
|
920
920
|
style: _({ width: `${nn}px` })
|
|
@@ -929,22 +929,22 @@ var Ue = c({
|
|
|
929
929
|
}), E(h, {
|
|
930
930
|
height: "12px",
|
|
931
931
|
width: "40%"
|
|
932
|
-
})])], 4))), 128))])], 512)) : (i(), g(v, { key: 2 }, [!f(
|
|
932
|
+
})])], 4))), 128))])], 512)) : (i(), g(v, { key: 2 }, [!f(R).knownFaces.value.length && !f(R).unknownFaces.value.length && !f(R).ignoredFaces.value.length ? (i(), g("div", Dt, [E(y, { class: "w-12 h-12 text-muted" }), x("span", Ot, a(n.$t("views.faces.no_faces_yet")), 1)])) : (i(), g(v, { key: 1 }, [x("section", kt, [x("div", At, [x("span", jt, [x("span", Mt, a(n.$t("views.faces.known_faces")), 1), E(b, {
|
|
933
933
|
size: "small",
|
|
934
934
|
class: "rounded-full px-1.5",
|
|
935
|
-
value: String(f(
|
|
936
|
-
}, null, 8, ["value"])])]), f(
|
|
935
|
+
value: String(f(R).knownFaces.value.length)
|
|
936
|
+
}, null, 8, ["value"])])]), f(R).knownFaces.value.length ? (i(), g("div", Nt, [
|
|
937
937
|
x("div", {
|
|
938
938
|
ref_key: "knownRowRef",
|
|
939
|
-
ref:
|
|
939
|
+
ref: B,
|
|
940
940
|
class: "flex gap-3 p-px overflow-x-auto overscroll-x-contain hide-scrollbar",
|
|
941
|
-
onScroll:
|
|
942
|
-
}, [(i(!0), g(v, null, r(f(
|
|
941
|
+
onScroll: X
|
|
942
|
+
}, [(i(!0), g(v, null, r(f(R).knownFaces.value, (e) => (i(), l(T, {
|
|
943
943
|
key: e.name,
|
|
944
944
|
class: "shrink-0",
|
|
945
945
|
style: _({ width: `${nn}px` }),
|
|
946
946
|
variant: "known",
|
|
947
|
-
thumbnail: f(
|
|
947
|
+
thumbnail: f(M)(e.thumbnail),
|
|
948
948
|
name: e.name,
|
|
949
949
|
"image-count": e.imageCount,
|
|
950
950
|
onClick: (t) => st(e)
|
|
@@ -956,12 +956,12 @@ var Ue = c({
|
|
|
956
956
|
"onClick"
|
|
957
957
|
]))), 128))], 544),
|
|
958
958
|
E(e, { name: "fade-2" }, {
|
|
959
|
-
default: m(() => [f(
|
|
959
|
+
default: m(() => [f(tt) ? (i(), l(d, {
|
|
960
960
|
key: 0,
|
|
961
961
|
rounded: "",
|
|
962
962
|
severity: "secondary",
|
|
963
963
|
class: "absolute left-1 top-1/2 -translate-y-1/2 cui-icon-md shadow-md z-2 opacity-70 hover:opacity-100 transition-opacity",
|
|
964
|
-
onClick: o[1] ||= (e) =>
|
|
964
|
+
onClick: o[1] ||= (e) => rt(-1)
|
|
965
965
|
}, {
|
|
966
966
|
icon: m(() => [E(D, {
|
|
967
967
|
width: "100%",
|
|
@@ -972,12 +972,12 @@ var Ue = c({
|
|
|
972
972
|
_: 1
|
|
973
973
|
}),
|
|
974
974
|
E(e, { name: "fade-2" }, {
|
|
975
|
-
default: m(() => [f(
|
|
975
|
+
default: m(() => [f(nt) ? (i(), l(d, {
|
|
976
976
|
key: 0,
|
|
977
977
|
rounded: "",
|
|
978
978
|
severity: "secondary",
|
|
979
979
|
class: "absolute right-1 top-1/2 -translate-y-1/2 cui-icon-md shadow-md z-2 opacity-70 hover:opacity-100 transition-opacity",
|
|
980
|
-
onClick: o[2] ||= (e) =>
|
|
980
|
+
onClick: o[2] ||= (e) => rt(1)
|
|
981
981
|
}, {
|
|
982
982
|
icon: m(() => [E(ee, {
|
|
983
983
|
width: "100%",
|
|
@@ -991,34 +991,34 @@ var Ue = c({
|
|
|
991
991
|
x("div", It, [x("span", Lt, [x("span", Rt, a(n.$t("views.faces.unknown_faces")), 1), E(b, {
|
|
992
992
|
size: "small",
|
|
993
993
|
class: "rounded-full px-1.5",
|
|
994
|
-
value: String(f(
|
|
994
|
+
value: String(f(R).unknownFaces.value.length)
|
|
995
995
|
}, null, 8, ["value"])])]),
|
|
996
996
|
x("div", zt, [
|
|
997
|
-
f(
|
|
997
|
+
f(z).clusters.length ? (i(), l(F, {
|
|
998
998
|
key: 0,
|
|
999
999
|
class: "cui-card border-color-inner h-auto!",
|
|
1000
1000
|
pt: { body: { class: "pb-0" } }
|
|
1001
1001
|
}, {
|
|
1002
|
-
content: m(() => [E(
|
|
1003
|
-
default: m(() => [(i(!0), g(v, null, r(f(
|
|
1002
|
+
content: m(() => [E(P, { multiple: "" }, {
|
|
1003
|
+
default: m(() => [(i(!0), g(v, null, r(f(z).clusters, (e, c) => (i(), l(N, {
|
|
1004
1004
|
key: e.clusterId,
|
|
1005
1005
|
value: e.clusterId,
|
|
1006
|
-
class: s({ "border-b-0": c === f(
|
|
1006
|
+
class: s({ "border-b-0": c === f(z).clusters.length - 1 })
|
|
1007
1007
|
}, {
|
|
1008
|
-
default: m(() => [E(
|
|
1008
|
+
default: m(() => [E(A, { class: s({
|
|
1009
1009
|
"px-0 pt-0": c === 0,
|
|
1010
1010
|
"px-0": c !== 0,
|
|
1011
|
-
"pb-5": c === f(
|
|
1011
|
+
"pb-5": c === f(z).clusters.length - 1
|
|
1012
1012
|
}) }, {
|
|
1013
1013
|
default: m(() => [x("span", Bt, [
|
|
1014
|
-
f(
|
|
1014
|
+
f(G) ? (i(), g("div", {
|
|
1015
1015
|
key: 0,
|
|
1016
1016
|
class: "shrink-0",
|
|
1017
|
-
onClick: t((t) =>
|
|
1018
|
-
}, [x("div", { class: s(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors cursor-pointer",
|
|
1017
|
+
onClick: t((t) => Q(e.faces), ["stop"])
|
|
1018
|
+
}, [x("div", { class: s(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors cursor-pointer", Z(e.faces) === "none" ? "border-surface-400 dark:border-surface-500" : "bg-primary border-primary"]) }, [Z(e.faces) === "all" ? (i(), l(O, {
|
|
1019
1019
|
key: 0,
|
|
1020
1020
|
class: "w-4 h-4 text-white"
|
|
1021
|
-
})) :
|
|
1021
|
+
})) : Z(e.faces) === "some" ? (i(), l(k, {
|
|
1022
1022
|
key: 1,
|
|
1023
1023
|
class: "w-4 h-4 text-white"
|
|
1024
1024
|
})) : u("", !0)], 2)], 8, Vt)) : u("", !0),
|
|
@@ -1039,10 +1039,10 @@ var Ue = c({
|
|
|
1039
1039
|
class: "cui-icon-lg",
|
|
1040
1040
|
onClick: (t) => ut(e, "__new__")
|
|
1041
1041
|
}, {
|
|
1042
|
-
icon: m(() => [E(
|
|
1042
|
+
icon: m(() => [E(ie, { class: "w-4 h-4" })]),
|
|
1043
1043
|
_: 1
|
|
1044
1044
|
}, 8, ["onClick"])), [[
|
|
1045
|
-
|
|
1045
|
+
L,
|
|
1046
1046
|
n.$t("views.faces.assign_cluster"),
|
|
1047
1047
|
void 0,
|
|
1048
1048
|
{ top: !0 }
|
|
@@ -1054,10 +1054,10 @@ var Ue = c({
|
|
|
1054
1054
|
class: "cui-icon-lg",
|
|
1055
1055
|
onClick: (t) => gt(e)
|
|
1056
1056
|
}, {
|
|
1057
|
-
icon: m(() => [E(
|
|
1057
|
+
icon: m(() => [E(oe, { class: "w-4 h-4" })]),
|
|
1058
1058
|
_: 1
|
|
1059
1059
|
}, 8, ["onClick"])), [[
|
|
1060
|
-
|
|
1060
|
+
L,
|
|
1061
1061
|
n.$t("views.faces.ignore_cluster"),
|
|
1062
1062
|
void 0,
|
|
1063
1063
|
{ top: !0 }
|
|
@@ -1069,13 +1069,13 @@ var Ue = c({
|
|
|
1069
1069
|
class: "cui-icon-lg",
|
|
1070
1070
|
onClick: (t) => $(e)
|
|
1071
1071
|
}, {
|
|
1072
|
-
icon: m(() => [E(
|
|
1072
|
+
icon: m(() => [E(se, {
|
|
1073
1073
|
width: "100%",
|
|
1074
1074
|
height: "100%"
|
|
1075
1075
|
})]),
|
|
1076
1076
|
_: 1
|
|
1077
1077
|
}, 8, ["onClick"])), [[
|
|
1078
|
-
|
|
1078
|
+
L,
|
|
1079
1079
|
n.$t("views.faces.discard"),
|
|
1080
1080
|
void 0,
|
|
1081
1081
|
{ top: !0 }
|
|
@@ -1083,9 +1083,9 @@ var Ue = c({
|
|
|
1083
1083
|
])
|
|
1084
1084
|
])]),
|
|
1085
1085
|
_: 2
|
|
1086
|
-
}, 1032, ["class"]), E(
|
|
1086
|
+
}, 1032, ["class"]), E(j, { pt: { content: { class: {
|
|
1087
1087
|
"px-0": !0,
|
|
1088
|
-
"pb-5": c === f(
|
|
1088
|
+
"pb-5": c === f(z).clusters.length - 1
|
|
1089
1089
|
} } } }, {
|
|
1090
1090
|
default: m(() => [x("div", {
|
|
1091
1091
|
class: "grid w-full gap-3",
|
|
@@ -1094,12 +1094,12 @@ var Ue = c({
|
|
|
1094
1094
|
key: e.id,
|
|
1095
1095
|
variant: "unknown",
|
|
1096
1096
|
"show-remove": "",
|
|
1097
|
-
thumbnail: f(
|
|
1097
|
+
thumbnail: f(M)(e.thumbnail),
|
|
1098
1098
|
timestamp: e.timestamp,
|
|
1099
1099
|
confidence: e.confidence,
|
|
1100
|
-
"selection-mode": f(
|
|
1101
|
-
selected: f(
|
|
1102
|
-
onClick: (t) => f(
|
|
1100
|
+
"selection-mode": f(G),
|
|
1101
|
+
selected: f(K).has(e.id),
|
|
1102
|
+
onClick: (t) => f(Ye)(e.id),
|
|
1103
1103
|
onAssignPrompt: (t) => yt(e),
|
|
1104
1104
|
onRemove: (t) => mt(e),
|
|
1105
1105
|
onIgnore: (t) => ht(e),
|
|
@@ -1124,26 +1124,26 @@ var Ue = c({
|
|
|
1124
1124
|
})]),
|
|
1125
1125
|
_: 1
|
|
1126
1126
|
})) : u("", !0),
|
|
1127
|
-
f(
|
|
1127
|
+
f(z).ungrouped.length ? (i(), l(F, {
|
|
1128
1128
|
key: 1,
|
|
1129
1129
|
class: "cui-card border-color-inner h-auto!",
|
|
1130
1130
|
pt: { body: { class: "pb-0" } }
|
|
1131
1131
|
}, {
|
|
1132
|
-
content: m(() => [E(
|
|
1133
|
-
default: m(() => [E(
|
|
1132
|
+
content: m(() => [E(P, null, {
|
|
1133
|
+
default: m(() => [E(N, {
|
|
1134
1134
|
value: "__ungrouped__",
|
|
1135
1135
|
class: "border-b-0"
|
|
1136
1136
|
}, {
|
|
1137
|
-
default: m(() => [E(
|
|
1137
|
+
default: m(() => [E(A, { class: "px-0 pt-0 pb-5" }, {
|
|
1138
1138
|
default: m(() => [x("span", Gt, [
|
|
1139
|
-
f(
|
|
1139
|
+
f(G) ? (i(), g("div", {
|
|
1140
1140
|
key: 0,
|
|
1141
1141
|
class: "shrink-0",
|
|
1142
|
-
onClick: o[4] ||= t((e) =>
|
|
1143
|
-
}, [x("div", { class: s(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors cursor-pointer",
|
|
1142
|
+
onClick: o[4] ||= t((e) => Q(f(z).ungrouped), ["stop"])
|
|
1143
|
+
}, [x("div", { class: s(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors cursor-pointer", Z(f(z).ungrouped) === "none" ? "border-surface-400 dark:border-surface-500" : "bg-primary border-primary"]) }, [Z(f(z).ungrouped) === "all" ? (i(), l(O, {
|
|
1144
1144
|
key: 0,
|
|
1145
1145
|
class: "w-4 h-4 text-white"
|
|
1146
|
-
})) :
|
|
1146
|
+
})) : Z(f(z).ungrouped) === "some" ? (i(), l(k, {
|
|
1147
1147
|
key: 1,
|
|
1148
1148
|
class: "w-4 h-4 text-white"
|
|
1149
1149
|
})) : u("", !0)], 2)])) : u("", !0),
|
|
@@ -1152,7 +1152,7 @@ var Ue = c({
|
|
|
1152
1152
|
size: "small",
|
|
1153
1153
|
class: "rounded-full px-1.5",
|
|
1154
1154
|
severity: "secondary",
|
|
1155
|
-
value: String(f(
|
|
1155
|
+
value: String(f(z).ungrouped.length)
|
|
1156
1156
|
}, null, 8, ["value"])]), x("span", Yt, a(n.$t("views.faces.ungrouped_hint")), 1)]),
|
|
1157
1157
|
x("span", {
|
|
1158
1158
|
class: "ml-auto flex items-center gap-1 mr-2",
|
|
@@ -1164,32 +1164,32 @@ var Ue = c({
|
|
|
1164
1164
|
class: "cui-icon-lg",
|
|
1165
1165
|
onClick: on
|
|
1166
1166
|
}, {
|
|
1167
|
-
icon: m(() => [E(
|
|
1167
|
+
icon: m(() => [E(se, {
|
|
1168
1168
|
width: "100%",
|
|
1169
1169
|
height: "100%"
|
|
1170
1170
|
})]),
|
|
1171
1171
|
_: 1
|
|
1172
1172
|
})), [[
|
|
1173
|
-
|
|
1173
|
+
L,
|
|
1174
1174
|
n.$t("views.faces.discard"),
|
|
1175
1175
|
void 0,
|
|
1176
1176
|
{ top: !0 }
|
|
1177
1177
|
]])])
|
|
1178
1178
|
])]),
|
|
1179
1179
|
_: 1
|
|
1180
|
-
}), E(
|
|
1180
|
+
}), E(j, { pt: { content: { class: "px-0 pb-5" } } }, {
|
|
1181
1181
|
default: m(() => [x("div", {
|
|
1182
1182
|
class: "grid w-full gap-3",
|
|
1183
1183
|
style: _({ gridTemplateColumns: `repeat(auto-fill, minmax(${f(w) ? "120px" : "140px"}, 1fr))` })
|
|
1184
|
-
}, [(i(!0), g(v, null, r(f(
|
|
1184
|
+
}, [(i(!0), g(v, null, r(f(z).ungrouped, (e) => (i(), l(T, {
|
|
1185
1185
|
key: e.id,
|
|
1186
1186
|
variant: "unknown",
|
|
1187
|
-
thumbnail: f(
|
|
1187
|
+
thumbnail: f(M)(e.thumbnail),
|
|
1188
1188
|
timestamp: e.timestamp,
|
|
1189
1189
|
confidence: e.confidence,
|
|
1190
|
-
"selection-mode": f(
|
|
1191
|
-
selected: f(
|
|
1192
|
-
onClick: (t) => f(
|
|
1190
|
+
"selection-mode": f(G),
|
|
1191
|
+
selected: f(K).has(e.id),
|
|
1192
|
+
onClick: (t) => f(Ye)(e.id),
|
|
1193
1193
|
onAssignPrompt: (t) => yt(e),
|
|
1194
1194
|
onIgnore: (t) => ht(e),
|
|
1195
1195
|
onSkip: (t) => pt(e)
|
|
@@ -1212,32 +1212,32 @@ var Ue = c({
|
|
|
1212
1212
|
})]),
|
|
1213
1213
|
_: 1
|
|
1214
1214
|
})) : u("", !0),
|
|
1215
|
-
f(
|
|
1215
|
+
f(R).ignoredFaces.value.length ? (i(), l(F, {
|
|
1216
1216
|
key: 2,
|
|
1217
1217
|
class: "cui-card border-color-inner h-auto!",
|
|
1218
1218
|
pt: { body: { class: "pb-0" } }
|
|
1219
1219
|
}, {
|
|
1220
|
-
content: m(() => [E(
|
|
1221
|
-
default: m(() => [E(
|
|
1220
|
+
content: m(() => [E(P, null, {
|
|
1221
|
+
default: m(() => [E(N, {
|
|
1222
1222
|
value: "__ignored__",
|
|
1223
1223
|
class: "border-b-0"
|
|
1224
1224
|
}, {
|
|
1225
|
-
default: m(() => [E(
|
|
1226
|
-
default: m(() => [x("span", Xt, [x("div", Zt, [E(
|
|
1225
|
+
default: m(() => [E(A, { class: "px-0 pt-0 pb-5" }, {
|
|
1226
|
+
default: m(() => [x("span", Xt, [x("div", Zt, [E(oe, { class: "w-5 h-5 text-muted" })]), x("span", Qt, [x("span", $t, [C(a(n.$t("views.faces.ignored_faces")) + " ", 1), E(b, {
|
|
1227
1227
|
size: "small",
|
|
1228
1228
|
class: "rounded-full px-1.5",
|
|
1229
1229
|
severity: "secondary",
|
|
1230
|
-
value: String(f(
|
|
1230
|
+
value: String(f(R).ignoredFaces.value.length)
|
|
1231
1231
|
}, null, 8, ["value"])]), x("span", en, a(n.$t("views.faces.ignored_hint")), 1)])])]),
|
|
1232
1232
|
_: 1
|
|
1233
|
-
}), E(
|
|
1233
|
+
}), E(j, { pt: { content: { class: "px-0 pb-5" } } }, {
|
|
1234
1234
|
default: m(() => [x("div", {
|
|
1235
1235
|
class: "grid w-full gap-3",
|
|
1236
1236
|
style: _({ gridTemplateColumns: `repeat(auto-fill, minmax(${f(w) ? "120px" : "140px"}, 1fr))` })
|
|
1237
|
-
}, [(i(!0), g(v, null, r(f(
|
|
1237
|
+
}, [(i(!0), g(v, null, r(f(R).ignoredFaces.value, (e) => (i(), l(T, {
|
|
1238
1238
|
key: e.id,
|
|
1239
1239
|
variant: "ignored",
|
|
1240
|
-
thumbnail: f(
|
|
1240
|
+
thumbnail: f(M)(e.thumbnail),
|
|
1241
1241
|
timestamp: e.timestamp,
|
|
1242
1242
|
onRestore: (t) => vt(e)
|
|
1243
1243
|
}, null, 8, [
|
|
@@ -1254,71 +1254,71 @@ var Ue = c({
|
|
|
1254
1254
|
_: 1
|
|
1255
1255
|
})) : u("", !0)
|
|
1256
1256
|
]),
|
|
1257
|
-
!f(
|
|
1257
|
+
!f(R).unknownFaces.value.length && !f(R).ignoredFaces.value.length ? (i(), g("div", tn, a(n.$t("views.faces.no_unknown_faces")), 1)) : u("", !0)
|
|
1258
1258
|
])], 64))], 64)),
|
|
1259
|
-
f(
|
|
1259
|
+
f(Xe) && f(R).knownFaces.value.length ? (i(), g("div", {
|
|
1260
1260
|
key: 3,
|
|
1261
|
-
class: s(["fixed z-10", f(
|
|
1261
|
+
class: s(["fixed z-10", f(Ze) ? "scale-0 opacity-0" : "scale-100 opacity-100"]),
|
|
1262
1262
|
style: _({
|
|
1263
|
-
left: `calc(${f(
|
|
1264
|
-
bottom: `calc(${f(
|
|
1265
|
-
transition: f(
|
|
1263
|
+
left: `calc(${f(Le)}px + 0.75rem)`,
|
|
1264
|
+
bottom: `calc(${f(pe)}px + 1.25rem + var(--safe-area-inset-bottom))`,
|
|
1265
|
+
transition: f(ze) ? "left 200ms, transform 200ms ease-in-out, opacity 200ms ease-in-out" : void 0
|
|
1266
1266
|
})
|
|
1267
1267
|
}, [E(d, {
|
|
1268
1268
|
severity: "secondary",
|
|
1269
1269
|
rounded: "",
|
|
1270
1270
|
class: "shadow-lg",
|
|
1271
|
-
disabled: f(
|
|
1272
|
-
label: f(
|
|
1273
|
-
done: f(
|
|
1274
|
-
total: f(
|
|
1271
|
+
disabled: f(H)?.running,
|
|
1272
|
+
label: f(Be) ? n.$t("views.faces.reindex.checking") : f(H)?.running ? n.$t("views.faces.reindex.progress", {
|
|
1273
|
+
done: f(H).done,
|
|
1274
|
+
total: f(H).total
|
|
1275
1275
|
}) : n.$t("views.faces.reindex.button"),
|
|
1276
1276
|
onClick: ct
|
|
1277
1277
|
}, {
|
|
1278
|
-
icon: m(() => [f(
|
|
1278
|
+
icon: m(() => [f(H)?.running ? (i(), l(f(de), { key: 0 })) : (i(), l(f(Ie), { key: 1 }))]),
|
|
1279
1279
|
_: 1
|
|
1280
1280
|
}, 8, ["disabled", "label"])], 6)) : u("", !0),
|
|
1281
|
-
E(
|
|
1282
|
-
default: m(() => [f(
|
|
1283
|
-
E(
|
|
1281
|
+
E(_e, { "force-visible": f(G) }, {
|
|
1282
|
+
default: m(() => [f(G) ? (i(), g(v, { key: 1 }, [
|
|
1283
|
+
E(I, {
|
|
1284
1284
|
grouped: "",
|
|
1285
1285
|
"tooltip-props": { value: n.$t("components.form.tooltip.cancel_selection") },
|
|
1286
1286
|
"button-props": { severity: "secondary" },
|
|
1287
|
-
icon: f(
|
|
1287
|
+
icon: f(Ce),
|
|
1288
1288
|
"icon-props": {
|
|
1289
1289
|
width: "100%",
|
|
1290
1290
|
height: "100%"
|
|
1291
1291
|
},
|
|
1292
|
-
onClick: f(
|
|
1292
|
+
onClick: f(Y)
|
|
1293
1293
|
}, null, 8, [
|
|
1294
1294
|
"tooltip-props",
|
|
1295
1295
|
"icon",
|
|
1296
1296
|
"onClick"
|
|
1297
1297
|
]),
|
|
1298
|
-
E(
|
|
1298
|
+
E(I, {
|
|
1299
1299
|
grouped: "",
|
|
1300
|
-
"tooltip-props": { value: f(
|
|
1301
|
-
"button-props": { severity: f(
|
|
1302
|
-
icon: f(
|
|
1300
|
+
"tooltip-props": { value: f(Ke) ? n.$t("components.form.tooltip.deselect_all") : n.$t("components.form.tooltip.select_all") },
|
|
1301
|
+
"button-props": { severity: f(Ke) ? "primary" : "secondary" },
|
|
1302
|
+
icon: f(ce),
|
|
1303
1303
|
"icon-props": {
|
|
1304
1304
|
width: "100%",
|
|
1305
1305
|
height: "100%"
|
|
1306
1306
|
},
|
|
1307
|
-
onClick: f(
|
|
1307
|
+
onClick: f(Je)
|
|
1308
1308
|
}, null, 8, [
|
|
1309
1309
|
"tooltip-props",
|
|
1310
1310
|
"button-props",
|
|
1311
1311
|
"icon",
|
|
1312
1312
|
"onClick"
|
|
1313
1313
|
]),
|
|
1314
|
-
E(
|
|
1314
|
+
E(I, {
|
|
1315
1315
|
grouped: "",
|
|
1316
1316
|
"tooltip-props": { value: n.$t("views.faces.assign") },
|
|
1317
1317
|
"button-props": {
|
|
1318
1318
|
severity: "secondary",
|
|
1319
|
-
disabled: !f(
|
|
1319
|
+
disabled: !f(K).size || f(J)
|
|
1320
1320
|
},
|
|
1321
|
-
icon: f(
|
|
1321
|
+
icon: f(U),
|
|
1322
1322
|
"icon-props": {
|
|
1323
1323
|
width: "100%",
|
|
1324
1324
|
height: "100%"
|
|
@@ -1329,14 +1329,14 @@ var Ue = c({
|
|
|
1329
1329
|
"button-props",
|
|
1330
1330
|
"icon"
|
|
1331
1331
|
]),
|
|
1332
|
-
E(
|
|
1332
|
+
E(I, {
|
|
1333
1333
|
grouped: "",
|
|
1334
1334
|
"tooltip-props": { value: n.$t("views.faces.remove_from_cluster") },
|
|
1335
1335
|
"button-props": {
|
|
1336
1336
|
severity: "secondary",
|
|
1337
|
-
disabled: !f(
|
|
1337
|
+
disabled: !f(Qe).length || f(J)
|
|
1338
1338
|
},
|
|
1339
|
-
icon: f(
|
|
1339
|
+
icon: f(We),
|
|
1340
1340
|
"icon-props": {
|
|
1341
1341
|
width: "100%",
|
|
1342
1342
|
height: "100%"
|
|
@@ -1347,14 +1347,14 @@ var Ue = c({
|
|
|
1347
1347
|
"button-props",
|
|
1348
1348
|
"icon"
|
|
1349
1349
|
]),
|
|
1350
|
-
E(
|
|
1350
|
+
E(I, {
|
|
1351
1351
|
grouped: "",
|
|
1352
1352
|
"tooltip-props": { value: n.$t("views.faces.ignore") },
|
|
1353
1353
|
"button-props": {
|
|
1354
1354
|
severity: "secondary",
|
|
1355
|
-
disabled: !f(
|
|
1355
|
+
disabled: !f(K).size || f(J)
|
|
1356
1356
|
},
|
|
1357
|
-
icon: f(
|
|
1357
|
+
icon: f(Pe),
|
|
1358
1358
|
"icon-props": {
|
|
1359
1359
|
width: "100%",
|
|
1360
1360
|
height: "100%"
|
|
@@ -1365,12 +1365,12 @@ var Ue = c({
|
|
|
1365
1365
|
"button-props",
|
|
1366
1366
|
"icon"
|
|
1367
1367
|
]),
|
|
1368
|
-
E(
|
|
1368
|
+
E(I, {
|
|
1369
1369
|
grouped: "",
|
|
1370
1370
|
"tooltip-props": { value: n.$t("views.faces.discard") },
|
|
1371
1371
|
"button-props": {
|
|
1372
1372
|
severity: "danger",
|
|
1373
|
-
disabled: !f(
|
|
1373
|
+
disabled: !f(K).size || f(J)
|
|
1374
1374
|
},
|
|
1375
1375
|
icon: f(ne),
|
|
1376
1376
|
"icon-props": {
|
|
@@ -1384,31 +1384,31 @@ var Ue = c({
|
|
|
1384
1384
|
"icon"
|
|
1385
1385
|
])
|
|
1386
1386
|
], 64)) : (i(), g(v, { key: 0 }, [
|
|
1387
|
-
f(
|
|
1387
|
+
f(Ge).length ? (i(), l(I, {
|
|
1388
1388
|
key: 0,
|
|
1389
1389
|
grouped: "",
|
|
1390
1390
|
"tooltip-props": { value: n.$t("views.faces.select") },
|
|
1391
1391
|
"button-props": { severity: "secondary" },
|
|
1392
|
-
icon: f(
|
|
1392
|
+
icon: f(ge),
|
|
1393
1393
|
"icon-props": {
|
|
1394
1394
|
width: "100%",
|
|
1395
1395
|
height: "100%"
|
|
1396
1396
|
},
|
|
1397
|
-
onClick: f(
|
|
1397
|
+
onClick: f(qe)
|
|
1398
1398
|
}, null, 8, [
|
|
1399
1399
|
"tooltip-props",
|
|
1400
1400
|
"icon",
|
|
1401
1401
|
"onClick"
|
|
1402
1402
|
])) : u("", !0),
|
|
1403
|
-
f(
|
|
1403
|
+
f(R).knownFaces.value.length ? (i(), l(I, {
|
|
1404
1404
|
key: 1,
|
|
1405
1405
|
grouped: "",
|
|
1406
1406
|
"tooltip-props": { value: n.$t("views.faces.rescan_events") },
|
|
1407
1407
|
"button-props": {
|
|
1408
1408
|
severity: "secondary",
|
|
1409
|
-
disabled: f(
|
|
1409
|
+
disabled: f(V)
|
|
1410
1410
|
},
|
|
1411
|
-
icon: f(
|
|
1411
|
+
icon: f(V) ? f(de) : f(je),
|
|
1412
1412
|
"icon-props": {
|
|
1413
1413
|
width: "100%",
|
|
1414
1414
|
height: "100%"
|
|
@@ -1419,11 +1419,11 @@ var Ue = c({
|
|
|
1419
1419
|
"button-props",
|
|
1420
1420
|
"icon"
|
|
1421
1421
|
])) : u("", !0),
|
|
1422
|
-
E(
|
|
1422
|
+
E(I, {
|
|
1423
1423
|
grouped: "",
|
|
1424
1424
|
"tooltip-props": { value: n.$t("views.faces.add_face") },
|
|
1425
1425
|
"button-props": { class: "text-white" },
|
|
1426
|
-
icon: f(
|
|
1426
|
+
icon: f(Me),
|
|
1427
1427
|
"icon-props": {
|
|
1428
1428
|
width: "30px",
|
|
1429
1429
|
height: "30px"
|