@camera.ui/server 2.0.18 → 2.0.19
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-hjvRJoie.js → 404-CG23ZpFv.js} +1 -1
- package/dist/interface/assets/{About-CXK9lps9.js → About-Dawv7dKP.js} +1 -1
- package/dist/interface/assets/{Adminpanel-D1bsiC_B.js → Adminpanel-529Hf8yC.js} +1 -1
- package/dist/interface/assets/{Automation-BE-lA9i2.js → Automation-BaF8MdrF.js} +3 -3
- package/dist/interface/assets/{AutomationImport-B1Wsf3O1.js → AutomationImport-CXXYinR0.js} +2 -2
- package/dist/interface/assets/{AutomationStore-BUmTKbR8.js → AutomationStore-DOdwMUIP.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-DfENt4wG.js → AutomationStoreDetail-CkNGHRNU.js} +2 -2
- package/dist/interface/assets/{Automations-3SibYydl.js → Automations-sO0qi27q.js} +2 -2
- package/dist/interface/assets/Camera-DW__aloL.js +2 -0
- package/dist/interface/assets/{CameraConsole-D_1E2i7a.js → CameraConsole-D06gEm91.js} +1 -1
- package/dist/interface/assets/{Cameras-Co54hUIY.js → Cameras-BNBi1F0q.js} +1 -1
- package/dist/interface/assets/Camview-Djtm5hEO.js +1 -0
- package/dist/interface/assets/{Config-CZ3qg4V7.js → Config-DioQs8yK.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-BkP4KpkL.js → ConfigActionCameraControl-4E0E0_fY.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-CW3x89X3.js → ConfigActionDelay-Cjmjm7gn.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-CqRThGAM.js → ConfigActionHttp-W-_LXPpQ.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-D-wCYFc9.js → ConfigActionImageInput-D20ulIj4.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-50Oit6xb.js → ConfigActionMqtt-PGVLgx6J.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-CV4TZpsD.js → ConfigActionNotification-DtE9vlwt.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-DDCdD_nG.js → ConfigActionOutput-Cb0Ik5Lg.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-3BiyEJsy.js → ConfigActionPlugin-DeXj_Qku.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-kkHOn3aC.js → ConfigActionSensor-DH03MD04.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-O4nan24K.js → ConfigActionSnapshot-bEiIuVkE.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Ci3wXMYZ.js → ConfigActionVariable-6xpPwfGg.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-CPzw54yv.js → ConfigConditionIfElse-CnUdhYBw.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-DcV8-3Tj.js → ConfigConditionSensorState-Cpod48bM.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-b0ikuhC6.js → ConfigConditionSwitch-CrcDpdeO.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-q7GYSoQk.js → ConfigConditionTime-BK18wRIR.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-Ba_ZC14J.js → ConfigSensorValueInput-BDJSe4AD.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-CF-C3A-0.js → ConfigTriggerDetection-CLY_l8WB.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CW5W3lot.js → ConfigTriggerGeofence-CAHirXSm.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-B7UGIwE2.js → ConfigTriggerManual-BifyCaS9.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-DL1MIwBs.js → ConfigTriggerMqtt-DVxJJ1Ii.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-DCUXevkw.js → ConfigTriggerSchedule-C5apVQ3A.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-DRX68f5E.js → ConfigTriggerSensor-CtU2-Ebe.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-BOt8AI3a.js → ConfigTriggerSystem-P_hogQ3_.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-CFeWElXX.js → ConfigTriggerWebhook-D4lYvM7m.js} +1 -1
- package/dist/interface/assets/{Console-Cxs29skk.js → Console-DgwnUKDQ.js} +1 -1
- package/dist/interface/assets/{CuiAutomationRunsDialog-yXyj7vrL.js → CuiAutomationRunsDialog-D8DfgOlE.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-SnWWgn5I.js → CuiBottomSheet-BzKu50hx.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-d46jCJeG.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-BmmyPCOP.js → CuiCameraPipCard-RB60OEgF.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-DSeBoMKj.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-BE9d09pX.js → CuiCameraShares-8Mo2XwFD.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-TiUZNpga.js → CuiCameraTable-MjJctqrJ.js} +1 -1
- package/dist/interface/assets/{CuiDataTable-DqtFJKC6.js → CuiDataTable-DQRKmdcE.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-C8eDXMRg.js → CuiPluginCard-4NsvwvgQ.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-BX0xg3py.js → CuiPluginCategoryChip-AsMNaK01.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-DZS31TnY.js → CuiPluginOAuthButton-7mwBhBzg.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-rZePqROi.js → CuiPluginTrustBadge-tIqjoCDz.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-BqMd2Oh6.js → CuiQRCode-l-PLLptq.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-Dkpe799a.js → CuiRecordingsGrid-BeOP2hpR.js} +1 -1
- package/dist/interface/assets/{CuiSchema-J_b00DYu.js → CuiSchema-TojDO40O.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-CXxnNN1s.js → CuiTopNavbarItem-BhUA2MiU.js} +1 -1
- package/dist/interface/assets/{Faces-CaGWFf-y.js → Faces-DW0RFypU.js} +1 -1
- package/dist/interface/assets/FirstSteps-BgNqGgK1.js +1 -0
- package/dist/interface/assets/{Instances-BD727wNP.js → Instances-Cllek48f.js} +1 -1
- package/dist/interface/assets/{Logs-DK8-ilEl.js → Logs-ic15Mp_h.js} +1 -1
- package/dist/interface/assets/{Menu-Cn0dBf4v.js → Menu-By6NRK44.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-C6aER-P5.js → OAuthDeviceFlow-BpeJI0ad.js} +1 -1
- package/dist/interface/assets/{Plugin-Cq_hIp8V.js → Plugin-B_ANQppI.js} +1 -1
- package/dist/interface/assets/{PluginConsole-cQBNvsGp.js → PluginConsole-BaPz9Ag3.js} +1 -1
- package/dist/interface/assets/{PluginDetail-9-jofn3X.js → PluginDetail-j7srfPSY.js} +2 -2
- package/dist/interface/assets/{PluginSchema-DhNpD_HM.js → PluginSchema-Cb_F8uew.js} +1 -1
- package/dist/interface/assets/{PluginSearch-CYEjSopJ.js → PluginSearch-C4JY7Iwj.js} +2 -2
- package/dist/interface/assets/PluginSearch-CTAtKAK4.js +1 -0
- package/dist/interface/assets/{Plugins-YyemYjP4.js → Plugins-RVhaBdkA.js} +1 -1
- package/dist/interface/assets/Recordings-frQ3fb5P.js +1 -0
- package/dist/interface/assets/{Settings-CDH3BeuL.js → Settings-DQgp2tgH.js} +1 -1
- package/dist/interface/assets/{SettingsAccount-CycVwV2K.js → SettingsAccount-BhCf1XAp.js} +1 -1
- package/dist/interface/assets/SettingsAccount-BhseUwL4.js +1 -0
- package/dist/interface/assets/SettingsAppearance--SabFiHj.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-BnuFyX8o.js → SettingsAppearance-YNXseOYk.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-CBF2IQN_.js → SettingsBackup-DIWxITfi.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-CChS0s5J.js → SettingsMqtt-Bf23ZOH-.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-D-2v9oM8.js → SettingsNotifications-Dv9Fixz_.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-Ui2Xd5Ye.js → SettingsRecordings-Dxdxayym.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-D2nKjVHR.js → SettingsRemote-CGMwCx4y.js} +1 -1
- package/dist/interface/assets/{SettingsSystem-C1vJGmFo.js → SettingsSystem-ZHz6-3eN.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-DTFIKS6H.js → SettingsUsers-Dxj65vMx.js} +1 -1
- package/dist/interface/assets/{Terminal-DDsjIhe7.js → Terminal-DFGD9NeS.js} +1 -1
- package/dist/interface/assets/{VariableInput-BEjTv8xz.js → VariableInput-Br6YY5HX.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-DcgHR-OY.js → VariableSuggestions-D898dM5K.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-DrVcvut6.js → VersionsHandler-J51M6nHE.js} +1 -1
- package/dist/interface/assets/{Workers-xyas5_sn.js → Workers-BHibnYvL.js} +1 -1
- package/dist/interface/assets/{api-CdJDEL3z.js → api-BwUGcpse.js} +2 -2
- package/dist/interface/assets/{api-B1n4M73U.js → api-CkxuZ9lw.js} +1 -1
- package/dist/interface/assets/{auth-DOnr6Mc1.js → auth-Dgn4npDp.js} +1 -1
- package/dist/interface/assets/{automations-B-tYtR3y.js → automations-Dab1-eSY.js} +1 -1
- package/dist/interface/assets/{cameras.schema-C-xz1hwq.js → cameras.schema-CwGkDyzk.js} +1 -1
- package/dist/interface/assets/cloudHandoff-CpMzGP4H.js +1 -0
- package/dist/interface/assets/{config-CYmKCSzU.js → config-BYU9LRQr.js} +1 -1
- package/dist/interface/assets/{flowSchema-CsPTDyH8.js → flowSchema-BuhMrSRP.js} +1 -1
- package/dist/interface/assets/{main-DILs_jYV.js → main-DvYnQiyf.js} +3 -3
- package/dist/interface/assets/{mqtt-BrTLJ_eM.js → mqtt-Bj9HWVr-.js} +1 -1
- package/dist/interface/assets/{notifications-Dt6ygmRP.js → notifications-B2GVNEL7.js} +1 -1
- package/dist/interface/assets/{plugins-BcJnIPJC.js → plugins-Ct1tFRqH.js} +1 -1
- package/dist/interface/assets/{round-restart-alt-B6N0m8oC.js → round-restart-alt-COgLKyfG.js} +1 -1
- package/dist/interface/assets/{server-_ByAktOF.js → server-CmHQA2OF.js} +1 -1
- package/dist/interface/assets/{theme-CORL_-pn.js → theme-BdlqMboH.js} +1 -1
- package/dist/interface/assets/{types-CGqXKLKp.js → types-Du61QgCF.js} +1 -1
- package/dist/interface/assets/{types-DDSlYw6n.js → types-o57RMLy1.js} +1 -1
- package/dist/interface/assets/{useAppVersion-CWa09Ql5.js → useAppVersion-GqkuhLFI.js} +1 -1
- package/dist/interface/assets/useBackupRestore-xqzQKAfT.js +1 -0
- package/dist/interface/assets/{useCameraOptions-L0smaaZz.js → useCameraOptions-CAu9scRL.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-DQSgBMsw.js → useLogsSocket-B_EbSIOU.js} +1 -1
- package/dist/interface/assets/{useServerRestart-lPp2ZiX-.js → useServerRestart-CZj3Y0Gh.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-BroqI_Eh.js → useStreamStatus-B12LRLX9.js} +1 -1
- package/dist/interface/assets/{useUserOptions-BB451w9I.js → useUserOptions-BycuHkS6.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-Bq-hQsT7.js → vendor-cameraui-CywDBRLD.js} +16 -16
- package/dist/interface/assets/{vendor-core-CoiYJRqo.js → vendor-core-0Lu3l40a.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-B3sIO6X2.js → vendor-primevue-Cm1rEh62.js} +1 -1
- package/dist/interface/index.html +18 -18
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +7 -4
- package/dist/server/src/api/controllers/backup.controller.js +1 -0
- package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
- package/dist/server/src/api/database/selfcheck.js +5 -3
- package/dist/server/src/api/database/selfcheck.js.map +1 -1
- package/dist/server/src/camera/controller.d.ts +1 -1
- package/dist/server/src/camera/controller.js +13 -15
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js +20 -8
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/main.js +3 -5
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/rpc/interfaces/device.d.ts +1 -1
- package/dist/server/src/types.d.ts +1 -0
- package/dist/server/src/utils/ipc.d.ts +3 -0
- package/dist/server/src/utils/ipc.js +33 -0
- package/dist/server/src/utils/ipc.js.map +1 -1
- package/package.json +7 -4
- package/dist/interface/assets/Camera-ByUigyg3.js +0 -2
- package/dist/interface/assets/Camview-D83wwTUB.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DVzVzs8p.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-DLfMPUOL.js +0 -1
- package/dist/interface/assets/FirstSteps-fOhI977X.js +0 -1
- package/dist/interface/assets/PluginSearch-Cy8JvNJD.js +0 -1
- package/dist/interface/assets/Recordings-Cwns8Zzj.js +0 -1
- package/dist/interface/assets/SettingsAccount-BoWR0DKm.js +0 -1
- package/dist/interface/assets/SettingsAppearance-DHSpEmup.js +0 -1
- package/dist/interface/assets/cloudHandoff-zt3rCB3J.js +0 -1
- package/dist/interface/assets/useBackupRestore-5tZ-awcr.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiCameraRecordings-DLfMPUOL.js","./vendor-cameraui-Bq-hQsT7.js","./rolldown-runtime-DAXXjFlN.js","./vendor-CdGy-Xet.js","./api-CdJDEL3z.js","./vendor-zod-BaT-dXMv.js","./types-CGqXKLKp.js","./lightbulb-outline-BGFG7wv-.js","./vendor-core-CoiYJRqo.js","./vendor-primevue-B3sIO6X2.js","./vendor-dnd-BN6m9rq8.js","./close-BCRtoBTk.js","./vendor-draggabilly-BLoTmI_a.js","./api-Ct6LuJao.css","./ring-resize-peEJMXPl.js","./CuiRecordingsGrid-Dkpe799a.js","./CuiRecordingsGrid-COHg3ZCT.css","./CuiCameraRecordings-BHj7CUE7.css","./CuiCameraTable-TiUZNpga.js","./useStreamStatus-BroqI_Eh.js","./CuiDataTable-DqtFJKC6.js","./arrow-right-outline-BrpH6MGt.js","./CuiDataTable-W68cyoLf.css","./CuiCameraShares-BE9d09pX.js","./CuiBottomSheet-DVzVzs8p.js","./CuiBottomSheet-SnWWgn5I.js","./CuiBottomSheet-DsjZEdig.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{F as e,Ot as t,Pt as n,Ur as r,b as i,f as a,gt as o,kr as ee,wt as te}from"./vendor-cameraui-Bq-hQsT7.js";import{At as ne,Gn as s,Jt as re,Q as c,S as l,U as ie,Yn as u,an as d,en as ae,jt as oe,nn as se,nt as ce,on as f,q as p,s as le}from"./api-CdJDEL3z.js";import{An as m,Qn as h,Rn as g,Sr as _,Tr as v,Ut as y,Xn as b,_n as x,an as ue,bn as S,cr as de,dn as C,fn as w,hn as fe,ln as T,lr as E,nn as pe,nr as D,pn as O,pr as k,sn as me,tr as A,un as j,vn as M,wr as he,xr as N,zn as ge}from"./vendor-CdGy-Xet.js";import{c as _e,l as ve,u as ye}from"./vendor-core-CoiYJRqo.js";import{B as be,G as xe,H as Se,V as Ce,W as we,b as Te}from"./vendor-primevue-B3sIO6X2.js";import{n as Ee,t as De}from"./zoom-in-2i20zd_d.js";import{t as Oe}from"./CuiCameraPipCard-BmmyPCOP.js";var P={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ke(e,t){return g(),O(`svg`,P,[...t[0]||=[j(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[j(`path`,{d:`M12 7v5l2 2m3 8l5-3l-5-3z`}),j(`path`,{d:`M13.017 20.943a9 9 0 1 1 7.831-7.292`})],-1)]])}var Ae=E({name:`tabler-clock-play`,render:ke}),je={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Me(e,t){return g(),O(`svg`,je,[...t[0]||=[j(`path`,{fill:`currentColor`,d:`M18 18v2H6v-2zm3-7v2H3v-2zm-3-7v2H6V4z`},null,-1)]])}var Ne=E({name:`ri-menu5-line`,render:Me}),Pe={class:`w-full h-full flex flex-col lg:flex-row gap-0 lg:gap-2 relative`},Fe={key:0,class:`h-full flex items-center justify-center`},Ie={class:`flex flex-col-reverse gap-2 items-center`},Le=se(S({__name:`Camera`,setup(se){let S=p(()=>y(()=>import(`./CuiCameraRecordings-DLfMPUOL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),E=p(()=>y(()=>import(`./CuiCameraTable-TiUZNpga.js`),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,10,11,12,13,19,20,21,22]),import.meta.url)),P=p(()=>y(()=>import(`./CuiCameraShares-BE9d09pX.js`),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,10,11,12,13,20,21,22]),import.meta.url)),ke=p(()=>y(()=>import(`./CuiBottomSheet-DVzVzs8p.js`),__vite__mapDeps([24,25,1,2,3,4,5,6,7,8,9,10,11,12,13,26]),import.meta.url)),je=new ce,Me=u(),Le=s(),Re=ee(),F=Te(),I=ve(),ze=ye(),{xmdBreakpoint:L,smBreakpoint:R,mdBreakpoint:Be}=d(),{topbarHeight:Ve}=f(),{plugin:He}=o(`@camera.ui/camera-ui-nvr`),Ue=l(),z=T(()=>I.params.cameraname),{data:B}=je.getCameraQuery(z),V=[`Off`,`1m`,`2m`,`3m`,`5m`],H=b(`cameraCardRef`),U=b(`cuiTimelineRef`),We=b(`timelineRef`),W=k(!Ue.isTransitioning),Ge=k(!1),G=k(!1),Ke=k(!1),qe=k([]),K=k(),Je=k(),q=k(0),J=k(!1),Y=T(()=>B.value?._id),Ye=T(()=>!!H.value?.isFullscreen),Xe=T(()=>U.value?.currentEventDescription),Ze=r(We),X=a(T(()=>Y.value??``),{sourceRole:K}),Z=T(()=>{let e=I.query.startTs,t=Number(e);return e&&!isNaN(t)?t:void 0}),Qe=T(()=>({locale:Re.locale.value,dayNames:F.config.locale?.dayNames,dayNamesShort:F.config.locale?.dayNamesShort,monthNames:F.config.locale?.monthNames,monthNamesShort:F.config.locale?.monthNamesShort})),$e=T(()=>{let e=U.value;return!e?.trimStartMs||!e?.trimEndMs?0:e.trimRecordingDurationMs??e.trimEndMs-e.trimStartMs}),Q=T(()=>$e.value<3600*1e3);if(ge(c,{active:Ke,regions:qe}),!W.value){let e=h(()=>Ue.isTransitioning,t=>{t||(W.value=!0,e())});setTimeout(()=>{W.value||(W.value=!0,e())},1e3)}function et(){Q.value||(q.value=(q.value+1)%V.length)}function tt(e){try{H.value?.timelineScroll(e)}catch{}}function $(e){U.value?.scrollToEvent(e)}async function nt(){let e=U.value;if(!e)return;let t=e.trimStartMs,n=e.trimEndMs;if(!t||!n||!Y.value)return;let r=He.value;if(!r?.nvrExport)return;let i=V[q.value],a=i===`Off`?0:parseInt(i)*60;J.value=!0;try{let e=await r.nvrExport(Y.value,t*1e3,n*1e3,{timelapseIntervalSec:a||void 0});await ae({url:e.url,filename:e.filename})}catch(e){Me.error(`Export failed:`,e),Le.add({severity:`error`,summary:Re.t(`views.recordings.download_failed`),detail:le(e),life:5e3})}finally{J.value=!1}}return h(Z,e=>{e&&(X.mode.value=`play`)},{immediate:!0,flush:`sync`}),h([Y,Z],([e,t])=>{!e||!t||Je.value!==t&&B.value?.name===z.value&&(Je.value=t,X.play(t*1e3),ze.replace({query:{...I.query,startTs:void 0}}))},{immediate:!0}),h(z,(e,t)=>{t&&L.value&&Ge.value&&m(()=>{m(()=>{try{H.value?.toggleTimeline()}catch{}})})},{flush:`pre`}),h(()=>H.value?.timelineState,e=>{e!==void 0&&(Ge.value=e)}),h(()=>H.value?.trimMode,e=>{e||(q.value=0)}),h(Q,e=>{e&&(q.value=0)}),_e((e,t)=>{e.params.cameraname!==t.params.cameraname&&X.isActive.value&&X.stop()}),(r,a)=>{let o=Oe,ee=te,s=be,c=Ce,l=Se,u=we,d=xe,ae=e,se=ne,ce=oe,f=t,p=Ne,le=Ae,m=ie,h=De,y=Ee,b=n;return g(),O(`div`,{class:_({"pt-2":!N(R),"px-2":!N(R)})},[j(`div`,Pe,[j(`div`,{class:_([`w-full flex flex-col gap-2`,{"h-full":!N(R)}]),style:he({paddingRight:!N(R)&&!N(L)?`calc(${N(Ze).width.value||400}px + 0.5rem)`:`0px`})},[j(`div`,{class:_({"flex max-h-[60%]":!N(R)})},[(g(),C(o,{ref_key:`cameraCardRef`,ref:H,key:N(z),"source-role":N(K),"onUpdate:sourceRole":a[0]||=e=>de(K)?K.value=e:null,"back-button":N(R),"camera-info":N(z),"flat-card":N(R),resizable:N(R),"control-microphone-button":!N(R),"toolbar-timeline-button":N(L),"toolbar-description-button":!!N(He),"event-description":N(Xe),"camera-name-overlay":!1,"show-shortcuts":``,"view-transition":``,class:`flex-1 h-full min-w-0`},null,8,[`source-role`,`back-button`,`camera-info`,`flat-card`,`resizable`,`control-microphone-button`,`toolbar-timeline-button`,`toolbar-description-button`,`event-description`]))],2),N(R)?w(``,!0):(g(),C(ae,{key:0,class:`cui-card flex-1 min-h-0`,pt:{content:{class:`overflow-hidden h-full flex flex-col`},body:{class:`h-full`}}},{content:A(()=>[N(W)?(g(),C(d,{key:1,value:`0`,class:`h-full flex flex-col`},{default:A(()=>[M(c,{class:`shrink-0`},{default:A(()=>[M(s,{value:`0`,class:`pt-0 text-sm`},{default:A(()=>[x(v(r.$t(`views.camera.recordings`)),1)]),_:1}),M(s,{value:`1`,class:`pt-0 text-sm`},{default:A(()=>[x(v(r.$t(`views.camera.cameras`)),1)]),_:1}),(`hasPermission`in r?r.hasPermission:N(re))(void 0,`admin`)?(g(),C(s,{key:0,value:`2`,class:`pt-0 text-sm`},{default:A(()=>[x(v(r.$t(`views.camera.shares`)),1)]),_:1})):w(``,!0)]),_:1}),M(u,{class:`camera-tab-panels px-0 pb-0 flex-1 min-h-0`},{default:A(()=>[M(l,{value:`0`,class:`!overflow-hidden`},{default:A(()=>[N(Y)?(g(),C(N(S),{key:0,"camera-id":N(Y),"camera-name":N(z),camera:N(B),onScrollToEvent:$},null,8,[`camera-id`,`camera-name`,`camera`])):w(``,!0)]),_:1}),M(l,{value:`1`},{default:A(()=>[M(N(E),{"active-camera":N(z)},null,8,[`active-camera`])]),_:1}),(`hasPermission`in r?r.hasPermission:N(re))(void 0,`admin`)?(g(),C(l,{key:0,value:`2`},{default:A(()=>[N(Y)?(g(),C(N(P),{key:0,"camera-id":N(Y),"camera-name":N(z)},null,8,[`camera-id`,`camera-name`])):w(``,!0)]),_:1})):w(``,!0)]),_:1})]),_:1})):(g(),O(`div`,Fe,[M(ee,{class:`w-[32px] h-[32px]`,"stroke-width":`4`})]))]),_:1}))],6),N(L)?w(``,!0):D((g(),O(`div`,{key:0,id:`camera-sidebar`,ref_key:`timelineRef`,ref:We,class:_([`min-w-[400px]`,{"border-t-[1px] border-color":N(R),"lg:fixed lg:right-safe-offset-2 lg:bottom-safe-offset-2":!N(R)&&!N(L)}]),style:he({height:`calc(100% - ${N(Ve)}px - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))`})},null,6)),[[pe,!N(Ye)]])]),N(R)&&N(W)?(g(),C(N(ke),{key:0,modelValue:N(G),"onUpdate:modelValue":a[1]||=e=>de(G)?G.value=e:null,height:`70vh`,"max-height":`85vh`},{default:A(()=>[(g(),C(d,{key:N(z),value:`0`,class:`h-full flex flex-col`},{default:A(()=>[M(c,{class:`shrink-0 w-full mt-5`},{default:A(()=>[M(s,{value:`0`,class:`pt-0 text-sm flex-1`},{default:A(()=>[x(v(r.$t(`views.camera.recordings`)),1)]),_:1}),M(s,{value:`1`,class:`pt-0 text-sm flex-1`},{default:A(()=>[x(v(r.$t(`views.camera.cameras`)),1)]),_:1}),M(s,{value:`2`,class:`pt-0 text-sm flex-1`},{default:A(()=>[x(v(r.$t(`views.camera.shares`)),1)]),_:1})]),_:1}),M(u,{class:`mobile-sheet-panels px-0 pb-0 flex-1 min-h-0`},{default:A(()=>[M(l,{value:`0`,class:`h-full !overflow-hidden`},{default:A(()=>[N(Y)?(g(),C(N(S),{key:0,"camera-id":N(Y),"camera-name":N(z),camera:N(B),compact:``,onScrollToEvent:$},null,8,[`camera-id`,`camera-name`,`camera`])):w(``,!0)]),_:1}),M(l,{value:`1`,class:`h-full overflow-auto`},{default:A(()=>[M(N(E),{"active-camera":N(z)},null,8,[`active-camera`])]),_:1}),M(l,{value:`2`,class:`h-full overflow-auto`},{default:A(()=>[N(Y)?(g(),C(N(P),{key:0,"camera-id":N(Y),"camera-name":N(z)},null,8,[`camera-id`,`camera-name`])):w(``,!0)]),_:1})]),_:1})]),_:1}))]),_:1},8,[`modelValue`])):w(``,!0),(g(),C(me,{key:N(z),to:N(L)?`#timeline-container`:`#camera-sidebar`,defer:``},[(g(),C(N(i),{ref_key:`cuiTimelineRef`,ref:U,key:N(z),"camera-ids":N(Y)?[N(Y)]:[],loading:!N(W),"flat-card":N(R)||N(L),type:N(L)?`horizontal`:`vertical`,"show-segments":!N(R)&&!N(L),"show-zoom":!0,"initial-timestamp":N(Z),class:_({"absolute bottom-0 left-0 w-full h-[200px]":N(L),"h-full":!N(L)}),"card-class":{"h-[200px]":N(L)},transparent:N(L),"dark-mode":N(L),"overlay-class":N(L)?`timeline-overlay !z-0`:void 0,"locale-settings":N(Qe),"trim-mode":N(H)?.trimMode,"ignore-bottom-safe-area":!N(L),"md-breakpoint":N(Be),onScrolling:tt},{"bottom-right":A(()=>[j(`div`,Ie,[N(R)?D((g(),C(f,{key:0,rounded:``,severity:`primary`,disabled:N(H)?.micButtonDisabled??!0,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[2]||=e=>N(H)?.toggleMicrophone(void 0,!0)},{icon:A(()=>[N(H)?.micActive?(g(),C(se,{key:0,width:`100%`,height:`100%`})):(g(),C(ce,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[b,{value:r.$t(`components.player.intercom`)},void 0,{left:!0}]]):w(``,!0),N(R)?D((g(),C(f,{key:1,rounded:``,severity:`secondary`,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[3]||=e=>G.value=!0},{icon:A(()=>[M(p,{width:`100%`,height:`100%`})]),_:1})),[[b,{value:r.$t(`components.player.more`)},void 0,{left:!0}]]):w(``,!0),N(H)?.trimMode?(g(),O(ue,{key:2},[D((g(),C(f,{rounded:``,severity:`secondary`,disabled:N(Q),label:N(q)>0?V[N(q)]:void 0,class:`shadow-md pointer-events-auto w-12 h-12 !text-xs !font-semibold`,onClick:et},fe({_:2},[N(q)===0?{name:`icon`,fn:A(()=>[M(le,{width:`100%`,height:`100%`,class:`opacity-40`})]),key:`0`}:void 0]),1032,[`disabled`,`label`])),[[b,{value:N(Q)?r.$t(`components.player.timelapse_min_duration`):N(q)>0?`${r.$t(`components.player.timelapse`)}: ${V[N(q)]}`:r.$t(`components.player.timelapse_off`)},void 0,{left:!0}]]),D((g(),C(f,{rounded:``,severity:`success`,loading:N(J),class:`shadow-md pointer-events-auto w-12 h-12`,onClick:nt},{icon:A(()=>[M(m,{width:`100%`,height:`100%`})]),_:1},8,[`loading`])),[[b,{value:r.$t(`components.player.export_selection`)},void 0,{left:!0}]])],64)):w(``,!0),N(R)||N(L)?(g(),O(ue,{key:3},[D((g(),C(f,{rounded:``,severity:`secondary`,disabled:(N(U)?.zoomLevel??0)>=8,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[4]||=e=>N(U)?.zoomIn()},{icon:A(()=>[M(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[b,{value:r.$t(`components.form.tooltip.zoom_in`)},void 0,{left:!0}]]),D((g(),C(f,{rounded:``,severity:`secondary`,disabled:(N(U)?.zoomLevel??0)<=0,class:`shadow-md pointer-events-auto w-12 h-12`,onClick:a[5]||=e=>N(U)?.zoomOut()},{icon:A(()=>[M(y,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[b,{value:r.$t(`components.form.tooltip.zoom_out`)},void 0,{left:!0}]])],64)):w(``,!0)])]),_:1},8,[`camera-ids`,`loading`,`flat-card`,`type`,`show-segments`,`initial-timestamp`,`class`,`card-class`,`transparent`,`dark-mode`,`overlay-class`,`locale-settings`,`trim-mode`,`ignore-bottom-safe-area`,`md-breakpoint`]))],8,[`to`]))],2)}}}),[[`__scopeId`,`data-v-ee1d5a6b`]]);export{Le as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,Ot as t,Pt as n,Ur as r,b as i,c as a,kr as o,lt as s,u as c,wt as l}from"./vendor-cameraui-Bq-hQsT7.js";import{$t as u,At as d,Bt as ee,Ft as f,G as p,Gn as m,Gt as h,Hn as g,Ht as _,It as v,Lt as te,Mt as y,Nt as b,O as x,Pt as S,Rt as ne,S as re,Ut as C,Vt as w,Xt as T,Yn as E,an as ie,cn as D,h as ae,nn as O,nt as oe,o as se,on as ce,pn as le,sn as ue,vn as de,zt as fe}from"./api-CdJDEL3z.js";import{An as k,Bn as pe,Dn as me,I as A,In as he,L as ge,Ln as _e,Nn as ve,Qn as ye,Qt as be,R as xe,Rn as j,Sr as M,Tn as Se,Tr as N,Wn as Ce,Xn as P,_r as we,an as Te,bn as F,dn as I,dr as Ee,fn as L,gr as De,in as Oe,kn as ke,ln as R,lr as z,nn as B,nr as V,pn as H,pr as U,tr as W,un as G,vn as K,wr as q,xr as J,yr as Y}from"./vendor-CdGy-Xet.js";import{p as Ae}from"./vendor-core-CoiYJRqo.js";import{K as X,R as Z,U as je,b as Me,o as Ne}from"./vendor-primevue-B3sIO6X2.js";import{a as Q,i as Pe,n as Fe,r as Ie,t as Le}from"./vendor-dnd-BN6m9rq8.js";import{t as Re}from"./close-BCRtoBTk.js";import{n as ze,t as Be}from"./microphone-Dp5Yhz6Z.js";import{t as Ve}from"./plus-C6l_Q-mY.js";import{t as He}from"./delete-Dvdp44LT.js";import{t as Ue}from"./CuiCameraPipCard-BmmyPCOP.js";import{n as We,t as Ge}from"./CuiTopNavbarItem-CXxnNN1s.js";import{t as Ke}from"./vendor-gridstack-9ka60QnT.js";var qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Je(e,t){return j(),H(`svg`,qe,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M7.5 5.6L5 7l1.4-2.5L5 2l2.5 1.4L10 2L8.6 4.5L10 7zm12 9.8L22 14l-1.4 2.5L22 19l-2.5-1.4L17 19l1.4-2.5L17 14zM22 2l-1.4 2.5L22 7l-2.5-1.4L17 7l1.4-2.5L17 2l2.5 1.4zm-8.66 10.78l2.44-2.44l-2.12-2.12l-2.44 2.44zm1.03-5.49l2.34 2.34c.39.37.39 1.02 0 1.41L5.04 22.71c-.39.39-1.04.39-1.41 0l-2.34-2.34c-.39-.37-.39-1.02 0-1.41L12.96 7.29c.39-.39 1.04-.39 1.41 0`},null,-1)]])}var Ye=z({name:`mdi-auto-fix`,render:Je}),Xe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ze(e,t){return j(),H(`svg`,Xe,[...t[0]||=[G(`g`,{fill:`none`,"fill-rule":`evenodd`},[G(`path`,{d:`m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z`}),G(`path`,{fill:`currentColor`,d:`M19 11a2 2 0 0 1 1.995 1.85L21 13v6a2 2 0 0 1-1.85 1.995L19 21h-4a2 2 0 0 1-1.995-1.85L13 19v-6a2 2 0 0 1 1.85-1.995L15 11zM9 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2zM9 3a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm10 0a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`})],-1)]])}var Qe=z({name:`mingcute-grid2-fill`,render:Ze}),$e={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function et(e,t){return j(),H(`svg`,$e,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M13 6v5h5V7.75L22.25 12L18 16.25V13h-5v5h3.25L12 22.25L7.75 18H11v-5H6v3.25L1.75 12L6 7.75V11h5V6H7.75L12 1.75L16.25 6z`},null,-1)]])}var tt=z({name:`mdi-cursor-move`,render:et}),nt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function rt(e,t){return j(),H(`svg`,nt,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`m8.471 7.237l3.056 12.992c.233.993 1.63 1.04 1.929.065l2.945-9.58l.384 1.527a1 1 0 0 0 .97.756H21a1 1 0 1 0 0-2h-2.466l-1.069-4.241c-.247-.981-1.628-1.017-1.925-.05l-2.912 9.472L9.475 2.771c-.24-1.02-1.688-1.03-1.943-.014l-2.065 8.24H3a1 1 0 0 0 0 2h3.247a1 1 0 0 0 .97-.757z`},null,-1)]])}var it=z({name:`fluent-pulse-24-filled`,render:rt}),at={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function ot(e,t){return j(),H(`svg`,at,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124m5.393.984a.75.75 0 1 0-1.06 1.06a5.5 5.5 0 0 1 0 7.78a.75.75 0 1 0 1.06 1.06a7 7 0 0 0 0-9.9`},null,-1),G(`path`,{fill:`currentColor`,d:`M10.828 5.172a.75.75 0 1 0-1.06 1.06a2.5 2.5 0 0 1 0 3.536a.75.75 0 1 0 1.06 1.06a4 4 0 0 0 0-5.656`},null,-1)]])}var st=z({name:`heroicons-speaker-wave-16-solid`,render:ot}),$={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function ct(e,t){return j(),H(`svg`,$,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124M11.28 5.72a.75.75 0 1 0-1.06 1.06L11.44 8l-1.22 1.22a.75.75 0 1 0 1.06 1.06l1.22-1.22l1.22 1.22a.75.75 0 1 0 1.06-1.06L13.56 8l1.22-1.22a.75.75 0 0 0-1.06-1.06L12.5 6.94z`},null,-1)]])}var lt=z({name:`heroicons-speaker-x-mark-16-solid`,render:ct}),ut={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function dt(e,t){return j(),H(`svg`,ut,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M10.4 13.45h3.2l.6 1.625q.075.2.238.313t.362.112q.35 0 .538-.275t.062-.6l-2.55-6.7q-.075-.2-.237-.312T12.25 7.5h-.5q-.2 0-.363.113t-.237.312L8.625 14.65q-.125.3.05.575t.525.275q.2 0 .363-.112t.237-.313zm.4-1.15L11.95 9h.1l1.15 3.3zM12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12q0-.8.125-1.6T2.5 8.825q.125-.4.513-.537t.737.062q.375.2.538.588t.037.812q-.15.55-.238 1.113T4 12q0 3.35 2.325 5.675T12 20t5.675-2.325T20 12t-2.325-5.675T12 4q-.6 0-1.187.087T9.65 4.35q-.425.125-.8-.025T8.3 3.8t-.013-.762t.563-.513q.75-.275 1.55-.4T12 2q2.075 0 3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22M4.438 6.563Q4 6.125 4 5.5t.438-1.062T5.5 4t1.063.438T7 5.5t-.437 1.063T5.5 7t-1.062-.437M12 12`},null,-1)]])}var ft=z({name:`material-symbols-motion-photos-auto-outline-rounded`,render:dt}),pt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function mt(e,t){return j(),H(`svg`,pt,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3zm-7 3H3V6h16v7h2V6c0-1.11-.89-2-2-2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11z`},null,-1)]])}var ht=z({name:`mdi-card-plus-outline`,render:mt}),gt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function _t(e,t){return j(),H(`svg`,gt,[...t[0]||=[G(`path`,{fill:`currentColor`,d:`M9 3h2v2H9zm4 0h2v2h-2zM9 7h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2z`},null,-1)]])}var vt=z({name:`mdi-drag-vertical`,render:_t}),yt={class:`text-sm text-muted truncate`},bt=O(F({__name:`ViewDnDDrag`,props:{camera:{},isDropped:{type:Boolean},canDrag:{type:Boolean}},setup(e){let{camera:n,canDrag:r}=Y(e),i=P(`boxRef`),a=De(null),o=U(0),s=U(0),c=U(!1),{x:l,y:d,sourceType:ee}=D(),[f,p]=Pe(()=>({type:`camera-sidebar`,options:{dropEffect:`copy`},item:n.value,canDrag:r.value,collect:e=>({style:{opacity:e.isDragging()?.4:1},isDragging:e.isDragging()})})),m=R(()=>f.value.isDragging),h=R(()=>m.value&&ee.value===`touch`);function g(){a.value&&document.body.contains(a.value)&&document.body.removeChild(a.value),a.value=null}function _(){if(g(),!i.value)return;let e=i.value.cloneNode(!0),t=i.value.getBoundingClientRect();e.style.width=`${t.width}px`,e.style.height=`${t.height}px`,e.classList.add(`drag-preview`),e.style.position=`fixed`,e.style.left=`${l.value-o.value}px`,e.style.top=`${d.value-s.value}px`,document.body.appendChild(e),a.value=e}function v(){c.value=!1,g()}function te(){v(),c.value=!0;let e=i.value?.getBoundingClientRect();e&&(o.value=l.value-e.left,s.value=d.value-e.top,_())}function y(){!a.value||!c.value||requestAnimationFrame(()=>{a.value&&(a.value.style.left=`${l.value-o.value}px`,a.value.style.top=`${d.value-s.value}px`)})}return ye(h,e=>e?te():v()),ye([l,d],()=>y(),{flush:`sync`}),ve(()=>v()),(r,a)=>{let o=vt,s=u,c=t;return j(),H(`div`,{ref_key:`boxRef`,ref:i},[G(`div`,{ref:J(p),style:q(J(f).style)},[K(c,{disabled:e.isDropped,fluid:``,severity:`secondary`,class:`cui-rounded-corner dark-mode shadow-sm items-center justify-normal`,style:q({cursor:e.isDropped?`not-allowed`:`grab`})},{default:W(()=>[K(o,{size:`20`,class:`text-muted mr-2`}),K(s,{camera:J(n),width:`110px`,class:M([`cui-rounded-corner shadow-md overflow-hidden`,{"opacity-30":e.isDropped}])},null,8,[`camera`,`class`]),G(`span`,yt,N(J(n).name),1)]),_:1},8,[`disabled`,`style`])],4)],512)}}}),[[`__scopeId`,`data-v-a4c67afd`]]),xt={editMode:!1,rearrangeMode:!1,viewSize:1},St=Object.fromEntries(Object.entries({1:{cols:1,rows:1},4:{cols:2,rows:2},6:{cols:3,rows:3},7:{cols:4,rows:4},9:{cols:3,rows:3},10:{cols:4,rows:4},12:{cols:6,rows:6},13:{cols:4,rows:4},15:{cols:12,rows:12},16:{cols:4,rows:4},20:{cols:6,rows:6},26:{cols:12,rows:12}}).map(([e,t])=>[e,{cols:t.cols*16,rows:t.rows*16}])),Ct=e=>e.map(e=>({x:e.x*16,y:e.y*16,w:e.w*16,h:e.h*16})),wt=Object.fromEntries(Object.entries({1:[{x:0,y:0,w:1,h:1}],4:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1}],6:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],7:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],9:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],10:[{x:0,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],12:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],13:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],15:[{x:0,y:0,w:6,h:6},{x:6,y:0,w:6,h:6},{x:0,y:6,w:3,h:3},{x:3,y:6,w:3,h:3},{x:0,y:9,w:3,h:3},{x:3,y:9,w:3,h:3},{x:6,y:6,w:2,h:2},{x:8,y:6,w:2,h:2},{x:10,y:6,w:2,h:2},{x:6,y:8,w:2,h:2},{x:8,y:8,w:2,h:2},{x:10,y:8,w:2,h:2},{x:6,y:10,w:2,h:2},{x:8,y:10,w:2,h:2},{x:10,y:10,w:2,h:2}],16:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],20:[{x:0,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:0,w:1,h:1},{x:4,y:0,w:1,h:1},{x:5,y:0,w:1,h:1},{x:3,y:1,w:1,h:1},{x:4,y:1,w:1,h:1},{x:5,y:1,w:1,h:1},{x:3,y:2,w:1,h:1},{x:4,y:2,w:1,h:1},{x:5,y:2,w:1,h:1},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],26:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:3,h:3},{x:6,y:0,w:2,h:2},{x:8,y:0,w:2,h:2},{x:10,y:0,w:2,h:2},{x:6,y:2,w:2,h:2},{x:8,y:2,w:2,h:2},{x:10,y:2,w:2,h:2},{x:6,y:4,w:2,h:2},{x:8,y:4,w:2,h:2},{x:10,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:2,y:6,w:2,h:2},{x:4,y:6,w:2,h:2},{x:0,y:8,w:2,h:2},{x:2,y:8,w:2,h:2},{x:4,y:8,w:2,h:2},{x:0,y:10,w:2,h:2},{x:2,y:10,w:2,h:2},{x:4,y:10,w:2,h:2},{x:6,y:6,w:3,h:3},{x:9,y:6,w:3,h:3},{x:6,y:9,w:3,h:3},{x:9,y:9,w:3,h:3}]}).map(([e,t])=>[e,Ct(t)])),Tt={class:`text-lg font-semibold text-white`},Et={class:`flex flex-col gap-3 w-full h-full overflow-y-auto`},Dt={class:`cui-label`},Ot={key:0,class:`text-muted text-sm`},kt=F({__name:`ViewDnDSidebar`,props:{cameras:{},droppedCameras:{},title:{}},emits:[`changeViewSize`],setup(e,{emit:n}){let r=e,i=n,{droppedCameras:a}=Y(r);function o(e){return a.value.some(t=>t.name===e.name)}return(n,r)=>{let a=t,s=bt;return j(),H(`div`,{class:`sidebar-view-background flex flex-col p-2 border-[1px] border-color gap-2 rounded-xl`,style:q({width:`${J(400)}px`})},[G(`span`,Tt,N(e.title),1),G(`div`,Et,[K(a,{fluid:``,label:`Change grid size`,class:`cui-button-small dark-mode shrink-0 my-4`,onClick:r[0]||=e=>i(`changeViewSize`)}),G(`label`,Dt,N(n.$t(`components.view_box.available_streams`)),1),(j(!0),H(Te,null,pe(e.cameras,(e,t)=>(j(),H(`div`,{key:t},[K(s,{camera:e,"is-dropped":o(e),"can-drag":!o(e)},null,8,[`camera`,`is-dropped`,`can-drag`])]))),128)),e.cameras.length?L(``,!0):(j(),H(`span`,Ot,N(n.$t(`components.view_box.no_cameras`)),1))])],4)}}}),At={key:1,class:`w-full h-full bg-[#1a1a1a] flex items-center justify-center`},jt={key:2,class:`w-full h-full bg-[#111]`},Mt={key:1,class:`w-full h-full flex items-center justify-center`},Nt={key:0},Pt=O(F({__name:`ViewDnDCard`,props:{camera:{},cameras:{},droppedCameras:{},mode:{},index:{},cameraCardProps:{},cameraCardModels:{},onDrop:{type:Function}},emits:[`drop`,`remove`,`expand`],setup(e,{expose:i,emit:a}){let o=e,s=a,{lgBreakpoint:c}=ie(),{camera:l,mode:d,cameras:ee,droppedCameras:f}=Y(o),p=P(`boxRef`),m=P(`containerRef`),h=P(`playerRef`),g=P(`menuRef`),{width:_}=r(m),[v,te]=Ie({accept:`camera-sidebar`,drop:o.onDrop,collect:e=>({isOver:e.isOver(),canDrop:e.canDrop()&&!l.value}),canDrop:()=>d.value===`edit`&&!l.value}),y=R(()=>v.value.canDrop&&v.value.isOver),b=R(()=>d.value===`edit`?y.value?`#171717`:`#202020`:`#000`),x=R(()=>_.value<=200),S=R(()=>ee.value.filter(e=>!f.value.some(t=>t.name===e.name))),ne=R(()=>S.value.map(e=>({label:e.name,onClick:()=>s(`drop`,e)})));function re(e){h.value?.toggleMute(e)}async function w(e,t){await h.value?.toggleMicrophone(e,t)}function T(e){h.value?.toggleActivityMode(e)}async function E(e){await h.value?.toggleSourceRole(e)}async function D(e){await h.value?.toggleStreamingMode(e)}function ae(e){h.value?.toggleBbox(e)}function O(e){h.value?.togglePip(e)}return i({togglePlayerMute:re,toggleMicrophone:w,togglePlayerActivityMode:T,togglePlayerSourceRole:E,togglePlayerStreamingMode:D,togglePlayerBbox:ae,togglePip:O}),(r,i)=>{let a=Ue,o=Ve,f=Re,_=t,v=u,y=C,S=n;return j(),H(`div`,{ref_key:`boxRef`,ref:p,class:`view-dnd-card`},[J(d)===`normal`||J(d)===`rearrange`?(j(),H(Te,{key:0},[J(l)?(j(),I(a,ke({key:0,ref_key:`playerRef`,ref:h},e.cameraCardProps,{"activity-mode":e.cameraCardModels?.activityMode,"source-role":e.cameraCardModels?.sourceRole,"streaming-mode":e.cameraCardModels?.streamingMode,"camera-info":J(l),class:`w-full h-full`,onExpand:i[0]||=e=>s(`expand`,J(l),e)}),null,16,[`activity-mode`,`source-role`,`streaming-mode`,`camera-info`])):J(d)===`rearrange`?(j(),H(`div`,At,[K(o,{class:`w-6 h-6 text-white/20`})])):(j(),H(`div`,jt))],64)):J(d)===`edit`?(j(),H(Te,{key:1},[G(`div`,{ref:J(te),style:q({backgroundColor:J(b)}),class:`w-full h-full`},[J(l)?(j(),H(`div`,{key:0,ref_key:`containerRef`,ref:m,class:`w-full h-full flex items-center justify-center relative min-w-0`},[K(_,{class:M([`z-1`,{"cui-icon-lg":J(x),"cui-button-small":!J(x)}]),label:J(x)?void 0:J(l).name,onClick:i[1]||=Oe(e=>s(`remove`,J(l)),[`prevent`])},{icon:W(()=>[K(f)]),_:1},8,[`class`,`label`]),K(v,{camera:J(l),class:`absolute w-full h-full top-0 left-0 bg-black/50 opacity-20`},null,8,[`camera`])],512)):J(c)?L(``,!0):(j(),H(`div`,Mt,[J(ee).length?(j(),I(_,{key:1,text:``,rounded:``,class:`cui-icon-md`,onClick:J(g)?.toggleMenu},{icon:W(()=>[K(o,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])):V((j(),H(`div`,Nt,[K(_,{text:``,rounded:``,disabled:``,class:`cui-icon-md`},{icon:W(()=>[K(o,{width:`100%`,height:`100%`})]),_:1})])),[[S,{value:r.$t(`views.camview.no_cameras`)},void 0,{top:!0}]])]))],4),K(y,{ref_key:`menuRef`,ref:g,items:J(ne),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],64)):L(``,!0)],512)}}}),[[`__scopeId`,`data-v-49edf1f5`]]),Ft={class:`w-full h-full flex flex-row`},It=[`gs-id`,`gs-x`,`gs-y`,`gs-w`,`gs-h`],Lt={class:`grid-stack-item-content`},Rt=O(F({__name:`CuiCameraViewDnD`,props:me({cameras:{},viewSize:{},cards:{},title:{},editMode:{type:Boolean},rearrangeMode:{type:Boolean},cameraCardProps:{},cameraCardModels:{}},xt),emits:[`drop`,`remove`,`changeViewSize`,`expand`,`rearrange`],setup(e,{expose:n,emit:i}){let a=e,o=i,{isTouch:l}=ue(),{smBreakpoint:u,lgBreakpoint:d}=ie(),ee=Se(c,void 0),{routeFrom:f,routeTo:p}=Ae(re()),{editMode:m,rearrangeMode:h,viewSize:g,cards:_,cameraCardProps:v}=Y(a),te=P(`viewRef`),y=P(`wrapperRef`),x=P(`gridRef`),S=P(`cardRefs`),ne=U(),C=U(),w=null,{isFullscreen:T,toggle:E}=s(te,{mode:`scroll`}),D=r(te),ae=r(y),O=R(()=>m.value?`edit`:h.value?`rearrange`:`normal`),oe=R(()=>ne.value??C.value),se=R(()=>e=>{let t={...we(v.value)};if(e){let n=f.value?.includes(`/cameras/${e.name}`)??!1,r=p.value?.includes(`/cameras/${e.name}`)??!1,i=t.viewTransition&&(n||r),a=`/cameras/${e.name}`;ee?.isActive.value?t.routerLink=`${a}?startTs=${Math.floor(ee.currentTimestamp.value/1e3)}`:t.routerLink=a,t.viewTransition=i}return t}),ce=R(()=>(D.height.value-16)*(16/9)),le=R(()=>_.value.filter(e=>e.lastDroppedCamera).map(e=>e.lastDroppedCamera));function de(e){let t=_.value[e];if(u.value)return{x:0,y:t?.y??e,w:1,h:1};let n=wt[g.value]?.[e];return{x:t?.x??n?.x??0,y:t?.y??n?.y??0,w:t?.colSpan??n?.w??1,h:t?.rowSpan??n?.h??1}}function fe(){if(!w)return;let e=[];for(let t of w.getGridItems()){let n=t.gridstackNode;if(!n)continue;let r=parseInt(n.id),i=_.value[r];i?.lastDroppedCamera&&e.push({index:r,cameraId:i.lastDroppedCamera._id,colSpan:n.w,rowSpan:n.h,x:n.x,y:n.y})}o(`rearrange`,e)}function me(){fe()}function A(){if(!x.value)return;let e=St[g.value];if(!e)return;let t=u.value,n=t?1:e.cols,r=t?_.value.length:e.rows,i=y.value?.clientWidth??0,a=t?i*9/16:i>0?i*9/16/e.rows:60,o=O.value===`rearrange`;w=Ke.init({column:n,minRow:r,cellHeight:a,margin:o?3:1,float:!1,animate:!1,staticGrid:!o,resizable:t?{handles:``}:{handles:`se`},disableResize:t,alwaysShowResizeHandle:!t},x.value),w&&(w.on(`change`,me),requestAnimationFrame(()=>w?.setAnimation(!0)))}function ge(){w&&=(w.offAll(),w.destroy(!1),null)}function _e(e,t,n){n?ne.value=t:(C.value=t,ne.value=void 0,setTimeout(()=>{C.value=void 0},250)),o(`expand`,e,n)}async function be(){await E()}function xe(e){for(let t of S.value||[])t.togglePlayerMute(e)}async function N(e,t){await Promise.allSettled((S.value||[]).map(n=>n.toggleMicrophone(e,t)))}function Ce(e){for(let t of S.value||[])t.togglePlayerActivityMode(e)}async function F(e){await Promise.allSettled((S.value||[]).map(t=>t.togglePlayerSourceRole(e)))}async function Ee(e){await Promise.allSettled((S.value||[]).map(t=>t.togglePlayerStreamingMode(e)))}function De(e){for(let t of S.value||[])t.togglePlayerBbox(e)}function Oe(e){for(let t of S.value||[])t.togglePip(e)}function ke(){w&&(w.compact(),fe())}function z(){if(!w)return;let e=St[g.value];if(!e)return;let t=e.cols,n=[];for(let e of w.getGridItems()){let t=e.gridstackNode;if(!t)continue;let r=parseInt(t.id),[i,a]=((_.value[r]?.lastDroppedCamera)?.interfaceSettings?.aspectRatio||`16:9`).split(`:`).map(Number);n.push({idx:r,el:e,cellRatio:i/a*(9/16)})}if(!n.length)return;let r=e.rows;function i(e){let r=[],i=0,a=0;for(;a<n.length;){let o=[],s=0,c=!1;for(;a<n.length;){let r=n[a].cellRatio;if(e*(s+r)>t&&o.length>0){c=!0;break}o.push(n[a]),s+=r,a++}let l=c?t/s:e;r.push({row:o,ratioSum:s,rowH:l,filled:c}),i+=l}return{rows:r,totalH:i}}let a=.25,o=r,s=a;for(let e=0;e<40;e++){let e=(a+o)/2;i(e).totalH<=r?(s=e,a=e):o=e}let{rows:c}=i(s),l=c.reduce((e,t)=>e+t.rowH,0)||1,u=l>r?r/l:1,d=c.map(e=>e.rowH*u),ee=d.reduce((e,t)=>e+t,0),f=new Map,p=Math.max(0,Math.round((r-ee)/2)),m=p;for(let e=0;e<c.length;e++){m+=d[e];let n=Math.min(r,Math.round(m)),i=Math.max(1,n-p),{row:a,ratioSum:o,filled:s}=c[e];if(s){let e=0;for(let n=0;n<a.length;n++){let r=n===a.length-1?Math.max(1,t-e):Math.max(1,Math.round(a[n].cellRatio/o*t));f.set(a[n].idx,{x:e,y:p,w:r,h:i}),e+=r}}else{let e=a.map(e=>Math.max(1,Math.round(e.cellRatio*i))),n=e.reduce((e,t)=>e+t,0),r=Math.max(0,Math.round((t-n)/2));for(let t=0;t<a.length;t++)f.set(a[t].idx,{x:r,y:p,w:e[t],h:i}),r+=e[t]}p=n}w.batchUpdate();for(let[e,t]of f){let r=n.find(t=>t.idx===e);r&&w.update(r.el,t)}w.batchUpdate(!1),fe()}return ye([g,()=>_.value.length,u],()=>{ge(),k(()=>A())},{immediate:!1}),ye(O,e=>{if(!w)return;let t=e===`rearrange`;w.setStatic(!t),w.margin(t?3:1)}),ye(()=>ae.width.value,e=>{if(!(!w||e<=0)){if(w.setAnimation(!1),u.value)w.cellHeight(e*9/16);else{let t=St[g.value]?.rows??1;w.cellHeight(e*9/16/t)}requestAnimationFrame(()=>w?.setAnimation(!0))}}),he(()=>{k(()=>A())}),ve(()=>{ge()}),n({toggleFullscreen:be,toggleAllPlayerMute:xe,toggleAllPlayerMicrophone:N,toggleAllPlayerActivityMode:Ce,toggleAllPlayerSourceRole:F,toggleAllPlayerStreamingMode:Ee,toggleAllPlayerBbox:De,toggleAllPip:Oe,compactGrid:ke,fitAspectRatios:z,isFullscreen:T}),(n,r)=>{let i=b,a=t,s=Pt,c=kt;return j(),I(J(Q),{backend:J(l)?J(Le):J(Fe)},{default:W(()=>[G(`div`,Ft,[G(`div`,{ref_key:`viewRef`,ref:te,class:M([`view-container w-full flex flex-col min-w-0 overflow-y-auto items-center`,{"px-2":J(m)&&J(d)}])},[J(T)?(j(),I(a,{key:0,severity:`secondary`,rounded:``,class:`cui-fs-exit`,"aria-label":n.$t(`components.form.tooltip.fullscreen_off`),onClick:J(E)},{icon:W(()=>[K(i,{class:`w-5 h-5`})]),_:1},8,[`aria-label`,`onClick`])):L(``,!0),J(oe)===void 0?L(``,!0):(j(),H(`div`,{key:1,class:`w-full aspect-video relative my-auto`,style:q({maxWidth:`${J(ce)}px`})},[K(s,{ref:`fsCardRef`,class:M([`w-full h-full`,{"card-expanded":J(ne)!==void 0,"card-collapsing":J(C)!==void 0}]),camera:J(_)[J(oe)]?.lastDroppedCamera,cameras:e.cameras,"dropped-cameras":J(le),mode:`normal`,index:J(oe),"camera-card-props":{...J(se)(J(_)[J(oe)]?.lastDroppedCamera),expanded:!0},"camera-card-models":e.cameraCardModels,onExpand:r[0]||=(e,t)=>_e(e,J(oe),t)},null,8,[`class`,`camera`,`cameras`,`dropped-cameras`,`index`,`camera-card-props`,`camera-card-models`])],4)),V(G(`div`,{ref_key:`wrapperRef`,ref:y,class:M([`w-full relative my-auto`,J(u)?`h-auto`:`aspect-video`]),style:q(J(u)?void 0:{maxWidth:`${J(ce)}px`})},[G(`div`,{ref_key:`gridRef`,ref:x,class:`grid-stack w-full h-full`},[(j(!0),H(Te,null,pe(J(_),(t,n)=>(j(),H(`div`,{key:n,class:`grid-stack-item`,"gs-id":String(n),"gs-x":de(n).x,"gs-y":de(n).y,"gs-w":de(n).w,"gs-h":de(n).h},[G(`div`,Lt,[K(s,{ref_for:!0,ref_key:`cardRefs`,ref:S,camera:t.lastDroppedCamera,cameras:e.cameras,"dropped-cameras":J(le),mode:J(O),index:n,"camera-card-props":{...J(se)(t.lastDroppedCamera),expanded:J(oe)===n},"camera-card-models":e.cameraCardModels,"on-drop":e=>o(`drop`,n,e),onExpand:(e,t)=>_e(e,n,t),onDrop:e=>o(`drop`,n,e),onRemove:r[1]||=e=>o(`remove`,e)},null,8,[`camera`,`cameras`,`dropped-cameras`,`mode`,`index`,`camera-card-props`,`camera-card-models`,`on-drop`,`onExpand`,`onDrop`])])],8,It))),128))],512)],6),[[B,J(oe)===void 0]])],2),J(m)&&J(d)?(j(),I(c,{key:0,cameras:e.cameras,"dropped-cameras":J(le),title:e.title,class:`view-box shadow-xl`,style:q({"margin-right":J(m)?`0px`:`-${J(400)}px`}),onChangeViewSize:r[2]||=e=>o(`changeViewSize`)},null,8,[`cameras`,`dropped-cameras`,`title`,`style`])):L(``,!0)])]),_:1},8,[`backend`])}}}),[[`__scopeId`,`data-v-8157af85`]]),zt={class:`flex flex-col gap-3`},Bt={class:`text-wrap`},Vt={class:`w-full h-full flex items-center justify-center relative`},Ht=F({__name:`AudioVisualizer`,emits:[`listening`],setup(e,{expose:n,emit:r}){let i=r,a=E(),o=m(),s=Se(`dialogRefProps`),c=P(`canvasRef`),l=De(),u=De(),d=U(!1),ee=R(()=>!!s.loading?.value);async function f(){if(d.value)h();else try{l.value&&h();let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){o.add({severity:`warn`,detail:`Can not enable AudioVisualizer, see console.`,life:3e3}),a.warn(`Can not enable AudioVisualizer`,e);return}d.value=!0,i(`listening`,!0),l.value=new AudioContext;let t=l.value.createAnalyser();t.fftSize=1024,u.value=e.getTracks(),l.value.createMediaStreamSource(e).connect(t);let n,r=c.value?.getContext(`2d`),s=()=>{if(c.value&&r){let e=[],i=[];r.clearRect(0,0,c.value.width,c.value.height),requestAnimationFrame(s);let a=t.frequencyBinCount,o=new Uint8Array(a);t.getByteFrequencyData(o),e.push(o);for(let t=0;t<e[0].length;t++)i.push(0),e.forEach(e=>{i[t]+=e[t]});let l=c.value.width/2,u=c.value.height/2;r.beginPath(),r.arc(l,u,30,0,2*Math.PI),r.lineWidth=1,r.stroke(),r.closePath();for(let e=0;e<90;e++){n=i[e]*.4;let t=Math.PI*2/90,a=l+Math.cos(t*e)*30,o=u+Math.sin(t*e)*30,s=l+Math.cos(t*e)*(30+n),c=u+Math.sin(t*e)*(30+n);p(r,a,o,s,c,3)}d.value||r.clearRect(0,0,c.value.width,c.value.height)}};s()}catch(e){h(),a.error(e)}}function p(e,t,n,r,i,a){let o=e.createLinearGradient(t,n,r,i);o.addColorStop(0,`#5b040f`),o.addColorStop(.5,`#b50b21`),o.addColorStop(.9,`#df2a4c`),o.addColorStop(1,`#df6380`),e.lineWidth=a,e.strokeStyle=o,e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke(),e.closePath()}function h(){l.value?.close(),l.value=void 0,u.value?.forEach(e=>e.stop()),u.value=void 0,d.value=!1,i(`listening`,!1)}return _e(()=>{h()}),n({isLoading:ee}),(e,n)=>{let r=Be,i=t;return j(),H(`div`,zt,[G(`span`,Bt,N(e.$t(`components.dialog.message.intercom_info`)),1),G(`div`,Vt,[K(i,{rounded:``,class:`w-[60px] h-[60px] absolute z-1`,onClick:f},{icon:W(()=>[K(r,{width:`100%`,height:`100%`})]),_:1}),G(`canvas`,{ref_key:`canvasRef`,ref:c,height:`300`,width:`300`},null,512)])])}}}),Ut=[`fill`],Wt=F({__name:`CuiCameraGridIcon1`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm0 8h952v532H9V9Z`},null,-1)]],8,Ut))}}),Gt=[`fill`],Kt=F({__name:`CuiCameraGridIcon10`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm726 275h226v130H735V276Zm-242 0h234v130H493V276Zm0 265V414h234v127H493ZM9 541V276h476v265H9Zm726 0V414h226v127H735ZM961 9v121H735V9h226ZM735 138h226v130H735V138ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Z`},null,-1)]],8,Gt))}}),qt=[`fill`],Jt=F({__name:`CuiCameraGridIcon12`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 275v129H810.5V276H961Zm-158.5 0v129h-152V276h152Zm-152 265V413h152v128h-152Zm-8-265v129H493V276h149.5ZM493 541V413h149.5v128H493ZM9 276h476v265H9V276Zm801.5 265V413H961v128H810.5ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,qt))}}),Yt=[`fill`],Xt=F({__name:`CuiCameraGridIcon13`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-273.5H485v129.5H250.5V276Zm-8 0v129.5H9V276h233.5ZM961 9v121H735V9h226ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Zm250 129h226v130H735V138Zm0 267.5V276h226v129.5H735ZM493 276h234v129.5H493V276Zm0 265V413.5h234V541H493Zm-242.5 0V413.5H485V541H250.5ZM9 541V413.5h233.5V541H9Zm726 0V413.5h226V541H735Z`},null,-1)]],8,Yt))}}),Zt=[`fill`],Qt=F({__name:`CuiCameraGridIcon15`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-144V276H485v129.5H250.5Zm-8-129.5v129.5H9V276h233.5Zm570 90H961v82H812.5v-82Zm-160 0h152v82h-152v-82ZM961 276v82H812.5v-82H961Zm-308.5 0h152v82h-152v-82Zm0 180h152v85h-152v-85ZM961 541H812.5v-85H961v85Zm-316.5-93H493v-82h151.5v82Zm0-172v82H493v-82h151.5Zm0 180v85H493v-85h151.5ZM485 413.5V541H250.5V413.5H485Zm-242.5 0V541H9V413.5h233.5ZM961 9v259H493V9h468ZM9 9h476v259H9V9Z`},null,-1)]],8,Zt))}}),$t=[`fill`],en=F({__name:`CuiCameraGridIcon16`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v121.5H732.5V9H961ZM724.5 9v121.5H493V9h231.5ZM493 268V138.5h231.5V268H493Zm0 137.5V276h231.5v129.5H493Zm468 0H732.5V276H961v129.5ZM493 541V413.5h231.5V541H493Zm468 0H732.5V413.5H961V541Zm0-273H732.5V138.5H961V268ZM485 9v121.5H250.5V9H485ZM250.5 138.5H485V268H250.5V138.5ZM242.5 9v121.5H9V9h233.5ZM9 138.5h233.5V268H9V138.5ZM250.5 276H485v129.5H250.5V276Zm0 137.5H485V541H250.5V413.5Zm-8-137.5v129.5H9V276h233.5ZM9 541V413.5h233.5V541H9Z`},null,-1)]],8,$t))}}),tn=[`fill`],nn=F({__name:`CuiCameraGridIcon20`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 94v82H812.5V95H961Zm-156.5 82h-152V95h152v82ZM961 9v78H812.5V9H961ZM652.5 9h152v78h-152V9Zm0 176h152v83h-152v-83ZM961 268H812.5v-83H961v83Zm-308.5 8h152v82h-152v-82Zm160 0H961v82H812.5v-82Zm-168-181v82H493V95h151.5Zm0-86v78H493V9h151.5ZM493 268v-83h151.5v83H493Zm0 90v-82h151.5v82H493ZM9 9h476v259H9V9Zm952 357v82H812.5v-82H961Zm-156.5 0v82h-152v-82h152Zm-152 90h152v85h-152v-85ZM961 541H812.5v-85H961v85ZM644.5 366v82H493v-82h151.5ZM493 541v-85h151.5v85H493ZM9 276h476v265H9V276Z`},null,-1)]],8,tn))}}),rn=[`fill`],an=F({__name:`CuiCameraGridIcon26`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{"fill-rule":`evenodd`,d:`M1.5 9A7.5 7.5 0 0 1 9 1.5h952a7.5 7.5 0 0 1 7.5 7.5v532a7.5 7.5 0 0 1-7.5 7.5H9a7.5 7.5 0 0 1-7.5-7.5V9Zm960 168V94h-153v83h153Zm-160 0h-153V94h153v83Zm7-90h153V9a.5.5 0 0 0-.5-.5H808.5V87Zm-7-78.5V87h-153V8.5h153Zm0 175.5v84.5h-153V184h153Zm7 84.5V184h153v84.5h-153Zm-167-91.5V94h-149v83h149Zm0-90V8.5h-149V87h149Zm-149 97h149v84.5h-149V184Zm0 91.5H719V402H492.5V275.5Zm0 133.5v132.5H719V409H492.5Zm233.5 0v132.5h235a.5.5 0 0 0 .5-.5V409H726Zm235.5-7V275.5H726V402h235.5Zm-476-270V8.5H252V132h233.5ZM245 139H8.5v129.5H245V139Zm0-7V8.5H9a.5.5 0 0 0-.5.5v123H245Zm240.5 136.5V139H252v129.5h233.5Zm-477 7h157v81H8.5v-81Zm164 81v-81h153v81h-153Zm153 7h-153v83h153v-83Zm7 83v-83h153v83h-153Zm-7 7h-153v88h153v-88Zm7 88v-88h153v88h-153Zm0-185v-81h153v81h-153Zm-324 7h157v83H8.5v-83Zm0 90h157v88H9a.5.5 0 0 1-.5-.5v-87.5Z`},null,-1)]],8,rn))}}),on=[`fill`],sn=F({__name:`CuiCameraGridIcon4`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v259H493V9h468ZM493 541V276h468v265H493ZM485 9v259H9V9h476ZM9 541V276h476v265H9Z`},null,-1)]],8,on))}}),cn=[`fill`],ln=F({__name:`CuiCameraGridIcon6`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm641.5 187.5H961v171H650.5v-171ZM961 9v171.5H650.5V9H961ZM642.5 9v350.5H9V9h633.5ZM9 541V367.5h315.5V541H9Zm323.5-173.5h310V541h-310V367.5Zm318 0H961V541H650.5V367.5Z`},null,-1)]],8,cn))}}),un=[`fill`],dn=F({__name:`CuiCameraGridIcon7`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm725.5 275H961v130H734.5V276Zm0 265V414H961v127H734.5Zm-8-265v130H493V276h233.5ZM493 541V414h233.5v127H493ZM9 276h476v265H9V276ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,un))}}),fn=[`fill`],pn=F({__name:`CuiCameraGridIcon9`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=Y(e);return(e,n)=>(j(),H(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:J(t)},[...n[0]||=[G(`path`,{d:`M969.5 359v-.5h-.5V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V366.5h.5V359ZM961 187v171.5H651V187h310ZM651 541V366.5h310V541H651Zm-8-354v171.5H330V187h313ZM330 541V366.5h313V541H330Zm-8-354v171.5H9V187h313ZM9 541V366.5h313V541H9ZM961 9v170H651V9h310ZM643 9v170H330V9h313ZM322 9v170H9V9h313Z`},null,-1)]],8,fn))}}),mn={for:`name`,class:`cui-label`},hn={key:0,class:`flex flex-col gap-6 justify-center`},gn={key:0,class:`text-red-500 text-center mb-5`},_n={class:`md:max-h-[350px] overflow-y-auto`},vn={class:`block cui-label mb-3`},yn={key:1,class:`flex flex-col gap-6 justify-center`},bn={key:0,class:`text-red-500 text-center mb-5`},xn={class:`md:max-h-[450px] overflow-y-auto`},Sn={class:`block cui-label mb-3`},Cn={class:`view-select-container`},wn=[`onClick`],Tn=O(F({__name:`CamviewForm`,props:{form:{},type:{},cameras:{},views:{}},setup(t,{expose:n}){let r=new g,i=t,a=E(),s=m(),{t:c}=o(),l=Se(`dialogRefProps`),{user:u}=Ae(ae()),{mutateAsync:d,isPending:ee}=r.createViewQuery(),{mutateAsync:f,isPending:p}=r.patchViewQuery(),{form:_,type:v,cameras:te,views:y}=Y(i),b=P(`formRef`),S=U([1,4,6,7,9,10,12,13,15,16,20,26]),ne=U(!0),re=U(!0),C=U([]),w=U(!!_.value),T=U(_.value?se(_.value):{});!w.value&&v.value===`view`&&(T.value.viewSize=S.value[0]);let ie=R(()=>!!(l.loading?.value||ee.value||p.value));function D(e){let t=C.value.findIndex(t=>t.name===e.name);t===-1?C.value.push(e):C.value.splice(t,1)}function O(e){switch(e){case 1:return Wt;case 4:return sn;case 6:return ln;case 7:return dn;case 9:return pn;case 10:return Kt;case 12:return Jt;case 13:return Xt;case 15:return Qt;case 16:return en;case 20:return nn;case 26:return an;default:return Wt}}async function oe(){if(!b.value||!u.value)return;let e=y.value.find(e=>e.name===T.value.name);if(e&&!w.value)return a.error(`View already exists`,e),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null;if(v.value===`dnd`){if(re.value)return a.error(`No cameras selected`),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null;let e=C.value.map((e,t)=>({cameraId:e._id,index:t}));T.value.cameras=e,T.value.type=`dnd`,T.value.viewSize=1,b.value.setFieldValue(`type`,`dnd`),b.value.setFieldValue(`viewSize`,1),b.value.setFieldValue(`cameras`,e);let t=await b.value.validate();return t?.valid?w.value?await f({username:u.value.username,viewid:T.value._id,viewData:T.value}):await d({username:u.value.username,viewData:T.value}):(a.error(`Validation failed`,t),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null)}else{if(ne.value)return a.error(`No view selected`),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null;T.value.cameras=[],T.value.type=`view`,b.value.setFieldValue(`type`,`view`),b.value.setFieldValue(`cameras`,[]);let e=await b.value.validate();return e?.valid?se(T.value):(a.error(`Validation failed`,e),s.add({severity:`error`,detail:c(`components.toast.validation_failed`),life:3e3}),null)}}return ye(T,e=>{for(let[t,n]of Object.entries(e))b.value?.setFieldValue(t,n);e.viewSize&&(ne.value=!1),e.cameras?.length&&(re.value=!1)},{deep:!0,immediate:!0}),ye(C,e=>{re.value=e.length===0},{deep:!0}),he(()=>{C.value=te.value?.filter(e=>T.value?.cameras?.some(t=>t.cameraId===e._id))||[]}),n({isLoading:ie,onConfirm:oe}),(t,n)=>{let r=e,i=Z,a=je,o=X,s=h;return j(),I(J(xe),{ref_key:`formRef`,ref:b,class:`flex flex-col gap-6`,"validation-schema":J(x),"initial-values":J(T)},{default:W(()=>[K(J(ge),{modelValue:J(T).name,"onUpdate:modelValue":n[0]||=e=>J(T).name=e,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:W(({field:e,errors:n})=>[G(`label`,mn,N(t.$t(`components.form.label.name`)),1),K(i,null,{default:W(()=>[K(r,ke(e,{invalid:n.length>0,loading:J(ie),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),K(be,{name:`fade`},{default:W(()=>[K(J(A),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),K(a,{class:`m-0 py-3`}),J(v)===`dnd`?(j(),H(`div`,hn,[K(be,{name:`fade`},{default:W(()=>[J(re)?(j(),H(`span`,gn,N(t.$t(`components.form.error.no_cameras_selected`)),1)):L(``,!0)]),_:1}),G(`div`,_n,[G(`label`,vn,N(t.$t(`components.form.label.cameras`)),1),(j(!0),H(Te,null,pe(J(te),(e,t)=>(j(),H(`div`,{key:t,class:`cui-list-item`},[K(s,{class:`h-14`,active:J(C).some(t=>t.name===e.name),onClick:t=>D(e)},{append:W(()=>[K(o,{"model-value":J(C).some(t=>t.name===e.name),"onUpdate:modelValue":t=>D(e)},null,8,[`model-value`,`onUpdate:modelValue`])]),default:W(()=>[G(`span`,null,N(e.name),1)]),_:2},1032,[`active`,`onClick`])]))),128))])])):(j(),H(`div`,yn,[K(be,{name:`fade`},{default:W(()=>[J(ne)?(j(),H(`span`,bn,N(t.$t(`components.form.error.no_view_selected`)),1)):L(``,!0)]),_:1}),G(`div`,xn,[G(`label`,Sn,N(t.$t(`components.form.label.views`)),1),G(`div`,Cn,[(j(!0),H(Te,null,pe(J(S),e=>(j(),H(`div`,{key:e,class:`view-select-item w-full`,onClick:t=>J(T).viewSize=e},[G(`div`,{class:M([`view-select-item-icon w-full p-3`,{"selected-view":J(T).viewSize===e}])},[(j(),I(Ce(O(e)),{style:{width:`100%`,height:`100%`}}))],2),G(`span`,{class:M([`view-select-item-label text-muted mt-3 px-2 py-1 cui-rounded-corners`,{"selected-view-label":J(T).viewSize===e}])},N(e)+` `+N(t.$t(`views.camview.cameras`)),3)],8,wn))),128))])])]))]),_:1},8,[`validation-schema`,`initial-values`])}}}),[[`__scopeId`,`data-v-641aac54`]]),En={class:`h-full w-full dark-mode relative`},Dn={key:0,class:`flex flex-col w-full h-full items-center justify-center`},On={key:1,class:`flex flex-col w-full h-full`},kn={class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},An={class:`text-muted text-sm`},jn={class:`relative w-6 h-6`},Mn=O(F({__name:`Camview`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(e){let r=new g,s=new oe,c=e,u=o(),{t:m}=u,h=Me(),x=p(),{bottombarHeight:re}=ce(),{smBreakpoint:E,lgBreakpoint:D,mdBreakpoint:O}=ie(),{user:ue}=Ae(ae()),{uiSettings:k}=Ae(le()),{data:pe,isLoading:me}=s.getCamerasQuery({page:1,pageSize:-1}),{data:A,isLoading:he}=r.getViewsQuery(ue.value?.username??``,{page:1,pageSize:-1}),{mutate:ge,isPending:_e}=r.removeViewQuery(),{mutateAsync:ve,isPending:xe}=r.createViewQuery(),{mutateAsync:Se,isPending:we}=r.patchViewQuery(),{navbarWidth:Te,navbarLeft:F}=Y(c),De=P(`menuRef`),Oe=P(`newViewMenuRef`),z=P(`viewDndRef`),B=U({}),X=U(!1),Z=U(!1),Q=U(!1),Pe=U(!1),Fe=U(!1),Ie=U(!1),Le=U(!0),Re=U(`always-on`),Be=U(`low-resolution`),Ue=U(`webrtc`),Ke=U([]),qe=U({}),Je=Ee({sourceRole:Be.value,activityMode:Re.value,streamingMode:Ue.value}),Xe=R(()=>me.value||he.value||_e.value||xe.value||we.value),Ze=R(()=>Te.value+F.value),$e=R(()=>({locale:u.locale.value,dayNames:h.config.locale?.dayNames,dayNamesShort:h.config.locale?.dayNamesShort,monthNames:h.config.locale?.monthNames,monthNamesShort:h.config.locale?.monthNamesShort})),et=R(()=>({doubleClickZoom:!1,flatCard:!0,cameraNameOverlay:!0,control:!0,toolbar:!1,expandableCard:($.value?.cameras?.length??0)>1,detectionIndicatorOverlay:!0,boundingBoxOverlay:!1,cardClickAction:`expand`,viewTransition:!0,cardProps:{pt:{root:{style:`background: #000`}}}})),nt=R(()=>A.value?.result.length?D.value?{width:Fe.value?`calc(100% - 400px)`:`100%`,height:`100%`,overflowY:`scroll`}:{height:`100%`,paddingBottom:Fe.value?re.value>0?`200px`:`192px`:`0px`,overflowY:`scroll`}:{width:`100%`,height:`100%`,overflowY:`scroll`}),rt=R(()=>X.value||Z.value),at=R(()=>!!z.value?.isFullscreen),ot=R(()=>[{label:at.value?m(`components.form.tooltip.fullscreen_off`):m(`components.form.tooltip.fullscreen_on`),icon:at.value?b:y,command:Dt},{label:Le.value?m(`components.form.tooltip.unmute`):m(`components.form.tooltip.mute`),icon:Le.value?lt:st,command:Ot},{label:m(`components.form.tooltip.intercom`),icon:d,command:()=>_t(`intercom`)},{label:Ue.value===`auto`?`${m(`components.form.tooltip.mode`)}: ${m(`components.form.tooltip.streaming_mode_auto`)}`:Ue.value===`webrtc`?`${m(`components.form.tooltip.mode`)}: ${m(`components.form.tooltip.streaming_mode_webrtc`)}`:`${m(`components.form.tooltip.mode`)}: ${m(`components.form.tooltip.streaming_mode_mse`)}`,icon:Ue.value===`auto`?ft:Ue.value===`webrtc`?ne:te,command:()=>jt()},{label:Re.value===`always-on`?m(`components.form.tooltip.activity_mode_always_on`):Re.value===`standby`?m(`components.form.tooltip.activity_mode_standby`):m(`components.form.tooltip.activity_mode_activity`),icon:Re.value===`always-on`?fe:Re.value===`standby`?ee:it,command:()=>kt()},{label:Be.value===`low-resolution`?`${m(`components.form.tooltip.resolution`)}: ${m(`components.form.tooltip.source_role_low`)}`:Be.value===`mid-resolution`?`${m(`components.form.tooltip.resolution`)}: ${m(`components.form.tooltip.source_role_mid`)}`:`${m(`components.form.tooltip.resolution`)}: ${m(`components.form.tooltip.source_role_high`)}`,icon:Be.value===`low-resolution`?S:Be.value===`mid-resolution`?f:v,command:()=>At()}]),$=R(()=>{let e=A.value?.result.find(e=>e._id===k.value.camview.viewid)||A.value?.result[0];return e?(B.value=e,k.value.camview.viewid=e._id):B.value={},e}),ct=R(()=>$.value?.cameras?.map(e=>e.cameraId)??[]),{master:ut}=a(ct,{sourceRole:`low`}),dt=R(()=>ut.mode.value!==`idle`&&ut.currentTimestamp.value>0?Math.floor(ut.currentTimestamp.value/1e3):void 0),pt=R(()=>rt.value&&B.value.viewSize>0?B.value.viewSize:$.value?$.value.viewSize:1),mt=R(()=>{let e=[];for(let t of A.value?.result||[])e.push({label:t.name,active:t._id===$.value?._id,onClick:()=>vt(t)});return e}),gt=R(()=>[{label:m(`views.camview.new_view`),icon:ht,onClick:()=>_t(`newView`)}]);function _t(e){switch(e){case`newView`:case`editView`:{let t=e===`editView`,n=m(t?`components.dialog.title.edit_view`:`components.dialog.title.new_view`);t?X.value=!0:Z.value=!0,x.openComponentDialog(Tn,{data:{title:n,loading:Xe,confirmText:m(`components.form.button.next`),contentProps:{form:t?B.value:void 0,type:`view`,cameras:pe.value?.result||[],views:A.value?.result||[]}},onConfirm:e=>{e&&(B.value=e)},onCancel:()=>{Z.value=!1}});break}case`intercom`:x.openComponentDialog(Ht,{data:{title:m(`components.dialog.title.intercom`),hideConfirmButton:!0,loading:Xe,contentProps:{}},events:{listening:Mt}});break;case`removeView`:x.openTextDialog({data:{title:m(`components.dialog.title.confirm`),confirmText:m(`components.form.button.remove`),contentText:m(`components.dialog.message.confirm_remove_layout`),confirmButtonProps:{severity:`danger`}},onConfirm:yt});break}}function vt(e){k.value.camview.viewid=e._id}function yt(){!$.value||!ue.value||ge({username:ue.value.username,viewid:$.value._id},{onSuccess:e=>{e.length?k.value.camview.viewid=e[0]._id:k.value.camview.viewid=void 0}})}async function bt(){if(!ue.value||Object.keys(B.value).length===0)return;let e=Ke.value.filter(e=>e.lastDroppedCamera).map(e=>({cameraId:e.lastDroppedCamera._id,index:e.index,colSpan:e.colSpan,rowSpan:e.rowSpan})).sort((e,t)=>e.index-t.index);if(!e.length)return;let t=se(B.value);t.cameras=e,t._id?Et(await Se({username:ue.value.username,viewid:t._id,viewData:t})):Et(await ve({username:ue.value.username,viewData:t}))}function xt(e,t){Ke.value[e].lastDroppedCamera=t}function St(e){Ke.value=Ke.value.map(t=>(t.lastDroppedCamera?.name===e.name&&(t.lastDroppedCamera=void 0),t))}function Ct(e){return`${E.value?`mobile`:`desktop`}:${e}`}function wt(e){let t=$.value?._id;t&&(k.value.camview.layouts||(k.value.camview.layouts={}),k.value.camview.layouts[Ct(t)]=e.map(e=>({index:e.index,cameraId:e.cameraId,x:e.x??0,y:e.y??0,w:e.colSpan??1,h:e.rowSpan??1})))}function Tt(e,t){qe.value[e._id]=t}function Et(e){k.value.camview.viewid=e._id,Z.value=!1,X.value=!1}function Dt(){z.value?.toggleFullscreen()}function Ot(){Le.value=!Le.value,z.value?.toggleAllPlayerMute(Le.value)}function kt(e){let t=Re.value;t=e||(t===`always-on`?`standby`:t===`standby`?`activity`:`always-on`),z.value?.toggleAllPlayerActivityMode(t),Re.value=t}async function At(e){let t=Be.value;t=e||(t===`low-resolution`?`mid-resolution`:t===`mid-resolution`?`high-resolution`:`low-resolution`),await z.value?.toggleAllPlayerSourceRole(t),Be.value=t}async function jt(e){let t=Ue.value;t===`auto`&&(t=`webrtc`);let n=e||(t===`mse`?`webrtc`:`mse`);await z.value?.toggleAllPlayerStreamingMode(n),Ue.value=n}async function Mt(e){await z.value?.toggleAllPlayerMicrophone(e)}return ye(Pe,e=>{e&&(Ie.value=!0)}),ye([pt,$,pe,rt,k,E],()=>{let e=Array.from({length:pt.value}).map((e,t)=>({accept:`camera`,index:t,lastDroppedCamera:void 0}));if(!Z.value){let t=$.value?._id,n=t?Ct(t):void 0,r=n?k.value.camview.layouts?.[n]:void 0,i=new Set(pe.value?.result.map(e=>e._id)??[]),a=!1;for(let t of $.value?.cameras||[]){if(!e[t.index])continue;let n=pe.value?.result.find(e=>e._id===t.cameraId);e[t.index].lastDroppedCamera=n;let o=r?.find(e=>e.index===t.index);o&&(!o.cameraId||i.has(o.cameraId)?(e[t.index].x=o.x,e[t.index].y=o.y,e[t.index].colSpan=o.w,e[t.index].rowSpan=o.h):a=!0)}a&&n&&k.value.camview.layouts?.[n]&&(k.value.camview.layouts[n]=k.value.camview.layouts[n].filter(e=>!e.cameraId||i.has(e.cameraId)))}Ke.value=e},{deep:!0,immediate:!0}),(e,r)=>{let a=Ge,o=tt,s=T,c=Qe,u=Ye,d=w,ee=_,f=je,p=He,m=ze,h=Ve,g=We,v=l,te=de,y=t,b=Ne,x=C,S=n;return j(),H(`div`,En,[K(g,{"left-offset":J(Ze),animate:``},{left:W(()=>[!J(Z)&&J($)?(j(),I(a,{key:0,type:`dropdown`,label:J($).name,"menu-open":J(De)?.isOpen,disabled:J(Xe)||J(X),onClick:r[0]||=e=>J(De)?.toggleMenu(e)},null,8,[`label`,`menu-open`,`disabled`])):J(Z)&&J(B).name?(j(),I(a,{key:1,label:J(B).name,disabled:J(Xe)},null,8,[`label`,`disabled`])):L(``,!0)]),right:W(()=>[!J(rt)&&J($)?V((j(),I(a,{key:0,active:J(Q),onClick:r[1]||=e=>Q.value=!J(Q)},{icon:W(()=>[J(Q)?(j(),I(s,{key:1,width:`100%`,height:`100%`})):(j(),I(o,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[S,{value:J(Q)?e.$t(`views.camview.rearrange_done`):e.$t(`views.camview.rearrange`)},void 0,{bottom:!0}]]):L(``,!0),!J(rt)&&J($)&&J(Q)&&!J(E)?V((j(),I(a,{key:1,onClick:r[2]||=e=>J(z)?.fitAspectRatios()},{icon:W(()=>[K(c,{width:`100%`,height:`100%`})]),_:1})),[[S,{value:e.$t(`views.camview.rearrange_fit_aspect`)},void 0,{bottom:!0}]]):L(``,!0),!J(rt)&&J($)&&J(Q)&&!J(E)?V((j(),I(a,{key:2,onClick:r[3]||=e=>J(z)?.compactGrid()},{icon:W(()=>[K(u,{width:`100%`,height:`100%`})]),_:1})),[[S,{value:e.$t(`views.camview.rearrange_auto`)},void 0,{bottom:!0}]]):L(``,!0),!J(rt)&&J($)?V((j(),I(a,{key:3,active:J(Pe),onClick:r[4]||=e=>Pe.value=!J(Pe)},{icon:W(()=>[J(Pe)?(j(),I(ee,{key:1,width:`100%`,height:`100%`})):(j(),I(d,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[S,{value:J(Pe)?e.$t(`components.form.tooltip.hide_timeline`):e.$t(`components.form.tooltip.show_timeline`)},void 0,{bottom:!0}]]):L(``,!0),!J(rt)&&J($)?(j(),I(f,{key:4,layout:`vertical`})):L(``,!0),!J(rt)&&J($)?V((j(),I(a,{key:5,disabled:J(Q),onClick:r[5]||=e=>_t(`removeView`)},{icon:W(()=>[K(p,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[S,{value:e.$t(`components.form.tooltip.delete`)},void 0,{bottom:!0}]]):L(``,!0),!J(X)&&!J(Z)&&J($)?V((j(),I(a,{key:6,disabled:J(Q),onClick:r[6]||=e=>X.value=!0},{icon:W(()=>[K(m,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[S,{value:e.$t(`components.form.tooltip.edit`)},void 0,{bottom:!0}]]):L(``,!0),!J(X)&&!J(Z)?V((j(),I(a,{key:7,disabled:J(Q),onClick:J(Oe)?.toggleMenu},{icon:W(()=>[K(h,{class:M([`transform transition-transform duration-300`,{"rotate-45":J(Oe)?.isOpen}]),width:`100%`,height:`100%`},null,8,[`class`])]),_:1},8,[`disabled`,`onClick`])),[[S,{value:e.$t(`components.form.tooltip.new`)},void 0,{bottom:!0}]]):L(``,!0),J(X)||J(Z)?(j(),I(a,{key:8,label:e.$t(`components.form.button.cancel`),onClick:r[7]||=e=>J(X)?X.value=!1:Z.value=!1},null,8,[`label`])):L(``,!0),J(X)||J(Z)?(j(),I(a,{key:9,label:e.$t(`components.form.button.save`),disabled:J(Ke).every(e=>e.lastDroppedCamera===void 0),primary:``,onClick:bt},null,8,[`label`,`disabled`])):L(``,!0)]),_:1},8,[`left-offset`]),G(`div`,{class:M([`w-full h-full flex relative`,{"flex-row":J(D),"flex-col":!J(D)}]),style:q({paddingTop:`${J(55)}px`})},[G(`div`,{class:M([`flex relative z-1 camview-content-transition`,{"h-full items-center justify-center":J(D)||!J(A)?.result.length,"w-full items-start justify-start":!J(D)&&J(A)?.result.length}]),style:q(J(nt))},[J(Xe)?(j(),H(`div`,Dn,[(j(),I(v,{key:0,class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`}))])):!J($)&&!J(Z)?(j(),H(`div`,On,[G(`div`,kn,[K(te,{class:`w-12 h-12 text-muted`}),G(`span`,An,N(e.$t(`views.camview.no_views_configured`)),1)])])):J($)||J(Z)?(j(),H(`div`,{key:2,class:M([`w-full h-full`,{"p-2 pb-0":!J(E)}])},[(j(),I(Rt,{ref_key:`viewDndRef`,ref:z,key:J(k).camview.viewid+(J(Z)?`-new`:J(X)?`-edit`:`-view`),cameras:J(pe)?.result||[],"edit-mode":J(Z)||J(X),"rearrange-mode":J(Q),"view-size":J(Z)?J(B).viewSize:J(pt),title:J(B).name,cards:J(Ke),"camera-card-props":J(et),"camera-card-models":J(Je),onDrop:xt,onRemove:St,onChangeViewSize:r[8]||=e=>_t(`editView`),onExpand:Tt,onRearrange:wt},null,8,[`cameras`,`edit-mode`,`rearrange-mode`,`view-size`,`title`,`cards`,`camera-card-props`,`camera-card-models`]))],2)):L(``,!0)],6),K(be,{name:J(D)?`slide-left`:`slide-up`,onBeforeEnter:r[9]||=e=>Fe.value=!0,onAfterEnter:r[10]||=e=>Ie.value=!1,onBeforeLeave:r[11]||=e=>Fe.value=!1},{default:W(()=>[J(Pe)?(j(),I(J(i),{key:0,"camera-ids":J(ct),"initial-timestamp":J(dt),loading:J(Ie),type:J(D)?`vertical`:`horizontal`,"dark-mode":``,"md-breakpoint":J(O),class:M([`shrink-0 transition-[left] duration-200`,{"h-full w-[400px] pt-2 pr-2":J(D),"h-[200px] pt-2 px-2 pb-2 pb-safe-offset fixed right-safe-offset-0 z-10":!J(D),"p-0! pt-2! border-color":J(E)}]),"card-class":{"!shadow-xl":!0,"!rounded-none border-l-0! border-r-0!":J(E)},style:q(J(D)?void 0:{left:`${J(Ze)}px`,bottom:`calc(${J(re)}px + env(safe-area-inset-bottom, 0px))`}),"locale-settings":J($e)},null,8,[`camera-ids`,`initial-timestamp`,`loading`,`type`,`md-breakpoint`,`class`,`card-class`,`style`,`locale-settings`])):L(``,!0)]),_:1},8,[`name`])],6),!J(rt)&&J($)?(j(),I(b,{key:0,model:J(ot),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-2 z-11 dark-mode`,pt:{root:{style:`pointer-events: none`}},style:q({bottom:J(D)?`0`:`calc(${J(Fe)?192:0}px + ${J(re)>0?`0.5rem`:`0px`})`,right:J(D)?`calc(${J(Fe)?400:0}px + 0.5rem)`:`0.5rem`,transition:`bottom 0.25s ease-out, right 0.25s ease-out`})},{button:W(({visible:e,toggleCallback:t})=>[K(y,{severity:`secondary`,class:M([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,loading:J(Xe),onClick:t},{icon:W(()=>[G(`div`,jn,[G(`div`,{class:M([`bg-white absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}])},null,2),G(`div`,{class:M([`bg-white absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}])},null,2),G(`div`,{class:M([`bg-white absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}])},null,2)])]),_:2},1032,[`class`,`loading`,`onClick`])]),item:W(({item:e,toggleCallback:t})=>[V((j(),I(y,ke({loading:J(Xe),severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:W(()=>[(j(),I(Ce(e.icon)))]),_:2},1040,[`loading`,`onClick`])),[[S,{value:e.label}]])]),_:1},8,[`model`,`style`])):L(``,!0),K(x,{ref_key:`menuRef`,ref:De,items:J(mt),class:`dark-mode`,popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),K(x,{ref_key:`newViewMenuRef`,ref:Oe,items:J(gt),class:`dark-mode`,popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-6ee3e146`]]);export{Mn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./CuiBottomSheet-SnWWgn5I.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,E as t,O as n,Ot as r,Pt as i,S as a,T as ee,_ as o,fr as s,kr as c,m as l,mi as u,o as d,pr as f,v as p,w as te}from"./vendor-cameraui-Bq-hQsT7.js";import{Q as m,V as h,nn as g,sn as _}from"./api-CdJDEL3z.js";import{An as ne,Rn as v,Tn as re,Tr as y,Wn as b,Xn as x,an as ie,bn as S,cr as C,dn as w,fn as T,ln as E,lr as D,nr as O,pn as k,pr as A,tr as j,un as M,vn as N,xr as P,zn as F}from"./vendor-CdGy-Xet.js";import{F as ae,P as oe,U as se}from"./vendor-primevue-B3sIO6X2.js";import{t as ce}from"./ring-resize-peEJMXPl.js";import{n as le,t as ue}from"./CuiRecordingsGrid-Dkpe799a.js";var I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return v(),k(`svg`,I,[...t[0]||=[M(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[M(`path`,{d:`m3 3l18 18m-6-10v-1l4.553-2.276A1 1 0 0 1 21 8.618v6.764a1 1 0 0 1-.675.946`}),M(`path`,{d:`M10 6h3a2 2 0 0 1 2 2v3m0 4v1a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1`})],-1)]])}var de=D({name:`tabler-video-off`,render:L}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return v(),k(`svg`,R,[...t[0]||=[M(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M16 17a1 1 0 1 0 2 0a1 1 0 1 0-2 0M6 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 11L18 6`},null,-1)]])}var fe=D({name:`tabler-percentage`,render:z}),B={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function V(e,t){return v(),k(`svg`,B,[...t[0]||=[M(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3`},null,-1)]])}var pe=D({name:`tabler-calendar`,render:V}),me={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return v(),k(`svg`,me,[...t[0]||=[M(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 8v8m4-8v8m-6-6h8m-8 4h8M3 7V5a2 2 0 0 1 2-2h2M3 17v2a2 2 0 0 0 2 2h2M17 3h2a2 2 0 0 1 2 2v2m-4 14h2a2 2 0 0 0 2-2v-2`},null,-1)]])}var he=D({name:`tabler-grid-scan`,render:H}),U={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return v(),k(`svg`,U,[...t[0]||=[M(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6`},null,-1)]])}var ge=D({name:`tabler-search`,render:W}),G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(e,t){return v(),k(`svg`,G,[...t[0]||=[M(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 12h14M5 12l6 6m-6-6l6-6`},null,-1)]])}var _e=D({name:`tabler-arrow-left`,render:K}),ve={class:`flex flex-col h-full`},ye={class:`recordings-toolbar flex flex-col gap-1 py-1.5`},be={key:0,class:`flex items-center gap-1`},xe={key:0,class:`flex items-center gap-1`},Se={key:1,class:`flex items-center gap-1`},Ce={class:`flex items-center`},we={class:`flex items-center gap-1 shrink-0`},Te={class:`flex items-center`},Ee={class:`max-w-[305px]`},De={class:`w-48 flex flex-col gap-2`},Oe={class:`flex items-center justify-between text-xs`},ke={class:`text-muted`},Ae={class:`font-mono`},je={class:`flex-1 min-h-0 flex flex-col mt-3`},Me={key:1,class:`flex justify-center py-4`},Ne={key:2,class:`flex flex-col items-center justify-center py-10 gap-3`},Pe={class:`text-muted text-sm`},Fe=10,Ie=11,q=g(S({__name:`CuiCameraRecordings`,props:{cameraId:{},cameraName:{},camera:{},compact:{type:Boolean,default:!1}},emits:[`scrollToEvent`],setup(g,{emit:S}){let D=g,I=S,{t:L}=c(),{isTouch:R}=_(),z=re(m,void 0);if(!R.value&&typeof VideoDecoder<`u`){let e=p({cacheSize:10});F(o,e),u(()=>e.dispose())}let{icons:B,generic:V}=h(),me=new Set([`motion`,`audio`]),H=new Set(s),U=[...f.filter(e=>!me.has(e)).map(e=>({label:L(`views.recordings.type_${e}`),value:e,icon:B[e]??V})),...s.map(e=>({label:L(`views.recordings.attr_${e}`),value:e,icon:B[e]??V})),{label:L(`views.recordings.type_other`),value:d,icon:B.other??V}],W=A(!1),G=x(`mobileSearchInputRef`),K=A(``),q=A([]),J=A([]),Y=A(),X=A(0),Z=x(`datePopoverRef`),Q=x(`confidencePopoverRef`),Le=E(()=>[D.cameraId]),{events:Re,isLoading:ze,hasMore:Be,loadMore:Ve,loadThumbnails:He}=a({availableCameraIds:Le,cameraIds:Le,realtime:!0,pageSize:30,filter:E(()=>{let e=q.value.filter(e=>H.has(e)),t=q.value.length>0||J.value.length>0;return{types:q.value.length>0?q.value.filter(e=>!H.has(e)):void 0,triggers:J.value.length>0?J.value:void 0,attributes:e.length>0?e:void 0,search:K.value||void 0,state:`ended`,hasDetections:!t}})}),Ue=E(()=>Y.value?Y.value.toLocaleDateString([],{day:`2-digit`,month:`2-digit`,year:`numeric`}):``),$=E(()=>{let e=Re.value.filter(e=>e.state===`ended`);if(Y.value){let t=Y.value,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),r=n+1440*60*1e3;e=e.filter(e=>e.startTime>=n&&e.startTime<r)}X.value>0&&(e=e.filter(e=>l(e)>=X.value));let t=z?.regions.value;return t&&t.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&We(e.box,t))))),e});function We(e,t){let n=1/Fe,r=1/Ie,i=e.x/n,a=(e.x+e.width)/n,ee=e.y/r,o=(e.y+e.height)/r;for(let e of t)if(a>e.col&&i<e.col+e.w&&o>e.row&&ee<e.row+e.h)return!0;return!1}function Ge(){z&&(z.active.value=!z.active.value,z.active.value||(z.regions.value=[]))}function Ke(){W.value=!0,ne(()=>G.value?.$el?.querySelector(`input`)?.focus())}function qe(){W.value=!1,K.value=``}return(a,o)=>{let s=_e,c=r,l=ge,u=oe,d=n,f=ae,p=he,m=pe,h=fe,_=te,ne=se,re=t,x=ee,S=e,E=le,D=ce,A=de,F=i;return v(),k(`div`,ve,[M(`div`,ye,[P(W)?(v(),k(`div`,be,[N(c,{text:``,rounded:``,severity:`secondary`,class:`shrink-0 cui-icon-md`,onClick:qe},{icon:j(()=>[N(s,{width:`100%`,height:`100%`})]),_:1}),N(f,{class:`flex-1 min-w-0`},{default:j(()=>[N(u,null,{default:j(()=>[N(l,{class:`w-3.5 h-3.5`})]),_:1}),N(d,{ref_key:`mobileSearchInputRef`,ref:G,modelValue:P(K),"onUpdate:modelValue":o[0]||=e=>C(K)?K.value=e:null,placeholder:a.$t(`views.recordings.search_placeholder`),class:`w-full !text-xs !py-1.5`},null,8,[`modelValue`,`placeholder`])]),_:1})])):(v(),k(ie,{key:1},[g.compact?(v(),k(`div`,xe,[N(f,{class:`flex-1 min-w-0`},{default:j(()=>[N(u,null,{default:j(()=>[N(l,{class:`w-3.5 h-3.5`})]),_:1}),N(d,{modelValue:P(K),"onUpdate:modelValue":o[1]||=e=>C(K)?K.value=e:null,placeholder:a.$t(`views.recordings.search_placeholder`),class:`w-full !text-xs !py-1.5`},null,8,[`modelValue`,`placeholder`])]),_:1}),P(z)?O((v(),w(c,{key:0,text:``,rounded:``,class:`cui-icon-md shrink-0`,severity:P(z).active.value?`primary`:`secondary`,onClick:Ge},{icon:j(()=>[N(p,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:a.$t(`views.recordings.grid_search`)},void 0,{top:!0}]]):T(``,!0),O((v(),w(c,{text:``,rounded:``,class:`cui-icon-md shrink-0`,severity:P(Y)?`primary`:`secondary`,onClick:o[2]||=e=>P(Z)?.toggle(e)},{icon:j(()=>[N(m,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:P(Y)?P(Ue):a.$t(`views.recordings.date`)},void 0,{top:!0}]]),O((v(),w(c,{text:``,rounded:``,class:`cui-icon-md shrink-0`,severity:P(X)>0?`primary`:`secondary`,onClick:o[3]||=e=>P(Q)?.toggle(e)},{icon:j(()=>[N(h,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:a.$t(`views.recordings.confidence`)},void 0,{top:!0}]])])):T(``,!0),g.compact?T(``,!0):(v(),k(`div`,Se,[N(_,{modelValue:P(q),"onUpdate:modelValue":o[4]||=e=>C(q)?q.value=e:null,options:U,"option-label":`label`,"option-value":`value`,multiple:``,pt:{root:{class:`flex gap-0.5`},pcToggleButton:{root:{class:`!px-2 !py-1.5 !text-xs`}}}},{option:j(({option:e})=>[O((v(),k(`div`,Ce,[(v(),w(b(e.icon),{class:`w-3.5 h-3.5`}))])),[[F,e.label,void 0,{top:!0}]])]),_:1},8,[`modelValue`]),N(ne,{class:`ml-auto`,layout:`vertical`}),M(`div`,we,[P(z)?O((v(),w(c,{key:0,text:``,rounded:``,class:`cui-icon-md`,severity:P(z).active.value?`primary`:`secondary`,onClick:Ge},{icon:j(()=>[N(p,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:a.$t(`views.recordings.grid_search`)},void 0,{top:!0}]]):T(``,!0),O((v(),w(c,{text:``,rounded:``,class:`cui-icon-md`,severity:P(Y)?`primary`:`secondary`,onClick:o[5]||=e=>P(Z)?.toggle(e)},{icon:j(()=>[N(m,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:P(Y)?P(Ue):a.$t(`views.recordings.date`)},void 0,{top:!0}]]),O((v(),w(c,{text:``,rounded:``,class:`cui-icon-md`,severity:P(X)>0?`primary`:`secondary`,onClick:o[6]||=e=>P(Q)?.toggle(e)},{icon:j(()=>[N(h,{width:`100%`,height:`100%`})]),_:1},8,[`severity`])),[[F,{value:a.$t(`views.recordings.confidence`)},void 0,{top:!0}]]),N(f,{class:`hidden xl:flex`},{default:j(()=>[N(u,null,{default:j(()=>[N(l,{class:`w-3.5 h-3.5`})]),_:1}),N(d,{modelValue:P(K),"onUpdate:modelValue":o[7]||=e=>C(K)?K.value=e:null,placeholder:a.$t(`views.recordings.search_placeholder`),class:`!text-xs !py-1.5 !w-36`},null,8,[`modelValue`,`placeholder`])]),_:1}),O((v(),w(c,{text:``,rounded:``,severity:`secondary`,class:`xl:hidden cui-icon-md`,onClick:Ke},{icon:j(()=>[N(l,{width:`100%`,height:`100%`})]),_:1})),[[F,{value:a.$t(`views.recordings.search`)},void 0,{top:!0}]])])])),g.compact?(v(),w(_,{key:2,modelValue:P(q),"onUpdate:modelValue":o[8]||=e=>C(q)?q.value=e:null,options:U,"option-label":`label`,"option-value":`value`,fluid:``,multiple:``,pt:{root:{class:`flex gap-0.5 flex-wrap`},pcToggleButton:{root:{class:`!px-2 !py-1.5 !text-xs`}}}},{option:j(({option:e})=>[O((v(),k(`div`,Te,[(v(),w(b(e.icon),{class:`w-3.5 h-3.5`}))])),[[F,e.label,void 0,{top:!0}]])]),_:1},8,[`modelValue`])):T(``,!0)],64))]),N(x,{ref_key:`datePopoverRef`,ref:Z,class:`border-none`,pt:{content:{class:`p-0`}}},{default:j(()=>[M(`div`,Ee,[N(re,{modelValue:P(Y),"onUpdate:modelValue":o[9]||=e=>C(Y)?Y.value=e:null,"max-date":new Date,inline:``,"clear-button-props":{class:`hidden`},class:`hover:text-primary active:text-primary focus:text-primary text-muted-color`,pt:{pcInputText:{root:{class:`text-sm !text-color`}},inputIconContainer:{class:`transition-all text-current`}}},null,8,[`modelValue`,`max-date`]),P(Y)?(v(),w(c,{key:0,label:a.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`text-xs mt-2`,fluid:``,onClick:o[10]||=e=>Y.value=void 0},null,8,[`label`])):T(``,!0)])]),_:1},512),N(x,{ref_key:`confidencePopoverRef`,ref:Q,pt:{content:{class:`p-3`}}},{default:j(()=>[M(`div`,De,[M(`div`,Oe,[M(`span`,ke,y(a.$t(`views.recordings.confidence`)),1),M(`span`,Ae,y(Math.round(P(X)*100))+`%`,1)]),N(S,{modelValue:P(X),"onUpdate:modelValue":o[11]||=e=>C(X)?X.value=e:null,min:0,max:1,step:.05,class:`w-full`},null,8,[`modelValue`]),P(X)>0?(v(),w(c,{key:0,label:a.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`text-xs`,fluid:``,onClick:o[12]||=e=>X.value=0},null,8,[`label`])):T(``,!0)])]),_:1},512),M(`div`,je,[P($).length?(v(),w(ue,{key:0,items:P($),"min-item-width":150,gap:8,"has-more":P(Be),"load-more":P(Ve),"item-key":e=>e.id,class:`flex-1 min-h-0`},{item:j(({item:e})=>[N(E,{event:e,"camera-name":g.cameraName,camera:g.camera,"load-thumbnails":P(He),onScrollToEvent:o[13]||=e=>I(`scrollToEvent`,e)},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`])]),_:1},8,[`items`,`has-more`,`load-more`,`item-key`])):T(``,!0),P(ze)?(v(),k(`div`,Me,[N(D,{width:`24px`,height:`24px`,class:`text-muted`})])):T(``,!0),!P($).length&&!P(ze)?(v(),k(`div`,Ne,[N(A,{class:`w-12 h-12 text-muted opacity-30`}),M(`p`,Pe,y(a.$t(`views.recordings.no_recordings`)),1)])):T(``,!0)])])}}}),[[`__scopeId`,`data-v-cb65cf5f`]]);export{q as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as e,Ot as t,kr as n}from"./vendor-cameraui-Bq-hQsT7.js";import{G as r,Gn as i,Jt as a,Yn as o,h as s,o as c,u as l}from"./api-CdJDEL3z.js";import{$n as u,Bn as ee,Rn as d,Sr as f,Tr as p,Xn as m,an as h,bn as te,cr as ne,dn as g,fn as _,gr as v,ln as y,lr as b,pn as x,pr as S,tr as C,un as w,vn as T,xr as E,z as D}from"./vendor-CdGy-Xet.js";import{p as re}from"./vendor-core-CoiYJRqo.js";import{G as ie,H as ae,W as oe}from"./vendor-primevue-B3sIO6X2.js";import{n as se}from"./useBackupRestore-5tZ-awcr.js";import{t as ce}from"./SettingsAccount-CycVwV2K.js";import{t as le}from"./SettingsAppearance-BnuFyX8o.js";var O={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function k(e,t){return d(),x(`svg`,O,[...t[0]||=[w(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m5 12l5 5L20 7`},null,-1)]])}var ue=b({name:`tabler-check`,render:k}),de={class:`h-full flex flex-col`},fe={class:`border-color-bottom draggable-region`},pe={class:`max-w-3xl mx-auto flex items-center justify-between px-4 py-3`},me={class:`flex items-center gap-2`},A={class:`flex-1 overflow-auto`},j={class:`max-w-3xl mx-auto px-4 py-6 flex flex-col gap-6`},M={class:`flex items-center w-full`},N={class:`flex flex-col items-center gap-2 flex-shrink-0`},P={key:1},F={class:`flex flex-col items-center gap-6 py-6`},I={class:`text-muted`},L={class:`flex flex-row items-center justify-center gap-2`},R={class:`max-w-[375px] text-center text-muted`},z={key:0,class:`flex flex-col items-center gap-3 w-full`},he={class:`text-center text-muted max-w-[375px]`},ge={class:`flex flex-row items-center justify-center gap-2`},_e={class:`flex flex-col items-center gap-6 py-8`},B={class:`text-center text-muted max-w-[375px]`},ve={class:`flex items-center justify-between gap-2`},ye={key:1},V=te({__name:`FirstSteps`,setup(te){let b=o(),O=r(),k=i(),{t:V}=n(),H=s(),{loginLoading:be}=re(H),U=S([`welcome`,`appearance`,`account`,`finish`]),W=m(`accountFormRef`),G=m(`backupFileInputRef`),K=v(),q=v(),J=S(0),Y=S(!1),X=S(),Z=y(()=>Y.value||be.value),xe=y(()=>a(void 0,`master`)),Q=y(()=>W.value?.formRef);function Se(e){return e<J.value?`bg-primary-500 text-white`:e===J.value?`bg-primary-500 text-white ring-4 ring-primary-500/20`:`border border-color text-muted`}async function $(){if(J.value<U.value.length-1)if(J.value===2){let e=Q.value?.getValues();if(e){if(!e.password||!e.passwordConfirm){Q.value?.setFieldError(`password`,`Required`),Q.value?.setFieldError(`passwordConfirm`,`Required`);return}if(!e.username){Q.value?.setFieldError(`username`,`Required`);return}}let t=await Q.value?.validate();t?.valid?(X.value=c(e),J.value++):t?.valid||(b.error(`Validation failed`,t),k.add({severity:`error`,detail:V(`components.toast.validation_failed`),life:3e3}))}else J.value++}function Ce(){J.value>0&&J.value--}async function we(){try{await H.logout()}catch(e){b.error(e.response?.data?.message??e.message??e)}}function Te(){G.value?.click()}function Ee(e){let t=e.target;t.files&&t.files[0]&&(q.value=t.files[0],O.openTextDialog({data:{title:V(`components.dialog.title.confirm`),confirmText:V(`components.form.button.restore_and_restart`),contentText:V(`components.dialog.message.confirm_restore`),loading:Z},onConfirm:De})),t.value=``}async function De(){q.value&&(Y.value=!0,await se().run(q.value),Y.value=!1)}async function Oe(){if(!X.value){k.add({severity:`error`,detail:V(`components.toast.validation_failed`),life:3e3});return}let e,t=c(X.value);t.firstLogin=!1,delete t.upload;try{K.value&&(e=new FormData,e.append(`upload`,K.value)),await H.updateUser(t,e),H.logout()}catch{}}return u(()=>{J.value===2&&(X.value=void 0)}),(n,r)=>{let i=t,a=ue,o=e,s=ae,c=oe,u=ie;return d(),x(`div`,de,[w(`div`,fe,[w(`div`,pe,[w(`div`,me,[T(E(D),{src:E(l)(`logo_animated.svg`),width:`20px`,height:`22px`,title:`camera.ui`,"aria-label":`camera.ui`},null,8,[`src`]),r[1]||=w(`span`,{class:`font-semibold`},`camera.ui`,-1)]),T(i,{class:`cui-button-small non-draggable-region`,severity:`secondary`,variant:`text`,label:n.$t(`components.form.button.logout`),onClick:we},null,8,[`label`])])]),w(`div`,A,[w(`div`,j,[w(`div`,M,[(d(!0),x(h,null,ee(E(U),(e,t)=>(d(),x(h,{key:e},[w(`div`,N,[w(`div`,{class:f([`w-9 h-9 rounded-full flex items-center justify-center text-sm font-semibold transition-all duration-200`,Se(t)])},[t<E(J)?(d(),g(a,{key:0,class:`w-4 h-4`})):(d(),x(`span`,P,p(t+1),1))],2),w(`span`,{class:f([`text-xs font-medium hidden sm:block whitespace-nowrap`,t<=E(J)?`text-color`:`text-muted`])},p(n.$t(`views.firststeps.step_${e}`)),3)]),t<E(U).length-1?(d(),x(`div`,{key:0,class:f([`flex-1 h-px mx-2 sm:mx-3 transition-colors duration-200`,t<E(J)?`bg-primary-500`:`bg-[var(--border-color)]`])},null,2)):_(``,!0)],64))),128))]),T(u,{value:E(J),"onUpdate:value":r[0]||=e=>ne(J)?J.value=e:null,lazy:``},{default:C(()=>[T(c,{class:`!p-0 !bg-transparent`},{default:C(()=>[T(s,{value:0},{default:C(()=>[T(o,{class:`cui-card`},{content:C(()=>[w(`div`,F,[w(`span`,I,p(n.$t(`views.firststeps.welcome_to`)),1),w(`div`,L,[T(E(D),{src:E(l)(`logo_animated.svg`),width:`26px`,height:`32px`,title:`camera.ui`,"aria-label":`camera.ui`},null,8,[`src`]),r[2]||=w(`span`,{class:`text-4xl`},`camera.ui`,-1)]),w(`p`,R,p(n.$t(`views.firststeps.slogan`)),1),E(xe)?(d(),x(`div`,z,[w(`p`,he,p(n.$t(`views.firststeps.start_message`)),1),w(`div`,ge,[T(i,{class:`cui-button-medium`,loading:E(Z),label:n.$t(`views.firststeps.new_installation`),onClick:$},null,8,[`loading`,`label`]),T(i,{class:`cui-button-medium`,severity:`secondary`,loading:E(Z),label:n.$t(`views.firststeps.from_backup`),onClick:Te},null,8,[`loading`,`label`])]),w(`input`,{ref_key:`backupFileInputRef`,ref:G,type:`file`,accept:`application/gzip, .tar, .tar.gz`,class:`hidden`,onChange:Ee},null,544)])):(d(),g(i,{key:1,class:`cui-button-medium`,loading:E(Z),label:n.$t(`views.firststeps.start`),onClick:$},null,8,[`loading`,`label`]))])]),_:1})]),_:1}),T(s,{value:1},{default:C(()=>[T(le)]),_:1}),T(s,{value:2},{default:C(()=>[T(ce,{ref_key:`accountFormRef`,ref:W,firststeps:``},null,512)]),_:1}),T(s,{value:3},{default:C(()=>[T(o,{class:`cui-card`},{content:C(()=>[w(`div`,_e,[T(E(D),{src:E(l)(`logo_animated.svg`),width:`78px`,height:`84px`,title:`camera.ui`,"aria-label":`camera.ui`},null,8,[`src`]),w(`p`,B,p(n.$t(`views.firststeps.finish_message`)),1)])]),_:1})]),_:1})]),_:1})]),_:1},8,[`value`]),w(`div`,ve,[E(J)>0?(d(),g(i,{key:0,class:`cui-button-medium`,severity:`secondary`,label:n.$t(`components.form.button.previous`),onClick:Ce},null,8,[`label`])):(d(),x(`span`,ye)),E(J)>0&&E(J)<E(U).length-1?(d(),g(i,{key:2,class:`cui-button-medium`,label:n.$t(`components.form.button.next`),onClick:$},null,8,[`label`])):E(J)===E(U).length-1?(d(),g(i,{key:3,class:`cui-button-medium`,loading:E(Z),label:n.$t(`views.firststeps.enjoy`),onClick:Oe},null,8,[`loading`,`label`])):_(``,!0)])])])])}}});export{V as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./PluginSearch-CYEjSopJ.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,Dr as t,E as n,Lr as r,O as i,Ot as a,Pt as o,S as s,_ as c,fr as l,gt as u,hi as d,kr as f,mi as p,n as m,o as h,pr as g,t as _,v,vi as y,vr as b,w as ee,wt as te,y as ne}from"./vendor-cameraui-Bq-hQsT7.js";import{$t as re,B as x,G as S,Gn as C,H as w,I as T,Ot as ie,U as ae,V as E,_n as oe,an as se,en as D,nn as O,nt as k,on as A,qt as ce,rn as le,sn as ue,z as de}from"./api-CdJDEL3z.js";import{$n as j,Bn as M,In as fe,Qn as N,Rn as P,Sr as pe,Tn as F,Tr as I,Wn as L,Xn as me,_n as he,an as R,bn as z,cr as B,dn as V,dr as H,fn as U,gr as ge,ln as W,lr as G,nr as _e,pn as K,pr as q,sn as ve,tr as J,un as Y,vn as X,wr as ye,xr as Z,zn as be}from"./vendor-CdGy-Xet.js";import{C as xe,K as Se,a as Ce,i as we,j as Te,l as Ee,z as De}from"./vendor-primevue-B3sIO6X2.js";import{t as Oe}from"./ring-resize-peEJMXPl.js";import{n as ke,t as Ae}from"./CuiRecordingsGrid-Dkpe799a.js";import{n as je,t as Me}from"./round-alt-arrow-left-bold-BcL7KVCG.js";var Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pe(e,t){return P(),K(`svg`,Ne,[...t[0]||=[Y(`path`,{fill:`currentColor`,d:`M3 11h8V3H3m2 2h4v4H5m8 12h8v-8h-8m2 2h4v4h-4M3 21h8v-8H3m2 2h4v4H5m8-16v8h8V3m-2 6h-4V5h4Z`},null,-1)]])}var Fe=G({name:`mdi-view-grid-outline`,render:Pe}),Q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return P(),K(`svg`,Q,[...t[0]||=[Y(`path`,{fill:`currentColor`,d:`M22 18.605a.75.75 0 0 1-.75.75h-5.1a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h7.74a2.93 2.93 0 0 1 5.66 0h5.1a.75.75 0 0 1 .75.75m0-13.21a.75.75 0 0 1-.75.75H18.8a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h10.39a2.93 2.93 0 0 1 5.66 0h2.45a.74.74 0 0 1 .75.75m0 6.6a.74.74 0 0 1-.75.75H9.55a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h1.14a2.93 2.93 0 0 1 5.66 0h11.7a.75.75 0 0 1 .75.75`},null,-1)]])}var Le=G({name:`mage-filter-fill`,render:Ie}),$={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Re(e,t){return P(),K(`svg`,$,[...t[0]||=[Y(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-miterlimit":`10`,"stroke-width":`1.5`,d:`M21.25 12H8.895m-4.361 0H2.75m18.5 6.607h-5.748m-4.361 0H2.75m18.5-13.214h-3.105m-4.361 0H2.75m13.214 2.18a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm-9.25 6.607a2.18 2.18 0 1 0 0-4.36a2.18 2.18 0 0 0 0 4.36Zm6.607 6.608a2.18 2.18 0 1 0 0-4.361a2.18 2.18 0 0 0 0 4.36Z`},null,-1)]])}var ze=G({name:`mage-filter`,render:Re}),Be={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ve(e,t){return P(),K(`svg`,Be,[...t[0]||=[Y(`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 He=G({name:`mdi-file-video-outline`,render:Ve}),Ue={class:`flex flex-col gap-6`},We={class:`flex flex-col field-gap`},Ge={class:`cui-label`},Ke={class:`flex flex-col field-gap`},qe={class:`cui-label`},Je={class:`grid grid-cols-1 xs:grid-cols-2 gap-3`},Ye={class:`flex flex-col gap-1`},Xe={class:`text-xs text-muted`},Ze={class:`flex flex-col gap-1`},Qe={class:`text-xs text-muted`},$e={class:`grid grid-cols-1 xs:grid-cols-2 gap-x-6 gap-y-4`},et={class:`flex flex-col field-gap`},tt={class:`cui-label`},nt={class:`flex flex-col field-gap`},rt={class:`cui-label`},it={class:`flex flex-col field-gap`},at={class:`flex items-center gap-3`},ot={class:`cui-label !mb-0`},st={key:0,class:`ml-auto flex items-center gap-2.5 text-sm tabular-nums`},ct={class:`font-semibold`},lt={class:`font-semibold`},ut={class:`border border-color rounded-xl card-background overflow-hidden`},dt={class:`flex flex-col gap-3 max-h-[240px] overflow-y-auto p-2.5`},ft={key:0,class:`flex items-center justify-center gap-2 text-muted text-sm py-6`},pt={key:1,class:`text-center text-muted text-sm py-6`},mt={class:`text-xs text-muted px-0.5`},ht={class:`font-mono text-xs truncate flex-1`},gt={class:`text-xs text-muted tabular-nums shrink-0`},_t={class:`font-mono text-xs text-muted tabular-nums shrink-0 min-w-[58px] text-right`},vt=30,yt=z({__name:`ExportRecordings`,props:{cameras:{},preselect:{}},setup(e,{expose:t}){let r=e,{t:i}=f(),a=C(),o=F(`dialogRefProps`),{plugin:s}=u(`@camera.ui/camera-ui-nvr`),c=q([]),l=q(!1),d=q(r.preselect?.length?[...r.preselect]:[]),p=q(`best`),m=q(0),h=q(new Date(new Date().setHours(0,0,0,0))),g=q(new Date),_=W(()=>[{label:i(`views.recordings.export.quality_best`),value:`best`},{label:i(`views.recordings.export.quality_smallest`),value:`smallest`}]),v=W(()=>[0,1,2,5,10,30,60,120,180,240,300].map(e=>({label:e===0?i(`views.recordings.export.timelapse_off`):e<60?`${e} s`:`${e/60} min`,value:e}))),b=W(()=>m.value>0),ne=W(()=>b.value?`~`:``),re=W(()=>new Map(r.cameras.map(e=>[e.id,e.name]))),x=W(()=>h.value instanceof Date&&g.value instanceof Date&&h.value<g.value),S=W(()=>{if(!x.value)return[];let e=[],t=h.value.getTime(),n=g.value.getTime(),r=new Date(h.value);r.setHours(0,0,0,0);let i=new Date(g.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:oe(i),startUs:o*1e3,endUs:s*1e3}),r.setDate(r.getDate()+1)}return e}),w=W(()=>c.value.map(e=>{let t=re.value.get(e.cameraId)??e.cameraId,n=new Date(e.startUs/1e3),r=new Date(e.endUs/1e3),a=n.getHours()===0&&n.getMinutes()===0&&e.endUs-e.startUs===24*3600*1e6,o=r.getHours()===0&&r.getMinutes()===0?`24:00`:se(r);return{cameraId:e.cameraId,cameraName:t,name:`${O(t)}_${e.day}${b.value?`_timelapse`:``}.mp4`,span:a?i(`views.recordings.export.whole_day`):`${se(n)}–${o}`,bytes:b.value?e.bytes/vt:e.bytes}})),T=W(()=>{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=W(()=>w.value.reduce((e,t)=>e+t.bytes,0)),ae=W(()=>d.value.length===0?i(`views.recordings.export.no_cameras`):x.value?i(`views.recordings.export.no_footage`):i(`views.recordings.export.no_range`));function E(e){return String(e).padStart(2,`0`)}function oe(e){return`${e.getFullYear()}-${E(e.getMonth()+1)}-${E(e.getDate())}`}function se(e){return`${E(e.getHours())}:${E(e.getMinutes())}`}function O(e){return e.replace(/[^a-zA-Z0-9-_]/g,`_`)}function k(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 A(){let e=s.value;if(!e?.nvrExportEstimate||d.value.length===0||S.value.length===0){c.value=[],l.value=!1;return}l.value=!0;try{let t=await e.nvrExportEstimate({cameras:d.value,slices:S.value,quality:p.value});c.value=t.files??[]}catch{c.value=[]}finally{l.value=!1}}async function ce(){if(!x.value||d.value.length===0||S.value.length===0)return null;let e=s.value;if(!e?.nvrExportBatch)return a.add({severity:`error`,detail:i(`views.recordings.export.plugin_missing`),life:3e3}),null;let t=await e.nvrExportBatch({cameras:d.value,slices:S.value,quality:p.value,timelapseIntervalSec:b.value?m.value:0});await D({url:t.url,filename:t.filename})}return y([d,S,p],A,{debounce:350,immediate:!0,deep:!0}),j(()=>{o.disabled&&(o.disabled.value=!x.value||d.value.length===0||!l.value&&w.value.length===0)}),t({onConfirm:ce}),(t,r)=>{let i=Ee,a=n,o=De,s=ee,c=Te,u=Ce,f=te,y=He;return P(),K(`div`,Ue,[Y(`div`,We,[Y(`label`,Ge,I(t.$t(`views.recordings.export.cameras`)),1),X(i,{modelValue:Z(d),"onUpdate:modelValue":r[0]||=e=>B(d)?d.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`])]),Y(`div`,Ke,[Y(`label`,qe,I(t.$t(`views.recordings.export.range`)),1),Y(`div`,Je,[Y(`div`,Ye,[Y(`span`,Xe,I(t.$t(`views.recordings.export.from`)),1),X(a,{modelValue:Z(h),"onUpdate:modelValue":r[1]||=e=>B(h)?h.value=e:null,"show-time":``,"hour-format":`24`,fluid:``,"max-date":Z(g)},null,8,[`modelValue`,`max-date`])]),Y(`div`,Ze,[Y(`span`,Qe,I(t.$t(`views.recordings.export.to`)),1),X(a,{modelValue:Z(g),"onUpdate:modelValue":r[2]||=e=>B(g)?g.value=e:null,"show-time":``,"hour-format":`24`,fluid:``,"min-date":Z(h)},null,8,[`modelValue`,`min-date`])])]),Z(x)?(P(),V(o,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:J(()=>[he(I(t.$t(`views.recordings.export.range_hint`)),1)]),_:1})):(P(),V(o,{key:0,severity:`error`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:J(()=>[he(I(t.$t(`views.recordings.export.invalid_range`)),1)]),_:1}))]),Y(`div`,$e,[Y(`div`,et,[Y(`label`,tt,I(t.$t(`views.recordings.export.quality`)),1),X(s,{modelValue:Z(p),"onUpdate:modelValue":r[3]||=e=>B(p)?p.value=e:null,options:Z(_),"option-label":`label`,"option-value":`value`,"allow-empty":!1,pt:{root:{class:`flex w-full`},pcToggleButton:{root:{class:`flex-1`}}}},null,8,[`modelValue`,`options`])]),Y(`div`,nt,[Y(`label`,rt,I(t.$t(`views.recordings.export.timelapse`)),1),X(c,{modelValue:Z(m),"onUpdate:modelValue":r[4]||=e=>B(m)?m.value=e:null,options:Z(v),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`])])]),Y(`div`,it,[Y(`div`,at,[Y(`label`,ot,I(t.$t(`views.recordings.export.result`)),1),Z(w).length?(P(),K(`div`,st,[Y(`span`,ct,I(Z(w).length)+` `+I(Z(w).length===1?t.$t(`views.recordings.export.file`):t.$t(`views.recordings.export.files`)),1),r[5]||=Y(`span`,{class:`text-muted`},`·`,-1),Y(`span`,lt,I(Z(ne))+I(k(Z(ie))),1),X(u,{value:Z(w).length===1?`MP4`:`ZIP`,severity:`info`},null,8,[`value`])])):U(``,!0)]),Y(`div`,ut,[Y(`div`,dt,[Z(l)&&!Z(w).length?(P(),K(`div`,ft,[X(f,{style:{width:`1rem`,height:`1rem`},"stroke-width":`4`,class:`m-0`}),Y(`span`,null,I(t.$t(`views.recordings.export.estimating`)),1)])):Z(w).length?(P(!0),K(R,{key:2},M(Z(T),e=>(P(),K(`div`,{key:e.cameraId,class:`flex flex-col gap-1`},[Y(`span`,mt,I(e.cameraName)+` · `+I(e.files.length)+` · `+I(Z(ne))+I(k(e.bytes)),1),(P(!0),K(R,null,M(e.files,e=>(P(),K(`div`,{key:e.name,class:`flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2`},[X(y,{class:`w-4 h-4 text-muted shrink-0`}),Y(`span`,ht,I(e.name),1),Y(`span`,gt,I(e.span),1),Y(`span`,_t,I(Z(ne))+I(k(e.bytes)),1)]))),128))]))),128)):(P(),K(`div`,pt,I(Z(ae)),1))])])])])}}}),bt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function xt(e,t){return P(),K(`svg`,bt,[...t[0]||=[Y(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 9l6 6l6-6`},null,-1)]])}var St=G({name:`tabler-chevron-down`,render:xt}),Ct={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function wt(e,t){return P(),K(`svg`,Ct,[...t[0]||=[Y(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 15l6-6l6 6`},null,-1)]])}var Tt=G({name:`tabler-chevron-up`,render:wt}),Et={class:`flex flex-col gap-2`},Dt={class:`sidebar-section-title`},Ot={class:`p-input-icon-left w-full`},kt={class:`flex items-center justify-between gap-2`},At={class:`sidebar-section-title !mb-0`},jt={class:`flex flex-col gap-2`},Mt={class:`sidebar-section-title flex items-center gap-1.5`},Nt={key:0,class:`flex flex-col gap-1.5 mt-1`},Pt={class:`text-xs text-muted`},Ft={class:`flex items-center gap-3`},It={class:`text-xs font-mono w-8 text-right shrink-0`},Lt={class:`flex flex-col gap-2`},Rt={class:`sidebar-section-title`},zt={class:`flex flex-col gap-2`},Bt={class:`sidebar-section-title`},Vt={class:`relative rounded-md overflow-hidden`},Ht={class:`flex flex-col gap-2`},Ut={class:`sidebar-section-title`},Wt={class:`flex items-center gap-3`},Gt={class:`text-xs font-mono w-8 text-right shrink-0`},Kt={class:`flex flex-col gap-2`},qt={class:`sidebar-section-title`},Jt={class:`flex flex-wrap gap-1`},Yt={class:`flex flex-col gap-2`},Xt={key:0,class:`flex flex-col gap-2`},Zt={class:`flex items-center gap-2 cursor-pointer text-sm`},Qt={key:0,class:`flex flex-col gap-2 ml-6`},$t={class:`filter-logic-divider`},en={class:`flex flex-col gap-2`},tn={key:0,class:`flex flex-col gap-2`},nn={class:`filter-logic-divider`},rn={class:`flex flex-col gap-2`},an={key:0,class:`flex flex-col gap-2`},on={class:`flex items-center gap-2 cursor-pointer text-sm`},sn=288,cn=O(z({__name:`RecordingsFilterSidebar`,props:{filters:{},cameras:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},semanticSearchAvailable:{type:Boolean},semanticSearchLoading:{type:Boolean}},emits:[`update:filters`,`semantic-search`,`close`],setup(n,{expose:o,emit:s}){let c={doorbell:`views.recordings.audio_doorbell`,glass_break:`views.recordings.audio_glass_break`,siren:`views.recordings.audio_siren`,speaking:`views.recordings.audio_speaking`,gunshot:`views.recordings.audio_gunshot`,dog_bark:`views.recordings.audio_dog_bark`,baby_cry:`views.recordings.audio_baby_cry`,alarm:`views.recordings.audio_alarm`,scream:`views.recordings.audio_scream`,cat:`views.recordings.audio_cat`,car_alarm:`views.recordings.audio_car_alarm`,smoke_alarm:`views.recordings.audio_smoke_alarm`},u={face:`views.recordings.attr_face`,license_plate:`views.recordings.attr_license_plate`},p={motion:`views.recordings.sensor_motion`,audio:`views.recordings.sensor_audio`,contact:`views.recordings.sensor_contact`,doorbell:`views.recordings.sensor_doorbell`,switch:`views.recordings.sensor_switch`,light:`views.recordings.sensor_light`,siren:`views.recordings.sensor_siren`,security_system:`views.recordings.sensor_security_system`,"line-crossing":`views.recordings.sensor_line_crossing`},m=new Set([`motion`,`audio`]),_=n,v=s,{t:y}=f(),{xlBreakpoint:te}=se(),{topbarHeight:ne,bottombarHeight:x}=A(),{icons:S,generic:C}=E(),w=S,T=Tt,ae=St,oe=me(`sidebarRef`),D=q(_.filters.semanticQuery??``),O=H({eventTypes:!0,attributes:!0,sensorEvents:!0}),k=W(()=>_.isOpen?sn:0),le=W(()=>_.cameras.map(e=>({id:e.id,name:e.name}))),ue=W(()=>{if(_.filters.cameraIds.length===1)return _.cameras.find(e=>e.id===_.filters.cameraIds[0])?.name}),de=W(()=>[{label:y(`views.recordings.filter_and`),value:`and`},{label:y(`views.recordings.filter_or`),value:`or`}]),j=W(()=>[{label:y(`views.recordings.time_1h`),value:`1h`},{label:y(`views.recordings.time_1d`),value:`1d`},{label:y(`views.recordings.time_1w`),value:`1w`},{label:y(`views.recordings.time_1m`),value:`1m`}]),fe=W(()=>g.filter(e=>!m.has(e)).map(e=>({label:y(`views.recordings.type_${e}`),value:e,icon:S[e]??C}))),pe=W(()=>({label:y(`views.recordings.type_other`),value:h,icon:S.other??C})),F=W(()=>t.map(e=>({label:y(p[e]??`views.recordings.sensor_${e}`),value:e,icon:w[e]??C}))),z=W(()=>b.map(e=>({label:y(c[e]??e),value:e,icon:S[e]??C}))),ge=W(()=>l.map(e=>({label:y(u[e]??`views.recordings.attr_${e}`),value:e,icon:S[e]??C})));function G(e,t){v(`update:filters`,{..._.filters,[e]:t})}let _e=d(e=>{G(`search`,e)},300);function ve(){let e=D.value.trim();G(`semanticQuery`,e),v(`semantic-search`,e)}function J(e){let t=[..._.filters.eventTypes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`eventTypes`,t)}function be(e){let t=[..._.filters.audioLabels],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`audioLabels`,t)}function Ce(e){let t=[..._.filters.sensorEvents],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`sensorEvents`,t)}function Te(e){let t=[..._.filters.hasAttributes],n=t.indexOf(e);n>=0?t.splice(n,1):t.push(e),G(`hasAttributes`,t)}function De(e){O[e]=!O[e]}return N(D,e=>{!e?.trim()&&_.filters.semanticQuery&&G(`semanticQuery`,``)}),r(oe,e=>{let t=e.target;t.closest(`#recordings-sidebar-toggle`)||t.closest(`[data-pc-section="overlay"], [data-pc-section="panel"], .p-connected-overlay`)||_.isOpen&&(_.isOverlay||!te.value)&&v(`close`)}),o({sidebarWidth:k}),(t,r)=>{let o=i,s=Se,c=ce,l=we,u=a,d=e,f=Ee,p=re,m=ie,h=xe,g=ee;return P(),K(`nav`,{ref_key:`sidebarRef`,ref:oe,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:ye({width:`${Z(k)}px`,borderRightWidth:n.isOpen?`1px`:`0px`,paddingBottom:`calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + ${Z(x)}px + ${Z(ne)}px)`})},[Y(`div`,{class:`flex flex-col gap-4 p-4`,style:ye({width:`${sn}px`})},[Y(`div`,Et,[Y(`label`,Dt,I(t.$t(`views.recordings.search`)),1),Y(`span`,Ot,[X(o,{"model-value":n.filters.search,placeholder:t.$t(`views.recordings.search_placeholder`),class:`w-full text-sm`,"onUpdate:modelValue":r[0]||=e=>Z(_e)(e)},null,8,[`model-value`,`placeholder`])])]),r[19]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,kt,[Y(`label`,At,I(t.$t(`views.recordings.only_with_recordings`)),1),X(s,{"model-value":n.filters.onlyWithRecordings,class:`shrink-0`,"onUpdate:modelValue":r[1]||=e=>G(`onlyWithRecordings`,e)},null,8,[`model-value`])]),r[20]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,jt,[Y(`label`,Mt,[X(c,{class:`w-3.5 h-3.5`}),he(` `+I(t.$t(`views.recordings.semantic_search`)),1)]),X(l,{modelValue:Z(D),"onUpdate:modelValue":r[2]||=e=>B(D)?D.value=e:null,placeholder:t.$t(`views.recordings.semantic_search_placeholder`),class:`w-full text-sm semantic-textarea`,rows:`3`,disabled:!n.semanticSearchAvailable},null,8,[`modelValue`,`placeholder`,`disabled`]),X(u,{label:t.$t(`views.recordings.semantic_search_button`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,loading:n.semanticSearchLoading,disabled:!n.semanticSearchAvailable||!Z(D)?.trim(),onClick:ve},null,8,[`label`,`loading`,`disabled`]),n.filters.semanticQuery?(P(),K(`div`,Nt,[Y(`label`,Pt,I(t.$t(`views.recordings.min_match_score`)),1),Y(`div`,Ft,[X(d,{"model-value":n.filters.minSemanticScore,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":r[3]||=e=>G(`minSemanticScore`,e)},null,8,[`model-value`]),Y(`span`,It,I(Math.round(n.filters.minSemanticScore*100))+`%`,1)])])):U(``,!0)]),r[21]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,Lt,[Y(`label`,Rt,I(t.$t(`views.recordings.cameras`)),1),X(f,{"model-value":n.filters.cameraIds,options:Z(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[4]||=e=>G(`cameraIds`,e)},null,8,[`model-value`,`options`,`placeholder`])]),Z(ue)?(P(),K(R,{key:0},[r[14]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,zt,[Y(`label`,Bt,I(t.$t(`views.recordings.grid_search`)),1),Y(`div`,Vt,[X(p,{camera:Z(ue),"object-fit":`cover`},null,8,[`camera`]),X(m,{"model-value":n.filters.gridRegions,"onUpdate:modelValue":r[5]||=e=>G(`gridRegions`,e)},null,8,[`model-value`])]),X(u,{label:t.$t(`views.recordings.grid_clear`),severity:`secondary`,outlined:``,size:`small`,class:`w-full text-xs`,disabled:n.filters.gridRegions.length===0,onClick:r[6]||=e=>G(`gridRegions`,[])},null,8,[`label`,`disabled`])])],64)):U(``,!0),r[22]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,Ht,[Y(`label`,Ut,I(t.$t(`views.recordings.confidence`)),1),Y(`div`,Wt,[X(d,{"model-value":n.filters.minConfidence,min:0,max:1,step:.05,class:`flex-1`,"onUpdate:modelValue":r[7]||=e=>G(`minConfidence`,e)},null,8,[`model-value`]),Y(`span`,Gt,I(Math.round(n.filters.minConfidence*100))+`%`,1)])]),r[23]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,Kt,[Y(`label`,qt,I(t.$t(`views.recordings.time_range`)),1),Y(`div`,Jt,[(P(!0),K(R,null,M(Z(j),e=>(P(),V(u,{key:e.value,label:e.label,severity:n.filters.timeRange===e.value?void 0:`secondary`,outlined:n.filters.timeRange!==e.value,size:`small`,class:`text-xs flex-1 min-w-0`,onClick:t=>G(`timeRange`,n.filters.timeRange===e.value?null:e.value)},null,8,[`label`,`severity`,`outlined`,`onClick`]))),128))])]),r[24]||=Y(`div`,{class:`sidebar-divider`},null,-1),Y(`div`,Yt,[Y(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:r[8]||=e=>De(`sensorEvents`)},[Y(`span`,null,I(t.$t(`views.recordings.sensor_events`)),1),(P(),V(L(Z(O).sensorEvents?Z(T):Z(ae)),{class:`w-4 h-4 text-muted`}))]),Z(O).sensorEvents?(P(),K(`div`,Xt,[(P(!0),K(R,null,M(Z(F),e=>(P(),K(R,{key:e.value},[Y(`label`,Zt,[X(h,{"model-value":n.filters.sensorEvents.includes(e.value),binary:!0,"onUpdate:modelValue":t=>Ce(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),V(L(e.icon),{class:`w-4 h-4 text-muted`})),Y(`span`,null,I(e.label),1)]),e.value===`audio`&&n.filters.sensorEvents.includes(`audio`)?(P(),K(`div`,Qt,[(P(!0),K(R,null,M(Z(z),e=>(P(),K(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[X(h,{"model-value":n.filters.audioLabels.includes(e.value),binary:!0,"onUpdate:modelValue":t=>be(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),V(L(e.icon),{class:`w-4 h-4 text-muted`})),Y(`span`,null,I(e.label),1)]))),128))])):U(``,!0)],64))),128))])):U(``,!0)]),Y(`div`,$t,[r[15]||=Y(`div`,{class:`filter-logic-line`},null,-1),X(g,{"model-value":n.filters.filterLogicTriggers,options:Z(de),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":r[9]||=e=>G(`filterLogicTriggers`,e)},null,8,[`model-value`,`options`]),r[16]||=Y(`div`,{class:`filter-logic-line`},null,-1)]),Y(`div`,en,[Y(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:r[10]||=e=>De(`eventTypes`)},[Y(`span`,null,I(t.$t(`views.recordings.event_type`)),1),(P(),V(L(Z(O).eventTypes?Z(T):Z(ae)),{class:`w-4 h-4 text-muted`}))]),Z(O).eventTypes?(P(),K(`div`,tn,[(P(!0),K(R,null,M(Z(fe),e=>(P(),K(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[X(h,{"model-value":n.filters.eventTypes.includes(e.value),binary:!0,"onUpdate:modelValue":t=>J(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),V(L(e.icon),{class:`w-4 h-4 text-muted`})),Y(`span`,null,I(e.label),1)]))),128))])):U(``,!0)]),Y(`div`,nn,[r[17]||=Y(`div`,{class:`filter-logic-line`},null,-1),X(g,{"model-value":n.filters.filterLogicAttributes,options:Z(de),"option-label":`label`,"option-value":`value`,"allow-empty":!1,class:`filter-logic-toggle`,"onUpdate:modelValue":r[11]||=e=>G(`filterLogicAttributes`,e)},null,8,[`model-value`,`options`]),r[18]||=Y(`div`,{class:`filter-logic-line`},null,-1)]),Y(`div`,rn,[Y(`button`,{class:`sidebar-section-title flex items-center justify-between w-full cursor-pointer`,onClick:r[12]||=e=>De(`attributes`)},[Y(`span`,null,I(t.$t(`views.recordings.attributes`)),1),(P(),V(L(Z(O).attributes?Z(T):Z(ae)),{class:`w-4 h-4 text-muted`}))]),Z(O).attributes?(P(),K(`div`,an,[(P(!0),K(R,null,M(Z(ge),e=>(P(),K(`label`,{key:e.value,class:`flex items-center gap-2 cursor-pointer text-sm`},[X(h,{"model-value":n.filters.hasAttributes.includes(e.value),binary:!0,"onUpdate:modelValue":t=>Te(e.value)},null,8,[`model-value`,`onUpdate:modelValue`]),(P(),V(L(e.icon),{class:`w-4 h-4 text-muted`})),Y(`span`,null,I(e.label),1)]))),128)),Y(`label`,on,[X(h,{"model-value":n.filters.eventTypes.includes(Z(pe).value),binary:!0,"onUpdate:modelValue":r[13]||=e=>J(Z(pe).value)},null,8,[`model-value`]),(P(),V(L(Z(pe).icon),{class:`w-4 h-4 text-muted`})),Y(`span`,null,I(Z(pe).label),1)])])):U(``,!0)])],4)],4)}}}),[[`__scopeId`,`data-v-a1b07102`]]),ln={class:`font-semibold text-xl truncate`},un={class:`w-full h-full relative`},dn={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},fn={class:`relative z-2 page-title !m-0`},pn={key:0,class:`flex items-center gap-2 mb-2 text-xs text-muted ml-auto`},mn={key:0,class:`inline-flex items-center gap-1`},hn={key:2,class:`flex justify-center py-4`},gn={key:3,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},_n={class:`text-muted text-sm`},vn=288,yn=10,bn=11,xn=z({__name:`Recordings`,setup(e){let t=new k,n=S(),{t:r}=f(),{smBreakpoint:i,xlBreakpoint:l,mdBreakpoint:u}=se(),{isTouch:d}=ue(),{registerScrollToTop:h}=x();if(!d.value&&typeof VideoDecoder<`u`){let e=v({cacheSize:20});be(c,e),p(()=>e.dispose())}let{results:g,isSearching:y,isAvailable:b,hasSearched:ee,search:te,clear:re}=ne(),{data:C}=t.getCamerasQuery({page:1,pageSize:-1}),ie={"1h":3600*1e3,"1d":1440*60*1e3,"1w":10080*60*1e3,"1m":720*60*60*1e3},E=me(`gridRef`),D=q(`closed`),O=q(!1),A=q({search:``,semanticQuery:``,filterLogicTriggers:`or`,filterLogicAttributes:`or`,cameraIds:[],timeRange:null,customDateRange:null,eventTypes:[],audioLabels:[],hasAttributes:[],sensorEvents:[],gridRegions:[],minConfidence:.5,minSemanticScore:.5,onlyWithRecordings:!0}),j=ge({state:`ended`,hasDetections:!0,withRecordingInfo:!0,hasRecording:!0}),M=JSON.stringify(j.value),F=q(!1),L=ge([]),R=W(()=>l.value?!0:D.value===`opened`),z=W(()=>u.value),B=W(()=>u.value?`0px`:R.value?`${vn}px`:`0px`),H=W(()=>(C.value?.result??[]).map(e=>({id:e._id,name:e.name}))),G=W(()=>{let e=new Map;for(let t of H.value)e.set(t.id,t.name);return e}),xe=W(()=>{let e=new Map;for(let t of C.value?.result??[])e.set(t._id,t);return e}),Se=W(()=>A.value.cameraIds),Ce=W(()=>H.value.map(e=>e.id));h(()=>E.value?.scrollToTop());let{events:we,isLoading:Te,hasMore:Ee,loadMore:De,loadThumbnails:Ne,getCachedThumbnails:Pe}=s({availableCameraIds:Ce,cameraIds:Se,realtime:!0,pageSize:40,filter:j}),Q=W(()=>{let e=new Map;for(let t of g.value??[]){let n=e.get(t.eventId);(!n||t.score>n)&&e.set(t.eventId,t.score)}return e}),Ie=W(()=>ee.value),$=W(()=>{let e=we.value.filter(e=>e.state===`ended`),t=A.value;if(t.timeRange&&ie[t.timeRange]){let n=Date.now()-ie[t.timeRange];e=e.filter(e=>e.startTime>=n)}if(t.gridRegions.length>0&&(e=e.filter(e=>e.segments.some(e=>e.detections.some(e=>e.box&&Ue(e.box,t.gridRegions))))),Ie.value){let n=.15,r=t.minSemanticScore*(.38-n)+n;e=e.filter(e=>{let t=Q.value.get(e.id);return t!=null&&t>=r}),e.sort((e,t)=>(Q.value.get(t.id)??0)-(Q.value.get(e.id)??0))}return e}),Re=W(()=>F.value&&L.value.length?L.value:$.value.map(e=>({event:e,key:e.id})));function Be(){n.openComponentDialog(yt,{data:{title:r(`views.recordings.export.title`),contentProps:{cameras:H.value,preselect:A.value.cameraIds?.length?A.value.cameraIds:[]},confirmText:r(`views.recordings.export.confirm`)}})}function Ve(){let e=D.value;D.value=e===`opened`?`closed`:`opened`}function He(){D.value=`closed`}function Ue(e,t){if(t.length===0)return!0;let n=1/yn,r=1/bn,i=e.x/n,a=(e.x+e.width)/n,o=e.y/r,s=(e.y+e.height)/r;for(let e of t)if(a>e.col&&i<e.col+e.w&&s>e.row&&o<e.row+e.h)return!0;return!1}function We(e,t){let n=[];if(e.attributes)for(let[r,i]of Object.entries(e.attributes)){let e=m(i);if(!e)continue;let a=r.indexOf(`:`);n.push({key:`${t.id}:attr:${r}`,url:e,type:a>=0?r.substring(0,a):r,label:a>=0?r.substring(a+1):void 0})}if(e.detections)for(let[r,i]of Object.entries(e.detections)){let e=m(i);if(!e)continue;let a=r.includes(`:`)?r.split(`:`).slice(1).join(`:`):r;n.push({key:`${t.id}:det:${r}`,url:e,type:a})}if(e.scenes)for(let[r,i]of Object.entries(e.scenes)){let e=m(i);e&&n.push({key:`${t.id}:scene:${r}`,url:e,type:`scene`})}let r=new Set;return n.filter(e=>r.has(e.url)?!1:(r.add(e.url),!0))}function Ge(e){let t=[];for(let n of e){let e=Pe(n.id);if(!e){t.push({event:n,key:n.id});continue}let r=We(e,n),i=_(e,n);if(i.url){let e=r.findIndex(e=>e.url===i.url);e>0&&r.unshift(...r.splice(e,1))}r.length<=1?t.push({event:n,key:n.id}):r.forEach((e,r)=>{t.push({event:n,key:r===0?n.id:e.key,thumbnailOverride:{url:e.url,type:e.type,label:e.label}})})}return t}function Ke(e){!e.semanticQuery?.trim()&&A.value.semanticQuery?.trim()&&re(),A.value=e}function qe(e){if(!e.trim()){re();return}te(e)}function Je(e){let t=xe.value.get(e.cameraId);t&&n.openComponentDialog(w,{data:{title:t.name,stayActive:!0,hideCancelButton:!0,hideConfirmButton:!0,contentProps:{camera:t,eventTimestamp:e.startTime},headerActions:e.segments?.some(e=>e?.description)?[{icon:ce,toggle:!0,onClick:()=>{}}]:void 0,draggable:!0,blockDragOnSelectors:[`.p-dialog-body`],dismissableMask:!1,modal:!1,dialogContentClass:`!px-0 h-full`,goTo:`/cameras/${t.name}?startTs=${e.startTime}`},dialogSize:{desktop:{maxWidth:`800px`,maxHeight:`calc(100vh - max(1rem, env(safe-area-inset-top, 0px)) - max(1rem, env(safe-area-inset-bottom, 0px)))`,width:`50vw`}}})}return N(l,e=>{e&&(D.value=`closed`)}),N(A,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,state:`ended`,hasDetections:!t,withRecordingInfo:!0,hasRecording:e.onlyWithRecordings||void 0},r=JSON.stringify(n);r!==M&&(M=r,j.value=n)},{deep:!0,immediate:!0}),N(F,e=>{e?L.value=Ge($.value):L.value=[]}),N($,e=>{if(!F.value)return;let t=new Set(e.map(e=>e.id)),n=new Set(L.value.map(e=>e.event.id)),r=L.value.filter(e=>t.has(e.event.id)),i=e.filter(e=>!n.has(e.id));i.length&&(r=[...Ge(i),...r]),L.value=r}),N(()=>A.value.cameraIds,e=>{e.length!==1&&A.value.gridRegions.length>0&&(A.value={...A.value,gridRegions:[]})}),fe(()=>{requestAnimationFrame(()=>{O.value=!0})}),(e,t)=>{let n=de,r=ze,s=Le,c=a,u=Me,d=je,f=Fe,p=T,m=ce,h=ke,g=Ae,_=Oe,v=oe,ee=le,te=o;return P(),K(`div`,null,[X(n,{position:`center`},{default:J(()=>[Y(`span`,ln,I(e.$t(`views.recordings.title`)),1)]),_:1}),X(n,{position:`left`},{default:J(()=>[X(c,{id:`recordings-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:Ve},{icon:J(()=>[Z(D)===`closed`?(P(),V(r,{key:0,width:`100%`,height:`100%`})):(P(),V(s,{key:1,width:`100%`,height:`100%`}))]),_:1})]),_:1}),X(cn,{filters:Z(A),cameras:Z(H),"is-open":Z(R),"is-overlay":Z(z),"semantic-search-available":Z(b),"semantic-search-loading":Z(y),"onUpdate:filters":Ke,onSemanticSearch:qe,onClose:He},null,8,[`filters`,`cameras`,`is-open`,`is-overlay`,`semantic-search-available`,`semantic-search-loading`]),(P(),V(ve,{to:`#container`,defer:``},[Z(R)&&Z(z)?(P(),K(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:He})):U(``,!0)])),Y(`main`,{class:`relative w-full h-full`,style:ye({paddingLeft:Z(B),transition:Z(O)?`padding-left 200ms`:void 0})},[Y(`div`,un,[Z(i)?U(``,!0):(P(),K(`div`,dn,[t[1]||=Y(`div`,{class:`ml-2`},null,-1),Z(l)?U(``,!0):(P(),V(c,{key:0,id:`recordings-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:Ve},{icon:J(()=>[Z(R)?(P(),V(u,{key:0,width:`100%`,height:`100%`})):(P(),V(d,{key:1,width:`100%`,height:`100%`}))]),_:1})),Y(`h1`,fn,I(e.$t(`views.recordings.title`)),1),t[2]||=Y(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[Y(`div`),Y(`div`),Y(`div`),Y(`div`),Y(`div`),Y(`div`)],-1)])),Y(`div`,{class:pe([`px-2 h-full w-full flex flex-col`,{"pt-4":Z(i),"pt-[calc(40px+2rem)]":!Z(i)}])},[Z($).length||Z(Ie)?(P(),K(`div`,pn,[_e((P(),V(c,{severity:Z(F)?`primary`:`secondary`,text:``,rounded:``,class:`cui-icon-sm`,onClick:t[0]||=e=>F.value=!Z(F)},{icon:J(()=>[Z(F)?(P(),V(p,{key:1,width:`100%`,height:`100%`})):(P(),V(f,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`severity`])),[[te,{value:e.$t(`views.recordings.ungroup`)},void 0,{bottom:!0}]]),Y(`span`,null,I(e.$t(`views.recordings.result_count`,{count:Z(Re).length})),1),Z(Ie)?(P(),K(`span`,mn,[X(m,{class:`w-3 h-3`}),he(` `+I(e.$t(`views.recordings.semantic_results`,{count:Z(Q).size})),1)])):U(``,!0)])):U(``,!0),Z(Re).length?(P(),V(g,{key:1,ref_key:`gridRef`,ref:E,items:Z(Re),"min-item-width":Z(i)?160:180,gap:8,"has-more":Z(Ee),"load-more":Z(De),"item-key":e=>e.key,class:`flex-1 min-h-0`},{item:J(({item:e})=>[X(h,{event:e.event,"camera-name":Z(G).get(e.event.cameraId),camera:Z(xe).get(e.event.cameraId),"load-thumbnails":Z(Ne),"semantic-score":Z(Q).get(e.event.id),"thumbnail-override":e.thumbnailOverride,onScrollToEvent:()=>Je(e.event)},null,8,[`event`,`camera-name`,`camera`,`load-thumbnails`,`semantic-score`,`thumbnail-override`,`onScrollToEvent`])]),_:1},8,[`items`,`min-item-width`,`has-more`,`load-more`,`item-key`])):U(``,!0),Z(Te)||Z(y)?(P(),K(`div`,hn,[X(_,{width:`24px`,height:`24px`,class:`text-muted`})])):U(``,!0),!Z($).length&&!Z(Te)&&!Z(y)?(P(),K(`div`,gn,[X(v,{class:`w-12 h-12 text-muted`}),Y(`span`,_n,I(e.$t(`views.recordings.no_recordings`)),1)])):U(``,!0)],2)])],4),Z(H).length?(P(),V(ee,{key:0,"tooltip-props":{value:e.$t(`views.recordings.export.title`)},"button-props":{class:`text-white`},icon:Z(ae),"icon-props":{width:`26px`,height:`26px`},"force-visible":``,onClick:Be},null,8,[`tooltip-props`,`icon`])):U(``,!0)])}}});export{xn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./SettingsAccount-CycVwV2K.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./SettingsAppearance-BnuFyX8o.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Mn as e}from"./api-CdJDEL3z.js";export{e as bounceToCloudFrontend};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$n as e,Gn as t,h as n,s as r}from"./api-CdJDEL3z.js";import{pr as i}from"./vendor-CdGy-Xet.js";import{a}from"./server-_ByAktOF.js";import{n as o}from"./useServerRestart-lPp2ZiX-.js";var s=3e5;async function c(t){return(await e.post(`/backup/download`,{localStorage:t},{responseType:`arraybuffer`,timeout:s})).data}async function l(t,n){return(await e.post(`/backup/restore`,t,{timeout:s,onUploadProgress:e=>{e.total&&n?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await e.get(`/backup/scheduler`)).data}async function d(t){return(await e.patch(`/backup/scheduler`,t)).data}async function f(){return(await e.post(`/backup/scheduler/run`)).data}async function p(t){return(await e.get(`/backup/scheduler/backups/${encodeURIComponent(t)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(t){await e.delete(`/backup/scheduler/backups/${encodeURIComponent(t)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=h;function y(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function b(){async function e(e){let i=t();h.value=!0,g.value=`uploading`,_.value=0;try{let t=new FormData;t.append(`upload`,e),y(await l(t,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,i.add({severity:`error`,detail:r(e),life:3e3}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await n().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,restoreLocalStorage:y,run:e}}export{p as a,f as c,c as i,b as n,u as o,m as r,d as s,v as t};
|