@camstack/addon-pipeline-orchestrator 1.2.4 → 1.2.5
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/assets/viewer/.viewer-version +1 -1
- package/assets/viewer/_expo/static/js/web/{Clipboard-2b3a3b41457cedb4c92b5b20a05806d2.js → Clipboard-8c2e39d6e1b6f27aa4883a842ef017f8.js} +8 -8
- package/assets/viewer/_expo/static/js/web/{Haptics-ca3accc33d4628c9ad1b252a3fda2c75.js → Haptics-7415443949f145adbb0e0fae7f7a96bd.js} +3 -3
- package/assets/viewer/_expo/static/js/web/{index-b77bea8706ad2fc83aa464fef72bb69a.js → index-5e633d13baecf50a31de03dc466e7f3a.js} +126 -123
- package/assets/viewer/index.html +1 -1
- package/package.json +1 -1
|
@@ -17,11 +17,11 @@ __d(function(g,r,_i,a,_m,_e,_d){
|
|
|
17
17
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
18
18
|
_e.read=function(o,t,h,M,f){var w,p,i=8*f-M-1,n=(1<<i)-1,N=n>>1,e=-7,u=h?f-1:0,s=h?-1:1,c=o[t+u];for(u+=s,w=c&(1<<-e)-1,c>>=-e,e+=i;e>0;w=256*w+o[t+u],u+=s,e-=8);for(p=w&(1<<-e)-1,w>>=-e,e+=M;e>0;p=256*p+o[t+u],u+=s,e-=8);if(0===w)w=1-N;else{if(w===n)return p?NaN:1/0*(c?-1:1);p+=Math.pow(2,M),w-=N}return(c?-1:1)*p*Math.pow(2,w-M)},_e.write=function(o,t,h,M,f,w){var p,i,n,N=8*w-f-1,e=(1<<N)-1,u=e>>1,s=23===f?Math.pow(2,-24)-Math.pow(2,-77):0,c=M?0:w-1,l=M?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,p=e):(p=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-p))<1&&(p--,n*=2),(t+=p+u>=1?s/n:s*Math.pow(2,1-u))*n>=2&&(p++,n/=2),p+u>=e?(i=0,p=e):p+u>=1?(i=(t*n-1)*Math.pow(2,f),p+=u):(i=t*Math.pow(2,u-1)*Math.pow(2,f),p=0));f>=8;o[h+c]=255&i,c+=l,i/=256,f-=8);for(p=p<<f|i,N+=f;N>0;o[h+c]=255&p,c+=l,p/=256,N-=8);o[h+c-l]|=128*d}},3,[]);
|
|
19
19
|
__d(function(g,r,i,a,m,e,d){"use strict";r(d[0])},4,[5]);
|
|
20
|
-
__d(function(g,r,i,a,m,e,d){"use strict";r(d[0]);var n=r(d[1]);(0,r(d[2]).renderRootComponent)(n.App)},5,[6,9,
|
|
20
|
+
__d(function(g,r,i,a,m,e,d){"use strict";r(d[0]);var n=r(d[1]);(0,r(d[2]).renderRootComponent)(n.App)},5,[6,9,3601]);
|
|
21
21
|
__d(function(g,r,i,a,m,e,d){"use strict";r(d[0]),r(d[1])},6,[7,8]);
|
|
22
22
|
__d(function(g,r,i,a,m,e,d){},7,[]);
|
|
23
23
|
__d(function(g,r,i,a,m,e,d){const _='undefined'==typeof window;globalThis.__webpack_chunk_load__=_=>g[`${__METRO_GLOBAL_PREFIX__}__loadBundleAsync`](_),globalThis.__webpack_require__=o=>{const t=ErrorUtils.reportFatalError;_&&(ErrorUtils.reportFatalError=_=>{throw _});try{return g[`${__METRO_GLOBAL_PREFIX__}__r`](o)}finally{_&&(ErrorUtils.reportFatalError=t)}}},8,[]);
|
|
24
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(){return(0,t.jsx)(c.Head.Provider,{children:(0,t.jsx)(n.ExpoRoot,{context:o.ctx})})};const t=r(d[0]),o=r(d[1]);r(d[2]);const n=r(d[3]),c=r(d[4]);r(d[5])},9,[10,12,17,746,
|
|
24
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(){return(0,t.jsx)(c.Head.Provider,{children:(0,t.jsx)(n.ExpoRoot,{context:o.ctx})})};const t=r(d[0]),o=r(d[1]);r(d[2]);const n=r(d[3]),c=r(d[4]);r(d[5])},9,[10,12,17,746,3595,3600]);
|
|
25
25
|
__d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},10,[11]);
|
|
26
26
|
__d(function(g,r,i,a,m,e,d){
|
|
27
27
|
/**
|
|
@@ -35,7 +35,7 @@ __d(function(g,r,i,a,m,e,d){
|
|
|
35
35
|
*/
|
|
36
36
|
"use strict";var n=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function o(t,o,f){var l=null;if(void 0!==f&&(l=""+f),void 0!==o.key&&(l=""+o.key),"key"in o)for(var y in f={},o)"key"!==y&&(f[y]=o[y]);else f=o;return o=f.ref,{$$typeof:n,type:t,key:l,ref:void 0!==o?o:null,props:f}}e.Fragment=t,e.jsx=o,e.jsxs=o},11,[]);
|
|
37
37
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ctx",{enumerable:!0,get:function(){return t}});const t=r(d[0])},12,[13]);
|
|
38
|
-
__d(function(g,r,i,a,m,e,d){const t=Object.defineProperties({},{"./(app)/(tabs)/_layout.tsx":{enumerable:!0,get:()=>r(d[0])},"./(app)/(tabs)/cameras.tsx":{enumerable:!0,get:()=>r(d[1])},"./(app)/(tabs)/events.tsx":{enumerable:!0,get:()=>r(d[2])},"./(app)/(tabs)/grids.tsx":{enumerable:!0,get:()=>r(d[3])},"./(app)/(tabs)/settings.tsx":{enumerable:!0,get:()=>r(d[4])},"./(app)/_layout.tsx":{enumerable:!0,get:()=>r(d[5])},"./(app)/camera/[id].tsx":{enumerable:!0,get:()=>r(d[6])},"./(app)/exports.tsx":{enumerable:!0,get:()=>r(d[7])},"./(app)/grid/[id]/edit.tsx":{enumerable:!0,get:()=>r(d[8])},"./(app)/grid/[id]/index.tsx":{enumerable:!0,get:()=>r(d[9])},"./(app)/grid/adhoc.tsx":{enumerable:!0,get:()=>r(d[10])},"./(app)/settings/cameras.tsx":{enumerable:!0,get:()=>r(d[11])},"./_layout.tsx":{enumerable:!0,get:()=>r(d[12])},"./index.tsx":{enumerable:!0,get:()=>r(d[13])}});function n(n){return t[n]}n.keys=function(){return Object.keys(t)},n.resolve=function(t){throw new Error('Unimplemented Metro module context functionality')},m.exports=n},13,[14,2592,3386,3401,3418,3426,3427,
|
|
38
|
+
__d(function(g,r,i,a,m,e,d){const t=Object.defineProperties({},{"./(app)/(tabs)/_layout.tsx":{enumerable:!0,get:()=>r(d[0])},"./(app)/(tabs)/cameras.tsx":{enumerable:!0,get:()=>r(d[1])},"./(app)/(tabs)/events.tsx":{enumerable:!0,get:()=>r(d[2])},"./(app)/(tabs)/grids.tsx":{enumerable:!0,get:()=>r(d[3])},"./(app)/(tabs)/settings.tsx":{enumerable:!0,get:()=>r(d[4])},"./(app)/_layout.tsx":{enumerable:!0,get:()=>r(d[5])},"./(app)/camera/[id].tsx":{enumerable:!0,get:()=>r(d[6])},"./(app)/exports.tsx":{enumerable:!0,get:()=>r(d[7])},"./(app)/grid/[id]/edit.tsx":{enumerable:!0,get:()=>r(d[8])},"./(app)/grid/[id]/index.tsx":{enumerable:!0,get:()=>r(d[9])},"./(app)/grid/adhoc.tsx":{enumerable:!0,get:()=>r(d[10])},"./(app)/settings/cameras.tsx":{enumerable:!0,get:()=>r(d[11])},"./_layout.tsx":{enumerable:!0,get:()=>r(d[12])},"./index.tsx":{enumerable:!0,get:()=>r(d[13])}});function n(n){return t[n]}n.keys=function(){return Object.keys(t)},n.resolve=function(t){throw new Error('Unimplemented Metro module context functionality')},m.exports=n},13,[14,2592,3386,3401,3418,3426,3427,3537,3539,3540,3553,3554,3579,3586]);
|
|
39
39
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.TabsNavigator,{}),o[0]=u):u=o[0],u}},14,[15,19,10]);
|
|
40
40
|
__d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},15,[16]);
|
|
41
41
|
__d(function(g,r,i,a,m,e,d){
|
|
@@ -405,7 +405,7 @@ __d(function(g,r,i,_a,m,_e,_d){'use strict';m.exports=function(e,n,o,t,a,f,s,d){
|
|
|
405
405
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}});var t={}},324,[]);
|
|
406
406
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.installOnUIRuntime=function(t){const o=globalThis?.expo?.installOnUIRuntime;if(!o)throw Error("Native method to install Expo Modules on the worklets UI runtime wasn't found in `expo-modules-core`.");o(t)}},325,[]);
|
|
407
407
|
__d(function(g,r,i,a,m,e,d){"use strict";var t,n,o;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AppOwnership",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ExecutionEnvironment",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"UserInterfaceIdiom",{enumerable:!0,get:function(){return o}}),(function(t){t.Expo="expo"})(t||(t={})),(function(t){t.Bare="bare",t.Standalone="standalone",t.StoreClient="storeClient"})(n||(n={})),(function(t){t.Handset="handset",t.Tablet="tablet",t.Desktop="desktop",t.TV="tv",t.Unsupported="unsupported"})(o||(o={}))},326,[]);
|
|
408
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);const n=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const t=navigator.userAgent.toLowerCase();if(t.includes('edge'))return'Edge';if(t.includes('edg'))return'Chromium Edge';if(t.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(t.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(t.includes('trident'))return'IE';if(t.includes('firefox'))return'Firefox';if(t.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return t.ExecutionEnvironment.Bare},get sessionId(){return n},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"CamStack\",\"slug\":\"camstack\",\"version\":\"1.0.
|
|
408
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);const n=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const t=navigator.userAgent.toLowerCase();if(t.includes('edge'))return'Edge';if(t.includes('edg'))return'Chromium Edge';if(t.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(t.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(t.includes('trident'))return'IE';if(t.includes('firefox'))return'Firefox';if(t.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return t.ExecutionEnvironment.Bare},get sessionId(){return n},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"CamStack\",\"slug\":\"camstack\",\"version\":\"1.0.177\",\"sdkVersion\":\"57.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"],\"runtimeVersion\":\"1.0.171\",\"orientation\":\"default\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"camstack\",\"userInterfaceStyle\":\"automatic\",\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"CamStack\",\"backgroundColor\":\"#e67e22\",\"name\":\"CamStack\"},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"baseUrl\":\"/viewer/camstack\"},\"extra\":{\"router\":{\"root\":\"app\"},\"eas\":{\"projectId\":\"8fb06894-6375-41ff-959f-1a22a03dbd73\"}},\"updates\":{\"url\":\"https://u.expo.dev/8fb06894-6375-41ff-959f-1a22a03dbd73\"},\"owner\":\"zentik-notifier\"}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},327,[326]);
|
|
409
409
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SITEMAP_ROUTE_NAME=e.NOT_FOUND_ROUTE_NAME=e.INTERNAL_SLOT_NAME=void 0,e.INTERNAL_SLOT_NAME='__root',e.NOT_FOUND_ROUTE_NAME='+not-found',e.SITEMAP_ROUTE_NAME='_sitemap'},328,[]);
|
|
410
410
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.useCurrentRouteInfo=function(){const n=(0,u.useStateForPath)();return(0,t.useMemo)(()=>n?(0,o.getCachedRouteInfo)(n):void 0,[n])};const t=r(d[0]),o=r(d[1]),u=r(d[2])},329,[17,330,338]);
|
|
411
411
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.routeInfoSubscribe=e.routeInfoSubscribers=void 0,e.getCachedRouteInfo=function(s){let u=o.get(s);if(!u){u=(0,t.getRouteInfoFromState)(s);const f=JSON.stringify(u),c=n.get(f);c?u=c:n.set(f,u),o.set(s,u)}return u},e.setCachedRouteInfo=function(t,s){o.set(t,s),n.set(JSON.stringify(s),s)};const t=r(d[0]),o=new WeakMap,n=new Map;e.routeInfoSubscribers=new Set;e.routeInfoSubscribe=t=>(e.routeInfoSubscribers.add(t),()=>{e.routeInfoSubscribers.delete(t)})},330,[331]);
|
|
@@ -15542,7 +15542,7 @@ __d(function(g,r,i,a,m,e,d){'use strict';const t=r(d[0]),{hasOwnProperty:n}=Obje
|
|
|
15542
15542
|
__d(function(g,r,i,a,m,e,d){'use strict';m.exports=t=>{if('[object Object]'!==Object.prototype.toString.call(t))return!1;const o=Object.getPrototypeOf(t);return null===o||o===Object.prototype}},3137,[]);
|
|
15543
15543
|
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useAsyncStorage=function(e){return{getItem:(...t)=>u.default.getItem(e,...t),setItem:(...t)=>u.default.setItem(e,...t),mergeItem:(...t)=>u.default.mergeItem(e,...t),removeItem:(...t)=>u.default.removeItem(e,...t)}};var e,t=r(d[0]),u=(e=t)&&e.__esModule?e:{default:e}},3138,[3134]);
|
|
15544
15544
|
__d(function(_g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"DETECTION_MACRO_CLASSES",{enumerable:!0,get:function(){return o}}),Object.defineProperty(_e,"GRID_HIGHLIGHT_DEFAULTS",{enumerable:!0,get:function(){return u}}),_e.withHighlightDefaults=function(e){return Object.assign({},u,e??{})},Object.defineProperty(_e,"GRIDS_STORAGE_KEY",{enumerable:!0,get:function(){return c}}),Object.defineProperty(_e,"GRID_OPTION_DEFAULTS",{enumerable:!0,get:function(){return f}}),_e.resolveGridOptions=function(e,t=f){return{showName:e?.showName??t.showName,quality:e?.quality??t.quality,layout:e?.layout??t.layout}},_e.visibleGridCameraIds=function(e){if(!e.hiddenCameraIds||0===e.hiddenCameraIds.length)return e.cameraIds;const t=new Set(e.hiddenCameraIds);return e.cameraIds.filter(e=>!t.has(e))},_e.createGridEntry=l,_e.renameGridEntry=g,_e.setGridCamerasEntry=y,_e.addGridCameraEntry=h,_e.removeGridCameraEntry=I,_e.setGridCameraHiddenEntry=p,_e.reorderGridCamerasEntry=b,_e.setGridOptionsEntry=O,_e.setGridHighlightEntry=C,_e.setGridAudioInitialEntry=S,_e.setAllGridAudioEntry=j,_e.deleteGridEntry=w,_e.parseGrids=E,_e.isGridLayout=N,_e.generateGridId=D,Object.defineProperty(_e,"useGridStore",{enumerable:!0,get:function(){return P}});var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e};const o=['person','vehicle','animal','face','plate'],u={motion:!0,audio:'off',audioDb:-30,audioHoldSec:3,detection:!1,detectionHoldSec:3,detectionClasses:[],clusterLabel:'icon'};const c='@camstack/v2/grids',f={showName:!1,quality:'auto',layout:'auto'};function l(e,t,n,s){return[...e,{id:n,name:t.trim()||s,cameraIds:[]}]}function g(e,t,n){const s=n.trim();return s?e.map(e=>e.id===t?Object.assign({},e,{name:s}):e):e}function y(e,t,n){const s=Array.from(new Set(n)),o=new Set(s);return e.map(e=>e.id===t?Object.assign({},e,{cameraIds:s,hiddenCameraIds:G(e.hiddenCameraIds,o)}):e)}function h(e,t,n){return e.map(e=>e.id!==t||e.cameraIds.includes(n)?e:Object.assign({},e,{cameraIds:[...e.cameraIds,n]}))}function I(e,t,n){return e.map(e=>{if(e.id!==t||!e.cameraIds.includes(n))return e;const s=e.cameraIds.filter(e=>e!==n);return Object.assign({},e,{cameraIds:s,hiddenCameraIds:G(e.hiddenCameraIds,new Set(s))})})}function p(e,t,n,s){return e.map(e=>{if(e.id!==t)return e;const o=new Set(e.hiddenCameraIds??[]);if(s){if(!e.cameraIds.includes(n)||o.has(n))return e;o.add(n)}else{if(!o.has(n))return e;o.delete(n)}return Object.assign({},e,{hiddenCameraIds:e.cameraIds.filter(e=>o.has(e))})})}function G(e,t){if(!e||0===e.length)return;const n=e.filter(e=>t.has(e));return n.length>0?n:void 0}function b(e,t,n){return e.map(e=>{if(e.id!==t)return e;const s=new Set(e.cameraIds),o=new Set,u=[];for(const e of n)s.has(e)&&!o.has(e)&&(u.push(e),o.add(e));for(const t of e.cameraIds)o.has(t)||u.push(t);return Object.assign({},e,{cameraIds:u})})}function O(e,t,n){return e.map(e=>e.id===t?Object.assign({},e,{options:Object.assign({},e.options,n)}):e)}function C(e,t,n){return e.map(e=>e.id===t?Object.assign({},e,{highlight:n}):e)}function S(e,t,n,s){return e.map(e=>{if(e.id!==t)return e;const o=new Set(e.audioOnIds??[]);s?o.add(n):o.delete(n);const u=[...o];return Object.assign({},e,{audioOnIds:u.length>0?u:void 0})})}function j(e,t,n,s){return e.map(e=>{if(e.id!==t)return e;const o=s?[...new Set(n)]:[];return Object.assign({},e,{audioOnIds:o.length>0?o:void 0})})}function w(e,t){return e.filter(e=>e.id!==t)}function E(e){if(!e)return[];try{const t=JSON.parse(e);return Array.isArray(t)?t.filter(v):[]}catch{return[]}}function v(e){if('object'!=typeof e||null===e)return!1;const t=e;return'string'==typeof t.id&&'string'==typeof t.name&&Array.isArray(t.cameraIds)&&t.cameraIds.every(e=>'number'==typeof e)&&A(t.hiddenCameraIds)&&A(t.audioOnIds)&&_(t.options)}function A(e){return void 0===e||Array.isArray(e)&&e.every(e=>'number'==typeof e)}function _(e){if(void 0===e)return!0;if('object'!=typeof e||null===e)return!1;const t=e,n=void 0===t.showName||'boolean'==typeof t.showName,s=void 0===t.quality||'string'==typeof t.quality&&['auto','high','medium','low'].includes(t.quality),o=N(t.layout);return n&&s&&o}function N(e){return void 0===e||'auto'===e||'number'==typeof e&&Number.isFinite(e)&&e>=1}let H=0;function D(){return H=(H+1)%1e6,`grid_${Date.now().toString(36)}_${H.toString(36)}_${Math.random().toString(36).slice(2,8)}`}function q(e){s.default.setItem(c,JSON.stringify(e)).catch(e=>{console.error('[grid-store] persist failed',e)})}const P=(0,t.create)((e,t)=>({grids:[],hydrated:!1,hydrate:async()=>{if(!t().hydrated)try{const t=await s.default.getItem(c);e({grids:E(t),hydrated:!0})}catch(t){console.error('[grid-store] hydrate failed',t),e({hydrated:!0})}},createGrid:(n,s)=>{const o=D(),u=l(t().grids,n,o,s);return e({grids:u}),q(u),o},renameGrid:(n,s)=>{const o=g(t().grids,n,s);e({grids:o}),q(o)},setGridCameras:(n,s)=>{const o=y(t().grids,n,s);e({grids:o}),q(o)},addGridCamera:(n,s)=>{const o=h(t().grids,n,s);e({grids:o}),q(o)},removeGridCamera:(n,s)=>{const o=I(t().grids,n,s);e({grids:o}),q(o)},reorderGridCameras:(n,s)=>{const o=b(t().grids,n,s);e({grids:o}),q(o)},setGridCameraHidden:(n,s,o)=>{const u=p(t().grids,n,s,o);e({grids:u}),q(u)},setGridOptions:(n,s)=>{const o=O(t().grids,n,s);e({grids:o}),q(o)},setGridHighlight:(n,s)=>{const o=C(t().grids,n,s);e({grids:o}),q(o)},setGridAudioInitial:(n,s,o)=>{const u=S(t().grids,n,s,o);e({grids:u}),q(u)},setAllGridAudio:(n,s,o)=>{const u=j(t().grids,n,s,o);e({grids:u}),q(u)},deleteGrid:n=>{const s=w(t().grids,n);e({grids:s}),q(s)},importGrids:n=>{if(0===n.length)return;const s=n.map(e=>Object.assign({},e,{id:D()})),o=[...t().grids,...s];e({grids:o}),q(o)}}))},3139,[2706,3133]);
|
|
15545
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"COLUMNS_MIN",{enumerable:!0,get:function(){return
|
|
15545
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"COLUMNS_MIN",{enumerable:!0,get:function(){return o}}),Object.defineProperty(_e,"COLUMNS_MAX",{enumerable:!0,get:function(){return l}}),Object.defineProperty(_e,"REEL_THUMB_SIZES",{enumerable:!0,get:function(){return h}}),Object.defineProperty(_e,"REEL_THUMB_SIZE_PX",{enumerable:!0,get:function(){return b}}),_e.reelThumbSizePx=function(e){return b[e]??b.small},Object.defineProperty(_e,"GRID_DENSITIES",{enumerable:!0,get:function(){return f}}),Object.defineProperty(_e,"TILE_LABEL_STYLES",{enumerable:!0,get:function(){return p}}),Object.defineProperty(_e,"GRID_DENSITY_TILE_PX",{enumerable:!0,get:function(){return O}}),_e.densityColumns=function(e,t){if(!Number.isFinite(e)||e<=0)return 1;const n=O[t]??O.medium;return Math.max(1,Math.floor(e/n))},Object.defineProperty(_e,"MOTION_HOLD_SECONDS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(_e,"MOTION_HOLD_MIN",{enumerable:!0,get:function(){return y}}),Object.defineProperty(_e,"MOTION_HOLD_MAX",{enumerable:!0,get:function(){return j}}),_e.clampMotionHoldSec=I,Object.defineProperty(_e,"DEFAULT_COLUMNS",{enumerable:!0,get:function(){return E}}),_e.clampColumns=function(e){if(!Number.isFinite(e))return E;const t=Math.floor(e);return Math.min(l,Math.max(o,t))},Object.defineProperty(_e,"DEFAULTS",{enumerable:!0,get:function(){return M}}),Object.defineProperty(_e,"SETTINGS_STORAGE_KEY",{enumerable:!0,get:function(){return _}}),_e.setGridDefaultEntry=C,_e.setStreamDefaultEntry=T,_e.setAdvancedEntry=P,Object.defineProperty(_e,"THICKNESS_MIN",{enumerable:!0,get:function(){return L}}),Object.defineProperty(_e,"THICKNESS_MAX",{enumerable:!0,get:function(){return N}}),_e.clampThickness=w,_e.setHighlightAppearanceEntry=v,Object.defineProperty(_e,"CARD_WIDTH_FRACTION_MIN",{enumerable:!0,get:function(){return D}}),Object.defineProperty(_e,"CARD_WIDTH_FRACTION_MAX",{enumerable:!0,get:function(){return F}}),_e.clampCardWidthFraction=H,_e.clampMinImportance=z,Object.defineProperty(_e,"MIN_IMPORTANCE_CHOICES",{enumerable:!0,get:function(){return A}}),_e.setClusterEntry=R,Object.defineProperty(_e,"TIMELINE_DENSITY_PRESETS",{enumerable:!0,get:function(){return x}}),Object.defineProperty(_e,"TIMELINE_DENSITY_PRESET_ORDER",{enumerable:!0,get:function(){return W}}),_e.matchTimelineDensityPreset=function(e){for(const t of W){const n=x[t];if(Math.abs(e.gapPercent-n.gapPercent)<k&&Math.abs(e.cardWidthFraction-n.cardWidthFraction)<k)return t}return null},_e.setEventsEntry=U,_e.setHapticsEntry=G,_e.resetSettingsEntry=X,_e.isStreamQuality=function(e){return'string'==typeof e&&u.includes(e)},_e.isReelThumbSize=K,_e.isGridDensity=J,_e.isTileLabelStyle=Z,_e.parseSettings=Q,Object.defineProperty(_e,"useSettingsStore",{enumerable:!0,get:function(){return q}});var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e},c=r(d[2]);const o=1,l=6,u=['auto','high','mid','low'],h=['small','medium','large'],b=Object.freeze({small:80,medium:106,large:132});const f=['compact','medium','large'],p=['icon','text'],O=Object.freeze({compact:104,medium:148,large:200});const S=[0,2,3,5,8],y=0,j=30;function I(e){return Number.isFinite(e)?Math.min(j,Math.max(y,Math.round(e))):M.grid.motionHoldSec}const E=2;const M=Object.freeze({grid:Object.freeze({motionHoldSec:3}),stream:Object.freeze({audioOnOpen:!1,pinchExpandsHeight:!1}),advanced:Object.freeze({debugMode:!1}),highlight:Object.freeze({motionColor:'#DC2626',audioColor:'#3B82F6',detectionColor:'#22C55E',thickness:3}),clusters:Object.freeze({gapPercent:10,cardWidthFraction:.6,showImportance:!0,showClass:!0,minImportance:0}),events:Object.freeze({reelThumbSize:'small',gridDensity:'medium',reelShowLabels:!0,reelLabelStyle:'text',reelShowImportance:!0,tileShowLabels:!0,tileShowImportance:!0,tileShowCameraName:!0,tileLabelStyle:'text'}),haptics:Object.freeze(Object.assign({},c.HAPTICS_DEFAULTS))}),_='@camstack/v2/settings';function C(e,t,n){const s='motionHoldSec'===t?I(n):n;return Object.assign({},e,{grid:Object.assign({},e.grid,{[t]:s})})}function T(e,t,n){return Object.assign({},e,{stream:Object.assign({},e.stream,{[t]:n})})}function P(e,t,n){return Object.assign({},e,{advanced:Object.assign({},e.advanced,{[t]:n})})}const L=1,N=8;function w(e){return Number.isFinite(e)?Math.min(N,Math.max(L,Math.floor(e))):M.highlight.thickness}function v(e,t,n){const s='thickness'===t?w(n):n;return Object.assign({},e,{highlight:Object.assign({},e.highlight,{[t]:s})})}const D=.4,F=.9;function H(e){if(!Number.isFinite(e))return M.clusters.cardWidthFraction;const t=Math.min(F,Math.max(D,e));return Math.round(100*t)/100}function z(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}const A=[0,.1,.25,.5,.75];function R(e,t,n){const s='minImportance'===t?z(n):'cardWidthFraction'===t?H(n):n;return Object.assign({},e,{clusters:Object.assign({},e.clusters,{[t]:s})})}const x=Object.freeze({compact:Object.freeze({gapPercent:2,cardWidthFraction:.48}),medium:Object.freeze({gapPercent:10,cardWidthFraction:.6}),wide:Object.freeze({gapPercent:22,cardWidthFraction:.72})}),W=['compact','medium','wide'],k=.001;function U(e,t,n){return Object.assign({},e,{events:Object.assign({},e.events,{[t]:n})})}function G(e,t,n){return Object.assign({},e,{haptics:Object.assign({},e.haptics,{[t]:n})})}function X(){return{grid:Object.assign({},M.grid),stream:Object.assign({},M.stream),advanced:Object.assign({},M.advanced),highlight:Object.assign({},M.highlight),clusters:Object.assign({},M.clusters),events:Object.assign({},M.events),haptics:Object.assign({},M.haptics)}}function Y(e,t){return'boolean'==typeof e?e:t}function B(e,t){return'number'==typeof e&&Number.isFinite(e)?e:t}function K(e){return'string'==typeof e&&h.includes(e)}function J(e){return'string'==typeof e&&f.includes(e)}function Z(e){return'string'==typeof e&&p.includes(e)}function Q(e){if(!e)return X();let t;try{const n=JSON.parse(e);if('object'!=typeof n||null===n)return X();t=n}catch{return X()}const n=t.grid??{},s=t.stream??{},c=t.advanced??{},o=t.highlight??{},l=t.clusters??{},u=t.events??{},h=t.haptics??{},b=(e,t)=>'string'==typeof e&&/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)?e:t;return{grid:{motionHoldSec:I(B(n.motionHoldSec,M.grid.motionHoldSec))},stream:{audioOnOpen:Y(s.audioOnOpen,M.stream.audioOnOpen),pinchExpandsHeight:Y(s.pinchExpandsHeight,M.stream.pinchExpandsHeight)},advanced:{debugMode:Y(c.debugMode,M.advanced.debugMode)},highlight:{motionColor:b(o.motionColor,M.highlight.motionColor),audioColor:b(o.audioColor,M.highlight.audioColor),detectionColor:b(o.detectionColor,M.highlight.detectionColor),thickness:w(B(o.thickness,M.highlight.thickness))},clusters:{gapPercent:B(l.gapPercent,M.clusters.gapPercent),cardWidthFraction:H(B(l.cardWidthFraction,M.clusters.cardWidthFraction)),showImportance:Y(l.showImportance,M.clusters.showImportance),showClass:Y(l.showClass,M.clusters.showClass),minImportance:z(B(l.minImportance,M.clusters.minImportance))},events:{reelThumbSize:K(u.reelThumbSize)?u.reelThumbSize:M.events.reelThumbSize,gridDensity:J(u.gridDensity)?u.gridDensity:M.events.gridDensity,reelShowLabels:Y(u.reelShowLabels,M.events.reelShowLabels),reelLabelStyle:Z(u.reelLabelStyle)?u.reelLabelStyle:M.events.reelLabelStyle,reelShowImportance:Y(u.reelShowImportance,M.events.reelShowImportance),tileShowLabels:Y(u.tileShowLabels,M.events.tileShowLabels),tileShowImportance:Y(u.tileShowImportance,M.events.tileShowImportance),tileShowCameraName:Y(u.tileShowCameraName,M.events.tileShowCameraName),tileLabelStyle:Z(u.tileLabelStyle)?u.tileLabelStyle:M.events.tileLabelStyle},haptics:{enabled:Y(h.enabled,M.haptics.enabled),motion:Y(h.motion,M.haptics.motion),detection:Y(h.detection,M.haptics.detection),person:Y(h.person,M.haptics.person)}}}function $(e){s.default.setItem(_,JSON.stringify(e)).catch(e=>{console.error('[settings-store] persist failed',e)})}const q=(0,t.create)((e,t)=>({settings:X(),hydrated:!1,hydrate:async()=>{if(!t().hydrated)try{const t=await s.default.getItem(_);e({settings:Q(t),hydrated:!0})}catch(t){console.error('[settings-store] hydrate failed',t),e({hydrated:!0})}},setGridDefault:(n,s)=>{const c=C(t().settings,n,s);e({settings:c}),$(c)},setStreamDefault:(n,s)=>{const c=T(t().settings,n,s);e({settings:c}),$(c)},setAdvanced:(n,s)=>{const c=P(t().settings,n,s);e({settings:c}),$(c)},setHighlightAppearance:(n,s)=>{const c=v(t().settings,n,s);e({settings:c}),$(c)},setCluster:(n,s)=>{const c=R(t().settings,n,s);e({settings:c}),$(c)},setEvents:(n,s)=>{const c=U(t().settings,n,s);e({settings:c}),$(c)},setHaptics:(n,s)=>{const c=G(t().settings,n,s);e({settings:c}),$(c)},resetSettings:()=>{const t=X();e({settings:t}),$(t)}}))},3140,[2706,3133,3141]);
|
|
15546
15546
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HAPTIC_EVENT_KINDS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"HAPTICS_DEFAULTS",{enumerable:!0,get:function(){return t}}),e.hapticKindForEvent=o,e.isHapticEventEnabled=c,Object.defineProperty(e,"HAPTIC_MIN_INTERVAL_MS",{enumerable:!0,get:function(){return u}}),e.canFireHaptic=s,e.isForegroundActive=function(n){return'active'===n},e.detectionEventKind=function(n,t){return t||n.some(n=>'person'===n.toLowerCase())?'person':'detection'},e.resolveHaptic=function(n,t,f,p,l=u){return c(n,t)&&s(f,p,l)?o(t):null};const n=['motion','detection','person'],t={enabled:!1,motion:!0,detection:!0,person:!0};function o(n){switch(n){case'motion':return'selection';case'detection':return'impact-light';case'person':return'notification'}}function c(n,t){if(!n.enabled)return!1;switch(t){case'motion':return n.motion;case'detection':return n.detection;case'person':return n.person}}const u=2e3;function s(n,t,o=u){return n<=0||t-n>=o}},3141,[]);
|
|
15547
15547
|
__d(function(g,_r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ALL_BAR_KINDS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"HEATMAP_BINS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"ZOOM_LEVELS",{enumerable:!0,get:function(){return i}}),Object.defineProperty(e,"DEFAULT_ZOOM_INDEX",{enumerable:!0,get:function(){return r}}),e.clampZoomIndex=u,e.buildHeatmapBins=function(t){const o=new Date(t),i=new Date(o);i.setHours(0,0,0,0);const r=(t-i.getTime())/864e5,u=Math.min(47,Math.floor(r*n));return Array.from({length:n},(t,n)=>{const o=n<=u?s[n]:void 0;return{motion:o?o.motion:0,audio:o?o.audio:0,recorded:n>=c&&n<=u}})},e.heatmapCursorFraction=function(t){const n=new Date(t);n.setHours(0,0,0,0);return Math.min(1,Math.max(0,(t-n.getTime())/864e5))},e.snapTopTickMs=M,e.rowsPerSpan=h,e.buildTimelineRowsAtZoom=b,e.buildTimelineRowsPage=function(t,n,o,r=h(n)){const{rowMinutes:s}=i[u(n)],c=6e4*s,f=M(t,n),l=Math.max(0,Math.floor(o)),b=Math.max(1,Math.floor(r)),w=l*b;return Array.from({length:b},(t,n)=>p(f-(w+n)*c))},e.buildTimelineRows=function(t){return b(t,r)},e.isFilterAll=w,e.filterTimelineRows=function(t,n){return w(n)?t:t.map(t=>Object.assign({},t,{bars:t.bars.filter(t=>n.has(t.kind))}))},e.filterHeatmapBins=function(t,n){if(w(n))return t;const o=n.has('motion'),i=n.has('audio');return t.map(t=>Object.assign({},t,{motion:o?t.motion:0,audio:i?t.audio:0}))},Object.defineProperty(e,"TIMELINE_ROW_HEIGHT",{enumerable:!0,get:function(){return H}});const t=['motion','audio'],n=48,o=60,i=[{rowMinutes:30,spanHours:12},{rowMinutes:15,spanHours:9},{rowMinutes:5,spanHours:6},{rowMinutes:1,spanHours:2}],r=2;function u(t){return t<0?0:t>i.length-1?i.length-1:Math.floor(t)}const s={14:{motion:.35,audio:0},16:{motion:.7,audio:.2},17:{motion:.9,audio:.5},24:{motion:.45,audio:0},30:{motion:.6,audio:.15},36:{motion:.85,audio:.7},37:{motion:1,audio:.9},38:{motion:.75,audio:.4},39:{motion:.55,audio:.25},40:{motion:.3,audio:0}},c=12;function f(t){return String(t).padStart(2,'0')}function l(t){const n=2654435761*t%1e3/1e3;if(n<.45)return[];const o=[{offsetFrac:.05+.4*n,widthFrac:.18+.25*n,intensity:.4+.6*n,kind:'motion'}];return n>.78&&o.push({offsetFrac:.55+.8*(n-.78),widthFrac:.1+.12*n,intensity:.5+2*(n-.78),kind:'audio'}),o}function M(t,n){const{rowMinutes:o}=i[u(n)],r=new Date(t),s=Math.floor(r.getMinutes()/o)*o;return r.setMinutes(s,0,0),r.getTime()}function h(t){const{rowMinutes:n,spanHours:r}=i[u(t)];return Math.round(r*o/n)}function p(t){const n=new Date(t),i=n.getHours(),r=n.getMinutes(),u=i*o+r;return{id:`row-${t}`,tickMs:t,hourLabel:`${f(i)}:${f(r)}`,isFullHour:0===r,bars:l(u)}}function b(t,n){const{rowMinutes:o}=i[u(n)],r=M(t,n),s=6e4*o,c=h(n);return Array.from({length:c},(t,n)=>p(r-n*s))}function w(n){return 0===n.size||n.size>=t.length}const H=34},3142,[]);
|
|
15548
15548
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSnapshot=function(o,y){const S=(0,t.c)(23),{controller:b,state:v}=(0,s.useConnection)(),{token:p}=(0,u.useServer)(),_=y&&"connected"===v,[I,q]=(0,n.useState)(h);let C,E,M;S[0]!==_?(C=()=>{if(!_)return;q(f());const t=setInterval(()=>q(f()),l);return()=>clearInterval(t)},E=[_],S[0]=_,S[1]=C,S[2]=E):(C=S[1],E=S[2]);if((0,n.useEffect)(C,E),S[3]!==I||S[4]!==_||S[5]!==b||S[6]!==o){const t=_?b.getSystem()?.serverUrl??null:null;M=null!==t&&o>0?(0,c.buildSnapshotMediaUrl)(t,o,{bucket:I}):null,S[3]=I,S[4]=_,S[5]=b,S[6]=o,S[7]=M}else M=S[7];const U=M,[$,j]=(0,n.useState)(!1),[k,w]=(0,n.useState)(!1),D=(0,n.useRef)(!1);let L,O,z;S[8]===Symbol.for("react.memo_cache_sentinel")?(L=()=>{D.current=!1,j(!1),w(!1)},S[8]=L):L=S[8];S[9]!==o?(O=[o],S[9]=o,S[10]=O):O=S[10];(0,n.useEffect)(L,O),S[11]!==p||S[12]!==U?(z=p&&U?{Authorization:`Bearer ${p}`}:void 0,S[11]=p,S[12]=U,S[13]=z):z=S[13];const A=z;let B,F,K;S[14]!==A?(B=A?{headers:A}:{},S[14]=A,S[15]=B):B=S[15];S[16]===Symbol.for("react.memo_cache_sentinel")?(F=()=>{D.current=!0,j(!0),w(!1)},K=()=>{D.current||w(!0)},S[16]=F,S[17]=K):(F=S[16],K=S[17]);const P=null!==U&&!$&&!k,Q=k&&!$;let R;S[18]!==Q||S[19]!==B||S[20]!==P||S[21]!==U?(R=Object.assign({uri:U},B,{onLoad:F,onError:K,isLoading:P,failed:Q}),S[18]=Q,S[19]=B,S[20]=P,S[21]=U,S[22]=R):R=S[22];return R},e.useSnapshotDataUri=function(t,n){const{controller:u,state:c}=(0,s.useConnection)();return(0,o.useQuery)({queryKey:['v2','snapshot-data',t],enabled:n&&'connected'===c,refetchInterval:l,queryFn:async()=>{const n=u.getSystem();if(!n)return null;try{const o=await n.trpcClient.snapshot.getSnapshot.query({deviceId:t});return o?.base64?`data:${o.contentType};base64,${o.base64}`:null}catch{return null}}}).data??null};var t=r(d[0]),n=r(d[1]),o=r(d[2]),s=r(d[3]),u=r(d[4]),c=r(d[5]);const l=3e4;function f(){return Math.floor(Date.now()/l)}function h(){return f()}},3143,[15,17,3081,2594,3144,3150]);
|
|
@@ -15795,7 +15795,7 @@ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e
|
|
|
15795
15795
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"FaceAssignSheet",{enumerable:!0,get:function(){return j}});var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),y=e(r(d[8])),p=e(r(d[9])),b=e(r(d[10])),x=r(d[11]),h=r(d[12]),v=r(d[13]),I=r(d[14]),S=r(d[15]),C=r(d[16]),A=r(d[17]),P=r(d[18]);const j=(0,o.memo)(function(e){const b=(0,t.c)(156),{face:j,onClose:N}=e,{colors:B}=(0,S.useTheme)(),{t:G}=(0,h.useTranslation)(),w=(0,x.useSafeAreaInsets)(),T=null!==j,{data:z,isLoading:F}=(0,A.useIdentities)(T);let D;b[0]!==z?(D=void 0===z?[]:z,b[0]=z,b[1]=D):D=b[1];const U=D,M=(0,A.useAssignFace)(),L=(0,A.useUnassignFace)(),W=(0,A.useUnassignAllForIdentity)(),H=(0,A.useCreateIdentity)(),[V,_]=(0,o.useState)(""),[E,O]=(0,o.useState)(null),X=M.isPending||L.isPending||W.isPending||H.isPending;let $;b[2]!==N?($=()=>{_(""),O(null),N()},b[2]=N,b[3]=$):$=b[3];const q=$;let J;b[4]!==M||b[5]!==X||b[6]!==q||b[7]!==j||b[8]!==G?(J=async e=>{if(j&&!X){O(null);try{await M.mutateAsync({faceId:j.faceId,identityId:e}),q()}catch{O(G("v2.tracks.assignFailed"))}}},b[4]=M,b[5]=X,b[6]=q,b[7]=j,b[8]=G,b[9]=J):J=b[9];const K=J;let Q;b[10]!==X||b[11]!==q||b[12]!==j||b[13]!==G||b[14]!==L?(Q=async()=>{if(j&&!X){O(null);try{await L.mutateAsync({faceId:j.faceId}),q()}catch{O(G("v2.tracks.disassociateFailed"))}}},b[10]=X,b[11]=q,b[12]=j,b[13]=G,b[14]=L,b[15]=Q):Q=b[15];const Y=Q;let Z;b[16]!==X||b[17]!==Y||b[18]!==j||b[19]!==G?(Z=()=>{j&&!X&&n.default.alert(G("v2.tracks.removePersonConfirmTitle"),G("v2.tracks.removePersonConfirmBody"),[{text:G("v2.settings.cancel"),style:"cancel"},{text:G("v2.tracks.removePerson"),style:"destructive",onPress:()=>{Y()}}])},b[16]=X,b[17]=Y,b[18]=j,b[19]=G,b[20]=Z):Z=b[20];const ee=Z;let te;b[21]!==X||b[22]!==q||b[23]!==j||b[24]!==G||b[25]!==W?(te=async()=>{const e=j?.identityId;if(j&&void 0!==e&&!X){O(null);try{await W.mutateAsync({identityId:e}),q()}catch{O(G("v2.tracks.disassociateAllFailed"))}}},b[21]=X,b[22]=q,b[23]=j,b[24]=G,b[25]=W,b[26]=te):te=b[26];const re=te;let oe;b[27]!==X||b[28]!==re||b[29]!==j||b[30]!==G?(oe=()=>{const e=j?.identityId;j&&void 0!==e&&!X&&n.default.alert(G("v2.tracks.removePersonAllConfirmTitle"),G("v2.tracks.removePersonAllConfirmBody"),[{text:G("v2.settings.cancel"),style:"cancel"},{text:G("v2.tracks.removePersonAll"),style:"destructive",onPress:()=>{re()}}])},b[27]=X,b[28]=re,b[29]=j,b[30]=G,b[31]=oe):oe=b[31];const ne=oe;let se;b[32]!==M||b[33]!==X||b[34]!==q||b[35]!==H||b[36]!==j||b[37]!==V||b[38]!==G?(se=async()=>{const e=V.trim();if(j&&!X&&0!==e.length){O(null);try{const t=await H.mutateAsync({name:e});await M.mutateAsync({faceId:j.faceId,identityId:t.id}),q()}catch{O(G("v2.tracks.assignFailed"))}}},b[32]=M,b[33]=X,b[34]=q,b[35]=H,b[36]=j,b[37]=V,b[38]=G,b[39]=se):se=b[39];const ae=se;let ie,le,de,ce,ue,ge,fe,me,ye,pe,be,xe;b[40]!==q?(ie=(0,P.jsx)(f.default,{style:R.scrim,onPress:q,accessibilityRole:"button"}),b[40]=q,b[41]=ie):ie=b[41],b[42]!==B.backgroundElevated?(le=[R.sheet,{backgroundColor:B.backgroundElevated}],b[42]=B.backgroundElevated,b[43]=le):le=b[43],b[44]!==B.foreground?(de=[R.title,{color:B.foreground}],b[44]=B.foreground,b[45]=de):de=b[45],b[46]!==G?(ce=G("v2.tracks.assignFaceTitle"),b[46]=G,b[47]=ce):ce=b[47],b[48]!==de||b[49]!==ce?(ue=(0,P.jsx)(c.default,{style:de,children:ce}),b[48]=de,b[49]=ce,b[50]=ue):ue=b[50],b[51]!==B.surface?(ge=[R.iconBtn,{backgroundColor:B.surface}],b[51]=B.surface,b[52]=ge):ge=b[52],b[53]!==B.foreground?(fe=(0,P.jsx)(v.X,{size:18,color:B.foreground}),b[53]=B.foreground,b[54]=fe):fe=b[54],b[55]!==q||b[56]!==ge||b[57]!==fe?(me=(0,P.jsx)(f.default,{onPress:q,hitSlop:10,style:ge,children:fe}),b[55]=q,b[56]=ge,b[57]=fe,b[58]=me):me=b[58],b[59]!==ue||b[60]!==me?(ye=(0,P.jsxs)(l.default,{style:R.header,children:[ue,me]}),b[59]=ue,b[60]=me,b[61]=ye):ye=b[61],b[62]!==X||b[63]!==B.danger||b[64]!==B.foregroundMuted||b[65]!==B.surface||b[66]!==ee||b[67]!==j||b[68]!==G?(pe=j?.base64?(0,P.jsxs)(l.default,{style:R.faceRow,children:[(0,P.jsx)(I.Image,{source:{uri:`data:image/jpeg;base64,${j.base64}`},style:[R.faceCrop,{backgroundColor:B.surface}],contentFit:"cover"}),(0,P.jsx)(c.default,{style:[R.faceHint,{color:B.foregroundMuted}],children:j.identityName??G("v2.tracks.notAssigned")}),j.assigned?(0,P.jsxs)(f.default,{onPress:ee,disabled:X,accessibilityRole:"button",accessibilityLabel:G("v2.tracks.removePerson"),style:[R.removeBtn,{backgroundColor:B.danger+"22",opacity:X?.5:1}],children:[(0,P.jsx)(v.UserRoundX,{size:16,color:B.danger}),(0,P.jsx)(c.default,{style:[R.removeBtnText,{color:B.danger}],children:G("v2.tracks.removePerson")})]}):null]}):null,b[62]=X,b[63]=B.danger,b[64]=B.foregroundMuted,b[65]=B.surface,b[66]=ee,b[67]=j,b[68]=G,b[69]=pe):pe=b[69],b[70]!==X||b[71]!==B.danger||b[72]!==ne||b[73]!==j||b[74]!==G?(be=j?.assigned&&void 0!==j.identityId?(0,P.jsxs)(f.default,{onPress:ne,disabled:X,accessibilityRole:"button",accessibilityLabel:G("v2.tracks.removePersonAll"),style:[R.removeAllBtn,{borderColor:B.danger,opacity:X?.5:1}],children:[(0,P.jsx)(v.Users,{size:16,color:B.danger}),(0,P.jsx)(c.default,{style:[R.removeAllBtnText,{color:B.danger}],children:G("v2.tracks.removePersonAll")})]}):null,b[70]=X,b[71]=B.danger,b[72]=ne,b[73]=j,b[74]=G,b[75]=be):be=b[75],b[76]!==G?(xe=G("v2.tracks.newPersonPlaceholder"),b[76]=G,b[77]=xe):xe=b[77];const he=!X;let ve,Ie,Se,Ce;b[78]!==B.foreground||b[79]!==B.surface?(ve=[R.input,{backgroundColor:B.surface,color:B.foreground}],b[78]=B.foreground,b[79]=B.surface,b[80]=ve):ve=b[80],b[81]!==B.foregroundSubtle||b[82]!==V||b[83]!==xe||b[84]!==he||b[85]!==ve?(Ie=(0,P.jsx)(u.default,{value:V,onChangeText:_,placeholder:xe,placeholderTextColor:B.foregroundSubtle,editable:he,style:ve}),b[81]=B.foregroundSubtle,b[82]=V,b[83]=xe,b[84]=he,b[85]=ve,b[86]=Ie):Ie=b[86],b[87]!==ae?(Se=()=>{ae()},b[87]=ae,b[88]=Se):Se=b[88],b[89]!==X||b[90]!==V?(Ce=X||0===V.trim().length,b[89]=X,b[90]=V,b[91]=Ce):Ce=b[91];const Ae=X||0===V.trim().length?.5:1;let Pe,je,ke,Re,Ne,Be,Ge,we,Te,ze,Fe,De;b[92]!==B.primary||b[93]!==Ae?(Pe=[R.createBtn,{backgroundColor:B.primary,opacity:Ae}],b[92]=B.primary,b[93]=Ae,b[94]=Pe):Pe=b[94],b[95]!==G?(je=G("v2.tracks.createAndAssign"),b[95]=G,b[96]=je):je=b[96],b[97]!==B.primaryForeground?(ke=(0,P.jsx)(v.UserRoundPlus,{size:16,color:B.primaryForeground}),b[97]=B.primaryForeground,b[98]=ke):ke=b[98],b[99]!==B.primaryForeground?(Re=[R.createBtnText,{color:B.primaryForeground}],b[99]=B.primaryForeground,b[100]=Re):Re=b[100],b[101]!==G?(Ne=G("v2.tracks.createAndAssign"),b[101]=G,b[102]=Ne):Ne=b[102],b[103]!==Re||b[104]!==Ne?(Be=(0,P.jsx)(c.default,{style:Re,children:Ne}),b[103]=Re,b[104]=Ne,b[105]=Be):Be=b[105],b[106]!==Se||b[107]!==Ce||b[108]!==Pe||b[109]!==je||b[110]!==ke||b[111]!==Be?(Ge=(0,P.jsxs)(f.default,{onPress:Se,disabled:Ce,style:Pe,accessibilityRole:"button",accessibilityLabel:je,children:[ke,Be]}),b[106]=Se,b[107]=Ce,b[108]=Pe,b[109]=je,b[110]=ke,b[111]=Be,b[112]=Ge):Ge=b[112],b[113]!==Ie||b[114]!==Ge?(we=(0,P.jsxs)(l.default,{style:R.createRow,children:[Ie,Ge]}),b[113]=Ie,b[114]=Ge,b[115]=we):we=b[115],b[116]!==B.danger||b[117]!==E?(Te=null!==E?(0,P.jsx)(c.default,{style:[R.error,{color:B.danger}],children:E}):null,b[116]=B.danger,b[117]=E,b[118]=Te):Te=b[118],b[119]!==B.foregroundSubtle?(ze=[R.sectionLabel,{color:B.foregroundSubtle}],b[119]=B.foregroundSubtle,b[120]=ze):ze=b[120],b[121]!==G?(Fe=G("v2.tracks.existingPersons"),b[121]=G,b[122]=Fe):Fe=b[122],b[123]!==ze||b[124]!==Fe?(De=(0,P.jsx)(c.default,{style:ze,children:Fe}),b[123]=ze,b[124]=Fe,b[125]=De):De=b[125];const Ue=w.bottom+C.SPACING.md;let Me,Le,We,He,Ve,Ee;return b[126]!==Ue?(Me={paddingBottom:Ue},b[126]=Ue,b[127]=Me):Me=b[127],b[128]!==K||b[129]!==X||b[130]!==B.foregroundMuted||b[131]!==B.primary||b[132]!==j?.identityId||b[133]!==F||b[134]!==U||b[135]!==G?(Le=F?(0,P.jsx)(p.default,{color:B.primary,style:R.loader}):0===U.length?(0,P.jsx)(c.default,{style:[R.empty,{color:B.foregroundMuted}],children:G("v2.tracks.noPersons")}):U.map(e=>(0,P.jsx)(k,{person:e,current:j?.identityId===e.id,disabled:X,onPress:()=>{K(e.id)}},e.id)),b[128]=K,b[129]=X,b[130]=B.foregroundMuted,b[131]=B.primary,b[132]=j?.identityId,b[133]=F,b[134]=U,b[135]=G,b[136]=Le):Le=b[136],b[137]!==Me||b[138]!==Le?(We=(0,P.jsx)(y.default,{style:R.list,contentContainerStyle:Me,children:Le}),b[137]=Me,b[138]=Le,b[139]=We):We=b[139],b[140]!==le||b[141]!==ye||b[142]!==pe||b[143]!==be||b[144]!==we||b[145]!==Te||b[146]!==De||b[147]!==We?(He=(0,P.jsxs)(l.default,{style:le,children:[ye,pe,be,we,Te,De,We]}),b[140]=le,b[141]=ye,b[142]=pe,b[143]=be,b[144]=we,b[145]=Te,b[146]=De,b[147]=We,b[148]=He):He=b[148],b[149]!==ie||b[150]!==He?(Ve=(0,P.jsxs)(l.default,{style:R.backdrop,children:[ie,He]}),b[149]=ie,b[150]=He,b[151]=Ve):Ve=b[151],b[152]!==q||b[153]!==Ve||b[154]!==T?(Ee=(0,P.jsx)(s.default,{visible:T,animationType:"slide",transparent:!0,onRequestClose:q,children:Ve}),b[152]=q,b[153]=Ve,b[154]=T,b[155]=Ee):Ee=b[155],Ee}),k=(0,o.memo)(function(e){const o=(0,t.c)(30),{person:n,current:s,disabled:u,onPress:y}=e,{colors:p}=(0,S.useTheme)(),b=u||s,x=s?p.primary+"22":"transparent";let h,C,A,j,k,N,B,G,w;return o[0]!==x?(h=[R.personRow,{backgroundColor:x}],o[0]=x,o[1]=h):h=o[1],o[2]!==p.foregroundMuted||o[3]!==p.surface||o[4]!==n.coverBase64?(C=n.coverBase64?(0,P.jsx)(I.Image,{source:{uri:`data:image/jpeg;base64,${n.coverBase64}`},style:[R.avatar,{backgroundColor:p.surface}],contentFit:"cover"}):(0,P.jsx)(l.default,{style:[R.avatar,R.avatarEmpty,{backgroundColor:p.surface}],children:(0,P.jsx)(v.UserRound,{size:18,color:p.foregroundMuted})}),o[2]=p.foregroundMuted,o[3]=p.surface,o[4]=n.coverBase64,o[5]=C):C=o[5],o[6]!==p.foreground?(A=[R.personName,{color:p.foreground}],o[6]=p.foreground,o[7]=A):A=o[7],o[8]!==n.name||o[9]!==A?(j=(0,P.jsx)(c.default,{numberOfLines:1,style:A,children:n.name}),o[8]=n.name,o[9]=A,o[10]=j):j=o[10],o[11]!==p.foregroundSubtle?(k=[R.personCount,{color:p.foregroundSubtle}],o[11]=p.foregroundSubtle,o[12]=k):k=o[12],o[13]!==n.sampleCount||o[14]!==k?(N=(0,P.jsx)(c.default,{style:k,children:n.sampleCount}),o[13]=n.sampleCount,o[14]=k,o[15]=N):N=o[15],o[16]!==j||o[17]!==N?(B=(0,P.jsxs)(l.default,{style:R.personText,children:[j,N]}),o[16]=j,o[17]=N,o[18]=B):B=o[18],o[19]!==p.primary||o[20]!==s?(G=s?(0,P.jsx)(v.Check,{size:18,color:p.primary}):null,o[19]=p.primary,o[20]=s,o[21]=G):G=o[21],o[22]!==y||o[23]!==n.name||o[24]!==b||o[25]!==G||o[26]!==h||o[27]!==C||o[28]!==B?(w=(0,P.jsxs)(f.default,{onPress:y,disabled:b,accessibilityRole:"button",accessibilityLabel:n.name,style:h,children:[C,B,G]}),o[22]=y,o[23]=n.name,o[24]=b,o[25]=G,o[26]=h,o[27]=C,o[28]=B,o[29]=w):w=o[29],w}),R=b.default.create({backdrop:{flex:1,justifyContent:'flex-end'},scrim:{position:'absolute',top:0,left:0,right:0,bottom:0,backgroundColor:'rgba(0,0,0,0.5)'},sheet:{maxHeight:'80%',borderTopLeftRadius:C.RADIUS.xl,borderTopRightRadius:C.RADIUS.xl,paddingHorizontal:C.SPACING.md,paddingTop:C.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingBottom:C.SPACING.sm},title:{fontSize:18,fontWeight:'700'},iconBtn:{width:32,height:32,borderRadius:C.RADIUS.md,alignItems:'center',justifyContent:'center'},faceRow:{flexDirection:'row',alignItems:'center',gap:C.SPACING.md,paddingBottom:C.SPACING.sm},faceCrop:{width:56,height:56,borderRadius:C.RADIUS.md},faceHint:{flex:1,fontSize:13,fontWeight:'500'},removeBtn:{flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:C.SPACING.md,paddingVertical:C.SPACING.sm,borderRadius:C.RADIUS.md},removeBtnText:{fontSize:13,fontWeight:'700'},removeAllBtn:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:C.SPACING.xs,paddingVertical:C.SPACING.sm,borderRadius:C.RADIUS.md,borderWidth:1,marginBottom:C.SPACING.sm},removeAllBtnText:{fontSize:13,fontWeight:'700'},createRow:{flexDirection:'row',gap:C.SPACING.sm,alignItems:'center'},input:{flex:1,borderRadius:C.RADIUS.md,paddingHorizontal:C.SPACING.sm,paddingVertical:C.SPACING.sm,fontSize:14},createBtn:{flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:C.SPACING.md,paddingVertical:C.SPACING.sm+2,borderRadius:C.RADIUS.md},createBtnText:{fontSize:13,fontWeight:'700'},error:{fontSize:12,fontWeight:'600',marginTop:C.SPACING.xs},sectionLabel:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.4,marginTop:C.SPACING.md,marginBottom:C.SPACING.xs},list:{flexGrow:0},loader:{marginVertical:C.SPACING.lg},empty:{fontSize:13,paddingVertical:C.SPACING.md},personRow:{flexDirection:'row',alignItems:'center',gap:C.SPACING.md,paddingVertical:C.SPACING.sm,paddingHorizontal:C.SPACING.sm,borderRadius:C.RADIUS.md},avatar:{width:40,height:40,borderRadius:20},avatarEmpty:{alignItems:'center',justifyContent:'center'},personText:{flex:1},personName:{fontSize:15,fontWeight:'600'},personCount:{fontSize:11}})},3374,[15,17,133,245,20,112,262,252,147,240,33,466,786,813,3053,2587,2589,3375,10]);
|
|
15796
15796
|
__d(function(g,r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.toFaceInfo=c,e.toIdentity=o,e.sortIdentities=u,e.collectFaceIdsForIdentity=l,e.toMassUnassignResult=y,e.useTrackFace=function(o,u,l){const y=(0,t.c)(11),{controller:I,state:v}=(0,a.useConnection)();let p;y[0]!==o||y[1]!==u?(p=["v2",f,o,u],y[0]=o,y[1]=u,y[2]=p):p=y[2];const w=l&&"connected"===v;let C,h;y[3]!==I||y[4]!==o||y[5]!==u?(C=async()=>{const t=I.getSystem();if(!t)return null;return c(await(0,s.capQuery)(t.trpcClient,"faceGallery","getFaceByTrack",{deviceId:o,trackId:u}))},y[3]=I,y[4]=o,y[5]=u,y[6]=C):C=y[6];y[7]!==p||y[8]!==w||y[9]!==C?(h={queryKey:p,enabled:w,staleTime:3e4,queryFn:C},y[7]=p,y[8]=w,y[9]=C,y[10]=h):h=y[10];return(0,n.useQuery)(h)},e.useIdentities=function(c){const l=(0,t.c)(6),{controller:y,state:f}=(0,a.useConnection)();let v;l[0]===Symbol.for("react.memo_cache_sentinel")?(v=["v2",I],l[0]=v):v=l[0];const p=c&&"connected"===f;let w,C;l[1]!==y?(w=async()=>{const t=y.getSystem();if(!t)return[];const n=await(0,s.capQuery)(t.trpcClient,"faceGallery","listIdentities");if(!Array.isArray(n))return[];const a=[];for(const t of n){const n=o(t);null!==n&&a.push(n)}return u(a)},l[1]=y,l[2]=w):w=l[2];l[3]!==p||l[4]!==w?(C={queryKey:v,enabled:p,staleTime:3e4,queryFn:w},l[3]=p,l[4]=w,l[5]=C):C=l[5];return(0,n.useQuery)(C)},e.useAssignFace=function(){const s=(0,t.c)(7),{controller:c}=(0,a.useConnection)(),o=(0,n.useQueryClient)();let u,l,y;s[0]!==c?(u=async t=>{const{faceId:n,identityId:a}=t,s=c.getSystem();if(!s)throw new Error("not connected");await p(s.trpcClient,"faceGallery","assignFace",{faceId:n,identityId:a})},s[0]=c,s[1]=u):u=s[1];s[2]!==o?(l=async()=>{await o.invalidateQueries({queryKey:["v2",f]}),await o.invalidateQueries({queryKey:["v2",I]}),await o.invalidateQueries({queryKey:["v2",v]})},s[2]=o,s[3]=l):l=s[3];s[4]!==u||s[5]!==l?(y={mutationFn:u,onSuccess:l},s[4]=u,s[5]=l,s[6]=y):y=s[6];return(0,n.useMutation)(y)},e.useUnassignFace=function(){const s=(0,t.c)(7),{controller:c}=(0,a.useConnection)(),o=(0,n.useQueryClient)();let u,l,y;s[0]!==c?(u=async t=>{const{faceId:n}=t,a=c.getSystem();if(!a)throw new Error("not connected");await p(a.trpcClient,"faceGallery","unassignFace",{faceId:n})},s[0]=c,s[1]=u):u=s[1];s[2]!==o?(l=async()=>{await o.invalidateQueries({queryKey:["v2",f]}),await o.invalidateQueries({queryKey:["v2",I]}),await o.invalidateQueries({queryKey:["v2",v]})},s[2]=o,s[3]=l):l=s[3];s[4]!==u||s[5]!==l?(y={mutationFn:u,onSuccess:l},s[4]=u,s[5]=l,s[6]=y):y=s[6];return(0,n.useMutation)(y)},e.useUnassignAllForIdentity=function(){const c=(0,t.c)(7),{controller:o}=(0,a.useConnection)(),u=(0,n.useQueryClient)();let w,C,h;c[0]!==o?(w=async t=>{const{identityId:n}=t,a=o.getSystem();if(!a)throw new Error("not connected");const c=a.trpcClient,u=l(await(0,s.capQuery)(c,"faceGallery","listRecentFaces",{filter:"all"}),n);if(0===u.length)return{unassigned:0,failed:[]};return y(await p(a.trpcClient,"faceGallery","unassignFaces",{faceIds:u}))},c[0]=o,c[1]=w):w=c[1];c[2]!==u?(C=async()=>{await u.invalidateQueries({queryKey:["v2",f]}),await u.invalidateQueries({queryKey:["v2",I]}),await u.invalidateQueries({queryKey:["v2",v]})},c[2]=u,c[3]=C):C=c[3];c[4]!==w||c[5]!==C?(h={mutationFn:w,onSuccess:C},c[4]=w,c[5]=C,c[6]=h):h=c[6];return(0,n.useMutation)(h)},e.useCreateIdentity=function(){const s=(0,t.c)(7),{controller:c}=(0,a.useConnection)(),u=(0,n.useQueryClient)();let l,y,f;s[0]!==c?(l=async t=>{const{name:n}=t,a=c.getSystem();if(!a)throw new Error("not connected");const s=o(await p(a.trpcClient,"faceGallery","createIdentity",{name:n}));if(null===s)throw new Error("createIdentity failed");return s},s[0]=c,s[1]=l):l=s[1];s[2]!==u?(y=async()=>{await u.invalidateQueries({queryKey:["v2",I]})},s[2]=u,s[3]=y):y=s[3];s[4]!==l||s[5]!==y?(f={mutationFn:l,onSuccess:y},s[4]=l,s[5]=y,s[6]=f):f=s[6];return(0,n.useMutation)(f)};var t=r(d[0]),n=r(d[1]),a=r(d[2]),s=r(d[3]);function c(t){return(0,s.isRecord)(t)?'string'!=typeof t.faceId||0===t.faceId.length||'number'!=typeof t.deviceId||'string'!=typeof t.trackId||0===t.trackId.length?null:{faceId:t.faceId,deviceId:t.deviceId,trackId:t.trackId,timestamp:'number'==typeof t.timestamp?t.timestamp:0,assigned:!0===t.assigned,identityId:'string'==typeof t.recognizedIdentityId&&t.recognizedIdentityId.length>0?t.recognizedIdentityId:void 0,identityName:'string'==typeof t.identityName&&t.identityName.length>0?t.identityName:void 0,base64:'string'==typeof t.base64&&t.base64.length>0?t.base64:void 0}:null}function o(t){return(0,s.isRecord)(t)?'string'!=typeof t.id||0===t.id.length||'string'!=typeof t.name||0===t.name.length?null:{id:t.id,name:t.name,sampleCount:'number'==typeof t.sampleCount?t.sampleCount:0,coverBase64:'string'==typeof t.coverBase64&&t.coverBase64.length>0?t.coverBase64:void 0}:null}function u(t){return[...t].sort((t,n)=>t.name.toLowerCase().localeCompare(n.name.toLowerCase()))}function l(t,n){if(!Array.isArray(t)||0===n.length)return[];const a=[];for(const s of t){const t=c(s);null!==t&&t.identityId===n&&a.push(t.faceId)}return a}function y(t){if(!(0,s.isRecord)(t))return{unassigned:0,failed:[]};return{unassigned:'number'==typeof t.unassigned?t.unassigned:0,failed:Array.isArray(t.failed)?t.failed.filter(t=>'string'==typeof t):[]}}const f='track-face',I='face-identities',v='tracks-feed';async function p(t,n,a,c){const o=t[n],u=(0,s.isRecord)(o)||'function'==typeof o?o[a]:void 0,l=null!=u?u.mutate:void 0;if('function'!=typeof l)throw new Error(`${n}.${a} unavailable`);return await l(c)}},3375,[15,3081,2594,3162]);
|
|
15797
15797
|
__d(function(g,r,i,a,_m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TrackMetadataSheet",{enumerable:!0,get:function(){return j}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),b=r(d[8]),m=r(d[9]),y=r(d[10]),p=r(d[11]),k=r(d[12]),v=r(d[13]),h=r(d[14]);function S(e){return`${new Date(e).toLocaleString()} (${e})`}function x(e,t,o){return[{key:'trackId',label:o('v2.tracks.meta.trackId'),value:e.trackId},{key:'bestEventId',label:o('v2.tracks.meta.eventId'),value:e.bestEventId},{key:'deviceId',label:o('v2.tracks.meta.deviceId'),value:String(e.deviceId)},{key:'camera',label:o('v2.tracks.meta.camera'),value:e.cameraName},{key:'className',label:o('v2.tracks.meta.className'),value:e.className},...void 0!==e.label?[{key:'label',label:o('v2.tracks.meta.label'),value:e.label}]:[],{key:'firstSeen',label:o('v2.tracks.meta.firstSeen'),value:S(e.firstSeen),copyValue:String(e.firstSeen)},{key:'lastSeen',label:o('v2.tracks.meta.lastSeen'),value:S(e.lastSeen),copyValue:String(e.lastSeen)},{key:'state',label:o('v2.tracks.meta.state'),value:e.state},...'number'==typeof e.importance?[{key:'importance',label:o('v2.tracks.meta.importance'),value:`${Math.round(100*e.importance)}%`,copyValue:String(e.importance)}]:[],...void 0!==e.importanceReason?[{key:'reason',label:o('v2.tracks.reason'),value:e.importanceReason}]:[],...'number'==typeof t?[{key:'confidence',label:o('v2.tracks.meta.confidence'),value:`${Math.round(100*t)}%`,copyValue:String(t)}]:[],...e.zonesVisited.length>0?[{key:'zones',label:o('v2.tracks.zones'),value:e.zonesVisited.join(', ')}]:[],...e.audioLabels.length>0?[{key:'audio',label:o('v2.tracks.audio'),value:e.audioLabels.join(', ')}]:[]]}const j=(0,o.memo)(function(e){const o=(0,t.c)(47),{track:f,confidence:v,mediaKeys:S,onClose:j}=e,{colors:I}=(0,p.useTheme)(),{t:R}=(0,m.useTranslation)(),A=(0,b.useSafeAreaInsets)(),P=null!==f;let V,z,N,M,B,L,G,D,E;o[0]!==j?(V=(0,h.jsx)(c.default,{style:C.scrim,onPress:j,accessibilityRole:"button"}),o[0]=j,o[1]=V):V=o[1],o[2]!==I.backgroundElevated?(z=[C.sheet,{backgroundColor:I.backgroundElevated}],o[2]=I.backgroundElevated,o[3]=z):z=o[3],o[4]!==I.foreground?(N=[C.title,{color:I.foreground}],o[4]=I.foreground,o[5]=N):N=o[5],o[6]!==R?(M=R("v2.tracks.metadata"),o[6]=R,o[7]=M):M=o[7],o[8]!==N||o[9]!==M?(B=(0,h.jsx)(s.default,{style:N,children:M}),o[8]=N,o[9]=M,o[10]=B):B=o[10],o[11]!==I.surface?(L=[C.iconBtn,{backgroundColor:I.surface}],o[11]=I.surface,o[12]=L):L=o[12],o[13]!==I.foreground?(G=(0,h.jsx)(y.X,{size:18,color:I.foreground}),o[13]=I.foreground,o[14]=G):G=o[14],o[15]!==j||o[16]!==L||o[17]!==G?(D=(0,h.jsx)(c.default,{onPress:j,hitSlop:10,style:L,children:G}),o[15]=j,o[16]=L,o[17]=G,o[18]=D):D=o[18],o[19]!==B||o[20]!==D?(E=(0,h.jsxs)(n.default,{style:C.header,children:[B,D]}),o[19]=B,o[20]=D,o[21]=E):E=o[21];const _=A.bottom+k.SPACING.md;let W,U,$,H,K,O,q;return o[22]!==_?(W={paddingBottom:_},o[22]=_,o[23]=W):W=o[23],o[24]!==v||o[25]!==R||o[26]!==f?(U=null!==f?x(f,v,R).map(T):null,o[24]=v,o[25]=R,o[26]=f,o[27]=U):U=o[27],o[28]!==I.foregroundSubtle||o[29]!==S||o[30]!==R?($=S.length>0?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.default,{style:[C.sectionLabel,{color:I.foregroundSubtle}],children:R("v2.tracks.meta.mediaKeys")}),S.map(w)]}):null,o[28]=I.foregroundSubtle,o[29]=S,o[30]=R,o[31]=$):$=o[31],o[32]!==W||o[33]!==U||o[34]!==$?(H=(0,h.jsxs)(u.default,{contentContainerStyle:W,children:[U,$]}),o[32]=W,o[33]=U,o[34]=$,o[35]=H):H=o[35],o[36]!==E||o[37]!==H||o[38]!==z?(K=(0,h.jsxs)(n.default,{style:z,children:[E,H]}),o[36]=E,o[37]=H,o[38]=z,o[39]=K):K=o[39],o[40]!==K||o[41]!==V?(O=(0,h.jsxs)(n.default,{style:C.backdrop,children:[V,K]}),o[40]=K,o[41]=V,o[42]=O):O=o[42],o[43]!==j||o[44]!==P||o[45]!==O?(q=(0,h.jsx)(l.default,{visible:P,animationType:"slide",transparent:!0,onRequestClose:j,children:O}),o[43]=j,o[44]=P,o[45]=O,o[46]=q):q=o[46],q}),I=(0,o.memo)(function(e){const l=(0,t.c)(40),{label:u,value:f,copyValue:b}=e,{colors:k}=(0,p.useTheme)(),{t:S}=(0,m.useTranslation)(),[x,j]=(0,o.useState)(!1);let I,T,w;l[0]!==x?(I=()=>{if(!x)return;const e=setTimeout(()=>j(!1),1500);return()=>clearTimeout(e)},T=[x],l[0]=x,l[1]=I,l[2]=T):(I=l[1],T=l[2]),(0,o.useEffect)(I,T),l[3]!==b?(w=async()=>{await(0,v.copyText)(b)&&j(!0)},l[3]=b,l[4]=w):w=l[4];const R=w;let A,P,V,z,N,M,B,L,G,D,E,_;return l[5]!==k.borderSubtle?(A=[C.row,{borderBottomColor:k.borderSubtle}],l[5]=k.borderSubtle,l[6]=A):A=l[6],l[7]!==k.foregroundMuted?(P=[C.rowLabel,{color:k.foregroundMuted}],l[7]=k.foregroundMuted,l[8]=P):P=l[8],l[9]!==u||l[10]!==P?(V=(0,h.jsx)(s.default,{style:P,children:u}),l[9]=u,l[10]=P,l[11]=V):V=l[11],l[12]!==k.foreground?(z=[C.rowValue,{color:k.foreground}],l[12]=k.foreground,l[13]=z):z=l[13],l[14]!==z||l[15]!==f?(N=(0,h.jsx)(s.default,{selectable:!0,style:z,children:f}),l[14]=z,l[15]=f,l[16]=N):N=l[16],l[17]!==V||l[18]!==N?(M=(0,h.jsxs)(n.default,{style:C.rowText,children:[V,N]}),l[17]=V,l[18]=N,l[19]=M):M=l[19],l[20]!==R?(B=()=>{R()},l[20]=R,l[21]=B):B=l[21],l[22]!==x||l[23]!==S?(L=S(x?"v2.tracks.copied":"v2.tracks.copy"),l[22]=x,l[23]=S,l[24]=L):L=l[24],l[25]!==k.surface?(G=[C.copyBtn,{backgroundColor:k.surface}],l[25]=k.surface,l[26]=G):G=l[26],l[27]!==k.foregroundMuted||l[28]!==k.success||l[29]!==x?(D=x?(0,h.jsx)(y.Check,{size:14,color:k.success}):(0,h.jsx)(y.Copy,{size:14,color:k.foregroundMuted}),l[27]=k.foregroundMuted,l[28]=k.success,l[29]=x,l[30]=D):D=l[30],l[31]!==B||l[32]!==L||l[33]!==G||l[34]!==D?(E=(0,h.jsx)(c.default,{onPress:B,hitSlop:8,accessibilityRole:"button",accessibilityLabel:L,style:G,children:D}),l[31]=B,l[32]=L,l[33]=G,l[34]=D,l[35]=E):E=l[35],l[36]!==E||l[37]!==A||l[38]!==M?(_=(0,h.jsxs)(n.default,{style:A,children:[M,E]}),l[36]=E,l[37]=A,l[38]=M,l[39]=_):_=l[39],_}),C=f.default.create({backdrop:{flex:1,justifyContent:'flex-end'},scrim:{position:'absolute',top:0,left:0,right:0,bottom:0,backgroundColor:'rgba(0,0,0,0.5)'},sheet:{maxHeight:'80%',borderTopLeftRadius:k.RADIUS.xl,borderTopRightRadius:k.RADIUS.xl,paddingHorizontal:k.SPACING.md,paddingTop:k.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingBottom:k.SPACING.sm},title:{fontSize:18,fontWeight:'700'},iconBtn:{width:32,height:32,borderRadius:k.RADIUS.md,alignItems:'center',justifyContent:'center'},sectionLabel:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.4,marginTop:k.SPACING.md,marginBottom:k.SPACING.xs},row:{flexDirection:'row',alignItems:'center',gap:k.SPACING.sm,paddingVertical:k.SPACING.sm,borderBottomWidth:f.default.hairlineWidth},rowText:{flex:1},rowLabel:{fontSize:11,fontWeight:'600',textTransform:'uppercase',letterSpacing:.3},rowValue:{fontSize:13,marginTop:1},copyBtn:{width:30,height:30,borderRadius:k.RADIUS.md,alignItems:'center',justifyContent:'center'}});function T(e){return(0,h.jsx)(I,{label:e.label,value:e.value,copyValue:e.copyValue??e.value},e.key)}function w(e){return(0,h.jsx)(I,{label:e.kind,value:e.key,copyValue:e.key},e.key)}},3376,[15,17,245,20,112,252,147,33,466,786,813,2587,2589,3377,10]);
|
|
15798
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.copyText=async function(t){if(null==t)return!1;const n='string'==typeof t?t:String(t);try{{const t='undefined'!=typeof navigator?navigator.clipboard:void 0;return!!t?.writeText&&(await t.writeText(n),!0)}}catch{return!1}},r(d[0])},3377,{"0":136,"1":
|
|
15798
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.copyText=async function(t){if(null==t)return!1;const n='string'==typeof t?t:String(t);try{{const t='undefined'!=typeof navigator?navigator.clipboard:void 0;return!!t?.writeText&&(await t.writeText(n),!0)}}catch{return!1}},r(d[0])},3377,{"0":136,"1":3602,"2":3378,"paths":{"3602":"/viewer/camstack/_expo/static/js/web/Clipboard-8c2e39d6e1b6f27aa4883a842ef017f8.js"}});
|
|
15799
15799
|
__d(function(g,r,i,a,m,e,d){m.exports=r(d[0])},3378,[3379]);
|
|
15800
15800
|
__d(function(g,r,i,a,m,e,d){function n(n,t){const o=globalThis[`${__METRO_GLOBAL_PREFIX__??''}__loadBundleAsync`];if(null!=o){const s=String(n);if(null!=t){const n=t[s];if(null!=n)return o(n)}}}function t(t,o,s){const u=()=>r.importAll(t,s);try{return u()}catch(s){const c=n(t,o);if(null!=c)return c.then(u);throw s}const c=n(t,o);return null!=c?c.then(u):u()}function o(n,o,s){const u=t(n,o,s);return u instanceof Promise?{_result:u,then:(n,t)=>u.then(n,t)}:{_result:u,then:(n,t)=>Promise.resolve(u).then(n,t)}}o.unstable_importMaybeSync=function(n,o){return t(n,o)},o.prefetch=function(t,o,s){n(t,o)?.then(()=>{},()=>{})},o.unstable_resolve=function(n,t){if(!t)throw new Error('Bundle splitting is required for Web Worker imports');const o=t[n];if(!o)throw new Error('Worker import is missing from split bundle paths: '+o);return o},o.unstable_createWorker=function(n,t){if('undefined'==typeof crossOriginIsolated||!crossOriginIsolated)return new Worker(n,t);try{const s=(o=n,`\n const ASYNC_WORKER_BASE = ${JSON.stringify(o)};\n const IMPORT_SCRIPTS = importScripts;\n const FETCH = fetch;\n const fromBaseURL = (input) => new URL(input, ASYNC_WORKER_BASE).href;\n self.fetch = function(input, init) {\n return FETCH(typeof input === 'string' ? fromBaseURL(input) : input, init);\n };\n self.importScripts = function(...urls) {\n return IMPORT_SCRIPTS.apply(self, urls.map(fromBaseURL));\n };\n importScripts(ASYNC_WORKER_BASE);\n `);return n=URL.createObjectURL(new Blob([s],{type:'text/javascript'})),new Worker(n,t)}finally{URL.revokeObjectURL(n)}var o},m.exports=o},3379,[]);
|
|
15801
15801
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useTrackDetailMedia=function(u,k,y){const v=(0,t.c)(26),{controller:f,state:p}=(0,l.useConnection)(),b=k??"none",M=y??"none";let _;v[0]!==u||v[1]!==b||v[2]!==M?(_=["v2","analytics","track-detail-media",u,b,M],v[0]=u,v[1]=b,v[2]=M,v[3]=_):_=v[3];const F="connected"===p&&null!==k;let T,h;v[4]!==k||v[5]!==f||v[6]!==y?(T=async()=>{const t=f.getSystem();if(!t||null===k)return{event:[],track:[]};const n=t.trpcClient,[l,o]=await Promise.all([(0,c.capQuery)(n,"pipelineAnalytics","getEventMedia",{eventId:k}),null!==y?(0,c.capQuery)(n,"pipelineAnalytics","getTrackMedia",{trackId:y}):Promise.resolve(null)]);return{event:(0,s.parseMediaFiles)(l),track:(0,s.parseMediaFiles)(o)}},v[4]=k,v[5]=f,v[6]=y,v[7]=T):T=v[7];v[8]!==_||v[9]!==F||v[10]!==T?(h={queryKey:_,enabled:F,staleTime:6e4,queryFn:T},v[8]=_,v[9]=F,v[10]=T,v[11]=h):h=v[11];const S=(0,n.useQuery)(h);let I;e:{if(!S.data){I=o;break e}let t;v[12]!==S.data.event||v[13]!==S.data.track?(t=(0,s.resolveTrackDetailImages)(S.data.event,S.data.track),v[12]=S.data.event,v[13]=S.data.track,v[14]=t):t=v[14],I=t}const L=I;let P;e:{if(!S.data){let t;v[15]===Symbol.for("react.memo_cache_sentinel")?(t=[],v[15]=t):t=v[15],P=t;break e}let t;if(v[16]!==S.data.event||v[17]!==S.data.track){const n=new Set;t=[];for(const l of[...S.data.event,...S.data.track])n.has(l.key)||(n.add(l.key),t.push({key:l.key,kind:l.kind}));v[16]=S.data.event,v[17]=S.data.track,v[18]=t}else t=v[18];P=t}const Q=P;let U;v[19]!==S.data?(U=S.data?(0,s.buildTrackGallery)(S.data.event,S.data.track):[],v[19]=S.data,v[20]=U):U=v[20];const j=U;let q;v[21]!==j||v[22]!==L||v[23]!==Q||v[24]!==S.isLoading?(q=Object.assign({},L,{loading:S.isLoading,mediaKeys:Q,gallery:j}),v[21]=j,v[22]=L,v[23]=Q,v[24]=S.isLoading,v[25]=q):q=v[25];return q};var t=r(d[0]);r(d[1]);var n=r(d[2]),l=r(d[3]),c=r(d[4]),s=r(d[5]);const o={cropUri:null,fullFrameUri:null,fullFrameBoxedUri:null,hasServerBoxed:!1}},3380,[15,17,3081,2594,3162,3237]);
|
|
@@ -15846,7 +15846,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";var A,I;Object.defineProperty(e,'__esMo
|
|
|
15846
15846
|
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.clearAppCache=async function(e){try{e.clear()}catch(e){console.error('[clear-cache] react-query clear failed',e)}try{await l.Image.clearMemoryCache(),await l.Image.clearDiskCache()}catch(e){console.error('[clear-cache] image cache clear failed',e)}try{const e=(await t.default.getAllKeys()).filter(e=>o.some(c=>e.startsWith(c)));e.length>0&&await t.default.multiRemove(e)}catch(e){console.error('[clear-cache] AsyncStorage cache clear failed',e)}};var e,c=r(d[0]),t=(e=c)&&e.__esModule?e:{default:e},l=r(d[1]);const o=['@camstack/v2/cache/','@camstack/v2/snapshot/']},3425,[3133,3053]);
|
|
15847
15847
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var n=r(d[0]);r(d[1]);var t=r(d[2]),o=r(d[3]),c=r(d[4]),s=r(d[5]);function l(){const l=(0,n.c)(13),{server:u,token:f,initialCandidates:v,onEndpointsDiscovered:h,clearToken:_,persistToken:k}=(0,o.useServer)(),p=u?.serverUrl;let b;l[0]!==v||l[1]!==h||l[2]!==p||l[3]!==f?(b=p?{serverUrl:p,token:f??void 0,candidates:v.length>0?[...v]:[p],onEndpointsDiscovered:h}:null,l[0]=v,l[1]=h,l[2]=p,l[3]=f,l[4]=b):b=l[4];const j=b;if(!u||!f||!j){let n;return l[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(t.Redirect,{href:"/"}),l[5]=n):n=l[5],n}let S,y,x;return l[6]!==_?(S=()=>{_()},l[6]=_,l[7]=S):S=l[7],l[8]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(t.Stack,{screenOptions:{headerShown:!1}}),l[8]=y):y=l[8],l[9]!==j||l[10]!==k||l[11]!==S?(x=(0,s.jsx)(c.ConnectionProvider,{config:j,onUnauthorized:S,onTokenRefreshed:k,children:y}),l[9]=j,l[10]=k,l[11]=S,l[12]=x):x=l[12],x}},3426,[15,17,743,3144,2594,10]);
|
|
15848
15848
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(5),{id:o,at:s}=(0,n.useLocalSearchParams)(),b=Number(o),f=void 0!==s?Number(s):Number.NaN;if(!Number.isFinite(b))return null;let N,v;return l[0]!==f?(N=Number.isFinite(f)&&f>0?f:void 0,l[0]=f,l[1]=N):N=l[1],l[2]!==b||l[3]!==N?(v=(0,c.jsx)(u.CameraDetailScreen,{deviceId:b,initialSeekMs:N},b),l[2]=b,l[3]=N,l[4]=v):v=l[4],v}},3427,[15,743,3428,10]);
|
|
15849
|
-
__d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraDetailScreen=function({deviceId:e,initialSeekMs:t}){const{t:o}=(0,h.useTranslation)(),T=(0,_.useRouter)(),{colors:X,mode:We}=(0,O.useTheme)(),Be=(0,m.useSafeAreaInsets)(),{width:Ae,height:Pe}=(0,d.default)(),{controller:Le}=(0,ae.useConnection)(),{name:Re,features:Me,online:ze,disabled:Fe}=ke(e),{settings:Ge,hydrated:Je}=(0,oe.useSettings)(),Ve=Me.includes(ee.FEATURE.ptz),Ke=Me.includes(ee.FEATURE.twoWayAudio),qe=Me.includes(ee.FEATURE.doorbell),Ye=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.quality),Ne=(0,ge.useCameraPrefsStore)(e=>e.setCameraQuality),[Ze,$e]=(0,n.useState)(Ye??'auto'),Qe=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Ye&&!Qe.current&&(Qe.current=!0,$e(Ye))},[Ye]);const Ue=(0,n.useMemo)(()=>(0,fe.qualityToTarget)(Ze),[Ze]),Xe=(0,n.useCallback)(t=>{$e(t),Ne(e,t)},[e,Ne]),[et,tt]=(0,n.useState)(null),at=(0,n.useCallback)(e=>tt(t=>t===e?null:e),[]),ot=(0,n.useCallback)(()=>tt(null),[]),nt='quality'===et,it=(0,n.useCallback)(()=>at('quality'),[at]),lt=ot,st=(0,ne.useMotionHighlight)(e,!0);(0,ce.useEventHaptics)([e],!0);const rt=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.highlight),ut=(0,n.useMemo)(()=>(0,me.withHighlightDefaults)(rt),[rt]),ct=(0,ge.useCameraPrefsStore)(e=>e.setCameraHighlight),dt=(0,ge.useCameraPrefsStore)(e=>e.hydrate);(0,n.useEffect)(()=>{dt()},[dt]);const ht=(0,ue.useDetections)(e,ut.detection&&!0),gt=ut.detection&&ht.boxes.some(e=>0===ut.detectionClasses.length||ut.detectionClasses.includes(e.label)),_t=(0,he.useHeld)(gt,1e3*ut.detectionHoldSec),mt=(0,de.useAudioActive)(e,ut.audio,ut.audioDb),ft=(0,he.useHeld)('off'!==ut.audio&&mt,1e3*ut.audioHoldSec),pt=_t?'detection':ft?'audio':ut.motion&&st?'motion':null,vt=(0,n.useMemo)(()=>Object.assign({enabled:!0},ut,{appearance:Ge.highlight,motionHoldSec:Ge.grid.motionHoldSec}),[ut,Ge.highlight,Ge.grid.motionHoldSec]),[St,Ct]=(0,n.useState)(!1),bt=(0,n.useCallback)(()=>Ct(e=>!e),[]),[xt,kt]=(0,n.useState)(1),[Et,Ot]=(0,n.useState)(!1),Tt=(0,n.useRef)(null),[Ht,yt]=(0,n.useState)(0),wt=(0,n.useMemo)(()=>({scrubStart:()=>Tt.current?.scrubStart(),scrubTo:e=>Tt.current?.scrubTo(e),scrubCommit:e=>Tt.current?.scrubCommit(e),seek:e=>Tt.current?.seek(e),goLive:()=>{Tt.current?.goLive(),yt(e=>e+1),Ot(!1),kt(1)}}),[]),jt=(0,k.usePlaybackMachine)(wt),Dt='live'!==jt.state.mode,It=(0,n.useCallback)(()=>{Ot(e=>(Tt.current?.setRate(e?xt:0),!e))},[xt]),Wt=(0,n.useCallback)(e=>{kt(e),Et||Tt.current?.setRate(e)},[Et]),Bt=(0,n.useCallback)(e=>{Et||(Tt.current?.setRate(0),Ot(!0)),Tt.current?.stepFrame(e)},[Et]),At=(0,n.useRef)(t??null),Pt=(0,n.useCallback)(e=>{jt.reportEmbedState(e);const t=At.current;null!==t&&(At.current=null,jt.seek(t,'cluster'))},[jt]),[Lt,Rt]=(0,n.useState)(!0),Mt=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Je&&!Mt.current&&(Mt.current=!0,Rt(!Ge.stream.audioOnOpen))},[Je,Ge.stream.audioOnOpen]);const zt='ptz'===et,Ft='devices'===et,Gt='export'===et,Jt='switcher'===et,Vt='menu'===et,[Kt,qt]=(0,n.useState)(!1),[Yt,Nt]=(0,n.useState)(()=>Date.now()),[Zt,$t]=(0,n.useState)(!1),[Qt,Ut]=(0,n.useState)(!1),[Xt,ea]=(0,n.useState)(!1),[ta,aa]=(0,n.useState)(!1),[oa,na]=(0,n.useState)(!1),[ia,la]=(0,n.useState)(!1),[sa,ra]=(0,n.useState)(!1),[ua,ca]=(0,n.useState)(!0),[da,ha]=(0,n.useState)(null),[ga,_a]=(0,n.useState)(!1),[ma,fa]=(0,n.useState)(e);ma!==e&&(fa(e),ha(null),_a(!1));const pa=(0,n.useCallback)(()=>_a(!0),[]),va=(0,n.useCallback)(()=>ha(null),[]),Sa=(0,n.useCallback)(e=>{ha(e),_a(!1)},[]),Ca=(0,n.useCallback)(()=>_a(!1),[]),ba=(0,n.useCallback)(()=>Rt(e=>!e),[]),xa=(0,n.useCallback)(()=>at('ptz'),[at]),ka=(0,n.useCallback)(()=>at('devices'),[at]),Ea=(0,n.useCallback)(()=>at('switcher'),[at]),Oa=(0,n.useCallback)(t=>{ot(),t!==e&&T.replace(`/camera/${t}`)},[T,e,ot]),Ta=(0,n.useCallback)(e=>{ot(),T.push(`/grid/adhoc?devices=${(0,N.serializeAdhocDeviceIds)(e)}`)},[T,ot]),Ha=(0,n.useCallback)(()=>$t(e=>!e),[]),ya=(0,n.useCallback)(()=>at('menu'),[at]),wa=ot,ja=(0,n.useCallback)(()=>aa(e=>!e),[]),Da=(0,n.useCallback)(()=>na(e=>!e),[]),Ia=(0,n.useCallback)(()=>at('export'),[at]),Wa=ot,Ba=(0,n.useCallback)(()=>{ot(),Nt((0,k.selectActiveEpoch)(jt.state)??Date.now()),qt(!0)},[jt.state,ot]),Aa=(0,n.useCallback)(()=>qt(!1),[]),Pa=(0,n.useCallback)(()=>{qt(!1),T.push('/exports')},[T]),La=(0,n.useCallback)(()=>ca(e=>!e),[]),Ra=(0,n.useCallback)(()=>ca(!1),[]),Ma=(0,n.useCallback)(()=>Tt.current?.startPip(),[]),za=(0,n.useCallback)(()=>Tt.current?.getStats()??Promise.resolve(null),[]),{talking:Fa,error:Ga,toggle:Ja}=(0,w.useIntercom)(e);(0,n.useEffect)(()=>{Ga&&u.default.alert(o('v2.cameraDetail.talk'),o('v2.cameraDetail.talkFailed'))},[Ga,o]);const Va=(0,$.useWideDetailLayout)(),Ka=Ae>Pe,qa=ia||Ka&&!Va,[Ya,Na]=(0,n.useState)(null),Za=(0,n.useCallback)(e=>{Na(e.nativeEvent.layout.width)},[]),$a=(0,n.useMemo)(()=>(0,U.computeWideDetailSizes)({containerWidth:Ya??Ae,viewportHeight:Pe}),[Ya,Ae,Pe]),Qa=(0,n.useMemo)(()=>9*Ae/16,[Ae]),Ua=(0,n.useMemo)(()=>Pe*ve,[Pe]),Xa=(0,y.useStreamZoom)(),eo=Xa.resetZoom;(0,n.useEffect)(()=>{eo()},[qa,eo]);const to=(0,n.useCallback)(()=>T.back(),[T]),ao=(0,n.useMemo)(()=>{const e=p.Gesture.Tap().numberOfTaps(1).onEnd((function({_worklet_6602635544675_init_data:e,runOnJS:t,onToggleControls:o}){const n=function(){t(o)()};return n.__closure={runOnJS:t,onToggleControls:o},n.__workletHash=6602635544675,n.__initData=e,n})({_worklet_6602635544675_init_data:Ee,runOnJS:v.runOnJS,onToggleControls:La})),t=p.Gesture.Tap().numberOfTaps(2).onEnd((function({_worklet_2914560570860_init_data:e,runOnJS:t,zoom:o}){const n=function(){t(o.resetZoom)()};return n.__closure={runOnJS:t,zoom:o},n.__workletHash=2914560570860,n.__initData=e,n})({_worklet_2914560570860_init_data:Oe,runOnJS:v.runOnJS,zoom:Xa})),o=p.Gesture.Exclusive(t,e),n=p.Gesture.Pan().minPointers(2).onEnd((function({_worklet_928138019551_init_data:e,BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l}){const s=function(e){e.translationY>t&&e.velocityY>o&&n(l)()};return s.__closure={BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l},s.__workletHash=928138019551,s.__initData=e,s})({_worklet_928138019551_init_data:Te,BACK_SWIPE_DISTANCE:Ce,BACK_SWIPE_VELOCITY:be,runOnJS:v.runOnJS,onSwipeBack:to}));return p.Gesture.Simultaneous(Xa.composeWith(n),o)},[Xa,La,to]),oo=Ge.stream.pinchExpandsHeight,no=(0,v.useDerivedValue)((function({_worklet_4062045311480_init_data:e,pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c}){const d=function(){return t?n(l.scale.value,[1,s],[o,u],c.CLAMP):o};return d.__closure={pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c},d.__workletHash=4062045311480,d.__initData=e,d})({_worklet_4062045311480_init_data:He,pinchExpandsHeight:oo,defaultHeight:Qa,interpolate:v.interpolate,zoom:Xa,HEIGHT_GROW_SCALE:Se,maxHeight:Ua,Extrapolation:v.Extrapolation}),[Qa,Ua,oo]),io=(0,v.useAnimatedStyle)((function({_worklet_8575313032359_init_data:e,liveBoxHeight:t}){const o=()=>({height:t.value});return o.__closure={liveBoxHeight:t},o.__workletHash=8575313032359,o.__initData=e,o})({_worklet_8575313032359_init_data:ye,liveBoxHeight:no})),lo=(0,v.useAnimatedStyle)((function({_worklet_15146728279256_init_data:e,liveBoxHeight:t,winWidth:o}){const n=function(){const e=t.value,n=Math.max(o,16*e/9);return{position:'absolute',top:0,left:(o-n)/2,width:n,height:e}};return n.__closure={liveBoxHeight:t,winWidth:o},n.__workletHash=0xdc69f5bccd8,n.__initData=e,n})({_worklet_15146728279256_init_data:we,liveBoxHeight:no,winWidth:Ae}),[Ae]),so=(0,v.useDerivedValue)((function({_worklet_12291157125883_init_data:e,isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l}){const s=()=>t?o.top+n:o.top+l.value+n;return s.__closure={isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l},s.__workletHash=0xb2dc20deafb,s.__initData=e,s})({_worklet_12291157125883_init_data:je,isWideDetail:Va,insets:Be,TOOLBAR_HEIGHT:xe,liveBoxHeight:no}),[Be.top,Va]),{ref:ro,isFullscreen:uo,toggle:co}=(0,x.useWebFullscreen)(),ho=(0,n.useCallback)(()=>{co()},[co]);(0,n.useEffect)(()=>{la(uo)},[uo]),(0,n.useEffect)(()=>{},[ia]);const go=(0,n.useCallback)(async()=>{const t=Le.getSystem();if(t){ra(!0);try{const n=await t.trpcClient.snapshot.getSnapshot.query({deviceId:e,force:!0});if(!n?.base64)return void u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'));const l=n.contentType.includes('png')?'png':'jpg',s=`${C.cacheDirectory}snapshot-${e}-${Date.now()}.${l}`;await C.writeAsStringAsync(s,n.base64,{encoding:C.EncodingType.Base64}),await b.isAvailableAsync()&&await b.shareAsync(s,{mimeType:n.contentType})}catch{u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'))}finally{ra(!1)}}},[Le,e,o]),_o=(0,n.useCallback)(()=>{ot(),go()},[go,ot]),mo=(0,k.selectPlaybackStatus)(jt.state),fo=mo.isLive&&!St,po=((0,n.useMemo)(()=>fo?vt:Object.assign({},vt,{enabled:!1,motion:!1,detection:!1,audio:'off'}),[vt,fo]),(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,-1);null!=e&&jt.seek(e,'timeline')},[jt])),vo=(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,1);null!=e&&jt.seek(e,'timeline')},[jt]),So=(0,pe.jsx)(S.default.View,{style:qa?Ie.videoWrapFull:Va?[Ie.videoWrap,{width:$a.streamWidth,height:$a.streamHeight}]:oo?[Ie.videoWrap,io]:[Ie.videoWrap,{height:Qa}],children:(0,pe.jsxs)(l.default,{style:Ie.videoContent,children:[(0,pe.jsxs)(S.default.View,{style:qa||Va?[c.default.absoluteFill,Xa.videoStyle]:[lo,Xa.videoStyle],children:[St&&!Dt?(0,pe.jsx)(De,{deviceId:e}):(0,pe.jsx)(H.LiveView,{ref:Tt,deviceId:e,muted:Lt,target:Ue,showStats:ta&&!1,highlight:void 0,onPlaybackState:Pt,onPosition:jt.reportPosition},Ht),Zt&&fo?(0,pe.jsx)(V.MotionBoxesOverlay,{deviceId:e,enabled:Zt}):null,oa&&fo?(0,pe.jsx)(K.AudioLevelMeter,{deviceId:e,enabled:oa}):null]}),(0,pe.jsx)(p.GestureDetector,{gesture:ao,children:(0,pe.jsx)(S.default.View,{style:c.default.absoluteFill,onLayout:Xa.onLayout})}),null===da||ga?null:(0,pe.jsx)(Y.ZoneActiveOverlay,{zone:da}),'seeking'===jt.state.mode?(0,pe.jsx)(W.ScrubPlayerPreview,{deviceId:e,atMs:(0,k.selectActiveEpoch)(jt.state)}):null,'gap'===jt.state.mode?(0,pe.jsxs)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,Ie.noRecOverlay],children:[(0,pe.jsx)(te.VideoOff,{size:28,color:"#9aa0a6"}),(0,pe.jsx)(s.default,{style:Ie.noRecTitle,children:o('v2.theater.noRecording')}),(0,pe.jsx)(s.default,{style:Ie.noRecHint,children:o('v2.theater.noRecordingHint')})]}):null,pt&&fo?(0,pe.jsx)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,{borderWidth:Ge.highlight.thickness,borderColor:'motion'===pt?Ge.highlight.motionColor:'audio'===pt?Ge.highlight.audioColor:Ge.highlight.detectionColor}]}):null,ua?(0,pe.jsxs)(l.default,{style:Ie.nameTag,pointerEvents:"none",children:[(0,pe.jsx)(le.CameraStatusDot,{deviceId:e,online:ze,disabled:Fe,size:9}),(0,pe.jsx)(s.default,{style:Ie.nameText,numberOfLines:1,children:Re})]}):null,st&&fo?(0,pe.jsx)(ie.MotionBadge,{}):null,(0,pe.jsx)(re.DoorbellBadge,{deviceId:e,enabled:qe}),(0,pe.jsx)(se.OccupancyBadge,{deviceId:e,enabled:mo.isLive&&!St}),ua&&!mo.isLive?(0,pe.jsx)(l.default,{style:Ie.jogRow,children:(0,pe.jsx)(D.RecordedTransportBar,{rate:xt,paused:Et,onJogBack:po,onJogForward:vo,onStepFrame:Bt,onSelectRate:Wt})}):null,ta?(0,pe.jsx)(J.StreamStatsOverlay,{getStats:za}):null,(0,pe.jsx)(j.StreamOverlayControls,{visible:ua,onRequestHide:Ra,paused:Dt?Et:St,onTogglePause:Dt?It:bt,muted:Lt,onToggleMute:ba,hasTwoWayAudio:Ke,talking:Fa,onToggleTalk:Ja,onStartPip:Ma,fullscreen:ia,onToggleFullscreen:ho}),ga?(0,pe.jsx)(q.ZoneDrawOverlay,{zone:da,onConfirm:Sa,onCancel:Ca}):null]})}),Co=Va?'right':void 0,bo=Va?$a.railWidth:void 0,xo=(0,pe.jsx)(Z.TheaterTimeline,{deviceId:e,hideBack:Va,name:Re,onBack:()=>T.back(),hasPtz:Ve,ptzOpen:zt,onTogglePtz:xa,devicesOpen:Ft,onToggleDevices:ka,menuOpen:Vt,onToggleMenu:ya,exportMenuOpen:Gt,onToggleExportMenu:Ia,snapshotBusy:sa,quality:Ze,qualityOpen:nt,onToggleQuality:it,mode:jt.state.mode,activeEpoch:(0,k.selectActiveEpoch)(jt.state),onSeek:jt.seek,onScrubBegin:jt.beginScrub,onScrubMove:jt.moveScrub,onScrubCommit:jt.commitScrub,onGoLive:jt.goLive,zoneRect:da,onRequestZoneDraw:pa,onClearZone:va,onPickCamera:Ea});return(0,pe.jsxs)(l.default,{ref:ro,onLayout:Za,style:{flex:1,backgroundColor:X.background,paddingTop:qa?0:Be.top},children:[(0,pe.jsx)(f.StatusBar,{hidden:qa,style:qa||'dark'===We?'light':'dark'}),qa?So:Va?(0,pe.jsx)(Q.WideDetailLayout,{railWidth:$a.railWidth,stream:So,timeline:xo}):(0,pe.jsxs)(pe.Fragment,{children:[So,xo]}),zt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.ptz.title'),onClose:xa,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(B.PtzControls,{deviceId:e,hasFeature:Ve})}):null,Ft?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraDetail.devices'),onClose:ka,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(P.DevicesPanel,{deviceId:e})}):null,Jt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraSwitcher.title'),onClose:Ea,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(L.CameraSwitcherPanel,{currentId:e,onSwitch:Oa,onOpenGrid:Ta})}):null,Vt?(0,pe.jsx)(R.CameraMenuPanel,{boundingBoxesOn:Zt,onToggleBoundingBoxes:Ha,statsOn:ta,onToggleStats:ja,audioMeterOn:oa,onToggleAudioMeter:Da,highlight:ut,onSetHighlight:t=>ct(e,Object.assign({},ut,t)),onOpenStorage:()=>{ot(),Ut(!0)},onOpenEvents:()=>{ot(),ea(!0)},onClose:wa,topOffset:so,align:Co,maxWidth:bo}):null,nt?(0,pe.jsx)(I.QualityPicker,{value:Ze,onChange:Xe,onClose:lt,topOffset:so,align:Co,maxWidth:bo}):null,Gt?(0,pe.jsx)(z.ExportActionsPanel,{onSnapshot:_o,snapshotBusy:sa,onOpenExport:Ba,onClose:Wa,topOffset:so,align:Co,maxWidth:bo}):null,(0,pe.jsx)(M.ExportModal,{visible:Kt,deviceId:e,anchorEpoch:Yt,onClose:Aa,onCreated:Pa}),(0,pe.jsx)(F.StorageManagementModal,{visible:Qt,deviceId:e,cameraName:Re,onClose:()=>Ut(!1)}),(0,pe.jsx)(G.EventsManagementModal,{visible:Xt,deviceId:e,cameraName:Re,onClose:()=>ea(!1)})]})};var o=r(_d[0]),n=r(_d[1]),l=e(r(_d[2])),s=e(r(_d[3])),u=e(r(_d[4])),c=e(r(_d[5])),d=e(r(_d[6]));r(_d[7]);var h=r(_d[8]),_=r(_d[9]),m=r(_d[10]),f=r(_d[11]),p=r(_d[12]),v=r(_d[13]),S=e(v),C=(t(r(_d[14])),t(r(_d[15]))),b=t(r(_d[16])),x=r(_d[17]),k=r(_d[18]),E=r(_d[19]),O=r(_d[20]),T=r(_d[21]),H=r(_d[22]),y=r(_d[23]),w=r(_d[24]),j=r(_d[25]),D=r(_d[26]),I=r(_d[27]),W=r(_d[28]),B=r(_d[29]),A=r(_d[30]),P=r(_d[31]),L=r(_d[32]),R=r(_d[33]),M=r(_d[34]),z=r(_d[35]),F=r(_d[36]),G=r(_d[37]),J=r(_d[38]),V=r(_d[39]),K=r(_d[40]),q=r(_d[41]),Y=r(_d[42]),N=r(_d[43]),Z=r(_d[44]),$=r(_d[45]),Q=r(_d[46]),U=r(_d[47]),X=r(_d[48]),ee=r(_d[49]),te=r(_d[50]),ae=r(_d[51]),oe=r(_d[52]),ne=r(_d[53]),ie=r(_d[54]),le=r(_d[55]),se=r(_d[56]),re=r(_d[57]),ue=r(_d[58]),ce=r(_d[59]),de=r(_d[60]),he=r(_d[61]),ge=r(_d[62]),me=r(_d[63]),fe=r(_d[64]),pe=r(_d[65]);const ve=.5,Se=2.5,Ce=80,be=400,xe=47;function ke(e){const t=(0,o.c)(18),{t:n}=(0,h.useTranslation)(),{data:l}=(0,ee.useCameras)();let s;t[0]!==l?(s=void 0===l?[]:l,t[0]=l,t[1]=s):s=t[1];const u=s;let c;if(t[2]!==u||t[3]!==e){let o;t[5]!==e?(o=t=>t.id===e,t[5]=e,t[6]=o):o=t[6],c=u.find(o),t[2]=u,t[3]=e,t[4]=c}else c=t[4];const d=c;let _,m;t[7]!==d?.name||t[8]!==e||t[9]!==n?(_=d?.name??n("v2.cameraDetail.fallbackName",{id:e}),t[7]=d?.name,t[8]=e,t[9]=n,t[10]=_):_=t[10],t[11]!==d?.features?(m=d?.features??[],t[11]=d?.features,t[12]=m):m=t[12];const f=d?.online??!1,p=d?.disabled??!1;let v;return t[13]!==_||t[14]!==m||t[15]!==f||t[16]!==p?(v={name:_,features:m,online:f,disabled:p},t[13]=_,t[14]=m,t[15]=f,t[16]=p,t[17]=v):v=t[17],v}const Ee={code:"function CameraDetailScreenTsx1(){const{runOnJS,onToggleControls}=this.__closure;runOnJS(onToggleControls)();}"},Oe={code:"function CameraDetailScreenTsx2(){const{runOnJS,zoom}=this.__closure;runOnJS(zoom.resetZoom)();}"},Te={code:"function CameraDetailScreenTsx3(e_0){const{BACK_SWIPE_DISTANCE,BACK_SWIPE_VELOCITY,runOnJS,onSwipeBack}=this.__closure;if(e_0.translationY>BACK_SWIPE_DISTANCE&&e_0.velocityY>BACK_SWIPE_VELOCITY){runOnJS(onSwipeBack)();}}"},He={code:"function CameraDetailScreenTsx4(){const{pinchExpandsHeight,defaultHeight,interpolate,zoom,HEIGHT_GROW_SCALE,maxHeight,Extrapolation}=this.__closure;if(!pinchExpandsHeight)return defaultHeight;return interpolate(zoom.scale.value,[1,HEIGHT_GROW_SCALE],[defaultHeight,maxHeight],Extrapolation.CLAMP);}"},ye={code:"function CameraDetailScreenTsx5(){const{liveBoxHeight}=this.__closure;return{height:liveBoxHeight.value};}"},we={code:"function CameraDetailScreenTsx6(){const{liveBoxHeight,winWidth}=this.__closure;const h=liveBoxHeight.value;const coverWidth=Math.max(winWidth,h*16/9);return{position:'absolute',top:0,left:(winWidth-coverWidth)/2,width:coverWidth,height:h};}"},je={code:"function CameraDetailScreenTsx7(){const{isWideDetail,insets,TOOLBAR_HEIGHT,liveBoxHeight}=this.__closure;return isWideDetail?insets.top+TOOLBAR_HEIGHT:insets.top+liveBoxHeight.value+TOOLBAR_HEIGHT;}"};function De(e){const t=(0,o.c)(7),{deviceId:n}=e,{uri:s,headers:u,onLoad:d,onError:h}=(0,X.useSnapshot)(n,!0);let _,m;return t[0]!==u||t[1]!==h||t[2]!==d||t[3]!==s?(_=s?(0,pe.jsx)(T.Image,{source:u?{uri:s,headers:u}:{uri:s},style:c.default.absoluteFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:d,onError:h}):null,t[0]=u,t[1]=h,t[2]=d,t[3]=s,t[4]=_):_=t[4],t[5]!==_?(m=(0,pe.jsx)(l.default,{style:Ie.poster,children:_}),t[5]=_,t[6]=m):m=t[6],m}const Ie=c.default.create({videoWrap:{position:'relative',width:'100%',overflow:'hidden',backgroundColor:'#000'},videoWrapFull:Object.assign({},c.default.absoluteFill,{zIndex:50,backgroundColor:'#000'}),videoContent:{flex:1,overflow:'hidden'},noRecOverlay:{alignItems:'center',justifyContent:'center',gap:6,backgroundColor:'rgba(0,0,0,0.55)'},noRecTitle:{color:'#e8eaed',fontSize:15,fontWeight:'600'},noRecHint:{color:'#9aa0a6',fontSize:12},poster:{flex:1,backgroundColor:'#000'},nameTag:{position:'absolute',top:8,left:8,maxWidth:'70%',flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:'#00000080'},nameText:{color:'#fafaf9',fontSize:13,fontWeight:'600'},jogRow:{position:'absolute',bottom:56,alignSelf:'center'}})},3428,[15,17,20,112,133,33,277,136,786,743,466,3429,3241,2714,3431,3434,3439,3443,3444,3445,2587,3053,3446,3454,3455,3456,3457,3459,3462,3466,3460,3468,3485,3486,3487,3491,3492,3494,3495,3496,3497,3500,3502,3503,3504,2590,3525,3526,3143,3080,813,2594,3177,3156,3527,3158,3164,3528,3385,3530,3498,3532,3132,3139,3533,10]);
|
|
15849
|
+
__d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraDetailScreen=function({deviceId:e,initialSeekMs:t}){const{t:o}=(0,h.useTranslation)(),T=(0,_.useRouter)(),{colors:X,mode:We}=(0,O.useTheme)(),Be=(0,m.useSafeAreaInsets)(),{width:Ae,height:Pe}=(0,d.default)(),{controller:Le}=(0,ae.useConnection)(),{name:Re,features:Me,online:ze,disabled:Fe}=ke(e),{settings:Ge,hydrated:Je}=(0,oe.useSettings)(),Ve=Me.includes(ee.FEATURE.ptz),Ke=Me.includes(ee.FEATURE.twoWayAudio),qe=Me.includes(ee.FEATURE.doorbell),Ye=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.quality),Ne=(0,ge.useCameraPrefsStore)(e=>e.setCameraQuality),[Ze,$e]=(0,n.useState)(Ye??'auto'),Qe=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Ye&&!Qe.current&&(Qe.current=!0,$e(Ye))},[Ye]);const Ue=(0,n.useMemo)(()=>(0,fe.qualityToTarget)(Ze),[Ze]),Xe=(0,n.useCallback)(t=>{$e(t),Ne(e,t)},[e,Ne]),[et,tt]=(0,n.useState)(null),at=(0,n.useCallback)(e=>tt(t=>t===e?null:e),[]),ot=(0,n.useCallback)(()=>tt(null),[]),nt='quality'===et,it=(0,n.useCallback)(()=>at('quality'),[at]),lt=ot,st=(0,ne.useMotionHighlight)(e,!0);(0,ce.useEventHaptics)([e],!0);const rt=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.highlight),ut=(0,n.useMemo)(()=>(0,me.withHighlightDefaults)(rt),[rt]),ct=(0,ge.useCameraPrefsStore)(e=>e.setCameraHighlight),dt=(0,ge.useCameraPrefsStore)(e=>e.hydrate);(0,n.useEffect)(()=>{dt()},[dt]);const ht=(0,ue.useDetections)(e,ut.detection&&!0),gt=ut.detection&&ht.boxes.some(e=>0===ut.detectionClasses.length||ut.detectionClasses.includes(e.label)),_t=(0,he.useHeld)(gt,1e3*ut.detectionHoldSec),mt=(0,de.useAudioActive)(e,ut.audio,ut.audioDb),ft=(0,he.useHeld)('off'!==ut.audio&&mt,1e3*ut.audioHoldSec),pt=_t?'detection':ft?'audio':ut.motion&&st?'motion':null,vt=(0,n.useMemo)(()=>Object.assign({enabled:!0},ut,{appearance:Ge.highlight,motionHoldSec:Ge.grid.motionHoldSec}),[ut,Ge.highlight,Ge.grid.motionHoldSec]),[St,Ct]=(0,n.useState)(!1),bt=(0,n.useCallback)(()=>Ct(e=>!e),[]),[xt,kt]=(0,n.useState)(1),[Et,Ot]=(0,n.useState)(!1),Tt=(0,n.useRef)(null),[Ht,yt]=(0,n.useState)(0),wt=(0,n.useMemo)(()=>({scrubStart:()=>Tt.current?.scrubStart(),scrubTo:e=>Tt.current?.scrubTo(e),scrubCommit:e=>Tt.current?.scrubCommit(e),seek:e=>Tt.current?.seek(e),goLive:()=>{Tt.current?.goLive(),yt(e=>e+1),Ot(!1),kt(1)}}),[]),jt=(0,k.usePlaybackMachine)(wt),Dt='live'!==jt.state.mode,It=(0,n.useCallback)(()=>{Ot(e=>(Tt.current?.setRate(e?xt:0),!e))},[xt]),Wt=(0,n.useCallback)(e=>{kt(e),Et||Tt.current?.setRate(e)},[Et]),Bt=(0,n.useCallback)(e=>{Et||(Tt.current?.setRate(0),Ot(!0)),Tt.current?.stepFrame(e)},[Et]),At=(0,n.useRef)(t??null),Pt=(0,n.useCallback)(e=>{jt.reportEmbedState(e);const t=At.current;null!==t&&(At.current=null,jt.seek(t,'cluster'))},[jt]),[Lt,Rt]=(0,n.useState)(!0),Mt=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Je&&!Mt.current&&(Mt.current=!0,Rt(!Ge.stream.audioOnOpen))},[Je,Ge.stream.audioOnOpen]);const zt='ptz'===et,Ft='devices'===et,Gt='export'===et,Jt='switcher'===et,Vt='menu'===et,[Kt,qt]=(0,n.useState)(!1),[Yt,Nt]=(0,n.useState)(()=>Date.now()),[Zt,$t]=(0,n.useState)(!1),[Qt,Ut]=(0,n.useState)(!1),[Xt,ea]=(0,n.useState)(!1),[ta,aa]=(0,n.useState)(!1),[oa,na]=(0,n.useState)('off'),[ia,la]=(0,n.useState)(!1),[sa,ra]=(0,n.useState)(!1),[ua,ca]=(0,n.useState)(!0),[da,ha]=(0,n.useState)(null),[ga,_a]=(0,n.useState)(!1),[ma,fa]=(0,n.useState)(e);ma!==e&&(fa(e),ha(null),_a(!1));const pa=(0,n.useCallback)(()=>_a(!0),[]),va=(0,n.useCallback)(()=>ha(null),[]),Sa=(0,n.useCallback)(e=>{ha(e),_a(!1)},[]),Ca=(0,n.useCallback)(()=>_a(!1),[]),ba=(0,n.useCallback)(()=>Rt(e=>!e),[]),xa=(0,n.useCallback)(()=>at('ptz'),[at]),ka=(0,n.useCallback)(()=>at('devices'),[at]),Ea=(0,n.useCallback)(()=>at('switcher'),[at]),Oa=(0,n.useCallback)(t=>{ot(),t!==e&&T.replace(`/camera/${t}`)},[T,e,ot]),Ta=(0,n.useCallback)(e=>{ot(),T.push(`/grid/adhoc?devices=${(0,N.serializeAdhocDeviceIds)(e)}`)},[T,ot]),Ha=(0,n.useCallback)(()=>$t(e=>!e),[]),ya=(0,n.useCallback)(()=>at('menu'),[at]),wa=ot,ja=(0,n.useCallback)(()=>aa(e=>!e),[]),Da=(0,n.useCallback)(e=>na(e),[]),Ia=(0,n.useCallback)(()=>at('export'),[at]),Wa=ot,Ba=(0,n.useCallback)(()=>{ot(),Nt((0,k.selectActiveEpoch)(jt.state)??Date.now()),qt(!0)},[jt.state,ot]),Aa=(0,n.useCallback)(()=>qt(!1),[]),Pa=(0,n.useCallback)(()=>{qt(!1),T.push('/exports')},[T]),La=(0,n.useCallback)(()=>ca(e=>!e),[]),Ra=(0,n.useCallback)(()=>ca(!1),[]),Ma=(0,n.useCallback)(()=>Tt.current?.startPip(),[]),za=(0,n.useCallback)(()=>Tt.current?.getStats()??Promise.resolve(null),[]),{talking:Fa,error:Ga,toggle:Ja}=(0,w.useIntercom)(e);(0,n.useEffect)(()=>{Ga&&u.default.alert(o('v2.cameraDetail.talk'),o('v2.cameraDetail.talkFailed'))},[Ga,o]);const Va=(0,$.useWideDetailLayout)(),Ka=Ae>Pe,qa=ia||Ka&&!Va,[Ya,Na]=(0,n.useState)(null),Za=(0,n.useCallback)(e=>{Na(e.nativeEvent.layout.width)},[]),$a=(0,n.useMemo)(()=>(0,U.computeWideDetailSizes)({containerWidth:Ya??Ae,viewportHeight:Pe}),[Ya,Ae,Pe]),Qa=(0,n.useMemo)(()=>9*Ae/16,[Ae]),Ua=(0,n.useMemo)(()=>Pe*ve,[Pe]),Xa=(0,y.useStreamZoom)(),eo=Xa.resetZoom;(0,n.useEffect)(()=>{eo()},[qa,eo]);const to=(0,n.useCallback)(()=>T.back(),[T]),ao=(0,n.useMemo)(()=>{const e=p.Gesture.Tap().numberOfTaps(1).onEnd((function({_worklet_6602635544675_init_data:e,runOnJS:t,onToggleControls:o}){const n=function(){t(o)()};return n.__closure={runOnJS:t,onToggleControls:o},n.__workletHash=6602635544675,n.__initData=e,n})({_worklet_6602635544675_init_data:Ee,runOnJS:v.runOnJS,onToggleControls:La})),t=p.Gesture.Tap().numberOfTaps(2).onEnd((function({_worklet_2914560570860_init_data:e,runOnJS:t,zoom:o}){const n=function(){t(o.resetZoom)()};return n.__closure={runOnJS:t,zoom:o},n.__workletHash=2914560570860,n.__initData=e,n})({_worklet_2914560570860_init_data:Oe,runOnJS:v.runOnJS,zoom:Xa})),o=p.Gesture.Exclusive(t,e),n=p.Gesture.Pan().minPointers(2).onEnd((function({_worklet_928138019551_init_data:e,BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l}){const s=function(e){e.translationY>t&&e.velocityY>o&&n(l)()};return s.__closure={BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l},s.__workletHash=928138019551,s.__initData=e,s})({_worklet_928138019551_init_data:Te,BACK_SWIPE_DISTANCE:Ce,BACK_SWIPE_VELOCITY:be,runOnJS:v.runOnJS,onSwipeBack:to}));return p.Gesture.Simultaneous(Xa.composeWith(n),o)},[Xa,La,to]),oo=Ge.stream.pinchExpandsHeight,no=(0,v.useDerivedValue)((function({_worklet_4062045311480_init_data:e,pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c}){const d=function(){return t?n(l.scale.value,[1,s],[o,u],c.CLAMP):o};return d.__closure={pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c},d.__workletHash=4062045311480,d.__initData=e,d})({_worklet_4062045311480_init_data:He,pinchExpandsHeight:oo,defaultHeight:Qa,interpolate:v.interpolate,zoom:Xa,HEIGHT_GROW_SCALE:Se,maxHeight:Ua,Extrapolation:v.Extrapolation}),[Qa,Ua,oo]),io=(0,v.useAnimatedStyle)((function({_worklet_8575313032359_init_data:e,liveBoxHeight:t}){const o=()=>({height:t.value});return o.__closure={liveBoxHeight:t},o.__workletHash=8575313032359,o.__initData=e,o})({_worklet_8575313032359_init_data:ye,liveBoxHeight:no})),lo=(0,v.useAnimatedStyle)((function({_worklet_15146728279256_init_data:e,liveBoxHeight:t,winWidth:o}){const n=function(){const e=t.value,n=Math.max(o,16*e/9);return{position:'absolute',top:0,left:(o-n)/2,width:n,height:e}};return n.__closure={liveBoxHeight:t,winWidth:o},n.__workletHash=0xdc69f5bccd8,n.__initData=e,n})({_worklet_15146728279256_init_data:we,liveBoxHeight:no,winWidth:Ae}),[Ae]),so=(0,v.useDerivedValue)((function({_worklet_12291157125883_init_data:e,isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l}){const s=()=>t?o.top+n:o.top+l.value+n;return s.__closure={isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l},s.__workletHash=0xb2dc20deafb,s.__initData=e,s})({_worklet_12291157125883_init_data:je,isWideDetail:Va,insets:Be,TOOLBAR_HEIGHT:xe,liveBoxHeight:no}),[Be.top,Va]),{ref:ro,isFullscreen:uo,toggle:co}=(0,x.useWebFullscreen)(),ho=(0,n.useCallback)(()=>{co()},[co]);(0,n.useEffect)(()=>{la(uo)},[uo]),(0,n.useEffect)(()=>{},[ia]);const go=(0,n.useCallback)(async()=>{const t=Le.getSystem();if(t){ra(!0);try{const n=await t.trpcClient.snapshot.getSnapshot.query({deviceId:e,force:!0});if(!n?.base64)return void u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'));const l=n.contentType.includes('png')?'png':'jpg',s=`${C.cacheDirectory}snapshot-${e}-${Date.now()}.${l}`;await C.writeAsStringAsync(s,n.base64,{encoding:C.EncodingType.Base64}),await b.isAvailableAsync()&&await b.shareAsync(s,{mimeType:n.contentType})}catch{u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'))}finally{ra(!1)}}},[Le,e,o]),_o=(0,n.useCallback)(()=>{ot(),go()},[go,ot]),mo=(0,k.selectPlaybackStatus)(jt.state),fo=mo.isLive&&!St,po=((0,n.useMemo)(()=>fo?vt:Object.assign({},vt,{enabled:!1,motion:!1,detection:!1,audio:'off'}),[vt,fo]),(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,-1);null!=e&&jt.seek(e,'timeline')},[jt])),vo=(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,1);null!=e&&jt.seek(e,'timeline')},[jt]),So=(0,pe.jsx)(S.default.View,{style:qa?Ie.videoWrapFull:Va?[Ie.videoWrap,{width:$a.streamWidth,height:$a.streamHeight}]:oo?[Ie.videoWrap,io]:[Ie.videoWrap,{height:Qa}],children:(0,pe.jsxs)(l.default,{style:Ie.videoContent,children:[(0,pe.jsxs)(S.default.View,{style:qa||Va?[c.default.absoluteFill,Xa.videoStyle]:[lo,Xa.videoStyle],children:[St&&!Dt?(0,pe.jsx)(De,{deviceId:e}):(0,pe.jsx)(H.LiveView,{ref:Tt,deviceId:e,muted:Lt,target:Ue,showStats:ta&&!1,highlight:void 0,onPlaybackState:Pt,onPosition:jt.reportPosition},Ht),Zt&&fo?(0,pe.jsx)(V.MotionBoxesOverlay,{deviceId:e,enabled:Zt}):null,'off'!==oa&&fo?(0,pe.jsx)(K.AudioLevelMeter,{deviceId:e,position:oa}):null]}),(0,pe.jsx)(p.GestureDetector,{gesture:ao,children:(0,pe.jsx)(S.default.View,{style:c.default.absoluteFill,onLayout:Xa.onLayout})}),null===da||ga?null:(0,pe.jsx)(Y.ZoneActiveOverlay,{zone:da}),'seeking'===jt.state.mode?(0,pe.jsx)(W.ScrubPlayerPreview,{deviceId:e,atMs:(0,k.selectActiveEpoch)(jt.state)}):null,'gap'===jt.state.mode?(0,pe.jsxs)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,Ie.noRecOverlay],children:[(0,pe.jsx)(te.VideoOff,{size:28,color:"#9aa0a6"}),(0,pe.jsx)(s.default,{style:Ie.noRecTitle,children:o('v2.theater.noRecording')}),(0,pe.jsx)(s.default,{style:Ie.noRecHint,children:o('v2.theater.noRecordingHint')})]}):null,pt&&fo?(0,pe.jsx)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,{borderWidth:Ge.highlight.thickness,borderColor:'motion'===pt?Ge.highlight.motionColor:'audio'===pt?Ge.highlight.audioColor:Ge.highlight.detectionColor}]}):null,ua?(0,pe.jsxs)(l.default,{style:Ie.nameTag,pointerEvents:"none",children:[(0,pe.jsx)(le.CameraStatusDot,{deviceId:e,online:ze,disabled:Fe,size:9}),(0,pe.jsx)(s.default,{style:Ie.nameText,numberOfLines:1,children:Re})]}):null,st&&fo?(0,pe.jsx)(ie.MotionBadge,{}):null,(0,pe.jsx)(re.DoorbellBadge,{deviceId:e,enabled:qe}),(0,pe.jsx)(se.OccupancyBadge,{deviceId:e,enabled:mo.isLive&&!St}),ua&&!mo.isLive?(0,pe.jsx)(l.default,{style:Ie.jogRow,children:(0,pe.jsx)(D.RecordedTransportBar,{rate:xt,paused:Et,onJogBack:po,onJogForward:vo,onStepFrame:Bt,onSelectRate:Wt})}):null,ta?(0,pe.jsx)(J.StreamStatsOverlay,{getStats:za}):null,(0,pe.jsx)(j.StreamOverlayControls,{visible:ua,onRequestHide:Ra,paused:Dt?Et:St,onTogglePause:Dt?It:bt,muted:Lt,onToggleMute:ba,hasTwoWayAudio:Ke,talking:Fa,onToggleTalk:Ja,onStartPip:Ma,fullscreen:ia,onToggleFullscreen:ho}),ga?(0,pe.jsx)(q.ZoneDrawOverlay,{zone:da,onConfirm:Sa,onCancel:Ca}):null]})}),Co=Va?'right':void 0,bo=Va?$a.railWidth:void 0,xo=(0,pe.jsx)(Z.TheaterTimeline,{deviceId:e,hideBack:Va,name:Re,onBack:()=>T.back(),hasPtz:Ve,ptzOpen:zt,onTogglePtz:xa,devicesOpen:Ft,onToggleDevices:ka,menuOpen:Vt,onToggleMenu:ya,exportMenuOpen:Gt,onToggleExportMenu:Ia,snapshotBusy:sa,quality:Ze,qualityOpen:nt,onToggleQuality:it,mode:jt.state.mode,activeEpoch:(0,k.selectActiveEpoch)(jt.state),onSeek:jt.seek,onScrubBegin:jt.beginScrub,onScrubMove:jt.moveScrub,onScrubCommit:jt.commitScrub,onGoLive:jt.goLive,zoneRect:da,onRequestZoneDraw:pa,onClearZone:va,onPickCamera:Ea});return(0,pe.jsxs)(l.default,{ref:ro,onLayout:Za,style:{flex:1,backgroundColor:X.background,paddingTop:qa?0:Be.top},children:[(0,pe.jsx)(f.StatusBar,{hidden:qa,style:qa||'dark'===We?'light':'dark'}),qa?So:Va?(0,pe.jsx)(Q.WideDetailLayout,{railWidth:$a.railWidth,stream:So,timeline:xo}):(0,pe.jsxs)(pe.Fragment,{children:[So,xo]}),zt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.ptz.title'),onClose:xa,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(B.PtzControls,{deviceId:e,hasFeature:Ve})}):null,Ft?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraDetail.devices'),onClose:ka,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(P.DevicesPanel,{deviceId:e})}):null,Jt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraSwitcher.title'),onClose:Ea,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(L.CameraSwitcherPanel,{currentId:e,onSwitch:Oa,onOpenGrid:Ta})}):null,Vt?(0,pe.jsx)(R.CameraMenuPanel,{boundingBoxesOn:Zt,onToggleBoundingBoxes:Ha,statsOn:ta,onToggleStats:ja,audioPosition:oa,onSetAudioPosition:Da,highlight:ut,onSetHighlight:t=>ct(e,Object.assign({},ut,t)),onOpenStorage:()=>{ot(),Ut(!0)},onOpenEvents:()=>{ot(),ea(!0)},onClose:wa,topOffset:so,align:Co,maxWidth:bo}):null,nt?(0,pe.jsx)(I.QualityPicker,{value:Ze,onChange:Xe,onClose:lt,topOffset:so,align:Co,maxWidth:bo}):null,Gt?(0,pe.jsx)(z.ExportActionsPanel,{onSnapshot:_o,snapshotBusy:sa,onOpenExport:Ba,onClose:Wa,topOffset:so,align:Co,maxWidth:bo}):null,(0,pe.jsx)(M.ExportModal,{visible:Kt,deviceId:e,anchorEpoch:Yt,onClose:Aa,onCreated:Pa}),(0,pe.jsx)(F.StorageManagementModal,{visible:Qt,deviceId:e,cameraName:Re,onClose:()=>Ut(!1)}),(0,pe.jsx)(G.EventsManagementModal,{visible:Xt,deviceId:e,cameraName:Re,onClose:()=>ea(!1)})]})};var o=r(_d[0]),n=r(_d[1]),l=e(r(_d[2])),s=e(r(_d[3])),u=e(r(_d[4])),c=e(r(_d[5])),d=e(r(_d[6]));r(_d[7]);var h=r(_d[8]),_=r(_d[9]),m=r(_d[10]),f=r(_d[11]),p=r(_d[12]),v=r(_d[13]),S=e(v),C=(t(r(_d[14])),t(r(_d[15]))),b=t(r(_d[16])),x=r(_d[17]),k=r(_d[18]),E=r(_d[19]),O=r(_d[20]),T=r(_d[21]),H=r(_d[22]),y=r(_d[23]),w=r(_d[24]),j=r(_d[25]),D=r(_d[26]),I=r(_d[27]),W=r(_d[28]),B=r(_d[29]),A=r(_d[30]),P=r(_d[31]),L=r(_d[32]),R=r(_d[33]),M=r(_d[34]),z=r(_d[35]),F=r(_d[36]),G=r(_d[37]),J=r(_d[38]),V=r(_d[39]),K=r(_d[40]),q=r(_d[41]),Y=r(_d[42]),N=r(_d[43]),Z=r(_d[44]),$=r(_d[45]),Q=r(_d[46]),U=r(_d[47]),X=r(_d[48]),ee=r(_d[49]),te=r(_d[50]),ae=r(_d[51]),oe=r(_d[52]),ne=r(_d[53]),ie=r(_d[54]),le=r(_d[55]),se=r(_d[56]),re=r(_d[57]),ue=r(_d[58]),ce=r(_d[59]),de=r(_d[60]),he=r(_d[61]),ge=r(_d[62]),me=r(_d[63]),fe=r(_d[64]),pe=r(_d[65]);const ve=.5,Se=2.5,Ce=80,be=400,xe=47;function ke(e){const t=(0,o.c)(18),{t:n}=(0,h.useTranslation)(),{data:l}=(0,ee.useCameras)();let s;t[0]!==l?(s=void 0===l?[]:l,t[0]=l,t[1]=s):s=t[1];const u=s;let c;if(t[2]!==u||t[3]!==e){let o;t[5]!==e?(o=t=>t.id===e,t[5]=e,t[6]=o):o=t[6],c=u.find(o),t[2]=u,t[3]=e,t[4]=c}else c=t[4];const d=c;let _,m;t[7]!==d?.name||t[8]!==e||t[9]!==n?(_=d?.name??n("v2.cameraDetail.fallbackName",{id:e}),t[7]=d?.name,t[8]=e,t[9]=n,t[10]=_):_=t[10],t[11]!==d?.features?(m=d?.features??[],t[11]=d?.features,t[12]=m):m=t[12];const f=d?.online??!1,p=d?.disabled??!1;let v;return t[13]!==_||t[14]!==m||t[15]!==f||t[16]!==p?(v={name:_,features:m,online:f,disabled:p},t[13]=_,t[14]=m,t[15]=f,t[16]=p,t[17]=v):v=t[17],v}const Ee={code:"function CameraDetailScreenTsx1(){const{runOnJS,onToggleControls}=this.__closure;runOnJS(onToggleControls)();}"},Oe={code:"function CameraDetailScreenTsx2(){const{runOnJS,zoom}=this.__closure;runOnJS(zoom.resetZoom)();}"},Te={code:"function CameraDetailScreenTsx3(e_0){const{BACK_SWIPE_DISTANCE,BACK_SWIPE_VELOCITY,runOnJS,onSwipeBack}=this.__closure;if(e_0.translationY>BACK_SWIPE_DISTANCE&&e_0.velocityY>BACK_SWIPE_VELOCITY){runOnJS(onSwipeBack)();}}"},He={code:"function CameraDetailScreenTsx4(){const{pinchExpandsHeight,defaultHeight,interpolate,zoom,HEIGHT_GROW_SCALE,maxHeight,Extrapolation}=this.__closure;if(!pinchExpandsHeight)return defaultHeight;return interpolate(zoom.scale.value,[1,HEIGHT_GROW_SCALE],[defaultHeight,maxHeight],Extrapolation.CLAMP);}"},ye={code:"function CameraDetailScreenTsx5(){const{liveBoxHeight}=this.__closure;return{height:liveBoxHeight.value};}"},we={code:"function CameraDetailScreenTsx6(){const{liveBoxHeight,winWidth}=this.__closure;const h=liveBoxHeight.value;const coverWidth=Math.max(winWidth,h*16/9);return{position:'absolute',top:0,left:(winWidth-coverWidth)/2,width:coverWidth,height:h};}"},je={code:"function CameraDetailScreenTsx7(){const{isWideDetail,insets,TOOLBAR_HEIGHT,liveBoxHeight}=this.__closure;return isWideDetail?insets.top+TOOLBAR_HEIGHT:insets.top+liveBoxHeight.value+TOOLBAR_HEIGHT;}"};function De(e){const t=(0,o.c)(7),{deviceId:n}=e,{uri:s,headers:u,onLoad:d,onError:h}=(0,X.useSnapshot)(n,!0);let _,m;return t[0]!==u||t[1]!==h||t[2]!==d||t[3]!==s?(_=s?(0,pe.jsx)(T.Image,{source:u?{uri:s,headers:u}:{uri:s},style:c.default.absoluteFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:d,onError:h}):null,t[0]=u,t[1]=h,t[2]=d,t[3]=s,t[4]=_):_=t[4],t[5]!==_?(m=(0,pe.jsx)(l.default,{style:Ie.poster,children:_}),t[5]=_,t[6]=m):m=t[6],m}const Ie=c.default.create({videoWrap:{position:'relative',width:'100%',overflow:'hidden',backgroundColor:'#000'},videoWrapFull:Object.assign({},c.default.absoluteFill,{zIndex:50,backgroundColor:'#000'}),videoContent:{flex:1,overflow:'hidden'},noRecOverlay:{alignItems:'center',justifyContent:'center',gap:6,backgroundColor:'rgba(0,0,0,0.55)'},noRecTitle:{color:'#e8eaed',fontSize:15,fontWeight:'600'},noRecHint:{color:'#9aa0a6',fontSize:12},poster:{flex:1,backgroundColor:'#000'},nameTag:{position:'absolute',top:8,left:8,maxWidth:'70%',flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:'#00000080'},nameText:{color:'#fafaf9',fontSize:13,fontWeight:'600'},jogRow:{position:'absolute',bottom:56,alignSelf:'center'}})},3428,[15,17,20,112,133,33,277,136,786,743,466,3429,3241,2714,3431,3434,3439,3443,3444,3445,2587,3053,3446,3454,3455,3456,3457,3459,3462,3466,3460,3468,3487,3488,3490,3494,3495,3497,3498,3499,3500,3503,3505,3506,3507,2590,3528,3529,3143,3080,813,2594,3177,3156,3530,3158,3164,3531,3385,3533,3501,3535,3132,3139,3536,10]);
|
|
15850
15850
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"StatusBar",{enumerable:!0,get:function(){return t.StatusBar}}),Object.defineProperty(e,"setStatusBarStyle",{enumerable:!0,get:function(){return t.setStatusBarStyle}}),Object.defineProperty(e,"setStatusBarHidden",{enumerable:!0,get:function(){return t.setStatusBarHidden}});var t=r(d[0])},3429,[3430]);
|
|
15851
15851
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StatusBar=s,Object.defineProperty(_e,"setStatusBarStyle",{enumerable:!0,get:function(){return c}}),Object.defineProperty(_e,"setStatusBarHidden",{enumerable:!0,get:function(){return f}});var t=e(r(d[0])),n=e(r(d[1])),u=e(r(d[2])),l=e(r(d[3])),o=r(d[4]);function s({style:e,hideTransitionAnimation:n,animated:s,hidden:c}){const f=(0,l.default)(),y=t.default.useMemo(()=>h(e,f),[e,f]);return(0,o.jsx)(u.default,{animated:s,hidden:c,barStyle:y,showHideTransition:'none'===n?void 0:n})}s.setStyle=(e,t)=>u.default.setBarStyle(h(e),t);const c=s.setStyle;s.setHidden=(e,t)=>u.default.setHidden(e,t);const f=s.setHidden;function h(e="auto",t=n.default?.getColorScheme()??'light'){t||(t='light');let u=e;return'auto'===e?u='light'===t?'dark':'light':'inverted'===e&&(u='light'===t?'light':'dark'),'light'===u?'light-content':'dark-content'}},3430,[17,222,259,275,10]);
|
|
15852
15852
|
__d(function(g,r,_i,a,m,_e,d){"use strict";function n(n){return n&&n.__esModule?n:{default:n}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"Orientation",{enumerable:!0,get:function(){return i.Orientation}}),Object.defineProperty(_e,"OrientationLock",{enumerable:!0,get:function(){return i.OrientationLock}}),Object.defineProperty(_e,"WebOrientationLock",{enumerable:!0,get:function(){return i.WebOrientationLock}}),Object.defineProperty(_e,"WebOrientation",{enumerable:!0,get:function(){return i.WebOrientation}}),Object.defineProperty(_e,"SizeClassIOS",{enumerable:!0,get:function(){return i.SizeClassIOS}}),_e.lockAsync=async function(n){if(!t.default.lockAsync)throw new e.UnavailabilityError('ScreenOrientation','lockAsync');if(!Object.values(i.OrientationLock).includes(n))throw new TypeError(`Invalid Orientation Lock: ${n}`);if(n===i.OrientationLock.OTHER)return;await t.default.lockAsync(n),c=n},_e.lockPlatformAsync=async function(n){if(!t.default.lockPlatformAsync)throw new e.UnavailabilityError('ScreenOrientation','lockPlatformAsync');const{screenOrientationConstantAndroid:o,screenOrientationArrayIOS:s,screenOrientationLockWeb:l}=n;let u;if(l){if(!Object.values(i.WebOrientationLock).includes(l))throw new TypeError(`Invalid Web Orientation Lock: ${l}`);u=l}if(!u)throw new TypeError('lockPlatformAsync cannot be called with undefined option properties');await t.default.lockPlatformAsync(u),c=i.OrientationLock.OTHER},_e.unlockAsync=async function(){if(!t.default.lockAsync)throw new e.UnavailabilityError('ScreenOrientation','lockAsync');await t.default.lockAsync(i.OrientationLock.DEFAULT)},_e.getOrientationAsync=s,_e.getOrientationLockAsync=l,_e.getPlatformOrientationLockAsync=async function(){return{screenOrientationLockWeb:await t.default.getPlatformOrientationLockAsync()}},_e.supportsOrientationLockAsync=async function(n){if(!t.default.supportsOrientationLockAsync)throw new e.UnavailabilityError('ScreenOrientation','supportsOrientationLockAsync');if(!Object.values(i.OrientationLock).includes(n))throw new TypeError(`Invalid Orientation Lock: ${n}`);return await t.default.supportsOrientationLockAsync(n)},_e.addOrientationChangeListener=function(n){if('function'!=typeof n)throw new TypeError(`addOrientationChangeListener cannot be called with ${n}`);const e=u(n);return o.push(e),e},_e.removeOrientationChangeListeners=function(){let n=o.length;for(;n--;){const e=o[n];e?.remove(),o.pop()}},_e.removeOrientationChangeListener=function(n){if(!n||!n.remove)throw new TypeError("Must pass in a valid subscription");n.remove(),o=o.filter(e=>e!==n)};var e=r(d[0]),t=(n(r(d[1])),n(r(d[2]))),i=r(d[3]);let o=[],c=i.OrientationLock.UNKNOWN;async function s(){if(!t.default.getOrientationAsync)throw new e.UnavailabilityError('ScreenOrientation','getOrientationAsync');return await t.default.getOrientationAsync()}async function l(){return t.default.getOrientationLockAsync?await t.default.getOrientationLockAsync():c}function u(n){return t.default.addListener('expoDidUpdateDimensions',async e=>{n(e)})}},3431,[289,148,3432,3433]);
|
|
@@ -15878,7 +15878,7 @@ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?
|
|
|
15878
15878
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.RecordedTransportBar=function(e){const c=(0,t.c)(51),{rate:p,paused:h,onJogBack:x,onJogForward:S,onStepFrame:R,onSelectRate:_}=e,{t:v}=(0,u.useTranslation)(),[B,T]=(0,l.useState)(!1),I=1!==p;let k;c[0]!==h?(k=(0,f.shouldShowStepControls)(h),c[0]=h,c[1]=k):k=c[1];const A=k;let L,P,C,z,w,H;c[2]===Symbol.for("react.memo_cache_sentinel")?(L=(0,b.jsx)(o.default,{style:j.jogText,children:"\u221210s"}),c[2]=L):L=c[2];c[3]!==x?(P=(0,b.jsx)(s.default,{onPress:x,style:j.jogButton,accessibilityRole:"button",accessibilityLabel:"-10s",children:L}),c[3]=x,c[4]=P):P=c[4];c[5]!==R||c[6]!==A||c[7]!==v?(C=A?(0,b.jsx)(s.default,{onPress:()=>R(-1),style:j.jogButton,accessibilityRole:"button",accessibilityLabel:v("v2.playback.prevFrame"),children:(0,b.jsx)(o.default,{style:j.jogText,children:"\u2039|"})}):null,c[5]=R,c[6]=A,c[7]=v,c[8]=C):C=c[8];c[9]!==C?(z=(0,b.jsx)(n.default,{style:j.stepSlot,children:C}),c[9]=C,c[10]=z):z=c[10];c[11]!==I||c[12]!==B||c[13]!==_||c[14]!==p||c[15]!==v?(w=B?(0,b.jsxs)(n.default,{style:j.menu,accessibilityRole:"menu",children:[f.PLAYBACK_RATE_OPTIONS.map(e=>{const t=e===p;return(0,b.jsx)(s.default,{onPress:()=>{_(e),T(!1)},style:[j.menuItem,t?j.menuItemActive:null],accessibilityRole:"menuitem",accessibilityState:{selected:t},accessibilityLabel:(0,f.formatRateLabel)(e),children:(0,b.jsx)(o.default,{style:j.menuItemText,children:(0,f.formatRateLabel)(e)})},e)}),(0,b.jsx)(o.default,{style:j.menuHint,children:v(I?"v2.playback.audioMuted":"v2.playback.audioOn")})]}):null,c[11]=I,c[12]=B,c[13]=_,c[14]=p,c[15]=v,c[16]=w):w=c[16];c[17]===Symbol.for("react.memo_cache_sentinel")?(H=()=>T(y),c[17]=H):H=c[17];const V=1!==p?j.jogButtonActive:null;let W,F,O,M;c[18]!==V?(W=[j.jogButton,V],c[18]=V,c[19]=W):W=c[19];c[20]!==B?(F={expanded:B},c[20]=B,c[21]=F):F=c[21];c[22]!==v?(O=v("v2.playback.speed"),c[22]=v,c[23]=O):O=c[23];c[24]!==p?(M=(0,f.formatRateLabel)(p),c[24]=p,c[25]=M):M=c[25];const J=`${M} \u25be`;let D,E,K,N,Y,$,q,G;c[26]!==J?(D=(0,b.jsx)(o.default,{style:j.jogText,children:J}),c[26]=J,c[27]=D):D=c[27];c[28]!==F||c[29]!==O||c[30]!==D||c[31]!==W?(E=(0,b.jsx)(s.default,{onPress:H,style:W,accessibilityRole:"button",accessibilityState:F,accessibilityLabel:O,children:D}),c[28]=F,c[29]=O,c[30]=D,c[31]=W,c[32]=E):E=c[32];c[33]!==E||c[34]!==w?(K=(0,b.jsxs)(n.default,{style:j.speedAnchor,children:[w,E]}),c[33]=E,c[34]=w,c[35]=K):K=c[35];c[36]!==R||c[37]!==A||c[38]!==v?(N=A?(0,b.jsx)(s.default,{onPress:()=>R(1),style:j.jogButton,accessibilityRole:"button",accessibilityLabel:v("v2.playback.nextFrame"),children:(0,b.jsx)(o.default,{style:j.jogText,children:"|\u203a"})}):null,c[36]=R,c[37]=A,c[38]=v,c[39]=N):N=c[39];c[40]!==N?(Y=(0,b.jsx)(n.default,{style:j.stepSlot,children:N}),c[40]=N,c[41]=Y):Y=c[41];c[42]===Symbol.for("react.memo_cache_sentinel")?($=(0,b.jsx)(o.default,{style:j.jogText,children:"+10s"}),c[42]=$):$=c[42];c[43]!==S?(q=(0,b.jsx)(s.default,{onPress:S,style:j.jogButton,accessibilityRole:"button",accessibilityLabel:"+10s",children:$}),c[43]=S,c[44]=q):q=c[44];c[45]!==K||c[46]!==Y||c[47]!==q||c[48]!==P||c[49]!==z?(G=(0,b.jsxs)(n.default,{style:j.row,children:[P,z,K,Y,q]}),c[45]=K,c[46]=Y,c[47]=q,c[48]=P,c[49]=z,c[50]=G):G=c[50];return G};var t=r(d[0]),l=r(d[1]),n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=r(d[7]),b=r(d[8]);function y(e){return!e}const j=c.default.create({row:{flexDirection:'row',alignItems:'center',gap:10},jogButton:{paddingHorizontal:12,paddingVertical:6,borderRadius:14,backgroundColor:'#00000099'},jogButtonActive:{backgroundColor:'rgba(59,130,246,0.85)'},jogText:{color:'#ffffff',fontSize:12,fontWeight:'700',fontVariant:['tabular-nums']},stepSlot:{minWidth:44,alignItems:'center',justifyContent:'center'},speedAnchor:{position:'relative',alignItems:'center'},menu:{position:'absolute',bottom:'100%',marginBottom:8,alignSelf:'center',minWidth:96,paddingVertical:4,borderRadius:12,backgroundColor:'#000000cc'},menuItem:{paddingHorizontal:14,paddingVertical:8,alignItems:'center'},menuItemActive:{backgroundColor:'rgba(59,130,246,0.85)'},menuItemText:{color:'#ffffff',fontSize:13,fontWeight:'700',fontVariant:['tabular-nums']},menuHint:{color:'#d4d4d8',fontSize:10,fontWeight:'600',textAlign:'center',paddingHorizontal:10,paddingTop:4,paddingBottom:2}})},3457,[15,17,20,112,252,33,786,3458,10]);
|
|
15879
15879
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PLAYBACK_RATE_OPTIONS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"MIN_PLAYBACK_RATE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"MAX_PLAYBACK_RATE",{enumerable:!0,get:function(){return u}}),e.formatRateLabel=function(t){return`${t}\xd7`},e.shouldShowStepControls=function(t){return t},e.isSupportedPlaybackRate=function(t){return Number.isFinite(t)&&t>=n&&t<=u};const t=[.25,.5,1,1.5,2,4],n=.25,u=4},3458,[]);
|
|
15880
15880
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.QualityPicker=function(h){const v=(0,t.c)(21),{value:f,onChange:p,onClose:y,topOffset:C,align:b,maxWidth:x}=h,{t:_}=(0,l.useTranslation)();let j;v[0]!==_?(j=c.map(t=>({value:t,label:_((0,s.qualityLabelKey)(t))})),v[0]=_,v[1]=j):j=v[1];const O=j;let P,q,L,W,k;v[2]!==_?(P=_("v2.theater.quality"),v[2]=_,v[3]=P):P=v[3];v[4]!==_?(q=_("v2.cameraDetail.close"),v[4]=_,v[5]=q):q=v[5];v[6]!==p||v[7]!==y?(L=t=>{p(t),y()},v[6]=p,v[7]=y,v[8]=L):L=v[8];v[9]!==O||v[10]!==L||v[11]!==f?(W=(0,u.jsx)(o.SegmentedControl,{options:O,value:f,onChange:L}),v[9]=O,v[10]=L,v[11]=f,v[12]=W):W=v[12];v[13]!==b||v[14]!==x||v[15]!==y||v[16]!==P||v[17]!==q||v[18]!==W||v[19]!==C?(k=(0,u.jsx)(n.FloatingPanel,{title:P,onClose:y,closeLabel:q,topOffset:C,align:b,maxWidth:x,children:W}),v[13]=b,v[14]=x,v[15]=y,v[16]=P,v[17]=q,v[18]=W,v[19]=C,v[20]=k):k=v[20];return k};var t=r(d[0]);r(d[1]);var l=r(d[2]),n=r(d[3]),o=r(d[4]),s=r(d[5]),u=r(d[6]);const c=['auto','high','mid','low']},3459,[15,17,786,3460,3176,3461,10]);
|
|
15881
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingPanel=function(e){const c=(0,t.c)(38),{title:S,onClose:C,closeLabel:G,topOffset:y,align:O,maxWidth:
|
|
15881
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingPanel=function(e){const c=(0,t.c)(38),{title:S,onClose:C,closeLabel:G,topOffset:y,align:O,maxWidth:v,children:M}=e,E=void 0===O?"center":O,{colors:j}=(0,b.useTheme)(),{height:T}=(0,f.default)(),k=(0,h.useSafeAreaInsets)(),L=(0,u.useAnimatedStyle)((function({_worklet_4446473903605_init_data:e,topOffset:t}){const o=()=>({top:t.value});return o.__closure={topOffset:t},o.__workletHash=4446473903605,o.__initData=e,o})({_worklet_4446473903605_init_data:N,topOffset:y})),W=(0,u.useAnimatedStyle)((function({_worklet_13270622034148_init_data:e,MIN_PANEL_HEIGHT:t,windowHeight:o,topOffset:n,insets:s,SPACING:l}){const c=()=>({maxHeight:Math.max(t,o-n.value-s.bottom-l.sm-l.lg)});return c.__closure={MIN_PANEL_HEIGHT:t,windowHeight:o,topOffset:n,insets:s,SPACING:l},c.__workletHash=0xc11ceb658e4,c.__initData=e,c})({_worklet_13270622034148_init_data:P,MIN_PANEL_HEIGHT:x,windowHeight:T,topOffset:y,insets:k,SPACING:p.SPACING})),z="right"===E?H.anchorRight:null;let R,B,D,V,F,U,X,q,J,K,Q,Y,Z;c[0]!==L||c[1]!==z?(R=[H.anchor,z,L],c[0]=L,c[1]=z,c[2]=R):R=c[2];c[3]!==v?(B=void 0!==v?{maxWidth:v}:null,c[3]=v,c[4]=B):B=c[4];c[5]!==j.border||c[6]!==j.surface?(D={backgroundColor:j.surface,borderColor:j.border},c[5]=j.border,c[6]=j.surface,c[7]=D):D=c[7];c[8]!==W||c[9]!==B||c[10]!==D?(V=[H.card,B,W,D],c[8]=W,c[9]=B,c[10]=D,c[11]=V):V=c[11];c[12]!==j.border?(F=[H.header,{borderBottomColor:j.border}],c[12]=j.border,c[13]=F):F=c[13];c[14]!==j.foreground?(U=[H.title,{color:j.foreground}],c[14]=j.foreground,c[15]=U):U=c[15];c[16]!==U||c[17]!==S?(X=(0,w.jsx)(n.default,{style:U,numberOfLines:1,children:S}),c[16]=U,c[17]=S,c[18]=X):X=c[18];c[19]!==j.foregroundMuted?(q=(0,w.jsx)(I.X,{size:18,color:j.foregroundMuted}),c[19]=j.foregroundMuted,c[20]=q):q=c[20];c[21]!==G||c[22]!==C||c[23]!==q?(J=(0,w.jsx)(s.default,{onPress:C,hitSlop:8,accessibilityLabel:G,style:A,children:q}),c[21]=G,c[22]=C,c[23]=q,c[24]=J):J=c[24];c[25]!==J||c[26]!==F||c[27]!==X?(K=(0,w.jsxs)(o.default,{style:F,children:[X,J]}),c[25]=J,c[26]=F,c[27]=X,c[28]=K):K=c[28];c[29]!==M?(Q=(0,w.jsx)(l.default,{style:H.scroll,contentContainerStyle:H.body,showsVerticalScrollIndicator:!0,children:M}),c[29]=M,c[30]=Q):Q=c[30];c[31]!==K||c[32]!==Q||c[33]!==V?(Y=(0,w.jsxs)(_.default.View,{style:V,children:[K,Q]}),c[31]=K,c[32]=Q,c[33]=V,c[34]=Y):Y=c[34];c[35]!==Y||c[36]!==R?(Z=(0,w.jsx)(_.default.View,{style:R,pointerEvents:"box-none",children:Y}),c[35]=Y,c[36]=R,c[37]=Z):Z=c[37];return Z};var t=r(d[0]);r(d[1]);var o=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),c=e(r(d[6])),f=e(r(d[7])),u=r(d[8]),_=e(u),h=r(d[9]),I=r(d[10]),b=r(d[11]),p=r(d[12]),w=r(d[13]);const x=160,N={code:"function FloatingPanelTsx1(){const{topOffset}=this.__closure;return{top:topOffset.value};}"},P={code:"function FloatingPanelTsx2(){const{MIN_PANEL_HEIGHT,windowHeight,topOffset,insets,SPACING}=this.__closure;return{maxHeight:Math.max(MIN_PANEL_HEIGHT,windowHeight-topOffset.value-insets.bottom-SPACING.sm-SPACING.lg)};}"};function A(e){const{pressed:t}=e;return[H.closeBtn,{opacity:t?.6:1}]}const H=c.default.create({anchor:{position:'absolute',left:0,right:0,alignItems:'center',paddingHorizontal:p.SPACING.md,zIndex:30,elevation:30},anchorRight:{alignItems:'flex-end'},card:{width:'100%',maxWidth:420,marginTop:p.SPACING.sm,borderRadius:p.RADIUS.xl,borderWidth:1,overflow:'hidden'},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:p.SPACING.lg,paddingVertical:p.SPACING.md,borderBottomWidth:1},title:{fontSize:14,fontWeight:'700',flex:1},closeBtn:{width:32,height:32,borderRadius:16,alignItems:'center',justifyContent:'center'},scroll:{flexShrink:1},body:{padding:p.SPACING.md}})},3460,[15,17,20,112,252,147,33,277,2714,466,813,2587,2589,10]);
|
|
15882
15882
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.qualityLabelKey=function(t){switch(t){case'auto':return'v2.settings.qualityAuto';case'high':return'v2.settings.qualityHigh';case'mid':return'v2.settings.qualityMid';case'low':return'v2.settings.qualityLow'}}},3461,[]);
|
|
15883
15883
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ScrubPlayerPreview=function({deviceId:e,atMs:n}){const[f,v]=(0,t.useState)(0),p=(0,s.useScrubThumbnail)(e,n),{token:b}=(0,o.useServer)(),U=(0,t.useRef)(null);null!==p&&(U.current={deviceId:e,result:p});const w=p??(U.current?.deviceId===e?U.current.result:null),[I,j]=(0,t.useState)(null),x=(0,t.useRef)(null);null!==w&&(x.current={deviceId:e,entry:w});const S=I?.deviceId===e?I.entry:null,P=(0,c.planScrubPreview)(S,w);(0,t.useEffect)(()=>{null!==w&&j(t=>t?.deviceId===e&&t.entry.sheetUrl===w.sheetUrl&&t.entry!==w?{deviceId:e,entry:w}:t)},[w,e]);const[_,k]=(0,t.useState)(null),M=(0,t.useRef)(null),W=b?{Authorization:`Bearer ${b}`}:void 0,A=e=>{const t=x.current;t&&t.entry.sheetUrl===e&&(null!==S&&S.sheetUrl!==e&&k(S),j(t))};if(null===P.show&&null===P.preloadUrl)return null;const C=P.show;M.current=C?.sheetUrl??null;const E=(e,t)=>{const n=f/e.thumb.tileWidth;return(0,h.jsx)(l.default,{style:[y.tileWindow,{width:f,height:e.thumb.tileHeight*n}],children:(0,h.jsx)(u.Image,{source:W?{uri:e.sheetUrl,headers:W}:{uri:e.sheetUrl},style:{position:'absolute',width:e.thumb.sheetWidth*n,height:e.thumb.sheetHeight*n,left:-e.thumb.x*n,top:-e.thumb.y*n},contentFit:"fill",cachePolicy:"memory-disk",onDisplay:t})})};return(0,h.jsxs)(l.default,{style:[y.cover,null!==C?y.coverActive:null],pointerEvents:"none",onLayout:e=>{const t=Math.round(e.nativeEvent.layout.width);v(e=>e===t?e:t)},children:[null!==_&&f>0?(0,h.jsx)(l.default,{style:y.layer,children:E(_)}):null,null!==C&&f>0?(0,h.jsx)(l.default,{style:y.layer,children:E(C,()=>{M.current===C.sheetUrl&&k(null)})}):null,null!==P.preloadUrl?(0,h.jsx)(u.Image,{source:W?{uri:P.preloadUrl,headers:W}:{uri:P.preloadUrl},style:y.preload,cachePolicy:"memory-disk",onLoad:()=>A(P.preloadUrl)}):null]})};var t=r(d[0]),l=e(r(d[1])),n=e(r(d[2])),u=r(d[3]),o=r(d[4]),s=r(d[5]),c=r(d[6]),h=r(d[7]);const y=n.default.create({cover:{position:'absolute',top:0,left:0,right:0,bottom:0,alignItems:'center',justifyContent:'center'},coverActive:{backgroundColor:'#000'},layer:{position:'absolute',top:0,left:0,right:0,bottom:0,alignItems:'center',justifyContent:'center'},tileWindow:{overflow:'hidden'},preload:{position:'absolute',width:1,height:1,opacity:0}})},3462,[17,20,33,3053,3144,3463,3465,10]);
|
|
15884
15884
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useScrubThumbnail=function(c,b){const y=(0,t.c)(33),{controller:w,state:S}=(0,u.useConnection)(),{token:x}=(0,s.useServer)();let U;y[0]!==w||y[1]!==S?(U="connected"===S?w.getSystem()?.serverUrl??null:null,y[0]=w,y[1]=S,y[2]=U):U=y[2];const _=U;let I;y[3]!==b?(I=null!==b?(0,o.windowStartFor)(b):null,y[3]=b,y[4]=I):I=y[4];const T=I;let p;y[5]!==c||y[6]!==T?(p=["scrub-thumb-index",c,T],y[5]=c,y[6]=T,y[7]=p):p=y[7];const v=null!==_&&null!==T;let M,B;y[8]!==b||y[9]!==c||y[10]!==_||y[11]!==x?(M=async()=>null===_||null===b?null:h((0,o.buildIndexUrl)(_,c,b),x),y[8]=b,y[9]=c,y[10]=_,y[11]=x,y[12]=M):M=y[12];y[13]!==p||y[14]!==v||y[15]!==M?(B={queryKey:p,enabled:v,staleTime:1/0,gcTime:6e5,retry:!1,queryFn:M},y[13]=p,y[14]=v,y[15]=M,y[16]=B):B=y[16];const W=(0,n.useQuery)(B).data??null;let $,k,O;y[17]!==c||y[18]!==W||y[19]!==_||y[20]!==x||y[21]!==T?($=()=>{null!==W&&null!==_&&null!==T&&f(_,x,c,T)},k=[W,_,x,c,T],y[17]=c,y[18]=W,y[19]=_,y[20]=x,y[21]=T,y[22]=$,y[23]=k):($=y[22],k=y[23]);if((0,l.useEffect)($,k),null===W||null===_||null===b)return null;y[24]!==b||y[25]!==W?(O=(0,o.selectThumb)(W,b),y[24]=b,y[25]=W,y[26]=O):O=y[26];const j=O;if(null===j)return null;let q,z;y[27]!==W||y[28]!==_?(q=(0,o.buildSheetUrl)(_,W),y[27]=W,y[28]=_,y[29]=q):q=y[29];y[30]!==q||y[31]!==j?(z={sheetUrl:q,thumb:j},y[30]=q,y[31]=j,y[32]=z):z=y[32];return z};var t=r(d[0]),l=r(d[1]),n=r(d[2]),u=r(d[3]),s=r(d[4]),c=r(d[5]),o=r(d[6]);async function h(t,l){const n={};l&&(n.Authorization=`Bearer ${l}`);try{const l=await fetch(t,{headers:n});if(!l.ok)return c.log.debug('scrub-thumb','index miss',{url:t,status:l.status}),null;const u=await l.json(),s=(0,o.parseThumbnailIndex)(u);return c.log.debug('scrub-thumb','index hit',{url:t,tiles:s?.tiles.length??-1}),s}catch(l){return c.log.warn('scrub-thumb','index fetch failed',{url:t,error:l instanceof Error?l.message:String(l)}),null}}const b=new Set;function f(t,l,n,u){for(const s of[u-o.THUMB_WINDOW_MS,u+o.THUMB_WINDOW_MS]){const u=`${n}:${s}`;b.has(u)||(b.add(u),(async()=>{const f=await h((0,o.buildIndexUrl)(t,n,s),l);if(null!==f)try{const{Image:u}=await r(d[8])(d[7],d.paths,"expo-image"),h={};l&&(h.Authorization=`Bearer ${l}`),await u.prefetch((0,o.buildSheetUrl)(t,f),{headers:h,cachePolicy:'disk'}),c.log.debug('scrub-thumb','neighbor sheet prefetched',{deviceId:n,ws:s})}catch{b.delete(u)}else b.delete(u)})())}}},3463,{"0":15,"1":17,"2":3081,"3":2594,"4":3144,"5":2705,"6":3464,"7":3053,"8":3378,"paths":{}});
|
|
@@ -15886,7 +15886,7 @@ __d(function(g,r,_i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',
|
|
|
15886
15886
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.planScrubPreview=function(l,n){if(null===n)return{show:l,preloadUrl:null};if(null!==l&&l.sheetUrl===n.sheetUrl)return{show:n,preloadUrl:null};return{show:l,preloadUrl:n.sheetUrl}}},3465,[]);
|
|
15887
15887
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.PtzControls=function(e){const l=(0,o.c)(63),{deviceId:p,hasFeature:j}=e,{t:P}=(0,c.useTranslation)(),{colors:y}=(0,f.useTheme)(),z=(0,h.usePtz)(p,j);if(!j||!z.available){let e,o,t;return l[0]!==y.foregroundSubtle?(e=[v.notAvailable,{color:y.foregroundSubtle}],l[0]=y.foregroundSubtle,l[1]=e):e=l[1],l[2]!==P?(o=P("v2.ptz.notAvailable"),l[2]=P,l[3]=o):o=l[3],l[4]!==e||l[5]!==o?(t=(0,b.jsx)(s.default,{style:e,children:o}),l[4]=e,l[5]=o,l[6]=t):t=l[6],t}const{options:C}=z,I=C?.hasPan??!1,w=C?.hasTilt??!1,A=C?.hasZoom??!1;let _,L,R,D,G;l[7]===Symbol.for("react.memo_cache_sentinel")?(_=(0,b.jsx)(S,{}),l[7]=_):_=l[7];l[8]!==w||l[9]!==z.tiltUp?(L=w?(0,b.jsx)(x,{icon:u.ChevronUp,onPress:z.tiltUp}):(0,b.jsx)(S,{}),l[8]=w,l[9]=z.tiltUp,l[10]=L):L=l[10];l[11]===Symbol.for("react.memo_cache_sentinel")?(R=(0,b.jsx)(S,{}),l[11]=R):R=l[11];l[12]!==L?(D=(0,b.jsxs)(t.default,{style:v.dpadRow,children:[_,L,R]}),l[12]=L,l[13]=D):D=l[13];l[14]!==I||l[15]!==z.panLeft?(G=I?(0,b.jsx)(x,{icon:u.ChevronLeft,onPress:z.panLeft}):(0,b.jsx)(S,{}),l[14]=I,l[15]=z.panLeft,l[16]=G):G=l[16];const H=z.goHome;let N,k,T,E,U,W,O,B,M,V,F,Z,q,J;l[17]!==P?(N=P("v2.ptz.home"),l[17]=P,l[18]=N):N=l[18];l[19]!==y.foregroundSubtle?(k=(0,b.jsx)(u.Home,{size:16,color:y.foregroundSubtle}),l[19]=y.foregroundSubtle,l[20]=k):k=l[20];l[21]!==z.goHome||l[22]!==N||l[23]!==k?(T=(0,b.jsx)(n.default,{onPress:H,style:v.homeBtn,accessibilityLabel:N,children:k}),l[21]=z.goHome,l[22]=N,l[23]=k,l[24]=T):T=l[24];l[25]!==I||l[26]!==z.panRight?(E=I?(0,b.jsx)(x,{icon:u.ChevronRight,onPress:z.panRight}):(0,b.jsx)(S,{}),l[25]=I,l[26]=z.panRight,l[27]=E):E=l[27];l[28]!==E||l[29]!==G||l[30]!==T?(U=(0,b.jsxs)(t.default,{style:v.dpadRow,children:[G,T,E]}),l[28]=E,l[29]=G,l[30]=T,l[31]=U):U=l[31];l[32]===Symbol.for("react.memo_cache_sentinel")?(W=(0,b.jsx)(S,{}),l[32]=W):W=l[32];l[33]!==w||l[34]!==z.tiltDown?(O=w?(0,b.jsx)(x,{icon:u.ChevronDown,onPress:z.tiltDown}):(0,b.jsx)(S,{}),l[33]=w,l[34]=z.tiltDown,l[35]=O):O=l[35];l[36]===Symbol.for("react.memo_cache_sentinel")?(B=(0,b.jsx)(S,{}),l[36]=B):B=l[36];l[37]!==O?(M=(0,b.jsxs)(t.default,{style:v.dpadRow,children:[W,O,B]}),l[37]=O,l[38]=M):M=l[38];l[39]!==U||l[40]!==M||l[41]!==D?(V=(0,b.jsxs)(t.default,{style:v.dpad,children:[D,U,M]}),l[39]=U,l[40]=M,l[41]=D,l[42]=V):V=l[42];l[43]!==y.foregroundSubtle||l[44]!==A||l[45]!==z.zoomIn||l[46]!==z.zoomOut||l[47]!==P?(F=A?(0,b.jsxs)(t.default,{style:v.zoomCol,children:[(0,b.jsx)(x,{icon:u.Plus,onPress:z.zoomIn}),(0,b.jsx)(s.default,{style:[v.zoomLabel,{color:y.foregroundSubtle}],children:P("v2.ptz.zoom")}),(0,b.jsx)(x,{icon:u.Minus,onPress:z.zoomOut})]}):null,l[43]=y.foregroundSubtle,l[44]=A,l[45]=z.zoomIn,l[46]=z.zoomOut,l[47]=P,l[48]=F):F=l[48];l[49]!==V||l[50]!==F?(Z=(0,b.jsxs)(t.default,{style:v.row,children:[V,F]}),l[49]=V,l[50]=F,l[51]=Z):Z=l[51];l[52]!==y.backgroundElevated||l[53]!==y.border||l[54]!==y.foreground||l[55]!==y.foregroundSubtle||l[56]!==y.surfaceHover||l[57]!==z||l[58]!==P?(q=z.supportsPresets?(0,b.jsxs)(t.default,{style:v.presets,children:[(0,b.jsx)(s.default,{style:[v.presetsLabel,{color:y.foregroundSubtle}],children:P("v2.ptz.presets")}),z.presets.length>0?(0,b.jsx)(t.default,{style:v.presetList,children:z.presets.map(e=>(0,b.jsxs)(n.default,{onPress:()=>z.goToPreset(e.id),accessibilityLabel:e.name,style:e=>{const{pressed:o}=e;return[v.presetChip,{backgroundColor:o?y.surfaceHover:y.backgroundElevated,borderColor:y.border}]},children:[(0,b.jsx)(u.MapPin,{size:12,color:y.foregroundSubtle}),(0,b.jsx)(s.default,{style:[v.presetText,{color:y.foreground}],numberOfLines:1,children:e.name})]},e.id))}):(0,b.jsx)(s.default,{style:[v.notAvailable,{color:y.foregroundSubtle}],children:P("v2.ptz.noPresets")})]}):null,l[52]=y.backgroundElevated,l[53]=y.border,l[54]=y.foreground,l[55]=y.foregroundSubtle,l[56]=y.surfaceHover,l[57]=z,l[58]=P,l[59]=q):q=l[59];l[60]!==Z||l[61]!==q?(J=(0,b.jsxs)(t.default,{style:v.container,children:[Z,q]}),l[60]=Z,l[61]=q,l[62]=J):J=l[62];return J};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),s=e(r(d[3])),n=e(r(d[4])),l=e(r(d[5])),c=r(d[6]),u=r(d[7]),f=r(d[8]),p=r(d[9]),h=r(d[10]),b=r(d[11]);function x(e){const t=(0,o.c)(13),{icon:s,onPress:l,disabled:c}=e,{colors:u}=(0,f.useTheme)();let p;t[0]!==u.backgroundElevated||t[1]!==u.border||t[2]!==u.surfaceHover||t[3]!==c?(p=e=>{const{pressed:o}=e;return[v.padBtn,{backgroundColor:o?u.surfaceHover:u.backgroundElevated,borderColor:u.border,opacity:c?.3:1}]},t[0]=u.backgroundElevated,t[1]=u.border,t[2]=u.surfaceHover,t[3]=c,t[4]=p):p=t[4];const h=c?u.foregroundDisabled:u.foreground;let x,S;return t[5]!==s||t[6]!==h?(x=(0,b.jsx)(s,{size:20,color:h}),t[5]=s,t[6]=h,t[7]=x):x=t[7],t[8]!==c||t[9]!==l||t[10]!==p||t[11]!==x?(S=(0,b.jsx)(n.default,{onPress:l,disabled:c,style:p,children:x}),t[8]=c,t[9]=l,t[10]=p,t[11]=x,t[12]=S):S=t[12],S}const S=()=>{const e=(0,o.c)(1);let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,b.jsx)(t.default,{style:v.spacer}),e[0]=s):s=e[0],s};const j=44,v=l.default.create({container:{alignItems:'center',gap:p.SPACING.md},notAvailable:{fontSize:12,paddingVertical:p.SPACING.sm,textAlign:'center'},row:{flexDirection:'row',alignItems:'center',gap:p.SPACING['2xl']},dpad:{gap:p.SPACING.sm},dpadRow:{flexDirection:'row',gap:p.SPACING.sm},padBtn:{width:j,height:j,borderRadius:p.RADIUS.md,borderWidth:1,alignItems:'center',justifyContent:'center'},spacer:{width:j,height:j},homeBtn:{width:j,height:j,alignItems:'center',justifyContent:'center'},zoomCol:{alignItems:'center',gap:p.SPACING.sm},zoomLabel:{fontSize:11},presets:{alignSelf:'stretch',gap:p.SPACING.sm},presetsLabel:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.5},presetList:{flexDirection:'row',flexWrap:'wrap',gap:p.SPACING.sm},presetChip:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs+2,maxWidth:'100%',paddingHorizontal:p.SPACING.md,paddingVertical:p.SPACING.sm,borderRadius:p.RADIUS.md,borderWidth:1},presetText:{fontSize:12,fontWeight:'600',flexShrink:1}})},3466,[15,17,20,112,252,33,786,813,2587,2589,3467,10]);
|
|
15888
15888
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.usePtz=function(z,f){const h=(0,t.c)(47),{controller:P,state:I}=(0,s.useConnection)();let q;h[0]!==z?(q=["v2","ptz","options",z],h[0]=z,h[1]=q):q=h[1];const C=f&&"connected"===I;let b,S;h[2]!==P||h[3]!==z?(b=async()=>{const t=P.getSystem();if(!t)return null;try{return await t.trpcClient.ptz.getOptions.query({deviceId:z})}catch{return null}},h[2]=P,h[3]=z,h[4]=b):b=h[4];h[5]!==q||h[6]!==C||h[7]!==b?(S={queryKey:q,enabled:C,staleTime:3e5,queryFn:b},h[5]=q,h[6]=C,h[7]=b,h[8]=S):S=h[8];const T=(0,n.useQuery)(S);let O;h[9]!==P||h[10]!==z?(O=t=>{const n=P.getSystem();n&&n.trpcClient.ptz.move.mutate(Object.assign({deviceId:z},t)).catch(y)},h[9]=P,h[10]=z,h[11]=O):O=h[11];const _=O;let w;h[12]!==P||h[13]!==z?(w=()=>{const t=P.getSystem();t&&t.trpcClient.ptz.goHome.mutate({deviceId:z}).catch(p)},h[12]=P,h[13]=z,h[14]=w):w=h[14];const j=w,F=T.data??null,H=F?.supportsPresets??!1;let K;h[15]!==z?(K=["v2","ptz","presets",z],h[15]=z,h[16]=K):K=h[16];const Q=f&&"connected"===I&&H;let D,L;h[17]!==P||h[18]!==z?(D=async()=>{const t=P.getSystem();if(!t)return[];try{return await t.trpcClient.ptz.getPresets.query({deviceId:z})}catch{return[]}},h[17]=P,h[18]=z,h[19]=D):D=h[19];h[20]!==K||h[21]!==Q||h[22]!==D?(L={queryKey:K,enabled:Q,staleTime:3e5,queryFn:D},h[20]=K,h[21]=Q,h[22]=D,h[23]=L):L=h[23];const M=(0,n.useQuery)(L);let R;h[24]!==P||h[25]!==z?(R=t=>{const n=P.getSystem();n&&n.trpcClient.ptz.goToPreset.mutate({deviceId:z,presetId:t}).catch(l)},h[24]=P,h[25]=z,h[26]=R):R=h[26];const U=R,Z=M.data??v,k=null!==F&&(F.hasPan||F.hasTilt||F.hasZoom);let x,A,B,E,G,J,N;h[27]!==_?(x=()=>_({pan:-.3}),A=()=>_({pan:o}),B=()=>_({tilt:c}),E=()=>_({tilt:-.3}),G=()=>_({zoom:u}),J=()=>_({zoom:-.2}),h[27]=_,h[28]=x,h[29]=A,h[30]=B,h[31]=E,h[32]=G,h[33]=J):(x=h[28],A=h[29],B=h[30],E=h[31],G=h[32],J=h[33]);h[34]!==k||h[35]!==j||h[36]!==U||h[37]!==F||h[38]!==Z||h[39]!==H||h[40]!==x||h[41]!==A||h[42]!==B||h[43]!==E||h[44]!==G||h[45]!==J?(N={options:F,available:k,supportsPresets:H,presets:Z,panLeft:x,panRight:A,tiltUp:B,tiltDown:E,zoomIn:G,zoomOut:J,goHome:j,goToPreset:U},h[34]=k,h[35]=j,h[36]=U,h[37]=F,h[38]=Z,h[39]=H,h[40]=x,h[41]=A,h[42]=B,h[43]=E,h[44]=G,h[45]=J,h[46]=N):N=h[46];return N};var t=r(d[0]);r(d[1]);var n=r(d[2]),s=r(d[3]);const o=.3,c=.3,u=.2;function l(){}function p(){}function y(){}const v=[]},3467,[15,17,3081,2594]);
|
|
15889
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DevicesPanel=function(e){const
|
|
15889
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DevicesPanel=function(e){const l=(0,t.c)(31),{deviceId:u}=e,{t:h}=(0,c.useTranslation)(),{colors:A}=(0,f.useTheme)(),{data:I,isLoading:w}=(0,y.useLinkedDevices)(u),{data:k}=(0,p.useCameras)();let _,P,D,L,G,N;if(l[0]!==A||l[1]!==I||l[2]!==u||l[3]!==w||l[4]!==h||l[5]!==k){G=Symbol.for("react.early_return_sentinel");e:{const e=void 0===k?[]:k,t=e.find(e=>e.id===u)?.name;if(w&&!I){let e;l[11]!==A.primary?(e=(0,x.jsx)(n.default,{style:j.center,children:(0,x.jsx)(s.default,{color:A.primary})}),l[11]=A.primary,l[12]=e):e=l[12],G=e;break e}const c=I?.devices??[];if(0===c.length){let e,t,n;l[13]!==A.foregroundSubtle?(e=[j.empty,{color:A.foregroundSubtle}],l[13]=A.foregroundSubtle,l[14]=e):e=l[14],l[15]!==h?(t=h("v2.cameraDetail.devicesEmpty"),l[15]=h,l[16]=t):t=l[16],l[17]!==e||l[18]!==t?(n=(0,x.jsx)(o.default,{style:e,children:t}),l[17]=e,l[18]=t,l[19]=n):n=l[19],G=n;break e}let f;l[20]!==I||l[21]!==h?(f="linked"===I?.source&&null!==I.mode?h("auto"===I.mode?"v2.cameraDetail.linkedModeAuto":"v2.cameraDetail.linkedModeManual"):null,l[20]=I,l[21]=h,l[22]=f):f=l[22];const y=f;_=n.default,P=j.list,l[23]!==A||l[24]!==y?(D=null!==y&&(0,x.jsx)(o.default,{style:[j.modeCaption,{color:A.foregroundSubtle}],children:y}),l[23]=A,l[24]=y,l[25]=D):D=l[25],L=c.map(e=>{const l=v(e.type),s=e.online?A.primary:A.foregroundSubtle,c=C(e.name,t);return(0,x.jsxs)(n.default,{style:[j.row,{borderBottomColor:A.borderSubtle}],children:[(0,x.jsx)(n.default,{style:[j.iconWrap,{backgroundColor:A.backgroundElevated}],children:(0,x.jsx)(l,{size:18,color:s})}),(0,x.jsxs)(n.default,{style:j.label,children:[(0,x.jsx)(o.default,{style:[j.name,{color:A.foreground}],numberOfLines:1,children:c}),null!==e.location&&(0,x.jsx)(o.default,{style:[j.location,{color:A.foregroundSubtle}],numberOfLines:1,children:e.location})]}),(0,x.jsx)(n.default,{style:j.control,children:"container"===e.type?(0,x.jsx)(S.ContainerAccessoryControl,{containerId:e.id}):(0,x.jsx)(b.AccessoryControl,{device:e})})]},e.id)})}l[0]=A,l[1]=I,l[2]=u,l[3]=w,l[4]=h,l[5]=k,l[6]=_,l[7]=P,l[8]=D,l[9]=L,l[10]=G}else _=l[6],P=l[7],D=l[8],L=l[9],G=l[10];if(G!==Symbol.for("react.early_return_sentinel"))return G;l[26]!==_||l[27]!==P||l[28]!==D||l[29]!==L?(N=(0,x.jsxs)(_,{style:P,children:[D,L]}),l[26]=_,l[27]=P,l[28]=D,l[29]=L,l[30]=N):N=l[30];return N};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),s=e(r(d[5])),c=r(d[6]),u=r(d[7]),f=r(d[8]),h=r(d[9]),y=r(d[10]),p=r(d[11]),b=r(d[12]),S=r(d[13]),x=r(d[14]);function C(e,t){if(!t)return e;const n=e.toLowerCase(),o=t.toLowerCase();if(n.startsWith(o)){const n=e.slice(t.length).trim();if(n.length>0)return n}return e}function v(e){switch(e){case'light':return u.Lightbulb;case'siren':return u.Bell;case'lock':return u.DoorOpen;case'media-player':return u.Volume2;case'switch':return u.ToggleRight;case'thermostat':case'water-heater':case'humidifier':return u.Thermometer;case'sensor':case'presence':return u.Activity;case'cover':case'valve':return u.Blinds;case'fan':return u.Fan;case'alarm-panel':return u.ShieldAlert;default:return u.Cpu}}const j=l.default.create({center:{paddingVertical:h.SPACING.lg,alignItems:'center'},empty:{fontSize:13,paddingVertical:h.SPACING.md,textAlign:'center'},list:{gap:h.SPACING.xs},row:{flexDirection:'row',alignItems:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.sm,borderBottomWidth:l.default.hairlineWidth},iconWrap:{width:36,height:36,borderRadius:10,alignItems:'center',justifyContent:'center'},label:{flex:1,gap:2},name:{fontSize:14,fontWeight:'500'},location:{fontSize:11},modeCaption:{fontSize:11,paddingBottom:h.SPACING.xs},statusLine:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm},dot:{width:7,height:7,borderRadius:4},type:{fontSize:12,fontWeight:'500'},control:{flexShrink:0}})},3468,[15,17,20,112,33,240,786,813,2587,2589,3469,3080,3471,3485,10]);
|
|
15890
15890
|
__d(function(g,r,_i,_a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"EMPTY_LINKED_DEVICES",{enumerable:!0,get:function(){return o}}),_e.parseLinkedDevices=s,_e.enrichLinkedEntries=u,_e.sortDevicesByName=l,_e.resolveLinkedDevicesData=f,_e.useLinkedDevices=function(a){const s=(0,e.c)(9),{controller:u,state:l}=(0,t.useConnection)();let d;s[0]!==a?(d=["v2","linked-devices",a],s[0]=a,s[1]=d):d=s[1];const h="connected"===l;let D,I;s[2]!==u||s[3]!==a?(D=async()=>{const e=u.getSystem();return e?f({fetchLinked:()=>(0,i.capQuery)(e.trpcClient,"deviceManager","getLinkedDevices",{deviceId:a}),fetchChildren:async()=>{const n=await e.trpcClient.deviceManager.getChildren.query({parentDeviceId:a});return(Array.isArray(n)?n:[]).map(c.toAccessory).filter(p)},fetchDeviceInfos:async()=>(await e.trpcClient.deviceManager.listAll.query({})).map(y)}):o},s[2]=u,s[3]=a,s[4]=D):D=s[4];s[5]!==d||s[6]!==h||s[7]!==D?(I={queryKey:d,enabled:h,staleTime:v,refetchInterval:v,queryFn:D},s[5]=d,s[6]=h,s[7]=D,s[8]=I):I=s[8];return(0,n.useQuery)(I)};var e=r(_d[0]),n=r(_d[1]),t=r(_d[2]),i=r(_d[3]),c=r(_d[4]);const o={source:'children',mode:null,devices:[]};function a(e){if(!(0,i.isRecord)(e))return null;const{deviceId:n,name:t,location:o}=e;return'number'!=typeof n?null:{deviceId:n,name:'string'==typeof t&&t.trim()?t.trim():`Device #${n}`,location:'string'==typeof o&&o.length>0?o:null,features:(0,c.toFeatures)(e.features)}}function s(e){if(!(0,i.isRecord)(e))return null;const{mode:n,devices:t}=e;if('auto'!==n&&'manual'!==n)return null;if(!Array.isArray(t))return null;return{mode:n,entries:t.map(a).filter(e=>null!==e)}}function u(e,n){const t=new Map(n.map(e=>[e.id,e]));return e.map(e=>{const n=t.get(e.deviceId);return{id:e.deviceId,name:e.name,type:n?.type??'',online:n?.online??!0,features:e.features,location:e.location}})}function l(e){return[...e].sort((e,n)=>e.name.localeCompare(n.name,void 0,{sensitivity:'base'}))}function d(e){return Object.assign({},e,{location:null})}async function f(e){const n=s(await e.fetchLinked().catch(()=>null));if(null===n){return{source:'children',mode:null,devices:l((await e.fetchChildren().catch(()=>[])).map(d))}}const t=await e.fetchDeviceInfos().catch(()=>[]);return{source:'linked',mode:n.mode,devices:l(u(n.entries,t))}}const v=3e4;function y(e){return{id:e.id,type:e.type,online:e.online}}function p(e){return null!==e}},3469,[15,3081,2594,3162,3470]);
|
|
15891
15891
|
__d(function(g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.toFeatures=o,_e.toAccessory=u,_e.useAccessories=function(o){const{controller:c,state:a}=(0,t.useConnection)();return(0,e.useQuery)({queryKey:['v2','accessories',o],enabled:'connected'===a,refetchInterval:n,queryFn:async()=>{const e=c.getSystem();if(!e)return[];try{const t=await e.trpcClient.deviceManager.getChildren.query({parentDeviceId:o}),n=Array.isArray(t)?t:[];for(const e of n)s(e)&&console.warn('[accessories] child',e.id,'type=',String(e.type),'keys=',Object.keys(e).join(','),'features=',JSON.stringify(e.features));return n.map(u).filter(e=>null!==e)}catch(e){return console.warn('[accessories] error device',o,e instanceof Error?e.message:String(e)),[]}}})};var e=r(d[0]),t=r(d[1]);const n=15e3;function s(e){return'object'==typeof e&&null!==e}function o(e){if(!Array.isArray(e))return c;const t=e.filter(e=>'string'==typeof e&&e.length>0);return t.length>0?t:c}const c=[];function u(e){if(!s(e))return null;const{id:t,name:n,type:c,online:u,features:a}=e;return'number'!=typeof t||'string'!=typeof c?null:{id:t,name:'string'==typeof n&&n.trim()?n.trim():`Device #${t}`,type:c,online:!0===u,features:o(a)}}},3470,[3081,2594]);
|
|
15892
15892
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AccessoryControl=function(e){const s=(0,t.c)(13),{device:o}=e,u=(0,l.pickAccessoryControl)(o);if(!(0,l.hasMotionTrigger)(o.features)){let e;return s[0]!==o?(e=(0,b.jsx)(O,{device:o}),s[0]=o,s[1]=e):e=s[1],e}if("none"===u.kind){let e;return s[2]!==o.id||s[3]!==o.online?(e=(0,b.jsx)(c.MotionTriggerToggle,{deviceId:o.id,online:o.online}),s[2]=o.id,s[3]=o.online,s[4]=e):e=s[4],e}let j,C,x;s[5]!==o.id||s[6]!==o.online?(j=(0,b.jsx)(c.MotionTriggerToggle,{deviceId:o.id,online:o.online}),s[5]=o.id,s[6]=o.online,s[7]=j):j=s[7];s[8]!==o?(C=(0,b.jsx)(O,{device:o}),s[8]=o,s[9]=C):C=s[9];s[10]!==j||s[11]!==C?(x=(0,b.jsxs)(n.default,{style:v.row,children:[j,C]}),s[10]=j,s[11]=C,s[12]=x):x=s[12];return x};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),s=e(r(d[3])),o=r(d[4]),l=r(d[5]),c=r(d[6]),u=r(d[7]),j=r(d[8]),C=r(d[9]),x=r(d[10]),b=r(d[11]);function O(e){const n=(0,t.c)(46),{device:s}=e;let o;n[0]!==s?(o=(0,l.pickAccessoryControl)(s),n[0]=s,n[1]=o):o=n[1];const c=o;let O;n[2]!==s.id||n[3]!==s.online?(O={deviceId:s.id,online:s.online},n[2]=s.id,n[3]=s.online,n[4]=O):O=n[4];const v=O;switch(c.kind){case"cover":{let e;return n[5]!==v?(e=(0,b.jsx)(u.CoverControl,Object.assign({},v,{capKey:"cover"})),n[5]=v,n[6]=e):e=n[6],e}case"valve":{let e;return n[7]!==v?(e=(0,b.jsx)(u.CoverControl,Object.assign({},v,{capKey:"valve"})),n[7]=v,n[8]=e):e=n[8],e}case"lock":{let e;return n[9]!==v?(e=(0,b.jsx)(u.LockControl,Object.assign({},v)),n[9]=v,n[10]=e):e=n[10],e}case"alarm":{let e;return n[11]!==v?(e=(0,b.jsx)(u.AlarmControl,Object.assign({},v)),n[11]=v,n[12]=e):e=n[12],e}case"climate":{let e;return n[13]!==v?(e=(0,b.jsx)(u.ClimateControl,Object.assign({},v)),n[13]=v,n[14]=e):e=n[14],e}case"fan":{let e;return n[15]!==v?(e=(0,b.jsx)(u.FanControl,Object.assign({},v)),n[15]=v,n[16]=e):e=n[16],e}case"brightness":{let e;return n[17]!==v?(e=(0,b.jsx)(u.BrightnessControl,Object.assign({},v)),n[17]=v,n[18]=e):e=n[18],e}case"switch":{let e;return n[19]!==v?(e=(0,b.jsx)(u.SwitchControl,Object.assign({},v)),n[19]=v,n[20]=e):e=n[20],e}case"button":{let e;return n[21]!==v?(e=(0,b.jsx)(u.ButtonControl,Object.assign({},v)),n[21]=v,n[22]=e):e=n[22],e}case"media-player":{let e;return n[23]!==v?(e=(0,b.jsx)(j.MediaPlayerControl,Object.assign({},v)),n[23]=v,n[24]=e):e=n[24],e}case"vacuum":{let e;return n[25]!==v?(e=(0,b.jsx)(j.VacuumControl,Object.assign({},v)),n[25]=v,n[26]=e):e=n[26],e}case"lawn-mower":{let e;return n[27]!==v?(e=(0,b.jsx)(j.LawnMowerControl,Object.assign({},v)),n[27]=v,n[28]=e):e=n[28],e}case"pet-feeder":{let e;return n[29]!==v?(e=(0,b.jsx)(j.PetFeederControl,Object.assign({},v)),n[29]=v,n[30]=e):e=n[30],e}case"humidifier":{let e;return n[31]!==v?(e=(0,b.jsx)(C.HumidifierControl,Object.assign({},v)),n[31]=v,n[32]=e):e=n[32],e}case"water-heater":{let e;return n[33]!==v?(e=(0,b.jsx)(C.WaterHeaterControl,Object.assign({},v)),n[33]=v,n[34]=e):e=n[34],e}case"update":{let e;return n[35]!==v?(e=(0,b.jsx)(x.UpdateControl,Object.assign({},v)),n[35]=v,n[36]=e):e=n[36],e}case"weather":{let e;return n[37]!==v?(e=(0,b.jsx)(x.WeatherControl,Object.assign({},v)),n[37]=v,n[38]=e):e=n[38],e}case"image":{let e;return n[39]!==v?(e=(0,b.jsx)(x.ImageControl,Object.assign({},v)),n[39]=v,n[40]=e):e=n[40],e}case"input":{let e;return n[41]!==v?(e=(0,b.jsx)(x.InputControl,Object.assign({},v)),n[41]=v,n[42]=e):e=n[42],e}case"sensor":{let e;return n[43]!==v||n[44]!==c.sensorFeature?(e=c.sensorFeature?(0,b.jsx)(u.SensorValueControl,Object.assign({},v,{feature:c.sensorFeature})):null,n[43]=v,n[44]=c.sensorFeature,n[45]=e):e=n[45],e}case"none":return null;default:return c.kind}}const v=s.default.create({row:{flexDirection:'row',alignItems:'center',gap:o.SPACING.sm}})},3471,[15,17,20,33,2589,3472,3473,3477,3480,3482,3484,10]);
|
|
@@ -15903,120 +15903,123 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
|
|
|
15903
15903
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.HumidifierControl=function(e){const s=(0,t.c)(49),{deviceId:f,online:C}=e,{t:w}=(0,l.useTranslation)(),{colors:I}=(0,c.useTheme)(),_=(0,p.useHumidifierStatus)(f,C),S=(0,h.useCapMutator)(f),M=_.data,P=M?.on??!1,B=M?.targetHumidity??null,L=M?.minHumidity??j,O=M?.maxHumidity??T;let D;s[0]!==S||s[1]!==P||s[2]!==_?(D=async()=>{await S.run("humidifier","setOn",{on:!P}),_.refetch()},s[0]=S,s[1]=P,s[2]=_,s[3]=D):D=s[3];const W=D;let U;s[4]!==O||s[5]!==L||s[6]!==S||s[7]!==_||s[8]!==B?(U=async e=>{await S.run("humidifier","setTargetHumidity",{humidity:(0,x.stepValue)(B,e,y,L,O)}),_.refetch()},s[4]=O,s[5]=L,s[6]=S,s[7]=_,s[8]=B,s[9]=U):U=s[9];const A=U;if(_.isLoading&&!M){let e;return s[10]===Symbol.for("react.memo_cache_sentinel")?(e=(0,v.jsx)(b.ControlSpinner,{}),s[10]=e):e=s[10],e}const N=!C||S.pending;let V,z,F,G;s[11]!==P||s[12]!==w?(V=w(P?"v2.accessories.off":"v2.accessories.on"),s[11]=P,s[12]=w,s[13]=V):V=s[13];s[14]!==W?(z=()=>{W()},s[14]=W,s[15]=z):z=s[15];s[16]!==N||s[17]!==P||s[18]!==V||s[19]!==z?(F=(0,v.jsx)(b.IconButton,{icon:u.Power,label:V,active:P,disabled:N,onPress:z}),s[16]=N,s[17]=P,s[18]=V,s[19]=z,s[20]=F):F=s[20];s[21]!==w?(G=w("v2.accessories.dimDown"),s[21]=w,s[22]=G):G=s[22];const $=N||null===B;let k,q,E,J,K,Q;s[23]!==A?(k=()=>{A(-1)},s[23]=A,s[24]=k):k=s[24];s[25]!==G||s[26]!==$||s[27]!==k?(q=(0,v.jsx)(b.IconButton,{icon:u.ChevronDown,label:G,disabled:$,onPress:k}),s[25]=G,s[26]=$,s[27]=k,s[28]=q):q=s[28];s[29]!==I.foreground?(E=[H.readout,{color:I.foreground}],s[29]=I.foreground,s[30]=E):E=s[30];s[31]!==B?(J=null!==B?`${Math.round(B)}%`:"--",s[31]=B,s[32]=J):J=s[32];s[33]!==E||s[34]!==J?(K=(0,v.jsx)(o.default,{style:E,numberOfLines:1,children:J}),s[33]=E,s[34]=J,s[35]=K):K=s[35];s[36]!==w?(Q=w("v2.accessories.dimUp"),s[36]=w,s[37]=Q):Q=s[37];const R=N||null===B;let X,Y,Z;s[38]!==A?(X=()=>{A(1)},s[38]=A,s[39]=X):X=s[39];s[40]!==Q||s[41]!==R||s[42]!==X?(Y=(0,v.jsx)(b.IconButton,{icon:u.ChevronUp,label:Q,disabled:R,onPress:X}),s[40]=Q,s[41]=R,s[42]=X,s[43]=Y):Y=s[43];s[44]!==K||s[45]!==Y||s[46]!==F||s[47]!==q?(Z=(0,v.jsxs)(n.default,{style:H.cluster,children:[F,q,K,Y]}),s[44]=K,s[45]=Y,s[46]=F,s[47]=q,s[48]=Z):Z=s[48];return Z},_e.WaterHeaterControl=function(e){const s=(0,t.c)(36),{deviceId:f,online:y}=e,{t:j}=(0,l.useTranslation)(),{colors:T}=(0,c.useTheme)(),S=(0,p.useWaterHeaterStatus)(f,y),M=(0,h.useCapMutator)(f),P=S.data,B=P?.targetTemp??null,L=P?.minTemp??w,O=P?.maxTemp??I;let D;s[0]!==O||s[1]!==L||s[2]!==M||s[3]!==S||s[4]!==B?(D=async e=>{await M.run("waterHeater","setTargetTemp",{temp:(0,x.stepValue)(B,e,C,L,O)}),S.refetch()},s[0]=O,s[1]=L,s[2]=M,s[3]=S,s[4]=B,s[5]=D):D=s[5];const W=D;if(S.isLoading&&!P){let e;return s[6]===Symbol.for("react.memo_cache_sentinel")?(e=(0,v.jsx)(b.ControlSpinner,{}),s[6]=e):e=s[6],e}const U=!y||M.pending,A=_;let N,V;s[7]!==T.foregroundMuted||s[8]!==P?(N=null!=P?.currentTemp?(0,v.jsx)(o.default,{style:[H.readout,{color:T.foregroundMuted}],numberOfLines:1,children:A(P.currentTemp)}):null,s[7]=T.foregroundMuted,s[8]=P,s[9]=N):N=s[9];s[10]!==j?(V=j("v2.accessories.cooler"),s[10]=j,s[11]=V):V=s[11];const z=U||null===B;let F,G,$;s[12]!==W?(F=()=>{W(-1)},s[12]=W,s[13]=F):F=s[13];s[14]!==V||s[15]!==z||s[16]!==F?(G=(0,v.jsx)(b.IconButton,{icon:u.ChevronDown,label:V,disabled:z,onPress:F}),s[14]=V,s[15]=z,s[16]=F,s[17]=G):G=s[17];s[18]!==T.foreground?($=[H.readout,{color:T.foreground}],s[18]=T.foreground,s[19]=$):$=s[19];const k=null!==B?A(B):"--";let q,E;s[20]!==$||s[21]!==k?(q=(0,v.jsx)(o.default,{style:$,numberOfLines:1,children:k}),s[20]=$,s[21]=k,s[22]=q):q=s[22];s[23]!==j?(E=j("v2.accessories.warmer"),s[23]=j,s[24]=E):E=s[24];const J=U||null===B;let K,Q,R;s[25]!==W?(K=()=>{W(1)},s[25]=W,s[26]=K):K=s[26];s[27]!==E||s[28]!==J||s[29]!==K?(Q=(0,v.jsx)(b.IconButton,{icon:u.ChevronUp,label:E,disabled:J,onPress:K}),s[27]=E,s[28]=J,s[29]=K,s[30]=Q):Q=s[30];s[31]!==Q||s[32]!==N||s[33]!==G||s[34]!==q?(R=(0,v.jsxs)(n.default,{style:H.cluster,children:[N,G,q,Q]}),s[31]=Q,s[32]=N,s[33]=G,s[34]=q,s[35]=R):R=s[35];return R};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),l=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]),h=r(d[9]),p=r(d[10]),b=r(d[11]),x=r(d[12]),v=r(d[13]);const y=5,j=0,T=100,C=.5,w=30,I=80;function _(e){return(Number.isInteger(e)?String(e):e.toFixed(1))+"\xb0"}const H=s.default.create({cluster:{flexDirection:'row',alignItems:'center',gap:f.SPACING.sm},readout:{fontSize:12,fontWeight:'600',minWidth:34,textAlign:'center'}})},3482,[15,17,20,112,33,786,813,2587,2589,3474,3481,3476,3483,10]);
|
|
15904
15904
|
__d(function(g,r,i,a,m,e,d){"use strict";function n(n,t,u){return Math.max(t,Math.min(u,n))}Object.defineProperty(e,'__esModule',{value:!0}),e.clampRange=n,e.stepValue=function(t,u,c,o,f){return l=n((t??o)+u*(c>0?c:1),o,f),Math.round(100*l)/100;var l},e.nextInList=function(n,t){if(0===t.length)return n;const u=t.indexOf(n);return-1===u?t[0]:t[(u+1)%t.length]}},3483,[]);
|
|
15905
15905
|
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.UpdateControl=function(e){const n=(0,t.c)(22),{deviceId:s,online:l}=e,{t:h}=(0,u.useTranslation)(),{colors:y}=(0,f.useTheme)(),C=(0,v.useUpdateStatus)(s,l),j=(0,p.useCapMutator)(s),S=C.data;let I;n[0]!==j||n[1]!==C?(I=async()=>{await j.run("update","installUpdate",{}),C.refetch()},n[0]=j,n[1]=C,n[2]=I):I=n[2];const P=I;if(C.isLoading&&!S){let e;return n[3]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),n[3]=e):e=n[3],e}const L=!l||j.pending||(S?.inProgress??!1);if(S?.updatable){let e;n[4]!==S.inProgress||n[5]!==h?(e=S.inProgress?h("v2.accessories.installing"):h("v2.accessories.install"),n[4]=S.inProgress,n[5]=h,n[6]=e):e=n[6];const t=S.inProgress?c.RefreshCw:c.Download;let o,s;return n[7]!==P?(o=()=>{P()},n[7]=P,n[8]=o):o=n[8],n[9]!==L||n[10]!==e||n[11]!==t||n[12]!==o?(s=(0,x.jsx)(b.PillButton,{label:e,icon:t,active:!0,disabled:L,onPress:o}),n[9]=L,n[10]=e,n[11]=t,n[12]=o,n[13]=s):s=n[13],s}let M,w,T;n[14]!==y.foregroundMuted?(M=[_.readonly,{color:y.foregroundMuted}],n[14]=y.foregroundMuted,n[15]=M):M=n[15];n[16]!==S?.currentVersion||n[17]!==h?(w=S?.currentVersion??h("v2.accessories.upToDate"),n[16]=S?.currentVersion,n[17]=h,n[18]=w):w=n[18];n[19]!==M||n[20]!==w?(T=(0,x.jsx)(o.default,{style:M,numberOfLines:1,children:w}),n[19]=M,n[20]=w,n[21]=T):T=n[21];return T},_e.WeatherControl=function(e){const n=(0,t.c)(12),{deviceId:s,online:l}=e,{colors:u}=(0,f.useTheme)(),c=(0,v.useWeatherStatus)(s,l),h=c.data;if(c.isLoading&&!h){let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),n[0]=e):e=n[0],e}if(!h)return null;let p;n[1]!==h.temperature||n[2]!==h.temperatureUnit?(p=null!==h.temperature?`${Math.round(h.temperature)}${h.temperatureUnit??"\xb0"}`:"",n[1]=h.temperature,n[2]=h.temperatureUnit,n[3]=p):p=n[3];const y=p,C=h.condition??"";let j;n[4]!==C||n[5]!==y?(j=[y,C].filter(I),n[4]=C,n[5]=y,n[6]=j):j=n[6];const S=j.join(" \xb7 ");if(!S)return null;let P,L;n[7]!==u.foreground?(P=[_.readonly,{color:u.foreground}],n[7]=u.foreground,n[8]=P):P=n[8];n[9]!==P||n[10]!==S?(L=(0,x.jsx)(o.default,{style:P,numberOfLines:1,children:S}),n[9]=P,n[10]=S,n[11]=L):L=n[11];return L},_e.ImageControl=function(e){const n=(0,t.c)(8),{deviceId:o,online:l}=e,{colors:u}=(0,f.useTheme)(),c=(0,v.useImageStatus)(o,l),h=c.data?.url??null;if(c.isLoading&&!c.data){let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),n[0]=e):e=n[0],e}if(!h)return null;let p,y,C;n[1]!==h?(p={uri:h},n[1]=h,n[2]=p):p=n[2];n[3]!==u.border?(y=[_.thumb,{borderColor:u.border}],n[3]=u.border,n[4]=y):y=n[4];n[5]!==p||n[6]!==y?(C=(0,x.jsx)(s.default,{source:p,style:y,resizeMode:"cover",accessibilityIgnoresInvertColors:!0}),n[5]=p,n[6]=y,n[7]=C):C=n[7];return C},_e.InputControl=function(e){const s=(0,t.c)(48),{deviceId:l,online:h}=e,{t:I}=(0,u.useTranslation)(),{colors:P}=(0,f.useTheme)(),L=(0,v.useControlStatus)(l,h),M=(0,p.useCapMutator)(l),w=L.data;let T;s[0]!==w||s[1]!==M||s[2]!==L?(T=async e=>{if(!w||"number"!=typeof w.value)return;const t=(0,y.stepValue)(w.value,e,w.step??S,w.min??C,w.max??j);await M.run("control","setValue",{control:{kind:"numeric",value:t}}),L.refetch()},s[0]=w,s[1]=M,s[2]=L,s[3]=T):T=s[3];const U=T;let W;s[4]!==w||s[5]!==M||s[6]!==L?(W=async()=>{if(!w||"string"!=typeof w.value||0===w.options.length)return;const e=(0,y.nextInList)(w.value,w.options);e!==w.value&&(await M.run("control","setValue",{control:{kind:"select",value:e}}),L.refetch())},s[4]=w,s[5]=M,s[6]=L,s[7]=W):W=s[7];const V=W;if(L.isLoading&&!w){let e;return s[8]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),s[8]=e):e=s[8],e}if(!w)return null;const O=!h||M.pending;if("numeric"===w.kind&&"number"==typeof w.value){const e=w.unit?` ${w.unit}`:"";let t,l,u,f;s[9]!==I?(t=I("v2.accessories.decrease"),s[9]=I,s[10]=t):t=s[10],s[11]!==U?(l=()=>{U(-1)},s[11]=U,s[12]=l):l=s[12],s[13]!==O||s[14]!==t||s[15]!==l?(u=(0,x.jsx)(b.IconButton,{icon:c.ChevronDown,label:t,disabled:O,onPress:l}),s[13]=O,s[14]=t,s[15]=l,s[16]=u):u=s[16],s[17]!==P.foreground?(f=[_.readout,{color:P.foreground}],s[17]=P.foreground,s[18]=f):f=s[18];const h=`${w.value}${e}`;let p,v,y,C,j;return s[19]!==f||s[20]!==h?(p=(0,x.jsx)(o.default,{style:f,numberOfLines:1,children:h}),s[19]=f,s[20]=h,s[21]=p):p=s[21],s[22]!==I?(v=I("v2.accessories.increase"),s[22]=I,s[23]=v):v=s[23],s[24]!==U?(y=()=>{U(1)},s[24]=U,s[25]=y):y=s[25],s[26]!==O||s[27]!==y||s[28]!==v?(C=(0,x.jsx)(b.IconButton,{icon:c.ChevronUp,label:v,disabled:O,onPress:y}),s[26]=O,s[27]=y,s[28]=v,s[29]=C):C=s[29],s[30]!==C||s[31]!==u||s[32]!==p?(j=(0,x.jsxs)(n.default,{style:_.cluster,children:[u,p,C]}),s[30]=C,s[31]=u,s[32]=p,s[33]=j):j=s[33],j}if("select"===w.kind&&"string"==typeof w.value){let e;s[34]!==w.value||s[35]!==I?(e=w.value||I("v2.accessories.select"),s[34]=w.value,s[35]=I,s[36]=e):e=s[36];const t=O||w.options.length<=1;let n,o;return s[37]!==V?(n=()=>{V()},s[37]=V,s[38]=n):n=s[38],s[39]!==e||s[40]!==t||s[41]!==n?(o=(0,x.jsx)(b.PillButton,{label:e,active:!0,disabled:t,onPress:n}),s[39]=e,s[40]=t,s[41]=n,s[42]=o):o=s[42],o}let $;s[43]!==P.foreground?($=[_.readonly,{color:P.foreground}],s[43]=P.foreground,s[44]=$):$=s[44];const k=String(w.value);let B;s[45]!==$||s[46]!==k?(B=(0,x.jsx)(o.default,{style:$,numberOfLines:1,children:k}),s[45]=$,s[46]=k,s[47]=B):B=s[47];return B};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]),h=r(d[9]),p=r(d[10]),v=r(d[11]),b=r(d[12]),y=r(d[13]),x=r(d[14]);const C=0,j=100,S=1;function I(e){return e.length>0}const _=l.default.create({cluster:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm},readout:{fontSize:12,fontWeight:'600',minWidth:40,textAlign:'center'},readonly:{fontSize:14,fontWeight:'600'},thumb:{width:44,height:28,borderRadius:6,borderWidth:l.default.hairlineWidth}})},3484,[15,17,20,112,192,33,786,813,2587,2589,3474,3481,3476,3483,10]);
|
|
15906
|
-
__d(function(g,r,i,a,m,
|
|
15907
|
-
__d(function(g,r,
|
|
15908
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportModal=function(e){const f=(0,t.c)(182),{t:V}=(0,x.useTranslation)(),{colors:L}=(0,v.useTheme)(),[H,U]=(0,o.useState)(k),[q,O]=(0,o.useState)(1),[X,$]=(0,o.useState)(!1),[J,K]=(0,o.useState)(2e3),[Q,Y]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(T),[te,oe]=(0,o.useState)(!1),[le,re]=(0,o.useState)(null),ne=e.anchorEpoch,se=ne-H,{data:ie}=(0,y.useRecordingProfiles)(e.deviceId,se,ne,e.visible);let de;f[0]!==ie?(de=void 0===ie?[]:ie,f[0]=ie,f[1]=de):de=f[1];const ae=de,ce=le??ae[0]??null,ue=(0,C.useCreateExport)();let fe;f[2]!==q||f[3]!==X?(fe=N(X,q),f[2]=q,f[3]=X,f[4]=fe):fe=f[4];const pe=fe,xe=null===ce||ue.isPending;let ge;f[5]!==J||f[6]!==pe||f[7]!==ue||f[8]!==te||f[9]!==ce||f[10]!==se||f[11]!==Q||f[12]!==Z||f[13]!==e||f[14]!==q||f[15]!==V||f[16]!==X||f[17]!==ne?(ge=async()=>{if(null===ce)return;const t=X?{timelapse:{everyMs:J,outputFps:G},includeAudio:!1,maxLifeMs:Z,deleteAfterDownload:te}:{speed:q,includeAudio:pe&&Q,maxLifeMs:Z,deleteAfterDownload:te};try{await ue.mutateAsync({deviceId:e.deviceId,profile:ce,fromMs:se,toMs:ne,options:t}),e.onCreated()}catch(e){const t=e;p.default.alert(V("v2.exports.title"),t instanceof Error?t.message:V("v2.exports.createFailed"))}},f[5]=J,f[6]=pe,f[7]=ue,f[8]=te,f[9]=ce,f[10]=se,f[11]=Q,f[12]=Z,f[13]=e,f[14]=q,f[15]=V,f[16]=X,f[17]=ne,f[18]=ge):ge=f[18];const be=ge;let ve,he,Se,me;f[19]!==V?(ve=V("v2.exports.life24h"),f[19]=V,f[20]=ve):ve=f[20];f[21]!==V?(he=V("v2.exports.life7d"),f[21]=V,f[22]=he):he=f[22];f[23]!==V?(Se=V("v2.exports.life30d"),f[23]=V,f[24]=Se):Se=f[24];f[25]!==ve||f[26]!==he||f[27]!==Se?(me={[D[0]]:ve,[D[1]]:he,[D[2]]:Se},f[25]=ve,f[26]=he,f[27]=Se,f[28]=me):me=f[28];const je=me,ye=e.visible,Ce=e.onClose;let Ie,we,Ae,Pe,Me,Re,De,ke,Te,Ge,Ne,ze,Fe,We,Be;f[29]!==L.background?(Ie={flex:1,backgroundColor:L.background},f[29]=L.background,f[30]=Ie):Ie=f[30];f[31]!==L.border?(we=[E.header,{borderBottomColor:L.border}],f[31]=L.border,f[32]=we):we=f[32];f[33]!==L.foreground?(Ae={color:L.foreground,fontSize:17,fontWeight:"700"},f[33]=L.foreground,f[34]=Ae):Ae=f[34];f[35]!==V?(Pe=V("v2.exports.title"),f[35]=V,f[36]=Pe):Pe=f[36];f[37]!==Ae||f[38]!==Pe?(Me=(0,A.jsx)(s.default,{style:Ae,children:Pe}),f[37]=Ae,f[38]=Pe,f[39]=Me):Me=f[39];f[40]!==L.foregroundMuted?(Re=(0,A.jsx)(b.X,{size:22,color:L.foregroundMuted}),f[40]=L.foregroundMuted,f[41]=Re):Re=f[41];f[42]!==e.onClose||f[43]!==Re?(De=(0,A.jsx)(c.default,{accessibilityRole:"button",onPress:e.onClose,hitSlop:8,children:Re}),f[42]=e.onClose,f[43]=Re,f[44]=De):De=f[44];f[45]!==we||f[46]!==Me||f[47]!==De?(ke=(0,A.jsxs)(n.default,{style:we,children:[Me,De]}),f[45]=we,f[46]=Me,f[47]=De,f[48]=ke):ke=f[48];f[49]===Symbol.for("react.memo_cache_sentinel")?(Te={padding:h.SPACING.xl,gap:h.SPACING["2xl"],paddingBottom:h.SPACING["3xl"]},f[49]=Te):Te=f[49];f[50]!==V?(Ge=V("v2.exports.range"),f[50]=V,f[51]=Ge):Ge=f[51];f[52]===Symbol.for("react.memo_cache_sentinel")?(Ne=P.map(W),f[52]=Ne):Ne=f[52];f[53]!==H?(ze=(0,A.jsx)(B,{options:Ne,value:H,onChange:U}),f[53]=H,f[54]=ze):ze=f[54];f[55]!==L.foregroundMuted?(Fe=[E.rangeText,{color:L.foregroundMuted}],f[55]=L.foregroundMuted,f[56]=Fe):Fe=f[56];f[57]!==se||f[58]!==ne?(We=(0,I.rangeLabel)(se,ne),f[57]=se,f[58]=ne,f[59]=We):We=f[59];f[60]!==Fe||f[61]!==We?(Be=(0,A.jsx)(s.default,{style:Fe,children:We}),f[60]=Fe,f[61]=We,f[62]=Be):Be=f[62];const Ee=e.deviceId;let Ve,Le;f[63]!==V?(Ve=V("v2.exports.rangeStart"),f[63]=V,f[64]=Ve):Ve=f[64];f[65]!==se||f[66]!==e.deviceId||f[67]!==Ve?(Le=(0,A.jsx)(w.ExportFramePreview,{deviceId:Ee,atMs:se,caption:Ve}),f[65]=se,f[66]=e.deviceId,f[67]=Ve,f[68]=Le):Le=f[68];const He=e.deviceId;let Ue,qe,Oe,Xe,$e,Je,Ke,Qe,Ye,Ze;f[69]!==V?(Ue=V("v2.exports.rangeEnd"),f[69]=V,f[70]=Ue):Ue=f[70];f[71]!==e.deviceId||f[72]!==Ue||f[73]!==ne?(qe=(0,A.jsx)(w.ExportFramePreview,{deviceId:He,atMs:ne,caption:Ue}),f[71]=e.deviceId,f[72]=Ue,f[73]=ne,f[74]=qe):qe=f[74];f[75]!==Le||f[76]!==qe?(Oe=(0,A.jsxs)(n.default,{style:E.previewRow,children:[Le,qe]}),f[75]=Le,f[76]=qe,f[77]=Oe):Oe=f[77];f[78]!==ze||f[79]!==Be||f[80]!==Oe?(Xe=(0,A.jsxs)(n.default,{style:E.block,children:[ze,Be,Oe]}),f[78]=ze,f[79]=Be,f[80]=Oe,f[81]=Xe):Xe=f[81];f[82]!==Ge||f[83]!==Xe?($e=(0,A.jsx)(S.Section,{title:Ge,children:Xe}),f[82]=Ge,f[83]=Xe,f[84]=$e):$e=f[84];f[85]!==L.foregroundSubtle||f[86]!==ce||f[87]!==ae||f[88]!==V?(Je=ae.length>0?(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ae.map(F),value:ce,onChange:re})})}):(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(s.default,{style:{color:L.foregroundSubtle,fontSize:13},children:V("v2.exports.noFootage")})})}),f[85]=L.foregroundSubtle,f[86]=ce,f[87]=ae,f[88]=V,f[89]=Je):Je=f[89];f[90]!==V?(Ke=V("v2.exports.speed"),f[90]=V,f[91]=Ke):Ke=f[91];f[92]===Symbol.for("react.memo_cache_sentinel")?(Qe=M.map(z),f[92]=Qe):Qe=f[92];f[93]!==q||f[94]!==X?(Ye=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:Qe,value:q,onChange:O,disabled:X})}),f[93]=q,f[94]=X,f[95]=Ye):Ye=f[95];f[96]!==V?(Ze=V("v2.exports.timelapse"),f[96]=V,f[97]=Ze):Ze=f[97];const et=!X;let tt,ot,lt,rt,nt,st;f[98]!==Ze||f[99]!==et||f[100]!==X?(tt=(0,A.jsx)(j.ToggleRow,{label:Ze,value:X,onValueChange:$,last:et}),f[98]=Ze,f[99]=et,f[100]=X,f[101]=tt):tt=f[101];f[102]!==J||f[103]!==L.borderSubtle||f[104]!==L.foregroundMuted||f[105]!==V||f[106]!==X?(ot=X?(0,A.jsxs)(n.default,{style:[E.block,{borderTopWidth:1,borderTopColor:L.borderSubtle}],children:[(0,A.jsx)(s.default,{style:[E.subLabel,{color:L.foregroundMuted}],children:V("v2.exports.cadence")}),(0,A.jsx)(B,{options:R.map(_),value:J,onChange:K})]}):null,f[102]=J,f[103]=L.borderSubtle,f[104]=L.foregroundMuted,f[105]=V,f[106]=X,f[107]=ot):ot=f[107];f[108]!==Ke||f[109]!==Ye||f[110]!==tt||f[111]!==ot?(lt=(0,A.jsxs)(S.Section,{title:Ke,children:[Ye,tt,ot]}),f[108]=Ke,f[109]=Ye,f[110]=tt,f[111]=ot,f[112]=lt):lt=f[112];f[113]!==V?(rt=V("v2.exports.audio"),f[113]=V,f[114]=rt):rt=f[114];f[115]!==V?(nt=V("v2.exports.includeAudio"),f[115]=V,f[116]=nt):nt=f[116];f[117]!==pe||f[118]!==V?(st=pe?void 0:V("v2.exports.audioUnavailable"),f[117]=pe,f[118]=V,f[119]=st):st=f[119];const it=pe&&Q,dt=!pe;let at,ct,ut,ft,pt,xt,gt,bt,vt,ht;f[120]!==nt||f[121]!==st||f[122]!==it||f[123]!==dt?(at=(0,A.jsx)(j.ToggleRow,{label:nt,description:st,value:it,onValueChange:Y,disabled:dt,last:!0}),f[120]=nt,f[121]=st,f[122]=it,f[123]=dt,f[124]=at):at=f[124];f[125]!==rt||f[126]!==at?(ct=(0,A.jsx)(S.Section,{title:rt,children:at}),f[125]=rt,f[126]=at,f[127]=ct):ct=f[127];f[128]!==V?(ut=V("v2.exports.retention"),f[128]=V,f[129]=ut):ut=f[129];f[130]!==je?(ft=D.map(e=>({value:e,label:je[e]})),f[130]=je,f[131]=ft):ft=f[131];f[132]!==Z||f[133]!==ft?(pt=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ft,value:Z,onChange:ee})}),f[132]=Z,f[133]=ft,f[134]=pt):pt=f[134];f[135]!==V?(xt=V("v2.exports.deleteAfterDownload"),f[135]=V,f[136]=xt):xt=f[136];f[137]!==V?(gt=V("v2.exports.deleteAfterDownloadHint"),f[137]=V,f[138]=gt):gt=f[138];f[139]!==te||f[140]!==xt||f[141]!==gt?(bt=(0,A.jsx)(j.ToggleRow,{label:xt,description:gt,value:te,onValueChange:oe,last:!0}),f[139]=te,f[140]=xt,f[141]=gt,f[142]=bt):bt=f[142];f[143]!==ut||f[144]!==pt||f[145]!==bt?(vt=(0,A.jsxs)(S.Section,{title:ut,children:[pt,bt]}),f[143]=ut,f[144]=pt,f[145]=bt,f[146]=vt):vt=f[146];f[147]!==be?(ht=()=>{be()},f[147]=be,f[148]=ht):ht=f[148];const St=xe?L.surfaceHover:L.primary;let mt;f[149]!==St?(mt=[E.exportBtn,{backgroundColor:St}],f[149]=St,f[150]=mt):mt=f[150];const jt=xe?L.foregroundDisabled:L.primaryForeground;let yt;f[151]!==jt?(yt=(0,A.jsx)(b.Download,{size:18,color:jt}),f[151]=jt,f[152]=yt):yt=f[152];const Ct=xe?L.foregroundDisabled:L.primaryForeground;let It,wt,At,Pt,Mt,Rt,Dt;f[153]!==Ct?(It=[E.exportBtnText,{color:Ct}],f[153]=Ct,f[154]=It):It=f[154];f[155]!==ue.isPending||f[156]!==V?(wt=ue.isPending?V("v2.exports.creating"):V("v2.exports.createAction"),f[155]=ue.isPending,f[156]=V,f[157]=wt):wt=f[157];f[158]!==It||f[159]!==wt?(At=(0,A.jsx)(s.default,{style:It,children:wt}),f[158]=It,f[159]=wt,f[160]=At):At=f[160];f[161]!==xe||f[162]!==ht||f[163]!==mt||f[164]!==yt||f[165]!==At?(Pt=(0,A.jsxs)(c.default,{accessibilityRole:"button",disabled:xe,onPress:ht,style:mt,children:[yt,At]}),f[161]=xe,f[162]=ht,f[163]=mt,f[164]=yt,f[165]=At,f[166]=Pt):Pt=f[166];f[167]!==$e||f[168]!==Je||f[169]!==lt||f[170]!==ct||f[171]!==vt||f[172]!==Pt?(Mt=(0,A.jsxs)(u.default,{contentContainerStyle:Te,children:[$e,Je,lt,ct,vt,Pt]}),f[167]=$e,f[168]=Je,f[169]=lt,f[170]=ct,f[171]=vt,f[172]=Pt,f[173]=Mt):Mt=f[173];f[174]!==Ie||f[175]!==ke||f[176]!==Mt?(Rt=(0,A.jsxs)(n.default,{style:Ie,children:[ke,Mt]}),f[174]=Ie,f[175]=ke,f[176]=Mt,f[177]=Rt):Rt=f[177];f[178]!==e.onClose||f[179]!==e.visible||f[180]!==Rt?(Dt=(0,A.jsx)(l.default,{visible:ye,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:Ce,children:Rt}),f[178]=e.onClose,f[179]=e.visible,f[180]=Rt,f[181]=Dt):Dt=f[181];return Dt};var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),p=e(r(d[8])),x=r(d[9]),b=r(d[10]),v=r(d[11]),h=r(d[12]),S=r(d[13]),j=r(d[14]),y=r(d[15]),C=r(d[16]),I=r(d[17]),w=r(d[18]),A=r(d[19]);const P=[6e4,3e5,9e5,18e5,36e5],M=[.25,.5,1,2,4,8],R=[1e3,2e3,5e3,1e4],D=[864e5,6048e5,2592e6],k=3e5,T=6048e5,G=30;function N(e,t){return!e&&t>=.5&&t<=2}function _(e){return{value:e,label:(0,I.formatDuration)(e)}}function z(e){return{value:e,label:`${e}\xd7`}}function F(e){return{value:e,label:e}}function W(e){return{value:e,label:(0,I.formatDuration)(e)}}function B(e){const o=(0,t.c)(13),{options:l,value:u,onChange:f,disabled:p}=e,x=void 0!==p&&p,{colors:b}=(0,v.useTheme)();let h,S;if(o[0]!==b||o[1]!==x||o[2]!==f||o[3]!==l||o[4]!==u){let e;o[6]!==b||o[7]!==x||o[8]!==f||o[9]!==u?(e=e=>{const t=e.value===u;return(0,A.jsx)(c.default,{accessibilityRole:"button",accessibilityState:{selected:t,disabled:x},disabled:x,onPress:()=>f(e.value),style:[E.chip,{backgroundColor:t?b.primary:b.background,borderColor:t?b.primary:b.border,opacity:x?.4:1}],children:(0,A.jsx)(s.default,{style:{color:t?b.primaryForeground:b.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:e.label})},String(e.value))},o[6]=b,o[7]=x,o[8]=f,o[9]=u,o[10]=e):e=o[10],h=l.map(e),o[0]=b,o[1]=x,o[2]=f,o[3]=l,o[4]=u,o[5]=h}else h=o[5];return o[11]!==h?(S=(0,A.jsx)(n.default,{style:E.chipRow,children:h}),o[11]=h,o[12]=S):S=o[12],S}const E=f.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:h.SPACING.xl,borderBottomWidth:1},block:{padding:h.SPACING.xl,gap:h.SPACING.md},subLabel:{fontSize:13,fontWeight:'500'},rangeText:{fontSize:13,fontVariant:['tabular-nums']},previewRow:{flexDirection:'row',gap:h.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:h.SPACING.md},chip:{paddingHorizontal:h.SPACING.lg,paddingVertical:h.SPACING.md,borderRadius:h.RADIUS.lg,borderWidth:1},exportBtn:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.lg,borderRadius:h.RADIUS.lg},exportBtnText:{fontSize:15,fontWeight:'700'}})},3487,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3174,3159,3488,3489,3490,10]);
|
|
15909
|
-
__d(function(g,
|
|
15910
|
-
__d(function(g,
|
|
15911
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportFramePreview=function(e){const l=(0,t.c)(32),{deviceId:y,atMs:j,caption:p}=e,{colors:w}=(0,b.useTheme)(),{token:_}=(0,f.useServer)(),[I,M]=(0,o.useState)(0),W=(0,h.useScrubThumbnail)(y,j);let C;l[0]!==_?(C=_?{Authorization:`Bearer ${_}`}:void 0,l[0]=_,l[1]=C):C=l[1];const H=C,z=null!==W&&I>0?I/W.thumb.tileWidth:0,L=null!==W?W.thumb.tileHeight*z:0;let O,P,k,A,R,T,U,D,E,F;l[2]!==w.foregroundMuted?(O=[x.caption,{color:w.foregroundMuted}],l[2]=w.foregroundMuted,l[3]=O):O=l[3];l[4]!==p||l[5]!==O?(P=(0,S.jsx)(u.default,{style:O,numberOfLines:1,children:p}),l[4]=p,l[5]=O,l[6]=P):P=l[6];l[7]!==w.border||l[8]!==w.surfaceHover?(k=[x.frame,{backgroundColor:w.surfaceHover,borderColor:w.border}],l[7]=w.border,l[8]=w.surfaceHover,l[9]=k):k=l[9];l[10]===Symbol.for("react.memo_cache_sentinel")?(A=e=>{const t=Math.round(e.nativeEvent.layout.width);M(e=>e===t?e:t)},l[10]=A):A=l[10];l[11]!==I||l[12]!==w.foregroundSubtle||l[13]!==H||l[14]!==W||l[15]!==z||l[16]!==L?(R=null!==W&&I>0?(0,S.jsx)(n.default,{style:[x.tileWindow,{width:I,height:L}],children:(0,S.jsx)(s.Image,{source:H?{uri:W.sheetUrl,headers:H}:{uri:W.sheetUrl},style:{position:"absolute",width:W.thumb.sheetWidth*z,height:W.thumb.sheetHeight*z,left:-W.thumb.x*z,top:-W.thumb.y*z},contentFit:"fill",cachePolicy:"memory-disk"})}):(0,S.jsx)(n.default,{style:x.placeholder,children:(0,S.jsx)(c.ImageOff,{size:20,color:w.foregroundSubtle})}),l[11]=I,l[12]=w.foregroundSubtle,l[13]=H,l[14]=W,l[15]=z,l[16]=L,l[17]=R):R=l[17];l[18]!==k||l[19]!==R?(T=(0,S.jsx)(n.default,{style:k,onLayout:A,children:R}),l[18]=k,l[19]=R,l[20]=T):T=l[20];l[21]!==w.foregroundSubtle?(U=[x.time,{color:w.foregroundSubtle}],l[21]=w.foregroundSubtle,l[22]=U):U=l[22];l[23]!==j?(D=v(j),l[23]=j,l[24]=D):D=l[24];l[25]!==U||l[26]!==D?(E=(0,S.jsx)(u.default,{style:U,numberOfLines:1,children:D}),l[25]=U,l[26]=D,l[27]=E):E=l[27];l[28]!==E||l[29]!==P||l[30]!==T?(F=(0,S.jsxs)(n.default,{style:x.col,children:[P,T,E]}),l[28]=E,l[29]=P,l[30]=T,l[31]=F):F=l[31];return F};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),u=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),c=r(d[6]),f=r(d[7]),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]);function v(e){return new Date(e).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'})}const x=l.default.create({col:{flex:1,gap:y.SPACING.xs},caption:{fontSize:11,fontWeight:'600'},frame:{width:'100%',aspectRatio:1.7777777777777777,borderRadius:y.RADIUS.md,borderWidth:1,overflow:'hidden',alignItems:'center',justifyContent:'center'},tileWindow:{overflow:'hidden'},placeholder:{alignItems:'center',justifyContent:'center'},time:{fontSize:11,fontVariant:['tabular-nums']}})},3490,[15,17,20,112,33,3053,813,3144,3463,2587,2589,10]);
|
|
15912
|
-
__d(function(g,
|
|
15913
|
-
__d(function(g,
|
|
15914
|
-
__d(function(g,r,i,a,m,
|
|
15915
|
-
__d(function(g,r,i,a,m,_e,
|
|
15916
|
-
__d(function(g,_r,
|
|
15917
|
-
__d(function(g,r,
|
|
15918
|
-
__d(function(g,r,i,a,m,_e,
|
|
15919
|
-
__d(function(g,
|
|
15920
|
-
__d(function(g,r,
|
|
15921
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),
|
|
15922
|
-
__d(function(g,r,i,
|
|
15923
|
-
__d(function(g,r,i,a,m,
|
|
15924
|
-
__d(function(g,r,i,a,m,
|
|
15925
|
-
__d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TheaterTimeline",{enumerable:!0,get:function(){return Y}});var t=r(_d[0]),o=e(r(_d[1])),n=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),c=r(_d[5]),u=r(_d[6]),d=r(_d[7]),f=r(_d[8]),h=r(_d[9]),p=r(_d[10]),v=r(_d[11]),b=r(_d[12]),M=r(_d[13]),C=r(_d[14]),T=r(_d[15]),S=r(_d[16]),x=r(_d[17]),y=r(_d[18]),I=r(_d[19]),P=r(_d[20]),k=r(_d[21]),L=r(_d[22]),D=r(_d[23]),E=r(_d[24]),w=r(_d[25]),A=r(_d[26]),R=r(_d[27]),O=r(_d[28]),j=r(_d[29]),z=r(_d[30]),B=r(_d[31]),F=r(_d[32]),W=r(_d[33]),_=r(_d[34]),K=r(_d[35]),Z=r(_d[36]),H=r(_d[37]),N=r(_d[38]),G=r(_d[39]);const q=864e5,V=h.SPACING.lg+36+h.SPACING.md,U='#ffffff',Y=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:Y}=(0,f.useTheme)(),X=(0,u.useSafeAreaInsets)(),[$,J]=(0,t.useState)(()=>Date.now());(0,t.useEffect)(()=>{const e=setInterval(()=>J(Date.now()),1e3);return()=>clearInterval(e)},[]);const ee=(0,B.useSettings)().settings.clusters,[te,oe]=(0,t.useState)(T.DEFAULT_ZOOM_INDEX),ne=te<T.ZOOM_LEVELS.length-1,re=te>0,ie=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e+1)),[]),ae=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e-1)),[]),[se,le]=(0,t.useState)(0),[ce,ue]=(0,t.useState)(0),[de,me]=(0,t.useState)(0),ge=(0,t.useCallback)(e=>{const{height:t,width:o}=e.nativeEvent.layout;t>0&&ue(t),o>0&&me(o)},[]),fe=(0,t.useMemo)(()=>(0,y.indicatorOffsetPx)(ce,ee.indicatorPositionPct),[ce,ee.indicatorPositionPct]),he=(0,t.useRef)(fe),pe=(0,t.useRef)(ce);(0,t.useEffect)(()=>{he.current=fe,pe.current=ce},[fe,ce]);const ve=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineKinds),be=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineClasses),Me=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineKinds),Ce=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineClasses),Te=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineKind),Se=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineClass),xe=(0,F.useCameraPrefsStore)(e=>e.hydrate);(0,t.useEffect)(()=>{xe()},[xe]);const ye=(0,t.useMemo)(()=>new Set(ve??T.ALL_BAR_KINDS),[ve]),Ie=(0,t.useMemo)(()=>new Set(be??[]),[be]),[Pe,ke]=(0,t.useState)(!1),Le=!(0,T.isFilterAll)(ye)||Ie.size>0,De=(0,w.useEventKinds)([e.deviceId]),Ee=(0,t.useMemo)(()=>(0,A.classToMacroMap)(De.data??[]),[De.data]),we=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.highlight),Ae=(0,t.useMemo)(()=>(0,R.withHighlightDefaults)(we).clusterLabel,[we]),Re=(0,t.useCallback)(()=>ke(e=>!e),[]),Oe=(0,t.useCallback)(()=>{Me(e.deviceId,[...T.ALL_BAR_KINDS]),Ce(e.deviceId,[])},[Me,Ce,e.deviceId]),je=(0,t.useCallback)(t=>Te(e.deviceId,t),[Te,e.deviceId]),ze=(0,t.useCallback)(t=>Se(e.deviceId,t),[Se,e.deviceId]),Be=e.zoneRect,Fe=$,We='live'===e.mode,Ke=e.activeEpoch??$,Ze=(0,t.useMemo)(()=>{const e=new Date(Ke);return e.setHours(0,0,0,0),e.getTime()},[Ke]),He=(0,t.useMemo)(()=>({from:Ze,to:Ze+q}),[Ze]),[Ne,Ge]=(0,t.useState)(1),qe=Ze-(Ne-1)*q,Ve=(0,t.useRef)(1);(0,t.useEffect)(()=>{Ve.current=Ne},[Ne]);const Ue=(0,t.useRef)(qe);(0,t.useEffect)(()=>{Ue.current=qe},[qe]);const Ye=(0,t.useRef)(0);(0,t.useEffect)(()=>{Ge(1)},[Ze]);const Qe=(0,t.useMemo)(()=>{const e=new Date($);return e.setHours(0,0,0,0),e.getTime()},[$]),[Xe,$e]=(0,t.useState)(!1),[Je,et]=(0,t.useState)(Ze),{fromMs:tt,toMs:ot}=(0,t.useMemo)(()=>(0,j.monthBoundsForMs)(Je),[Je]),{data:nt}=(0,P.useDaysWithRecordings)(e.deviceId,tt,ot,Xe),rt=e.onSeek,it=(0,t.useCallback)(()=>{rt((0,z.dayAtSameTime)(Ke,Ze-q,$),'timeline')},[rt,Ke,Ze,$]),at=(0,t.useCallback)(()=>{Ze>=Qe||rt((0,z.dayAtSameTime)(Ke,Ze+q,$),'timeline')},[rt,Ke,Ze,Qe,$]),st=(0,t.useCallback)(()=>{et(Ze),$e(!0)},[Ze]),lt=(0,t.useCallback)(e=>{$e(!1),rt((0,z.dayAtSameTime)(Ke,e,$),'timeline')},[rt,Ke,$]),ct=(0,t.useCallback)(e=>{et(t=>{const o=new Date(t);return new Date(o.getFullYear(),o.getMonth()+e,1,0,0,0,0).getTime()})},[]),{data:ut=[]}=(0,W.useDeviceTracks)(e.deviceId,qe,He.to),dt=(0,t.useMemo)(()=>{const e=ee.minImportance;return e<=0?ut:ut.filter(t=>(0,_.passesImportanceFilter)(t.importance,e))},[ut,ee.minImportance]),mt=(0,t.useMemo)(()=>{const e=new Set;for(const t of dt)t.className.length>0&&e.add(t.className);return[...(0,A.collapseToMacro)([...e],Ee)].sort()},[dt,Ee]),gt=(0,T.isFilterAll)(ye),ft=(0,t.useMemo)(()=>(0,E.filterEventsByZone)(dt,Be),[dt,Be]),ht=(0,t.useMemo)(()=>(0,D.filterDetectionsByKind)(ft,ye,Ie,Ee),[ft,ye,Ie,Ee]),pt=(0,K.useTimelineActivity)(e.deviceId,qe,He.to),vt=(0,t.useMemo)(()=>de>0?Math.round(de*ee.cardWidthFraction):0,[de,ee.cardWidthFraction]),bt=(0,t.useMemo)(()=>vt>0?Math.round(.5625*vt):0,[vt]),{sizePx:Mt,gapPx:Ct}=(0,t.useMemo)(()=>{const e=Math.max(8,bt);return{sizePx:e,gapPx:ee.gapPercent/100*e}},[bt,ee.gapPercent]),Tt=(0,t.useMemo)(()=>(0,Z.clusterByZoom)(ht,{topMs:Fe,zoomIndex:te,sizePx:Mt,gapPx:Ct}),[ht,Fe,te,Mt,Ct]),St=Tt.filter(e=>e.topPx>=se-80-e.heightPx&&e.topPx<=se+ce+80).length;(0,t.useEffect)(()=>{const t=e=>new Date(e).toLocaleTimeString(),o=dt.map(e=>e.timestamp);L.log.info('theater:clusters','render state',{deviceId:e.deviceId,objectEvents:dt.length,objectEventRange:o.length>0?{first:t(Math.min(...o)),last:t(Math.max(...o))}:null,clusters:Tt.length,clusterSpans:Tt.slice(0,8).map(e=>({s:t(e.startMs),e:t(e.endMs),n:e.events.length,topPx:Math.round(e.topPx)})),visibleClusters:St,activity:{recording:pt.recording.length,motion:pt.motion.length,audio:pt.audio.length},geometry:{cardWidth:vt,viewportHeight:ce,listWrapWidth:de,scrollOffsetY:se,sizePx:Mt,gapPx:Ct,zoomIndex:te},dayWindow:He})},[e.deviceId,dt,Tt,St,pt.recording.length,pt.motion.length,pt.audio.length,vt,ce,de,se,Mt,Ct,te,He]);const{data:xt=[]}=(0,P.useRecordingAvailability)(e.deviceId,He.from,He.to,!0);(0,t.useEffect)(()=>{L.log.info('timeline','coverage',{deviceId:e.deviceId,count:xt.length})},[e.deviceId,xt.length]);const yt=(0,t.useMemo)(()=>{const t=e.activeEpoch;return null===t?(0,T.heatmapCursorFraction)($):(0,x.epochToDayFraction)(t,He.from,He.to)},[e.activeEpoch,He,$]),It=(0,t.useRef)(null),[Pt,kt]=(0,t.useState)(null),Lt=(0,t.useRef)(0),Dt=(0,t.useRef)(!1),Et=(0,t.useRef)(null),wt=(0,t.useRef)(null),At=(0,t.useRef)(We);At.current=We;const Rt=(0,t.useRef)(!1),Ot=(0,t.useRef)(0),jt=(0,t.useRef)(null),zt=(0,t.useCallback)(()=>{Rt.current=!1,jt.current&&(clearTimeout(jt.current),jt.current=null)},[]),Bt=(0,t.useCallback)((e,t)=>{Rt.current=!0,Ot.current=e,jt.current&&clearTimeout(jt.current),jt.current=setTimeout(()=>{Rt.current=!1,jt.current=null},500),It.current?.scrollToOffset({offset:e,animated:t})},[]),Ft=(0,t.useCallback)(t=>{const o=t.nativeEvent.contentOffset.y;le(o);const n=he.current,s=pe.current,l=(0,S.epochToOffset)(Ue.current,Fe,te);if(o>=n+Math.max(s,l)-s-s)if(Ve.current<30)Ge(e=>Math.min(30,e+1));else{const t=Date.now();t-Ye.current>=5e3&&(Ye.current=t,L.log.info('theater','back-scroll capped at MAX_LOOKBACK_DAYS',{deviceId:e.deviceId,days:30}))}if(Rt.current)return void(Math.abs(o-Ot.current)<=2&&zt());const c=Math.round((0,S.offsetToEpoch)(o,Fe,te)),u=Fe-c;if((0,I.atLiveEdge)(u,15e3))return Et.current&&(clearTimeout(Et.current),Et.current=null),wt.current=null,Dt.current=!1,void(At.current||(L.log.debug('theater:live-edge','go-live (scrolled into live edge)',{behindLiveMs:u,epoch:c,topMs:Fe}),e.onGoLive()));Dt.current||(Dt.current=!0,Et.current&&(clearTimeout(Et.current),Et.current=null),e.onScrubBegin('timeline'));const d=Date.now();d-Lt.current<100||(Lt.current=d,wt.current=c,e.onScrubMove(c,'timeline'),Et.current&&clearTimeout(Et.current),Et.current=setTimeout(()=>{Et.current=null;const t=wt.current;null!=t&&(e.onScrubCommit(t,'timeline'),Dt.current=!1)},220))},[Fe,te,e,zt]),Wt=(0,t.useCallback)(()=>{Bt(0,!0),e.onGoLive()},[e,Bt]);(0,t.useEffect)(()=>{if('playback'!==e.mode)return;const t=e.activeEpoch;if(null===t)return;const o=(0,S.epochToOffset)(t,Fe,te);Bt(o,!1)},[e.mode,e.activeEpoch,Fe,te,Bt]);const _t=(0,t.useCallback)(t=>{L.log.info('theater:clusters','tap',{epoch:t.representative.timestamp,topPx:Math.round(t.topPx)}),e.onSeek(t.representative.timestamp,'cluster')},[e]),Kt=(0,t.useCallback)(e=>{kt(e)},[]),Zt=(0,t.useCallback)(t=>{e.onSeek(t,'cluster'),kt(null)},[e]),Ht=(0,t.useCallback)(e=>(0,x.dayFractionToEpoch)(e,He.from,He.to),[He.from,He.to]),Nt=(0,t.useCallback)(e=>{const t=Ht(e);L.log.debug('timeline','heatmap seek',{fraction:e,snapped:t}),rt(t,'heatmap')},[Ht,rt]),Gt=e.onScrubBegin,qt=e.onScrubMove,Vt=e.onScrubCommit,Ut=(0,t.useCallback)(()=>Gt('heatmap'),[Gt]),Yt=(0,t.useCallback)(e=>{const t=Ht(e);L.log.debug('timeline','heatmap scrub',{fraction:e,snapped:t}),qt(t,'heatmap')},[Ht,qt]),Qt=(0,t.useCallback)(e=>{const t=Ht(e);L.log.debug('timeline','heatmap scrubEnd',{fraction:e,snapped:t}),Vt(t,'heatmap')},[Ht,Vt]),Xt=gt||ye.has('motion'),$t=gt||ye.has('audio'),Jt=(0,t.useMemo)(()=>Xt?ht:[],[Xt,ht]),eo=(0,t.useMemo)(()=>{const e=(0,D.objectEventsToHeatmapBins)(Jt,Ze);return $t?(0,D.mergeAudioIntoHeatmapBins)(e,pt.audio,Ze):e},[Jt,Ze,$t,pt.audio]),to=(0,t.useMemo)(()=>(0,D.objectEventsToHeatmapHighlights)(Jt,Ze),[Jt,Ze]),oo=(0,t.useMemo)(()=>e.activeEpoch??$,[e.activeEpoch,$]),no=(0,t.useMemo)(()=>new Date(oo).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'}),[oo]);return(0,G.jsxs)(o.default,{style:[Q.container,{backgroundColor:Y.background}],children:[(0,G.jsx)(p.TimelineToolbarInline,{onBack:e.onBack,hideBack:e.hideBack,dateLabel:(0,z.dateLabel)(Ze,$,s),onPrevDay:it,onOpenDatePicker:st,onNextDay:at,nextDayDisabled:Ze>=Qe,hasPtz:e.hasPtz,ptzOpen:e.ptzOpen,onTogglePtz:e.onTogglePtz,devicesOpen:e.devicesOpen,onToggleDevices:e.onToggleDevices,menuOpen:e.menuOpen,onToggleMenu:e.onToggleMenu,qualityOpen:e.qualityOpen,onToggleQuality:e.onToggleQuality,qualityLabel:s((0,v.qualityLabelKey)(e.quality)),exportMenuOpen:e.exportMenuOpen,onToggleExportMenu:e.onToggleExportMenu,snapshotBusy:e.snapshotBusy,exportMenuLabel:s('v2.exportActions.title')}),(0,G.jsx)(b.HeatmapBar,{bins:eo,cursorFraction:yt,eventMarkers:to,coverage:xt,dayStartMs:He.from,dayEndMs:He.to,onSeekFraction:Nt,onScrubStart:Ut,onScrubFraction:Yt,onScrubEnd:Qt}),We?(0,G.jsxs)(o.default,{style:[Q.livePill,{backgroundColor:`${Y.live}26`}],children:[(0,G.jsx)(o.default,{style:[Q.liveDot,{backgroundColor:Y.live}]}),(0,G.jsx)(n.default,{style:[Q.liveText,{color:Y.live}],children:s('v2.theater.live')})]}):(0,G.jsxs)(l.default,{style:[Q.goLivePill,{backgroundColor:Y.danger}],onPress:Wt,accessibilityRole:"button",accessibilityLabel:s('v2.theater.goToLive'),children:[(0,G.jsx)(d.ArrowUp,{size:13,color:U}),(0,G.jsx)(n.default,{style:[Q.goLiveText,{color:U}],children:s('v2.theater.goToLive')})]}),(0,G.jsxs)(o.default,{style:Q.listWrap,onLayout:ge,children:[(0,G.jsx)(N.TimelineScroller,{ref:It,topMs:Fe,zoomIndex:te,dayWindow:{from:qe,to:He.to},clusters:Tt,activity:pt,showMotionLane:Xt,showAudioLane:$t,cardWidth:vt,viewportHeight:ce,indicatorOffsetPx:fe,isLive:We,onScroll:Ft,onClusterPress:_t,onClusterOpenDetail:Kt,clusterLabel:Ae,eventKinds:De.data}),ce>0?(0,G.jsxs)(o.default,{style:[Q.indicator,{top:fe}],pointerEvents:"none",children:[(0,G.jsx)(o.default,{style:[Q.indicatorLine,{backgroundColor:We?Y.live:Y.danger}]}),(0,G.jsx)(o.default,{style:[Q.indicatorPill,{backgroundColor:We?Y.live:Y.danger}],children:(0,G.jsx)(n.default,{style:[Q.indicatorLabel,h.TABULAR,{color:U}],children:We?s('v2.theater.live'):no})})]}):null,Pe?(0,G.jsx)(C.TimelineFilterPanel,{filter:ye,onToggleKind:je,classes:mt,classFilter:Ie,onToggleClass:ze,onReset:Oe,eventKinds:De.data,bottomInset:X.bottom+V}):null,(0,G.jsx)(M.TimelineFabControls,{onZoomIn:ie,onZoomOut:ae,onFilter:Re,onZoneFilter:null!==Be?e.onClearZone:e.onRequestZoneDraw,onPickCamera:e.onPickCamera,canZoomIn:ne,canZoomOut:re,filterActive:Le,filterOpen:Pe,zoneActive:null!==Be,bottomInset:X.bottom})]}),(0,G.jsx)(O.DatePickerModal,{visible:Xe,monthAnchorMs:Je,selectedDayMs:Ze,daysSet:nt??new Set,nowMs:$,onChangeMonth:ct,onPick:lt,onClose:()=>$e(!1)}),(0,G.jsx)(H.ClusterDetailModal,{deviceId:e.deviceId,cluster:Pt,onSeek:Zt,onClose:()=>kt(null),seekAvailable:null===Pt||'absent'!==(0,k.recordingKnownAt)(xt,He.from,He.to,Pt.representative.timestamp)})]})}),Q=s.default.create({container:{flex:1},livePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},liveDot:{width:6,height:6,borderRadius:3},liveText:{fontSize:11,fontWeight:'700'},goLivePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},goLiveText:{fontSize:11,fontWeight:'700'},listWrap:{flex:1,position:'relative'},indicator:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md},indicatorLine:{position:'absolute',left:0,right:0,height:1.5},indicatorPill:{paddingHorizontal:h.SPACING.sm,paddingVertical:1,borderRadius:4},indicatorLabel:{fontSize:10,fontWeight:'700',letterSpacing:.3},drawerHandle:{position:'absolute',left:0,top:'50%',marginTop:-16,width:16,height:32,borderTopRightRadius:8,borderBottomRightRadius:8,borderWidth:1,borderLeftWidth:0,alignItems:'center',justifyContent:'center'},scrollIndicatorTrack:{position:'absolute',right:2,top:h.SPACING.lg,bottom:h.SPACING.lg,width:3,alignItems:'center'},scrollIndicatorThumb:{width:3,height:48,borderRadius:2,opacity:.7}})},3504,[17,20,112,33,252,786,466,813,2587,2589,3505,3461,3506,3508,3509,3142,3510,3507,3511,3512,3159,3160,2705,3231,3501,3168,3169,3139,3513,3514,3515,3177,3132,3516,3237,3517,3519,3520,3522,10]);
|
|
15926
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"
|
|
15927
|
-
__d(function(g,
|
|
15928
|
-
__d(function(g,r,i,a,m,e,d){"use strict";function n(n){return Math.max(0,Math.min(1,n))}Object.defineProperty(e,'__esModule',{value:!0}),e.dayFractionToEpoch=function(t,o,u){const c=u-o;return Math.round(o+n(t)*c)},e.epochToDayFraction=function(t,o,u){const c=u-o;return c<=0?0:n((t-o)/c)},e.pointerFraction=function(t,o){return!Number.isFinite(t)||!Number.isFinite(o)||o<=0?null:n(t/o)}},3507,[]);
|
|
15929
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"
|
|
15930
|
-
__d(function(g,
|
|
15931
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.
|
|
15932
|
-
__d(function(g,r,i,a,m,
|
|
15933
|
-
__d(function(g,r,i,a,
|
|
15934
|
-
__d(function(g,r,
|
|
15935
|
-
__d(function(g,r,
|
|
15936
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.
|
|
15937
|
-
__d(function(g,r,
|
|
15938
|
-
__d(function(g,
|
|
15939
|
-
__d(function(g,
|
|
15940
|
-
__d(function(
|
|
15941
|
-
__d(function(g,
|
|
15942
|
-
__d(function(g,
|
|
15943
|
-
__d(function(
|
|
15944
|
-
__d(function(g,r,
|
|
15945
|
-
__d(function(g,
|
|
15946
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.
|
|
15947
|
-
__d(function(g,r,
|
|
15948
|
-
__d(function(g,
|
|
15949
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.
|
|
15950
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"
|
|
15951
|
-
__d(function(g,r,i,
|
|
15952
|
-
__d(function(g,r,i,a,
|
|
15953
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.
|
|
15954
|
-
__d(function(g,r,i,
|
|
15955
|
-
__d(function(g,r,i,a,
|
|
15956
|
-
__d(function(g,r,i,a,m,
|
|
15957
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),
|
|
15958
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return
|
|
15959
|
-
__d(function(_g,r,i,_a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridViewScreen=function(e){const f=(0,t.c)(185),{gridId:L,adhocCameraIds:J}=e,{t:K}=(0,c.useTranslation)(),{colors:Y}=(0,p.useTheme)(),Z=(0,u.useRouter)(),ee=(0,h.useSafeAreaInsets)(),{width:te,height:oe}=(0,a.default)(),ne=(0,v.useGridStore)($),re=(0,v.useGridStore)(W),ie=(0,v.useGridStore)(U),le=(0,v.useGridStore)(F),se=(0,v.useGridStore)(V),de=(0,v.useGridStore)(D),ae=(0,v.useGridStore)(q),{data:ce}=(0,G.useCameras)();let ue;f[0]!==ce?(ue=void 0===ce?[]:ce,f[0]=ce,f[1]=ue):ue=f[1];const he=ue,{settings:ge}=(0,z.useSettings)(),{server:fe}=(0,I.useServer)(),me=fe?.serverUrl??null,ye=null===L;let pe;f[2]!==J?(pe=()=>({id:_,name:"",cameraIds:J??[]}),f[2]=J,f[3]=pe):pe=f[3];const[Se,be]=(0,o.useState)(pe);let xe;f[4]!==Se||f[5]!==L||f[6]!==ne||f[7]!==ye?(xe=ye?Se:ne.find(e=>e.id===L),f[4]=Se,f[5]=L,f[6]=ne,f[7]=ye,f[8]=xe):xe=f[8];const Ie=xe;let je;f[9]===Symbol.for("react.memo_cache_sentinel")?(je=e=>{be(t=>e([t])[0]??t)},f[9]=je):je=f[9];const Ce=je;let we;f[10]!==L||f[11]!==le?(we=e=>{null===L?Ce(t=>(0,v.setGridOptionsEntry)(t,_,e)):le(L,e)},f[10]=L,f[11]=le,f[12]=we):we=f[12];const ve=we;let Ge;f[13]!==L||f[14]!==se?(Ge=e=>{null===L?Ce(t=>(0,v.setGridHighlightEntry)(t,_,e)):se(L,e)},f[13]=L,f[14]=se,f[15]=Ge):Ge=f[15];const ze=Ge;let Ae;f[16]!==L||f[17]!==de?(Ae=(e,t)=>{null===L?Ce(o=>(0,v.setGridAudioInitialEntry)(o,_,e,t)):de(L,e,t)},f[16]=L,f[17]=de,f[18]=Ae):Ae=f[18];const Pe=Ae;let Oe;f[19]!==L||f[20]!==ae?(Oe=(e,t)=>{null===L?Ce(o=>(0,v.setAllGridAudioEntry)(o,_,e,t)):ae(L,e,t)},f[19]=L,f[20]=ae,f[21]=Oe):Oe=f[21];const Te=Oe;let ke,He;f[22]!==Ie?.options?(ke=()=>(0,v.resolveGridOptions)(Ie?.options),f[22]=Ie?.options,f[23]=ke):ke=f[23];f[24]!==ke?(He=ke(),f[24]=ke,f[25]=He):He=f[25];const Ne=He;let Ee;f[26]===Symbol.for("react.memo_cache_sentinel")?(Ee=new Set,f[26]=Ee):Ee=f[26];const[Re,Be]=(0,o.useState)(Ee),[Me,Le]=(0,o.useState)(!1),[qe,De]=(0,o.useState)(!1),[Ve,Fe]=(0,o.useState)(!1),[Ue,We]=(0,o.useState)(!1);let $e,Qe;f[27]!==Ie?.audioOnIds?($e=Ie?.audioOnIds??[],f[27]=Ie?.audioOnIds,f[28]=$e):$e=f[28];f[29]!==$e?(Qe=new Set($e),f[29]=$e,f[30]=Qe):Qe=f[30];const Xe=Qe;let Je,Ke;f[31]!==Ie?.audioOnIds?(Je=()=>[...Ie?.audioOnIds??[]],f[31]=Ie?.audioOnIds,f[32]=Je):Je=f[32];f[33]!==Je?(Ke=Je(),f[33]=Je,f[34]=Ke):Ke=f[34];const Ye=Ke;let Ze;f[35]!==Xe||f[36]!==Pe?(Ze=e=>Pe(e,!Xe.has(e)),f[35]=Xe,f[36]=Pe,f[37]=Ze):Ze=f[37];const et=Ze;let tt,ot,nt,rt;f[38]!==re?(tt=()=>{re()},ot=[re],f[38]=re,f[39]=tt,f[40]=ot):(tt=f[39],ot=f[40]);(0,o.useEffect)(tt,ot),f[41]===Symbol.for("react.memo_cache_sentinel")?(nt=[],f[41]=nt):nt=f[41];(0,o.useEffect)(M,nt);e:{if(!Ie){let e;f[42]===Symbol.for("react.memo_cache_sentinel")?(e=[],f[42]=e):e=f[42],rt=e;break e}let e;f[43]!==he?(e=new Map(he.map(B)),f[43]=he,f[44]=e):e=f[44];const t=e;let o;if(f[45]!==t||f[46]!==Ie.cameraIds){o=[];for(const e of Ie.cameraIds){const n=t.get(e);n&&o.push(n)}f[45]=t,f[46]=Ie.cameraIds,f[47]=o}else o=f[47];rt=o}const it=rt;let lt,st;f[48]!==Ie?.hiddenCameraIds?(lt=()=>new Set(Ie?.hiddenCameraIds??[]),f[48]=Ie?.hiddenCameraIds,f[49]=lt):lt=f[49];f[50]!==lt?(st=lt(),f[50]=lt,f[51]=st):st=f[51];const dt=st;let at;f[52]!==dt||f[53]!==it?(at=0===dt.size?it:it.filter(e=>!dt.has(e.id)),f[52]=dt,f[53]=it,f[54]=at):at=f[54];const ct=at;let ut;f[55]!==ct?(ut=ct.filter(R).map(E),f[55]=ct,f[56]=ut):ut=f[56];const ht=ut,[gt,ft]=(0,o.useState)(null);let mt;f[57]!==gt||f[58]!==ct?(mt=ct.find(e=>e.id===gt)??null,f[57]=gt,f[58]=ct,f[59]=mt):mt=f[59];const yt=mt,pt=Re.size>0;let St;f[60]!==Re?(St=[...Re],f[60]=Re,f[61]=St):St=f[61];const bt=St;let xt;f[62]===Symbol.for("react.memo_cache_sentinel")?(xt=e=>Be(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),f[62]=xt):xt=f[62];const It=xt;let jt;f[63]!==ct?(jt=()=>Be(e=>e.size>0?new Set:new Set(ct.map(N))),f[63]=ct,f[64]=jt):jt=f[64];const Ct=jt,wt=Xe.size>0;let vt;f[65]!==wt||f[66]!==Te||f[67]!==ct?(vt=()=>Te(wt?[]:ct.map(H),!wt),f[65]=wt,f[66]=Te,f[67]=ct,f[68]=vt):vt=f[68];const Gt=vt,zt=Math.max(0,oe-ee.top-ee.bottom);let At;f[69]!==zt||f[70]!==te?(At={width:te,height:zt},f[69]=zt,f[70]=te,f[71]=At):At=f[71];const _t=At,[Pt,Ot]=(0,o.useState)(_t);let Tt;f[72]!==Pt.height||f[73]!==Pt.width||f[74]!==Ne.layout||f[75]!==ct.length?(Tt=(0,w.computeGridLayout)(ct.length,Pt.width,Pt.height,Ne.layout),f[72]=Pt.height,f[73]=Pt.width,f[74]=Ne.layout,f[75]=ct.length,f[76]=Tt):Tt=f[76];const kt=Tt;let Ht,Nt;f[77]!==Ie?.highlight?(Ht=()=>(0,v.withHighlightDefaults)(Ie?.highlight),f[77]=Ie?.highlight,f[78]=Ht):Ht=f[78];f[79]!==Ht?(Nt=Ht(),f[79]=Ht,f[80]=Nt):Nt=f[80];const Et=Nt;let Rt;f[81]!==Me||f[82]!==Et||f[83]!==ge.grid.motionHoldSec||f[84]!==ge.highlight?(Rt=Object.assign({enabled:Me},Et,{appearance:ge.highlight,motionHoldSec:ge.grid.motionHoldSec}),f[81]=Me,f[82]=Et,f[83]=ge.grid.motionHoldSec,f[84]=ge.highlight,f[85]=Rt):Rt=f[85];const Bt=Rt;let Mt;f[86]!==L||f[87]!==Z?(Mt=null!==L?()=>Z.push(`/grid/${L}/edit`):void 0,f[86]=L,f[87]=Z,f[88]=Mt):Mt=f[88];const Lt=Mt;let qt;f[89]!==Z?(qt=()=>Z.back(),f[89]=Z,f[90]=qt):qt=f[90];const Dt=qt;let Vt;f[91]!==Ie?.name||f[92]!==ye||f[93]!==K?(Vt=ye?K("v2.gridView.adhocTitle"):Ie?.name??K("v2.gridView.fallbackTitle"),f[91]=Ie?.name,f[92]=ye,f[93]=K,f[94]=Vt):Vt=f[94];const Ft=Vt;if(ie&&!Ie){let e,t,o,s,d,a;return f[95]!==Y.background||f[96]!==ee.top?(e=[X.fill,{backgroundColor:Y.background,paddingTop:ee.top}],f[95]=Y.background,f[96]=ee.top,f[97]=e):e=f[97],f[98]!==Y||f[99]!==Dt?(t=(0,A.jsx)(Q,{onPress:Dt,colors:Y}),f[98]=Y,f[99]=Dt,f[100]=t):t=f[100],f[101]!==Y.foregroundMuted?(o={color:Y.foregroundMuted,fontSize:15},f[101]=Y.foregroundMuted,f[102]=o):o=f[102],f[103]!==K?(s=K("v2.gridView.notFound"),f[103]=K,f[104]=s):s=f[104],f[105]!==o||f[106]!==s?(d=(0,A.jsx)(n.default,{style:X.center,children:(0,A.jsx)(l.default,{style:o,children:s})}),f[105]=o,f[106]=s,f[107]=d):d=f[107],f[108]!==e||f[109]!==t||f[110]!==d?(a=(0,A.jsxs)(n.default,{style:e,children:[t,d]}),f[108]=e,f[109]=t,f[110]=d,f[111]=a):a=f[111],a}let Ut,Wt,$t,Qt,Xt,Jt,Kt,Yt;f[112]!==ve?(Ut=e=>ve({quality:e}),f[112]=ve,f[113]=Ut):Ut=f[113];f[114]!==ve?(Wt=e=>ve({layout:e}),f[114]=ve,f[115]=Wt):Wt=f[115];f[116]===Symbol.for("react.memo_cache_sentinel")?($t=()=>Le(k),f[116]=$t):$t=f[116];f[117]!==Et||f[118]!==ze?(Qt=e=>ze(Object.assign({},Et,e)),f[117]=Et,f[118]=ze,f[119]=Qt):Qt=f[119];f[120]===Symbol.for("react.memo_cache_sentinel")?(Xt=()=>Fe(T),f[120]=Xt):Xt=f[120];f[121]===Symbol.for("react.memo_cache_sentinel")?(Jt=()=>De(O),f[121]=Jt):Jt=f[121];f[122]!==ye||f[123]!==me?(Kt=null===me||ye?void 0:()=>We(!0),f[122]=ye,f[123]=me,f[124]=Kt):Kt=f[124];f[125]!==qe||f[126]!==wt||f[127]!==pt||f[128]!==Xe||f[129]!==Dt||f[130]!==Lt||f[131]!==Me||f[132]!==Et||f[133]!==Ne.layout||f[134]!==Ne.quality||f[135]!==Ve||f[136]!==Ut||f[137]!==Wt||f[138]!==Qt||f[139]!==Kt||f[140]!==Ft||f[141]!==et||f[142]!==Gt||f[143]!==Ct||f[144]!==ct?(Yt=(0,A.jsx)(b.GridControlBar,{title:Ft,onBack:Dt,onEdit:Lt,anyPaused:pt,onTogglePause:Ct,cameras:ct,audioOnIds:Xe,onToggleAudio:et,anyAudioOn:wt,onToggleMassAudio:Gt,quality:Ne.quality,onSelectQuality:Ut,layout:Ne.layout,onSelectLayout:Wt,highlightOn:Me,onToggleHighlight:$t,highlightSettings:Et,onSetHighlightSettings:Qt,showBoxes:Ve,onToggleShowBoxes:Xt,activeOnly:qe,onToggleActiveOnly:Jt,onShare:Kt}),f[125]=qe,f[126]=wt,f[127]=pt,f[128]=Xe,f[129]=Dt,f[130]=Lt,f[131]=Me,f[132]=Et,f[133]=Ne.layout,f[134]=Ne.quality,f[135]=Ve,f[136]=Ut,f[137]=Wt,f[138]=Qt,f[139]=Kt,f[140]=Ft,f[141]=et,f[142]=Gt,f[143]=Ct,f[144]=ct,f[145]=Yt):Yt=f[145];const Zt=Yt;let eo,to,oo,no,ro,io;f[146]===Symbol.for("react.memo_cache_sentinel")?(eo=[X.fill,{backgroundColor:"#000"}],to=(0,A.jsx)(g.StatusBar,{hidden:!0,style:"light"}),f[146]=eo,f[147]=to):(eo=f[146],to=f[147]);f[148]===Symbol.for("react.memo_cache_sentinel")?(oo=e=>{const{width:t,height:o}=e.nativeEvent.layout;t>0&&o>0&&Ot(e=>e.width===t&&e.height===o?e:{width:t,height:o})},f[148]=oo):oo=f[148];f[149]!==qe||f[150]!==pt||f[151]!==Ye||f[152]!==Xe.size||f[153]!==Y||f[154]!==Zt||f[155]!==Dt||f[156]!==Lt||f[157]!==Bt||f[158]!==ee.top||f[159]!==kt||f[160]!==it.length||f[161]!==Ne.layout||f[162]!==Ne.quality||f[163]!==Ne.showName||f[164]!==bt||f[165]!==ht||f[166]!==Z||f[167]!==Ve||f[168]!==K||f[169]!==et||f[170]!==ct?(no=0===it.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15},children:K("v2.gridView.emptyGrid")}),(0,A.jsx)(s.default,{onPress:Lt,style:e=>{const{pressed:t}=e;return{marginTop:C.SPACING.md,paddingVertical:C.SPACING.md,paddingHorizontal:C.SPACING.xl,borderRadius:C.RADIUS.md,backgroundColor:t?Y.surfaceHover:Y.primary}},children:(0,A.jsx)(l.default,{style:{color:Y.primaryForeground,fontSize:15,fontWeight:"600"},children:K("v2.gridView.addCameras")})})]}):0===ct.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15,textAlign:"center"},children:K("v2.gridView.allHidden")}),Zt]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(S.GridLiveEmbed,{devices:ct.map(P),quality:Ne.quality,layout:Ne.layout,showName:Ne.showName,audioOnIds:Ye,pausedIds:bt,highlight:Bt,activeOnly:qe,showBoxes:Ve,ptzIds:ht,onTileOpen:e=>Z.push(`/camera/${e}`),onAudioToggle:et,onPauseToggle:It,onPtzOpen:e=>ft(e)}),Zt]}),f[149]=qe,f[150]=pt,f[151]=Ye,f[152]=Xe.size,f[153]=Y,f[154]=Zt,f[155]=Dt,f[156]=Lt,f[157]=Bt,f[158]=ee.top,f[159]=kt,f[160]=it.length,f[161]=Ne.layout,f[162]=Ne.quality,f[163]=Ne.showName,f[164]=bt,f[165]=ht,f[166]=Z,f[167]=Ve,f[168]=K,f[169]=et,f[170]=ct,f[171]=no):no=f[171];f[172]!==no?(ro=(0,A.jsx)(n.default,{style:X.content,onLayout:oo,children:no}),f[172]=no,f[173]=ro):ro=f[173];f[174]!==Y||f[175]!==yt||f[176]!==K?(io=yt?(0,A.jsxs)(n.default,{style:d.default.absoluteFill,pointerEvents:"box-none",children:[(0,A.jsx)(s.default,{style:[d.default.absoluteFill,X.ptzBackdrop],onPress:()=>ft(null),accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close")}),(0,A.jsx)(n.default,{style:X.ptzCenter,pointerEvents:"box-none",children:(0,A.jsxs)(n.default,{style:[X.ptzCard,{backgroundColor:Y.surface,borderColor:Y.border}],children:[(0,A.jsxs)(n.default,{style:[X.ptzHeader,{borderBottomColor:Y.border}],children:[(0,A.jsx)(l.default,{style:[X.ptzTitle,{color:Y.foreground}],numberOfLines:1,children:yt.name}),(0,A.jsx)(s.default,{onPress:()=>ft(null),hitSlop:8,accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close"),children:(0,A.jsx)(y.X,{size:18,color:Y.foregroundMuted})})]}),(0,A.jsx)(n.default,{style:X.ptzBody,children:(0,A.jsx)(j.PtzControls,{deviceId:yt.id,hasFeature:!0})})]})})]}):null,f[174]=Y,f[175]=yt,f[176]=K,f[177]=io):io=f[177];const lo=Ue&&Ie?Ie:null;let so,ao,co;f[178]===Symbol.for("react.memo_cache_sentinel")?(so=()=>We(!1),f[178]=so):so=f[178];f[179]!==lo?(ao=(0,A.jsx)(x.GridShareDialog,{grid:lo,onClose:so}),f[179]=lo,f[180]=ao):ao=f[180];f[181]!==ro||f[182]!==io||f[183]!==ao?(co=(0,A.jsxs)(n.default,{style:eo,children:[to,ro,io,ao]}),f[181]=ro,f[182]=io,f[183]=ao,f[184]=co):co=f[184];return co};var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),d=e(r(_d[5])),a=e(r(_d[6]));r(_d[7]);var c=r(_d[8]),u=r(_d[9]),h=r(_d[10]),g=r(_d[11]),f=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[12])),y=r(_d[13]),p=r(_d[14]);r(_d[15]);var S=r(_d[16]),b=r(_d[17]),x=r(_d[18]),I=r(_d[19]),j=r(_d[20]),C=r(_d[21]),w=r(_d[22]),v=r(_d[23]),G=r(_d[24]),z=r(_d[25]),A=r(_d[26]);const _='adhoc';function P(e){return e.id}function O(e){return!e}function T(e){return!e}function k(e){return!e}function H(e){return e.id}function N(e){return e.id}function E(e){return e.id}function R(e){return e.features.includes(G.FEATURE.ptz)}function B(e){return[e.id,e]}function M(){return f.unlockAsync(),L}function L(){f.lockAsync(f.OrientationLock.PORTRAIT_UP)}function q(e){return e.setAllGridAudio}function D(e){return e.setGridAudioInitial}function V(e){return e.setGridHighlight}function F(e){return e.setGridOptions}function U(e){return e.hydrated}function W(e){return e.hydrate}function $(e){return e.grids}function Q(e){const o=(0,t.c)(9),{onPress:n,colors:l}=e;let d,a,c;return o[0]!==l.border||o[1]!==l.surface?(d={position:"absolute",top:C.SPACING.md,left:C.SPACING.md,width:40,height:40,borderRadius:C.RADIUS.lg,alignItems:"center",justifyContent:"center",backgroundColor:l.surface,borderWidth:1,borderColor:l.border},o[0]=l.border,o[1]=l.surface,o[2]=d):d=o[2],o[3]!==l.foreground?(a=(0,A.jsx)(y.ChevronLeft,{size:20,color:l.foreground}),o[3]=l.foreground,o[4]=a):a=o[4],o[5]!==n||o[6]!==d||o[7]!==a?(c=(0,A.jsx)(s.default,{onPress:n,accessibilityRole:"button",accessibilityLabel:"Back",hitSlop:10,style:d,children:a}),o[5]=n,o[6]=d,o[7]=a,o[8]=c):c=o[8],c}const X=d.default.create({fill:{flex:1},content:{flex:1},center:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl']},ptzBackdrop:{backgroundColor:'rgba(0,0,0,0.5)'},ptzCenter:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING.xl},ptzCard:{width:'100%',maxWidth:360,borderRadius:C.RADIUS.xl,borderWidth:1,overflow:'hidden'},ptzHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:C.SPACING.lg,paddingVertical:C.SPACING.md,borderBottomWidth:1},ptzTitle:{fontSize:15,fontWeight:'600',flex:1,marginRight:C.SPACING.md},ptzBody:{padding:C.SPACING.lg}})},3538,[15,17,20,112,252,33,277,136,786,743,466,3429,3431,813,2587,3539,3541,3544,3403,3144,3466,2589,3549,3139,3080,3177,10]);
|
|
15960
|
-
__d(function(g,r,i,a,m,
|
|
15961
|
-
__d(function(g,r,i,a,m,
|
|
15962
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridLiveEmbed=function(e){const u=(0,t.c)(84),{devices:b,quality:E,layout:w,showName:C,audioOnIds:S,pausedIds:T,highlight:O,activeOnly:P,showBoxes:A,ptzIds:L}=e,{server:z,token:G}=(0,h.useServer)(),{colors:N}=(0,y.useTheme)(),{t:_}=(0,f.useTranslation)(),[B,M]=(0,n.useState)("connecting"),H=z?.serverUrl??null;let R;u[0]!==P||u[1]!==S||u[2]!==b||u[3]!==O||u[4]!==w||u[5]!==T||u[6]!==L||u[7]!==E||u[8]!==H||u[9]!==A||u[10]!==C||u[11]!==G?(R=()=>H?(0,p.buildGridEmbedConfig)({serverUrl:H,token:G??"",deviceIds:b,options:{showName:C,quality:E,layout:w},muted:!0,paused:!1,highlight:O,activeOnly:P,showBoxes:A,audioOnIds:S,pausedIds:T,ptzIds:L}):{},u[0]=P,u[1]=S,u[2]=b,u[3]=O,u[4]=w,u[5]=T,u[6]=L,u[7]=E,u[8]=H,u[9]=A,u[10]=C,u[11]=G,u[12]=R):R=u[12];const U=R;let q;u[13]!==e?(q=t=>{const n=(0,x.coerceGridHostMessage)(t);if(n)e:switch(n.type){case"state":M(n.state),e.onStateChange?.(n.state);break e;case"tileTap":e.onTileTap?.(n.deviceId,n.rect);break e;case"tileLongPress":e.onTileLongPress?.(n.deviceId,n.rect);break e;case"tileOpen":e.onTileOpen?.(n.deviceId);break e;case"audioToggle":e.onAudioToggle?.(n.deviceId);break e;case"pauseToggle":e.onPauseToggle?.(n.deviceId);break e;case"ptzOpen":e.onPtzOpen?.(n.deviceId)}},u[13]=e,u[14]=q):q=u[14];const W=q;let D;u[15]!==U||u[16]!==W||u[17]!==H?(D={serverUrl:H,mode:"grid",buildConfig:U,onHostMessage:W},u[15]=U,u[16]=W,u[17]=H,u[18]=D):D=u[18];const{iframeRef:F,src:Q,postCommand:V,reload:J}=(0,I.useEmbedIframe)(D);let K;u[19]!==b?(K=b.join(","),u[19]=b,u[20]=K):K=u[20];const X=K;let Y;u[21]!==S?(Y=S.join(","),u[21]=S,u[22]=Y):Y=u[22];const Z=Y;let $;u[23]!==T?($=T.join(","),u[23]=T,u[24]=$):$=u[24];const ee=$;let te,ne,re,oe,ie,se,le,de,ae,ce,ue,fe,ge,ve,he,ye,me,be,pe;u[25]!==S||u[26]!==V?(te=()=>V({kind:"setAudioOn",value:S}),u[25]=S,u[26]=V,u[27]=te):te=u[27];u[28]!==Z?(ne=[Z],u[28]=Z,u[29]=ne):ne=u[29];(0,n.useEffect)(te,ne),u[30]!==T||u[31]!==V?(re=()=>V({kind:"setPaused",value:T}),u[30]=T,u[31]=V,u[32]=re):re=u[32];u[33]!==ee?(oe=[ee],u[33]=ee,u[34]=oe):oe=u[34];(0,n.useEffect)(re,oe),u[35]!==V||u[36]!==E?(ie=()=>V({kind:"setQuality",value:E}),se=[E,V],u[35]=V,u[36]=E,u[37]=ie,u[38]=se):(ie=u[37],se=u[38]);(0,n.useEffect)(ie,se),u[39]!==w||u[40]!==V?(le=()=>V({kind:"setLayout",value:w}),de=[w,V],u[39]=w,u[40]=V,u[41]=le,u[42]=de):(le=u[41],de=u[42]);(0,n.useEffect)(le,de),u[43]!==V||u[44]!==C?(ae=()=>V({kind:"setShowName",value:C}),ce=[C,V],u[43]=V,u[44]=C,u[45]=ae,u[46]=ce):(ae=u[45],ce=u[46]);(0,n.useEffect)(ae,ce),u[47]!==O||u[48]!==V?(ue=()=>{O&&V({kind:"setHighlight",value:O})},fe=[O,V],u[47]=O,u[48]=V,u[49]=ue,u[50]=fe):(ue=u[49],fe=u[50]);(0,n.useEffect)(ue,fe),u[51]!==P||u[52]!==V?(ge=()=>V({kind:"setActiveOnly",value:P??!1}),ve=[P,V],u[51]=P,u[52]=V,u[53]=ge,u[54]=ve):(ge=u[53],ve=u[54]);(0,n.useEffect)(ge,ve),u[55]!==V||u[56]!==A?(he=()=>V({kind:"setShowBoxes",value:A??!1}),ye=[A,V],u[55]=V,u[56]=A,u[57]=he,u[58]=ye):(he=u[57],ye=u[58]);(0,n.useEffect)(he,ye),u[59]!==V?(me=()=>{const e=()=>V({kind:"reconnect"}),t=()=>{"visible"===document.visibilityState&&V({kind:"reconnect"})};return window.addEventListener("online",e),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("online",e),document.removeEventListener("visibilitychange",t)}},be=[V],u[59]=V,u[60]=me,u[61]=be):(me=u[60],be=u[61]);(0,n.useEffect)(me,be),u[62]!==J?(pe=()=>{M("connecting"),J()},u[62]=J,u[63]=pe):pe=u[63];const xe=pe;if(!Q){let e,t,n;return u[64]!==N.danger?(e=[k.errorText,{color:N.danger}],u[64]=N.danger,u[65]=e):e=u[65],u[66]!==_?(t=_("v2.live.error"),u[66]=_,u[67]=t):t=u[67],u[68]!==e||u[69]!==t?(n=(0,j.jsx)(o.default,{style:k.container,children:(0,j.jsx)(o.default,{style:k.center,children:(0,j.jsx)(s.default,{style:e,children:t})})}),u[68]=e,u[69]=t,u[70]=n):n=u[70],n}let Ie,je,ke,Ee;u[71]===Symbol.for("react.memo_cache_sentinel")?(Ie={width:"100%",height:"100%",border:"none",background:"#000"},u[71]=Ie):Ie=u[71];u[72]!==X||u[73]!==F||u[74]!==Q?(je=(0,j.jsx)("iframe",{ref:F,src:Q,title:"camera-grid",allow:"microphone; autoplay; fullscreen",style:Ie},X),u[72]=X,u[73]=F,u[74]=Q,u[75]=je):je=u[75];u[76]!==N||u[77]!==xe||u[78]!==B||u[79]!==_?(ke="ready"!==B&&(0,j.jsx)(o.default,{style:k.overlay,pointerEvents:"error"===B?"auto":"none",children:"connecting"===B?(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(l.default,{color:N.primary}),(0,j.jsx)(s.default,{style:[k.hint,{color:N.foregroundMuted}],children:_("v2.live.connecting")})]}):(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(s.default,{style:[k.errorText,{color:N.danger}],children:_("v2.live.error")}),(0,j.jsxs)(c.default,{onPress:xe,style:[k.retryButton,{borderColor:N.border}],children:[(0,j.jsx)(v.RotateCw,{size:16,color:N.foreground}),(0,j.jsx)(s.default,{style:[k.retryLabel,{color:N.foreground}],children:_("v2.live.retry")})]})]})}),u[76]=N,u[77]=xe,u[78]=B,u[79]=_,u[80]=ke):ke=u[80];u[81]!==je||u[82]!==ke?(Ee=(0,j.jsxs)(o.default,{style:k.container,children:[je,ke]}),u[81]=je,u[82]=ke,u[83]=Ee):Ee=u[83];return Ee};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),v=r(d[8]),h=r(d[9]),y=r(d[10]),b=r(d[11]),p=r(d[12]),x=r(d[13]),I=r(d[14]),j=r(d[15]);const k=u.default.create({container:{flex:1,overflow:'hidden',backgroundColor:'#000'},overlay:Object.assign({},u.default.absoluteFill,{alignItems:'center',justifyContent:'center',backgroundColor:'#000'}),center:{flex:1,alignItems:'center',justifyContent:'center',padding:b.SPACING.xl,gap:b.SPACING.md},hint:{fontSize:13,textAlign:'center'},errorText:{fontSize:13,textAlign:'center'},retryButton:{flexDirection:'row',alignItems:'center',gap:b.SPACING.sm,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:8,borderWidth:1},retryLabel:{fontSize:13,fontWeight:'600'}})},3541,[15,17,20,112,240,252,33,786,813,3144,2587,2589,3542,3543,3451,10]);
|
|
15963
|
-
__d(function(g,r,i,a,m,
|
|
15964
|
-
__d(function(g,
|
|
15965
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.
|
|
15966
|
-
__d(function(g,r,i,
|
|
15967
|
-
__d(function(g,
|
|
15968
|
-
__d(function(g,r,i,a,m,
|
|
15969
|
-
__d(function(g,r,i,
|
|
15970
|
-
__d(function(g,r,i,a,m,
|
|
15971
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"
|
|
15972
|
-
__d(function(g,r,i,a,m,
|
|
15973
|
-
__d(function(g,r,i,a,m,
|
|
15974
|
-
__d(function(g,r,i,a,m,
|
|
15975
|
-
__d(function(g,r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return H}});var t=r(_d[0]),n=e(t),l=e(r(_d[1])),i=r(_d[2]),o=r(_d[3]),u=e(o),s=e(r(_d[4])),c=r(_d[5]),d=e(r(_d[6])),v=e(r(_d[7])),_=e(r(_d[8])),f=r(_d[9]),h=e(f),S=r(_d[10]),b=e(S),D=e(r(_d[11])),p=r(_d[12]),A=r(_d[13]),O=e(r(_d[14])),x=r(_d[15]);function I(){return I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},I.apply(this,arguments)}const w=u.default.createAnimatedComponent(i.FlatList),J={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs1(){const{isTouchActiveNative}=this.__closure;return isTouchActiveNative.value;}"},C={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs2(cur,prev){const{touchTranslate,activeIndexAnim,disabled,runOnJS,onRelease,onDragEnd,spacerIndexAnim}=this.__closure;if(cur!==prev&&!cur){const hasMoved=!!touchTranslate.value;if(!hasMoved&&activeIndexAnim.value>=0&&!disabled.value){runOnJS(onRelease)(activeIndexAnim.value);runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});}}}"},E={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs3(){const{spacerIndexAnim}=this.__closure;return spacerIndexAnim.value;}"},k={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs4(cur,prev){const{runOnJS,onPlaceholderIndexChange}=this.__closure;if(prev!==null&&cur!==prev&&cur>=0&&prev>=0){runOnJS(onPlaceholderIndexChange)(cur);}}"},T={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs5(){const{runOnJS,onContainerTouchEnd}=this.__closure;runOnJS(onContainerTouchEnd)();}"},R={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs6(){const{runOnJS,onContainerTouchStart}=this.__closure;runOnJS(onContainerTouchStart)();}"},y={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs7(evt){const{gestureDisabled,isTouchActiveNative,horizontalAnim,touchTranslate,autoScrollDistance,panGestureState,activeIndexAnim,disabled,runOnJS,onRelease,placeholderOffset,activeCellOffset,withSpring,animationConfigRef,onDragEnd,spacerIndexAnim}=this.__closure;if(gestureDisabled.value)return;isTouchActiveNative.value=false;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation+autoScrollDistance.value;panGestureState.value=evt.state;if(activeIndexAnim.value===-1||disabled.value)return;disabled.value=true;runOnJS(onRelease)(activeIndexAnim.value);const springTo=placeholderOffset.value-activeCellOffset.value;touchTranslate.value=withSpring(springTo,animationConfigRef.value,function(){runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;});}"},z={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs8(evt){const{gestureDisabled,panGestureState,horizontalAnim,touchTranslate}=this.__closure;if(gestureDisabled.value)return;panGestureState.value=evt.state;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation;}"},F={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs9(evt){const{gestureDisabled,disabled,panGestureState}=this.__closure;gestureDisabled.value=disabled.value;if(gestureDisabled.value)return;panGestureState.value=evt.state;}"},L={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs10(){const{runOnJS,onDragEnd,activeIndexAnim,spacerIndexAnim,disabled}=this.__closure;runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;}"},N={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs11(evt){const{scrollOffset,horizontalAnim,runOnJS,onScroll}=this.__closure;scrollOffset.value=horizontalAnim.value?evt.contentOffset.x:evt.contentOffset.y;runOnJS(onScroll)(scrollOffset.value);}"};function P(e,t){return n.default.createElement(_.default,e,n.default.createElement(h.default,null,n.default.createElement(b.default,{flatListRef:t},n.default.createElement(G,e))))}const G=(0,x.typedMemo)(function(e){const{cellDataRef:_,containerRef:h,flatlistRef:b,keyToIndexRef:x,propsRef:P,animationConfigRef:G}=(0,S.useRefs)(),{activeCellOffset:H,activeCellSize:M,activeIndexAnim:V,containerSize:j,scrollOffset:Y,scrollViewSize:U,spacerIndexAnim:X,horizontalAnim:K,placeholderOffset:B,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,isTouchActiveNative:Z,viewableIndexMin:$,viewableIndexMax:ee,disabled:te}=(0,f.useAnimatedValues)(),ae=(0,A.useStableCallback)(()=>{V.value=-1,X.value=-1,q.value=0,M.value=-1,H.value=-1,oe(null)}),{dragHitSlop:ne=c.DEFAULT_PROPS.dragHitSlop,scrollEnabled:le=c.DEFAULT_PROPS.scrollEnabled,activationDistance:re=c.DEFAULT_PROPS.activationDistance}=e;let[ie,oe]=(0,t.useState)(null);const[ue,se]=(0,t.useState)(!P.current.enableLayoutAnimationExperimental),ce=(0,A.useStableCallback)((t,n)=>{if(!e.keyExtractor)throw new Error("You must provide a keyExtractor to DraggableFlatList");return e.keyExtractor(t,n)}),de=(0,t.useRef)(e.data),ve=de.current.map(ce).join("")!==e.data.map(ce).join("");de.current=e.data,ve&&(ie=null,l.default.runAfterInteractions(()=>{ae()})),(0,t.useEffect)(()=>{P.current.enableLayoutAnimationExperimental&&(ie?se(!0):setTimeout(()=>{se(!1)},100))},[ie]),(0,t.useLayoutEffect)(()=>{e.data.forEach((e,t)=>{const n=ce(e,t);x.current.set(n,t)})},[e.data,ce,x]);const fe=(0,A.useStableCallback)(e=>{if(te.value)return;const t=x.current.get(e),n=_.current.get(e);n&&(H.value=n.measurements.offset,M.value=n.measurements.size);const{onDragBegin:l}=P.current;void 0!==t&&(X.value=t,V.value=t,oe(e),null==l||l(t))}),he=(0,t.useMemo)(()=>({activeKey:ie,extraData:e.extraData}),[ie,e.extraData]),me=(0,t.useCallback)(t=>{let{item:l,index:i}=t;const o=ce(l,i);return i!==x.current.get(o)&&x.current.set(o,i),n.default.createElement(v.default,{item:l,itemKey:o,renderItem:e.renderItem,drag:fe,extraData:e.extraData})},[e.renderItem,e.extraData,fe,ce]),ge=(0,A.useStableCallback)(t=>{var n;null===(n=e.onRelease)||void 0===n||n.call(e,t)}),Se=(0,A.useStableCallback)(t=>{let{from:n,to:l}=t;const{onDragEnd:i,data:o}=e,u=[...o];n!==l&&(u.splice(n,1),u.splice(l,0,o[n])),null==i||i({from:n,to:l,data:u}),oe(null)}),be=(0,A.useStableCallback)(t=>{var n;null===(n=e.onPlaceholderIndexChange)||void 0===n||n.call(e,t)});(0,o.useAnimatedReaction)((function({_worklet_12667785060637_init_data:e,isTouchActiveNative:t}){const n=function(){return t.value};return n.__closure={isTouchActiveNative:t},n.__workletHash=0xb8572d4211d,n.__initData=e,n})({_worklet_12667785060637_init_data:J,isTouchActiveNative:Z}),(function({_worklet_3017769988260_init_data:e,touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s}){const c=function(e,c){if(e!==c&&!e){!!!t.value&&n.value>=0&&!l.value&&(i(o)(n.value),i(u)({from:n.value,to:s.value}))}};return c.__closure={touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s},c.__workletHash=3017769988260,c.__initData=e,c})({_worklet_3017769988260_init_data:C,touchTranslate:q,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,onDragEnd:Se,spacerIndexAnim:X}),[Z,Se,ge]),(0,o.useAnimatedReaction)((function({_worklet_6176791664127_init_data:e,spacerIndexAnim:t}){const n=function(){return t.value};return n.__closure={spacerIndexAnim:t},n.__workletHash=6176791664127,n.__initData=e,n})({_worklet_6176791664127_init_data:E,spacerIndexAnim:X}),(function({_worklet_2590604232580_init_data:e,runOnJS:t,onPlaceholderIndexChange:n}){const l=function(e,l){null!==l&&e!==l&&e>=0&&l>=0&&t(n)(e)};return l.__closure={runOnJS:t,onPlaceholderIndexChange:n},l.__workletHash=2590604232580,l.__initData=e,l})({_worklet_2590604232580_init_data:k,runOnJS:o.runOnJS,onPlaceholderIndexChange:be}),[X]);const De=(0,o.useSharedValue)(!1),pe=i.Gesture.Pan().onBegin((function({_worklet_7787583163440_init_data:e,gestureDisabled:t,disabled:n,panGestureState:l}){const i=function(e){t.value=n.value,t.value||(l.value=e.state)};return i.__closure={gestureDisabled:t,disabled:n,panGestureState:l},i.__workletHash=7787583163440,i.__initData=e,i})({_worklet_7787583163440_init_data:F,gestureDisabled:De,disabled:te,panGestureState:W})).onUpdate((function({_worklet_11677334153389_init_data:e,gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i}){const o=function(e){if(t.value)return;n.value=e.state;const o=l.value?e.translationX:e.translationY;i.value=o};return o.__closure={gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i},o.__workletHash=0xa9ed75aa8ad,o.__initData=e,o})({_worklet_11677334153389_init_data:z,gestureDisabled:De,panGestureState:W,horizontalAnim:K,touchTranslate:q})).onEnd((function({_worklet_13600115403067_init_data:e,gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D}){const p=function(e){if(t.value)return;n.value=!1;const p=l.value?e.translationX:e.translationY;if(i.value=p+o.value,u.value=e.state,-1===s.value||c.value)return;c.value=!0,d(v)(s.value);const A=_.value-f.value;i.value=h(A,S.value,(function({_worklet_9458151985595_init_data:e,runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o}){const u=function(){t(n)({from:l.value,to:i.value}),o.value=!1};return u.__closure={runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o},u.__workletHash=9458151985595,u.__initData=e,u})({_worklet_9458151985595_init_data:L,runOnJS:d,onDragEnd:b,activeIndexAnim:s,spacerIndexAnim:D,disabled:c}))};return p.__closure={gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D},p.__workletHash=0xc5e860c293b,p.__initData=e,p})({_worklet_13600115403067_init_data:y,gestureDisabled:De,isTouchActiveNative:Z,horizontalAnim:K,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,placeholderOffset:B,activeCellOffset:H,withSpring:o.withSpring,animationConfigRef:G,onDragEnd:Se,spacerIndexAnim:X})).onTouchesDown((function({_worklet_2544844199545_init_data:e,runOnJS:t,onContainerTouchStart:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchStart:n},l.__workletHash=2544844199545,l.__initData=e,l})({_worklet_2544844199545_init_data:R,runOnJS:o.runOnJS,onContainerTouchStart:()=>(te.value||(Z.value=!0),!1)})).onTouchesUp((function({_worklet_8529291078106_init_data:e,runOnJS:t,onContainerTouchEnd:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchEnd:n},l.__workletHash=8529291078106,l.__initData=e,l})({_worklet_8529291078106_init_data:T,runOnJS:o.runOnJS,onContainerTouchEnd:()=>{Z.value=!1}}));if(ne&&pe.hitSlop(ne),re){const t=[-re,re];e.horizontal?pe.activeOffsetX(t):pe.activeOffsetY(t)}const Ae=(0,A.useStableCallback)(t=>{var n;null===(n=e.onScrollOffsetChange)||void 0===n||n.call(e,t)}),Oe=(0,o.useAnimatedScrollHandler)({onScroll:(function({_worklet_11729156081231_init_data:e,scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i}){const o=function(e){t.value=n.value?e.contentOffset.x:e.contentOffset.y,l(i)(t.value)};return o.__closure={scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i},o.__workletHash=0xaaae82e864f,o.__initData=e,o})({_worklet_11729156081231_init_data:N,scrollOffset:Y,horizontalAnim:K,runOnJS:o.runOnJS,onScroll:Ae})},[K]);(0,p.useAutoScroll)();const xe=(0,A.useStableCallback)(t=>{var n;const l=t.viewableItems.filter(e=>e.isViewable).map(e=>e.index).filter(e=>"number"==typeof e),i=Math.min(...l),o=Math.max(...l);$.value=i,ee.value=o,null===(n=e.onViewableItemsChanged)||void 0===n||n.call(e,t)});return n.default.createElement(D.default,{activeKey:ie,keyExtractor:ce,horizontal:!!e.horizontal,layoutAnimationDisabled:ue},n.default.createElement(i.GestureDetector,{gesture:pe},n.default.createElement(u.default.View,{style:e.containerStyle,ref:h,onLayout:t=>{var n;let{nativeEvent:{layout:l}}=t;const{width:i,height:o}=l;j.value=e.horizontal?i:o,null===(n=e.onContainerLayout)||void 0===n||n.call(e,{layout:l,containerRef:h})}},e.renderPlaceholder&&n.default.createElement(d.default,{renderPlaceholder:e.renderPlaceholder}),n.default.createElement(w,I({},e,{data:e.data,onViewableItemsChanged:xe,CellRendererComponent:s.default,ref:b,onContentSizeChange:(t,n)=>{var l;U.value=e.horizontal?t:n,null===(l=e.onContentSizeChange)||void 0===l||l.call(e,t,n)},scrollEnabled:!ie&&le,renderItem:me,extraData:he,keyExtractor:ce,onScroll:Oe,scrollEventThrottle:16,simultaneousHandlers:e.simultaneousHandlers,removeClippedSubviews:!1})),!!e.onScrollOffsetChange&&n.default.createElement(O.default,{onScrollOffsetChange:e.onScrollOffsetChange,scrollOffset:Y}))))});var H=n.default.forwardRef(P)},3554,[17,155,3241,2714,3555,3557,3565,3566,3560,3559,3561,3556,3567,3564,3568,3562]);
|
|
15976
|
-
__d(function(g,r,
|
|
15977
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}})
|
|
15978
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"SCROLL_POSITION_TOLERANCE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"DEFAULT_ANIMATION_CONFIG",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"DEFAULT_PROPS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"isIOS",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"isAndroid",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"isWeb",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"isReanimatedV2",{enumerable:!0,get:function(){return f}}),r(d[0]);var t=r(d[1]);const n=2,o={damping:20,mass:.2,stiffness:100,overshootClamping:!1,restSpeedThreshold:.2,restDisplacementThreshold:.2},u={autoscrollThreshold:30,autoscrollSpeed:100,animationConfig:o,scrollEnabled:!0,dragHitSlop:0,activationDistance:0,dragItemOverflow:!1},l=!1,s=!1,c=!0,f=!!t.useSharedValue;if(!f)throw new Error("Your version of react-native-reanimated is too old for react-native-draggable-flatlist!")},3557,[136,2714]);
|
|
15979
|
-
__d(function(g,r,
|
|
15980
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return
|
|
15981
|
-
__d(function(g,r,i,a,m,
|
|
15982
|
-
__d(function(g,r,i,a,m,
|
|
15983
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"
|
|
15984
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.
|
|
15985
|
-
__d(function(g,r,i,a,m,
|
|
15986
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";
|
|
15987
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";
|
|
15988
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.
|
|
15989
|
-
__d(function(g,r,i,a,m,
|
|
15990
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function
|
|
15991
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.
|
|
15992
|
-
__d(function(g,r,
|
|
15993
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e
|
|
15994
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.
|
|
15995
|
-
__d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"
|
|
15996
|
-
__d(function(g,r,i,a,m,e,d){},3575,[]);
|
|
15997
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),
|
|
15998
|
-
__d(function(g,r,
|
|
15999
|
-
__d(function(e,t,a,o,i,n,r){i.exports={devices:{editDevice:"Edit device",originalName:"Original name",customName:"Custom name",customNamePlaceholder:"Leave empty to use original",icon:"Icon",typeLight:"Light",typeSwitch:"Switch",typeCover:"Cover",typeLock:"Lock",typeAlarm:"Alarm",typeButton:"Button",typeSelect:"Select",typeSiren:"Siren",typeSensor:"Sensor",typeEntry:"Entry",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Run",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Mute",unmute:"Unmute",stop:"Stop",locked:"Locked",unlocked:"Unlocked",open:"Open",closed:"Closed",disarmed:"Disarmed",disarm:"Disarm"},common:{error:"Error",save:"Save",cancel:"Cancel",loading:"Loading...",comingSoon:"Coming soon",back:"Back",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",reset:"Reset",selectAll:"Select all",deselectAll:"Deselect all",delete:"Delete",retry:"Retry"},grids:{newGrid:"New grid",deleteConfirm:"Delete this grid?",noGrids:"No grids yet. Create one to arrange cameras in a mosaic view.",createGrid:"Create grid",cameras:"cameras",notFound:"Grid not found.",noCameras:"No cameras in this grid. Edit the grid to add some.",edit:"Edit",addCamera:"Add camera",presets:"Presets",auto:"Auto",manual:"Manual",gridName:"Grid name",view:"View",addCameraHint:"Add at least one camera from the button above.",allCamerasAdded:"All cameras already in grid",cameraUnavailable:"Camera unavailable",camerasInGrid:"Cameras in grid",addAll:"Add all",addCameras:"Add Cameras",backToGrid:"Back to Grid",timelineNotSupported:"Timeline not supported"},nav:{cameras:"Cameras",grids:"Grids",events:"Events",videoclips:"Videoclips",list:"List",settings:"Settings"},cameras:{addCamera:"Add camera",pipActive:"PiP active",reorderEnable:"Reorder",reorderDisable:"Unlock",live:"Live",noCameras:"No cameras configured",noIntegrations:"No integrations configured. Add a system to get started.",createSystem:"Create system",importFrom:"Import cameras from",importSuccess:"Import complete",importCount:"{{count}} cameras imported",selectCamerasToImport:"Select cameras to import",selectAll:"Select all",deselectAll:"Deselect all",importSelected:"Import {{count}} selected",noCamerasFound:"No cameras found",play:"\u25b6 Play",paused:"Paused",noDataForDate:"No data for this date",recordingNotAvailable:"Recording not available",noEventsReel:"No recent events",settings:"Settings",highlightMotion:"Motion Highlight",highlightOnMotion:"Highlight on motion",highlightAudio:"Audio Highlight",audioMode:"Mode",audioModeOff:"Off",audioModeSensor:"Sensor",audioModeLevel:"Level",audioPreset:"Audio Preset",audioPresetCustom:"Custom",audioPresetCrying:"Crying / baby",audioPresetAlarm:"Alarm / siren",audioPresetDog:"Dog barking",audioPresetDoorbell:"Doorbell / knock",audioPresetGlass:"Glass break",audioWindow:"Window (s)",audioThreshold:"Threshold (dB)",audioHitPercentage:"Hit (%)",audioHoldSeconds:"Hold (s)",highlightDetection:"Object Detection Highlight",highlightOnDetection:"Highlight on detection",detectionClasses:"Classes",holdSeconds:"Hold (s)",rtspNotSupportedWeb:"RTSP streams are not supported on web. Use the mobile app.",liveDetections:"Live detections",filterTimeline:"Filter timeline",filterClasses:"Filter classes...",filterBySeverity:"Filter by severity",severityAlert:"Alert",severityDetection:"Detection",statusPosition:"Status Indicators Position",today:"Today",yesterday:"Yesterday",timeline:"Timeline",timelineEventsClusterEvents:"Events",selectDate:"Select a date",videoclipsNotSupported:"Videoclips not supported for this camera",noVideoclipsForDate:"No videoclips for this date",endOfList:"End of list",backToLive:"Back to live",goLive:"Go live",loadingClip:"Loading clip...",clusterDetailShowBbox:"Show bounding box on image",clusterDetailOpenVideoclip:"Open videoclip",clusterDetailLoadingEvents:"Loading events...",devices:"Devices",noAssociatedDevices:"No devices linked. Configure in Settings > Cameras.",timelineData:"Timeline data",timelineDataHint:"What to show on the timeline.",timelineDataVideoclips:"Videoclips",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Events",timelineEvents:"Timeline events",timelineEventsHint:"Which event types to show on the timeline, by severity.",timelinePresetAll:"All",timelinePresetImportant:"Important",timelinePresetCritical:"Critical",timelinePresetCustom:"Custom",statusBlock:"Status Block",sensorsBlock:"Sensors Block",position:"Position",indicators:"Indicators",downloadSnapshot:"Download Snapshot",exportDownloadClip:"Download Clip",exportRecordingWebOnly:"Recording export (web only)",exportSnapshot:"Export Snapshot",intercomError:"Intercom error",multiCam:"Multi-Camera",ptzNotSupported:"PTZ not supported",ptzSelectPreset:"Select PTZ Preset",snapshotFailed:"Snapshot failed"},events:{loading:"Loading events...",filterByLabel:"Filter by label",filterByLabelPlaceholder:"e.g. person, doorbell",filterByCamera:"Filter by camera",date:"Date",detectionTypes:"Detection types",source:"Source",cameras:"Cameras",groupingRange:"Grouping",groupingPresetMinutes:"{{m}} min",groupingCustom:"Custom",groupingCustomMinutes:"Minutes",groupingCustomApply:"Apply",today:"Today",noCamerasFromConfig:"Cameras loaded from EventsApp config",all:"All",typesCount:"{{count}} types",camerasCount:"{{count}} cameras",cols:"cols",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"VideoClips API",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Person",detectionVehicle:"Vehicle",detectionAnimal:"Animal",detectionAudio:"Audio",detectionFace:"Face",detectionPlate:"Plate",detectionPackage:"Package",detectionDoorbell:"Doorbell",detectionSensor:"Sensor",detectionMotion:"Motion",detectionRules:"Rules",noScryptedIntegration:"Add a Scrypted integration in Settings to view events.",frigateNoEvents:"Events are only available for Scrypted. Select a Scrypted instance in Settings.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading events",noEvents:"No events for this date. Try changing the date or filters.",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear",columnsPerRow:"Columns per row",onlyWithClips:"Only with clips",relatedClip:"Related Clip"},videoclips:{loading:"Loading videoclips...",noCamerasFromConfig:"Cameras loaded from config",noScryptedIntegration:"Add a Scrypted integration in Settings to view videoclips.",noFrigateIntegration:"Select a Frigate integration in Settings to view videoclips.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading videoclips",noVideoclips:"No videoclips for this date. Try changing the date or filters.",openVideoclip:"Open videoclip",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear"},settings:{integrations:"Integrations",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Name",baseUrl:"Base URL",urlLocal:"Local URL",urlPublic:"Public URL",username:"Username",password:"Password",token:"Token (optional)",frigateTokenHint:"Token (optional): JWT from browser",tokenRequired:"Token",testConnection:"Test connection",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connection successful",connectionError:"Connection failed",scryptedCredentialsPromptTitle:"Scrypted login",scryptedCredentialsPromptSubtitle:"Enter your Scrypted username and password to connect.",scryptedCredentialsPromptSkip:"Skip for now",usernamePlaceholder:"admin",save:"Save",tabStream:"Stream & playback",tabGeneral:"General",data:"Data",clearCacheEventsClips:"Clear events & videoclips cache",eventsClipsSourceHint:"Source for Events and Videoclips tabs.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Choose which integrations to use for the reel.",reelScryptedSourceHint:"When using Scrypted: event source for reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Add a Scrypted or Frigate integration first.",exportBackup:"Export backup",exportError:"Export failed",importBackup:"Import backup",importConfirm:"This will replace all cameras, integrations and settings with the backup data. Continue?",importSuccess:"Backup restored successfully",importError:"Import failed",uiPrototypes:"UI Prototypes",uiPrototypesHint:"Explore experimental timeline designs",versions:"Versions",appVersion:"App",nativeVersion:"Native",updateNow:"Update now",updateError:"Update failed",updateAvailableTitle:"Update Available",updateAvailableMessage:"A new version of CamStack has been downloaded and is ready to install. The app will restart to apply the update.",updateInstall:"Install & Restart",updateLater:"Later",tabIntegrations:"Integrations",tabCameras:"Camera settings",theme:"Theme",themeSystem:"System",themeLight:"Light",themeDark:"Dark",language:"Language",languageSystem:"System",languageEn:"English",languageIt:"Italiano",timelineMode:"Timeline Mode",timelineModeClassic:"Classic",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Show detection timeline",timelineVisibleDescription:"Display the detection timeline panel in the camera view.",clusterSize:"Cluster card size",snapshotInterval:"Snapshot refresh interval",clusterSizeXS:"XS",clusterSizeS:"S",clusterSizeM:"M",clusterSizeL:"L",clusterSizeXL:"XL",highlightAppearance:"Highlight appearance",highlightAppearanceHint:"Color and border thickness for motion, audio, and detection highlights on camera streams.",highlightMotion:"Motion",highlightAudio:"Audio",highlightDetection:"Detection",highlightColor:"Color",highlightThickness:"Thickness",selectSection:"Select section",addSystem:"Add system",selectPlatform:"Select platform",deleteInstance:"Delete instance",deleteInstanceConfirm:"Are you sure you want to delete this instance?",delete:"Delete",mqttEvents:"MQTT - Real-time events",mqttBrokerUrl:"MQTT broker URL",mqttUsername:"MQTT username",mqttPassword:"MQTT password",mqttTopicPrefix:"Topic prefix (default: frigate)",mqttOptional:"Optional",scryptedAddressAlreadyUsed:"This Scrypted address is already configured. Only one instance per address is allowed.",scryptedAdvancedNotifierRequired:"The Advanced Notifier plugin is required for the connection.",scryptedCorsTitle:"CORS configuration required (Web)",scryptedCorsBody:"In Scrypted, open the Cloud plugin settings and add your domain ({{domain}}) to the CORS Allowed Origins list. Without this, the browser will block requests to your Scrypted server.",scryptedUrlHint:"Local URL is tried first (e.g. on LAN), then public URL. At least one required.",gridLayout:"Grid layout",gridLayoutHint:"Display options for the cameras grid.",gridColumns:"Grid columns",gridColumnsHint:"Number of cameras per row. Auto = 1 on mobile, 4 on tablet.",gridShowName:"Show camera name",gridShowState:"Show state (battery, recording, sleeping)",reorderCameras:"Reorder cameras",reorderCamerasHint:"Drag to reorder cameras",reorderDone:"Done",manageCameras:"Manage cameras",manageCamerasHint:"Remove cameras from the app.",downloadSnapshot:"Download snapshot",snapshotFailed:"Could not fetch snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Download clip",exportStartRecording:"Start recording",exportStopRecording:"Stop recording",exportRecordingWebOnly:"Recording available on web",intercomError:"Intercom unavailable. Check camera credentials in Scrypted.",deleteCamera:"Remove camera",deleteCameraConfirm:"Remove {{name}} from the app?",streamPlayback:"Stream & playback",playOnOpen:"Start stream when opening camera",playOnOpenHint:"Automatically load the live stream when you open a camera.",audioOnOpen:"Unmute audio when opening",audioOnOpenHint:"Play audio when opening a camera (if supported).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Restart stream when no data received (helps with stalled connections).",cameraPlayer:"Camera player",webViewCameraDetail:"Use WebView player",webViewCameraDetailHint:"Use WebView for Scrypted cameras (faster first frame, more stable). PiP, fullscreen and intercom work. Default: native player.",streamQuality:"Stream quality",streamQualitySingle:"Single camera quality",streamQualityGrid:"Grid quality",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Associated devices",associatedDevicesHint:"Add actuators (lights, switches, covers, etc.) to control from the camera view.",linkedDevices:"Linked",reorderHint:"Use arrows to reorder",addDevice:"Add device",noEligibleDevices:"No Scrypted or Home Assistant configured. Add an integration first.",configureDevices:"Configure devices",cameraSettingsHint:"Choose a camera to configure its specific options.",noCamerasConfigured:"No cameras configured.",searchDevices:"Search devices...",source:"Source",type:"Type",all:"All",noMatchingDevices:"No devices match the filters.",frigateStream:"Frigate Stream",frigateStreamSourceHint:"Stream source: WebRTC (default), RTSP, or MJPEG.",frigateStreamMapping:"Stream mapping (go2rtc names from config)",frigateStreamMappingHint:"Select from available go2rtc streams. Order: Main, Sub, Low.",frigateSelectStream:"Select stream",frigateAddStream:"Add stream",frigateInfo:"Camera info",frigateShowConfig:"Show config",frigateShowGo2rtc:"Show go2rtc",frigateMissingConfig:"Missing baseUrl or cameraName in camera config.",tabLogs:"Logs",logsCount:"{{count}} entries",logsDownload:"Download",logsClear:"Clear",logsEmpty:"No logs yet. Console output will appear here.",logsExportError:"Export failed",logsExportTitle:"Export logs",logsClearConfirmTitle:"Clear logs",logsClearConfirmMessage:"Remove all log entries?",hubAppearanceTitle:"Appearance",hubAppearanceDesc:"Theme, language, timeline and highlights",hubCamerasTitle:"Cameras",hubCamerasDesc:"Grid layout, stream quality and camera management",hubIntegrationsTitle:"Integrations",hubIntegrationsDesc:"Manage Scrypted, Frigate and other systems",hubAdvancedTitle:"Advanced",hubAdvancedDesc:"Data backup and cache management",hubLogsTitle:"Logs",hubLogsDesc:"View and export application logs",hubCacheTitle:"Cache",frigateAutoSnap:"Auto Snapshot",frigateSegmentNav:"Segment Navigation",frigateShowGo:"Show Go2RTC",frigateTimeline:"Timeline",reelCameras:"Reel Cameras",reelCamerasHint:"Select which cameras appear in the events reel",reelDeselectAll:"Deselect All",reelDetectionClasses:"Detection Classes",reelDetectionClassesHint:"Filter events by detection class",reelIncludeRuleArtifacts:"Include Rule Artifacts",reelIncludeRuleArtifactsHint:"Show rule-based events in the reel",reelRuleArtifacts:"Rule Artifacts",reelSelectAll:"Select All",reelBadgeContent:"Badge content",reelBadgePosition:"Badge position",reelBadgeSize:"Badge size",reelBadgeBoth:"Time + Class",reelBadgeTime:"Time only",reelBadgeClass:"Class only",reelBadgeNone:"Hidden",reelBadgeSmall:"Small",reelBadgeMedium:"Medium",reelBadgeLarge:"Large"},reel:{filterMotion:"Motion",filterOnlyRules:"Only rules",filterOnlySensors:"Only sensors",goToMostRecent:"Go to most recent"},v2:{common:{connecting:"Connecting\u2026",online:"Online",offline:"Offline",loadError:"Loading error",create:"Create"},cameras:{empty:"No cameras",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"Sleeping",unavailable:"Unavailable",motion:"Motion",doorbell:"Doorbell",doorbellRinging:"Ringing",doorbellLastRing:"Ring {{time}} ago",snapshotLoading:"Loading\u2026",manage:"Manage cameras",manageHint:"Drag to reorder. Rename inline. Toggle to show or hide a camera from the list.",reorderHandle:"Drag to reorder",appearance:"Appearance",editList:"Edit list",listOptions:"Camera list options"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Mute",unmute:"Unmute",snapshot:"Snapshot",snapshotFailed:"Could not capture a snapshot.",ptz:"PTZ controls",talk:"Talk",fullscreen:"Fullscreen",talkFailed:"Could not start talk-back. Check microphone access.",pip:"Picture in Picture",exitFullscreen:"Exit fullscreen",devices:"Devices",devicesEmpty:"No connected devices.",linkedModeAuto:"Link: Auto (same location)",linkedModeManual:"Link: Manual",motionBoxes:"Motion boxes",close:"Close",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Create grid",empty:"No grids",emptyHint:"Tap + to create your first grid",countNone:"No cameras",countOne:"1 camera",countOther:"{{count}} cameras",defaultName:"New grid",deleteTitle:"Delete grid",deleteConfirm:"Delete \"{{name}}\"? This cannot be undone.",export:"Export",exportAllA11y:"Export all grids",shareA11y:"Share grid",editA11y:"Edit grid",deleteA11y:"Delete grid",linkCopied:"Grid link copied to clipboard",layoutAuto:"Auto",layoutColumns:"{{count}} cols"},gridView:{editA11y:"Edit grid",fallbackTitle:"Grid",notFound:"Grid not found",emptyGrid:"This grid is empty",addCameras:"Add cameras",reorderTitle:"Reorder cameras",reorderA11y:"Reorder cameras",reorderDoneA11y:"Done reordering",allHidden:"All cameras are hidden. Use reorder mode to show some.",dragA11y:"Drag to reorder",hideA11y:"Hide from grid",showA11y:"Show in grid",removeA11y:"Remove from grid",adhocTitle:"Quick grid"},gridBuilder:{title:"Edit grid",nameLabel:"Name",namePlaceholder:"Grid name",camerasSelected:"Cameras ({{count}} selected)",optionsTitle:"Options",showName:"Show camera name",export:"Export grid",orderSection:"In the grid",orderHint:"Drag to reorder",emptyOrder:"No cameras yet \u2014 add some below.",addSection:"Add cameras",removeA11y:"Remove from grid",addA11y:"Add to grid",highlightTitle:"Highlight",highlightMotion:"On motion",highlightAudio:"On audio",highlightAudioOff:"Off",highlightAudioSensor:"Presence",highlightAudioLevel:"Level",highlightThreshold:"Threshold",highlightHold:"Hold",highlightDetection:"On detection",clusterLabel:"Cluster label",clusterLabelIcon:"Icon",clusterLabelText:"Text"},gridBar:{back:"Back",pauseAll:"Pause all",playAll:"Play all",audio:"Audio",quality:"Stream quality",layout:"Layout",highlightMenu:"Highlight & overlays",activeOnly:"Active only",share:"Share grid",edit:"Edit grid",hide:"Hide controls",show:"Show controls",muteAll:"Mute all",unmuteAll:"Unmute all"},gridMenu:{highlightMaster:"Highlight borders"},gridShare:{title:"Share \"{{name}}\"",quality:"Stream quality",layout:"Layout",showNames:"Show camera names",activeOnly:"Active cameras only",boxes:"Bounding boxes",highlightEnable:"Highlight",audioSummary:"Audio starts on for {{count}} camera(s)",ttlTitle:"Link expires",ttl_1d:"1 day",ttl_7d:"7 days",ttl_30d:"30 days",ttl_never:"Forever",tokenNotice:"The link includes a view-only access token limited to these cameras. Anyone with the link can watch until it expires or is revoked.",copyLink:"Copy link",creating:"Creating link\u2026",copiedExpires:"Link copied \u2014 expires {{date}}",copiedNever:"Link copied \u2014 never expires",error:"Could not create the share link. Check the connection and try again.",optionAuto:"Auto",optionHigh:"High",optionMedium:"Mid",optionLow:"Low"},gridControls:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",quality:"Quality",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Events \u2014 coming soon",searchLabel:"Search label\u2026",empty:"No events",today:"Today",filteredEmpty:"No matches in the loaded range",loadOlder:"Load older",selectPrompt:"Select an event to see its detail",filters:"Filters",all:"All",day:"Day",sort:"Sort",sortTime:"Newest",sortImportance:"Importance",cameras:"Cameras",classes:"Classes",search:"Search",searchCameras:"Search cameras\u2026",searchClasses:"Search classes\u2026",allCamerasHint:"None = all",allClassesHint:"None = all",done:"Done",density:"Density",selectHint:"Select an event",eventKinds:"Event types",displayOptions:"Display",displayTitle:"Display options"},settings:{themeSystem:"System",themeDark:"Dark",themeLight:"Light",server:"Server",hubActive:"Active hub",changeServer:"Change server",signOut:"Sign out",network:"Network",networkNone:"No routes probed yet",endpointUnlikely:"Unlikely usable",reprobe:"Re-probe routes",reprobing:"Probing\u2026",appearance:"Appearance",theme:"Theme",info:"Info",app:"App",version:"Version",noServer:"No server",footerNote:"CamStack Viewer connects to a single camstack hub. Cameras, grids and events are managed by the server.",language:"Language",langSystem:"System",gridDefaults:"Grid defaults",showName:"Show camera name",showNameHint:"Overlay the camera name on each tile",showState:"Show status badge",showStateHint:"Show online / recording state on each tile",columns:"Columns",cameraOrder:"Camera order",orderName:"By name",orderCustom:"Custom",motionHold:"Motion highlight linger",motionHoldHint:"Keep a tile's motion highlight lit this long after motion stops.",motionHoldOff:"Off",streamQuality:"Stream quality",streamDefaults:"Stream defaults",playOnOpen:"Play on open",playOnOpenHint:"Start the live stream when a camera opens",audioOnOpen:"Audio on open",audioOnOpenHint:"Unmute audio when a camera opens",snapshotInterval:"Snapshot refresh",highlightAppearance:"Highlight appearance",highlightMotionColor:"Motion color",highlightAudioColor:"Audio color",highlightDetectionColor:"Detection color",highlightThickness:"Border thickness",qualityAuto:"Auto",qualityHigh:"High",qualityMid:"Medium",qualityLow:"Low",secondsValue:"{{count}}s",advanced:"Advanced",clearCache:"Clear cache",clearCacheHint:"Free up snapshots and cached data (keeps your server and settings)",clearCacheConfirmTitle:"Clear cache?",clearCacheConfirmBody:"This removes cached images and query data. Your server, sign-in and settings are kept.",clearCacheDone:"Cache cleared",exportSettings:"Export settings",exportSettingsHint:"Copy your settings as JSON",exportSettingsDone:"Settings copied as JSON",viewLogs:"View logs",viewLogsHint:"Recent in-app log messages",logsEmpty:"No logs recorded yet",keepLogs:"Keep logs",keepLogsHint:"Record a rolling buffer of in-app log messages",debugMode:"Debug mode",debugModeHint:"Verbose logs across live, playback and scrub \u2014 sent to the server",logsClear:"Clear",resetSettings:"Reset settings",resetSettingsHint:"Restore all defaults",resetConfirmTitle:"Reset settings?",resetConfirmBody:"This restores all settings to their defaults.",cancel:"Cancel",confirm:"Confirm",timeline:"Timeline & highlights",reel:"Event reel",reelThumbSize:"Reel thumbnail size",reelThumbSizeHint:"Size of the tiles in the Recent events reel.",reelSizeSmall:"Small",reelSizeMedium:"Medium",reelSizeLarge:"Large",reelShowLabels:"Show labels",reelShowLabelsHint:"Show the class/identity label on reel items.",reelLabelStyle:"Class display",reelLabelStyleHint:"Show the detection class as an icon or as text on reel items.",reelShowImportance:"Show importance",reelShowImportanceHint:"Show the importance badge on reel items.",events:"Events",eventsPage:"Events page",minImportance:"Minimum importance",minImportanceHint:"Hide events scored below this across the events page and the camera timeline.",minImportanceOff:"Off",tileShowLabels:"Show labels",tileShowLabelsHint:"Show the class / identity / audio labels on event cards.",tileShowImportance:"Show importance",tileShowImportanceHint:"Show the importance badge on event cards (when scored).",tileShowCameraName:"Show camera name",tileShowCameraNameHint:"Show the camera name in the event card footer.",tileLabelStyle:"Class display",tileLabelStyleHint:"Show the detection class as an icon or as text.",tileLabelStyleIcon:"Icon",tileLabelStyleText:"Text",comingSoon:"Coming soon",cameras:"Cameras",manageCameras:"Manage cameras",manageCamerasHint:"Rename, hide, reorder",pinchExpandsHeight:"Pinch enlarges the view",pinchExpandsHeightHint:"Pinching to zoom also grows the video taller (crops the side edges on 16:9 cameras).","timeline.gapPercent":"Cluster gap (%)","timeline.sizePercent":"Cluster size (%)","timeline.indicatorPositionPct":"Indicator position (%)","timeline.showImportance":"Show importance on items","timeline.showClass":"Show detection class on items","timeline.cardWidthPct":"Card width (%)",haptics:"Event haptics",hapticsEnabled:"Vibrate on events",hapticsEnabledHint:"Small vibration pulses for key events on the camera you're watching. Native only (iOS/Android).",hapticsMotion:"Motion",hapticsDetection:"Detection",hapticsPerson:"Person / recognized"},login:{loginFailed:"Login failed",verifyFailed:"Verification failed",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Show password",hidePassword:"Hide password",signIn:"Sign in",signingIn:"Signing in\u2026",twoFactor:"Two-factor authentication",totpHint:"Enter the 6-digit code from your authenticator app to sign in as ",verificationCode:"Verification code",verifyAndSignIn:"Verify and sign in",verifying:"Verifying\u2026",back:"Back",or:"or",signInWithCamStack:"Sign in with CamStack",hubSignInHint:"Opens your hub\u2019s login page and links this app without typing your password here.",handoffFailed:"Sign-in with CamStack failed \u2014 try again or use username and password",invalidServerUrl:"Enter a valid server URL (https://\u2026) first"},live:{webUnsupported:"Live view is not available on the web version yet.",connecting:"Connecting to live stream\u2026",error:"Unable to load the live stream.",retry:"Retry",noConnection:"No connection to the server",failed:"Connection failed"},ptz:{title:"PTZ",notAvailable:"PTZ controls are not available for this camera.",zoom:"Zoom",home:"Home position",presets:"Presets",noPresets:"No presets saved."},timeline:{activityTitle:"Activity",last24h:"Last 24h",loading:"Loading activity\u2026",noActivity:"No activity in the last 24 hours.",legendRecording:"Recorded",legendMotion:"Motion",legendAudio:"Audio"},theater:{back:"Back",today:"Today",yesterday:"Yesterday",selectDate:"Pick a date",live:"LIVE",now:"NOW",auto:"Auto",quality:"Stream quality",filterAll:"All",filter_motion:"Motion",filter_audio:"Audio",goToLive:"Go to live",noRecording:"No recording",noRecordingHint:"No footage at this time",detailCount:"{{frames}} frames \xb7 {{count}} detections",detailTracks:"{{tracks}} tracks \xb7 {{count}} detections",detailEmpty:"No detail images for this moment",detailSeek:"Go to this moment",zoneHint:"Drag a rectangle over the video to filter events by zone",zoneConfirm:"Confirm",zoneCancel:"Cancel"},mediaKind:{crop:"Object crop",thumbnail:"Best shot",faceCrop:"Face",plateCrop:"Plate",fullFrame:"Frame",fullFrameBoxed:"Boxed",keyFrame:"Key frame",firstFrame:"First",lastFrame:"Last",snapshot:"Snapshot"},tracks:{crop:"Crop",fullFrame:"Full frame",zones:"Zones",audio:"Audio",reason:"Why notable",empty:"No tracks",recent:"Recent",searchPlaceholder:"Search events (e.g. \"person in red\")",noMatches:"No matching events",person:"Person",assignPerson:"Assign to person",changePerson:"Change",notAssigned:"Not assigned",assignFaceTitle:"Assign face",newPersonPlaceholder:"New person name\u2026",createAndAssign:"Create & assign",assignFailed:"Couldn't assign the face",removePerson:"Remove person",removePersonConfirmTitle:"Remove person?",removePersonConfirmBody:"This unlinks the person from this face. The face returns to the unassigned buffer and can be reassigned later.",disassociateFailed:"Couldn't remove the person",removePersonAll:"Remove from all events",removePersonAllConfirmTitle:"Remove from all events?",removePersonAllConfirmBody:"This unlinks this person from EVERY event. All faces currently recognized as this person return to the unassigned buffer and can be reassigned later. The person is kept.",disassociateAllFailed:"Couldn't remove the person from all events",existingPersons:"People",noPersons:"No people yet",metadata:"Metadata",copy:"Copy",copied:"Copied","meta.trackId":"Track ID","meta.eventId":"Best event ID","meta.deviceId":"Device ID","meta.camera":"Camera","meta.className":"Class","meta.label":"Label","meta.firstSeen":"First seen","meta.lastSeen":"Last seen","meta.state":"State","meta.importance":"Importance","meta.confidence":"Confidence","meta.mediaKeys":"Media keys"},accessories:{on:"On",off:"Off",dimUp:"Brighter",dimDown:"Dimmer",lock:"Lock",unlock:"Unlock",open:"Open",close:"Close",stop:"Stop",arm:"Arm",disarm:"Disarm",onMotion:"On motion",warmer:"Warmer",cooler:"Cooler",speedUp:"Faster",speedDown:"Slower",oscillate:"Oscillate",press:"Press",play:"Play",pause:"Pause",previous:"Previous",next:"Next",start:"Start",dock:"Dock",locate:"Locate",feed:"Feed",feeding:"Feeding\u2026",install:"Install",installing:"Installing\u2026",upToDate:"Up to date",increase:"Increase",decrease:"Decrease",select:"Select",climateModes:{off:"Off",heat:"Heat",cool:"Cool",auto:"Auto",heat_cool:"Heat/Cool",fan_only:"Fan",dry:"Dry"}},cameraMenu:{title:"View options",boundingBoxes:"Bounding boxes",streamStats:"Stream stats",audioLevel:"Audio level",densityTitle:"Timeline density",density_compact:"Compact",density_medium:"Medium",density_wide:"Wide",densityCustom:"Custom",indicatorPosition:"Indicator position",showImportance:"Show importance",showClass:"Show detection class",managementTitle:"Management"},stats:{title:"Stream stats",resolution:"Resolution",fps:"FPS",bitrate:"Bitrate",packetLoss:"Packet loss",jitter:"Jitter",codec:"Codec",frames:"Frames (dropped/total)",waiting:"Measuring\u2026",playbackHint:"Full WebRTC stats need the native player."},exportActions:{title:"Capture",recordingExport:"Recording export"},exports:{title:"Exports",empty:"No exports yet.",settingsHint:"Download recorded clips",range:"Range",rangeStart:"Start",rangeEnd:"End",profile:"Profile",noFootage:"No footage in this range.",speed:"Speed",timelapse:"Timelapse",cadence:"Frame every",audio:"Audio",includeAudio:"Include audio",audioUnavailable:"Audio is only available at 0.5\u20132\xd7 speed.",retention:"Keep for",life24h:"24 hours",life7d:"7 days",life30d:"30 days",deleteAfterDownload:"Delete after download",deleteAfterDownloadHint:"Remove the file once downloaded.",creating:"Creating\u2026",createAction:"Export",createFailed:"Could not create the export.",withAudio:"with audio",variantRegular:"1\xd7",variantAccelerated:"Accelerated {{speed}}\xd7",variantSlow:"Slow {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Expired",expiresInDays:"Expires in {{count}}d",expiresInHours:"Expires in {{count}}h",expiresInMinutes:"Expires in {{count}}m",downloadAction:"Download",downloadUnavailable:"Download not available.",downloadFailed:"Download failed.",cancelAction:"Cancel",cancelConfirmTitle:"Cancel export?",cancelConfirmBody:"This stops rendering and discards the partial file.",deleteAction:"Delete",deleteConfirmTitle:"Delete export?",deleteConfirmBody:"This removes the file. The history entry is kept.",dismiss:"Dismiss",state:{queued:"Queued",rendering:"Rendering",ready:"Ready",failed:"Failed",expired:"Expired",deleted:"Deleted"}},streamBar:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",talkStart:"Start talking",talkStop:"Stop talking",quality:"Stream quality",menu:"View options",snapshot:"Snapshot",pip:"Picture in picture",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen"},playback:{prevFrame:"Previous frame",nextFrame:"Next frame",speed:"Playback speed",audioMuted:"Audio off at \u2260 1\xd7",audioOn:"Audio on"},cameraSwitcher:{title:"Switch camera",empty:"No cameras available",openGrid:"Open grid ({{n}})",selectA11y:"Select {{name}}"},storage:{title:"Storage",usageTitle:"Usage",nodeTotal:"Node total",defaultLocation:"Default location",locationFree:"{{free}} free",retentionTitle:"Retention",pruneAction:"Apply retention now",pruneConfirmTitle:"Apply retention?",pruneConfirmBody:"Delete footage on {{name}} that exceeds its retention policy.",pruneResult:"Reclaimed {{bytes}} ({{buckets}} segments).",deleteTitle:"Delete footage",deleteAction:"Delete",deleteConfirmTitle:"Delete footage?",deleteConfirmBody:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",deleteResult:"Reclaimed {{bytes}} ({{buckets}} segments).",cancel:"Cancel",window24h:"Last 24h",window7d:"Last 7 days",window30d:"Last 30 days",windowAll:"Everything"},eventsMgmt:{title:"Events",footprintTitle:"Footprint",rowsBytes:"{{rows}} events \xb7 {{bytes}}",clusterTotal:"Cluster total",pruneTitle:"Prune older than",pruneHint:"Applies to all cameras.",pruneAction:"Prune",pruneConfirmTitle:"Prune old events?",pruneConfirmBody:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",pruneResult:"Deleted {{count}} events.",deleteTitle:"Delete camera events",deleteAction:"Delete all events for this camera",deleteConfirmTitle:"Delete all events?",deleteConfirmBody:"Permanently delete every event for {{name}}. This cannot be undone.",deleteResult:"Deleted {{count}} events.",cancel:"Cancel",older24h:"24 hours",older7d:"7 days",older30d:"30 days"}},prototype:{today:"Today",yesterday:"Yesterday",now:"NOW",endOfDay:"END OF DAY",loading:"Loading...",timeline:"Timeline",events:"Events",playClip:"Play clip",goToNow:"NOW",noEvents:"No events"},eventKind:{motion:"Motion",audio:"Audio",person:"Person",vehicle:"Vehicle",animal:"Animal",package:"Package",sensor:"Sensor",control:"Control",car:"Car",truck:"Truck",bus:"Bus",motorcycle:"Motorcycle",bicycle:"Bicycle",airplane:"Airplane",boat:"Boat",train:"Train",bird:"Bird",cat:"Cat",dog:"Dog",horse:"Horse",sheep:"Sheep",cow:"Cow",elephant:"Elephant",bear:"Bear",zebra:"Zebra",giraffe:"Giraffe",contact:"Contact","motion-sensor":"Motion sensor",smoke:"Smoke",flood:"Water leak",gas:"Gas","carbon-monoxide":"Carbon monoxide",vibration:"Vibration",tamper:"Tamper",presence:"Presence","enum-sensor":"Sensor state","device-event":"Device event",lock:"Lock",switch:"Switch",siren:"Siren",button:"Button",doorbell:"Doorbell","package-delivered":"Package delivered","package-picked-up":"Package picked up","audio-speech":"Speech","audio-music":"Music","audio-dog":"Dog","audio-doorbell":"Doorbell","audio-siren":"Siren","audio-alarm":"Alarm"}}},3578,[]);
|
|
16000
|
-
__d(function(e,i,a,t,o,n,r){o.exports={devices:{editDevice:"Modifica dispositivo",originalName:"Nome originale",customName:"Nome personalizzato",customNamePlaceholder:"Lascia vuoto per usare l'originale",icon:"Icona",typeLight:"Luce",typeSwitch:"Interruttore",typeCover:"Tapparella",typeLock:"Serratura",typeAlarm:"Allarme",typeButton:"Pulsante",typeSelect:"Selezione",typeSiren:"Sirena",typeSensor:"Sensore",typeEntry:"Ingresso",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Esegui",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Muto",unmute:"Audio",stop:"Stop",locked:"Chiusa",unlocked:"Aperta",open:"Aperta",closed:"Chiusa",disarmed:"Disinserito",disarm:"Disinserisci"},common:{error:"Errore",save:"Salva",cancel:"Annulla",loading:"Caricamento...",comingSoon:"In arrivo",back:"Indietro",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",reset:"Reimposta",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",delete:"Elimina",retry:"Riprova"},grids:{newGrid:"Nuova griglia",deleteConfirm:"Eliminare questa griglia?",noGrids:"Nessuna griglia. Creane una per disporre le telecamere in vista mosaico.",createGrid:"Crea griglia",cameras:"telecamere",notFound:"Griglia non trovata.",noCameras:"Nessuna telecamera in questa griglia. Modifica per aggiungerne.",edit:"Modifica",addCamera:"Aggiungi telecamera",presets:"Preset",auto:"Auto",manual:"Manuale",gridName:"Nome griglia",view:"Visualizza",addCameraHint:"Aggiungi almeno una telecamera dal pulsante sopra.",allCamerasAdded:"Tutte le telecamere sono gi\xe0 in griglia",cameraUnavailable:"Telecamera non disponibile",camerasInGrid:"Telecamere nella griglia",addAll:"Aggiungi tutte",addCameras:"Aggiungi Telecamere",backToGrid:"Torna alla Griglia",timelineNotSupported:"Timeline non supportata"},nav:{cameras:"Telecamere",grids:"Griglie",events:"Eventi",videoclips:"Videoclip",list:"Lista",settings:"Impostazioni"},cameras:{addCamera:"Aggiungi telecamera",pipActive:"PiP attivo",reorderEnable:"Riordina",reorderDisable:"Sblocca",live:"Live",noCameras:"Nessuna telecamera configurata",noIntegrations:"Nessuna integrazione configurata. Aggiungi un sistema per iniziare.",createSystem:"Crea sistema",importFrom:"Importa telecamere da",importSuccess:"Importazione completata",importCount:"{{count}} telecamere importate",selectCamerasToImport:"Seleziona telecamere da importare",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",importSelected:"Importa {{count}} selezionate",noCamerasFound:"Nessuna telecamera trovata",play:"\u25b6 Riproduci",paused:"In pausa",noDataForDate:"Nessun dato per questa data",recordingNotAvailable:"Registrazione non disponibile",noEventsReel:"Nessun evento recente",settings:"Impostazioni",highlightMotion:"Evidenza movimento",highlightOnMotion:"Evidenzia al movimento",highlightAudio:"Evidenza audio",audioMode:"Modalit\xe0",audioModeOff:"Off",audioModeSensor:"Sensore",audioModeLevel:"Livello",audioPreset:"Preset audio",audioPresetCustom:"Personalizzato",audioPresetCrying:"Pianto / neonato",audioPresetAlarm:"Allarme / sirena",audioPresetDog:"Abbaio cane",audioPresetDoorbell:"Campanello / bussata",audioPresetGlass:"Rottura vetro",audioWindow:"Finestra (s)",audioThreshold:"Soglia (dB)",audioHitPercentage:"Percentuale (%)",audioHoldSeconds:"Mantenimento (s)",highlightDetection:"Evidenza rilevamento oggetti",highlightOnDetection:"Evidenzia al rilevamento",detectionClasses:"Classi",holdSeconds:"Mantenimento (s)",rtspNotSupportedWeb:"Gli stream RTSP non sono supportati sul web. Usa l'app mobile.",liveDetections:"Detections live",filterTimeline:"Filtra timeline",filterClasses:"Filtra classi...",filterBySeverity:"Filtra per severit\xe0",severityAlert:"Allarme",severityDetection:"Rilevamento",statusPosition:"Posizione indicatori di stato",today:"Oggi",yesterday:"Ieri",timeline:"Timeline",timelineEventsClusterEvents:"Eventi",selectDate:"Seleziona una data",videoclipsNotSupported:"Videoclip non supportati per questa telecamera",noVideoclipsForDate:"Nessun videoclip per questa data",endOfList:"Fine elenco",backToLive:"Torna al live",goLive:"Vai al live",loadingClip:"Caricamento clip...",clusterDetailShowBbox:"Mostra bounding box sull'immagine",clusterDetailOpenVideoclip:"Apri videoclip",clusterDetailLoadingEvents:"Caricamento eventi...",devices:"Dispositivi",noAssociatedDevices:"Nessun dispositivo collegato. Configura in Impostazioni > Telecamere.",timelineData:"Dati timeline",timelineDataHint:"Cosa mostrare sulla timeline.",timelineDataVideoclips:"Videoclip",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Eventi",timelineEvents:"Eventi timeline",timelineEventsHint:"Quali tipi di eventi mostrare sulla timeline, in base alla severit\xe0.",timelinePresetAll:"Tutti",timelinePresetImportant:"Importanti",timelinePresetCritical:"Critici",timelinePresetCustom:"Personalizzato",statusBlock:"Blocco stato",sensorsBlock:"Blocco sensori",position:"Posizione",indicators:"Indicatori",downloadSnapshot:"Scarica Istantanea",exportDownloadClip:"Scarica Clip",exportRecordingWebOnly:"Esporta registrazione (solo web)",exportSnapshot:"Esporta Istantanea",intercomError:"Errore interfono",multiCam:"Multi-Camera",ptzNotSupported:"PTZ non supportato",ptzSelectPreset:"Seleziona Preset PTZ",snapshotFailed:"Istantanea fallita"},events:{loading:"Caricamento eventi...",filterByLabel:"Filtra per etichetta",filterByLabelPlaceholder:"es. person, doorbell",filterByCamera:"Filtra per telecamera",date:"Data",detectionTypes:"Tipi di rilevamento",source:"Sorgente",cameras:"Telecamere",groupingRange:"Raggruppamento",groupingPresetMinutes:"{{m}} min",groupingCustom:"Personalizzato",groupingCustomMinutes:"Minuti",groupingCustomApply:"Applica",today:"Oggi",noCamerasFromConfig:"Telecamere caricate dalla config EventsApp",all:"Tutti",typesCount:"{{count}} tipi",camerasCount:"{{count}} telecamere",cols:"col",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"API VideoClips",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Persona",detectionVehicle:"Veicolo",detectionAnimal:"Animale",detectionAudio:"Audio",detectionFace:"Volto",detectionPlate:"Targa",detectionPackage:"Pacco",detectionDoorbell:"Campanello",detectionSensor:"Sensore",detectionMotion:"Motion",detectionRules:"Regole",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere gli eventi.",frigateNoEvents:"Gli eventi sono disponibili solo per Scrypted. Seleziona un'istanza Scrypted in Impostazioni.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento degli eventi",noEvents:"Nessun evento per questa data. Prova a cambiare data o filtri.",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota",columnsPerRow:"Colonne per riga",onlyWithClips:"Solo con clip",relatedClip:"Clip Correlata"},videoclips:{loading:"Caricamento videoclip...",noCamerasFromConfig:"Telecamere caricate dalla config",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere i videoclip.",noFrigateIntegration:"Seleziona un'integrazione Frigate in Impostazioni per vedere i videoclip.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento dei videoclip",noVideoclips:"Nessun videoclip per questa data. Prova a cambiare data o filtri.",openVideoclip:"Apri videoclip",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota"},settings:{integrations:"Integrazioni",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Nome",baseUrl:"URL base",urlLocal:"URL locale",urlPublic:"URL pubblico",username:"Username",password:"Password",token:"Token (opzionale)",frigateTokenHint:"Token (opzionale): JWT dal browser",tokenRequired:"Token",testConnection:"Test connessione",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connessione riuscita",connectionError:"Connessione fallita",scryptedCredentialsPromptTitle:"Accesso Scrypted",scryptedCredentialsPromptSubtitle:"Inserisci username e password Scrypted per connettere.",scryptedCredentialsPromptSkip:"Salta per ora",usernamePlaceholder:"admin",save:"Salva",tabStream:"Stream e riproduzione",tabGeneral:"Generale",data:"Dati",clearCacheEventsClips:"Svuota cache eventi e videoclip",eventsClipsSourceHint:"Sorgente per le schede Eventi e Videoclip.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Scegli quali integrazioni usare per il reel.",reelScryptedSourceHint:"Con Scrypted: sorgente eventi per il reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Aggiungi prima un'integrazione Scrypted o Frigate.",exportBackup:"Esporta backup",exportError:"Esportazione fallita",importBackup:"Importa backup",importConfirm:"Questo sostituir\xe0 tutte le telecamere, integrazioni e impostazioni con i dati del backup. Continuare?",importSuccess:"Backup ripristinato con successo",importError:"Importazione fallita",uiPrototypes:"Prototipi UI",uiPrototypesHint:"Esplora design sperimentali della timeline",versions:"Versioni",appVersion:"App",nativeVersion:"Nativa",updateNow:"Aggiorna ora",updateError:"Aggiornamento fallito",updateAvailableTitle:"Aggiornamento disponibile",updateAvailableMessage:"Una nuova versione di CamStack \xe8 stata scaricata ed \xe8 pronta per l'installazione. L'app verr\xe0 riavviata per applicare l'aggiornamento.",updateInstall:"Installa e riavvia",updateLater:"Pi\xf9 tardi",tabIntegrations:"Integrazioni",tabCameras:"Telecamere",theme:"Tema",themeSystem:"Sistema",themeLight:"Chiaro",themeDark:"Scuro",language:"Lingua",languageSystem:"Sistema",languageEn:"English",languageIt:"Italiano",timelineMode:"Modalit\xe0 timeline",timelineModeClassic:"Classica",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Mostra timeline rilevamenti",timelineVisibleDescription:"Visualizza il pannello della timeline nella vista telecamera.",clusterSize:"Dimensione cluster",snapshotInterval:"Intervallo aggiornamento snapshot",clusterSizeXS:"Molto piccola",clusterSizeS:"Piccola",clusterSizeM:"Normale",clusterSizeL:"Grande",clusterSizeXL:"Molto grande",highlightAppearance:"Aspetto evidenze",highlightAppearanceHint:"Colore e spessore del bordo per evidenze movimento, audio e rilevamento sugli stream delle telecamere.",highlightMotion:"Movimento",highlightAudio:"Audio",highlightDetection:"Rilevamento",highlightColor:"Colore",highlightThickness:"Spessore",selectSection:"Seleziona sezione",addSystem:"Aggiungi sistema",selectPlatform:"Seleziona piattaforma",deleteInstance:"Elimina istanza",deleteInstanceConfirm:"Vuoi eliminare questa istanza?",delete:"Elimina",mqttEvents:"MQTT - Eventi in tempo reale",mqttBrokerUrl:"URL broker MQTT",mqttUsername:"Username MQTT",mqttPassword:"Password MQTT",mqttTopicPrefix:"Prefisso topic (default: frigate)",mqttOptional:"Opzionale",scryptedAddressAlreadyUsed:"Questo indirizzo Scrypted \xe8 gi\xe0 configurato. \xc8 consentita una sola istanza per indirizzo.",scryptedAdvancedNotifierRequired:"Il plugin Advanced Notifier \xe8 richiesto per la connessione.",scryptedCorsTitle:"Configurazione CORS richiesta (Web)",scryptedCorsBody:"In Scrypted, apri le impostazioni del plugin Cloud e aggiungi il tuo dominio ({{domain}}) alla lista CORS Allowed Origins. Senza questa configurazione, il browser bloccher\xe0 le richieste verso il server Scrypted.",scryptedUrlHint:"L'URL locale viene provato per primo (es. in LAN), poi quello pubblico. Ne serve almeno uno.",gridLayout:"Layout griglia",gridLayoutHint:"Opzioni di visualizzazione per la griglia telecamere.",gridColumns:"Colonne griglia",gridColumnsHint:"Numero di telecamere per riga. Auto = 1 su mobile, 4 su tablet.",gridShowName:"Mostra nome telecamera",gridShowState:"Mostra stato (batteria, registrazione, sleep)",reorderCameras:"Riordina telecamere",reorderCamerasHint:"Trascina per riordinare le telecamere",reorderDone:"Fatto",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rimuovi telecamere dall'app.",downloadSnapshot:"Scarica snapshot",snapshotFailed:"Impossibile recuperare lo snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Scarica clip",exportStartRecording:"Avvia registrazione",exportStopRecording:"Ferma registrazione",exportRecordingWebOnly:"Registrazione disponibile su web",intercomError:"Intercom non disponibile. Verifica le credenziali della telecamera su Scrypted.",deleteCamera:"Rimuovi telecamera",deleteCameraConfirm:"Rimuovere {{name}} dall'app?",streamPlayback:"Stream e riproduzione",playOnOpen:"Avvia stream all'apertura telecamera",playOnOpenHint:"Carica automaticamente lo stream live quando apri una telecamera.",audioOnOpen:"Audio attivo all'apertura",audioOnOpenHint:"Riproduci audio quando apri una telecamera (se supportato).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Riavvia lo stream quando non arrivano dati (aiuta con connessioni bloccate).",cameraPlayer:"Player telecamera",webViewCameraDetail:"Usa player WebView",webViewCameraDetailHint:"Usa WebView per le telecamere Scrypted (primo frame pi\xf9 veloce, pi\xf9 stabile). PiP, fullscreen e intercom funzionano. Default: player nativo.",streamQuality:"Qualit\xe0 stream",streamQualitySingle:"Qualit\xe0 singola telecamera",streamQualityGrid:"Qualit\xe0 griglia",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Dispositivi associati",associatedDevicesHint:"Aggiungi attuatori (luci, interruttori, tapparelle, ecc.) per controllarli dalla vista telecamera.",linkedDevices:"Collegati",reorderHint:"Usa le frecce per riordinare",addDevice:"Aggiungi dispositivo",noEligibleDevices:"Nessun Scrypted o Home Assistant configurato. Aggiungi prima un'integrazione.",configureDevices:"Configura dispositivi",cameraSettingsHint:"Scegli una telecamera per configurarne le opzioni.",noCamerasConfigured:"Nessuna telecamera configurata.",searchDevices:"Cerca dispositivi...",source:"Sorgente",type:"Tipo",all:"Tutti",noMatchingDevices:"Nessun dispositivo corrisponde ai filtri.",frigateStream:"Stream Frigate",frigateStreamSourceHint:"Sorgente stream: WebRTC (default), RTSP o MJPEG.",frigateStreamMapping:"Mappatura stream (nomi go2rtc da config)",frigateStreamMappingHint:"Seleziona dagli stream go2rtc disponibili. Ordine: High, Mid, Sub.",frigateSelectStream:"Seleziona stream",frigateAddStream:"Aggiungi stream",frigateInfo:"Info telecamera",frigateShowConfig:"Mostra config",frigateShowGo2rtc:"Mostra go2rtc",frigateMissingConfig:"Mancano baseUrl o cameraName nella config della telecamera.",tabLogs:"Log",logsCount:"{{count}} voci",logsDownload:"Scarica",logsClear:"Svuota",logsEmpty:"Nessun log. L'output della console apparir\xe0 qui.",logsExportError:"Esportazione fallita",logsExportTitle:"Esporta log",logsClearConfirmTitle:"Svuota log",logsClearConfirmMessage:"Rimuovere tutte le voci di log?",hubAppearanceTitle:"Aspetto",hubAppearanceDesc:"Tema, lingua, timeline e evidenze",hubCamerasTitle:"Telecamere",hubCamerasDesc:"Layout griglia, qualit\xe0 stream e gestione telecamere",hubIntegrationsTitle:"Integrazioni",hubIntegrationsDesc:"Gestisci Scrypted, Frigate e altri sistemi",hubAdvancedTitle:"Avanzato",hubAdvancedDesc:"Backup dati e gestione cache",hubLogsTitle:"Log",hubLogsDesc:"Visualizza ed esporta i log dell'applicazione",hubCacheTitle:"Cache",frigateAutoSnap:"Istantanea Automatica",frigateSegmentNav:"Navigazione Segmenti",frigateShowGo:"Mostra Go2RTC",frigateTimeline:"Timeline",reelCameras:"Telecamere Reel",reelCamerasHint:"Seleziona quali telecamere appaiono nel reel eventi",reelDeselectAll:"Deseleziona Tutto",reelDetectionClasses:"Classi di Rilevamento",reelDetectionClassesHint:"Filtra gli eventi per classe di rilevamento",reelIncludeRuleArtifacts:"Includi Artefatti Regole",reelIncludeRuleArtifactsHint:"Mostra gli eventi basati su regole nel reel",reelRuleArtifacts:"Artefatti Regole",reelSelectAll:"Seleziona Tutto",reelBadgeContent:"Contenuto badge",reelBadgePosition:"Posizione badge",reelBadgeSize:"Dimensione badge",reelBadgeBoth:"Ora + Classe",reelBadgeTime:"Solo ora",reelBadgeClass:"Solo classe",reelBadgeNone:"Nascosto",reelBadgeSmall:"Piccolo",reelBadgeMedium:"Medio",reelBadgeLarge:"Grande"},reel:{filterMotion:"Motion",filterOnlyRules:"Solo rule",filterOnlySensors:"Solo sensori",goToMostRecent:"Vai al pi\xf9 recente"},v2:{common:{connecting:"Connessione\u2026",online:"Online",offline:"Offline",loadError:"Errore di caricamento",create:"Crea"},cameras:{empty:"Nessuna telecamera",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"In standby",unavailable:"Non disponibile",motion:"Movimento",doorbell:"Campanello",doorbellRinging:"Sta suonando",doorbellLastRing:"Suonato {{time}} fa",snapshotLoading:"Caricamento\u2026",manage:"Gestisci telecamere",manageHint:"Trascina per riordinare. Rinomina al volo. Usa lo switch per mostrare o nascondere una telecamera dall\u2019elenco.",reorderHandle:"Trascina per riordinare",appearance:"Aspetto",editList:"Modifica elenco",listOptions:"Opzioni elenco telecamere"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Disattiva audio",unmute:"Attiva audio",snapshot:"Istantanea",snapshotFailed:"Impossibile acquisire l'istantanea.",ptz:"Controlli PTZ",talk:"Parla",fullscreen:"Schermo intero",talkFailed:"Impossibile avviare la comunicazione. Verifica l'accesso al microfono.",pip:"Picture in Picture",exitFullscreen:"Esci da schermo intero",devices:"Dispositivi",devicesEmpty:"Nessun dispositivo collegato.",linkedModeAuto:"Collegamento: Auto (posizione)",linkedModeManual:"Collegamento: Manuale",motionBoxes:"Riquadri movimento",close:"Chiudi",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Crea griglia",empty:"Nessuna griglia",emptyHint:"Tocca + per creare la tua prima griglia",countNone:"Nessuna telecamera",countOne:"1 telecamera",countOther:"{{count}} telecamere",defaultName:"Nuova griglia",deleteTitle:"Elimina griglia",deleteConfirm:"Eliminare \"{{name}}\"? L'operazione non \xe8 reversibile.",export:"Esporta",exportAllA11y:"Esporta tutte le griglie",shareA11y:"Condividi griglia",editA11y:"Modifica griglia",deleteA11y:"Elimina griglia",linkCopied:"Link della griglia copiato negli appunti",layoutAuto:"Auto",layoutColumns:"{{count}} col"},gridView:{editA11y:"Modifica griglia",fallbackTitle:"Griglia",notFound:"Griglia non trovata",emptyGrid:"Questa griglia \xe8 vuota",addCameras:"Aggiungi telecamere",reorderTitle:"Riordina telecamere",reorderA11y:"Riordina telecamere",reorderDoneA11y:"Fine riordino",allHidden:"Tutte le telecamere sono nascoste. Usa la modalit\xe0 riordino per mostrarne alcune.",dragA11y:"Trascina per riordinare",hideA11y:"Nascondi dalla griglia",showA11y:"Mostra nella griglia",removeA11y:"Rimuovi dalla griglia",adhocTitle:"Griglia rapida"},gridBuilder:{title:"Modifica griglia",nameLabel:"Nome",namePlaceholder:"Nome griglia",camerasSelected:"Telecamere ({{count}} selezionate)",optionsTitle:"Opzioni",showName:"Mostra nome telecamera",export:"Esporta griglia",orderSection:"Nella griglia",orderHint:"Trascina per riordinare",emptyOrder:"Nessuna telecamera \u2014 aggiungine qui sotto.",addSection:"Aggiungi telecamere",removeA11y:"Rimuovi dalla griglia",addA11y:"Aggiungi alla griglia",highlightTitle:"Evidenziazione",highlightMotion:"Su movimento",highlightAudio:"Su audio",highlightAudioOff:"Off",highlightAudioSensor:"Presenza",highlightAudioLevel:"Livello",highlightThreshold:"Soglia",highlightHold:"Mantieni",highlightDetection:"Su rilevamento",clusterLabel:"Etichetta cluster",clusterLabelIcon:"Icona",clusterLabelText:"Testo"},gridBar:{back:"Indietro",pauseAll:"Metti tutto in pausa",playAll:"Riproduci tutto",audio:"Audio",quality:"Qualit\xe0 stream",layout:"Layout",highlightMenu:"Evidenziazione e overlay",activeOnly:"Solo attive",share:"Condividi griglia",edit:"Modifica griglia",hide:"Nascondi controlli",show:"Mostra controlli",muteAll:"Silenzia tutte",unmuteAll:"Riattiva audio"},gridMenu:{highlightMaster:"Bordi di evidenziazione"},gridShare:{title:"Condividi \"{{name}}\"",quality:"Qualit\xe0 stream",layout:"Layout",showNames:"Mostra nomi delle camere",activeOnly:"Solo camere attive",boxes:"Bounding box",highlightEnable:"Evidenziazione",audioSummary:"Audio attivo all\u2019apertura per {{count}} camera/e",ttlTitle:"Scadenza del link",ttl_1d:"1 giorno",ttl_7d:"7 giorni",ttl_30d:"30 giorni",ttl_never:"Per sempre",tokenNotice:"Il link include un token di sola visualizzazione limitato a queste camere. Chiunque abbia il link pu\xf2 guardare finch\xe9 non scade o viene revocato.",copyLink:"Copia link",creating:"Creazione link\u2026",copiedExpires:"Link copiato \u2014 scade il {{date}}",copiedNever:"Link copiato \u2014 non scade mai",error:"Impossibile creare il link di condivisione. Controlla la connessione e riprova.",optionAuto:"Auto",optionHigh:"Alta",optionMedium:"Media",optionLow:"Bassa"},gridControls:{play:"Riproduci",pause:"Pausa",mute:"Muto",unmute:"Riattiva audio",quality:"Qualit\xe0",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Eventi \u2014 in arrivo",searchLabel:"Cerca etichetta\u2026",empty:"Nessun evento",today:"Oggi",filteredEmpty:"Nessuna corrispondenza nell'intervallo caricato",loadOlder:"Carica meno recenti",selectPrompt:"Seleziona un evento per vederne i dettagli",filters:"Filtri",all:"Tutte",day:"Giorno",sort:"Ordina",sortTime:"Recenti",sortImportance:"Importanza",cameras:"Telecamere",classes:"Classi",search:"Cerca",searchCameras:"Cerca telecamere\u2026",searchClasses:"Cerca classi\u2026",allCamerasHint:"Nessuna = tutte",allClassesHint:"Nessuna = tutte",done:"Fatto",density:"Densit\xe0",selectHint:"Seleziona un evento",eventKinds:"Tipi di evento",displayOptions:"Aspetto",displayTitle:"Opzioni di visualizzazione"},settings:{themeSystem:"Sistema",themeDark:"Scuro",themeLight:"Chiaro",server:"Server",hubActive:"Hub attivo",changeServer:"Cambia server",signOut:"Esci",network:"Rete",networkNone:"Nessuna rotta ancora rilevata",endpointUnlikely:"Probabilmente non utilizzabile",reprobe:"Ri-rileva rotte",reprobing:"Rilevamento\u2026",appearance:"Aspetto",theme:"Tema",info:"Info",app:"App",version:"Versione",noServer:"Nessun server",footerNote:"CamStack Viewer si connette a un singolo hub camstack. Telecamere, griglie ed eventi sono gestiti dal server.",language:"Lingua",langSystem:"Sistema",gridDefaults:"Impostazioni griglia",showName:"Mostra nome telecamera",showNameHint:"Sovrapponi il nome della telecamera su ogni riquadro",showState:"Mostra stato",showStateHint:"Mostra lo stato online / registrazione su ogni riquadro",columns:"Colonne",cameraOrder:"Ordine telecamere",orderName:"Per nome",orderCustom:"Personalizzato",motionHold:"Persistenza evidenziazione movimento",motionHoldHint:"Mantieni accesa l'evidenziazione del movimento su una tile per questo tempo dopo che il movimento si ferma.",motionHoldOff:"Off",streamQuality:"Qualit\xe0 stream",streamDefaults:"Impostazioni stream",playOnOpen:"Riproduci all'apertura",playOnOpenHint:"Avvia lo stream live quando apri una telecamera",audioOnOpen:"Audio all'apertura",audioOnOpenHint:"Attiva l'audio quando apri una telecamera",snapshotInterval:"Aggiornamento snapshot",highlightAppearance:"Aspetto evidenziazione",highlightMotionColor:"Colore movimento",highlightAudioColor:"Colore audio",highlightDetectionColor:"Colore rilevamento",highlightThickness:"Spessore bordo",qualityAuto:"Auto",qualityHigh:"Alta",qualityMid:"Media",qualityLow:"Bassa",secondsValue:"{{count}}s",advanced:"Avanzate",clearCache:"Svuota cache",clearCacheHint:"Libera snapshot e dati in cache (mantiene server e impostazioni)",clearCacheConfirmTitle:"Svuotare la cache?",clearCacheConfirmBody:"Rimuove immagini e dati in cache. Server, accesso e impostazioni vengono mantenuti.",clearCacheDone:"Cache svuotata",exportSettings:"Esporta impostazioni",exportSettingsHint:"Copia le impostazioni in formato JSON",exportSettingsDone:"Impostazioni copiate in JSON",viewLogs:"Visualizza log",viewLogsHint:"Messaggi di log recenti dell'app",logsEmpty:"Nessun log registrato",keepLogs:"Mantieni log",keepLogsHint:"Registra un buffer dei messaggi di log dell'app",debugMode:"Modalit\xe0 debug",debugModeHint:"Log verbosi su live, playback e scrub \u2014 inviati al server",logsClear:"Pulisci",resetSettings:"Ripristina impostazioni",resetSettingsHint:"Ripristina tutti i valori predefiniti",resetConfirmTitle:"Ripristinare le impostazioni?",resetConfirmBody:"Ripristina tutte le impostazioni ai valori predefiniti.",cancel:"Annulla",confirm:"Conferma",timeline:"Timeline ed evidenziazioni",reel:"Sequenza eventi",reelThumbSize:"Dimensione miniature",reelThumbSizeHint:"Dimensione delle miniature nella sequenza eventi recenti.",reelSizeSmall:"Piccola",reelSizeMedium:"Media",reelSizeLarge:"Grande",reelShowLabels:"Mostra etichette",reelShowLabelsHint:"Mostra l'etichetta classe/identit\xe0 sugli elementi della sequenza.",reelLabelStyle:"Visualizzazione classe",reelLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo negli elementi della sequenza.",reelShowImportance:"Mostra importanza",reelShowImportanceHint:"Mostra il badge di importanza sugli elementi della sequenza.",events:"Eventi",eventsPage:"Pagina eventi",minImportance:"Importanza minima",minImportanceHint:"Nascondi gli eventi con punteggio inferiore, nella pagina eventi e nella timeline della telecamera.",minImportanceOff:"Off",tileShowLabels:"Mostra etichette",tileShowLabelsHint:"Mostra le etichette classe / identit\xe0 / audio sulle schede evento.",tileShowImportance:"Mostra importanza",tileShowImportanceHint:"Mostra il badge di importanza sulle schede evento (se valutato).",tileShowCameraName:"Mostra nome telecamera",tileShowCameraNameHint:"Mostra il nome della telecamera nel pi\xe8 di pagina della scheda evento.",tileLabelStyle:"Visualizzazione classe",tileLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo.",tileLabelStyleIcon:"Icona",tileLabelStyleText:"Testo",comingSoon:"Prossimamente",cameras:"Telecamere",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rinomina, nascondi, riordina",pinchExpandsHeight:"Il pizzico ingrandisce la vista",pinchExpandsHeightHint:"Pizzicando per lo zoom il video cresce in altezza (ritaglia i bordi laterali sulle camere 16:9).","timeline.gapPercent":"Gap cluster (%)","timeline.sizePercent":"Dimensione cluster (%)","timeline.indicatorPositionPct":"Posizione indicatore (%)","timeline.showImportance":"Mostra importanza sugli elementi","timeline.showClass":"Mostra classe di rilevamento sugli elementi","timeline.cardWidthPct":"Larghezza card (%)",haptics:"Vibrazione eventi",hapticsEnabled:"Vibra sugli eventi",hapticsEnabledHint:"Brevi vibrazioni per gli eventi chiave sulla telecamera che stai guardando. Solo su dispositivo (iOS/Android).",hapticsMotion:"Movimento",hapticsDetection:"Rilevamento",hapticsPerson:"Persona / riconosciuta"},login:{loginFailed:"Accesso fallito",verifyFailed:"Verifica fallita",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Mostra password",hidePassword:"Nascondi password",signIn:"Accedi",signingIn:"Accesso\u2026",twoFactor:"Autenticazione a due fattori",totpHint:"Inserisci il codice a 6 cifre dall'app di autenticazione per accedere come ",verificationCode:"Codice di verifica",verifyAndSignIn:"Verifica e accedi",verifying:"Verifica\u2026",back:"Indietro",or:"oppure",signInWithCamStack:"Accedi con CamStack",hubSignInHint:"Apre la pagina di accesso del tuo hub e collega questa app senza digitare qui la password.",handoffFailed:"Accesso con CamStack non riuscito \u2014 riprova oppure usa nome utente e password",invalidServerUrl:"Inserisci prima un URL server valido (https://\u2026)"},live:{webUnsupported:"La vista live non \xe8 ancora disponibile nella versione web.",connecting:"Connessione allo stream live\u2026",error:"Impossibile caricare lo stream live.",retry:"Riprova",noConnection:"Nessuna connessione al server",failed:"Connessione fallita"},ptz:{title:"PTZ",notAvailable:"I controlli PTZ non sono disponibili per questa telecamera.",zoom:"Zoom",home:"Posizione iniziale",presets:"Preset",noPresets:"Nessun preset salvato."},timeline:{activityTitle:"Attivit\xe0",last24h:"Ultime 24h",loading:"Caricamento attivit\xe0\u2026",noActivity:"Nessuna attivit\xe0 nelle ultime 24 ore.",legendRecording:"Registrato",legendMotion:"Movimento",legendAudio:"Audio"},theater:{back:"Indietro",today:"Oggi",yesterday:"Ieri",selectDate:"Seleziona una data",live:"LIVE",now:"ORA",auto:"Auto",quality:"Qualit\xe0 stream",filterAll:"Tutti",filter_motion:"Movimento",filter_audio:"Audio",goToLive:"Vai al live",noRecording:"Nessuna registrazione",noRecordingHint:"Nessun filmato per questo momento",detailCount:"{{frames}} frame \xb7 {{count}} rilevamenti",detailTracks:"{{tracks}} tracce \xb7 {{count}} rilevamenti",detailEmpty:"Nessuna immagine di dettaglio per questo istante",detailSeek:"Vai a questo momento",zoneHint:"Trascina un rettangolo sul video per filtrare gli eventi per zona",zoneConfirm:"Conferma",zoneCancel:"Annulla"},mediaKind:{crop:"Ritaglio oggetto",thumbnail:"Best shot",faceCrop:"Volto",plateCrop:"Targa",fullFrame:"Frame",fullFrameBoxed:"Riquadrato",keyFrame:"Frame chiave",firstFrame:"Primo",lastFrame:"Ultimo",snapshot:"Istantanea"},tracks:{crop:"Ritaglio",fullFrame:"Frame completo",zones:"Zone",audio:"Audio",reason:"Perch\xe9 rilevante",empty:"Nessuna traccia",recent:"Recenti",searchPlaceholder:"Cerca eventi (es. \"persona in rosso\")",noMatches:"Nessun evento corrispondente",person:"Persona",assignPerson:"Associa a persona",changePerson:"Cambia",notAssigned:"Non associata",assignFaceTitle:"Associa volto",newPersonPlaceholder:"Nome nuova persona\u2026",createAndAssign:"Crea e associa",assignFailed:"Associazione del volto non riuscita",removePerson:"Rimuovi persona",removePersonConfirmTitle:"Rimuovere la persona?",removePersonConfirmBody:"Questo scollega la persona da questo volto. Il volto torna tra quelli non associati e potr\xe0 essere riassociato in seguito.",disassociateFailed:"Rimozione della persona non riuscita",removePersonAll:"Rimuovi da tutti gli eventi",removePersonAllConfirmTitle:"Rimuovere da tutti gli eventi?",removePersonAllConfirmBody:"Questo scollega la persona da OGNI evento. Tutti i volti attualmente riconosciuti come questa persona tornano tra quelli non associati e potranno essere riassociati in seguito. La persona viene mantenuta.",disassociateAllFailed:"Rimozione della persona da tutti gli eventi non riuscita",existingPersons:"Persone",noPersons:"Ancora nessuna persona",metadata:"Metadati",copy:"Copia",copied:"Copiato","meta.trackId":"ID traccia","meta.eventId":"ID evento migliore","meta.deviceId":"ID dispositivo","meta.camera":"Telecamera","meta.className":"Classe","meta.label":"Etichetta","meta.firstSeen":"Prima apparizione","meta.lastSeen":"Ultima apparizione","meta.state":"Stato","meta.importance":"Importanza","meta.confidence":"Confidenza","meta.mediaKeys":"Chiavi media"},accessories:{on:"Acceso",off:"Spento",dimUp:"Pi\xf9 luminoso",dimDown:"Meno luminoso",lock:"Blocca",unlock:"Sblocca",open:"Apri",close:"Chiudi",stop:"Ferma",arm:"Attiva",disarm:"Disattiva",onMotion:"Su movimento",warmer:"Pi\xf9 caldo",cooler:"Pi\xf9 freddo",speedUp:"Pi\xf9 veloce",speedDown:"Pi\xf9 lento",oscillate:"Oscillazione",press:"Premi",play:"Riproduci",pause:"Pausa",previous:"Precedente",next:"Successivo",start:"Avvia",dock:"Rientra",locate:"Localizza",feed:"Eroga",feeding:"Erogazione\u2026",install:"Installa",installing:"Installazione\u2026",upToDate:"Aggiornato",increase:"Aumenta",decrease:"Diminuisci",select:"Seleziona",climateModes:{off:"Spento",heat:"Riscaldamento",cool:"Raffreddamento",auto:"Auto",heat_cool:"Caldo/Freddo",fan_only:"Ventola",dry:"Deumidificazione"}},cameraMenu:{title:"Opzioni vista",boundingBoxes:"Bounding box",streamStats:"Statistiche stream",audioLevel:"Livello audio",densityTitle:"Densit\xe0 timeline",density_compact:"Compatta",density_medium:"Media",density_wide:"Ampia",densityCustom:"Personalizzata",indicatorPosition:"Posizione indicatore",showImportance:"Mostra importanza",showClass:"Mostra classe rilevata",managementTitle:"Gestione"},stats:{title:"Statistiche stream",resolution:"Risoluzione",fps:"FPS",bitrate:"Bitrate",packetLoss:"Pacchetti persi",jitter:"Jitter",codec:"Codec",frames:"Frame (persi/totali)",waiting:"Misurazione\u2026",playbackHint:"Le statistiche WebRTC complete richiedono il player nativo."},exportActions:{title:"Cattura",recordingExport:"Esporta registrazione"},exports:{title:"Esportazioni",empty:"Nessuna esportazione.",settingsHint:"Scarica clip registrate",range:"Intervallo",rangeStart:"Inizio",rangeEnd:"Fine",profile:"Profilo",noFootage:"Nessuna registrazione in questo intervallo.",speed:"Velocit\xe0",timelapse:"Timelapse",cadence:"Un fotogramma ogni",audio:"Audio",includeAudio:"Includi audio",audioUnavailable:"L'audio \xe8 disponibile solo a velocit\xe0 0,5\u20132\xd7.",retention:"Conserva per",life24h:"24 ore",life7d:"7 giorni",life30d:"30 giorni",deleteAfterDownload:"Elimina dopo il download",deleteAfterDownloadHint:"Rimuovi il file una volta scaricato.",creating:"Creazione\u2026",createAction:"Esporta",createFailed:"Impossibile creare l'esportazione.",withAudio:"con audio",variantRegular:"1\xd7",variantAccelerated:"Accelerato {{speed}}\xd7",variantSlow:"Rallentato {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Scaduto",expiresInDays:"Scade tra {{count}}g",expiresInHours:"Scade tra {{count}}h",expiresInMinutes:"Scade tra {{count}}m",downloadAction:"Scarica",downloadUnavailable:"Download non disponibile.",downloadFailed:"Download non riuscito.",cancelAction:"Annulla",cancelConfirmTitle:"Annullare l'esportazione?",cancelConfirmBody:"Interrompe il rendering ed elimina il file parziale.",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare l'esportazione?",deleteConfirmBody:"Rimuove il file. La voce nella cronologia viene mantenuta.",dismiss:"Chiudi",state:{queued:"In coda",rendering:"Rendering",ready:"Pronto",failed:"Non riuscito",expired:"Scaduto",deleted:"Eliminato"}},streamBar:{play:"Riproduci",pause:"Pausa",mute:"Silenzia",unmute:"Riattiva audio",talkStart:"Inizia a parlare",talkStop:"Smetti di parlare",quality:"Qualit\xe0 stream",menu:"Opzioni vista",snapshot:"Istantanea",pip:"Picture in picture",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero"},playback:{prevFrame:"Frame precedente",nextFrame:"Frame successivo",speed:"Velocit\xe0 riproduzione",audioMuted:"Audio off a \u2260 1\xd7",audioOn:"Audio attivo"},cameraSwitcher:{title:"Cambia videocamera",empty:"Nessuna videocamera disponibile",openGrid:"Apri griglia ({{n}})",selectA11y:"Seleziona {{name}}"},storage:{title:"Archiviazione",usageTitle:"Utilizzo",nodeTotal:"Totale nodo",defaultLocation:"Posizione predefinita",locationFree:"{{free}} liberi",retentionTitle:"Conservazione",pruneAction:"Applica conservazione ora",pruneConfirmTitle:"Applicare la conservazione?",pruneConfirmBody:"Elimina le registrazioni su {{name}} che superano la policy di conservazione.",pruneResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",deleteTitle:"Elimina registrazioni",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare le registrazioni?",deleteConfirmBody:"Elimina definitivamente {{range}} di registrazioni su {{name}}. Operazione irreversibile.",deleteResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",cancel:"Annulla",window24h:"Ultime 24h",window7d:"Ultimi 7 giorni",window30d:"Ultimi 30 giorni",windowAll:"Tutto"},eventsMgmt:{title:"Eventi",footprintTitle:"Ingombro",rowsBytes:"{{rows}} eventi \xb7 {{bytes}}",clusterTotal:"Totale cluster",pruneTitle:"Elimina pi\xf9 vecchi di",pruneHint:"Si applica a tutte le telecamere.",pruneAction:"Elimina",pruneConfirmTitle:"Eliminare gli eventi vecchi?",pruneConfirmBody:"Elimina gli eventi pi\xf9 vecchi di {{range}} su TUTTE le telecamere. Operazione irreversibile.",pruneResult:"Eliminati {{count}} eventi.",deleteTitle:"Elimina eventi telecamera",deleteAction:"Elimina tutti gli eventi di questa telecamera",deleteConfirmTitle:"Eliminare tutti gli eventi?",deleteConfirmBody:"Elimina definitivamente ogni evento di {{name}}. Operazione irreversibile.",deleteResult:"Eliminati {{count}} eventi.",cancel:"Annulla",older24h:"24 ore",older7d:"7 giorni",older30d:"30 giorni"}},prototype:{today:"Oggi",yesterday:"Ieri",now:"ORA",endOfDay:"FINE GIORNATA",loading:"Caricamento...",timeline:"Timeline",events:"Eventi",playClip:"Riproduci clip",goToNow:"ORA",noEvents:"Nessun evento"},eventKind:{motion:"Movimento",audio:"Audio",person:"Persona",vehicle:"Veicolo",animal:"Animale",package:"Pacco",sensor:"Sensore",control:"Controllo",car:"Auto",truck:"Camion",bus:"Autobus",motorcycle:"Motocicletta",bicycle:"Bicicletta",airplane:"Aereo",boat:"Barca",train:"Treno",bird:"Uccello",cat:"Gatto",dog:"Cane",horse:"Cavallo",sheep:"Pecora",cow:"Mucca",elephant:"Elefante",bear:"Orso",zebra:"Zebra",giraffe:"Giraffa",contact:"Contatto","motion-sensor":"Sensore movimento",smoke:"Fumo",flood:"Allagamento",gas:"Gas","carbon-monoxide":"Monossido di carbonio",vibration:"Vibrazione",tamper:"Manomissione",presence:"Presenza","enum-sensor":"Stato sensore","device-event":"Evento dispositivo",lock:"Serratura",switch:"Interruttore",siren:"Sirena",button:"Pulsante",doorbell:"Campanello","package-delivered":"Pacco consegnato","package-picked-up":"Pacco ritirato","audio-speech":"Voce","audio-music":"Musica","audio-dog":"Cane","audio-doorbell":"Campanello","audio-siren":"Sirena","audio-alarm":"Allarme"}}},3579,[]);
|
|
16001
|
-
__d(function(g,r,i,a,m,
|
|
16002
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ThemedStatusBar=function(){const c=(0,t.c)(2),{mode:o}=(0,u.useTheme)(),l="dark"===o?"light":"dark";let _;c[0]!==l?(_=(0,n.jsx)(s.StatusBar,{style:l}),c[0]=l,c[1]=_):_=c[1];return _};var t=r(d[0]);r(d[1]);var s=r(d[2]),u=r(d[3]),n=r(d[4])},3581,[15,17,3429,2587,10]);
|
|
16003
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.LoggerBridge=function(f){const p=(0,n.c)(9),{children:v}=f,{server:b,token:h}=(0,t.useServer)(),S=(0,s.useSettingsStore)(l);let L,_;p[0]!==S?(L=()=>{(0,u.setLogVerbose)(S),u.log.info("app","debug mode "+(S?"ON (verbose)":"off"))},_=[S],p[0]=S,p[1]=L,p[2]=_):(L=p[1],_=p[2]);(0,o.useEffect)(L,_);const U=b?.serverUrl??null;let j,k,E;p[3]!==U||p[4]!==h?(j=()=>{U&&h?((0,u.configureLogShipping)({serverUrl:U,token:h}),u.log.info("app","log shipping configured",{serverUrl:U})):(0,u.configureLogShipping)(null)},k=[U,h],p[3]=U,p[4]=h,p[5]=j,p[6]=k):(j=p[5],k=p[6]);(0,o.useEffect)(j,k),p[7]!==v?(E=(0,c.jsx)(c.Fragment,{children:v}),p[7]=v,p[8]=E):E=p[8];return E};var n=r(d[0]),o=r(d[1]),t=r(d[2]),s=r(d[3]),u=r(d[4]),c=r(d[5]);function l(n){return n.settings.advanced.debugMode}},3582,[15,17,3144,3140,2705,10]);
|
|
16004
|
-
__d(function(g,r,i,a,m,
|
|
16005
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.LoginScreen=function(){const{t:e}=(0,h.useTranslation)(),{save:o,lastServerUrl:n,rememberServerUrl:s}=(0,y.useServer)(),{colors:c}=(0,x.useTheme)(),[f,j]=(0,t.useState)('credentials'),[w,T]=(0,t.useState)('https://'),[z,G]=(0,t.useState)(!1);z||null===n||(G(!0),'https://'!==w&&0!==w.trim().length||T(n));const[U,N]=(0,t.useState)(''),[R,F]=(0,t.useState)(''),[_,W]=(0,t.useState)(!1),[D,L]=(0,t.useState)(''),[H,B]=(0,t.useState)(''),[E,O]=(0,t.useState)(''),[V,M]=(0,t.useState)(!1),q=w.trim(),J=q.length>0&&U.trim().length>0&&R.length>0,K=async e=>{await o({id:q,label:q,serverUrl:q},e)},Q=async()=>{if(J&&!V){await s(q),O(''),M(!0);try{const e=await(0,S.login)(q,U.trim(),R);if('totp-required'===e.status)return L(e.token),void j('totp');await K(e.token)}catch(o){O(I(o,e('v2.login.loginFailed')))}finally{M(!1)}}},X=async()=>{if(6===H.length&&!V){O(''),M(!0);try{const{token:e}=await(0,S.verifyTotp)(q,D,H);await K(e)}catch(o){O(I(o,e('v2.login.verifyFailed'))),B('')}finally{M(!1)}}};return(0,v.jsx)(l.default,{style:{flex:1,backgroundColor:c.background},behavior:void 0,children:(0,v.jsx)(u.default,{contentContainerStyle:{flexGrow:1,justifyContent:'center',alignItems:'center',padding:p.SPACING['2xl']},keyboardShouldPersistTaps:"handled",children:(0,v.jsxs)(b.default,{style:{width:'100%',maxWidth:420,gap:p.SPACING['2xl']},children:[(0,v.jsx)(b.default,{style:{alignItems:'center'},children:(0,v.jsx)(C.BrandLogo,{width:220})}),(0,v.jsxs)(b.default,{style:{backgroundColor:c.surface,borderColor:c.border,borderWidth:1,borderRadius:p.RADIUS.lg,padding:p.SPACING['2xl'],gap:p.SPACING.xl},children:[E.length>0&&(0,v.jsx)(P,{colors:c,message:E}),'credentials'===f?(0,v.jsx)(A,{colors:c,serverUrl:w,username:U,password:R,showPassword:_,submitting:V,canSubmit:J,onChangeServerUrl:T,onChangeUsername:N,onChangePassword:F,onToggleShowPassword:()=>W(e=>!e),onSubmit:()=>{Q()},onHubSignIn:void 0}):(0,v.jsx)(k,{colors:c,username:U.trim(),totpCode:H,submitting:V,onChangeTotp:e=>B(e.replace(/\D/g,'').slice(0,6)),onSubmit:()=>{X()},onBack:()=>{j('credentials'),L(''),B(''),O('')}})]})]})})})};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),l=e(r(d[3]));r(d[4]);var s=e(r(d[5])),u=e(r(d[6])),c=e(r(d[7])),f=e(r(d[8])),b=e(r(d[9])),h=r(d[10]);r(d[11]),r(d[12]);var S=r(d[13]);r(d[14]),r(d[15]);var y=r(d[16]),x=r(d[17]),p=r(d[18]),C=r(d[19]),j=r(d[20]),v=r(d[21]);function I(e,o){return e instanceof Error&&e.message?e.message:o}function P(e){const t=(0,o.c)(11),{colors:n,message:l}=e,s=n.danger+"1a",u=n.danger+"40";let f,h,S,y;return t[0]!==s||t[1]!==u?(f={backgroundColor:s,borderColor:u,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl},t[0]=s,t[1]=u,t[2]=f):f=t[2],t[3]!==n.danger?(h={color:n.danger,fontSize:13},t[3]=n.danger,t[4]=h):h=t[4],t[5]!==l||t[6]!==h?(S=(0,v.jsx)(c.default,{style:h,children:l}),t[5]=l,t[6]=h,t[7]=S):S=t[7],t[8]!==f||t[9]!==S?(y=(0,v.jsx)(b.default,{style:f,children:S}),t[8]=f,t[9]=S,t[10]=y):y=t[10],y}function w(e){return{color:e.foregroundSubtle,fontSize:12,fontWeight:'600',marginBottom:p.SPACING.sm}}function T(e){return{backgroundColor:e.background,borderColor:e.border,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl,color:e.foreground,fontSize:15}}function A(e){const t=(0,o.c)(100),{colors:n,serverUrl:l,username:u,password:S,showPassword:y,submitting:x,canSubmit:C,onChangeServerUrl:I,onChangeUsername:P,onChangePassword:A,onToggleShowPassword:k,onSubmit:G,onHubSignIn:U}=e,{t:N}=(0,h.useTranslation)();let R,F,_;t[0]!==n?(R=w(n),t[0]=n,t[1]=R):R=t[1],t[2]!==N?(F=N("v2.login.serverUrl"),t[2]=N,t[3]=F):F=t[3],t[4]!==R||t[5]!==F?(_=(0,v.jsx)(c.default,{style:R,children:F}),t[4]=R,t[5]=F,t[6]=_):_=t[6];const W=n.foregroundSubtle;let D,L,H,B,E,O,V;t[7]!==n?(D=T(n),t[7]=n,t[8]=D):D=t[8],t[9]!==n.foregroundSubtle||t[10]!==I||t[11]!==l||t[12]!==D?(L=(0,v.jsx)(f.default,{value:l,onChangeText:I,placeholder:"https://hub.local:4443",placeholderTextColor:W,autoCapitalize:"none",autoCorrect:!1,keyboardType:"url",style:D}),t[9]=n.foregroundSubtle,t[10]=I,t[11]=l,t[12]=D,t[13]=L):L=t[13],t[14]!==_||t[15]!==L?(H=(0,v.jsxs)(b.default,{children:[_,L]}),t[14]=_,t[15]=L,t[16]=H):H=t[16],t[17]!==n?(B=w(n),t[17]=n,t[18]=B):B=t[18],t[19]!==N?(E=N("v2.login.username"),t[19]=N,t[20]=E):E=t[20],t[21]!==B||t[22]!==E?(O=(0,v.jsx)(c.default,{style:B,children:E}),t[21]=B,t[22]=E,t[23]=O):O=t[23],t[24]!==N?(V=N("v2.login.username"),t[24]=N,t[25]=V):V=t[25];const M=n.foregroundSubtle;let q,J,K,Q,X,Y,Z,$;t[26]!==n?(q=T(n),t[26]=n,t[27]=q):q=t[27],t[28]!==n.foregroundSubtle||t[29]!==P||t[30]!==V||t[31]!==q||t[32]!==u?(J=(0,v.jsx)(f.default,{value:u,onChangeText:P,placeholder:V,placeholderTextColor:M,autoCapitalize:"none",autoCorrect:!1,autoFocus:!0,style:q}),t[28]=n.foregroundSubtle,t[29]=P,t[30]=V,t[31]=q,t[32]=u,t[33]=J):J=t[33],t[34]!==O||t[35]!==J?(K=(0,v.jsxs)(b.default,{children:[O,J]}),t[34]=O,t[35]=J,t[36]=K):K=t[36],t[37]!==n?(Q=w(n),t[37]=n,t[38]=Q):Q=t[38],t[39]!==N?(X=N("v2.login.password"),t[39]=N,t[40]=X):X=t[40],t[41]!==Q||t[42]!==X?(Y=(0,v.jsx)(c.default,{style:Q,children:X}),t[41]=Q,t[42]=X,t[43]=Y):Y=t[43],t[44]===Symbol.for("react.memo_cache_sentinel")?(Z={position:"relative",justifyContent:"center"},t[44]=Z):Z=t[44],t[45]!==N?($=N("v2.login.password"),t[45]=N,t[46]=$):$=t[46];const ee=n.foregroundSubtle,oe=!y;let re,te,ne,le,se,ae,ie,de,ue;t[47]!==n?(re=T(n),t[47]=n,t[48]=re):re=t[48],t[49]!==re?(te=Object.assign({},re,{paddingRight:48}),t[49]=re,t[50]=te):te=t[50],t[51]!==n.foregroundSubtle||t[52]!==A||t[53]!==S||t[54]!==$||t[55]!==oe||t[56]!==te?(ne=(0,v.jsx)(f.default,{value:S,onChangeText:A,placeholder:$,placeholderTextColor:ee,autoCapitalize:"none",autoCorrect:!1,secureTextEntry:oe,style:te}),t[51]=n.foregroundSubtle,t[52]=A,t[53]=S,t[54]=$,t[55]=oe,t[56]=te,t[57]=ne):ne=t[57],t[58]!==y||t[59]!==N?(le=N(y?"v2.login.hidePassword":"v2.login.showPassword"),t[58]=y,t[59]=N,t[60]=le):le=t[60],t[61]===Symbol.for("react.memo_cache_sentinel")?(se={position:"absolute",right:p.SPACING.xl},t[61]=se):se=t[61],t[62]!==n.foregroundSubtle||t[63]!==y?(ae=y?(0,v.jsx)(j.EyeOff,{color:n.foregroundSubtle,size:20}):(0,v.jsx)(j.Eye,{color:n.foregroundSubtle,size:20}),t[62]=n.foregroundSubtle,t[63]=y,t[64]=ae):ae=t[64],t[65]!==k||t[66]!==le||t[67]!==ae?(ie=(0,v.jsx)(s.default,{accessibilityRole:"button",accessibilityLabel:le,onPress:k,hitSlop:8,style:se,children:ae}),t[65]=k,t[66]=le,t[67]=ae,t[68]=ie):ie=t[68],t[69]!==ne||t[70]!==ie?(de=(0,v.jsxs)(b.default,{style:Z,children:[ne,ie]}),t[69]=ne,t[70]=ie,t[71]=de):de=t[71],t[72]!==Y||t[73]!==de?(ue=(0,v.jsxs)(b.default,{children:[Y,de]}),t[72]=Y,t[73]=de,t[74]=ue):ue=t[74];const ce=!C||x;let ge,fe,be,he,Se;return t[75]!==N?(ge=N("v2.login.signIn"),t[75]=N,t[76]=ge):ge=t[76],t[77]!==N?(fe=N("v2.login.signingIn"),t[77]=N,t[78]=fe):fe=t[78],t[79]!==n||t[80]!==G||t[81]!==x||t[82]!==ce||t[83]!==ge||t[84]!==fe?(be=(0,v.jsx)(z,{colors:n,disabled:ce,submitting:x,label:ge,loadingLabel:fe,onPress:G}),t[79]=n,t[80]=G,t[81]=x,t[82]=ce,t[83]=ge,t[84]=fe,t[85]=be):be=t[85],t[86]!==n.border||t[87]!==n.foreground||t[88]!==n.foregroundSubtle||t[89]!==U||t[90]!==l||t[91]!==x||t[92]!==N?(he=void 0!==U&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(b.default,{style:{flexDirection:"row",alignItems:"center",gap:p.SPACING.lg},children:[(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:11,letterSpacing:1},children:N("v2.login.or").toUpperCase()}),(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}})]}),(0,v.jsx)(s.default,{accessibilityRole:"button",disabled:0===l.trim().length||x,onPress:U,style:{borderColor:n.border,borderWidth:1,opacity:0===l.trim().length||x?.5:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center"},children:(0,v.jsx)(c.default,{style:{color:n.foreground,fontSize:15,fontWeight:"600"},children:N("v2.login.signInWithCamStack")})}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:12},children:N("v2.login.hubSignInHint")})]}),t[86]=n.border,t[87]=n.foreground,t[88]=n.foregroundSubtle,t[89]=U,t[90]=l,t[91]=x,t[92]=N,t[93]=he):he=t[93],t[94]!==K||t[95]!==ue||t[96]!==be||t[97]!==he||t[98]!==H?(Se=(0,v.jsxs)(v.Fragment,{children:[H,K,ue,be,he]}),t[94]=K,t[95]=ue,t[96]=be,t[97]=he,t[98]=H,t[99]=Se):Se=t[99],Se}function k(e){const t=(0,o.c)(70),{colors:n,username:l,totpCode:u,submitting:S,onChangeTotp:y,onSubmit:x,onBack:C}=e,{t:j}=(0,h.useTranslation)();let I,P,A,k,G,U,N,R,F,_,W,D,L;t[0]===Symbol.for("react.memo_cache_sentinel")?(I={gap:p.SPACING.sm},t[0]=I):I=t[0],t[1]!==n.foreground?(P={color:n.foreground,fontSize:15,fontWeight:"600"},t[1]=n.foreground,t[2]=P):P=t[2],t[3]!==j?(A=j("v2.login.twoFactor"),t[3]=j,t[4]=A):A=t[4],t[5]!==P||t[6]!==A?(k=(0,v.jsx)(c.default,{style:P,children:A}),t[5]=P,t[6]=A,t[7]=k):k=t[7],t[8]!==n.foregroundSubtle?(G={color:n.foregroundSubtle,fontSize:13},t[8]=n.foregroundSubtle,t[9]=G):G=t[9],t[10]!==j?(U=j("v2.login.totpHint"),t[10]=j,t[11]=U):U=t[11],t[12]!==n.foreground?(N={color:n.foreground},t[12]=n.foreground,t[13]=N):N=t[13],t[14]!==N||t[15]!==l?(R=(0,v.jsx)(c.default,{style:N,children:l}),t[14]=N,t[15]=l,t[16]=R):R=t[16],t[17]!==G||t[18]!==U||t[19]!==R?(F=(0,v.jsxs)(c.default,{style:G,children:[U,R,"."]}),t[17]=G,t[18]=U,t[19]=R,t[20]=F):F=t[20],t[21]!==k||t[22]!==F?(_=(0,v.jsxs)(b.default,{style:I,children:[k,F]}),t[21]=k,t[22]=F,t[23]=_):_=t[23],t[24]!==n?(W=w(n),t[24]=n,t[25]=W):W=t[25],t[26]!==j?(D=j("v2.login.verificationCode"),t[26]=j,t[27]=D):D=t[27],t[28]!==W||t[29]!==D?(L=(0,v.jsx)(c.default,{style:W,children:D}),t[28]=W,t[29]=D,t[30]=L):L=t[30];const H=n.foregroundSubtle;let B,E,O,V;t[31]!==n?(B=T(n),t[31]=n,t[32]=B):B=t[32],t[33]!==B?(E=Object.assign({},B,{textAlign:"center",fontSize:24,letterSpacing:8}),t[33]=B,t[34]=E):E=t[34],t[35]!==n.foregroundSubtle||t[36]!==y||t[37]!==E||t[38]!==u?(O=(0,v.jsx)(f.default,{value:u,onChangeText:y,placeholder:"123456",placeholderTextColor:H,keyboardType:"numeric",maxLength:6,textContentType:"oneTimeCode",autoFocus:!0,style:E}),t[35]=n.foregroundSubtle,t[36]=y,t[37]=E,t[38]=u,t[39]=O):O=t[39],t[40]!==L||t[41]!==O?(V=(0,v.jsxs)(b.default,{children:[L,O]}),t[40]=L,t[41]=O,t[42]=V):V=t[42];const M=6!==u.length||S;let q,J,K,Q,X,Y,Z,$,ee;return t[43]!==j?(q=j("v2.login.verifyAndSignIn"),t[43]=j,t[44]=q):q=t[44],t[45]!==j?(J=j("v2.login.verifying"),t[45]=j,t[46]=J):J=t[46],t[47]!==n||t[48]!==x||t[49]!==S||t[50]!==M||t[51]!==q||t[52]!==J?(K=(0,v.jsx)(z,{colors:n,disabled:M,submitting:S,label:q,loadingLabel:J,onPress:x}),t[47]=n,t[48]=x,t[49]=S,t[50]=M,t[51]=q,t[52]=J,t[53]=K):K=t[53],t[54]===Symbol.for("react.memo_cache_sentinel")?(Q={alignItems:"center"},t[54]=Q):Q=t[54],t[55]!==n.foregroundSubtle?(X={color:n.foregroundSubtle,fontSize:13},t[55]=n.foregroundSubtle,t[56]=X):X=t[56],t[57]!==j?(Y=j("v2.login.back"),t[57]=j,t[58]=Y):Y=t[58],t[59]!==X||t[60]!==Y?(Z=(0,v.jsx)(c.default,{style:X,children:Y}),t[59]=X,t[60]=Y,t[61]=Z):Z=t[61],t[62]!==C||t[63]!==Z?($=(0,v.jsx)(s.default,{accessibilityRole:"button",onPress:C,style:Q,children:Z}),t[62]=C,t[63]=Z,t[64]=$):$=t[64],t[65]!==_||t[66]!==V||t[67]!==K||t[68]!==$?(ee=(0,v.jsxs)(v.Fragment,{children:[_,V,K,$]}),t[65]=_,t[66]=V,t[67]=K,t[68]=$,t[69]=ee):ee=t[69],ee}function z(e){const t=(0,o.c)(17),{colors:l,disabled:u,submitting:f,label:b,loadingLabel:h,onPress:S}=e,y=u?.5:1;let x,C,j;t[0]!==l.primary||t[1]!==y?(x={backgroundColor:l.primary,opacity:y,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center",flexDirection:"row",justifyContent:"center",gap:p.SPACING.md},t[0]=l.primary,t[1]=y,t[2]=x):x=t[2],t[3]!==l.primaryForeground||t[4]!==f?(C=f&&(0,v.jsx)(n.default,{size:"small",color:l.primaryForeground}),t[3]=l.primaryForeground,t[4]=f,t[5]=C):C=t[5],t[6]!==l.primaryForeground?(j={color:l.primaryForeground,fontSize:16,fontWeight:"600"},t[6]=l.primaryForeground,t[7]=j):j=t[7];const I=f?h:b;let P,w;return t[8]!==j||t[9]!==I?(P=(0,v.jsx)(c.default,{style:j,children:I}),t[8]=j,t[9]=I,t[10]=P):P=t[10],t[11]!==u||t[12]!==S||t[13]!==x||t[14]!==C||t[15]!==P?(w=(0,v.jsxs)(s.default,{accessibilityRole:"button",disabled:u,onPress:S,style:x,children:[C,P]}),t[11]=u,t[12]=S,t[13]=x,t[14]=C,t[15]=P,t[16]=w):w=t[16],w}},3584,[15,17,240,244,136,252,147,112,262,20,786,3585,618,3588,3589,2705,3144,2587,2589,3590,813,10]);
|
|
16006
|
-
__d(function(g,r,i,a,m,
|
|
16007
|
-
__d(function(g,r,
|
|
16008
|
-
__d(function(g,r,i,a,m,e,d){"use strict";var t,n;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"WebBrowserResultType",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return n}}),(function(t){t.CANCEL="cancel",t.DISMISS="dismiss",t.OPENED="opened",t.LOCKED="locked"})(t||(t={})),(function(t){t.FULL_SCREEN="fullScreen",t.PAGE_SHEET="pageSheet",t.FORM_SHEET="formSheet",t.CURRENT_CONTEXT="currentContext",t.OVER_FULL_SCREEN="overFullScreen",t.OVER_CURRENT_CONTEXT="overCurrentContext",t.POPOVER="popover",t.AUTOMATIC="automatic"})(n||(n={}))},3587,[]);
|
|
16009
|
-
__d(function(g,r,i,a,m,
|
|
16010
|
-
__d(function(g,r,
|
|
16011
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),
|
|
16012
|
-
__d(function(g,r,i,a,m,
|
|
16013
|
-
__d(function(g,r,i,a,
|
|
16014
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,
|
|
16015
|
-
__d(function(g,r,_i,a,m,e,d){"use strict";var t=r(d[0]).default;const s=["children"],n=["children"];var i,o=Object.create,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,y=(t,s,n,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let o of p(s))h.call(t,o)||o===n||l(t,o,{get:()=>s[o],enumerable:!(i=c(s,o))||i.enumerable});return t},f=(t,s,n)=>(n=null!=t?o(u(t)):{},y(!s&&t&&t.__esModule?n:l(n,"default",{value:t,enumerable:!0}),t)),b={};((t,s)=>{for(var n in s)l(t,n,{get:s[n],enumerable:!0})})(b,{Helmet:()=>Oe,HelmetData:()=>le,HelmetProvider:()=>pe}),m.exports=(i=b,y(l({},"__esModule",{value:!0}),i));var T=f(r(d[1])),O=f(r(d[2])),A=f(r(d[3])),j=f(r(d[1])),C=f(r(d[1])),w=(t=>(t.BASE="base",t.BODY="body",t.HEAD="head",t.HTML="html",t.LINK="link",t.META="meta",t.NOSCRIPT="noscript",t.SCRIPT="script",t.STYLE="style",t.TITLE="title",t.FRAGMENT="Symbol(react.fragment)",t))(w||{}),x={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},$={charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},k=Object.values(w),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},M=Object.entries(S).reduce((t,[s,n])=>(t[n]=s,t),{}),E="data-rh",P="defaultTitle",H="defer",D="encodeSpecialCharacters",L="onChangeClientState",I="titleTemplate",U="prioritizeSeoTags",N=(t,s)=>{for(let n=t.length-1;n>=0;n-=1){const i=t[n];if(Object.prototype.hasOwnProperty.call(i,s))return i[s]}return null},q=t=>{let s=N(t,"title");const n=N(t,I);if(Array.isArray(s)&&(s=s.join("")),n&&s)return n.replace(/%s/g,()=>s);const i=N(t,P);return s||i||void 0},_=t=>N(t,L)||(()=>{}),R=(t,s)=>s.filter(s=>void 0!==s[t]).map(s=>s[t]).reduce((t,s)=>Object.assign({},t,s),{}),z=(t,s)=>s.filter(t=>void 0!==t.base).map(t=>t.base).reverse().reduce((s,n)=>{if(!s.length){const i=Object.keys(n);for(let o=0;o<i.length;o+=1){const l=i[o].toLowerCase();if(-1!==t.indexOf(l)&&n[l])return s.concat(n)}}return s},[]),B=(t,s,n)=>{const i={};return n.filter(s=>{return!!Array.isArray(s[t])||(void 0!==s[t]&&(n=`Helmet: ${t} should be of type "Array". Instead found type "${typeof s[t]}"`,console&&"function"==typeof console.warn&&console.warn(n)),!1);var n}).map(s=>s[t]).reverse().reduce((t,n)=>{const o={};n.filter(t=>{let n;const l=Object.keys(t);for(let i=0;i<l.length;i+=1){const o=l[i],c=o.toLowerCase();-1===s.indexOf(c)||"rel"===n&&"canonical"===t[n].toLowerCase()||"rel"===c&&"stylesheet"===t[c].toLowerCase()||(n=c),-1===s.indexOf(o)||"innerHTML"!==o&&"cssText"!==o&&"itemprop"!==o||(n=o)}if(!n||!t[n])return!1;const c=t[n].toLowerCase();return i[n]||(i[n]={}),o[n]||(o[n]={}),!i[n][c]&&(o[n][c]=!0,!0)}).reverse().forEach(s=>t.push(s));const l=Object.keys(o);for(let t=0;t<l.length;t+=1){const s=l[t],n=Object.assign({},i[s],o[s]);i[s]=n}return t},[]).reverse()},F=(t,s)=>{if(Array.isArray(t)&&t.length)for(let n=0;n<t.length;n+=1){if(t[n][s])return!0}return!1},Y=t=>Array.isArray(t)?t.join(""):t,K=(t,s)=>{const n=Object.keys(t);for(let i=0;i<n.length;i+=1)if(s[n[i]]&&s[n[i]].includes(t[n[i]]))return!0;return!1},G=(t,s)=>Array.isArray(t)?t.reduce((t,n)=>(K(n,s)?t.priority.push(n):t.default.push(n),t),{priority:[],default:[]}):{default:t,priority:[]},W=(t,s)=>Object.assign({},t,{[s]:void 0}),J=["noscript","script","style"],Q=(t,s=!0)=>!1===s?String(t):String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),V=t=>Object.keys(t).reduce((s,n)=>{const i=void 0!==t[n]?`${n}="${Q(t[n])}"`:`${n}`;return s?`${s} ${i}`:i},""),X=(t,s,n,i)=>{const o=V(n),l=Y(s);return o?`<${t} ${E}="true" ${o}>${Q(l,i)}</${t}>`:`<${t} ${E}="true">${Q(l,i)}</${t}>`},Z=(t,s,n=!0)=>s.reduce((s,i)=>{const o=i,l=Object.keys(o).filter(t=>!("innerHTML"===t||"cssText"===t)).reduce((t,s)=>{const i=void 0===o[s]?s:`${s}="${Q(o[s],n)}"`;return t?`${t} ${i}`:i},""),c=o.innerHTML||o.cssText||"",p=-1===J.indexOf(t);return`${s}<${t} ${E}="true" ${l}${p?"/>":`>${c}</${t}>`}`},""),ee=(t,s={})=>Object.keys(t).reduce((s,n)=>(s[S[n]||n]=t[n],s),s),te=(t,s,n)=>{const i=ee(n,{key:s,[E]:!0});return[C.default.createElement("title",i,s)]},re=(t,s)=>s.map((s,n)=>{const i={key:n,[E]:!0};return Object.keys(s).forEach(t=>{const n=S[t]||t;if("innerHTML"===n||"cssText"===n){const t=s.innerHTML||s.cssText;i.dangerouslySetInnerHTML={__html:t}}else i[n]=s[t]}),C.default.createElement(t,i)}),se=(t,s,n=!0)=>{switch(t){case"title":return{toComponent:()=>te(0,s.title,s.titleAttributes),toString:()=>X(t,s.title,s.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>ee(s),toString:()=>V(s)};default:return{toComponent:()=>re(t,s),toString:()=>Z(t,s,n)}}},ne=({metaTags:t,linkTags:s,scriptTags:n,encode:i})=>{const o=G(t,$),l=G(s,x),c=G(n,v);return{priorityMethods:{toComponent:()=>[...re("meta",o.priority),...re("link",l.priority),...re("script",c.priority)],toString:()=>`${se("meta",o.priority,i)} ${se("link",l.priority,i)} ${se("script",c.priority,i)}`},metaTags:o.default,linkTags:l.default,scriptTags:c.default}},ie=t=>{const{baseTag:s,bodyAttributes:n,encode:i=!0,htmlAttributes:o,noscriptTags:l,styleTags:c,title:p="",titleAttributes:u,prioritizeSeoTags:h}=t;let{linkTags:y,metaTags:f,scriptTags:b}=t,T={toComponent:()=>{},toString:()=>""};return h&&({priorityMethods:T,linkTags:y,metaTags:f,scriptTags:b}=ne(t)),{priority:T,base:se("base",s,i),bodyAttributes:se("bodyAttributes",n,i),htmlAttributes:se("htmlAttributes",o,i),link:se("link",y,i),meta:se("meta",f,i),noscript:se("noscript",l,i),script:se("script",b,i),style:se("style",c,i),title:se("title",{title:p,titleAttributes:u},i)}},oe=[],ae=!("undefined"==typeof window||!window.document||!window.document.createElement),le=class{instances=[];canUseDOM=ae;value={setHelmet:t=>{this.context.helmet=t},helmetInstances:{get:()=>this.canUseDOM?oe:this.instances,add:t=>{(this.canUseDOM?oe:this.instances).push(t)},remove:t=>{const s=(this.canUseDOM?oe:this.instances).indexOf(t);(this.canUseDOM?oe:this.instances).splice(s,1)}}};constructor(t,s){this.context=t,this.canUseDOM=s||!1,s||(t.helmet=ie({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},ce=j.default.createContext({}),pe=class t extends j.Component{static canUseDOM=ae;constructor(s){super(s),this.helmetData=new le(this.props.context||{},t.canUseDOM)}render(){return j.default.createElement(ce.Provider,{value:this.helmetData.value},this.props.children)}},ue=r(d[1]),de=f(r(d[4])),he=(t,s)=>{const n=document.head||document.querySelector("head"),i=n.querySelectorAll(`${t}[${E}]`),o=[].slice.call(i),l=[];let c;return s&&s.length&&s.forEach(s=>{const n=document.createElement(t);for(const t in s)if(Object.prototype.hasOwnProperty.call(s,t))if("innerHTML"===t)n.innerHTML=s.innerHTML;else if("cssText"===t)n.styleSheet?n.styleSheet.cssText=s.cssText:n.appendChild(document.createTextNode(s.cssText));else{const i=t,o=void 0===s[i]?"":s[i];n.setAttribute(t,o)}n.setAttribute(E,"true"),o.some((t,s)=>(c=s,n.isEqualNode(t)))?o.splice(c,1):l.push(n)}),o.forEach(t=>t.parentNode?.removeChild(t)),l.forEach(t=>n.appendChild(t)),{oldTags:o,newTags:l}},me=(t,s)=>{const n=document.getElementsByTagName(t)[0];if(!n)return;const i=n.getAttribute(E),o=i?i.split(","):[],l=[...o],c=Object.keys(s);for(const t of c){const i=s[t]||"";n.getAttribute(t)!==i&&n.setAttribute(t,i),-1===o.indexOf(t)&&o.push(t);const c=l.indexOf(t);-1!==c&&l.splice(c,1)}for(let t=l.length-1;t>=0;t-=1)n.removeAttribute(l[t]);o.length===l.length?n.removeAttribute(E):n.getAttribute(E)!==c.join(",")&&n.setAttribute(E,c.join(","))},ge=(t,s)=>{void 0!==t&&document.title!==t&&(document.title=Y(t)),me("title",s)},ye=(t,s)=>{const{baseTag:n,bodyAttributes:i,htmlAttributes:o,linkTags:l,metaTags:c,noscriptTags:p,onChangeClientState:u,scriptTags:h,styleTags:y,title:f,titleAttributes:b}=t;me("body",i),me("html",o),ge(f,b);const T={baseTag:he("base",n),linkTags:he("link",l),metaTags:he("meta",c),noscriptTags:he("noscript",p),scriptTags:he("script",h),styleTags:he("style",y)},O={},A={};Object.keys(T).forEach(t=>{const{newTags:s,oldTags:n}=T[t];s.length&&(O[t]=s),n.length&&(A[t]=T[t].oldTags)}),s&&s(),u(t,O,A)},fe=null,be=t=>{fe&&cancelAnimationFrame(fe),t.defer?fe=requestAnimationFrame(()=>{ye(t,()=>{fe=null})}):(ye(t),fe=null)},Te=class extends ue.Component{rendered=!1;shouldComponentUpdate(t){return!(0,de.default)(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:s}=this.props.context;let n=null;const i=(o=t.get().map(t=>{const s=Object.assign({},t.props);return delete s.context,s}),{baseTag:z(["href"],o),bodyAttributes:R("bodyAttributes",o),defer:N(o,H),encode:N(o,D),htmlAttributes:R("htmlAttributes",o),linkTags:B("link",["rel","href"],o),metaTags:B("meta",["name","charset","http-equiv","property","itemprop"],o),noscriptTags:B("noscript",["innerHTML"],o),onChangeClientState:_(o),scriptTags:B("script",["src","innerHTML"],o),styleTags:B("style",["cssText"],o),title:q(o),titleAttributes:R("titleAttributes",o),prioritizeSeoTags:F(o,U)});var o;pe.canUseDOM?be(i):ie&&(n=ie(i)),s(n)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},Oe=class extends T.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(t){return!(0,O.default)(W(this.props,"helmetData"),W(t,"helmetData"))}mapNestedChildrenToProps(t,s){if(!s)return null;switch(t.type){case"script":case"noscript":return{innerHTML:s};case"style":return{cssText:s};default:throw new Error(`<${t.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(t,s,n,i){return Object.assign({},s,{[t.type]:[...s[t.type]||[],Object.assign({},n,this.mapNestedChildrenToProps(t,i))]})}mapObjectTypeChildren(t,s,n,i){switch(t.type){case"title":return Object.assign({},s,{[t.type]:i,titleAttributes:Object.assign({},n)});case"body":return Object.assign({},s,{bodyAttributes:Object.assign({},n)});case"html":return Object.assign({},s,{htmlAttributes:Object.assign({},n)});default:return Object.assign({},s,{[t.type]:Object.assign({},n)})}}mapArrayTypeChildrenToProps(t,s){let n=Object.assign({},s);return Object.keys(t).forEach(s=>{n=Object.assign({},n,{[s]:t[s]})}),n}warnOnInvalidChildren(t,s){return(0,A.default)(k.some(s=>t.type===s),"function"==typeof t.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${k.join(", ")} are allowed. Helmet does not support rendering <${t.type}> elements. Refer to our API for more information.`),(0,A.default)(!s||"string"==typeof s||Array.isArray(s)&&!s.some(t=>"string"!=typeof t),`Helmet expects a string as a child of <${t.type}>. Did you forget to wrap your children in braces? ( <${t.type}>{\`\`}</${t.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(n,i){let o={};return T.default.Children.forEach(n,n=>{if(!n||!n.props)return;const l=n.props,{children:c}=l,p=t(l,s),u=Object.keys(p).reduce((t,s)=>(t[M[s]||s]=p[s],t),{});let{type:h}=n;switch("symbol"==typeof h?h=h.toString():this.warnOnInvalidChildren(n,c),h){case"Symbol(react.fragment)":i=this.mapChildrenToProps(c,i);break;case"link":case"meta":case"noscript":case"script":case"style":o=this.flattenArrayTypeChildren(n,o,u,c);break;default:i=this.mapObjectTypeChildren(n,i,u,c)}}),this.mapArrayTypeChildrenToProps(o,i)}render(){const s=this.props,{children:i}=s,o=t(s,n);let l=Object.assign({},o),{helmetData:c}=o;if(i&&(l=this.mapChildrenToProps(i,l)),c&&!(c instanceof le)){c=new le(c.context,!0),delete l.helmetData}return c?T.default.createElement(Te,Object.assign({},l,{context:c.value})):T.default.createElement(ce.Consumer,null,t=>T.default.createElement(Te,Object.assign({},l,{context:t})))}}},3594,[120,17,3595,323,3596]);
|
|
16016
|
-
__d(function(g,r,
|
|
16017
|
-
__d(function(g,r,i,a,m,e,d){
|
|
16018
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3597,[]);
|
|
16019
|
-
__d(function(g,r,_i,
|
|
15906
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ContainerAccessoryControl=function(u){const y=(0,n.c)(7),{containerId:f}=u,{data:_,isLoading:v}=(0,t.useAccessories)(f);let C;y[0]!==_?(C=_??[],y[0]=_,y[1]=C):C=y[1];const j=C;let p;y[2]!==j?(p=(0,s.resolvePrimaryChildByType)(j),y[2]=j,y[3]=p):p=y[3];const A=p;if(v&&!_){let n;return y[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsx)(c.ControlSpinner,{}),y[4]=n):n=y[4],n}if(null===A)return null;let b;y[5]!==A?(b=(0,l.jsx)(o.AccessoryControl,{device:A}),y[5]=A,y[6]=b):b=y[6];return b};var n=r(d[0]);r(d[1]);var t=r(d[2]),o=r(d[3]),c=r(d[4]),s=r(d[5]),l=r(d[6])},3485,[15,17,3470,3471,3476,3486,10]);
|
|
15907
|
+
__d(function(g,r,_i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"CONTAINER_CHILD_PRIORITY",{enumerable:!0,get:function(){return t}}),e.resolvePrimaryChildByType=function(t){return 0===t.length?null:[...t].sort((t,i)=>n(t.type)-n(i.type))[0]??null};const t=['media-player','alarm-panel','thermostat','climate','humidifier','water-heater','lock','cover','valve','fan','vacuum','lawn-mower','light','switch','siren','button','control','notifier','script','automation','update','presence','weather','image','sensor'];function n(n){const i=t.indexOf(n);return-1===i?t.length:i}},3486,[]);
|
|
15908
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraSwitcherPanel=function(e){const u=(0,t.c)(45),{currentId:S,onSwitch:I,onOpenGrid:w}=e,{t:P}=(0,h.useTranslation)(),{colors:A}=(0,y.useTheme)(),{data:G,isLoading:_}=(0,p.useCameras)();let k;u[0]!==G?(k=void 0===G?[]:G,u[0]=G,u[1]=k):k=u[1];const z=k;let D;u[2]===Symbol.for("react.memo_cache_sentinel")?(D=new Set,u[2]=D):D=u[2];const[N,R]=(0,o.useState)(D),v=N.size>0;let B;u[3]===Symbol.for("react.memo_cache_sentinel")?(B=e=>R(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),u[3]=B):B=u[3];const V=B;let W;if(u[4]!==z||u[5]!==N){let e;u[7]!==N?(e=e=>N.has(e.id),u[7]=N,u[8]=e):e=u[8],W=z.filter(e).map(C),u[4]=z,u[5]=N,u[6]=W}else W=u[6];const L=W,T=L.length>=2;if(_&&0===z.length){let e;return u[9]!==A.primary?(e=(0,x.jsx)(n.default,{style:j.center,children:(0,x.jsx)(f.default,{color:A.primary})}),u[9]=A.primary,u[10]=e):e=u[10],e}if(0===z.length){let e,t,o;return u[11]!==A.foregroundSubtle?(e=[j.empty,{color:A.foregroundSubtle}],u[11]=A.foregroundSubtle,u[12]=e):e=u[12],u[13]!==P?(t=P("v2.cameraSwitcher.empty"),u[13]=P,u[14]=t):t=u[14],u[15]!==e||u[16]!==t?(o=(0,x.jsx)(l.default,{style:e,children:t}),u[15]=e,u[16]=t,u[17]=o):o=u[17],o}let O,q,F,H;if(u[18]!==z||u[19]!==A||u[20]!==S||u[21]!==I||u[22]!==N||u[23]!==v||u[24]!==P){let e;u[26]!==A||u[27]!==S||u[28]!==I||u[29]!==N||u[30]!==v||u[31]!==P?(e=e=>{const t=e.id===S,o=N.has(e.id);return(0,x.jsxs)(s.default,{onPress:()=>v?V(e.id):I(e.id),accessibilityRole:"button",accessibilityState:{selected:t},style:[j.row,{borderBottomColor:A.borderSubtle},t&&{backgroundColor:`${A.primary}14`}],children:[(0,x.jsx)(s.default,{onPress:()=>V(e.id),hitSlop:8,accessibilityRole:"checkbox",accessibilityState:{checked:o},accessibilityLabel:P("v2.cameraSwitcher.selectA11y",{name:e.name}),children:o?(0,x.jsx)(b.CheckSquare,{size:18,color:A.primary}):(0,x.jsx)(b.Square,{size:18,color:A.foregroundSubtle})}),(0,x.jsx)(n.default,{style:[j.onlineDot,{backgroundColor:e.online?A.success:A.foregroundSubtle}]}),(0,x.jsx)(l.default,{style:[j.name,{color:t?A.primary:A.foreground},t&&j.nameCurrent],numberOfLines:1,children:e.name}),t?(0,x.jsx)(b.Check,{size:16,color:A.primary}):null]},e.id)},u[26]=A,u[27]=S,u[28]=I,u[29]=N,u[30]=v,u[31]=P,u[32]=e):e=u[32],O=z.map(e),u[18]=z,u[19]=A,u[20]=S,u[21]=I,u[22]=N,u[23]=v,u[24]=P,u[25]=O}else O=u[25];u[33]!==O?(q=(0,x.jsx)(c.default,{style:j.list,showsVerticalScrollIndicator:!1,children:O}),u[33]=O,u[34]=q):q=u[34];u[35]!==T||u[36]!==A||u[37]!==w||u[38]!==L||u[39]!==v||u[40]!==P?(F=v?(0,x.jsxs)(s.default,{onPress:()=>{T&&w(L)},disabled:!T,accessibilityRole:"button",accessibilityState:{disabled:!T},style:[j.gridButton,T?{backgroundColor:A.primary}:{backgroundColor:A.backgroundElevated}],children:[(0,x.jsx)(b.LayoutGrid,{size:15,color:T?A.primaryForeground:A.foregroundDisabled}),(0,x.jsx)(l.default,{style:[j.gridButtonText,{color:T?A.primaryForeground:A.foregroundDisabled}],children:P("v2.cameraSwitcher.openGrid",{n:L.length})})]}):null,u[35]=T,u[36]=A,u[37]=w,u[38]=L,u[39]=v,u[40]=P,u[41]=F):F=u[41];u[42]!==q||u[43]!==F?(H=(0,x.jsxs)(n.default,{style:j.body,children:[q,F]}),u[42]=q,u[43]=F,u[44]=H):H=u[44];return H};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]),p=r(d[12]),x=r(d[13]);function C(e){return e.id}const j=u.default.create({center:{paddingVertical:S.SPACING.lg,alignItems:'center'},empty:{fontSize:13,paddingVertical:S.SPACING.md,textAlign:'center'},body:{gap:S.SPACING.sm},list:{maxHeight:360},row:{flexDirection:'row',alignItems:'center',gap:S.SPACING.md,paddingVertical:S.SPACING.sm+2,paddingHorizontal:S.SPACING.sm,borderBottomWidth:u.default.hairlineWidth,borderRadius:S.RADIUS.sm},onlineDot:{width:7,height:7,borderRadius:4},name:{flex:1,fontSize:14,fontWeight:'500'},nameCurrent:{fontWeight:'700'},gridButton:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:S.SPACING.sm,paddingVertical:S.SPACING.md,borderRadius:S.RADIUS.md},gridButtonText:{fontSize:13,fontWeight:'600'}})},3487,[15,17,20,112,252,147,33,240,786,813,2587,2589,3080,10]);
|
|
15909
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraMenuPanel=function(e){const n=(0,o.c)(118),{boundingBoxesOn:l,onToggleBoundingBoxes:f,statsOn:I,onToggleStats:T,audioPosition:j,onSetAudioPosition:y,highlight:L,onSetHighlight:R,onOpenStorage:E,onOpenEvents:_,onClose:A,topOffset:N,align:D,maxWidth:O}=e,{t:z}=(0,u.useTranslation)(),{colors:G}=(0,h.useTheme)(),{settings:W,setCluster:B}=(0,S.useSettings)();let H;n[0]!==W.clusters?(H=(0,w.matchTimelineDensityPreset)(W.clusters),n[0]=W.clusters,n[1]=H):H=n[1];const V=H;let F;n[2]!==z?(F=w.TIMELINE_DENSITY_PRESET_ORDER.map(e=>({value:e,label:z(`v2.cameraMenu.density_${e}`)})),n[2]=z,n[3]=F):F=n[3];const Y=F;let k;n[4]!==B?(k=e=>{if("custom"===e)return;const o=w.TIMELINE_DENSITY_PRESETS[e];B("gapPercent",o.gapPercent),B("cardWidthFraction",o.cardWidthFraction)},n[4]=B,n[5]=k):k=n[5];const q=k;let $,J,K,Q,U,X,Z,ee,oe,te,ne,se,le,re,ae;n[6]!==z?($=z("v2.cameraMenu.title"),n[6]=z,n[7]=$):$=n[7];n[8]!==z?(J=z("v2.cameraDetail.close"),n[8]=z,n[9]=J):J=n[9];n[10]!==z?(K=z("v2.cameraMenu.boundingBoxes"),n[10]=z,n[11]=K):K=n[11];n[12]!==l||n[13]!==f||n[14]!==K?(Q=(0,P.jsx)(x.PanelToggleRow,{icon:c.SquareDashed,label:K,value:l,onValueChange:f}),n[12]=l,n[13]=f,n[14]=K,n[15]=Q):Q=n[15];n[16]!==z?(U=z("v2.cameraMenu.streamStats"),n[16]=z,n[17]=U):U=n[17];n[18]!==T||n[19]!==I||n[20]!==U?(X=(0,P.jsx)(x.PanelToggleRow,{icon:c.Activity,label:U,value:I,onValueChange:T}),n[18]=T,n[19]=I,n[20]=U,n[21]=X):X=n[21];n[22]!==G.foregroundMuted?(Z=(0,P.jsx)(c.AudioLines,{size:18,color:G.foregroundMuted}),n[22]=G.foregroundMuted,n[23]=Z):Z=n[23];n[24]!==G.foreground?(ee=[b.audioLabel,{color:G.foreground}],n[24]=G.foreground,n[25]=ee):ee=n[25];n[26]!==z?(oe=z("v2.cameraMenu.audioLevel"),n[26]=z,n[27]=oe):oe=n[27];n[28]!==ee||n[29]!==oe?(te=(0,P.jsx)(t.default,{style:ee,children:oe}),n[28]=ee,n[29]=oe,n[30]=te):te=n[30];n[31]!==Z||n[32]!==te?(ne=(0,P.jsxs)(s.default,{style:b.audioHeaderRow,children:[Z,te]}),n[31]=Z,n[32]=te,n[33]=ne):ne=n[33];n[34]!==j||n[35]!==y?(se=(0,P.jsx)(v.AudioMeterPositionPicker,{value:j,onChange:y}),n[34]=j,n[35]=y,n[36]=se):se=n[36];n[37]!==G.foregroundMuted?(le=[b.sectionLabel,{color:G.foregroundMuted}],n[37]=G.foregroundMuted,n[38]=le):le=n[38];n[39]!==z?(re=z("v2.cameraMenu.densityTitle"),n[39]=z,n[40]=re):re=n[40];n[41]!==le||n[42]!==re?(ae=(0,P.jsx)(t.default,{style:le,children:re}),n[41]=le,n[42]=re,n[43]=ae):ae=n[43];const ue=V??"custom";let ie,de,ce,ge,he,fe,me,Me,xe,ve,Ce,Se,we,Pe,pe,be,Ie,Te,je,ye;n[44]!==q||n[45]!==Y||n[46]!==ue?(ie=(0,P.jsx)(C.SegmentedControl,{options:Y,value:ue,onChange:q}),n[44]=q,n[45]=Y,n[46]=ue,n[47]=ie):ie=n[47];n[48]!==G.foregroundMuted||n[49]!==V||n[50]!==z?(de=null===V?(0,P.jsx)(t.default,{style:[b.densityCustom,{color:G.foregroundMuted}],children:z("v2.cameraMenu.densityCustom")}):null,n[48]=G.foregroundMuted,n[49]=V,n[50]=z,n[51]=de):de=n[51];n[52]!==z?(ce=z("v2.cameraMenu.showImportance"),n[52]=z,n[53]=ce):ce=n[53];n[54]!==B||n[55]!==W.clusters.showImportance?(ge=()=>B("showImportance",!W.clusters.showImportance),n[54]=B,n[55]=W.clusters.showImportance,n[56]=ge):ge=n[56];n[57]!==W.clusters.showImportance||n[58]!==ce||n[59]!==ge?(he=(0,P.jsx)(x.PanelToggleRow,{icon:c.Layers,label:ce,value:W.clusters.showImportance,onValueChange:ge}),n[57]=W.clusters.showImportance,n[58]=ce,n[59]=ge,n[60]=he):he=n[60];n[61]!==z?(fe=z("v2.cameraMenu.showClass"),n[61]=z,n[62]=fe):fe=n[62];n[63]!==B||n[64]!==W.clusters.showClass?(me=()=>B("showClass",!W.clusters.showClass),n[63]=B,n[64]=W.clusters.showClass,n[65]=me):me=n[65];n[66]!==W.clusters.showClass||n[67]!==fe||n[68]!==me?(Me=(0,P.jsx)(x.PanelToggleRow,{icon:c.List,label:fe,value:W.clusters.showClass,onValueChange:me}),n[66]=W.clusters.showClass,n[67]=fe,n[68]=me,n[69]=Me):Me=n[69];n[70]!==G.foregroundMuted?(xe=[b.sectionLabel,{color:G.foregroundMuted}],n[70]=G.foregroundMuted,n[71]=xe):xe=n[71];n[72]!==z?(ve=z("v2.gridBuilder.highlightTitle"),n[72]=z,n[73]=ve):ve=n[73];n[74]!==xe||n[75]!==ve?(Ce=(0,P.jsx)(t.default,{style:xe,children:ve}),n[74]=xe,n[75]=ve,n[76]=Ce):Ce=n[76];n[77]!==L||n[78]!==R?(Se=(0,P.jsx)(x.HighlightTriggerRows,{highlight:L,onSetHighlight:R}),n[77]=L,n[78]=R,n[79]=Se):Se=n[79];n[80]!==G.foregroundMuted?(we=[b.sectionLabel,{color:G.foregroundMuted}],n[80]=G.foregroundMuted,n[81]=we):we=n[81];n[82]!==z?(Pe=z("v2.cameraMenu.managementTitle"),n[82]=z,n[83]=Pe):Pe=n[83];n[84]!==we||n[85]!==Pe?(pe=(0,P.jsx)(t.default,{style:we,children:Pe}),n[84]=we,n[85]=Pe,n[86]=pe):pe=n[86];n[87]!==z?(be=z("v2.storage.title"),n[87]=z,n[88]=be):be=n[88];n[89]!==E||n[90]!==be?(Ie=(0,P.jsx)(p,{icon:c.HardDrive,label:be,onPress:E}),n[89]=E,n[90]=be,n[91]=Ie):Ie=n[91];n[92]!==z?(Te=z("v2.eventsMgmt.title"),n[92]=z,n[93]=Te):Te=n[93];n[94]!==_||n[95]!==Te?(je=(0,P.jsx)(p,{icon:c.ListTree,label:Te,onPress:_}),n[94]=_,n[95]=Te,n[96]=je):je=n[96];n[97]!==D||n[98]!==O||n[99]!==A||n[100]!==ne||n[101]!==se||n[102]!==ae||n[103]!==ie||n[104]!==de||n[105]!==he||n[106]!==Me||n[107]!==Ce||n[108]!==Se||n[109]!==pe||n[110]!==Ie||n[111]!==je||n[112]!==$||n[113]!==J||n[114]!==Q||n[115]!==X||n[116]!==N?(ye=(0,P.jsxs)(M.FloatingPanel,{title:$,onClose:A,closeLabel:J,topOffset:N,align:D,maxWidth:O,children:[Q,X,ne,se,ae,ie,de,he,Me,Ce,Se,pe,Ie,je]}),n[97]=D,n[98]=O,n[99]=A,n[100]=ne,n[101]=se,n[102]=ae,n[103]=ie,n[104]=de,n[105]=he,n[106]=Me,n[107]=Ce,n[108]=Se,n[109]=pe,n[110]=Ie,n[111]=je,n[112]=$,n[113]=J,n[114]=Q,n[115]=X,n[116]=N,n[117]=ye):ye=n[117];return ye};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),h=r(d[8]),f=r(d[9]),M=r(d[10]),x=r(d[11]),v=r(d[12]),C=r(d[13]),S=r(d[14]),w=r(d[15]),P=r(d[16]);function p(e){const s=(0,o.c)(15),{icon:l,label:u,onPress:f}=e,{colors:M}=(0,h.useTheme)();let x,v,C,S,w;return s[0]!==l||s[1]!==M.foregroundMuted?(x=(0,P.jsx)(l,{size:18,color:M.foregroundMuted}),s[0]=l,s[1]=M.foregroundMuted,s[2]=x):x=s[2],s[3]!==M.foreground?(v=[b.actionLabel,{color:M.foreground}],s[3]=M.foreground,s[4]=v):v=s[4],s[5]!==u||s[6]!==v?(C=(0,P.jsx)(t.default,{style:v,children:u}),s[5]=u,s[6]=v,s[7]=C):C=s[7],s[8]!==M.foregroundSubtle?(S=(0,P.jsx)(c.ChevronRight,{size:18,color:M.foregroundSubtle}),s[8]=M.foregroundSubtle,s[9]=S):S=s[9],s[10]!==f||s[11]!==x||s[12]!==C||s[13]!==S?(w=(0,P.jsxs)(n.default,{accessibilityRole:"button",onPress:f,style:b.actionRow,children:[x,C,S]}),s[10]=f,s[11]=x,s[12]=C,s[13]=S,s[14]=w):w=s[14],w}const b=l.default.create({sectionLabel:{fontSize:12,fontWeight:'600',paddingTop:f.SPACING.sm,paddingBottom:f.SPACING.xs},densityCustom:{fontSize:11,paddingTop:f.SPACING.xs},actionRow:{flexDirection:'row',alignItems:'center',gap:f.SPACING.md,paddingVertical:f.SPACING.xs},actionLabel:{flex:1,fontSize:14,fontWeight:'500'},audioHeaderRow:{flexDirection:'row',alignItems:'center',gap:f.SPACING.md,paddingVertical:f.SPACING.xs},audioLabel:{flex:1,fontSize:14,fontWeight:'500'}})},3488,[15,17,112,252,20,33,786,813,2587,2589,3460,3408,3489,3176,3177,3140,10]);
|
|
15910
|
+
__d(function(g,_r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AudioMeterPositionPicker=function(e){const l=(0,t.c)(7),{value:u,onChange:p}=e,{t:y}=(0,s.useTranslation)(),{colors:x}=(0,c.useTheme)();let C,P;l[0]!==x||l[1]!==p||l[2]!==y||l[3]!==u?(C=b.map((e,t)=>(0,f.jsx)(r.default,{style:h.row,children:e.map(e=>{const t=e===u,l="off"===e;return(0,f.jsx)(o.default,{accessibilityRole:"radio",accessibilityState:{selected:t},accessibilityLabel:y(`v2.cameraMenu.audioPositions.${e}`,{defaultValue:e}),onPress:()=>p(e),style:[h.cell,{borderColor:t?x.primary:x.border,backgroundColor:t?x.primary:x.background}],children:l?(0,f.jsx)(n.VolumeX,{size:14,color:t?x.primaryForeground:x.foregroundSubtle}):(0,f.jsx)(r.default,{style:[h.dot,{backgroundColor:t?x.primaryForeground:x.foregroundSubtle}]})},e)})},t)),l[0]=x,l[1]=p,l[2]=y,l[3]=u,l[4]=C):C=l[4];l[5]!==C?(P=(0,f.jsx)(r.default,{style:h.grid,accessibilityRole:"radiogroup",children:C}),l[5]=C,l[6]=P):P=l[6];return P};var t=_r(d[0]);_r(d[1]);var r=e(_r(d[2])),o=e(_r(d[3])),l=e(_r(d[4])),n=_r(d[5]),s=_r(d[6]),c=_r(d[7]),u=_r(d[8]),f=_r(d[9]);const b=[['top-left','top-center','top-right'],['left-center','off','right-center'],['bottom-left','bottom-center','bottom-right']];const h=l.default.create({grid:{gap:u.SPACING.xs,alignSelf:'flex-start',paddingTop:u.SPACING.xs},row:{flexDirection:'row',gap:u.SPACING.xs},cell:{width:34,height:34,borderWidth:1,borderRadius:u.RADIUS.md,alignItems:'center',justifyContent:'center'},dot:{width:8,height:8,borderRadius:4}})},3489,[15,17,20,252,33,813,786,2587,2589,10]);
|
|
15911
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportModal=function(e){const f=(0,t.c)(182),{t:V}=(0,x.useTranslation)(),{colors:L}=(0,v.useTheme)(),[H,U]=(0,o.useState)(k),[q,O]=(0,o.useState)(1),[X,$]=(0,o.useState)(!1),[J,K]=(0,o.useState)(2e3),[Q,Y]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(T),[te,oe]=(0,o.useState)(!1),[le,re]=(0,o.useState)(null),ne=e.anchorEpoch,se=ne-H,{data:ie}=(0,y.useRecordingProfiles)(e.deviceId,se,ne,e.visible);let de;f[0]!==ie?(de=void 0===ie?[]:ie,f[0]=ie,f[1]=de):de=f[1];const ae=de,ce=le??ae[0]??null,ue=(0,C.useCreateExport)();let fe;f[2]!==q||f[3]!==X?(fe=N(X,q),f[2]=q,f[3]=X,f[4]=fe):fe=f[4];const pe=fe,xe=null===ce||ue.isPending;let ge;f[5]!==J||f[6]!==pe||f[7]!==ue||f[8]!==te||f[9]!==ce||f[10]!==se||f[11]!==Q||f[12]!==Z||f[13]!==e||f[14]!==q||f[15]!==V||f[16]!==X||f[17]!==ne?(ge=async()=>{if(null===ce)return;const t=X?{timelapse:{everyMs:J,outputFps:G},includeAudio:!1,maxLifeMs:Z,deleteAfterDownload:te}:{speed:q,includeAudio:pe&&Q,maxLifeMs:Z,deleteAfterDownload:te};try{await ue.mutateAsync({deviceId:e.deviceId,profile:ce,fromMs:se,toMs:ne,options:t}),e.onCreated()}catch(e){const t=e;p.default.alert(V("v2.exports.title"),t instanceof Error?t.message:V("v2.exports.createFailed"))}},f[5]=J,f[6]=pe,f[7]=ue,f[8]=te,f[9]=ce,f[10]=se,f[11]=Q,f[12]=Z,f[13]=e,f[14]=q,f[15]=V,f[16]=X,f[17]=ne,f[18]=ge):ge=f[18];const be=ge;let ve,he,Se,me;f[19]!==V?(ve=V("v2.exports.life24h"),f[19]=V,f[20]=ve):ve=f[20];f[21]!==V?(he=V("v2.exports.life7d"),f[21]=V,f[22]=he):he=f[22];f[23]!==V?(Se=V("v2.exports.life30d"),f[23]=V,f[24]=Se):Se=f[24];f[25]!==ve||f[26]!==he||f[27]!==Se?(me={[D[0]]:ve,[D[1]]:he,[D[2]]:Se},f[25]=ve,f[26]=he,f[27]=Se,f[28]=me):me=f[28];const je=me,ye=e.visible,Ce=e.onClose;let Ie,we,Ae,Pe,Me,Re,De,ke,Te,Ge,Ne,ze,Fe,We,Be;f[29]!==L.background?(Ie={flex:1,backgroundColor:L.background},f[29]=L.background,f[30]=Ie):Ie=f[30];f[31]!==L.border?(we=[E.header,{borderBottomColor:L.border}],f[31]=L.border,f[32]=we):we=f[32];f[33]!==L.foreground?(Ae={color:L.foreground,fontSize:17,fontWeight:"700"},f[33]=L.foreground,f[34]=Ae):Ae=f[34];f[35]!==V?(Pe=V("v2.exports.title"),f[35]=V,f[36]=Pe):Pe=f[36];f[37]!==Ae||f[38]!==Pe?(Me=(0,A.jsx)(s.default,{style:Ae,children:Pe}),f[37]=Ae,f[38]=Pe,f[39]=Me):Me=f[39];f[40]!==L.foregroundMuted?(Re=(0,A.jsx)(b.X,{size:22,color:L.foregroundMuted}),f[40]=L.foregroundMuted,f[41]=Re):Re=f[41];f[42]!==e.onClose||f[43]!==Re?(De=(0,A.jsx)(c.default,{accessibilityRole:"button",onPress:e.onClose,hitSlop:8,children:Re}),f[42]=e.onClose,f[43]=Re,f[44]=De):De=f[44];f[45]!==we||f[46]!==Me||f[47]!==De?(ke=(0,A.jsxs)(n.default,{style:we,children:[Me,De]}),f[45]=we,f[46]=Me,f[47]=De,f[48]=ke):ke=f[48];f[49]===Symbol.for("react.memo_cache_sentinel")?(Te={padding:h.SPACING.xl,gap:h.SPACING["2xl"],paddingBottom:h.SPACING["3xl"]},f[49]=Te):Te=f[49];f[50]!==V?(Ge=V("v2.exports.range"),f[50]=V,f[51]=Ge):Ge=f[51];f[52]===Symbol.for("react.memo_cache_sentinel")?(Ne=P.map(W),f[52]=Ne):Ne=f[52];f[53]!==H?(ze=(0,A.jsx)(B,{options:Ne,value:H,onChange:U}),f[53]=H,f[54]=ze):ze=f[54];f[55]!==L.foregroundMuted?(Fe=[E.rangeText,{color:L.foregroundMuted}],f[55]=L.foregroundMuted,f[56]=Fe):Fe=f[56];f[57]!==se||f[58]!==ne?(We=(0,I.rangeLabel)(se,ne),f[57]=se,f[58]=ne,f[59]=We):We=f[59];f[60]!==Fe||f[61]!==We?(Be=(0,A.jsx)(s.default,{style:Fe,children:We}),f[60]=Fe,f[61]=We,f[62]=Be):Be=f[62];const Ee=e.deviceId;let Ve,Le;f[63]!==V?(Ve=V("v2.exports.rangeStart"),f[63]=V,f[64]=Ve):Ve=f[64];f[65]!==se||f[66]!==e.deviceId||f[67]!==Ve?(Le=(0,A.jsx)(w.ExportFramePreview,{deviceId:Ee,atMs:se,caption:Ve}),f[65]=se,f[66]=e.deviceId,f[67]=Ve,f[68]=Le):Le=f[68];const He=e.deviceId;let Ue,qe,Oe,Xe,$e,Je,Ke,Qe,Ye,Ze;f[69]!==V?(Ue=V("v2.exports.rangeEnd"),f[69]=V,f[70]=Ue):Ue=f[70];f[71]!==e.deviceId||f[72]!==Ue||f[73]!==ne?(qe=(0,A.jsx)(w.ExportFramePreview,{deviceId:He,atMs:ne,caption:Ue}),f[71]=e.deviceId,f[72]=Ue,f[73]=ne,f[74]=qe):qe=f[74];f[75]!==Le||f[76]!==qe?(Oe=(0,A.jsxs)(n.default,{style:E.previewRow,children:[Le,qe]}),f[75]=Le,f[76]=qe,f[77]=Oe):Oe=f[77];f[78]!==ze||f[79]!==Be||f[80]!==Oe?(Xe=(0,A.jsxs)(n.default,{style:E.block,children:[ze,Be,Oe]}),f[78]=ze,f[79]=Be,f[80]=Oe,f[81]=Xe):Xe=f[81];f[82]!==Ge||f[83]!==Xe?($e=(0,A.jsx)(S.Section,{title:Ge,children:Xe}),f[82]=Ge,f[83]=Xe,f[84]=$e):$e=f[84];f[85]!==L.foregroundSubtle||f[86]!==ce||f[87]!==ae||f[88]!==V?(Je=ae.length>0?(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ae.map(F),value:ce,onChange:re})})}):(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(s.default,{style:{color:L.foregroundSubtle,fontSize:13},children:V("v2.exports.noFootage")})})}),f[85]=L.foregroundSubtle,f[86]=ce,f[87]=ae,f[88]=V,f[89]=Je):Je=f[89];f[90]!==V?(Ke=V("v2.exports.speed"),f[90]=V,f[91]=Ke):Ke=f[91];f[92]===Symbol.for("react.memo_cache_sentinel")?(Qe=M.map(z),f[92]=Qe):Qe=f[92];f[93]!==q||f[94]!==X?(Ye=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:Qe,value:q,onChange:O,disabled:X})}),f[93]=q,f[94]=X,f[95]=Ye):Ye=f[95];f[96]!==V?(Ze=V("v2.exports.timelapse"),f[96]=V,f[97]=Ze):Ze=f[97];const et=!X;let tt,ot,lt,rt,nt,st;f[98]!==Ze||f[99]!==et||f[100]!==X?(tt=(0,A.jsx)(j.ToggleRow,{label:Ze,value:X,onValueChange:$,last:et}),f[98]=Ze,f[99]=et,f[100]=X,f[101]=tt):tt=f[101];f[102]!==J||f[103]!==L.borderSubtle||f[104]!==L.foregroundMuted||f[105]!==V||f[106]!==X?(ot=X?(0,A.jsxs)(n.default,{style:[E.block,{borderTopWidth:1,borderTopColor:L.borderSubtle}],children:[(0,A.jsx)(s.default,{style:[E.subLabel,{color:L.foregroundMuted}],children:V("v2.exports.cadence")}),(0,A.jsx)(B,{options:R.map(_),value:J,onChange:K})]}):null,f[102]=J,f[103]=L.borderSubtle,f[104]=L.foregroundMuted,f[105]=V,f[106]=X,f[107]=ot):ot=f[107];f[108]!==Ke||f[109]!==Ye||f[110]!==tt||f[111]!==ot?(lt=(0,A.jsxs)(S.Section,{title:Ke,children:[Ye,tt,ot]}),f[108]=Ke,f[109]=Ye,f[110]=tt,f[111]=ot,f[112]=lt):lt=f[112];f[113]!==V?(rt=V("v2.exports.audio"),f[113]=V,f[114]=rt):rt=f[114];f[115]!==V?(nt=V("v2.exports.includeAudio"),f[115]=V,f[116]=nt):nt=f[116];f[117]!==pe||f[118]!==V?(st=pe?void 0:V("v2.exports.audioUnavailable"),f[117]=pe,f[118]=V,f[119]=st):st=f[119];const it=pe&&Q,dt=!pe;let at,ct,ut,ft,pt,xt,gt,bt,vt,ht;f[120]!==nt||f[121]!==st||f[122]!==it||f[123]!==dt?(at=(0,A.jsx)(j.ToggleRow,{label:nt,description:st,value:it,onValueChange:Y,disabled:dt,last:!0}),f[120]=nt,f[121]=st,f[122]=it,f[123]=dt,f[124]=at):at=f[124];f[125]!==rt||f[126]!==at?(ct=(0,A.jsx)(S.Section,{title:rt,children:at}),f[125]=rt,f[126]=at,f[127]=ct):ct=f[127];f[128]!==V?(ut=V("v2.exports.retention"),f[128]=V,f[129]=ut):ut=f[129];f[130]!==je?(ft=D.map(e=>({value:e,label:je[e]})),f[130]=je,f[131]=ft):ft=f[131];f[132]!==Z||f[133]!==ft?(pt=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ft,value:Z,onChange:ee})}),f[132]=Z,f[133]=ft,f[134]=pt):pt=f[134];f[135]!==V?(xt=V("v2.exports.deleteAfterDownload"),f[135]=V,f[136]=xt):xt=f[136];f[137]!==V?(gt=V("v2.exports.deleteAfterDownloadHint"),f[137]=V,f[138]=gt):gt=f[138];f[139]!==te||f[140]!==xt||f[141]!==gt?(bt=(0,A.jsx)(j.ToggleRow,{label:xt,description:gt,value:te,onValueChange:oe,last:!0}),f[139]=te,f[140]=xt,f[141]=gt,f[142]=bt):bt=f[142];f[143]!==ut||f[144]!==pt||f[145]!==bt?(vt=(0,A.jsxs)(S.Section,{title:ut,children:[pt,bt]}),f[143]=ut,f[144]=pt,f[145]=bt,f[146]=vt):vt=f[146];f[147]!==be?(ht=()=>{be()},f[147]=be,f[148]=ht):ht=f[148];const St=xe?L.surfaceHover:L.primary;let mt;f[149]!==St?(mt=[E.exportBtn,{backgroundColor:St}],f[149]=St,f[150]=mt):mt=f[150];const jt=xe?L.foregroundDisabled:L.primaryForeground;let yt;f[151]!==jt?(yt=(0,A.jsx)(b.Download,{size:18,color:jt}),f[151]=jt,f[152]=yt):yt=f[152];const Ct=xe?L.foregroundDisabled:L.primaryForeground;let It,wt,At,Pt,Mt,Rt,Dt;f[153]!==Ct?(It=[E.exportBtnText,{color:Ct}],f[153]=Ct,f[154]=It):It=f[154];f[155]!==ue.isPending||f[156]!==V?(wt=ue.isPending?V("v2.exports.creating"):V("v2.exports.createAction"),f[155]=ue.isPending,f[156]=V,f[157]=wt):wt=f[157];f[158]!==It||f[159]!==wt?(At=(0,A.jsx)(s.default,{style:It,children:wt}),f[158]=It,f[159]=wt,f[160]=At):At=f[160];f[161]!==xe||f[162]!==ht||f[163]!==mt||f[164]!==yt||f[165]!==At?(Pt=(0,A.jsxs)(c.default,{accessibilityRole:"button",disabled:xe,onPress:ht,style:mt,children:[yt,At]}),f[161]=xe,f[162]=ht,f[163]=mt,f[164]=yt,f[165]=At,f[166]=Pt):Pt=f[166];f[167]!==$e||f[168]!==Je||f[169]!==lt||f[170]!==ct||f[171]!==vt||f[172]!==Pt?(Mt=(0,A.jsxs)(u.default,{contentContainerStyle:Te,children:[$e,Je,lt,ct,vt,Pt]}),f[167]=$e,f[168]=Je,f[169]=lt,f[170]=ct,f[171]=vt,f[172]=Pt,f[173]=Mt):Mt=f[173];f[174]!==Ie||f[175]!==ke||f[176]!==Mt?(Rt=(0,A.jsxs)(n.default,{style:Ie,children:[ke,Mt]}),f[174]=Ie,f[175]=ke,f[176]=Mt,f[177]=Rt):Rt=f[177];f[178]!==e.onClose||f[179]!==e.visible||f[180]!==Rt?(Dt=(0,A.jsx)(l.default,{visible:ye,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:Ce,children:Rt}),f[178]=e.onClose,f[179]=e.visible,f[180]=Rt,f[181]=Dt):Dt=f[181];return Dt};var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),p=e(r(d[8])),x=r(d[9]),b=r(d[10]),v=r(d[11]),h=r(d[12]),S=r(d[13]),j=r(d[14]),y=r(d[15]),C=r(d[16]),I=r(d[17]),w=r(d[18]),A=r(d[19]);const P=[6e4,3e5,9e5,18e5,36e5],M=[.25,.5,1,2,4,8],R=[1e3,2e3,5e3,1e4],D=[864e5,6048e5,2592e6],k=3e5,T=6048e5,G=30;function N(e,t){return!e&&t>=.5&&t<=2}function _(e){return{value:e,label:(0,I.formatDuration)(e)}}function z(e){return{value:e,label:`${e}\xd7`}}function F(e){return{value:e,label:e}}function W(e){return{value:e,label:(0,I.formatDuration)(e)}}function B(e){const o=(0,t.c)(13),{options:l,value:u,onChange:f,disabled:p}=e,x=void 0!==p&&p,{colors:b}=(0,v.useTheme)();let h,S;if(o[0]!==b||o[1]!==x||o[2]!==f||o[3]!==l||o[4]!==u){let e;o[6]!==b||o[7]!==x||o[8]!==f||o[9]!==u?(e=e=>{const t=e.value===u;return(0,A.jsx)(c.default,{accessibilityRole:"button",accessibilityState:{selected:t,disabled:x},disabled:x,onPress:()=>f(e.value),style:[E.chip,{backgroundColor:t?b.primary:b.background,borderColor:t?b.primary:b.border,opacity:x?.4:1}],children:(0,A.jsx)(s.default,{style:{color:t?b.primaryForeground:b.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:e.label})},String(e.value))},o[6]=b,o[7]=x,o[8]=f,o[9]=u,o[10]=e):e=o[10],h=l.map(e),o[0]=b,o[1]=x,o[2]=f,o[3]=l,o[4]=u,o[5]=h}else h=o[5];return o[11]!==h?(S=(0,A.jsx)(n.default,{style:E.chipRow,children:h}),o[11]=h,o[12]=S):S=o[12],S}const E=f.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:h.SPACING.xl,borderBottomWidth:1},block:{padding:h.SPACING.xl,gap:h.SPACING.md},subLabel:{fontSize:13,fontWeight:'500'},rangeText:{fontSize:13,fontVariant:['tabular-nums']},previewRow:{flexDirection:'row',gap:h.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:h.SPACING.md},chip:{paddingHorizontal:h.SPACING.lg,paddingVertical:h.SPACING.md,borderRadius:h.RADIUS.lg,borderWidth:1},exportBtn:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.lg,borderRadius:h.RADIUS.lg},exportBtnText:{fontSize:15,fontWeight:'700'}})},3490,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3174,3159,3491,3492,3493,10]);
|
|
15912
|
+
__d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.toExportRecord=y,_e.isExportActive=v,_e.useExportsList=function(t){const u=(0,e.c)(9),{controller:l,state:p}=(0,n.useConnection)(),f=t??"all";let y;u[0]!==f?(y=[...c,"list",f],u[0]=f,u[1]=y):y=u[1];const v="connected"===p;let E,w;u[2]!==l||u[3]!==t?(E=async()=>{const e=l.getSystem();if(!e)return[];const r=void 0!==t?{deviceId:t}:{},n=x(await(0,o.capQuery)(e.trpcClient,"recordingExport","listExports",r));return s.log.info("exports","listExports",{deviceId:t??null,count:n.length}),n},u[2]=l,u[3]=t,u[4]=E):E=u[4];u[5]!==y||u[6]!==v||u[7]!==E?(w={queryKey:y,enabled:v,staleTime:5e3,refetchInterval:b,queryFn:E},u[5]=y,u[6]=v,u[7]=E,u[8]=w):w=u[8];return(0,r.useQuery)(w)},_e.useExport=function(t,s){const u=(0,e.c)(9),l=void 0===s||s,{controller:p,state:f}=(0,n.useConnection)(),x=t??"";let v;u[0]!==x?(v=[...c,"one",x],u[0]=x,u[1]=v):v=u[1];const E=l&&null!==t&&"connected"===f;let b,A;u[2]!==p||u[3]!==t?(b=async()=>{const e=p.getSystem();if(!e||null===t)return null;return y(await(0,o.capQuery)(e.trpcClient,"recordingExport","getExport",{exportId:t}))},u[2]=p,u[3]=t,u[4]=b):b=u[4];u[5]!==v||u[6]!==E||u[7]!==b?(A={queryKey:v,enabled:E,refetchInterval:w,queryFn:b},u[5]=v,u[6]=E,u[7]=b,u[8]=A):A=u[8];return(0,r.useQuery)(A)},_e.useCreateExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","createExport",Object.assign({},e)))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useCancelExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","cancelExport",{exportId:e}))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useDeleteExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","deleteExport",{exportId:e}))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useResolveDownloadUrl=function(){const t=(0,e.c)(2),{controller:r}=(0,n.useConnection)();let s;t[0]!==r?(s=async e=>{const t=r.getSystem();if(!t)return null;const n=await(0,o.capQuery)(t.trpcClient,"recordingExport","getDownloadUrl",{exportId:e});if(!(0,o.isRecord)(n)||"string"!=typeof n.url||0===n.url.length)return null;const s=n.url;if(s.startsWith("http://")||s.startsWith("https://"))return s;const c=t.serverUrl.replace(/\/$/,"");return s.startsWith("/")?`${c}${s}`:`${c}/${s}`},t[0]=r,t[1]=s):s=t[1];return s},_e.useExportEvents=function(){const s=(0,e.c)(6),{controller:u,state:l}=(0,n.useConnection)(),p=(0,r.useQueryClient)();let f;s[0]===Symbol.for("react.memo_cache_sentinel")?(f={},s[0]=f):f=s[0];const[y,x]=(0,t.useState)(f);let v,E;s[1]!==l||s[2]!==u||s[3]!==p?(v=()=>{if("connected"!==l)return;const e=u.getSystem();if(!e)return;const t=A,r=e=>r=>{const n=t(r);null!==n&&x(t=>Object.assign({},t,{[n]:{progressPct:null,state:e}})),p.invalidateQueries({queryKey:c})},n=[e.subscribeEvent("recording.export.progress",e=>{const r=t(e);if(null===r)return;const n=(0,o.isRecord)(e)&&"number"==typeof e.progressPct?e.progressPct:null;x(e=>Object.assign({},e,{[r]:{progressPct:n,state:"rendering"}}))}),e.subscribeEvent("recording.export.completed",r("ready")),e.subscribeEvent("recording.export.failed",r("failed"))];return()=>{for(const e of n)e();x({})}},E=[u,l,p],s[1]=l,s[2]=u,s[3]=p,s[4]=v,s[5]=E):(v=s[4],E=s[5]);return(0,t.useEffect)(v,E),y};var e=_r(d[0]),t=_r(d[1]),r=_r(d[2]),n=_r(d[3]),o=_r(d[4]),s=_r(d[5]);const c=['v2','exports'],u=new Set(['queued','rendering','ready','failed','expired','deleted']);function l(e){return'string'==typeof e&&u.has(e)?e:'failed'}function p(e){return'number'==typeof e?e:null}function f(e){if((0,o.isRecord)(e)&&'number'==typeof e.everyMs)return{everyMs:e.everyMs,outputFps:'number'==typeof e.outputFps?e.outputFps:void 0}}function y(e){if(!(0,o.isRecord)(e))return null;const{id:t,deviceId:r,profile:n,fromMs:s,toMs:c}=e;return'string'!=typeof t||'number'!=typeof r?null:{id:t,deviceId:r,profile:'string'==typeof n?n:'unknown',fromMs:'number'==typeof s?s:0,toMs:'number'==typeof c?c:0,options:(u=e.options,(0,o.isRecord)(u)?{speed:'number'==typeof u.speed?u.speed:void 0,timelapse:f(u.timelapse),includeAudio:!0===u.includeAudio,maxLifeMs:'number'==typeof u.maxLifeMs?u.maxLifeMs:0,deleteAfterDownload:!0===u.deleteAfterDownload,title:'string'==typeof u.title?u.title:void 0}:{includeAudio:!1,maxLifeMs:0,deleteAfterDownload:!1}),state:l(e.state),progressPct:p(e.progressPct),fileBytes:p(e.fileBytes),expiresAt:'number'==typeof e.expiresAt?e.expiresAt:0,deleteAfterDownload:!0===e.deleteAfterDownload,downloadedAt:p(e.downloadedAt),createdAt:'number'==typeof e.createdAt?e.createdAt:0,createdBy:'string'==typeof e.createdBy?e.createdBy:'',error:'string'==typeof e.error?e.error:null};var u}function x(e){if(!Array.isArray(e))return[];const t=[];for(const r of e){const e=y(r);e&&t.push(e)}return t}function v(e){return'queued'===e.state||'rendering'===e.state}const E=2e3;function b(e){return!!(e.state.data??[]).some(v)&&E}function w(e){const t=e.state.data;return!(!t||!v(t))&&E}function A(e){return(0,o.isRecord)(e)?"string"==typeof e.exportId?e.exportId:"string"==typeof e.id?e.id:null:null}},3491,[15,17,3081,2594,3162,2705]);
|
|
15913
|
+
__d(function(g,r,i,a,_m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.formatBytes=function(t){if(null===t||t<=0)return'\u2014';const n=['B','KB','MB','GB','TB'];let o=t,s=0;for(;o>=1024&&s<n.length-1;)o/=1024,s+=1;return`${o>=100||0===s?Math.round(o):o.toFixed(1)} ${n[s]}`},e.formatDuration=s,e.rangeLabel=function(t,n){const o=new Date(t).toLocaleDateString(void 0,{day:'numeric',month:'short'}),c=new Date(t).toDateString()===new Date(n).toDateString()?u(n):`${new Date(n).toLocaleDateString(void 0,{day:'numeric',month:'short'})} ${u(n)}`;return`${o}, ${u(t)} \u2192 ${c} (${s(n-t)})`},e.variantLabel=function(t,n){let o;if(void 0!==t.timelapse)o=n('v2.exports.variantTimelapse');else{const s=t.speed??1;o=1===s?n('v2.exports.variantRegular'):n(s>1?'v2.exports.variantAccelerated':'v2.exports.variantSlow',{speed:s})}return void 0===t.timelapse&&t.includeAudio?`${o} \xb7 ${n('v2.exports.withAudio')}`:o},e.expiryLabel=function(s,u,c){const l=s-u;return l<=0?c('v2.exports.expired'):l>=o?c('v2.exports.expiresInDays',{count:Math.floor(l/o)}):l>=n?c('v2.exports.expiresInHours',{count:Math.floor(l/n)}):c('v2.exports.expiresInMinutes',{count:Math.max(1,Math.floor(l/t))})},e.stateLabel=function(t,n){return n(`v2.exports.state.${t}`)},e.effectiveProgress=function(t,n){return'rendering'!==t.state&&'queued'!==t.state?null:'number'==typeof n?Math.max(0,Math.min(100,n)):'number'==typeof t.progressPct?Math.max(0,Math.min(100,t.progressPct)):null};const t=6e4,n=36e5,o=864e5;function s(t){if(t<=0)return'0s';const n=Math.round(t/1e3),o=Math.floor(n/3600),s=Math.floor(n%3600/60),u=n%60;return o>0?`${o}h ${String(s).padStart(2,'0')}m`:s>0?`${s}m ${String(u).padStart(2,'0')}s`:`${u}s`}function u(t){return new Date(t).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'})}},3492,[]);
|
|
15914
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportFramePreview=function(e){const l=(0,t.c)(32),{deviceId:y,atMs:j,caption:p}=e,{colors:w}=(0,b.useTheme)(),{token:_}=(0,f.useServer)(),[I,M]=(0,o.useState)(0),W=(0,h.useScrubThumbnail)(y,j);let C;l[0]!==_?(C=_?{Authorization:`Bearer ${_}`}:void 0,l[0]=_,l[1]=C):C=l[1];const H=C,z=null!==W&&I>0?I/W.thumb.tileWidth:0,L=null!==W?W.thumb.tileHeight*z:0;let O,P,k,A,R,T,U,D,E,F;l[2]!==w.foregroundMuted?(O=[x.caption,{color:w.foregroundMuted}],l[2]=w.foregroundMuted,l[3]=O):O=l[3];l[4]!==p||l[5]!==O?(P=(0,S.jsx)(u.default,{style:O,numberOfLines:1,children:p}),l[4]=p,l[5]=O,l[6]=P):P=l[6];l[7]!==w.border||l[8]!==w.surfaceHover?(k=[x.frame,{backgroundColor:w.surfaceHover,borderColor:w.border}],l[7]=w.border,l[8]=w.surfaceHover,l[9]=k):k=l[9];l[10]===Symbol.for("react.memo_cache_sentinel")?(A=e=>{const t=Math.round(e.nativeEvent.layout.width);M(e=>e===t?e:t)},l[10]=A):A=l[10];l[11]!==I||l[12]!==w.foregroundSubtle||l[13]!==H||l[14]!==W||l[15]!==z||l[16]!==L?(R=null!==W&&I>0?(0,S.jsx)(n.default,{style:[x.tileWindow,{width:I,height:L}],children:(0,S.jsx)(s.Image,{source:H?{uri:W.sheetUrl,headers:H}:{uri:W.sheetUrl},style:{position:"absolute",width:W.thumb.sheetWidth*z,height:W.thumb.sheetHeight*z,left:-W.thumb.x*z,top:-W.thumb.y*z},contentFit:"fill",cachePolicy:"memory-disk"})}):(0,S.jsx)(n.default,{style:x.placeholder,children:(0,S.jsx)(c.ImageOff,{size:20,color:w.foregroundSubtle})}),l[11]=I,l[12]=w.foregroundSubtle,l[13]=H,l[14]=W,l[15]=z,l[16]=L,l[17]=R):R=l[17];l[18]!==k||l[19]!==R?(T=(0,S.jsx)(n.default,{style:k,onLayout:A,children:R}),l[18]=k,l[19]=R,l[20]=T):T=l[20];l[21]!==w.foregroundSubtle?(U=[x.time,{color:w.foregroundSubtle}],l[21]=w.foregroundSubtle,l[22]=U):U=l[22];l[23]!==j?(D=v(j),l[23]=j,l[24]=D):D=l[24];l[25]!==U||l[26]!==D?(E=(0,S.jsx)(u.default,{style:U,numberOfLines:1,children:D}),l[25]=U,l[26]=D,l[27]=E):E=l[27];l[28]!==E||l[29]!==P||l[30]!==T?(F=(0,S.jsxs)(n.default,{style:x.col,children:[P,T,E]}),l[28]=E,l[29]=P,l[30]=T,l[31]=F):F=l[31];return F};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),u=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),c=r(d[6]),f=r(d[7]),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]);function v(e){return new Date(e).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'})}const x=l.default.create({col:{flex:1,gap:y.SPACING.xs},caption:{fontSize:11,fontWeight:'600'},frame:{width:'100%',aspectRatio:1.7777777777777777,borderRadius:y.RADIUS.md,borderWidth:1,overflow:'hidden',alignItems:'center',justifyContent:'center'},tileWindow:{overflow:'hidden'},placeholder:{alignItems:'center',justifyContent:'center'},time:{fontSize:11,fontVariant:['tabular-nums']}})},3493,[15,17,20,112,33,3053,813,3144,3463,2587,2589,10]);
|
|
15915
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportActionsPanel=function(e){const t=(0,o.c)(24),{onSnapshot:n,snapshotBusy:s,onOpenExport:l,onClose:f,topOffset:b,align:j,maxWidth:v}=e,{t:P}=(0,u.useTranslation)();let y,M,S,A,_,C,w;t[0]!==P?(y=P("v2.exportActions.title"),t[0]=P,t[1]=y):y=t[1];t[2]!==P?(M=P("v2.cameraDetail.close"),t[2]=P,t[3]=M):M=t[3];t[4]!==P?(S=P("v2.cameraDetail.snapshot"),t[4]=P,t[5]=S):S=t[5];t[6]!==n||t[7]!==s||t[8]!==S?(A=(0,p.jsx)(h,{icon:c.Aperture,label:S,busy:s,onPress:n}),t[6]=n,t[7]=s,t[8]=S,t[9]=A):A=t[9];t[10]!==P?(_=P("v2.exportActions.recordingExport"),t[10]=P,t[11]=_):_=t[11];t[12]!==l||t[13]!==_?(C=(0,p.jsx)(h,{icon:c.Download,label:_,onPress:l}),t[12]=l,t[13]=_,t[14]=C):C=t[14];t[15]!==j||t[16]!==v||t[17]!==f||t[18]!==y||t[19]!==M||t[20]!==A||t[21]!==C||t[22]!==b?(w=(0,p.jsxs)(x.FloatingPanel,{title:y,onClose:f,closeLabel:M,topOffset:b,align:j,maxWidth:v,children:[A,C]}),t[15]=j,t[16]=v,t[17]=f,t[18]=y,t[19]=M,t[20]=A,t[21]=C,t[22]=b,t[23]=w):w=t[23];return w};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]),b=r(d[9]),x=r(d[10]),p=r(d[11]);function h(e){const s=(0,o.c)(19),{icon:u,label:b,busy:x,onPress:h}=e,v=void 0!==x&&x,{colors:P}=(0,f.useTheme)();let y,M,S,A,_;return s[0]!==u||s[1]!==P.foregroundMuted?(y=(0,p.jsx)(u,{size:18,color:P.foregroundMuted}),s[0]=u,s[1]=P.foregroundMuted,s[2]=y):y=s[2],s[3]!==P.foreground?(M=[j.actionLabel,{color:P.foreground}],s[3]=P.foreground,s[4]=M):M=s[4],s[5]!==b||s[6]!==M?(S=(0,p.jsx)(t.default,{style:M,children:b}),s[5]=b,s[6]=M,s[7]=S):S=s[7],s[8]!==v||s[9]!==P.foregroundMuted||s[10]!==P.foregroundSubtle?(A=v?(0,p.jsx)(l.default,{size:"small",color:P.foregroundMuted}):(0,p.jsx)(c.ChevronRight,{size:18,color:P.foregroundSubtle}),s[8]=v,s[9]=P.foregroundMuted,s[10]=P.foregroundSubtle,s[11]=A):A=s[11],s[12]!==v||s[13]!==b||s[14]!==h||s[15]!==y||s[16]!==S||s[17]!==A?(_=(0,p.jsxs)(n.default,{accessibilityRole:"button",accessibilityLabel:b,disabled:v,onPress:h,style:j.actionRow,children:[y,S,A]}),s[12]=v,s[13]=b,s[14]=h,s[15]=y,s[16]=S,s[17]=A,s[18]=_):_=s[18],_}const j=s.default.create({actionRow:{flexDirection:'row',alignItems:'center',gap:b.SPACING.md,paddingVertical:b.SPACING.sm},actionLabel:{flex:1,fontSize:14,fontWeight:'500'}})},3494,[15,17,112,252,33,240,786,813,2587,2589,3460,10]);
|
|
15916
|
+
__d(function(g,_r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StorageManagementModal=function(e){const i=(0,t.c)(110),{visible:B,deviceId:j,cameraName:w,onClose:P}=e,{t:A}=(0,u.useTranslation)(),{colors:I}=(0,y.useTheme)(),[R,D]=(0,o.useState)(k[0].key),M=(0,h.useStorageUsage)(B),T=(0,h.usePruneFootage)(),N=(0,h.useDeleteFootprint)(),G=T.isPending||N.isPending;let _;i[0]!==j||i[1]!==M.data?.devices?(_=M.data?.devices.find(e=>e.deviceId===j),i[0]=j,i[1]=M.data?.devices,i[2]=_):_=i[2];const L=_,F=L?.usedBytes??0;let U;i[3]!==R?(U=k.find(e=>e.key===R)??k[0],i[3]=R,i[4]=U):U=i[4];const V=U;let W;i[5]!==w||i[6]!==j||i[7]!==T||i[8]!==A?(W=()=>{c.default.alert(A("v2.storage.pruneConfirmTitle","Apply retention?"),A("v2.storage.pruneConfirmBody",{defaultValue:"Delete footage on {{name}} that exceeds its retention policy.",name:w}),[{text:A("v2.storage.cancel","Cancel"),style:"cancel"},{text:A("v2.storage.pruneAction","Apply"),onPress:()=>{T.mutate({deviceId:j,reason:"manual"},{onSuccess:e=>c.default.alert(A("v2.storage.title","Storage"),A("v2.storage.pruneResult",{defaultValue:"Reclaimed {{bytes}} ({{buckets}} segments).",bytes:(0,x.formatBytes)(e?.reclaimedBytes??0),buckets:e?.deletedBuckets??0})),onError:e=>c.default.alert(A("v2.storage.title","Storage"),e.message)})}}])},i[5]=w,i[6]=j,i[7]=T,i[8]=A,i[9]=W):W=i[9];const z=W;let $;i[10]!==w||i[11]!==N||i[12]!==j||i[13]!==V||i[14]!==A?($=()=>{const e=Date.now(),t=null===V.ms?{deviceId:j}:{deviceId:j,fromMs:e-V.ms,toMs:e};c.default.alert(A("v2.storage.deleteConfirmTitle","Delete footage?"),A("v2.storage.deleteConfirmBody",{defaultValue:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",range:A(`v2.storage.${V.key}`),name:w}),[{text:A("v2.storage.cancel","Cancel"),style:"cancel"},{text:A("v2.storage.deleteAction","Delete"),style:"destructive",onPress:()=>{N.mutate(t,{onSuccess:e=>c.default.alert(A("v2.storage.title","Storage"),A("v2.storage.deleteResult",{defaultValue:"Reclaimed {{bytes}} ({{buckets}} segments).",bytes:(0,x.formatBytes)(e?.reclaimedBytes??0),buckets:e?.deletedBuckets??0})),onError:e=>c.default.alert(A("v2.storage.title","Storage"),e.message)})}}])},i[10]=w,i[11]=N,i[12]=j,i[13]=V,i[14]=A,i[15]=$):$=i[15];const E=$;let H,q,O,X,J,K,Q,Y,Z,ee,te,oe,ae,le,re,se,ne,de,ie,ce;i[16]!==I.background?(H={flex:1,backgroundColor:I.background},i[16]=I.background,i[17]=H):H=i[17];i[18]!==I.border?(q=[C.header,{borderBottomColor:I.border}],i[18]=I.border,i[19]=q):q=i[19];i[20]!==I.foreground?(O={color:I.foreground,fontSize:17,fontWeight:"700"},i[20]=I.foreground,i[21]=O):O=i[21];i[22]!==A?(X=A("v2.storage.title","Storage"),i[22]=A,i[23]=X):X=i[23];i[24]!==O||i[25]!==X?(J=(0,S.jsx)(s.default,{style:O,children:X}),i[24]=O,i[25]=X,i[26]=J):J=i[26];i[27]!==I.foregroundMuted?(K=(0,S.jsx)(f.X,{size:22,color:I.foregroundMuted}),i[27]=I.foregroundMuted,i[28]=K):K=i[28];i[29]!==P||i[30]!==K?(Q=(0,S.jsx)(n.default,{accessibilityRole:"button",onPress:P,hitSlop:8,children:K}),i[29]=P,i[30]=K,i[31]=Q):Q=i[31];i[32]!==Q||i[33]!==q||i[34]!==J?(Y=(0,S.jsxs)(r.default,{style:q,children:[J,Q]}),i[32]=Q,i[33]=q,i[34]=J,i[35]=Y):Y=i[35];i[36]===Symbol.for("react.memo_cache_sentinel")?(Z={padding:b.SPACING.xl,gap:b.SPACING["2xl"],paddingBottom:b.SPACING["3xl"]},i[36]=Z):Z=i[36];i[37]!==A?(ee=A("v2.storage.usageTitle","Usage"),i[37]=A,i[38]=ee):ee=i[38];i[39]!==F||i[40]!==M.isLoading?(te=M.isLoading?"\u2026":(0,x.formatBytes)(F),i[39]=F,i[40]=M.isLoading,i[41]=te):te=i[41];i[42]!==w||i[43]!==te?(oe=(0,S.jsx)(p.Row,{label:w,value:te,icon:f.HardDrive}),i[42]=w,i[43]=te,i[44]=oe):oe=i[44];i[45]!==A?(ae=A("v2.storage.nodeTotal","Node total"),i[45]=A,i[46]=ae):ae=i[46];i[47]!==M.data?.totalUsedBytes||i[48]!==M.isLoading?(le=M.isLoading?"\u2026":(0,x.formatBytes)(M.data?.totalUsedBytes??0),i[47]=M.data?.totalUsedBytes,i[48]=M.isLoading,i[49]=le):le=i[49];i[50]!==ae||i[51]!==le?(re=(0,S.jsx)(p.Row,{label:ae,value:le}),i[50]=ae,i[51]=le,i[52]=re):re=i[52];i[53]!==M.data?.locations?(se=M.data?.locations??[],i[53]=M.data?.locations,i[54]=se):se=i[54];if(i[55]!==A||i[56]!==se||i[57]!==M.data?.locations){let e;i[59]!==A||i[60]!==M.data?.locations?(e=(e,t)=>(0,S.jsx)(p.Row,{label:e.locationId??A("v2.storage.defaultLocation","Default location"),value:null!==e.availableBytes?A("v2.storage.locationFree",{defaultValue:"{{free}} free",free:(0,x.formatBytes)(e.availableBytes)}):(0,x.formatBytes)(e.usedBytes),last:t===(M.data?.locations.length??0)-1},e.locationId??`loc-${t}`),i[59]=A,i[60]=M.data?.locations,i[61]=e):e=i[61],ne=se.map(e),i[55]=A,i[56]=se,i[57]=M.data?.locations,i[58]=ne}else ne=i[58];i[62]!==ee||i[63]!==oe||i[64]!==re||i[65]!==ne?(de=(0,S.jsxs)(v.Section,{title:ee,children:[oe,re,ne]}),i[62]=ee,i[63]=oe,i[64]=re,i[65]=ne,i[66]=de):de=i[66];i[67]!==A?(ie=A("v2.storage.retentionTitle","Retention"),i[67]=A,i[68]=ie):ie=i[68];i[69]!==A?(ce=A("v2.storage.pruneAction","Apply retention now"),i[69]=A,i[70]=ce):ce=i[70];const ue=G?void 0:z;let ge,fe,ye,me,be,ve;i[71]!==ce||i[72]!==ue?(ge=(0,S.jsx)(p.Row,{label:ce,icon:f.Timer,onPress:ue,last:!0}),i[71]=ce,i[72]=ue,i[73]=ge):ge=i[73];i[74]!==ie||i[75]!==ge?(fe=(0,S.jsx)(v.Section,{title:ie,children:ge}),i[74]=ie,i[75]=ge,i[76]=fe):fe=i[76];i[77]!==A?(ye=A("v2.storage.deleteTitle","Delete footage"),i[77]=A,i[78]=ye):ye=i[78];i[79]!==I.background||i[80]!==I.border||i[81]!==I.foregroundMuted||i[82]!==I.primary||i[83]!==I.primaryForeground||i[84]!==A||i[85]!==R?(me=k.map(e=>{const t=e.key===R;return(0,S.jsx)(n.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>D(e.key),style:[C.chip,{backgroundColor:t?I.primary:I.background,borderColor:t?I.primary:I.border}],children:(0,S.jsx)(s.default,{style:{color:t?I.primaryForeground:I.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:A(`v2.storage.${e.key}`)})},e.key)}),i[79]=I.background,i[80]=I.border,i[81]=I.foregroundMuted,i[82]=I.primary,i[83]=I.primaryForeground,i[84]=A,i[85]=R,i[86]=me):me=i[86];i[87]!==me?(be=(0,S.jsx)(r.default,{style:C.block,children:(0,S.jsx)(r.default,{style:C.chipRow,children:me})}),i[87]=me,i[88]=be):be=i[88];i[89]!==A?(ve=A("v2.storage.deleteAction","Delete"),i[89]=A,i[90]=ve):ve=i[90];const pe=G?void 0:E;let xe,he,Se,ke,Ce;i[91]!==ve||i[92]!==pe?(xe=(0,S.jsx)(p.Row,{label:ve,icon:f.Trash2,danger:!0,onPress:pe,last:!0}),i[91]=ve,i[92]=pe,i[93]=xe):xe=i[93];i[94]!==ye||i[95]!==be||i[96]!==xe?(he=(0,S.jsxs)(v.Section,{title:ye,children:[be,xe]}),i[94]=ye,i[95]=be,i[96]=xe,i[97]=he):he=i[97];i[98]!==de||i[99]!==fe||i[100]!==he?(Se=(0,S.jsxs)(d.default,{contentContainerStyle:Z,children:[de,fe,he]}),i[98]=de,i[99]=fe,i[100]=he,i[101]=Se):Se=i[101];i[102]!==Y||i[103]!==Se||i[104]!==H?(ke=(0,S.jsxs)(r.default,{style:H,children:[Y,Se]}),i[102]=Y,i[103]=Se,i[104]=H,i[105]=ke):ke=i[105];i[106]!==P||i[107]!==ke||i[108]!==B?(Ce=(0,S.jsx)(l.default,{visible:B,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:P,children:ke}),i[106]=P,i[107]=ke,i[108]=B,i[109]=Ce):Ce=i[109];return Ce};var t=_r(_d[0]),o=_r(_d[1]),l=e(_r(_d[2])),r=e(_r(_d[3])),s=e(_r(_d[4])),n=e(_r(_d[5])),d=e(_r(_d[6])),i=e(_r(_d[7])),c=e(_r(_d[8])),u=_r(_d[9]),f=_r(_d[10]),y=_r(_d[11]),b=_r(_d[12]),v=_r(_d[13]),p=_r(_d[14]),x=_r(_d[15]),h=_r(_d[16]),S=_r(_d[17]);const k=[{key:'window24h',ms:864e5},{key:'window7d',ms:6048e5},{key:'window30d',ms:2592e6},{key:'windowAll',ms:null}];const C=i.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:b.SPACING.xl,borderBottomWidth:1},block:{padding:b.SPACING.xl,gap:b.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:b.SPACING.md},chip:{paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:b.RADIUS.lg,borderWidth:1}})},3495,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3417,3492,3496,10]);
|
|
15917
|
+
__d(function(g,r,i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useStorageUsage=function(u){const d=(0,t.c)(5),y=void 0===u||u,{controller:v,state:p}=(0,o.useConnection)(),B=y&&"connected"===p;let w,I;d[0]!==v?(w=async()=>{const t=v.getSystem();if(!t)return null;const n=l(await(0,s.capQuery)(t.trpcClient,"recording","getStorageUsage",{}));return c.log.info("storage","getStorageUsage",{devices:n?.devices.length??0}),n},d[0]=v,d[1]=w):w=d[1];d[2]!==B||d[3]!==w?(I={queryKey:f,enabled:B,staleTime:1e4,queryFn:w},d[2]=B,d[3]=w,d[4]=I):I=d[4];return(0,n.useQuery)(I)},e.usePruneFootage=function(){const c=(0,t.c)(7),{controller:l}=(0,o.useConnection)(),y=(0,n.useQueryClient)();let v,p,B;c[0]!==l?(v=async t=>{const{deviceId:n,reason:o}=t,c=l.getSystem();if(!c)throw new Error("not connected");const y={deviceId:n};void 0!==o&&(y.reason=o);const v=await(0,s.capMutate)(c.trpcClient,"recording","pruneFootage",y);return(0,s.isRecord)(v)?{floorMs:d(v.floorMs),deletedBuckets:u(v.deletedBuckets),reclaimedBytes:u(v.reclaimedBytes)}:null},c[0]=l,c[1]=v):v=c[1];c[2]!==y?(p=()=>{y.invalidateQueries({queryKey:f})},c[2]=y,c[3]=p):p=c[3];c[4]!==v||c[5]!==p?(B={mutationFn:v,onSuccess:p},c[4]=v,c[5]=p,c[6]=B):B=c[6];return(0,n.useMutation)(B)},e.useDeleteFootprint=function(){const c=(0,t.c)(7),{controller:d}=(0,o.useConnection)(),l=(0,n.useQueryClient)();let y,v,p;c[0]!==d?(y=async t=>{const{deviceId:n,fromMs:o,toMs:c}=t,l=d.getSystem();if(!l)throw new Error("not connected");const y={deviceId:n};void 0!==o&&(y.fromMs=o),void 0!==c&&(y.toMs=c);const v=await(0,s.capMutate)(l.trpcClient,"recording","deleteFootprint",y);return(0,s.isRecord)(v)?{deletedBuckets:u(v.deletedBuckets),reclaimedBytes:u(v.reclaimedBytes)}:null},c[0]=d,c[1]=y):y=c[1];c[2]!==l?(v=()=>{l.invalidateQueries({queryKey:f})},c[2]=l,c[3]=v):v=c[3];c[4]!==y||c[5]!==v?(p={mutationFn:y,onSuccess:v},c[4]=y,c[5]=v,c[6]=p):p=c[6];return(0,n.useMutation)(p)},e.useEventStoreFootprint=function(u){const d=(0,t.c)(5),l=void 0===u||u,{controller:v,state:f}=(0,o.useConnection)(),B=l&&"connected"===f;let w,I;d[0]!==v?(w=async()=>{const t=v.getSystem();if(!t)return null;const n=y(await(0,s.capQuery)(t.trpcClient,"pipelineAnalytics","getEventStoreFootprint",{}));return c.log.info("events","getEventStoreFootprint",{devices:n?.devices.length??0}),n},d[0]=v,d[1]=w):w=d[1];d[2]!==B||d[3]!==w?(I={queryKey:p,enabled:B,staleTime:1e4,queryFn:w},d[2]=B,d[3]=w,d[4]=I):I=d[4];return(0,n.useQuery)(I)},e.usePruneEvents=function(){const c=(0,t.c)(7),{controller:u}=(0,o.useConnection)(),d=(0,n.useQueryClient)();let l,y,f;c[0]!==u?(l=async t=>{const{olderThanMs:n,reason:o}=t,c=u.getSystem();if(!c)throw new Error("not connected");const d={olderThanMs:n};void 0!==o&&(d.reason=o);return v(await(0,s.capMutate)(c.trpcClient,"pipelineAnalytics","pruneEvents",d))},c[0]=u,c[1]=l):l=c[1];c[2]!==d?(y=()=>{d.invalidateQueries({queryKey:p})},c[2]=d,c[3]=y):y=c[3];c[4]!==l||c[5]!==y?(f={mutationFn:l,onSuccess:y},c[4]=l,c[5]=y,c[6]=f):f=c[6];return(0,n.useMutation)(f)},e.useDeleteDeviceEvents=function(){const c=(0,t.c)(7),{controller:u}=(0,o.useConnection)(),d=(0,n.useQueryClient)();let l,y,f;c[0]!==u?(l=async t=>{const n=u.getSystem();if(!n)throw new Error("not connected");return v(await(0,s.capMutate)(n.trpcClient,"pipelineAnalytics","deleteDeviceEvents",{deviceId:t}))},c[0]=u,c[1]=l):l=c[1];c[2]!==d?(y=()=>{d.invalidateQueries({queryKey:p})},c[2]=d,c[3]=y):y=c[3];c[4]!==l||c[5]!==y?(f={mutationFn:l,onSuccess:y},c[4]=l,c[5]=y,c[6]=f):f=c[6];return(0,n.useMutation)(f)};var t=r(_d[0]),n=r(_d[1]),o=r(_d[2]),s=r(_d[3]),c=r(_d[4]);function u(t){return'number'==typeof t&&Number.isFinite(t)?t:0}function d(t){return'number'==typeof t&&Number.isFinite(t)?t:null}function l(t){if(!(0,s.isRecord)(t))return null;const n=[];if(Array.isArray(t.devices))for(const o of t.devices)(0,s.isRecord)(o)&&'number'==typeof o.deviceId&&n.push({deviceId:o.deviceId,usedBytes:u(o.usedBytes)});const o=[];if(Array.isArray(t.locations))for(const n of t.locations)(0,s.isRecord)(n)&&o.push({locationId:'string'==typeof n.locationId?n.locationId:null,usedBytes:u(n.usedBytes),availableBytes:d(n.availableBytes),totalBytes:d(n.totalBytes)});return{nodeId:'string'==typeof t.nodeId?t.nodeId:'',totalUsedBytes:u(t.totalUsedBytes),devices:n,locations:o}}function y(t){if(!(0,s.isRecord)(t))return null;const n=[];if(Array.isArray(t.devices))for(const o of t.devices)(0,s.isRecord)(o)&&'number'==typeof o.deviceId&&n.push({deviceId:o.deviceId,rows:u(o.rows),bytes:u(o.bytes)});return{totalRows:u(t.totalRows),totalBytes:u(t.totalBytes),devices:n}}function v(t){return(0,s.isRecord)(t)?{motion:u(t.motion),object:u(t.object),audio:u(t.audio)}:{motion:0,object:0,audio:0}}const f=['v2','storage-usage'],p=['v2','event-footprint']},3496,[15,3081,2594,3162,2705]);
|
|
15918
|
+
__d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.EventsManagementModal=function(e){const c=(0,t.c)(112),{visible:k,deviceId:A,cameraName:R,onClose:T}=e,{t:D}=(0,f.useTranslation)(),{colors:I}=(0,b.useTheme)(),[B,E]=(0,n.useState)(P[1].key),N=(0,S.useEventStoreFootprint)(k),G=(0,S.usePruneEvents)(),L=(0,S.useDeleteDeviceEvents)(),_=G.isPending||L.isPending;let V;c[0]!==A||c[1]!==N.data?.devices?(V=N.data?.devices.find(e=>e.deviceId===A),c[0]=A,c[1]=N.data?.devices,c[2]=V):V=c[2];const z=V;let F;c[3]!==B?(F=P.find(e=>e.key===B)??P[1],c[3]=B,c[4]=F):F=c[4];const W=F;let H;c[5]!==G||c[6]!==W||c[7]!==D?(H=()=>{const e=Date.now()-W.ms;v.default.alert(D("v2.eventsMgmt.pruneConfirmTitle","Prune old events?"),D("v2.eventsMgmt.pruneConfirmBody",{defaultValue:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",range:D(`v2.eventsMgmt.${W.key}`)}),[{text:D("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:D("v2.eventsMgmt.pruneAction","Prune"),style:"destructive",onPress:()=>{G.mutate({olderThanMs:e,reason:"manual"},{onSuccess:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),D("v2.eventsMgmt.pruneResult",{defaultValue:"Deleted {{count}} events.",count:w(e)})),onError:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),e.message)})}}])},c[5]=G,c[6]=W,c[7]=D,c[8]=H):H=c[8];const $=H;let q;c[9]!==R||c[10]!==L||c[11]!==A||c[12]!==D?(q=()=>{v.default.alert(D("v2.eventsMgmt.deleteConfirmTitle","Delete all events?"),D("v2.eventsMgmt.deleteConfirmBody",{defaultValue:"Permanently delete every event for {{name}}. This cannot be undone.",name:R}),[{text:D("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:D("v2.eventsMgmt.deleteAction","Delete"),style:"destructive",onPress:()=>{L.mutate(A,{onSuccess:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),D("v2.eventsMgmt.deleteResult",{defaultValue:"Deleted {{count}} events.",count:w(e)})),onError:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),e.message)})}}])},c[9]=R,c[10]=L,c[11]=A,c[12]=D,c[13]=q):q=c[13];const O=q;let U,X,J,K,Q,Y,Z,ee,te,ne,oe,se,re,le,ae,de,ie,ue,ce,ve,ge,me,fe,ye;c[14]!==I.background?(U={flex:1,backgroundColor:I.background},c[14]=I.background,c[15]=U):U=c[15];c[16]!==I.border?(X=[j.header,{borderBottomColor:I.border}],c[16]=I.border,c[17]=X):X=c[17];c[18]!==I.foreground?(J={color:I.foreground,fontSize:17,fontWeight:"700"},c[18]=I.foreground,c[19]=J):J=c[19];c[20]!==D?(K=D("v2.eventsMgmt.title","Events"),c[20]=D,c[21]=K):K=c[21];c[22]!==J||c[23]!==K?(Q=(0,C.jsx)(l.default,{style:J,children:K}),c[22]=J,c[23]=K,c[24]=Q):Q=c[24];c[25]!==I.foregroundMuted?(Y=(0,C.jsx)(y.X,{size:22,color:I.foregroundMuted}),c[25]=I.foregroundMuted,c[26]=Y):Y=c[26];c[27]!==T||c[28]!==Y?(Z=(0,C.jsx)(d.default,{accessibilityRole:"button",onPress:T,hitSlop:8,children:Y}),c[27]=T,c[28]=Y,c[29]=Z):Z=c[29];c[30]!==Z||c[31]!==X||c[32]!==Q?(ee=(0,C.jsxs)(s.default,{style:X,children:[Q,Z]}),c[30]=Z,c[31]=X,c[32]=Q,c[33]=ee):ee=c[33];c[34]===Symbol.for("react.memo_cache_sentinel")?(te={padding:p.SPACING.xl,gap:p.SPACING["2xl"],paddingBottom:p.SPACING["3xl"]},c[34]=te):te=c[34];c[35]!==D?(ne=D("v2.eventsMgmt.footprintTitle","Footprint"),c[35]=D,c[36]=ne):ne=c[36];c[37]!==z?.bytes||c[38]!==z?.rows||c[39]!==N.isLoading||c[40]!==D?(oe=N.isLoading?"\u2026":D("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:z?.rows??0,bytes:(0,x.formatBytes)(z?.bytes??0)}),c[37]=z?.bytes,c[38]=z?.rows,c[39]=N.isLoading,c[40]=D,c[41]=oe):oe=c[41];c[42]!==R||c[43]!==oe?(se=(0,C.jsx)(M.Row,{label:R,value:oe,icon:y.ListTree}),c[42]=R,c[43]=oe,c[44]=se):se=c[44];c[45]!==D?(re=D("v2.eventsMgmt.clusterTotal","Cluster total"),c[45]=D,c[46]=re):re=c[46];c[47]!==N.data?.totalBytes||c[48]!==N.data?.totalRows||c[49]!==N.isLoading||c[50]!==D?(le=N.isLoading?"\u2026":D("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:N.data?.totalRows??0,bytes:(0,x.formatBytes)(N.data?.totalBytes??0)}),c[47]=N.data?.totalBytes,c[48]=N.data?.totalRows,c[49]=N.isLoading,c[50]=D,c[51]=le):le=c[51];c[52]!==re||c[53]!==le?(ae=(0,C.jsx)(M.Row,{label:re,value:le,last:!0}),c[52]=re,c[53]=le,c[54]=ae):ae=c[54];c[55]!==ne||c[56]!==se||c[57]!==ae?(de=(0,C.jsxs)(h.Section,{title:ne,children:[se,ae]}),c[55]=ne,c[56]=se,c[57]=ae,c[58]=de):de=c[58];c[59]!==D?(ie=D("v2.eventsMgmt.pruneTitle","Prune older than"),c[59]=D,c[60]=ie):ie=c[60];c[61]!==I.background||c[62]!==I.border||c[63]!==I.foregroundMuted||c[64]!==I.primary||c[65]!==I.primaryForeground||c[66]!==B||c[67]!==D?(ue=P.map(e=>{const t=e.key===B;return(0,C.jsx)(d.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>E(e.key),style:[j.chip,{backgroundColor:t?I.primary:I.background,borderColor:t?I.primary:I.border}],children:(0,C.jsx)(l.default,{style:{color:t?I.primaryForeground:I.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:D(`v2.eventsMgmt.${e.key}`)})},e.key)}),c[61]=I.background,c[62]=I.border,c[63]=I.foregroundMuted,c[64]=I.primary,c[65]=I.primaryForeground,c[66]=B,c[67]=D,c[68]=ue):ue=c[68];c[69]!==ue?(ce=(0,C.jsx)(s.default,{style:j.chipRow,children:ue}),c[69]=ue,c[70]=ce):ce=c[70];c[71]!==I.foregroundSubtle?(ve=[j.hint,{color:I.foregroundSubtle}],c[71]=I.foregroundSubtle,c[72]=ve):ve=c[72];c[73]!==D?(ge=D("v2.eventsMgmt.pruneHint","Applies to all cameras."),c[73]=D,c[74]=ge):ge=c[74];c[75]!==ve||c[76]!==ge?(me=(0,C.jsx)(l.default,{style:ve,children:ge}),c[75]=ve,c[76]=ge,c[77]=me):me=c[77];c[78]!==ce||c[79]!==me?(fe=(0,C.jsxs)(s.default,{style:j.block,children:[ce,me]}),c[78]=ce,c[79]=me,c[80]=fe):fe=c[80];c[81]!==D?(ye=D("v2.eventsMgmt.pruneAction","Prune"),c[81]=D,c[82]=ye):ye=c[82];const be=_?void 0:$;let pe,he,Me,xe;c[83]!==ye||c[84]!==be?(pe=(0,C.jsx)(M.Row,{label:ye,icon:y.Timer,danger:!0,onPress:be,last:!0}),c[83]=ye,c[84]=be,c[85]=pe):pe=c[85];c[86]!==ie||c[87]!==fe||c[88]!==pe?(he=(0,C.jsxs)(h.Section,{title:ie,children:[fe,pe]}),c[86]=ie,c[87]=fe,c[88]=pe,c[89]=he):he=c[89];c[90]!==D?(Me=D("v2.eventsMgmt.deleteTitle","Delete camera events"),c[90]=D,c[91]=Me):Me=c[91];c[92]!==D?(xe=D("v2.eventsMgmt.deleteAction","Delete all events for this camera"),c[92]=D,c[93]=xe):xe=c[93];const Se=_?void 0:O;let Ce,Pe,we,je,ke;c[94]!==xe||c[95]!==Se?(Ce=(0,C.jsx)(M.Row,{label:xe,icon:y.Trash2,danger:!0,onPress:Se,last:!0}),c[94]=xe,c[95]=Se,c[96]=Ce):Ce=c[96];c[97]!==Me||c[98]!==Ce?(Pe=(0,C.jsx)(h.Section,{title:Me,children:Ce}),c[97]=Me,c[98]=Ce,c[99]=Pe):Pe=c[99];c[100]!==de||c[101]!==he||c[102]!==Pe?(we=(0,C.jsxs)(u.default,{contentContainerStyle:te,children:[de,he,Pe]}),c[100]=de,c[101]=he,c[102]=Pe,c[103]=we):we=c[103];c[104]!==ee||c[105]!==we||c[106]!==U?(je=(0,C.jsxs)(s.default,{style:U,children:[ee,we]}),c[104]=ee,c[105]=we,c[106]=U,c[107]=je):je=c[107];c[108]!==T||c[109]!==je||c[110]!==k?(ke=(0,C.jsx)(o.default,{visible:k,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:T,children:je}),c[108]=T,c[109]=je,c[110]=k,c[111]=ke):ke=c[111];return ke};var t=r(_d[0]),n=r(_d[1]),o=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),d=e(r(_d[5])),u=e(r(_d[6])),c=e(r(_d[7])),v=e(r(_d[8])),f=r(_d[9]),y=r(_d[10]),b=r(_d[11]),p=r(_d[12]),h=r(_d[13]),M=r(_d[14]),x=r(_d[15]),S=r(_d[16]),C=r(_d[17]);const P=[{key:'older24h',ms:864e5},{key:'older7d',ms:6048e5},{key:'older30d',ms:2592e6}];function w(e){return e.motion+e.object+e.audio}const j=c.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:p.SPACING.xl,borderBottomWidth:1},block:{padding:p.SPACING.xl,gap:p.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:p.SPACING.md},chip:{paddingHorizontal:p.SPACING.lg,paddingVertical:p.SPACING.md,borderRadius:p.RADIUS.lg,borderWidth:1},hint:{fontSize:12}})},3497,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3417,3492,3496,10]);
|
|
15919
|
+
__d(function(g,_r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StreamStatsOverlay=function(t){const n=(0,e.c)(55),{getStats:b}=t,{t:h}=(0,r.useTranslation)(),[y,j]=(0,l.useState)(null);let S,x,k,w,z,_,W,M;n[0]!==b?(S=()=>{let t=!0;const e=async()=>{const e=await b().catch(p);t&&j(e)};e();const l=setInterval(()=>{e()},u);return()=>{t=!1,clearInterval(l)}},x=[b],n[0]=b,n[1]=S,n[2]=x):(S=n[1],x=n[2]);if((0,l.useEffect)(S,x),n[3]!==y||n[4]!==h){if(k=[],y){if(y.resolution){let t,e;n[6]!==h?(t=h("v2.stats.resolution"),n[6]=h,n[7]=t):t=n[7],n[8]!==y.resolution||n[9]!==t?(e={label:t,value:y.resolution},n[8]=y.resolution,n[9]=t,n[10]=e):e=n[10],k.push(e)}if(void 0!==y.fps){let t;n[11]!==h?(t=h("v2.stats.fps"),n[11]=h,n[12]=t):t=n[12];const e=String(y.fps);let l;n[13]!==t||n[14]!==e?(l={label:t,value:e},n[13]=t,n[14]=e,n[15]=l):l=n[15],k.push(l)}if(void 0!==y.bitrateKbps){let t;n[16]!==h?(t=h("v2.stats.bitrate"),n[16]=h,n[17]=t):t=n[17];const e=`${y.bitrateKbps} kbps`;let l;n[18]!==t||n[19]!==e?(l={label:t,value:e},n[18]=t,n[19]=e,n[20]=l):l=n[20],k.push(l)}if(void 0!==y.packetsLost){let t;n[21]!==h?(t=h("v2.stats.packetLoss"),n[21]=h,n[22]=t):t=n[22];const e=String(y.packetsLost);let l;n[23]!==t||n[24]!==e?(l={label:t,value:e},n[23]=t,n[24]=e,n[25]=l):l=n[25],k.push(l)}if(void 0!==y.jitterMs){let t;n[26]!==h?(t=h("v2.stats.jitter"),n[26]=h,n[27]=t):t=n[27];const e=`${y.jitterMs} ms`;let l;n[28]!==t||n[29]!==e?(l={label:t,value:e},n[28]=t,n[29]=e,n[30]=l):l=n[30],k.push(l)}if(y.codec){let t,e;n[31]!==h?(t=h("v2.stats.codec"),n[31]=h,n[32]=t):t=n[32],n[33]!==y.codec||n[34]!==t?(e={label:t,value:y.codec},n[33]=y.codec,n[34]=t,n[35]=e):e=n[35],k.push(e)}if("playback"===y.source&&(void 0!==y.dropped||void 0!==y.total)){let t;n[36]!==h?(t=h("v2.stats.frames"),n[36]=h,n[37]=t):t=n[37];const e=`${y.dropped??0}/${y.total??0}`;let l;n[38]!==t||n[39]!==e?(l={label:t,value:e},n[38]=t,n[39]=e,n[40]=l):l=n[40],k.push(l)}}n[3]=y,n[4]=h,n[5]=k}else k=n[5];n[41]!==h?(w=h("v2.stats.title"),n[41]=h,n[42]=w):w=n[42];n[43]!==w?(z=(0,c.jsx)(o.default,{style:v.title,children:w}),n[43]=w,n[44]=z):z=n[44];n[45]!==k||n[46]!==h?(_=0===k.length?(0,c.jsx)(o.default,{style:v.dim,children:h("v2.stats.waiting")}):k.map(f),n[45]=k,n[46]=h,n[47]=_):_=n[47];n[48]!==y?.source||n[49]!==h?(W="playback"===y?.source?(0,c.jsx)(o.default,{style:v.hint,children:h("v2.stats.playbackHint")}):null,n[48]=y?.source,n[49]=h,n[50]=W):W=n[50];n[51]!==z||n[52]!==_||n[53]!==W?(M=(0,c.jsxs)(s.default,{style:v.panel,pointerEvents:"none",children:[z,_,W]}),n[51]=z,n[52]=_,n[53]=W,n[54]=M):M=n[54];return M};var e=_r(d[0]),l=_r(d[1]),s=t(_r(d[2])),o=t(_r(d[3])),n=t(_r(d[4])),r=_r(d[5]),c=_r(d[6]);const u=1e3;function f(t){return(0,c.jsxs)(s.default,{style:v.row,children:[(0,c.jsx)(o.default,{style:v.label,children:t.label}),(0,c.jsx)(o.default,{style:v.value,children:t.value})]},t.label)}function p(){return null}const v=n.default.create({panel:{position:'absolute',top:36,left:8,minWidth:150,maxWidth:220,paddingHorizontal:10,paddingVertical:8,borderRadius:8,backgroundColor:'#000000b3'},title:{color:'#f59e42',fontSize:10,fontWeight:'800',letterSpacing:.5,marginBottom:4,textTransform:'uppercase'},row:{flexDirection:'row',justifyContent:'space-between',gap:12,paddingVertical:1},label:{color:'#a8a29e',fontSize:11},value:{color:'#fafaf9',fontSize:11,fontWeight:'600',fontVariant:['tabular-nums']},dim:{color:'#a8a29e',fontSize:11},hint:{color:'#78716c',fontSize:9,marginTop:4,maxWidth:200}})},3498,[15,17,20,112,33,786,10]);
|
|
15920
|
+
__d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.MotionBoxesOverlay=function(e){const u=(0,t.c)(8),{deviceId:x,enabled:y}=e,{boxes:w}=(0,h.useDetections)(x,y);let S;u[0]===Symbol.for("react.memo_cache_sentinel")?(S={width:0,height:0},u[0]=S):S=u[0];const[_,p]=(0,l.useState)(S);let v;u[1]===Symbol.for("react.memo_cache_sentinel")?(v=e=>{const{width:t,height:l}=e.nativeEvent.layout;p(e=>e.width===t&&e.height===l?e:{width:t,height:l})},u[1]=v):v=u[1];const j=v;let M,$;u[2]!==w||u[3]!==_.height||u[4]!==_.width?(M=_.width>0&&_.height>0?w.map((e,t)=>{const l=e.x1*_.width,s=e.y1*_.height,h=(e.x2-e.x1)*_.width,u=(e.y2-e.y1)*_.height;if(h<=0||u<=0)return null;const x=(0,c.getClassColor)(e.label),y=Math.round(100*e.score),w=void 0!==e.name?`${e.name} ${y}%`:`${e.label} ${y}%`,S=`${e.label}-${t}`,p=Math.max(24,_.width-l);return(0,f.jsxs)(o.default.Fragment,{children:[(0,f.jsx)(i.default,{style:[b.box,e.detail?b.detailBox:null,{borderColor:x,left:l,top:s,width:h,height:u}]}),(0,f.jsx)(i.default,{style:[b.label,{backgroundColor:x,left:l,top:Math.max(0,s-18),maxWidth:p}],children:(0,f.jsx)(n.default,{style:b.labelText,numberOfLines:1,adjustsFontSizeToFit:!0,minimumFontScale:.6,children:w})})]},S)}):null,u[2]=w,u[3]=_.height,u[4]=_.width,u[5]=M):M=u[5];u[6]!==M?($=(0,f.jsx)(i.default,{style:s.default.absoluteFill,pointerEvents:"none",onLayout:j,children:M}),u[6]=M,u[7]=$):$=u[7];return $};var t=r(d[0]),l=r(d[1]),o=e(l),i=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),h=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]);const b=s.default.create({box:{position:'absolute',borderWidth:2,borderRadius:u.RADIUS.sm},detailBox:{borderWidth:1,borderStyle:'dashed'},label:{position:'absolute',alignSelf:'flex-start',paddingHorizontal:5,paddingVertical:1,borderRadius:u.RADIUS.sm},labelText:{fontSize:10,fontWeight:'700',color:'#ffffff'}})},3499,[15,17,20,112,33,3385,2589,3232,10]);
|
|
15921
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AudioLevelMeter=function(e){const o=(0,t.c)(20),{deviceId:l,position:b}=e,{colors:h}=(0,s.useTheme)(),C="off"!==b,P=(0,c.useAudioLevel)(l,C),p=(0,u.dbfsToLevel)(P);if(!C)return null;let v;o[0]!==h.danger||o[1]!==h.success||o[2]!==h.warning?(v=e=>e>=u.AUDIO_LEVEL_STEPS-1?h.danger:e>=u.AUDIO_LEVEL_STEPS-2?h.warning:h.success,o[0]=h.danger,o[1]=h.success,o[2]=h.warning,o[3]=v):v=o[3];const G=v;let N,_;o[4]!==b?(N=A(b),o[4]=b,o[5]=N):N=o[5];o[6]!==N?(_=[S.anchor,N],o[6]=N,o[7]=_):_=o[7];const D=`${h.background}B3`;let E,L,x,y;o[8]!==D?(E=[S.meter,{backgroundColor:D}],o[8]=D,o[9]=E):E=o[9];o[10]!==h.foregroundDisabled||o[11]!==p||o[12]!==G?(L=I.map((e,t)=>{const o=t<p;return(0,f.jsx)(n.default,{style:[S.segment,{height:e,backgroundColor:o?G(t):h.foregroundDisabled,opacity:o?1:.35}]},t)}),o[10]=h.foregroundDisabled,o[11]=p,o[12]=G,o[13]=L):L=o[13];o[14]!==E||o[15]!==L?(x=(0,f.jsx)(n.default,{style:E,children:L}),o[14]=E,o[15]=L,o[16]=x):x=o[16];o[17]!==_||o[18]!==x?(y=(0,f.jsx)(n.default,{style:_,pointerEvents:"none",children:x}),o[17]=_,o[18]=x,o[19]=y):y=o[19];return y};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=r(d[4]),l=r(d[5]),c=r(d[6]),u=r(d[7]),f=r(d[8]);const I=[10,14,18,22,26];function A(e){const t=(0,u.anchorBands)(e);if(null===t)return{};const n={};return'top'===t.vertical?n.top=l.SPACING.md:'bottom'===t.vertical?n.bottom=l.SPACING.md:(n.top=l.SPACING.md,n.bottom=l.SPACING.md,n.justifyContent='center'),'left'===t.horizontal?n.left=l.SPACING.md:'right'===t.horizontal?n.right=l.SPACING.md:(n.left=l.SPACING.md,n.right=l.SPACING.md,n.alignItems='center'),n}const S=o.default.create({anchor:{position:'absolute'},meter:{flexDirection:'row',alignItems:'flex-end',gap:3,paddingHorizontal:l.SPACING.sm,paddingVertical:l.SPACING.xs,borderRadius:l.RADIUS.md},segment:{width:4,borderRadius:2}})},3500,[15,17,20,33,2587,2589,3501,3502,10]);
|
|
15922
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AUDIO_CATEGORY",{enumerable:!0,get:function(){return c}}),e.parseAudioEvent=s,e.useAudioLevel=function(o,l){const f=(0,t.c)(6),{controller:b,state:v}=(0,u.useConnection)(),[I,y]=(0,n.useState)(null);let p,A;f[0]!==v||f[1]!==b||f[2]!==o||f[3]!==l?(p=()=>{if(!l||"connected"!==v)return void y(null);const t=b.getSystem();if(!t)return;const n=t.subscribeEvent(c,t=>{const n=s(t);n&&n.deviceId===o&&y(n.dbfs)});return()=>{n(),y(null)}},A=[b,v,o,l],f[0]=v,f[1]=b,f[2]=o,f[3]=l,f[4]=p,f[5]=A):(p=f[4],A=f[5]);return(0,n.useEffect)(p,A),I},e.useAudioActive=function(o,l,f){const b=(0,t.c)(7),{controller:v,state:I}=(0,u.useConnection)(),[y,p]=(0,n.useState)(!1);let A,E;b[0]!==I||b[1]!==v||b[2]!==f||b[3]!==o||b[4]!==l?(A=()=>{if("off"===l||"connected"!==I)return void p(!1);const t=v.getSystem();if(!t)return;const n=t.subscribeEvent(c,t=>{const n=s(t);if(!n||n.deviceId!==o)return;const u="sensor"===l?n.hasDetection:(n.dbfs??Number.NEGATIVE_INFINITY)>=f;p(u)});return()=>{n(),p(!1)}},E=[v,I,o,l,f],b[0]=I,b[1]=v,b[2]=f,b[3]=o,b[4]=l,b[5]=A,b[6]=E):(A=b[5],E=b[6]);return(0,n.useEffect)(A,E),y};var t=r(d[0]),n=r(d[1]),u=r(d[2]);const c='pipeline.audio-inference-result';function o(t){return'object'==typeof t&&null!==t}function s(t){if(!o(t))return null;const n=t.data;if(!o(n))return null;const u=n.frame;if(!o(u))return null;const c='number'==typeof n.deviceId?n.deviceId:'number'==typeof u.deviceId?u.deviceId:null;if(null===c)return null;const s=u.level,l=o(s)&&'number'==typeof s.dbfs?s.dbfs:null,f=u.detections;return{deviceId:c,dbfs:l,hasDetection:Array.isArray(f)&&f.length>0}}},3501,[15,17,2594]);
|
|
15923
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AUDIO_LEVEL_THRESHOLDS_DBFS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AUDIO_LEVEL_STEPS",{enumerable:!0,get:function(){return n}}),e.dbfsToLevel=function(n){if(null===n||!Number.isFinite(n))return 0;let o=0;for(const c of t)n>=c&&(o+=1);return o},Object.defineProperty(e,"AUDIO_METER_POSITIONS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"DEFAULT_AUDIO_METER_POSITION",{enumerable:!0,get:function(){return c}}),e.anchorBands=function(t){if('off'===t)return null;const n=t.split('-'),o=n.includes('top')?'top':n.includes('bottom')?'bottom':'center',c=n.includes('left')?'left':n.includes('right')?'right':'center';return{vertical:o,horizontal:c}};const t=[-50,-40,-30,-20,-10],n=t.length;const o=['top-left','top-center','top-right','left-center','right-center','bottom-left','bottom-center','bottom-right'],c='bottom-right'},3502,[]);
|
|
15924
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ZoneDrawOverlay",{enumerable:!0,get:function(){return S}});var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),h=r(d[7]),b=r(d[8]),f=r(d[9]),y=r(d[10]);const p='#ffffff',x='rgba(0, 0, 0, 0.55)',S=(0,n.memo)(function(e){const b=(0,t.c)(61),{zone:p,onConfirm:x,onCancel:S}=e,{t:_}=(0,u.useTranslation)(),{colors:R}=(0,h.useTheme)();let P;b[0]===Symbol.for("react.memo_cache_sentinel")?(P={width:0,height:0},b[0]=P):P=b[0];const[j,I]=(0,n.useState)(P),[z,A]=(0,n.useState)(p);let G;b[1]===Symbol.for("react.memo_cache_sentinel")?(G={x:0,y:0},b[1]=G):G=b[1];const E=(0,n.useRef)(G);let N;b[2]===Symbol.for("react.memo_cache_sentinel")?(N=e=>{const{width:t,height:n}=e.nativeEvent.layout;I({width:t,height:n})},b[2]=N):N=b[2];const T=N;let W;b[3]===Symbol.for("react.memo_cache_sentinel")?(W=e=>{E.current={x:e.nativeEvent.locationX,y:e.nativeEvent.locationY}},b[3]=W):W=b[3];const D=W;let k;b[4]!==j.height||b[5]!==j.width?(k=e=>{const t=(0,f.dragToRect)(E.current.x,E.current.y,e.nativeEvent.locationX,e.nativeEvent.locationY,j.width,j.height);null!==t&&A(t)},b[4]=j.height,b[5]=j.width,b[6]=k):k=b[6];const M=k;let U;b[7]!==z?(U=null!==z&&(0,f.isZoneUsable)(z),b[7]=z,b[8]=U):U=b[8];const H=U;let O;b[9]!==z||b[10]!==x?(O=()=>{null!==z&&(0,f.isZoneUsable)(z)&&x(z)},b[9]=z,b[10]=x,b[11]=O):O=b[11];const Z=O;let F,V,X,Y,L,$,q,B;b[12]===Symbol.for("react.memo_cache_sentinel")?(F=[c.default.absoluteFill,v.container],b[12]=F):F=b[12],b[13]!==_?(V=_("v2.theater.zoneHint"),b[13]=_,b[14]=V):V=b[14],b[15]!==V?(X=(0,y.jsx)(o.default,{style:v.hintWrap,pointerEvents:"none",children:(0,y.jsx)(o.default,{style:v.hintPill,children:(0,y.jsx)(l.default,{style:v.hintText,children:V})})}),b[15]=V,b[16]=X):X=b[16],b[17]!==j.height||b[18]!==j.width||b[19]!==R||b[20]!==z?(Y=null!==z&&j.width>0?(0,y.jsx)(o.default,{pointerEvents:"none",style:[v.zoneRect,{borderColor:R.warning,backgroundColor:`${R.warning}26`,left:z.x*j.width,top:z.y*j.height,width:z.w*j.width,height:z.h*j.height}]}):null,b[17]=j.height,b[18]=j.width,b[19]=R,b[20]=z,b[21]=Y):Y=b[21],b[22]!==_?(L=_("v2.theater.zoneCancel"),b[22]=_,b[23]=L):L=b[23],b[24]!==L?($=(0,y.jsx)(l.default,{style:v.buttonText,children:L}),b[24]=L,b[25]=$):$=b[25],b[26]!==S||b[27]!==$?(q=(0,y.jsx)(s.default,{style:v.button,onPress:S,accessibilityRole:"button",children:$}),b[26]=S,b[27]=$,b[28]=q):q=b[28],b[29]!==R||b[30]!==H?(B=H&&{backgroundColor:R.primary,borderColor:R.primary},b[29]=R,b[30]=H,b[31]=B):B=b[31];const J=!H&&v.buttonDisabled;let K;b[32]!==B||b[33]!==J?(K=[v.button,B,J],b[32]=B,b[33]=J,b[34]=K):K=b[34];const Q=!H,ee=!H;let te,ne,oe,ie,re,le,ae,se;return b[35]!==ee?(te={disabled:ee},b[35]=ee,b[36]=te):te=b[36],b[37]!==R||b[38]!==H?(ne=H&&{color:R.primaryForeground},b[37]=R,b[38]=H,b[39]=ne):ne=b[39],b[40]!==ne?(oe=[v.buttonText,ne],b[40]=ne,b[41]=oe):oe=b[41],b[42]!==_?(ie=_("v2.theater.zoneConfirm"),b[42]=_,b[43]=ie):ie=b[43],b[44]!==oe||b[45]!==ie?(re=(0,y.jsx)(l.default,{style:oe,children:ie}),b[44]=oe,b[45]=ie,b[46]=re):re=b[46],b[47]!==Z||b[48]!==K||b[49]!==Q||b[50]!==te||b[51]!==re?(le=(0,y.jsx)(s.default,{style:K,onPress:Z,disabled:Q,accessibilityRole:"button",accessibilityState:te,children:re}),b[47]=Z,b[48]=K,b[49]=Q,b[50]=te,b[51]=re,b[52]=le):le=b[52],b[53]!==q||b[54]!==le?(ae=(0,y.jsxs)(o.default,{style:v.actions,pointerEvents:"box-none",children:[q,le]}),b[53]=q,b[54]=le,b[55]=ae):ae=b[55],b[56]!==M||b[57]!==X||b[58]!==Y||b[59]!==ae?(se=(0,y.jsxs)(o.default,{style:F,onLayout:T,onStartShouldSetResponder:C,onMoveShouldSetResponder:w,onResponderGrant:D,onResponderMove:M,children:[X,Y,ae]}),b[56]=M,b[57]=X,b[58]=Y,b[59]=ae,b[60]=se):se=b[60],se}),v=c.default.create({container:{zIndex:60,backgroundColor:'rgba(0, 0, 0, 0.25)'},hintWrap:{position:'absolute',top:b.SPACING.md,left:0,right:0,alignItems:'center'},hintPill:{backgroundColor:x,paddingHorizontal:b.SPACING.md,paddingVertical:b.SPACING.xs+2,borderRadius:b.RADIUS.lg,maxWidth:'90%'},hintText:{color:p,fontSize:11,fontWeight:'600',textAlign:'center'},zoneRect:{position:'absolute',borderWidth:2,borderRadius:2},actions:{position:'absolute',right:b.SPACING.md,bottom:b.SPACING.md,flexDirection:'row',gap:b.SPACING.md},button:{backgroundColor:x,borderColor:'rgba(255, 255, 255, 0.35)',borderWidth:1,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.sm+2,borderRadius:b.RADIUS.lg},buttonDisabled:{opacity:.5},buttonText:{color:p,fontSize:12,fontWeight:'700'}});function C(){return!0}function w(){return!0}},3503,[15,17,20,112,252,33,786,2587,2589,3504,10]);
|
|
15925
|
+
__d(function(g,r,i,_a,m,_e,d){"use strict";function n(n,t){return n.x<t.x+t.w&&t.x<n.x+n.w&&n.y<t.y+t.h&&t.y<n.y+n.h}function t(n,t){return t.w<=0||t.h<=0?null:{x:n.x/t.w,y:n.y/t.h,w:n.w/t.w,h:n.h/t.h}}function e(n){let t=0,e=0;for(const o of n)for(const n of o)n.x+n.w>t&&(t=n.x+n.w),n.y+n.h>e&&(e=n.y+n.h);return t>0&&e>0?{w:t,h:e}:null}function o(n){return'object'==typeof n&&null!==n&&!Array.isArray(n)}function u(n){if(!o(n))return null;const{x:t,y:e,w:u,h:f}=n;return'number'!=typeof t||'number'!=typeof e||'number'!=typeof u||'number'!=typeof f?null:u>0&&f>0?{x:t,y:e,w:u,h:f}:null}function f(e,o,u){if(void 0===e||0===e.length)return!0;for(const f of e){const e=t(f,o);if(null!==e&&n(e,u))return!0}return!1}Object.defineProperty(_e,'__esModule',{value:!0}),_e.rectsIntersect=n,_e.normalizeRect=t,_e.estimateFrameSize=e,_e.parsePositionBoxes=function(n){if(!o(n)||!Array.isArray(n.positions))return[];const t=[];for(const e of n.positions){if(!o(e))continue;const n=u(e.bbox);null!==n&&t.push(n)}return t},_e.trackMatchesZone=f,_e.filterEventsByZone=function(n,t){if(null===t)return n;const o=e(n.map(n=>n.positionBoxes??[]));return null===o?n:n.filter(n=>f(n.positionBoxes,o,t))},Object.defineProperty(_e,"MIN_ZONE_FRACTION",{enumerable:!0,get:function(){return s}}),_e.dragToRect=function(n,t,e,o,u,f){if(u<=0||f<=0)return null;const s=n=>Math.min(1,Math.max(0,n)),c=s(Math.min(n,e)/u),l=s(Math.min(t,o)/f),a=s(Math.max(n,e)/u),h=s(Math.max(t,o)/f);return{x:c,y:l,w:a-c,h:h-l}},_e.isZoneUsable=function(n){return n.w>=s&&n.h>=s};const s=.02},3504,[]);
|
|
15926
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ZoneActiveOverlay",{enumerable:!0,get:function(){return u}});var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),h=e(r(d[3])),l=r(d[4]),c=r(d[5]);const u=(0,o.memo)(function(e){const u=(0,t.c)(9),{zone:f}=e,{colors:w}=(0,l.useTheme)();let b;u[0]===Symbol.for("react.memo_cache_sentinel")?(b={width:0,height:0},u[0]=b):b=u[0];const[y,_]=(0,o.useState)(b);let v;u[1]===Symbol.for("react.memo_cache_sentinel")?(v=e=>{const{width:t,height:o}=e.nativeEvent.layout;_({width:t,height:o})},u[1]=v):v=u[1];const p=v;let j,x;return u[2]!==y.height||u[3]!==y.width||u[4]!==w||u[5]!==f?(j=y.width>0&&y.height>0?(0,c.jsx)(n.default,{style:[s.zoneRect,{borderColor:w.warning,backgroundColor:`${w.warning}14`,left:f.x*y.width,top:f.y*y.height,width:f.w*y.width,height:f.h*y.height}]}):null,u[2]=y.height,u[3]=y.width,u[4]=w,u[5]=f,u[6]=j):j=u[6],u[7]!==j?(x=(0,c.jsx)(n.default,{style:h.default.absoluteFill,onLayout:p,pointerEvents:"none",children:j}),u[7]=j,u[8]=x):x=u[8],x}),s=h.default.create({zoneRect:{position:'absolute',borderWidth:1.5,borderRadius:2}})},3505,[15,17,20,33,2587,10]);
|
|
15927
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.serializeAdhocDeviceIds=function(t){return t.filter(t=>Number.isInteger(t)&&t>0).join(',')},e.parseAdhocDeviceIds=function(t){if(void 0===t)return[];const n='string'==typeof t?t:t.join(','),o=new Set,s=[];for(const t of n.split(',')){const n=Number(t.trim());Number.isInteger(n)&&n>0&&!o.has(n)&&(o.add(n),s.push(n))}return s}},3506,[]);
|
|
15928
|
+
__d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TheaterTimeline",{enumerable:!0,get:function(){return X}});var t=r(_d[0]),o=e(r(_d[1])),n=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),c=r(_d[5]),u=r(_d[6]),d=r(_d[7]),f=r(_d[8]),h=r(_d[9]),p=r(_d[10]),v=r(_d[11]),b=r(_d[12]),C=r(_d[13]),M=r(_d[14]),T=r(_d[15]),I=r(_d[16]),S=r(_d[17]),x=r(_d[18]),y=r(_d[19]),P=r(_d[20]),k=r(_d[21]),D=r(_d[22]),L=r(_d[23]),E=r(_d[24]),w=r(_d[25]),A=r(_d[26]),O=r(_d[27]),R=r(_d[28]),j=r(_d[29]),z=r(_d[30]),B=r(_d[31]),F=r(_d[32]),_=r(_d[33]),W=r(_d[34]),K=r(_d[35]),N=r(_d[36]),Z=r(_d[37]),H=r(_d[38]),G=r(_d[39]);const q=864e5,V=h.SPACING.lg+36+h.SPACING.md,U='#ffffff',X=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:X}=(0,f.useTheme)(),Q=(0,u.useSafeAreaInsets)(),[$,J]=(0,t.useState)(()=>Date.now());(0,t.useEffect)(()=>{const e=setInterval(()=>J(Date.now()),1e3);return()=>clearInterval(e)},[]);const ee=(0,B.useSettings)().settings.clusters,[te,oe]=(0,t.useState)(T.DEFAULT_ZOOM_INDEX),ne=te<T.ZOOM_LEVELS.length-1,re=te>0,ae=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e+1)),[]),ie=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e-1)),[]),[se,le]=(0,t.useState)(0),[ce,ue]=(0,t.useState)(0),[de,me]=(0,t.useState)(0),ge=(0,t.useCallback)(e=>{const{height:t,width:o}=e.nativeEvent.layout;t>0&&ue(t),o>0&&me(o)},[]),fe=(0,t.useMemo)(()=>(0,x.indicatorOffsetPx)(ce,x.FIXED_INDICATOR_POSITION_PCT),[ce]),he=(0,t.useRef)(fe),pe=(0,t.useRef)(ce);(0,t.useEffect)(()=>{he.current=fe,pe.current=ce},[fe,ce]);const ve=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineKinds),be=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineClasses),Ce=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineKinds),Me=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineClasses),Te=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineKind),Ie=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineClass),Se=(0,F.useCameraPrefsStore)(e=>e.hydrate);(0,t.useEffect)(()=>{Se()},[Se]);const xe=(0,t.useMemo)(()=>new Set(ve??T.ALL_BAR_KINDS),[ve]),ye=(0,t.useMemo)(()=>new Set(be??[]),[be]),[Pe,ke]=(0,t.useState)(!1),De=!(0,T.isFilterAll)(xe)||ye.size>0,Le=(0,w.useEventKinds)([e.deviceId]),Ee=(0,t.useMemo)(()=>(0,A.classToMacroMap)(Le.data??[]),[Le.data]),we=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.highlight),Ae=(0,t.useMemo)(()=>(0,O.withHighlightDefaults)(we).clusterLabel,[we]),Oe=(0,t.useCallback)(()=>ke(e=>!e),[]),Re=(0,t.useCallback)(()=>{Ce(e.deviceId,[...T.ALL_BAR_KINDS]),Me(e.deviceId,[])},[Ce,Me,e.deviceId]),je=(0,t.useCallback)(t=>Te(e.deviceId,t),[Te,e.deviceId]),ze=(0,t.useCallback)(t=>Ie(e.deviceId,t),[Ie,e.deviceId]),Be=e.zoneRect,Fe=$,We='live'===e.mode,Ke=e.activeEpoch??$,Ne=(0,t.useMemo)(()=>{const e=new Date(Ke);return e.setHours(0,0,0,0),e.getTime()},[Ke]),Ze=(0,t.useMemo)(()=>({from:Ne,to:Ne+q}),[Ne]),[He,Ge]=(0,t.useState)(1),qe=Ne-(He-1)*q,Ve=(0,t.useRef)(1);(0,t.useEffect)(()=>{Ve.current=He},[He]);const Ue=(0,t.useRef)(qe);(0,t.useEffect)(()=>{Ue.current=qe},[qe]);const Xe=(0,t.useRef)(0);(0,t.useEffect)(()=>{Ge(1)},[Ne]);const Ye=(0,t.useMemo)(()=>{const e=new Date($);return e.setHours(0,0,0,0),e.getTime()},[$]),[Qe,$e]=(0,t.useState)(!1),[Je,et]=(0,t.useState)(Ne),{fromMs:tt,toMs:ot}=(0,t.useMemo)(()=>(0,j.monthBoundsForMs)(Je),[Je]),{data:nt}=(0,P.useDaysWithRecordings)(e.deviceId,tt,ot,Qe),rt=e.onSeek,at=(0,t.useCallback)(()=>{rt((0,z.dayAtSameTime)(Ke,Ne-q,$),'timeline')},[rt,Ke,Ne,$]),it=(0,t.useCallback)(()=>{Ne>=Ye||rt((0,z.dayAtSameTime)(Ke,Ne+q,$),'timeline')},[rt,Ke,Ne,Ye,$]),st=(0,t.useCallback)(()=>{et(Ne),$e(!0)},[Ne]),lt=(0,t.useCallback)(e=>{$e(!1),rt((0,z.dayAtSameTime)(Ke,e,$),'timeline')},[rt,Ke,$]),ct=(0,t.useCallback)(e=>{et(t=>{const o=new Date(t);return new Date(o.getFullYear(),o.getMonth()+e,1,0,0,0,0).getTime()})},[]),{data:ut=[]}=(0,_.useDeviceTracks)(e.deviceId,qe,Ze.to),dt=(0,t.useMemo)(()=>{const e=ee.minImportance;return e<=0?ut:ut.filter(t=>(0,W.passesImportanceFilter)(t.importance,e))},[ut,ee.minImportance]),mt=(0,t.useMemo)(()=>{const e=new Set;for(const t of dt)t.className.length>0&&e.add(t.className);return[...(0,A.collapseToMacro)([...e],Ee)].sort()},[dt,Ee]),gt=(0,T.isFilterAll)(xe),ft=(0,t.useMemo)(()=>(0,E.filterEventsByZone)(dt,Be),[dt,Be]),ht=(0,t.useMemo)(()=>(0,L.filterDetectionsByKind)(ft,xe,ye,Ee),[ft,xe,ye,Ee]),pt=(0,K.useTimelineActivity)(e.deviceId,qe,Ze.to),vt=(0,t.useMemo)(()=>de>0?Math.round(de*ee.cardWidthFraction):0,[de,ee.cardWidthFraction]),bt=(0,t.useMemo)(()=>vt>0?Math.round(.5625*vt):0,[vt]),{sizePx:Ct,gapPx:Mt}=(0,t.useMemo)(()=>{const e=Math.max(8,bt);return{sizePx:e,gapPx:ee.gapPercent/100*e}},[bt,ee.gapPercent]),Tt=(0,t.useMemo)(()=>(0,N.clusterByZoom)(ht,{topMs:Fe,zoomIndex:te,sizePx:Ct,gapPx:Mt}),[ht,Fe,te,Ct,Mt]),It=Tt.filter(e=>e.topPx>=se-80-e.heightPx&&e.topPx<=se+ce+80).length;(0,t.useEffect)(()=>{const t=e=>new Date(e).toLocaleTimeString(),o=dt.map(e=>e.timestamp);D.log.info('theater:clusters','render state',{deviceId:e.deviceId,objectEvents:dt.length,objectEventRange:o.length>0?{first:t(Math.min(...o)),last:t(Math.max(...o))}:null,clusters:Tt.length,clusterSpans:Tt.slice(0,8).map(e=>({s:t(e.startMs),e:t(e.endMs),n:e.events.length,topPx:Math.round(e.topPx)})),visibleClusters:It,activity:{recording:pt.recording.length,motion:pt.motion.length,audio:pt.audio.length},geometry:{cardWidth:vt,viewportHeight:ce,listWrapWidth:de,scrollOffsetY:se,sizePx:Ct,gapPx:Mt,zoomIndex:te},dayWindow:Ze})},[e.deviceId,dt,Tt,It,pt.recording.length,pt.motion.length,pt.audio.length,vt,ce,de,se,Ct,Mt,te,Ze]);const{data:St=[]}=(0,P.useRecordingAvailability)(e.deviceId,Ze.from,Ze.to,!0);(0,t.useEffect)(()=>{D.log.info('timeline','coverage',{deviceId:e.deviceId,count:St.length})},[e.deviceId,St.length]);const xt=(0,t.useMemo)(()=>{const t=e.activeEpoch;return null===t?(0,T.heatmapCursorFraction)($):(0,S.epochToDayFraction)(t,Ze.from,Ze.to)},[e.activeEpoch,Ze,$]),yt=(0,t.useRef)(null),[Pt,kt]=(0,t.useState)(null),Dt=(0,t.useRef)(0),Lt=(0,t.useRef)(!1),Et=(0,t.useRef)(null),wt=(0,t.useRef)(null),At=(0,t.useRef)(We);At.current=We;const Ot=(0,t.useRef)(!1),Rt=(0,t.useRef)(0),jt=(0,t.useRef)(null),zt=(0,t.useCallback)(()=>{Ot.current=!1,jt.current&&(clearTimeout(jt.current),jt.current=null)},[]),Bt=(0,t.useCallback)((e,t)=>{Ot.current=!0,Rt.current=e,jt.current&&clearTimeout(jt.current),jt.current=setTimeout(()=>{Ot.current=!1,jt.current=null},500),yt.current?.scrollToOffset({offset:e,animated:t})},[]),Ft=(0,t.useCallback)(t=>{const o=t.nativeEvent.contentOffset.y;le(o);const n=he.current,s=pe.current,l=(0,I.epochToOffset)(Ue.current,Fe,te);if(o>=n+Math.max(s,l)-s-s)if(Ve.current<30)Ge(e=>Math.min(30,e+1));else{const t=Date.now();t-Xe.current>=5e3&&(Xe.current=t,D.log.info('theater','back-scroll capped at MAX_LOOKBACK_DAYS',{deviceId:e.deviceId,days:30}))}if(Ot.current)return void(Math.abs(o-Rt.current)<=2&&zt());const c=Math.round((0,I.offsetToEpoch)(o,Fe,te)),u=Fe-c;if((0,y.atLiveEdge)(u,15e3))return Et.current&&(clearTimeout(Et.current),Et.current=null),wt.current=null,Lt.current=!1,void(At.current||(D.log.debug('theater:live-edge','go-live (scrolled into live edge)',{behindLiveMs:u,epoch:c,topMs:Fe}),e.onGoLive()));Lt.current||(Lt.current=!0,Et.current&&(clearTimeout(Et.current),Et.current=null),e.onScrubBegin('timeline'));const d=Date.now();d-Dt.current<100||(Dt.current=d,wt.current=c,e.onScrubMove(c,'timeline'),Et.current&&clearTimeout(Et.current),Et.current=setTimeout(()=>{Et.current=null;const t=wt.current;null!=t&&(e.onScrubCommit(t,'timeline'),Lt.current=!1)},220))},[Fe,te,e,zt]),_t=(0,t.useCallback)(()=>{Bt(0,!0),e.onGoLive()},[e,Bt]);(0,t.useEffect)(()=>{if('playback'!==e.mode)return;const t=e.activeEpoch;if(null===t)return;const o=(0,I.epochToOffset)(t,Fe,te);Bt(o,!1)},[e.mode,e.activeEpoch,Fe,te,Bt]);const Wt=(0,t.useCallback)(t=>{D.log.info('theater:clusters','tap',{epoch:t.representative.timestamp,topPx:Math.round(t.topPx)}),e.onSeek(t.representative.timestamp,'cluster')},[e]),Kt=(0,t.useCallback)(e=>{kt(e)},[]),Nt=(0,t.useCallback)(t=>{e.onSeek(t,'cluster'),kt(null)},[e]),Zt=(0,t.useCallback)(e=>(0,S.dayFractionToEpoch)(e,Ze.from,Ze.to),[Ze.from,Ze.to]),Ht=(0,t.useCallback)(e=>{const t=Zt(e);D.log.debug('timeline','heatmap seek',{fraction:e,snapped:t}),rt(t,'heatmap')},[Zt,rt]),Gt=e.onScrubBegin,qt=e.onScrubMove,Vt=e.onScrubCommit,Ut=(0,t.useCallback)(()=>Gt('heatmap'),[Gt]),Xt=(0,t.useCallback)(e=>{const t=Zt(e);D.log.debug('timeline','heatmap scrub',{fraction:e,snapped:t}),qt(t,'heatmap')},[Zt,qt]),Yt=(0,t.useCallback)(e=>{const t=Zt(e);D.log.debug('timeline','heatmap scrubEnd',{fraction:e,snapped:t}),Vt(t,'heatmap')},[Zt,Vt]),Qt=gt||xe.has('motion'),$t=gt||xe.has('audio'),Jt=(0,t.useMemo)(()=>Qt?ht:[],[Qt,ht]),eo=(0,t.useMemo)(()=>{const e=(0,L.objectEventsToHeatmapBins)(Jt,Ne);return $t?(0,L.mergeAudioIntoHeatmapBins)(e,pt.audio,Ne):e},[Jt,Ne,$t,pt.audio]),to=(0,t.useMemo)(()=>(0,L.objectEventsToHeatmapHighlights)(Jt,Ne),[Jt,Ne]),oo=(0,t.useMemo)(()=>e.activeEpoch??$,[e.activeEpoch,$]),no=(0,t.useMemo)(()=>new Date(oo).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'}),[oo]);return(0,G.jsxs)(o.default,{style:[Y.container,{backgroundColor:X.background}],children:[(0,G.jsx)(p.TimelineToolbarInline,{onBack:e.onBack,hideBack:e.hideBack,dateLabel:(0,z.dateLabel)(Ne,$,s),onPrevDay:at,onOpenDatePicker:st,onNextDay:it,nextDayDisabled:Ne>=Ye,hasPtz:e.hasPtz,ptzOpen:e.ptzOpen,onTogglePtz:e.onTogglePtz,devicesOpen:e.devicesOpen,onToggleDevices:e.onToggleDevices,menuOpen:e.menuOpen,onToggleMenu:e.onToggleMenu,qualityOpen:e.qualityOpen,onToggleQuality:e.onToggleQuality,qualityLabel:s((0,v.qualityLabelKey)(e.quality)),exportMenuOpen:e.exportMenuOpen,onToggleExportMenu:e.onToggleExportMenu,snapshotBusy:e.snapshotBusy,exportMenuLabel:s('v2.exportActions.title')}),(0,G.jsx)(b.HeatmapBar,{bins:eo,cursorFraction:xt,eventMarkers:to,coverage:St,dayStartMs:Ze.from,dayEndMs:Ze.to,onSeekFraction:Ht,onScrubStart:Ut,onScrubFraction:Xt,onScrubEnd:Yt}),We?(0,G.jsxs)(o.default,{style:[Y.livePill,{backgroundColor:`${X.live}26`}],children:[(0,G.jsx)(o.default,{style:[Y.liveDot,{backgroundColor:X.live}]}),(0,G.jsx)(n.default,{style:[Y.liveText,{color:X.live}],children:s('v2.theater.live')})]}):(0,G.jsxs)(l.default,{style:[Y.goLivePill,{backgroundColor:X.danger}],onPress:_t,accessibilityRole:"button",accessibilityLabel:s('v2.theater.goToLive'),children:[(0,G.jsx)(d.ArrowUp,{size:13,color:U}),(0,G.jsx)(n.default,{style:[Y.goLiveText,{color:U}],children:s('v2.theater.goToLive')})]}),(0,G.jsxs)(o.default,{style:Y.listWrap,onLayout:ge,children:[(0,G.jsx)(H.TimelineScroller,{ref:yt,topMs:Fe,zoomIndex:te,dayWindow:{from:qe,to:Ze.to},clusters:Tt,activity:pt,showMotionLane:Qt,showAudioLane:$t,cardWidth:vt,viewportHeight:ce,indicatorOffsetPx:fe,isLive:We,onScroll:Ft,onClusterPress:Wt,onClusterOpenDetail:Kt,clusterLabel:Ae,eventKinds:Le.data}),ce>0?(0,G.jsxs)(o.default,{style:[Y.indicator,{top:fe}],pointerEvents:"none",children:[(0,G.jsx)(o.default,{style:[Y.indicatorLine,{backgroundColor:We?X.live:X.danger}]}),(0,G.jsx)(o.default,{style:[Y.indicatorPill,{backgroundColor:We?X.live:X.danger}],children:(0,G.jsx)(n.default,{style:[Y.indicatorLabel,h.TABULAR,{color:U}],children:We?s('v2.theater.live'):no})})]}):null,Pe?(0,G.jsx)(M.TimelineFilterPanel,{filter:xe,onToggleKind:je,classes:mt,classFilter:ye,onToggleClass:ze,onReset:Re,eventKinds:Le.data,bottomInset:Q.bottom+V}):null,(0,G.jsx)(C.TimelineFabControls,{onZoomIn:ae,onZoomOut:ie,onFilter:Oe,onZoneFilter:null!==Be?e.onClearZone:e.onRequestZoneDraw,onPickCamera:e.onPickCamera,canZoomIn:ne,canZoomOut:re,filterActive:De,filterOpen:Pe,zoneActive:null!==Be,bottomInset:Q.bottom})]}),(0,G.jsx)(R.DatePickerModal,{visible:Qe,monthAnchorMs:Je,selectedDayMs:Ne,daysSet:nt??new Set,nowMs:$,onChangeMonth:ct,onPick:lt,onClose:()=>$e(!1)}),(0,G.jsx)(Z.ClusterDetailModal,{deviceId:e.deviceId,cluster:Pt,onSeek:Nt,onClose:()=>kt(null),seekAvailable:null===Pt||'absent'!==(0,k.recordingKnownAt)(St,Ze.from,Ze.to,Pt.representative.timestamp)})]})}),Y=s.default.create({container:{flex:1},livePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},liveDot:{width:6,height:6,borderRadius:3},liveText:{fontSize:11,fontWeight:'700'},goLivePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},goLiveText:{fontSize:11,fontWeight:'700'},listWrap:{flex:1,position:'relative'},indicator:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md},indicatorLine:{position:'absolute',left:0,right:0,height:1.5},indicatorPill:{paddingHorizontal:h.SPACING.sm,paddingVertical:1,borderRadius:4},indicatorLabel:{fontSize:10,fontWeight:'700',letterSpacing:.3},drawerHandle:{position:'absolute',left:0,top:'50%',marginTop:-16,width:16,height:32,borderTopRightRadius:8,borderBottomRightRadius:8,borderWidth:1,borderLeftWidth:0,alignItems:'center',justifyContent:'center'},scrollIndicatorTrack:{position:'absolute',right:2,top:h.SPACING.lg,bottom:h.SPACING.lg,width:3,alignItems:'center'},scrollIndicatorThumb:{width:3,height:48,borderRadius:2,opacity:.7}})},3507,[17,20,112,33,252,786,466,813,2587,2589,3508,3461,3509,3511,3512,3142,3513,3510,3514,3515,3159,3160,2705,3231,3504,3168,3169,3139,3516,3517,3518,3177,3132,3519,3237,3520,3522,3523,3525,10]);
|
|
15929
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineToolbarInline",{enumerable:!0,get:function(){return b}});var o=r(d[0]),n=r(d[1]),t=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=e(r(d[5])),c=e(r(d[6])),p=r(d[7]),f=r(d[8]),y=r(d[9]),x=r(d[10]),h=r(d[11]);const b=(0,n.memo)(function(e){const n=(0,o.c)(109),{t:u}=(0,p.useTranslation)(),{colors:x}=(0,y.useTheme)();let b;n[0]!==x.primary?(b=e=>[P.iconBtn,{backgroundColor:e?x.primary:"transparent"}],n[0]=x.primary,n[1]=b):b=n[1];const O=b;let j;n[2]!==x.foregroundMuted||n[3]!==x.primaryForeground?(j=e=>e?x.primaryForeground:x.foregroundMuted,n[2]=x.foregroundMuted,n[3]=x.primaryForeground,n[4]=j):j=n[4];const z=j;let S,D,M,T,v,C,k,I,B,L,A;n[5]!==x.background||n[6]!==x.border?(S=[P.container,{backgroundColor:x.background,borderBottomColor:x.border}],n[5]=x.background,n[6]=x.border,n[7]=S):S=n[7],n[8]!==x.foreground||n[9]!==e.hideBack||n[10]!==e.onBack||n[11]!==u?(D=e.hideBack?null:(0,h.jsx)(s.default,{style:P.backBtn,onPress:e.onBack,hitSlop:6,accessibilityLabel:u("v2.common.back"),children:(0,h.jsx)(f.ArrowLeft,{size:18,color:x.foreground})}),n[8]=x.foreground,n[9]=e.hideBack,n[10]=e.onBack,n[11]=u,n[12]=D):D=n[12],n[13]!==x.foregroundMuted?(M=(0,h.jsx)(f.ChevronLeft,{size:16,color:x.foregroundMuted}),n[13]=x.foregroundMuted,n[14]=M):M=n[14],n[15]!==e.onPrevDay||n[16]!==M?(T=(0,h.jsx)(s.default,{style:P.dateArrow,onPress:e.onPrevDay,hitSlop:6,children:M}),n[15]=e.onPrevDay,n[16]=M,n[17]=T):T=n[17],n[18]!==x.surface?(v=[P.datePill,{backgroundColor:x.surface}],n[18]=x.surface,n[19]=v):v=n[19],n[20]!==x.foregroundSubtle?(C=(0,h.jsx)(f.Calendar,{size:12,color:x.foregroundSubtle}),n[20]=x.foregroundSubtle,n[21]=C):C=n[21],n[22]!==x.foreground?(k=[P.dateText,{color:x.foreground}],n[22]=x.foreground,n[23]=k):k=n[23],n[24]!==e.dateLabel||n[25]!==k?(I=(0,h.jsx)(l.default,{style:k,children:e.dateLabel}),n[24]=e.dateLabel,n[25]=k,n[26]=I):I=n[26],n[27]!==x.foregroundSubtle?(B=(0,h.jsx)(f.ChevronDown,{size:10,color:x.foregroundSubtle}),n[27]=x.foregroundSubtle,n[28]=B):B=n[28],n[29]!==B||n[30]!==v||n[31]!==C||n[32]!==I?(L=(0,h.jsxs)(t.default,{style:v,children:[C,I,B]}),n[29]=B,n[30]=v,n[31]=C,n[32]=I,n[33]=L):L=n[33],n[34]!==e.onOpenDatePicker||n[35]!==L?(A=(0,h.jsx)(s.default,{onPress:e.onOpenDatePicker,children:L}),n[34]=e.onOpenDatePicker,n[35]=L,n[36]=A):A=n[36];const q=e.nextDayDisabled?x.foregroundSubtle:x.foregroundMuted;let w,N,G,_,R,E;n[37]!==q?(w=(0,h.jsx)(f.ChevronRight,{size:16,color:q}),n[37]=q,n[38]=w):w=n[38],n[39]!==e.nextDayDisabled||n[40]!==e.onNextDay||n[41]!==w?(N=(0,h.jsx)(s.default,{style:P.dateArrow,onPress:e.onNextDay,disabled:e.nextDayDisabled,hitSlop:6,children:w}),n[39]=e.nextDayDisabled,n[40]=e.onNextDay,n[41]=w,n[42]=N):N=n[42],n[43]===Symbol.for("react.memo_cache_sentinel")?(G=(0,h.jsx)(t.default,{style:P.spacer}),n[43]=G):G=n[43],n[44]!==O||n[45]!==z||n[46]!==e.exportMenuLabel||n[47]!==e.exportMenuOpen||n[48]!==e.onToggleExportMenu||n[49]!==e.snapshotBusy?(_=e.onToggleExportMenu?(0,h.jsx)(s.default,{style:O(e.exportMenuOpen),onPress:e.onToggleExportMenu,hitSlop:6,accessibilityLabel:e.exportMenuLabel,children:e.snapshotBusy?(0,h.jsx)(c.default,{size:"small",color:z(e.exportMenuOpen)}):(0,h.jsx)(f.Camera,{size:14,color:z(e.exportMenuOpen)})}):null,n[44]=O,n[45]=z,n[46]=e.exportMenuLabel,n[47]=e.exportMenuOpen,n[48]=e.onToggleExportMenu,n[49]=e.snapshotBusy,n[50]=_):_=n[50],n[51]!==O||n[52]!==z||n[53]!==e.hasPtz||n[54]!==e.onTogglePtz||n[55]!==e.ptzOpen?(R=e.hasPtz&&e.onTogglePtz?(0,h.jsx)(s.default,{style:O(e.ptzOpen),onPress:e.onTogglePtz,hitSlop:6,children:(0,h.jsx)(f.Move,{size:14,color:z(e.ptzOpen)})}):null,n[51]=O,n[52]=z,n[53]=e.hasPtz,n[54]=e.onTogglePtz,n[55]=e.ptzOpen,n[56]=R):R=n[56],n[57]!==O||n[58]!==e.devicesOpen?(E=O(e.devicesOpen),n[57]=O,n[58]=e.devicesOpen,n[59]=E):E=n[59];const W=e.onToggleDevices;let F,H,Q,U;n[60]!==z||n[61]!==e.devicesOpen?(F=z(e.devicesOpen),n[60]=z,n[61]=e.devicesOpen,n[62]=F):F=n[62],n[63]!==F?(H=(0,h.jsx)(f.LayoutGrid,{size:14,color:F}),n[63]=F,n[64]=H):H=n[64],n[65]!==e.onToggleDevices||n[66]!==E||n[67]!==H?(Q=(0,h.jsx)(s.default,{style:E,onPress:W,hitSlop:6,children:H}),n[65]=e.onToggleDevices,n[66]=E,n[67]=H,n[68]=Q):Q=n[68],n[69]!==O||n[70]!==e.menuOpen?(U=O(e.menuOpen),n[69]=O,n[70]=e.menuOpen,n[71]=U):U=n[71];const V=e.onToggleMenu;let J,K,X,Y;n[72]!==z||n[73]!==e.menuOpen?(J=z(e.menuOpen),n[72]=z,n[73]=e.menuOpen,n[74]=J):J=n[74],n[75]!==J?(K=(0,h.jsx)(f.List,{size:14,color:J}),n[75]=J,n[76]=K):K=n[76],n[77]!==e.onToggleMenu||n[78]!==U||n[79]!==K?(X=(0,h.jsx)(s.default,{style:U,onPress:V,hitSlop:6,children:K}),n[77]=e.onToggleMenu,n[78]=U,n[79]=K,n[80]=X):X=n[80],n[81]!==O||n[82]!==e.qualityOpen?(Y=O(e.qualityOpen),n[81]=O,n[82]=e.qualityOpen,n[83]=Y):Y=n[83];const Z=e.onToggleQuality;let $,ee,oe,ne,te,re;return n[84]!==z||n[85]!==e.qualityOpen?($=z(e.qualityOpen),n[84]=z,n[85]=e.qualityOpen,n[86]=$):$=n[86],n[87]!==$?(ee=[P.qualityText,{color:$}],n[87]=$,n[88]=ee):ee=n[88],n[89]!==e.qualityLabel||n[90]!==ee?(oe=(0,h.jsx)(l.default,{style:ee,children:e.qualityLabel}),n[89]=e.qualityLabel,n[90]=ee,n[91]=oe):oe=n[91],n[92]!==e.onToggleQuality||n[93]!==Y||n[94]!==oe?(ne=(0,h.jsx)(s.default,{style:Y,onPress:Z,hitSlop:6,children:oe}),n[92]=e.onToggleQuality,n[93]=Y,n[94]=oe,n[95]=ne):ne=n[95],n[96]!==A||n[97]!==N||n[98]!==_||n[99]!==R||n[100]!==Q||n[101]!==X||n[102]!==D||n[103]!==ne||n[104]!==T?(te=(0,h.jsxs)(t.default,{style:P.row,children:[D,T,A,N,G,_,R,Q,X,ne]}),n[96]=A,n[97]=N,n[98]=_,n[99]=R,n[100]=Q,n[101]=X,n[102]=D,n[103]=ne,n[104]=T,n[105]=te):te=n[105],n[106]!==S||n[107]!==te?(re=(0,h.jsx)(t.default,{style:S,children:te}),n[106]=S,n[107]=te,n[108]=re):re=n[108],re}),P=u.default.create({container:{borderBottomWidth:1,zIndex:20},row:{flexDirection:'row',alignItems:'center',gap:x.SPACING.xs,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.sm+2},backBtn:{width:30,height:30,borderRadius:15,alignItems:'center',justifyContent:'center'},dateArrow:{width:28,height:28,borderRadius:14,alignItems:'center',justifyContent:'center'},datePill:{flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.xs+2,borderRadius:x.RADIUS.lg},dateText:{fontSize:12,fontWeight:'600'},spacer:{flex:1},iconBtn:{minWidth:30,height:30,paddingHorizontal:x.SPACING.sm,borderRadius:x.RADIUS.lg,alignItems:'center',justifyContent:'center'},qualityText:{fontSize:10,fontWeight:'700'}})},3508,[15,17,20,112,252,33,240,786,813,2587,2589,10]);
|
|
15930
|
+
__d(function(g,_r,_i,_a,_m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HeatmapBar",{enumerable:!0,get:function(){return p}});var e=_r(d[0]),n=_r(d[1]),o=t(_r(d[2])),r=t(_r(d[3])),a=_r(d[4]),i=_r(d[5]),c=_r(d[6]),s=_r(d[7]),l=_r(d[8]);function u(t,e,n){const o=n-e;if(o<=0)return[];const r=[];for(const a of t){const t=Math.max(a.startMs,e),i=Math.min(a.endMs,n);i<=t||r.push({leftPct:(t-e)/o*100,widthPct:(i-t)/o*100})}return r}function f(t){const e=t.length;if(0===e)return[];const n=[];let o=-1;for(let r=0;r<e;r++){const a=t[r].recorded;a&&o<0&&(o=r);if((!a||r===e-1)&&o>=0){const t=a?r:r-1;n.push({leftPct:o/e*100,widthPct:(t-o+1)/e*100}),o=-1}}return n}const p=(0,n.memo)(function(t){const r=(0,e.c)(45),{bins:c,cursorFraction:p,eventMarkers:v,coverage:y,dayStartMs:M,dayEndMs:x,onSeekFraction:R,onScrubStart:S,onScrubFraction:_,onScrubEnd:E}=t,{colors:k}=(0,a.useTheme)(),j=(0,n.useRef)(0),C=(0,n.useRef)(0),O=(0,n.useRef)(!1),w=!(!R&&!_);let P;t:{if(y&&void 0!==M&&void 0!==x){let t;r[0]!==y||r[1]!==x||r[2]!==M?(t=u(y,M,x),r[0]=y,r[1]=x,r[2]=M,r[3]=t):t=r[3],P=t;break t}let t;r[4]!==c?(t=f(c),r[4]=c,r[5]=t):t=r[5],P=t}const F=P;let H;r[6]===Symbol.for("react.memo_cache_sentinel")?(H=t=>{j.current=t.nativeEvent.layout.width},r[6]=H):H=r[6];const L=H;let X;r[7]===Symbol.for("react.memo_cache_sentinel")?(X=t=>(0,i.pointerFraction)(t.nativeEvent.locationX,j.current),r[7]=X):X=r[7];const $=X;let B;r[8]!==w?(B=t=>{C.current=t.nativeEvent.locationX,O.current=!1,s.log.debug("heatmap","grant",{interactive:w,x:t.nativeEvent.locationX})},r[8]=w,r[9]=B):B=r[9];const I=B;let z;r[10]!==_||r[11]!==S?(z=t=>{if(!O.current&&Math.abs(t.nativeEvent.locationX-C.current)>8&&(O.current=!0,S?.()),!O.current)return;const e=$(t);null!==e&&_?.(e)},r[10]=_,r[11]=S,r[12]=z):z=r[12];const D=z;let T;r[13]!==E||r[14]!==R?(T=t=>{const e=$(t);s.log.debug("heatmap","release",{moved:O.current,fraction:e}),null!==e&&(O.current?E?.(e):R?.(e))},r[13]=E,r[14]=R,r[15]=T):T=r[15];const W=T;let A,G,N,U,q,J;if(r[16]!==w?(A=()=>w,G=()=>w,r[16]=w,r[17]=A,r[18]=G):(A=r[17],G=r[18]),r[19]!==k.border||r[20]!==k.surface?(N=[b.bar,{backgroundColor:k.surface,borderBottomColor:k.border}],r[19]=k.border,r[20]=k.surface,r[21]=N):N=r[21],r[22]!==k.danger||r[23]!==F){let t;r[25]!==k.danger?(t=(t,e)=>(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.recording,{left:`${t.leftPct}%`,width:`${t.widthPct}%`,backgroundColor:k.danger}]},`rec-${e}`),r[25]=k.danger,r[26]=t):t=r[26],U=F.map(t),r[22]=k.danger,r[23]=F,r[24]=U}else U=r[24];r[27]!==c?(q=c.map(m),r[27]=c,r[28]=q):q=r[28],r[29]!==v?(J=v?.map(h),r[29]=v,r[30]=J):J=r[30];const K=100*p+"%";let Q,V;return r[31]!==k.primary||r[32]!==K?(Q=(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.cursor,{left:K,backgroundColor:k.primary}]}),r[31]=k.primary,r[32]=K,r[33]=Q):Q=r[33],r[34]!==I||r[35]!==D||r[36]!==W||r[37]!==U||r[38]!==q||r[39]!==J||r[40]!==Q||r[41]!==A||r[42]!==G||r[43]!==N?(V=(0,l.jsxs)(o.default,{onLayout:L,onStartShouldSetResponder:A,onMoveShouldSetResponder:G,onResponderGrant:I,onResponderMove:D,onResponderRelease:W,style:N,children:[U,q,J,Q]}),r[34]=I,r[35]=D,r[36]=W,r[37]=U,r[38]=q,r[39]=J,r[40]=Q,r[41]=A,r[42]=G,r[43]=N,r[44]=V):V=r[44],V}),b=r.default.create({bar:{flexDirection:'row',height:28,borderBottomWidth:1,alignItems:'flex-end',paddingHorizontal:2},bin:{flex:1,height:'100%',justifyContent:'flex-end',paddingHorizontal:.5},recording:{position:'absolute',top:0,bottom:0,minWidth:2,opacity:.15},fill:{borderRadius:1,minHeight:2},cursor:{position:'absolute',top:0,bottom:0,width:2,opacity:.85},eventMarker:{position:'absolute',top:1,bottom:1,width:2,marginLeft:-1,borderRadius:1,opacity:.95}});function m(t,e){const n=t.audio>0,r=n?t.audio:t.motion,a=t.motion>0||n,i=n?c.AUDIO_COLOR:c.MOTION_COLOR;return(0,l.jsx)(o.default,{pointerEvents:"none",style:b.bin,children:(0,l.jsx)(o.default,{style:[b.fill,{height:`${a?Math.max(15,100*r):0}%`,backgroundColor:a?i:"transparent",opacity:a?.5+.5*r:0}]})},e)}function h(t){return(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.eventMarker,{left:100*t.fraction+"%",backgroundColor:t.color}]},t.id)}},3509,[15,17,20,33,2587,3510,3231,2705,10]);
|
|
15931
|
+
__d(function(g,r,i,a,m,e,d){"use strict";function n(n){return Math.max(0,Math.min(1,n))}Object.defineProperty(e,'__esModule',{value:!0}),e.dayFractionToEpoch=function(t,o,u){const c=u-o;return Math.round(o+n(t)*c)},e.epochToDayFraction=function(t,o,u){const c=u-o;return c<=0?0:n((t-o)/c)},e.pointerFraction=function(t,o){return!Number.isFinite(t)||!Number.isFinite(o)||o<=0?null:n(t/o)}},3510,[]);
|
|
15932
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineFabControls",{enumerable:!0,get:function(){return y}});var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=r(d[5]),u=r(d[6]),b=r(d[7]),f=r(d[8]);const y=(0,t.memo)(function(e){const t=(0,o.c)(72),{onZoomIn:l,onZoomOut:y,onFilter:j,onZoneFilter:x,onPickCamera:p,canZoomIn:C,canZoomOut:S,filterActive:v,filterOpen:P,zoneActive:w,bottomInset:I}=e,z=void 0===C||C,F=void 0===S||S,k=void 0!==v&&v,D=void 0!==P&&P,O=void 0!==w&&w,_=void 0===I?0:I,{colors:R}=(0,u.useTheme)();let Z;t[0]!==R.border||t[1]!==R.surface?(Z={backgroundColor:R.surface,borderColor:R.border},t[0]=R.border,t[1]=R.surface,t[2]=Z):Z=t[2];const A=Z,M=k||D,G=b.SPACING.lg+_;let N;t[3]!==G?(N=[h.stack,{bottom:G}],t[3]=G,t[4]=N):N=t[4];const T=!z&&h.fabDisabled;let E;t[5]!==A||t[6]!==T?(E=[h.fab,A,T],t[5]=A,t[6]=T,t[7]=E):E=t[7];const V=!z,W=!z;let q;t[8]!==W?(q={disabled:W},t[8]=W,t[9]=q):q=t[9];const B=z?R.foreground:R.foregroundDisabled;let H,J;t[10]!==B?(H=(0,f.jsx)(c.Plus,{size:18,color:B}),t[10]=B,t[11]=H):H=t[11],t[12]!==l||t[13]!==E||t[14]!==V||t[15]!==q||t[16]!==H?(J=(0,f.jsx)(s.default,{style:E,onPress:l,disabled:V,hitSlop:4,accessibilityRole:"button",accessibilityState:q,children:H}),t[12]=l,t[13]=E,t[14]=V,t[15]=q,t[16]=H,t[17]=J):J=t[17];const K=!F&&h.fabDisabled;let L;t[18]!==A||t[19]!==K?(L=[h.fab,A,K],t[18]=A,t[19]=K,t[20]=L):L=t[20];const Q=!F,U=!F;let X;t[21]!==U?(X={disabled:U},t[21]=U,t[22]=X):X=t[22];const Y=F?R.foreground:R.foregroundDisabled;let $,ee,oe,te;t[23]!==Y?($=(0,f.jsx)(c.Minus,{size:18,color:Y}),t[23]=Y,t[24]=$):$=t[24],t[25]!==y||t[26]!==L||t[27]!==Q||t[28]!==X||t[29]!==$?(ee=(0,f.jsx)(s.default,{style:L,onPress:y,disabled:Q,hitSlop:4,accessibilityRole:"button",accessibilityState:X,children:$}),t[25]=y,t[26]=L,t[27]=Q,t[28]=X,t[29]=$,t[30]=ee):ee=t[30],t[31]!==A||t[32]!==R.warning||t[33]!==M?(oe=[h.fab,M?{backgroundColor:R.warning,borderColor:R.warning}:A],t[31]=A,t[32]=R.warning,t[33]=M,t[34]=oe):oe=t[34],t[35]!==M?(te={selected:M},t[35]=M,t[36]=te):te=t[36];const re=M?R.primaryForeground:R.foreground;let ne,ie,se,le;t[37]!==re?(ne=(0,f.jsx)(c.Filter,{size:14,color:re}),t[37]=re,t[38]=ne):ne=t[38],t[39]!==j||t[40]!==oe||t[41]!==te||t[42]!==ne?(ie=(0,f.jsx)(s.default,{style:oe,onPress:j,hitSlop:4,accessibilityRole:"button",accessibilityState:te,children:ne}),t[39]=j,t[40]=oe,t[41]=te,t[42]=ne,t[43]=ie):ie=t[43],t[44]!==A||t[45]!==R.warning||t[46]!==O?(se=[h.fab,O?{backgroundColor:R.warning,borderColor:R.warning}:A],t[44]=A,t[45]=R.warning,t[46]=O,t[47]=se):se=t[47],t[48]!==O?(le={selected:O},t[48]=O,t[49]=le):le=t[49];const ae=O?R.primaryForeground:R.foreground;let ce,de,ue,be,fe,ge;return t[50]!==ae?(ce=(0,f.jsx)(c.Scan,{size:14,color:ae}),t[50]=ae,t[51]=ce):ce=t[51],t[52]!==x||t[53]!==se||t[54]!==le||t[55]!==ce?(de=(0,f.jsx)(s.default,{style:se,onPress:x,hitSlop:4,accessibilityRole:"button",accessibilityState:le,children:ce}),t[52]=x,t[53]=se,t[54]=le,t[55]=ce,t[56]=de):de=t[56],t[57]!==A?(ue=[h.fab,A],t[57]=A,t[58]=ue):ue=t[58],t[59]!==R.foreground?(be=(0,f.jsx)(c.Video,{size:14,color:R.foreground}),t[59]=R.foreground,t[60]=be):be=t[60],t[61]!==p||t[62]!==ue||t[63]!==be?(fe=(0,f.jsx)(s.default,{style:ue,onPress:p,hitSlop:4,children:be}),t[61]=p,t[62]=ue,t[63]=be,t[64]=fe):fe=t[64],t[65]!==J||t[66]!==ee||t[67]!==ie||t[68]!==de||t[69]!==fe||t[70]!==N?(ge=(0,f.jsx)(n.default,{style:h.container,pointerEvents:"box-none",children:(0,f.jsxs)(n.default,{style:N,children:[J,ee,ie,de,fe]})}),t[65]=J,t[66]=ee,t[67]=ie,t[68]=de,t[69]=fe,t[70]=N,t[71]=ge):ge=t[71],ge}),h=l.default.create({container:Object.assign({},l.default.absoluteFill,{zIndex:12}),stack:{position:'absolute',left:0,right:0,flexDirection:'row',justifyContent:'center',alignItems:'center',gap:b.SPACING.md},fab:{width:36,height:36,borderRadius:18,borderWidth:1,alignItems:'center',justifyContent:'center'},fabDisabled:{opacity:.4}})},3511,[15,17,20,252,33,813,2587,2589,10]);
|
|
15933
|
+
__d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineFilterPanel",{enumerable:!0,get:function(){return v}});var o=r(_d[0]),t=r(_d[1]),d=e(r(_d[2])),l=e(r(_d[3])),n=e(r(_d[4])),s=e(r(_d[5])),u=r(_d[6]),c=r(_d[7]),f=r(_d[8]),b=r(_d[9]),p=r(_d[10]),h=r(_d[11]),m=r(_d[12]),x=r(_d[13]),y=r(_d[14]);const C={motion:p.MOTION_COLOR,audio:p.AUDIO_COLOR},v=(0,t.memo)(function(e){const t=(0,o.c)(61),{filter:s,onToggleKind:b,classes:p,classFilter:v,onToggleClass:S,onReset:M,eventKinds:j,bottomInset:A}=e,{t:k}=(0,u.useTranslation)(),{colors:P}=(0,f.useTheme)();let E;t[0]!==s?(E=(0,x.isFilterAll)(s),t[0]=s,t[1]=E):E=t[1];const R=E,_=R&&0===v.size;let O;if(t[2]!==j){O=new Map;for(const e of j??[])O.set(e.kind,e);t[2]=j,t[3]=O}else O=t[3];const T=O;let N,z;t[4]!==A||t[5]!==P.border||t[6]!==P.surface?(N=[I.panel,{bottom:A,backgroundColor:P.surface,borderColor:P.border}],t[4]=A,t[5]=P.border,t[6]=P.surface,t[7]=N):N=t[7],t[8]!==_?(z={selected:_},t[8]=_,t[9]=z):z=t[9];const F=_?P.primary:P.backgroundElevated,G=_?P.primary:P.border;let D;t[10]!==F||t[11]!==G?(D=[I.chip,{backgroundColor:F,borderColor:G}],t[10]=F,t[11]=G,t[12]=D):D=t[12];const L=_?P.primaryForeground:P.foregroundMuted;let K;t[13]!==L?(K=(0,y.jsx)(c.ListFilter,{size:13,color:L}),t[13]=L,t[14]=K):K=t[14];const w=_?P.primaryForeground:P.foregroundMuted;let W,U,$,V,B,H,q;if(t[15]!==w?(W=[I.chipText,{color:w}],t[15]=w,t[16]=W):W=t[16],t[17]!==k?(U=k("v2.theater.filterAll"),t[17]=k,t[18]=U):U=t[18],t[19]!==W||t[20]!==U?($=(0,y.jsx)(l.default,{style:W,children:U}),t[19]=W,t[20]=U,t[21]=$):$=t[21],t[22]!==M||t[23]!==$||t[24]!==z||t[25]!==D||t[26]!==K?(V=(0,y.jsxs)(n.default,{onPress:M,hitSlop:4,accessibilityRole:"button",accessibilityState:z,style:D,children:[K,$]}),t[22]=M,t[23]=$,t[24]=z,t[25]=D,t[26]=K,t[27]=V):V=t[27],t[28]!==P.backgroundElevated||t[29]!==P.border||t[30]!==P.foreground||t[31]!==P.foregroundMuted||t[32]!==s||t[33]!==R||t[34]!==b||t[35]!==k?(B=x.ALL_BAR_KINDS.map(e=>{const o=!R&&s.has(e),t="audio"===e?c.Volume2:c.Activity,d=C[e];return(0,y.jsxs)(n.default,{onPress:()=>b(e),hitSlop:4,accessibilityRole:"button",accessibilityState:{selected:o},style:[I.chip,{backgroundColor:o?`${d}26`:P.backgroundElevated,borderColor:o?d:P.border}],children:[(0,y.jsx)(t,{size:13,color:o?d:P.foregroundMuted}),(0,y.jsx)(l.default,{style:[I.chipText,{color:o?P.foreground:P.foregroundMuted}],children:k(`v2.theater.filter_${e}`)})]},e)}),t[28]=P.backgroundElevated,t[29]=P.border,t[30]=P.foreground,t[31]=P.foregroundMuted,t[32]=s,t[33]=R,t[34]=b,t[35]=k,t[36]=B):B=t[36],t[37]!==v||t[38]!==p||t[39]!==P.backgroundElevated||t[40]!==P.border||t[41]!==P.foreground||t[42]!==P.foregroundMuted||t[43]!==T||t[44]!==S||t[45]!==k){let e;t[47]!==v||t[48]!==P.backgroundElevated||t[49]!==P.border||t[50]!==P.foreground||t[51]!==P.foregroundMuted||t[52]!==T||t[53]!==S||t[54]!==k?(e=e=>{const o=v.has(e),t=T.get(e),d=t?.color??(0,h.getClassColor)(e),s=t?(0,m.resolveEventKindIcon)(t.iconId):null,u=t?(0,m.eventKindLabel)(t,k):e;return(0,y.jsxs)(n.default,{onPress:()=>S(e),hitSlop:4,accessibilityRole:"button",accessibilityState:{selected:o},style:[I.chip,{backgroundColor:o?`${d}26`:P.backgroundElevated,borderColor:o?d:P.border}],children:[s?(0,y.jsx)(s,{size:13,color:o?d:P.foregroundMuted}):null,(0,y.jsx)(l.default,{style:[I.chipText,{color:o?P.foreground:P.foregroundMuted}],children:u})]},e)},t[47]=v,t[48]=P.backgroundElevated,t[49]=P.border,t[50]=P.foreground,t[51]=P.foregroundMuted,t[52]=T,t[53]=S,t[54]=k,t[55]=e):e=t[55],H=p.map(e),t[37]=v,t[38]=p,t[39]=P.backgroundElevated,t[40]=P.border,t[41]=P.foreground,t[42]=P.foregroundMuted,t[43]=T,t[44]=S,t[45]=k,t[46]=H}else H=t[46];return t[56]!==V||t[57]!==B||t[58]!==H||t[59]!==N?(q=(0,y.jsx)(d.default,{style:I.container,pointerEvents:"box-none",children:(0,y.jsxs)(d.default,{style:N,children:[V,B,H]})}),t[56]=V,t[57]=B,t[58]=H,t[59]=N,t[60]=q):q=t[60],q}),I=s.default.create({container:Object.assign({},s.default.absoluteFill,{zIndex:11}),panel:{position:'absolute',left:b.SPACING.md,right:b.SPACING.md,flexDirection:'row',flexWrap:'wrap',justifyContent:'center',gap:b.SPACING.sm,padding:b.SPACING.md,borderWidth:1,borderRadius:b.RADIUS.xl},chip:{flexDirection:'row',alignItems:'center',gap:b.SPACING.xs+2,paddingHorizontal:b.SPACING.md,paddingVertical:b.SPACING.sm+1,borderRadius:b.RADIUS.lg,borderWidth:1},chipText:{fontSize:12,fontWeight:'600'}})},3512,[15,17,20,112,252,33,786,813,2587,2589,3231,3232,3170,3142,10]);
|
|
15934
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.pxPerHour=n,e.offsetToEpoch=function(o,u,c){const f=o/n(c);return Math.round(u-f*t)},e.epochToOffset=function(o,u,c){const f=(u-o)/t;return Math.max(0,f*n(c))};var o=r(d[0]);const t=36e5;function n(t){return 60/o.ZOOM_LEVELS[(0,o.clampZoomIndex)(t)].rowMinutes*o.TIMELINE_ROW_HEIGHT}},3513,[3142]);
|
|
15935
|
+
__d(function(g,r,i,a,m,e,d){"use strict";function t(t){return Number.isFinite(t)?Math.min(100,Math.max(0,t)):0}Object.defineProperty(e,'__esModule',{value:!0}),e.indicatorOffsetPx=function(n,u){return!Number.isFinite(n)||n<=0?0:Math.round(n*t(u)/100)},Object.defineProperty(e,"FIXED_INDICATOR_POSITION_PCT",{enumerable:!0,get:function(){return n}});const n=10},3514,[]);
|
|
15936
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.atLiveEdge=function(t,n){return t<=n}},3515,[]);
|
|
15937
|
+
__d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"DatePickerModal",{enumerable:!0,get:function(){return p}});var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),i=e(r(d[4])),s=e(r(d[5])),c=r(d[6]),u=r(d[7]),h=r(d[8]),f=r(d[9]),y=r(d[10]),b=r(d[11]);const p=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:f}=(0,h.useTheme)(),p=new Date(e.monthAnchorMs),j=(0,t.useMemo)(()=>(0,y.buildMonthGrid)(p.getFullYear(),p.getMonth(),e.nowMs),[p.getFullYear(),p.getMonth(),e.nowMs]),w=p.toLocaleDateString(void 0,{month:'long',year:'numeric'}),C=new Date(e.nowMs);return C.setHours(0,0,0,0),(0,b.jsx)(o.default,{visible:e.visible,transparent:!0,animationType:"fade",onRequestClose:e.onClose,children:(0,b.jsx)(i.default,{style:x.backdrop,onPress:e.onClose,children:(0,b.jsxs)(i.default,{style:[x.card,{backgroundColor:f.background,borderColor:f.border}],children:[(0,b.jsxs)(n.default,{style:x.header,children:[(0,b.jsx)(i.default,{style:x.navBtn,onPress:()=>e.onChangeMonth(-1),hitSlop:8,children:(0,b.jsx)(u.ChevronLeft,{size:18,color:f.foregroundMuted})}),(0,b.jsx)(l.default,{style:[x.title,{color:f.foreground}],children:w}),(0,b.jsx)(i.default,{style:x.navBtn,onPress:()=>e.onChangeMonth(1),hitSlop:8,children:(0,b.jsx)(u.ChevronRight,{size:18,color:f.foregroundMuted})})]}),(0,b.jsx)(n.default,{style:x.weekRow,children:['L','M','M','G','V','S','D'].map((e,t)=>(0,b.jsx)(l.default,{style:[x.weekday,{color:f.foregroundSubtle}],children:e},t))}),(0,b.jsx)(n.default,{style:x.grid,children:j.map(t=>{const o=e.daysSet.has(t.epoch),s=t.epoch===e.selectedDayMs,c=t.epoch===C.getTime();return(0,b.jsxs)(i.default,{style:[x.cell,s&&{backgroundColor:f.primary},!s&&c&&{borderColor:f.primary,borderWidth:1}],disabled:t.isFuture,onPress:()=>e.onPick(t.epoch),children:[(0,b.jsx)(l.default,{style:[x.cellText,{color:t.isFuture?f.foregroundSubtle:s?f.primaryForeground:t.inMonth?f.foreground:f.foregroundMuted}],children:new Date(t.epoch).getDate()}),o&&!s?(0,b.jsx)(n.default,{style:[x.dot,{backgroundColor:f.primary}]}):null]},t.epoch)})}),(0,b.jsx)(l.default,{style:[x.hint,{color:f.foregroundSubtle}],children:s('v2.theater.selectDate')})]})})})}),x=s.default.create({backdrop:{flex:1,backgroundColor:'rgba(0,0,0,0.5)',alignItems:'center',justifyContent:'center'},card:{width:280+2*f.SPACING.md,borderRadius:f.RADIUS.lg,borderWidth:1,padding:f.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',marginBottom:f.SPACING.sm},navBtn:{width:32,height:32,alignItems:'center',justifyContent:'center'},title:{fontSize:15,fontWeight:'700',textTransform:'capitalize'},weekRow:{flexDirection:'row'},weekday:{width:40,textAlign:'center',fontSize:11,fontWeight:'600'},grid:{flexDirection:'row',flexWrap:'wrap'},cell:{width:40,height:40,alignItems:'center',justifyContent:'center',borderRadius:f.RADIUS.md},cellText:{fontSize:13,fontWeight:'600'},dot:{width:4,height:4,borderRadius:2,marginTop:2},hint:{fontSize:11,textAlign:'center',marginTop:f.SPACING.sm}})},3516,[17,245,20,112,252,33,786,813,2587,2589,3517,10]);
|
|
15938
|
+
__d(function(g,r,_i,a,m,e,_d){"use strict";function t(t,n){return{fromMs:new Date(t,n,1,0,0,0,0).getTime(),toMs:new Date(t,n+1,1,0,0,0,0).getTime()}}Object.defineProperty(e,'__esModule',{value:!0}),e.monthBounds=t,e.monthBoundsForMs=function(n){const o=new Date(n);return t(o.getFullYear(),o.getMonth())},e.buildMonthGrid=function(t,n,o){const u=(new Date(t,n,1,0,0,0,0).getDay()+6)%7,s=new Date(o);s.setHours(0,0,0,0);const i=[];for(let o=0;o<42;o++){const c=new Date(t,n,1-u+o,0,0,0,0);i.push({epoch:c.getTime(),inMonth:c.getMonth()===n,isFuture:c.getTime()>s.getTime()})}return i}},3517,[]);
|
|
15939
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.dayAtSameTime=function(t,n,o){const s=new Date(t),c=new Date(n);c.setHours(s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds());const u=c.getTime();return u>o?o:u},e.dateLabel=function(n,o,s){const c=new Date(n);c.setHours(0,0,0,0);const u=new Date(o);u.setHours(0,0,0,0);const y=Math.round((u.getTime()-c.getTime())/t);return 0===y?s('v2.theater.today'):1===y?s('v2.theater.yesterday'):new Date(n).toLocaleDateString(void 0,{weekday:'short',day:'numeric',month:'short'})};const t=864e5},3518,[]);
|
|
15940
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.trackToTimelineEvent=p,e.timelineEventToTrackSummary=function(t,n,s=""){return Object.assign({trackId:t.trackId??t.id,deviceId:n,cameraName:s,className:t.className},void 0!==t.label?{label:t.label}:{},void 0!==t.importance?{importance:t.importance}:{},{firstSeen:t.timestamp,lastSeen:t.endTimestamp??t.timestamp,state:'idle',active:!1,zonesVisited:[],audioLabels:void 0!==t.audioLabels?[...t.audioLabels]:[],bestEventId:t.id})},e.useDeviceTracks=function(b,y,f){const k=(0,t.c)(13),{controller:T,state:I}=(0,s.useConnection)();let S;k[0]!==b||k[1]!==y||k[2]!==f?(S=["v2","analytics","device-tracks",b,y,f],k[0]=b,k[1]=y,k[2]=f,k[3]=S):S=k[3];const L="connected"===I;let h,N;k[4]!==T||k[5]!==b||k[6]!==y||k[7]!==f?(h=async()=>{const t=T.getSystem();if(!t)return[];const n=await(0,o.capQuery)(t.trpcClient,"pipelineAnalytics","listTracks",{deviceId:b,since:y,until:f,limit:v});if(!Array.isArray(n))return[];const s=[];for(const t of n){const n=(0,l.toTrackSummary)(t,"");null!==n&&s.push(p(n,(0,u.parsePositionBoxes)(t)))}return c.log.info("device-tracks","listTracks",{deviceId:b,count:s.length}),s},k[4]=T,k[5]=b,k[6]=y,k[7]=f,k[8]=h):h=k[8];k[9]!==S||k[10]!==L||k[11]!==h?(N={queryKey:S,enabled:L,staleTime:3e4,refetchInterval:3e4,queryFn:h},k[9]=S,k[10]=L,k[11]=h,k[12]=N):N=k[12];return(0,n.useQuery)(N)};var t=r(d[0]),n=r(d[1]),s=r(d[2]),c=r(d[3]),o=r(d[4]),l=r(d[5]),u=r(d[6]);const v=500;function p(t,n){return Object.assign({id:t.bestEventId,timestamp:t.firstSeen,endTimestamp:t.lastSeen,className:t.className,label:t.label,importance:t.importance,trackId:t.trackId},t.audioLabels.length>0?{audioLabels:t.audioLabels}:{},void 0!==n&&n.length>0?{positionBoxes:n}:{})}},3519,[15,3081,2594,2705,3162,3237,3504]);
|
|
15941
|
+
__d(function(g,_r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useTimelineActivity=function(f,M,p){const b=(0,t.c)(13),{controller:v,state:h}=(0,s.useConnection)();let A;b[0]!==f||b[1]!==M||b[2]!==p?(A=["v2","analytics","activity",f,M,p],b[0]=f,b[1]=M,b[2]=p,b[3]=A):A=b[3];const k="connected"===h;let R,E;b[4]!==v||b[5]!==f||b[6]!==M||b[7]!==p?(R=async()=>{const t=v.getSystem();if(!t)return r.log.warn("timeline-activity","no system (not connected)"),a;const n=t.trpcClient,s=(0,c.pickBucketMs)(M,p),b=Math.round(Math.abs(p-M)/s),[h,A,k]=await Promise.all([(0,o.capQuery)(n,"pipelineAnalytics","getEventDensity",{deviceId:f,since:M,until:p,bucketMs:s}),(0,o.capQuery)(n,"pipelineAnalytics","getAudioEvents",{deviceId:f,since:M,until:p,limit:1e3}),(0,o.capQuery)(n,"recording","getAvailability",{deviceId:f,fromMs:M,toMs:p})]),R=y(h),E=l(A),I=u(k),Q=(0,c.densityToMotionBuckets)(R,s),S=(0,c.audioEventsToBuckets)(E,M,s,b);return r.log.info("timeline-activity","fetched",{deviceId:f,densityRows:R.length,audioEvents:E.length,recordingRanges:I.length,bucketCount:b}),{recording:I,motion:Q,audio:S}},b[4]=v,b[5]=f,b[6]=M,b[7]=p,b[8]=R):R=b[8];b[9]!==A||b[10]!==k||b[11]!==R?(E={queryKey:A,enabled:k,staleTime:3e4,queryFn:R},b[9]=A,b[10]=k,b[11]=R,b[12]=E):E=b[12];return(0,n.useQuery)(E).data??a};var t=_r(d[0]),n=_r(d[1]),s=_r(d[2]),r=_r(d[3]),o=_r(d[4]),c=_r(d[5]);const a={recording:[],motion:[],audio:[]};function u(t){if(!(0,o.isRecord)(t)||!Array.isArray(t.ranges))return[];const n=[];for(const s of t.ranges)(0,o.isRecord)(s)&&'number'==typeof s.startMs&&'number'==typeof s.endMs&&s.endMs>s.startMs&&n.push({startMs:s.startMs,endMs:s.endMs});n.sort((t,n)=>t.startMs-n.startMs);const s=[];for(const t of n){const n=s[s.length-1];void 0!==n&&t.startMs<=n.endMs?t.endMs>n.endMs&&(s[s.length-1]={startMs:n.startMs,endMs:t.endMs}):s.push({startMs:t.startMs,endMs:t.endMs})}return s}function y(t){if(!Array.isArray(t))return[];const n=[];for(const s of t)(0,o.isRecord)(s)&&'number'==typeof s.bucketStart&&'number'==typeof s.motion&&n.push({bucketStart:s.bucketStart,motion:s.motion});return n}function l(t){if(!Array.isArray(t))return[];const n=[];for(const s of t)(0,o.isRecord)(s)&&'number'==typeof s.timestamp&&'number'==typeof s.dbfs&&n.push({timestamp:s.timestamp,dbfs:s.dbfs});return n}},3520,[15,3081,2594,2705,3162,3521]);
|
|
15942
|
+
__d(function(g,_r,_i,a,_m,e,d){"use strict";function t(t,n=-60,o=0){const s=(t-n)/(o-n);return Math.min(1,Math.max(0,s))}Object.defineProperty(e,'__esModule',{value:!0}),e.dbfsToUnit=t,e.densityToMotionBuckets=function(t,n){if(0===t.length)return[];const o=t.reduce((t,n)=>Math.max(t,n.motion),0);return t.map(t=>({startMs:t.bucketStart,endMs:t.bucketStart+n,intensity:o>0?Math.min(1,Math.max(0,t.motion/o)):0}))},e.audioEventsToBuckets=function(n,o,s,i){const r=Array.from({length:i},()=>{});for(const t of n){const n=Math.floor((t.timestamp-o)/s);if(n<0||n>=i)continue;const c=r[n];r[n]=void 0===c?t.dbfs:Math.max(c,t.dbfs)}return r.map((n,i)=>({startMs:o+i*s,endMs:o+(i+1)*s,intensity:void 0!==n?t(n):0}))},e.pickBucketMs=function(t,s,i=240){const r=Math.abs(s-t),c=Math.round(r/i);return Math.min(o,Math.max(n,c))};const n=5e3,o=36e5},3521,[]);
|
|
15943
|
+
__d(function(_g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.dedupeFragmentItems=p,_e.pickRepresentative=h,_e.clusterByZoom=function(t,{topMs:n,zoomIndex:s,sizePx:o,gapPx:a},c){if(0===t.length)return[];const l=[...t].sort((e,t)=>t.timestamp-e.timestamp),u=[];let f=[],b=0;function M(){if(0===f.length)return;const e=h(f,c),t=[...new Set(f.map(e=>e.className))],n=[...new Set(f.map(e=>e.label).filter(e=>'string'==typeof e&&e.length>0))],s=f.map(e=>e.timestamp);u.push({id:e.id,events:f,carouselEvents:p(f),representative:e,classes:t,labels:n,startMs:Math.min(...s),endMs:Math.max(...s),topPx:b,heightPx:o}),f=[]}for(const t of l){const c=(0,e.epochToOffset)(t.timestamp,n,s);0===f.length?(b=c,f.push(t)):(c<b+o+a||(M(),b=c),f.push(t))}return M(),u};var e=r(d[0]);const t=['label','person','vehicle','animal'],n={vehicle:['car','truck','bus','motorcycle'],animal:['dog','cat','bird']};function s(e){return'label'===e?[]:void 0!==n[e]?n[e]:[e]}function o(e,t){if('label'===t)return'string'==typeof e.label&&e.label.length>0;return s(t).includes(e.className)}const a=45e3,c=2e3;function l(e){return{start:e.timestamp,end:e.endTimestamp??e.timestamp}}function u(e,t){const{start:n}=l(t);return n>=e-c&&n<=e+a}function f(e,t){const n=e.importance??0,s=t.importance??0;return s>n?t:n>s?e:l(t).end>=l(e).end?t:e}function p(e){if(e.length<=1)return[...e];const t=new Map,n=[...e].sort((e,t)=>e.timestamp-t.timestamp);for(const e of n){const n=t.get(e.className)??[];let s;for(const t of n)u(t.endMs,e)&&(void 0===s||t.endMs>s.endMs)&&(s=t);void 0!==s?(s.best=f(s.best,e),s.endMs=Math.max(s.endMs,l(e).end)):n.push({best:e,endMs:l(e).end}),t.set(e.className,n)}const s=new Set;for(const e of t.values())for(const t of e)s.add(t.best);return e.filter(e=>s.has(e))}function h(e,n=t){for(const t of n){const n=e.find(e=>o(e,t));if(void 0!==n)return n}return e.reduce((e,t)=>t.timestamp>e.timestamp?t:e,e[0])}},3522,[3513]);
|
|
15944
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterDetailModal",{enumerable:!0,get:function(){return b}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),c=r(d[6]),f=r(d[7]),p=r(d[8]);const b=(0,o.memo)(function(e){const o=(0,t.c)(16),{deviceId:s,cluster:b,onSeek:v,onClose:C,seekAvailable:_}=e,{colors:j}=(0,c.useTheme)(),y=(0,u.useSafeAreaInsets)(),x=null!==b,h=j.background+"F2";let A,I,M,S;return o[0]!==y.top||o[1]!==h?(A=[k.backdrop,{backgroundColor:h,paddingTop:y.top}],o[0]=y.top,o[1]=h,o[2]=A):A=o[2],o[3]!==b||o[4]!==s||o[5]!==C||o[6]!==v||o[7]!==_?(I=(0,p.jsx)(f.ClusterDetailBody,{deviceId:s,cluster:b,onSeek:v,onClose:C,seekAvailable:_}),o[3]=b,o[4]=s,o[5]=C,o[6]=v,o[7]=_,o[8]=I):I=o[8],o[9]!==A||o[10]!==I?(M=(0,p.jsx)(n.default,{style:A,children:I}),o[9]=A,o[10]=I,o[11]=M):M=o[11],o[12]!==C||o[13]!==x||o[14]!==M?(S=(0,p.jsx)(l.default,{visible:x,animationType:"slide",transparent:!0,onRequestClose:C,children:M}),o[12]=C,o[13]=x,o[14]=M,o[15]=S):S=o[15],S}),k=s.default.create({backdrop:{flex:1}})},3523,[15,17,245,20,33,466,2587,3524,10]);
|
|
15945
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterDetailBody",{enumerable:!0,get:function(){return C}});var t=r(d[0]),l=r(d[1]),n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),h=r(d[8]),p=r(d[9]),x=r(d[10]),y=r(d[11]),k=r(d[12]),I=r(d[13]),b=r(d[14]);function j(e){return e.trackId??e.id}const C=(0,l.memo)(function(e){const u=(0,t.c)(32),{deviceId:x,cluster:C,onSeek:v,onClose:w,bottomInset:A,seekAvailable:P}=e,R=void 0===P||P,{colors:_}=(0,p.useTheme)(),{t:N}=(0,h.useTranslation)();let T;e:{if(null===C){let e;u[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],u[0]=e):e=u[0],T=e;break e}const e=C.carouselEvents.length>0?C.carouselEvents:C.events;let t;u[1]!==e?(t=[...e],u[1]=e,u[2]=t):t=u[2],T=t}const E=T,[G,z]=(0,l.useState)(null);let B,D,M;u[3]!==E?(B=()=>{z(e=>null!==e&&E.some(t=>j(t)===e)?e:void 0!==E[0]?j(E[0]):null)},D=[E],u[3]=E,u[4]=B,u[5]=D):(B=u[4],D=u[5]),(0,l.useEffect)(B,D),u[6]!==G||u[7]!==E?(M=E.find(e=>j(e)===G)??E[0]??null,u[6]=G,u[7]=E,u[8]=M):M=u[8];const F=M;let L;u[9]!==x||u[10]!==F?(L=null!==F?(0,I.timelineEventToTrackSummary)(F,x):null,u[9]=x,u[10]=F,u[11]=L):L=u[11];const O=L;let H,U,V,W,X;return u[12]!==_||u[13]!==F||u[14]!==E?(H=E.length>1?(0,b.jsx)(c.default,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:S.trackRow,style:S.trackRowFlex,children:E.map(e=>{const t=j(e),l=t===(null!==F?j(F):null);return(0,b.jsxs)(s.default,{onPress:()=>z(t),style:S.trackChip,children:[(0,b.jsx)(n.default,{style:[S.chipImage,{borderColor:l?_.primary:"transparent",borderWidth:l?2:0}],children:(0,b.jsx)(y.EventThumb,{event:e,width:56,height:56})}),(0,b.jsx)(o.default,{numberOfLines:1,style:[S.trackChipLabel,{color:l?_.foreground:_.foregroundMuted}],children:(c=e,c.label??c.className)})]},t);var c})}):(0,b.jsx)(n.default,{style:S.trackRowFlex}),u[12]=_,u[13]=F,u[14]=E,u[15]=H):H=u[15],u[16]!==_||u[17]!==w?(U=w?(0,b.jsx)(s.default,{onPress:w,hitSlop:10,style:[S.iconBtn,{backgroundColor:_.surface}],children:(0,b.jsx)(f.X,{size:20,color:_.foreground})}):null,u[16]=_,u[17]=w,u[18]=U):U=u[18],u[19]!==H||u[20]!==U?(V=(0,b.jsxs)(n.default,{style:S.pickerBar,children:[H,U]}),u[19]=H,u[20]=U,u[21]=V):V=u[21],u[22]!==A||u[23]!==_||u[24]!==v||u[25]!==R||u[26]!==O||u[27]!==N?(W=null!==O?(0,b.jsx)(k.TrackDetailView,{track:O,onSeek:R?v:void 0,bottomInset:A}):(0,b.jsx)(n.default,{style:S.empty,children:(0,b.jsx)(o.default,{style:{color:_.foregroundMuted},children:N("v2.theater.detailEmpty")})}),u[22]=A,u[23]=_,u[24]=v,u[25]=R,u[26]=O,u[27]=N,u[28]=W):W=u[28],u[29]!==W||u[30]!==V?(X=(0,b.jsxs)(n.default,{style:S.root,children:[V,W]}),u[29]=W,u[30]=V,u[31]=X):X=u[31],X}),S=u.default.create({root:{flex:1},pickerBar:{flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingTop:x.SPACING.sm},trackRowFlex:{flex:1},trackRow:{gap:x.SPACING.sm,paddingVertical:x.SPACING.xs,paddingRight:x.SPACING.md,alignItems:'center'},trackChip:{width:56,alignItems:'center',gap:2},chipImage:{width:56,height:56,borderRadius:x.RADIUS.md,overflow:'hidden'},trackChipLabel:{fontSize:10,maxWidth:64,textAlign:'center'},iconBtn:{width:36,height:36,borderRadius:x.RADIUS.md,alignItems:'center',justifyContent:'center'},empty:{flex:1,alignItems:'center',justifyContent:'center'}})},3524,[15,17,20,112,252,147,33,813,786,2587,2589,3373,3239,3519,10]);
|
|
15946
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineScroller",{enumerable:!0,get:function(){return L}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=r(d[7]),h=r(d[8]),p=r(d[9]),v=r(d[10]),x=r(d[11]),y=r(d[12]),b=r(d[13]);const S=36e5,C=h.SPACING.sm+3+h.SPACING.xs;function w(e,t,o,l){const{rowMinutes:n}=p.ZOOM_LEVELS[(0,p.clampZoomIndex)(l)],s=6e4*n,c=[];let u=Math.ceil((e+o)/s)*s;for(;u>=t;)c.push(u),u-=s;return c}const L=(0,o.memo)((0,o.forwardRef)(function(e,c){const p=(0,t.c)(72),{topMs:L,zoomIndex:P,dayWindow:E,clusters:j,activity:A,showMotionLane:k,showAudioLane:M,cardWidth:_,viewportHeight:G,indicatorOffsetPx:N,isLive:O,onScroll:D,onClusterPress:T,onClusterOpenDetail:R,clusterLabel:V,eventKinds:W}=e,{colors:z}=(0,f.useTheme)(),{t:H}=(0,u.useTranslation)(),F=(0,o.useRef)(null),[K,Z]=(0,o.useState)(0);let U,Y,q;p[0]===Symbol.for("react.memo_cache_sentinel")?(U=()=>({scrollToOffset:e=>{const{offset:t,animated:o}=e;return F.current?.scrollTo({y:t,animated:o??!1})}}),Y=[],p[0]=U,p[1]=Y):(U=p[0],Y=p[1]),(0,o.useImperativeHandle)(c,U,Y),p[2]!==E.from||p[3]!==L||p[4]!==P?(q=(0,v.epochToOffset)(E.from,L,P),p[2]=E.from,p[3]=L,p[4]=P,p[5]=q):q=p[5];const B=Math.max(G,q),J=N+B,Q=(0,v.pxPerHour)(P),X=Q>0?N/Q*S:0;let $;p[6]!==N||p[7]!==Q||p[8]!==L?($=e=>(L-e)/S*Q+N,p[6]=N,p[7]=Q,p[8]=L,p[9]=$):$=p[9];const ee=$;let te,oe,ie,le,ne,re,se,ae,de,ce,ue,fe,he,pe;if(p[10]!==_||p[11]!==z||p[12]!==J||p[13]!==ee||p[14]!==E.from||p[15]!==X||p[16]!==D||p[17]!==K||p[18]!==L||p[19]!==P){const e=w(L,E.from,X,P),t=h.SPACING.md+38+h.SPACING.sm,o=K-C-18-t;let c;oe=K>0?Math.max(t,t+(o-_)/2):h.SPACING.lg,te=l.default,re=F,se=!1,ae=D,p[30]===Symbol.for("react.memo_cache_sentinel")?(de=e=>Z(e.nativeEvent.layout.width),p[30]=de):de=p[30],ce=16,ie=I.scrollView,p[31]!==J?(le={height:J,position:"relative"},p[31]=J,p[32]=le):le=p[32],p[33]!==z||p[34]!==J||p[35]!==ee?(c=e=>{const t=ee(e);return t<0||t>J?null:(0,b.jsxs)(n.default,{pointerEvents:"none",style:[I.tickRow,{top:t}],children:[(0,b.jsx)(s.default,{style:[I.tickLabel,{color:z.foregroundSubtle}],children:(o=e,new Date(o).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'}))}),(0,b.jsx)(n.default,{style:[I.tickLine,{backgroundColor:z.borderSubtle}]})]},e);var o},p[33]=z,p[34]=J,p[35]=ee,p[36]=c):c=p[36],ne=e.map(c),p[10]=_,p[11]=z,p[12]=J,p[13]=ee,p[14]=E.from,p[15]=X,p[16]=D,p[17]=K,p[18]=L,p[19]=P,p[20]=te,p[21]=oe,p[22]=ie,p[23]=le,p[24]=ne,p[25]=re,p[26]=se,p[27]=ae,p[28]=de,p[29]=ce}else te=p[20],oe=p[21],ie=p[22],le=p[23],ne=p[24],re=p[25],se=p[26],ae=p[27],de=p[28],ce=p[29];return p[37]!==z||p[38]!==N||p[39]!==O||p[40]!==H?(ue=O?null:(0,b.jsxs)(n.default,{pointerEvents:"none",style:[I.liveEdge,{top:N}],children:[(0,b.jsx)(n.default,{style:[I.liveEdgeLine,{backgroundColor:z.live}]}),(0,b.jsxs)(n.default,{style:[I.liveEdgeCap,{backgroundColor:z.live}],children:[(0,b.jsx)(n.default,{style:[I.liveEdgeDot,{backgroundColor:z.primaryForeground}]}),(0,b.jsx)(s.default,{style:[I.liveEdgeLabel,{color:z.primaryForeground}],children:H("v2.theater.live")})]})]}),p[37]=z,p[38]=N,p[39]=O,p[40]=H,p[41]=ue):ue=p[41],p[42]!==oe||p[43]!==_||p[44]!==V||p[45]!==j||p[46]!==W||p[47]!==N||p[48]!==R||p[49]!==T?(fe=_>0&&j.map(e=>(0,b.jsx)(n.default,{style:[I.clusterWrapper,{top:e.topPx+N,left:oe,height:e.heightPx,width:_}],children:(0,b.jsx)(x.ClusterCard,{cluster:e,width:_,onPress:()=>{T(e)},onOpenDetail:R?()=>{R(e)}:void 0,clusterLabel:V,eventKinds:W})},e.id)),p[42]=oe,p[43]=_,p[44]=V,p[45]=j,p[46]=W,p[47]=N,p[48]=R,p[49]=T,p[50]=fe):fe=p[50],p[51]!==A||p[52]!==B||p[53]!==N||p[54]!==M||p[55]!==k||p[56]!==L||p[57]!==P?(he=B>0&&(0,b.jsx)(n.default,{pointerEvents:"none",style:[I.activityColumn,{top:N,height:B}],children:(0,b.jsx)(y.ActivityLanes,{model:A,topMs:L,zoomIndex:P,height:B,scrollOffsetY:0,width:18,showMotion:k,showAudio:M})}),p[51]=A,p[52]=B,p[53]=N,p[54]=M,p[55]=k,p[56]=L,p[57]=P,p[58]=he):he=p[58],p[59]!==te||p[60]!==ie||p[61]!==le||p[62]!==ne||p[63]!==ue||p[64]!==fe||p[65]!==he||p[66]!==re||p[67]!==se||p[68]!==ae||p[69]!==de||p[70]!==ce?(pe=(0,b.jsxs)(te,{ref:re,showsVerticalScrollIndicator:se,onScroll:ae,onLayout:de,scrollEventThrottle:ce,style:ie,contentContainerStyle:le,children:[ne,ue,fe,he]}),p[59]=te,p[60]=ie,p[61]=le,p[62]=ne,p[63]=ue,p[64]=fe,p[65]=he,p[66]=re,p[67]=se,p[68]=ae,p[69]=de,p[70]=ce,p[71]=pe):pe=p[71],pe})),I=c.default.create({scrollView:{flex:1},tickRow:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md,gap:h.SPACING.sm},tickLabel:{fontSize:9,fontVariant:['tabular-nums'],width:38,flexShrink:0},liveEdge:{position:'absolute',left:0,right:0,height:0,justifyContent:'center'},liveEdgeLine:{position:'absolute',left:0,right:0,height:1,opacity:.5},liveEdgeCap:{position:'absolute',right:h.SPACING.sm,top:-8,flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:6,paddingVertical:1.5,borderRadius:h.RADIUS.sm},liveEdgeDot:{width:5,height:5,borderRadius:2.5},liveEdgeLabel:{fontSize:9,fontWeight:'800',letterSpacing:.6},tickLine:{flex:1,height:c.default.hairlineWidth,opacity:.5},clusterWrapper:{position:'absolute',overflow:'hidden'},activityColumn:{position:'absolute',top:0,right:h.SPACING.sm+3+h.SPACING.xs}})},3525,[15,17,147,20,112,33,786,2587,2589,3142,3513,3526,3527,10]);
|
|
15947
|
+
__d(function(g,r,_i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterCard",{enumerable:!0,get:function(){return y}});var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),i=e(r(_d[5])),d=e(r(_d[6])),c=r(_d[7]),u=r(_d[8]),h=r(_d[9]),f=r(_d[10]),p=r(_d[11]),m=r(_d[12]),b=r(_d[13]),v=r(_d[14]),x=r(_d[15]);function C(e){return e.carouselEvents.length>0?e.carouselEvents:e.events.length>0?e.events:[e.representative]}const y=(0,o.memo)(function(e){const y=(0,t.c)(136),{cluster:j,width:I,selected:w,onPress:A,onOpenDetail:R,clusterLabel:k,eventKinds:P}=e,L=void 0!==w&&w,O=void 0===k?"icon":k,{colors:T}=(0,h.useTheme)(),{t:_}=(0,u.useTranslation)();let N;if(y[0]!==P){N=new Map;for(const e of P??[])N.set(e.kind,e);y[0]=P,y[1]=N}else N=y[1];const B=N,{settings:D}=(0,f.useSettings)(),z=D.clusters.showClass,E=D.clusters.showImportance;let G;y[2]!==j.representative.className?(G=(0,m.colorForEventType)(j.representative.className),y[2]=j.representative.className,y[3]=G):G=y[3];const M=G;let U;y[4]!==j?(U=C(j),y[4]=j,y[5]=U):U=y[5];const W=U,$=W.length>1,F=j.events.length>0,[K,V]=(0,o.useState)(0),H=W[K]?.timestamp??j.representative.timestamp;let q;y[6]!==H?(q=new Date(H).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'}),y[6]=H,y[7]=q):q=y[7];const J=q,Q=W[K]?.importance??j.representative.importance,[X,Y]=(0,o.useState)(I),Z=(0,o.useRef)(null);let ee;y[8]===Symbol.for("react.memo_cache_sentinel")?(ee=e=>{const t=e.nativeEvent.layout.width;t>0&&Y(t)},y[8]=ee):ee=y[8];const te=ee;let oe;y[9]!==X||y[10]!==W.length?(oe=e=>{const t=Math.max(0,Math.min(e,W.length-1));Z.current?.scrollTo({x:t*X,animated:!0}),V(t)},y[9]=X,y[10]=W.length,y[11]=oe):oe=y[11];const ne=oe;let re;y[12]!==X||y[13]!==W.length?(re=e=>{if(X<=0)return;const t=e.nativeEvent.contentOffset.x,o=Math.max(0,Math.min(Math.round(t/X),W.length-1));V(o)},y[12]=X,y[13]=W.length,y[14]=re):re=y[14];const le=re,se=j.heightPx,ie=L?3:2;let ae,de,ce,ue,he,ge,fe,pe,me,be,ve,xe,Ce,ye,Se,je,Ie,we,Ae,Re,ke,Pe,Le,Oe,Te,Ne;if(y[15]!==M||y[16]!==K||y[17]!==ie||y[18]!==se||y[19]!==X||y[20]!==j||y[21]!==O||y[22]!==T||y[23]!==W||y[24]!==ne||y[25]!==$||y[26]!==B||y[27]!==le||y[28]!==A||y[29]!==z||y[30]!==_||y[31]!==I){const e=j.classes.slice(0,3),t=j.classes.length-e.length;let o,u;if(y[47]!==j.events){o=new Set;for(const e of j.events)for(const t of e.audioLabels??[])o.add(t);y[47]=j.events,y[48]=o}else o=y[48];y[49]!==o?(u=[...o],y[49]=o,y[50]=u):u=y[50];const h=u,f=h.slice(0,2);ue=h.length-f.length,ce=s.default,y[51]!==M||y[52]!==ie||y[53]!==se||y[54]!==T.surface||y[55]!==I?(be=[S.container,{width:I,height:se,borderLeftWidth:ie,borderLeftColor:M,backgroundColor:T.surface,borderRadius:p.RADIUS.md}],y[51]=M,y[52]=ie,y[53]=se,y[54]=T.surface,y[55]=I,y[56]=be):be=y[56],ve=A,xe=te,y[57]!==K||y[58]!==se||y[59]!==X||y[60]!==j||y[61]!==W||y[62]!==$||y[63]!==le?(Ce=$&&X>0?(0,x.jsx)(d.default,{ref:Z,horizontal:!0,nestedScrollEnabled:!0,snapToInterval:X,decelerationRate:"fast",showsHorizontalScrollIndicator:!1,onScroll:le,scrollEventThrottle:16,style:i.default.absoluteFill,contentContainerStyle:{height:se},children:W.map((e,t)=>Math.abs(t-K)<=1?(0,x.jsx)(b.EventThumb,{event:e,width:X,height:se},`${e.id}_${t}`):(0,x.jsx)(n.default,{style:{width:X,height:se,backgroundColor:(0,m.colorForEventType)(e.className)+"1A"}},`${e.id}_${t}`))}):(0,x.jsx)(n.default,{style:i.default.absoluteFill,children:(0,x.jsx)(b.EventThumb,{event:j.representative,width:X,height:se})}),y[57]=K,y[58]=se,y[59]=X,y[60]=j,y[61]=W,y[62]=$,y[63]=le,y[64]=Ce):Ce=y[64],y[65]!==K||y[66]!==T.background||y[67]!==T.foreground||y[68]!==ne||y[69]!==$?(ye=$&&K>0&&(0,x.jsx)(s.default,{style:[S.navBtn,S.navBtnLeft,{backgroundColor:T.background+"B0"}],onPress:()=>ne(K-1),hitSlop:6,children:(0,x.jsx)(c.ChevronLeft,{size:14,color:T.foreground})}),y[65]=K,y[66]=T.background,y[67]=T.foreground,y[68]=ne,y[69]=$,y[70]=ye):ye=y[70],y[71]!==K||y[72]!==T.background||y[73]!==T.foreground||y[74]!==W||y[75]!==ne||y[76]!==$?(Se=$&&K<W.length-1&&(0,x.jsx)(s.default,{style:[S.navBtn,S.navBtnRight,{backgroundColor:T.background+"B0"}],onPress:()=>ne(K+1),hitSlop:6,children:(0,x.jsx)(c.ChevronRight,{size:14,color:T.foreground})}),y[71]=K,y[72]=T.background,y[73]=T.foreground,y[74]=W,y[75]=ne,y[76]=$,y[77]=Se):Se=y[77],de=n.default;const C=T.background+"B0";y[78]!==C?(me=[S.bottomOverlay,{backgroundColor:C}],y[78]=C,y[79]=me):me=y[79],ae=n.default,he=S.pillsRow,ge=z?e.map((e,t)=>{const o=B.get(e),s=o?.color??(0,m.colorForEventType)(e),i="icon"===O&&void 0!==o?(0,v.resolveEventKindIcon)(o.iconId):null;return(0,x.jsx)(n.default,{style:[S.pill,{backgroundColor:s+"2A",borderColor:s+"66"}],children:i?(0,x.jsx)(i,{size:10,color:s}):(0,x.jsx)(l.default,{style:[S.pillText,{color:s}],children:o?(0,v.eventKindLabel)(o,_):e})},`${e}_${t}`)}):null,y[80]!==M||y[81]!==t||y[82]!==z?(fe=z&&t>0&&(0,x.jsxs)(l.default,{style:[S.extraBadge,{color:M}],children:["+",t]}),y[80]=M,y[81]=t,y[82]=z,y[83]=fe):fe=y[83],pe=z?f.map((e,t)=>{const o=`audio-${e.toLowerCase()}`,s=B.get(o),i="icon"===O?(0,v.resolveEventKindIcon)(o):null;return(0,x.jsx)(n.default,{style:[S.pill,{backgroundColor:m.AUDIO_COLOR+"2A",borderColor:m.AUDIO_COLOR+"66"}],children:i?(0,x.jsx)(i,{size:10,color:m.AUDIO_COLOR}):(0,x.jsx)(l.default,{style:[S.pillText,{color:m.AUDIO_COLOR}],children:s?(0,v.eventKindLabel)(s,_):e})},`audio_${e}_${t}`)}):null,y[15]=M,y[16]=K,y[17]=ie,y[18]=se,y[19]=X,y[20]=j,y[21]=O,y[22]=T,y[23]=W,y[24]=ne,y[25]=$,y[26]=B,y[27]=le,y[28]=A,y[29]=z,y[30]=_,y[31]=I,y[32]=ae,y[33]=de,y[34]=ce,y[35]=ue,y[36]=he,y[37]=ge,y[38]=fe,y[39]=pe,y[40]=me,y[41]=be,y[42]=ve,y[43]=xe,y[44]=Ce,y[45]=ye,y[46]=Se}else ae=y[32],de=y[33],ce=y[34],ue=y[35],he=y[36],ge=y[37],fe=y[38],pe=y[39],me=y[40],be=y[41],ve=y[42],xe=y[43],Ce=y[44],ye=y[45],Se=y[46];return y[84]!==ue||y[85]!==z?(je=z&&ue>0&&(0,x.jsxs)(l.default,{style:[S.extraBadge,{color:m.AUDIO_COLOR}],children:["+",ue]}),y[84]=ue,y[85]=z,y[86]=je):je=y[86],y[87]!==ae||y[88]!==he||y[89]!==ge||y[90]!==fe||y[91]!==pe||y[92]!==je?(Ie=(0,x.jsxs)(ae,{style:he,children:[ge,fe,pe,je]}),y[87]=ae,y[88]=he,y[89]=ge,y[90]=fe,y[91]=pe,y[92]=je,y[93]=Ie):Ie=y[93],y[94]!==Q||y[95]!==T.primary||y[96]!==T.primaryForeground||y[97]!==E?(we=E&&"number"==typeof Q?(0,x.jsx)(n.default,{style:[S.importancePill,{backgroundColor:T.primary}],children:(0,x.jsx)(l.default,{style:[S.importanceText,{color:T.primaryForeground}],children:Math.round(100*Q)})}):null,y[94]=Q,y[95]=T.primary,y[96]=T.primaryForeground,y[97]=E,y[98]=we):we=y[98],y[99]!==M||y[100]!==K||y[101]!==W||y[102]!==$?(Ae=$&&(0,x.jsxs)(l.default,{style:[S.pageCounter,{color:M}],children:[K+1,"/",W.length]}),y[99]=M,y[100]=K,y[101]=W,y[102]=$,y[103]=Ae):Ae=y[103],y[104]!==T.foregroundMuted?(Re=[S.timeLabel,p.TABULAR,{color:T.foregroundMuted}],y[104]=T.foregroundMuted,y[105]=Re):Re=y[105],y[106]!==Re||y[107]!==J?(ke=(0,x.jsx)(l.default,{style:Re,children:J}),y[106]=Re,y[107]=J,y[108]=ke):ke=y[108],y[109]!==we||y[110]!==Ae||y[111]!==ke?(Pe=(0,x.jsxs)(n.default,{style:S.rightRow,children:[we,Ae,ke]}),y[109]=we,y[110]=Ae,y[111]=ke,y[112]=Pe):Pe=y[112],y[113]!==de||y[114]!==me||y[115]!==Ie||y[116]!==Pe?(Le=(0,x.jsxs)(de,{style:me,children:[Ie,Pe]}),y[113]=de,y[114]=me,y[115]=Ie,y[116]=Pe,y[117]=Le):Le=y[117],y[118]!==T.background||y[119]!==T.foreground||y[120]!==R?(Oe=R?(0,x.jsx)(s.default,{style:[S.lensBtn,{backgroundColor:T.background+"CC"}],onPress:R,hitSlop:8,children:(0,x.jsx)(c.Search,{size:12,color:T.foreground})}):null,y[118]=T.background,y[119]=T.foreground,y[120]=R,y[121]=Oe):Oe=y[121],y[122]!==M||y[123]!==F?(Te=F&&(0,x.jsx)(n.default,{style:[S.eventsDot,{backgroundColor:M}]}),y[122]=M,y[123]=F,y[124]=Te):Te=y[124],y[125]!==ce||y[126]!==be||y[127]!==ve||y[128]!==xe||y[129]!==Ce||y[130]!==ye||y[131]!==Se||y[132]!==Le||y[133]!==Oe||y[134]!==Te?(Ne=(0,x.jsxs)(ce,{style:be,onPress:ve,onLayout:xe,children:[Ce,ye,Se,Le,Oe,Te]}),y[125]=ce,y[126]=be,y[127]=ve,y[128]=xe,y[129]=Ce,y[130]=ye,y[131]=Se,y[132]=Le,y[133]=Oe,y[134]=Te,y[135]=Ne):Ne=y[135],Ne}),S=i.default.create({container:{overflow:'hidden',borderLeftWidth:2},bottomOverlay:{position:'absolute',bottom:0,left:0,right:0,flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:p.SPACING.sm,paddingVertical:p.SPACING.xs+1},pillsRow:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs,flexShrink:1,flexWrap:'nowrap'},pill:{paddingHorizontal:p.SPACING.xs+1,paddingVertical:1,borderRadius:p.RADIUS.sm,borderWidth:1},pillText:{fontSize:8,fontWeight:'600'},extraBadge:{fontSize:8,fontWeight:'700'},rightRow:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs,flexShrink:0},importancePill:{paddingHorizontal:5,paddingVertical:1,borderRadius:8},importanceText:{fontSize:8,fontWeight:'700',fontVariant:['tabular-nums']},pageCounter:{fontSize:9,fontWeight:'600',fontVariant:['tabular-nums']},timeLabel:{fontSize:9,flexShrink:0},carouselToggle:{position:'absolute',top:p.SPACING.sm,left:p.SPACING.sm,width:18,height:18,borderRadius:p.RADIUS.sm,borderWidth:1,alignItems:'center',justifyContent:'center'},eventsDot:{position:'absolute',top:p.SPACING.sm,right:p.SPACING.sm,width:6,height:6,borderRadius:3},lensBtn:{position:'absolute',top:p.SPACING.sm,left:p.SPACING.sm,width:20,height:20,borderRadius:p.RADIUS.sm,alignItems:'center',justifyContent:'center'},navBtn:{position:'absolute',top:'50%',marginTop:-11,width:22,height:22,borderRadius:11,alignItems:'center',justifyContent:'center'},navBtnLeft:{left:p.SPACING.xs},navBtnRight:{right:p.SPACING.xs}})},3526,[15,17,20,112,252,33,147,813,786,2587,3177,2589,3231,3373,3170,10]);
|
|
15948
|
+
__d(function(g,_r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ActivityLanes",{enumerable:!0,get:function(){return w}});var e=_r(d[0]),o=_r(d[1]),n=t(_r(d[2])),s=t(_r(d[3])),l=_r(d[4]),r=_r(d[5]),c=_r(d[6]);const h=r.BAND.recording,u=r.BAND.motion,f=r.BAND.audioGradient[1];function p(t,e,o,n,s,r){const c=(0,l.epochToOffset)(e,o,n)-s,h=(0,l.epochToOffset)(t,o,n)-s,u=Math.max(0,c),f=Math.min(r,h)-u;return f<=0?null:{top:u,height:f}}function x(t){const o=(0,e.c)(16),{ranges:s,topMs:l,zoomIndex:r,scrollOffsetY:u,height:f,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==u||o[4]!==l||o[5]!==f||o[6]!==r){let t;o[8]!==u||o[9]!==l||o[10]!==f||o[11]!==r?(t=t=>{const e=p(t.startMs,t.endMs,l,r,u,f);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:h,opacity:.32}]},`rec_${t.startMs}_${t.endMs}`)},o[8]=u,o[9]=l,o[10]=f,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=u,o[4]=l,o[5]=f,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}function M(t){const o=(0,e.c)(16),{buckets:s,topMs:l,zoomIndex:r,scrollOffsetY:h,height:f,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==h||o[4]!==l||o[5]!==f||o[6]!==r){let t;o[8]!==h||o[9]!==l||o[10]!==f||o[11]!==r?(t=t=>{if(t.intensity<=0)return null;const e=p(t.startMs,t.endMs,l,r,h,f);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:u,opacity:Math.max(.1,t.intensity)}]},`mot_${t.startMs}`)},o[8]=h,o[9]=l,o[10]=f,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=h,o[4]=l,o[5]=f,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}function y(t){const o=(0,e.c)(16),{buckets:s,topMs:l,zoomIndex:r,scrollOffsetY:h,height:u,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==h||o[4]!==l||o[5]!==u||o[6]!==r){let t;o[8]!==h||o[9]!==l||o[10]!==u||o[11]!==r?(t=t=>{if(t.intensity<=0)return null;const e=p(t.startMs,t.endMs,l,r,h,u);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:f,opacity:Math.max(.1,t.intensity)}]},`aud_${t.startMs}`)},o[8]=h,o[9]=l,o[10]=u,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=h,o[4]=l,o[5]=u,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}const w=(0,o.memo)(function(t){const o=(0,e.c)(33),{model:s,topMs:l,zoomIndex:r,height:h,scrollOffsetY:u,width:f,showMotion:p,showAudio:w}=t,_=void 0===p||p,b=void 0===w||w,O=Math.max(1,(f-4)/3);let v,k,z,I,Y,A,D;return o[0]!==h||o[1]!==f?(v=[j.container,{width:f,height:h}],o[0]=h,o[1]=f,o[2]=v):v=o[2],o[3]!==h||o[4]!==O||o[5]!==s.recording||o[6]!==u||o[7]!==l||o[8]!==r?(k=(0,c.jsx)(x,{ranges:s.recording,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}),o[3]=h,o[4]=O,o[5]=s.recording,o[6]=u,o[7]=l,o[8]=r,o[9]=k):k=o[9],o[10]===Symbol.for("react.memo_cache_sentinel")?(z=(0,c.jsx)(n.default,{style:{width:2}}),o[10]=z):z=o[10],o[11]!==h||o[12]!==O||o[13]!==s.motion||o[14]!==u||o[15]!==_||o[16]!==l||o[17]!==r?(I=_?(0,c.jsx)(M,{buckets:s.motion,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}):(0,c.jsx)(n.default,{style:{width:O}}),o[11]=h,o[12]=O,o[13]=s.motion,o[14]=u,o[15]=_,o[16]=l,o[17]=r,o[18]=I):I=o[18],o[19]===Symbol.for("react.memo_cache_sentinel")?(Y=(0,c.jsx)(n.default,{style:{width:2}}),o[19]=Y):Y=o[19],o[20]!==h||o[21]!==O||o[22]!==s.audio||o[23]!==u||o[24]!==b||o[25]!==l||o[26]!==r?(A=b?(0,c.jsx)(y,{buckets:s.audio,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}):(0,c.jsx)(n.default,{style:{width:O}}),o[20]=h,o[21]=O,o[22]=s.audio,o[23]=u,o[24]=b,o[25]=l,o[26]=r,o[27]=A):A=o[27],o[28]!==v||o[29]!==k||o[30]!==I||o[31]!==A?(D=(0,c.jsxs)(n.default,{pointerEvents:"none",style:v,children:[k,z,I,Y,A]}),o[28]=v,o[29]=k,o[30]=I,o[31]=A,o[32]=D):D=o[32],D}),j=s.default.create({container:{flexDirection:'row',overflow:'hidden'},lane:{position:'relative',overflow:'hidden'},segment:{position:'absolute',left:0,right:0}})},3527,[15,17,20,33,3513,2589,10]);
|
|
15949
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.WideDetailLayout=function(e){const n=(0,t.c)(13),{railWidth:f,stream:o,infoArea:c,timeline:h}=e,x=c??null;let y,_,j,w,v;n[0]!==x?(y=(0,s.jsx)(l.default,{style:u.infoArea,children:x}),n[0]=x,n[1]=y):y=n[1];n[2]!==o||n[3]!==y?(_=(0,s.jsxs)(l.default,{style:u.streamColumn,children:[o,y]}),n[2]=o,n[3]=y,n[4]=_):_=n[4];n[5]!==f?(j=[u.rail,{width:f}],n[5]=f,n[6]=j):j=n[6];n[7]!==j||n[8]!==h?(w=(0,s.jsx)(l.default,{style:j,children:h}),n[7]=j,n[8]=h,n[9]=w):w=n[9];n[10]!==_||n[11]!==w?(v=(0,s.jsxs)(l.default,{style:u.row,children:[_,w]}),n[10]=_,n[11]=w,n[12]=v):v=n[12];return v};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),n=e(r(d[3])),s=r(d[4]);const u=n.default.create({row:{flex:1,flexDirection:'row',minHeight:0},streamColumn:{flex:1,minWidth:0,alignItems:'center'},infoArea:{flex:1,minHeight:0,alignSelf:'stretch'},rail:{minHeight:0}})},3528,[15,17,20,33,10]);
|
|
15950
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"TIMELINE_RAIL_WIDTH",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"TIMELINE_RAIL_WIDTH_NARROW",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"RAIL_NARROW_BELOW",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"STREAM_MAX_HEIGHT_FRACTION",{enumerable:!0,get:function(){return o}}),e.computeWideDetailSizes=function({containerWidth:c,viewportHeight:_}){const f=c<u?n:t,I=Math.max(0,c-f),b=_*o*16/9,O=Math.min(I,b);return{railWidth:f,streamWidth:O,streamHeight:9*O/16}};const t=380,n=340,u=1180,o=.62},3529,[]);
|
|
15951
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.MotionBadge=function(e){const l=(0,t.c)(16),{label:c}=e,{t:w}=(0,s.useTranslation)(),{colors:h}=(0,u.useTheme)(),x=`${h.warning}26`;let p,C,I,S,A,P;l[0]!==x?(p=[b.badge,{backgroundColor:x}],l[0]=x,l[1]=p):p=l[1];l[2]!==h.warning?(C=(0,f.jsx)(n.default,{style:[b.dot,{backgroundColor:h.warning}]}),l[2]=h.warning,l[3]=C):C=l[3];l[4]!==h.warning?(I=[b.text,{color:h.warning}],l[4]=h.warning,l[5]=I):I=l[5];l[6]!==c||l[7]!==w?(S=c??w("v2.cameras.motion"),l[6]=c,l[7]=w,l[8]=S):S=l[8];l[9]!==I||l[10]!==S?(A=(0,f.jsx)(o.default,{style:I,children:S}),l[9]=I,l[10]=S,l[11]=A):A=l[11];l[12]!==p||l[13]!==C||l[14]!==A?(P=(0,f.jsxs)(n.default,{style:p,pointerEvents:"none",children:[C,A]}),l[12]=p,l[13]=C,l[14]=A,l[15]=P):P=l[15];return P};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]);const b=l.default.create({badge:{position:'absolute',top:c.SPACING.md,right:c.SPACING.md,flexDirection:'row',alignItems:'center',gap:c.SPACING.xs,paddingHorizontal:c.SPACING.md,paddingVertical:c.SPACING.xs,borderRadius:c.RADIUS.md},dot:{width:7,height:7,borderRadius:3.5},text:{fontSize:11,fontWeight:'700'}})},3530,[15,17,20,112,33,786,2587,2589,10]);
|
|
15952
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DoorbellBadge=function(e){const s=(0,t.c)(55),{deviceId:h,enabled:I}=e,{t:C}=(0,_.useTranslation)(),{colors:j}=(0,b.useTheme)(),{lastPressedAt:D,ringingNow:E}=(0,y.useDoorbell)(h,I),[M,R]=(0,n.useState)(S);let k,P;s[0]!==I||s[1]!==D||s[2]!==E?(k=()=>{if(!I||E||null===D)return;const e=setInterval(()=>R(Date.now()),x);return()=>clearInterval(e)},P=[I,E,D],s[0]=I,s[1]=D,s[2]=E,s[3]=k,s[4]=P):(k=s[3],P=s[4]);(0,n.useEffect)(k,P);const N=(0,u.useSharedValue)(1);let T,G;s[5]!==N||s[6]!==E?(T=()=>{if(E)return N.value=(0,u.withRepeat)((0,u.withSequence)((0,u.withTiming)(.4,{duration:v,easing:u.Easing.inOut(u.Easing.ease)}),(0,u.withTiming)(1,{duration:v,easing:u.Easing.inOut(u.Easing.ease)})),-1,!1),()=>(0,u.cancelAnimation)(N);N.value=(0,u.withTiming)(1,{duration:150})},G=[N,E],s[5]=N,s[6]=E,s[7]=T,s[8]=G):(T=s[7],G=s[8]);(0,n.useEffect)(T,G);const z=(0,u.useAnimatedStyle)((function({_worklet_15229690820397_init_data:e,breathe:t}){const n=()=>({opacity:t.value,transform:[{scale:.85+.15*t.value}]});return n.__closure={breathe:t},n.__workletHash=0xdd9f04fb72d,n.__initData=e,n})({_worklet_15229690820397_init_data:w,breathe:N}));if(!I)return null;if(E){const e=`${j.primary}26`;let t,n,u,_,b,h,y;return s[9]!==e?(t=[A.badge,{backgroundColor:e}],s[9]=e,s[10]=t):t=s[10],s[11]!==j.primary?(n=(0,p.jsx)(f.BellRing,{size:13,color:j.primary}),s[11]=j.primary,s[12]=n):n=s[12],s[13]!==z||s[14]!==n?(u=(0,p.jsx)(c.default.View,{style:z,children:n}),s[13]=z,s[14]=n,s[15]=u):u=s[15],s[16]!==j.primary?(_=[A.text,{color:j.primary}],s[16]=j.primary,s[17]=_):_=s[17],s[18]!==C?(b=C("v2.cameras.doorbellRinging"),s[18]=C,s[19]=b):b=s[19],s[20]!==b||s[21]!==_?(h=(0,p.jsx)(l.default,{style:_,children:b}),s[20]=b,s[21]=_,s[22]=h):h=s[22],s[23]!==h||s[24]!==t||s[25]!==u?(y=(0,p.jsxs)(o.default,{style:t,pointerEvents:"none",children:[u,h]}),s[23]=h,s[24]=t,s[25]=u,s[26]=y):y=s[26],y}let B,O,V,H,$,q,L,U,W,F;if(s[27]!==j||s[28]!==D||s[29]!==M||s[30]!==C){V=Symbol.for("react.early_return_sentinel");e:{const e=(0,y.formatRingAgo)(D,M);if(null===e){V=null;break e}O=o.default;const t=`${j.background}CC`;s[39]!==t?(q=[A.badge,{backgroundColor:t}],s[39]=t,s[40]=q):q=s[40],L="none",s[41]!==j.foregroundMuted?(U=(0,p.jsx)(f.BellRing,{size:12,color:j.foregroundMuted}),s[41]=j.foregroundMuted,s[42]=U):U=s[42],B=l.default,s[43]!==j.foregroundMuted?(H=[A.text,{color:j.foregroundMuted}],s[43]=j.foregroundMuted,s[44]=H):H=s[44],$=C("v2.cameras.doorbellLastRing",{time:e})}s[27]=j,s[28]=D,s[29]=M,s[30]=C,s[31]=B,s[32]=O,s[33]=V,s[34]=H,s[35]=$,s[36]=q,s[37]=L,s[38]=U}else B=s[31],O=s[32],V=s[33],H=s[34],$=s[35],q=s[36],L=s[37],U=s[38];if(V!==Symbol.for("react.early_return_sentinel"))return V;s[45]!==B||s[46]!==H||s[47]!==$?(W=(0,p.jsx)(B,{style:H,children:$}),s[45]=B,s[46]=H,s[47]=$,s[48]=W):W=s[48];s[49]!==O||s[50]!==W||s[51]!==q||s[52]!==L||s[53]!==U?(F=(0,p.jsxs)(O,{style:q,pointerEvents:L,children:[U,W]}),s[49]=O,s[50]=W,s[51]=q,s[52]=L,s[53]=U,s[54]=F):F=s[54];return F};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),c=e(u),f=r(d[6]),_=r(d[7]),b=r(d[8]),h=r(d[9]),y=r(d[10]),p=r(d[11]);const v=500,x=6e4,w={code:"function DoorbellBadgeTsx1(){const{breathe}=this.__closure;return{opacity:breathe.value,transform:[{scale:0.85+0.15*breathe.value}]};}"};function S(){return Date.now()}const A=s.default.create({badge:{position:'absolute',top:h.SPACING.md,left:h.SPACING.md,flexDirection:'row',alignItems:'center',gap:h.SPACING.xs,paddingHorizontal:h.SPACING.md,paddingVertical:h.SPACING.xs,borderRadius:h.RADIUS.md},text:{fontSize:11,fontWeight:'700'}})},3531,[15,17,20,112,33,2714,813,786,2587,2589,3532,10]);
|
|
15953
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"DOORBELL_CATEGORY",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"RING_WINDOW_MS",{enumerable:!0,get:function(){return l}}),e.readDoorbellStatus=p,e.parseDoorbellEvent=b,e.formatRingAgo=function(t,n){if(null===t)return null;const s=Math.max(0,Math.floor((n-t)/1e3));if(s<60)return'now';const u=Math.floor(s/60);if(u<60)return`${u}m`;const o=Math.floor(u/60);if(o<24)return`${o}h`;return`${Math.floor(o/24)}d`},e.useDoorbell=function(f,y){const P=(0,t.c)(20),{controller:C,state:A}=(0,u.useConnection)(),v=y&&"connected"===A;let S,h,I;P[0]!==f?(S=["v2","doorbell",f],P[0]=f,P[1]=S):S=P[1];P[2]!==C||P[3]!==f?(h=async()=>{const t=C.getSystem();if(!t)return{lastPressedAt:null,pressCount:0};try{return p(await t.trpcClient.doorbell.getStatus.query({deviceId:f}))}catch{return{lastPressedAt:null,pressCount:0}}},P[2]=C,P[3]=f,P[4]=h):h=P[4];P[5]!==v||P[6]!==S||P[7]!==h?(I={queryKey:S,enabled:v,refetchInterval:c,queryFn:h},P[5]=v,P[6]=S,P[7]=h,P[8]=I):I=P[8];const{data:M}=(0,s.useQuery)(I);let O;P[9]!==M?(O=void 0===M?{lastPressedAt:null,pressCount:0}:M,P[9]=M,P[10]=O):O=P[10];const _=O,[D,E]=(0,n.useState)(!1),[R,j]=(0,n.useState)(null),T=(0,n.useRef)(null);let q,w;P[11]!==v||P[12]!==C||P[13]!==f?(q=()=>{if(!v)return E(!1),void j(null);const t=C.getSystem();if(!t)return;const n=t.subscribeEvent(o,t=>{const n=b(t);n&&n.deviceId===f&&(j(n.timestamp),E(!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{E(!1),T.current=null},l))});return()=>{n(),T.current&&(clearTimeout(T.current),T.current=null),E(!1)}},w=[C,v,f],P[11]=v,P[12]=C,P[13]=f,P[14]=q,P[15]=w):(q=P[14],w=P[15]);(0,n.useEffect)(q,w);const N=null!==R&&(null===_.lastPressedAt||R>_.lastPressedAt)?R:_.lastPressedAt;let $;P[16]!==N||P[17]!==_.pressCount||P[18]!==D?($={lastPressedAt:N,pressCount:_.pressCount,ringingNow:D},P[16]=N,P[17]=_.pressCount,P[18]=D,P[19]=$):$=P[19];return $};var t=r(d[0]),n=r(d[1]),s=r(d[2]),u=r(d[3]);const o='doorbell.onPressed',l=8e3,c=3e4;function f(t){return'object'==typeof t&&null!==t}function p(t){if(!f(t))return{lastPressedAt:null,pressCount:0};return{lastPressedAt:'number'==typeof t.lastPressedAt?t.lastPressedAt:null,pressCount:'number'==typeof t.pressCountSinceStart?t.pressCountSinceStart:0}}function b(t){if(!f(t))return null;const n=t.deviceId,s=t.timestamp;return'number'!=typeof n||'number'!=typeof s?null:{deviceId:n,timestamp:s}}},3532,[15,17,3081,2594]);
|
|
15954
|
+
__d(function(g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useEventHaptics=function(e,s){const h=(0,t.c)(10),{controller:T,state:O}=(0,o.useConnection)(),R=(0,u.useSettingsStore)(_);let C;h[0]!==e?(C=[...e].sort(p).join(","),h[0]=e,h[1]=C):C=h[1];const S=C,A=(0,n.useRef)(0),I=(0,n.useRef)(c.default.currentState),M=s&&R.enabled&&!1;let x,y,D,N;h[2]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{},y=[],h[2]=x,h[3]=y):(x=h[2],y=h[3]);(0,n.useEffect)(x,y),h[4]!==M||h[5]!==T||h[6]!==S||h[7]!==R?(D=()=>{if(!M)return;const e=T.getSystem();if(!e)return;const t=new Set(S.split(",").map(v)),n=e=>{if("active"!==I.current)return;const t=Date.now(),n=(0,l.resolveHaptic)(R,e,A.current,t);n&&(A.current=t,(0,E.fireHaptic)(n))},s=e.subscribeEvent(a.MOTION_CATEGORY,e=>{const s=(0,a.parseMotionEvent)(e);s&&s.detected&&t.has(s.deviceId)&&n("motion")}),c=e.subscribeEvent(f.DETECTION_CATEGORY,e=>{const s=(0,f.parseDetectionEvent)(e);s&&0!==s.boxes.length&&t.has(Number(s.sourceId))&&n(b(s.boxes))}),o=e.subscribeEvent(f.FRAME_TRACKED_CATEGORY,e=>{const s=(0,f.parseFrameTrackedEvent)(e);s&&0!==s.boxes.length&&t.has(s.deviceId)&&n(b(s.boxes))});return()=>{s(),c(),o()}},N=[T,M,S,R],h[4]=M,h[5]=T,h[6]=S,h[7]=R,h[8]=D,h[9]=N):(D=h[8],N=h[9]);(0,n.useEffect)(D,N)};var e,t=r(d[0]),n=r(d[1]),s=r(d[2]),c=(e=s)&&e.__esModule?e:{default:e};r(d[3]);var o=r(d[4]),u=r(d[5]),a=r(d[6]),f=r(d[7]),l=r(d[8]),E=r(d[9]);function b(e){const t=e.map(e=>e.label),n=e.some(e=>'string'==typeof e.name&&e.name.length>0);return(0,l.detectionEventKind)(t,n)}function v(e){return Number(e)}function p(e,t){return e-t}function _(e){return e.settings.haptics}},3533,[15,17,226,136,2594,3140,3156,3385,3141,3534]);
|
|
15955
|
+
__d(function(g,r,i,a,_m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.fireHaptic=function(t){return},r(d[0])},3534,{"0":136,"1":3603,"2":3378,"paths":{"3603":"/viewer/camstack/_expo/static/js/web/Haptics-7415443949f145adbb0e0fae7f7a96bd.js"}});
|
|
15956
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useHeld=function(n,c){const o=(0,t.c)(4),[s,f]=(0,u.useState)(n);let l,_;o[0]!==n||o[1]!==c?(l=()=>{if(n)return void f(!0);const t=setTimeout(()=>f(!1),Math.max(0,c));return()=>clearTimeout(t)},_=[n,c],o[0]=n,o[1]=c,o[2]=l,o[3]=_):(l=o[2],_=o[3]);return(0,u.useEffect)(l,_),s};var t=r(d[0]),u=r(d[1])},3535,[15,17]);
|
|
15957
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.qualityToTarget=function(t){return'auto'===t?{kind:'adaptive'}:{kind:'profile',profile:'medium'===t?'mid':t}}},3536,[]);
|
|
15958
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.ExportsScreen,{}),o[0]=u):u=o[0],u}},3537,[15,3538,10]);
|
|
15959
|
+
__d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportsScreen=function(){const{t:e}=(0,b.useTranslation)(),t=(0,y.useRouter)(),{colors:o}=(0,v.useTheme)(),{state:l}=(0,S.useConnection)(),{token:f}=(0,j.useServer)(),{data:x=[],error:h,isLoading:M}=(0,I.useExportsList)(),{data:N=[]}=(0,A.useCameras)(),E=(0,I.useExportEvents)(),R=(0,I.useCancelExport)(),B=(0,I.useDeleteExport)(),L=(0,I.useResolveDownloadUrl)(),[z,O]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{const e=setInterval(()=>O(Date.now()),1e3);return()=>clearInterval(e)},[]);const _=(0,n.useCallback)(t=>{const o=N.find(e=>e.id===t);return o?.name??e('v2.cameraDetail.fallbackName',{id:t})},[N,e]),H=(0,n.useCallback)(async t=>{const o=await L(t.id);if(null!==o)try{window.open(o,'_blank')}catch(e){D.log.warn('exports','web download open failed',{error:e instanceof Error?e.message:String(e)})}else p.default.alert(e('v2.exports.title'),e('v2.exports.downloadUnavailable'))},[L,f,e]),U=(0,n.useCallback)(t=>{p.default.alert(e('v2.exports.cancelConfirmTitle'),e('v2.exports.cancelConfirmBody'),[{text:e('v2.exports.dismiss'),style:'cancel'},{text:e('v2.exports.cancelAction'),style:'destructive',onPress:()=>{R.mutate(t.id)}}])},[R,e]),W=(0,n.useCallback)(t=>{p.default.alert(e('v2.exports.deleteConfirmTitle'),e('v2.exports.deleteConfirmBody'),[{text:e('v2.exports.dismiss'),style:'cancel'},{text:e('v2.exports.deleteAction'),style:'destructive',onPress:()=>{B.mutate(t.id)}}])},[B,e]),F=(0,n.useMemo)(()=>'connected'!==l?(0,T.jsx)(G,{children:(0,T.jsx)(d.default,{style:{color:o.foregroundMuted,fontSize:15},children:e('connecting'===l?'v2.common.connecting':'v2.common.offline')})}):M?(0,T.jsx)(G,{children:(0,T.jsx)(u.default,{color:o.primary})}):0===x.length?(0,T.jsxs)(G,{children:[(0,T.jsx)(d.default,{style:{color:o.foregroundMuted,fontSize:15},children:e('v2.exports.empty')}),h?(0,T.jsx)(d.default,{style:{color:o.foregroundSubtle,fontSize:12,textAlign:'center'},children:h instanceof Error?h.message:e('v2.common.loadError')}):null]}):(0,T.jsx)(c.default,{data:x,keyExtractor:e=>e.id,contentContainerStyle:{padding:C.SPACING.md,gap:C.SPACING.md},renderItem:({item:t})=>(0,T.jsx)(k,{rec:t,cameraName:_(t.deviceId),nowMs:z,livePct:E[t.id]?.progressPct,colors:o,t:e,onDownload:()=>{H(t)},onCancel:()=>U(t),onDelete:()=>W(t)})}),[l,M,x,h,o,e,_,z,E,H,U,W]);return(0,T.jsxs)(s.default,{style:{flex:1,backgroundColor:o.background},children:[(0,T.jsx)(w.ScreenHeader,{title:e('v2.exports.title'),onBack:()=>t.back(),bordered:!0}),(0,T.jsx)(P.ConnectionBanner,{}),F]})};var o=r(_d[0]),n=r(_d[1]),l=e(n),s=e(r(_d[2])),d=e(r(_d[3])),c=e(r(_d[4])),u=e(r(_d[5])),f=e(r(_d[6])),x=e(r(_d[7])),p=e(r(_d[8]));r(_d[9]);var b=r(_d[10]),y=r(_d[11]),h=(t(r(_d[12])),t(r(_d[13])),r(_d[14])),S=r(_d[15]),j=r(_d[16]),v=r(_d[17]),C=r(_d[18]),w=r(_d[19]),P=r(_d[20]),A=r(_d[21]),I=r(_d[22]),M=r(_d[23]),D=r(_d[24]),T=r(_d[25]);function N(e,t){switch(e.state){case'ready':return t.success;case'failed':return t.danger;case'rendering':case'queued':return t.info;default:return t.foregroundSubtle}}const k=l.default.memo(function(e){const t=(0,o.c)(109),{rec:n,colors:l,t:c}=e;let u;t[0]!==e.livePct||t[1]!==n?(u=(0,M.effectiveProgress)(n,e.livePct),t[0]=e.livePct,t[1]=n,t[2]=u):u=t[2];const f=u;let x;t[3]!==n?(x=(0,I.isExportActive)(n),t[3]=n,t[4]=x):x=t[4];const p=x,b="ready"===n.state,y="ready"===n.state||"failed"===n.state||"expired"===n.state;let S,j,v,C;t[5]!==l.border||t[6]!==l.surface?(S=[R.card,{backgroundColor:l.surface,borderColor:l.border}],t[5]=l.border,t[6]=l.surface,t[7]=S):S=t[7],t[8]!==l.foreground?(j=[R.cameraName,{color:l.foreground}],t[8]=l.foreground,t[9]=j):j=t[9],t[10]!==e.cameraName||t[11]!==j?(v=(0,T.jsx)(d.default,{style:j,numberOfLines:1,children:e.cameraName}),t[10]=e.cameraName,t[11]=j,t[12]=v):v=t[12],t[13]!==l||t[14]!==n?(C=N(n,l),t[13]=l,t[14]=n,t[15]=C):C=t[15];const w=`${C}26`;let P,A,D,k,G,B,L,z,O,_,H,U,W,F,V,$,q,X,J,K,Q,Y,Z,ee,te,re,oe,ne;return t[16]!==w?(P=[R.stateBadge,{backgroundColor:w}],t[16]=w,t[17]=P):P=t[17],t[18]!==l||t[19]!==n?(A=N(n,l),t[18]=l,t[19]=n,t[20]=A):A=t[20],t[21]!==A?(D=[R.stateText,{color:A}],t[21]=A,t[22]=D):D=t[22],t[23]!==n.state||t[24]!==c?(k=(0,M.stateLabel)(n.state,c),t[23]=n.state,t[24]=c,t[25]=k):k=t[25],t[26]!==k||t[27]!==D?(G=(0,T.jsx)(d.default,{style:D,children:k}),t[26]=k,t[27]=D,t[28]=G):G=t[28],t[29]!==G||t[30]!==P?(B=(0,T.jsx)(s.default,{style:P,children:G}),t[29]=G,t[30]=P,t[31]=B):B=t[31],t[32]!==B||t[33]!==v?(L=(0,T.jsxs)(s.default,{style:R.cardHeader,children:[v,B]}),t[32]=B,t[33]=v,t[34]=L):L=t[34],t[35]!==l.foregroundMuted?(z=[R.rangeText,{color:l.foregroundMuted}],t[35]=l.foregroundMuted,t[36]=z):z=t[36],t[37]!==n.fromMs||t[38]!==n.toMs?(O=(0,M.rangeLabel)(n.fromMs,n.toMs),t[37]=n.fromMs,t[38]=n.toMs,t[39]=O):O=t[39],t[40]!==z||t[41]!==O?(_=(0,T.jsx)(d.default,{style:z,numberOfLines:1,children:O}),t[40]=z,t[41]=O,t[42]=_):_=t[42],t[43]!==l.foregroundSubtle?(H=[R.metaText,{color:l.foregroundSubtle}],t[43]=l.foregroundSubtle,t[44]=H):H=t[44],t[45]!==n.options||t[46]!==c?(U=(0,M.variantLabel)(n.options,c),t[45]=n.options,t[46]=c,t[47]=U):U=t[47],t[48]!==H||t[49]!==U?(W=(0,T.jsx)(d.default,{style:H,numberOfLines:1,children:U}),t[48]=H,t[49]=U,t[50]=W):W=t[50],t[51]!==l.foregroundSubtle?(F=[R.metaText,{color:l.foregroundSubtle}],t[51]=l.foregroundSubtle,t[52]=F):F=t[52],t[53]!==n.fileBytes?(V=(0,M.formatBytes)(n.fileBytes),t[53]=n.fileBytes,t[54]=V):V=t[54],t[55]!==F||t[56]!==V?($=(0,T.jsx)(d.default,{style:F,children:V}),t[55]=F,t[56]=V,t[57]=$):$=t[57],t[58]!==W||t[59]!==$?(q=(0,T.jsxs)(s.default,{style:R.metaRow,children:[W,$]}),t[58]=W,t[59]=$,t[60]=q):q=t[60],t[61]!==l.border||t[62]!==l.info||t[63]!==f?(X=null!==f?(0,T.jsx)(s.default,{style:[R.progressTrack,{backgroundColor:l.border}],children:(0,T.jsx)(s.default,{style:[R.progressFill,{width:`${f}%`,backgroundColor:l.info}]})}):null,t[61]=l.border,t[62]=l.info,t[63]=f,t[64]=X):X=t[64],t[65]!==l.foregroundSubtle?(J=[R.expiryText,{color:l.foregroundSubtle}],t[65]=l.foregroundSubtle,t[66]=J):J=t[66],t[67]!==e.nowMs||t[68]!==n.expiresAt||t[69]!==n.state||t[70]!==c?(K="deleted"===n.state?c("v2.exports.state.deleted"):(0,M.expiryLabel)(n.expiresAt,e.nowMs,c),t[67]=e.nowMs,t[68]=n.expiresAt,t[69]=n.state,t[70]=c,t[71]=K):K=t[71],t[72]!==J||t[73]!==K?(Q=(0,T.jsx)(d.default,{style:J,numberOfLines:1,children:K}),t[72]=J,t[73]=K,t[74]=Q):Q=t[74],t[75]!==p||t[76]!==l.danger||t[77]!==e.onCancel||t[78]!==c?(Y=p?(0,T.jsx)(E,{icon:h.XCircle,label:c("v2.exports.cancelAction"),color:l.danger,onPress:e.onCancel}):null,t[75]=p,t[76]=l.danger,t[77]=e.onCancel,t[78]=c,t[79]=Y):Y=t[79],t[80]!==l.primary||t[81]!==e.onDownload||t[82]!==b||t[83]!==c?(Z=b?(0,T.jsx)(E,{icon:h.Download,label:c("v2.exports.downloadAction"),color:l.primary,onPress:e.onDownload}):null,t[80]=l.primary,t[81]=e.onDownload,t[82]=b,t[83]=c,t[84]=Z):Z=t[84],t[85]!==l.foregroundMuted||t[86]!==e.onDelete||t[87]!==y||t[88]!==c?(ee=y?(0,T.jsx)(E,{icon:h.Trash2,label:c("v2.exports.deleteAction"),color:l.foregroundMuted,onPress:e.onDelete}):null,t[85]=l.foregroundMuted,t[86]=e.onDelete,t[87]=y,t[88]=c,t[89]=ee):ee=t[89],t[90]!==Y||t[91]!==Z||t[92]!==ee?(te=(0,T.jsxs)(s.default,{style:R.actions,children:[Y,Z,ee]}),t[90]=Y,t[91]=Z,t[92]=ee,t[93]=te):te=t[93],t[94]!==Q||t[95]!==te?(re=(0,T.jsxs)(s.default,{style:R.footerRow,children:[Q,te]}),t[94]=Q,t[95]=te,t[96]=re):re=t[96],t[97]!==l.danger||t[98]!==n.error||t[99]!==n.state?(oe=n.error&&"failed"===n.state?(0,T.jsx)(d.default,{style:[R.errorText,{color:l.danger}],numberOfLines:2,children:n.error}):null,t[97]=l.danger,t[98]=n.error,t[99]=n.state,t[100]=oe):oe=t[100],t[101]!==L||t[102]!==_||t[103]!==S||t[104]!==q||t[105]!==X||t[106]!==re||t[107]!==oe?(ne=(0,T.jsxs)(s.default,{style:S,children:[L,_,q,X,re,oe]}),t[101]=L,t[102]=_,t[103]=S,t[104]=q,t[105]=X,t[106]=re,t[107]=oe,t[108]=ne):ne=t[108],ne});function E(e){const t=(0,o.c)(7),{icon:n,label:l,color:s,onPress:d}=e;let c,u;return t[0]!==n||t[1]!==s?(c=(0,T.jsx)(n,{size:18,color:s}),t[0]=n,t[1]=s,t[2]=c):c=t[2],t[3]!==l||t[4]!==d||t[5]!==c?(u=(0,T.jsx)(f.default,{accessibilityRole:"button",accessibilityLabel:l,onPress:d,hitSlop:6,style:R.actionBtn,children:c}),t[3]=l,t[4]=d,t[5]=c,t[6]=u):u=t[6],u}function G(e){const t=(0,o.c)(2),{children:n}=e;let l;return t[0]!==n?(l=(0,T.jsx)(s.default,{style:R.centered,children:n}),t[0]=n,t[1]=l):l=t[1],l}const R=x.default.create({centered:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl'],gap:C.SPACING.sm},card:{borderWidth:1,borderRadius:C.RADIUS.lg,padding:C.SPACING.lg,gap:C.SPACING.sm},cardHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md},cameraName:{flex:1,fontSize:15,fontWeight:'700'},stateBadge:{paddingHorizontal:C.SPACING.md,paddingVertical:2,borderRadius:C.RADIUS.md},stateText:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.3},rangeText:{fontSize:13,fontVariant:['tabular-nums']},metaRow:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md},metaText:{fontSize:12},progressTrack:{height:4,borderRadius:2,overflow:'hidden'},progressFill:{height:'100%',borderRadius:2},footerRow:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md,marginTop:C.SPACING.xs},expiryText:{flex:1,fontSize:12},actions:{flexDirection:'row',alignItems:'center',gap:C.SPACING.lg},actionBtn:{width:32,height:32,alignItems:'center',justifyContent:'center'},errorText:{fontSize:12,marginTop:C.SPACING.xs}})},3538,[15,17,20,112,138,240,252,33,133,136,786,743,3434,3439,813,2594,3144,2587,2589,3050,2712,3080,3491,3492,2705,10]);
|
|
15960
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(2),{id:o}=(0,n.useLocalSearchParams)();if(!o)return null;let f;return l[0]!==o?(f=(0,c.jsx)(u.GridBuilderScreen,{gridId:o}),l[0]=o,l[1]=f):f=l[1],f}},3539,[15,743,3411,10]);
|
|
15961
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(2),{id:o}=(0,n.useLocalSearchParams)();if(!o)return null;let f;return l[0]!==o?(f=(0,c.jsx)(u.GridViewScreen,{gridId:o}),l[0]=o,l[1]=f):f=l[1],f}},3540,[15,743,3541,10]);
|
|
15962
|
+
__d(function(_g,r,i,_a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridViewScreen=function(e){const f=(0,t.c)(185),{gridId:L,adhocCameraIds:J}=e,{t:K}=(0,c.useTranslation)(),{colors:Y}=(0,p.useTheme)(),Z=(0,u.useRouter)(),ee=(0,h.useSafeAreaInsets)(),{width:te,height:oe}=(0,a.default)(),ne=(0,v.useGridStore)($),re=(0,v.useGridStore)(W),ie=(0,v.useGridStore)(U),le=(0,v.useGridStore)(F),se=(0,v.useGridStore)(V),de=(0,v.useGridStore)(D),ae=(0,v.useGridStore)(q),{data:ce}=(0,G.useCameras)();let ue;f[0]!==ce?(ue=void 0===ce?[]:ce,f[0]=ce,f[1]=ue):ue=f[1];const he=ue,{settings:ge}=(0,z.useSettings)(),{server:fe}=(0,I.useServer)(),me=fe?.serverUrl??null,ye=null===L;let pe;f[2]!==J?(pe=()=>({id:_,name:"",cameraIds:J??[]}),f[2]=J,f[3]=pe):pe=f[3];const[Se,be]=(0,o.useState)(pe);let xe;f[4]!==Se||f[5]!==L||f[6]!==ne||f[7]!==ye?(xe=ye?Se:ne.find(e=>e.id===L),f[4]=Se,f[5]=L,f[6]=ne,f[7]=ye,f[8]=xe):xe=f[8];const Ie=xe;let je;f[9]===Symbol.for("react.memo_cache_sentinel")?(je=e=>{be(t=>e([t])[0]??t)},f[9]=je):je=f[9];const Ce=je;let we;f[10]!==L||f[11]!==le?(we=e=>{null===L?Ce(t=>(0,v.setGridOptionsEntry)(t,_,e)):le(L,e)},f[10]=L,f[11]=le,f[12]=we):we=f[12];const ve=we;let Ge;f[13]!==L||f[14]!==se?(Ge=e=>{null===L?Ce(t=>(0,v.setGridHighlightEntry)(t,_,e)):se(L,e)},f[13]=L,f[14]=se,f[15]=Ge):Ge=f[15];const ze=Ge;let Ae;f[16]!==L||f[17]!==de?(Ae=(e,t)=>{null===L?Ce(o=>(0,v.setGridAudioInitialEntry)(o,_,e,t)):de(L,e,t)},f[16]=L,f[17]=de,f[18]=Ae):Ae=f[18];const Pe=Ae;let Oe;f[19]!==L||f[20]!==ae?(Oe=(e,t)=>{null===L?Ce(o=>(0,v.setAllGridAudioEntry)(o,_,e,t)):ae(L,e,t)},f[19]=L,f[20]=ae,f[21]=Oe):Oe=f[21];const Te=Oe;let ke,He;f[22]!==Ie?.options?(ke=()=>(0,v.resolveGridOptions)(Ie?.options),f[22]=Ie?.options,f[23]=ke):ke=f[23];f[24]!==ke?(He=ke(),f[24]=ke,f[25]=He):He=f[25];const Ne=He;let Ee;f[26]===Symbol.for("react.memo_cache_sentinel")?(Ee=new Set,f[26]=Ee):Ee=f[26];const[Re,Be]=(0,o.useState)(Ee),[Me,Le]=(0,o.useState)(!1),[qe,De]=(0,o.useState)(!1),[Ve,Fe]=(0,o.useState)(!1),[Ue,We]=(0,o.useState)(!1);let $e,Qe;f[27]!==Ie?.audioOnIds?($e=Ie?.audioOnIds??[],f[27]=Ie?.audioOnIds,f[28]=$e):$e=f[28];f[29]!==$e?(Qe=new Set($e),f[29]=$e,f[30]=Qe):Qe=f[30];const Xe=Qe;let Je,Ke;f[31]!==Ie?.audioOnIds?(Je=()=>[...Ie?.audioOnIds??[]],f[31]=Ie?.audioOnIds,f[32]=Je):Je=f[32];f[33]!==Je?(Ke=Je(),f[33]=Je,f[34]=Ke):Ke=f[34];const Ye=Ke;let Ze;f[35]!==Xe||f[36]!==Pe?(Ze=e=>Pe(e,!Xe.has(e)),f[35]=Xe,f[36]=Pe,f[37]=Ze):Ze=f[37];const et=Ze;let tt,ot,nt,rt;f[38]!==re?(tt=()=>{re()},ot=[re],f[38]=re,f[39]=tt,f[40]=ot):(tt=f[39],ot=f[40]);(0,o.useEffect)(tt,ot),f[41]===Symbol.for("react.memo_cache_sentinel")?(nt=[],f[41]=nt):nt=f[41];(0,o.useEffect)(M,nt);e:{if(!Ie){let e;f[42]===Symbol.for("react.memo_cache_sentinel")?(e=[],f[42]=e):e=f[42],rt=e;break e}let e;f[43]!==he?(e=new Map(he.map(B)),f[43]=he,f[44]=e):e=f[44];const t=e;let o;if(f[45]!==t||f[46]!==Ie.cameraIds){o=[];for(const e of Ie.cameraIds){const n=t.get(e);n&&o.push(n)}f[45]=t,f[46]=Ie.cameraIds,f[47]=o}else o=f[47];rt=o}const it=rt;let lt,st;f[48]!==Ie?.hiddenCameraIds?(lt=()=>new Set(Ie?.hiddenCameraIds??[]),f[48]=Ie?.hiddenCameraIds,f[49]=lt):lt=f[49];f[50]!==lt?(st=lt(),f[50]=lt,f[51]=st):st=f[51];const dt=st;let at;f[52]!==dt||f[53]!==it?(at=0===dt.size?it:it.filter(e=>!dt.has(e.id)),f[52]=dt,f[53]=it,f[54]=at):at=f[54];const ct=at;let ut;f[55]!==ct?(ut=ct.filter(R).map(E),f[55]=ct,f[56]=ut):ut=f[56];const ht=ut,[gt,ft]=(0,o.useState)(null);let mt;f[57]!==gt||f[58]!==ct?(mt=ct.find(e=>e.id===gt)??null,f[57]=gt,f[58]=ct,f[59]=mt):mt=f[59];const yt=mt,pt=Re.size>0;let St;f[60]!==Re?(St=[...Re],f[60]=Re,f[61]=St):St=f[61];const bt=St;let xt;f[62]===Symbol.for("react.memo_cache_sentinel")?(xt=e=>Be(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),f[62]=xt):xt=f[62];const It=xt;let jt;f[63]!==ct?(jt=()=>Be(e=>e.size>0?new Set:new Set(ct.map(N))),f[63]=ct,f[64]=jt):jt=f[64];const Ct=jt,wt=Xe.size>0;let vt;f[65]!==wt||f[66]!==Te||f[67]!==ct?(vt=()=>Te(wt?[]:ct.map(H),!wt),f[65]=wt,f[66]=Te,f[67]=ct,f[68]=vt):vt=f[68];const Gt=vt,zt=Math.max(0,oe-ee.top-ee.bottom);let At;f[69]!==zt||f[70]!==te?(At={width:te,height:zt},f[69]=zt,f[70]=te,f[71]=At):At=f[71];const _t=At,[Pt,Ot]=(0,o.useState)(_t);let Tt;f[72]!==Pt.height||f[73]!==Pt.width||f[74]!==Ne.layout||f[75]!==ct.length?(Tt=(0,w.computeGridLayout)(ct.length,Pt.width,Pt.height,Ne.layout),f[72]=Pt.height,f[73]=Pt.width,f[74]=Ne.layout,f[75]=ct.length,f[76]=Tt):Tt=f[76];const kt=Tt;let Ht,Nt;f[77]!==Ie?.highlight?(Ht=()=>(0,v.withHighlightDefaults)(Ie?.highlight),f[77]=Ie?.highlight,f[78]=Ht):Ht=f[78];f[79]!==Ht?(Nt=Ht(),f[79]=Ht,f[80]=Nt):Nt=f[80];const Et=Nt;let Rt;f[81]!==Me||f[82]!==Et||f[83]!==ge.grid.motionHoldSec||f[84]!==ge.highlight?(Rt=Object.assign({enabled:Me},Et,{appearance:ge.highlight,motionHoldSec:ge.grid.motionHoldSec}),f[81]=Me,f[82]=Et,f[83]=ge.grid.motionHoldSec,f[84]=ge.highlight,f[85]=Rt):Rt=f[85];const Bt=Rt;let Mt;f[86]!==L||f[87]!==Z?(Mt=null!==L?()=>Z.push(`/grid/${L}/edit`):void 0,f[86]=L,f[87]=Z,f[88]=Mt):Mt=f[88];const Lt=Mt;let qt;f[89]!==Z?(qt=()=>Z.back(),f[89]=Z,f[90]=qt):qt=f[90];const Dt=qt;let Vt;f[91]!==Ie?.name||f[92]!==ye||f[93]!==K?(Vt=ye?K("v2.gridView.adhocTitle"):Ie?.name??K("v2.gridView.fallbackTitle"),f[91]=Ie?.name,f[92]=ye,f[93]=K,f[94]=Vt):Vt=f[94];const Ft=Vt;if(ie&&!Ie){let e,t,o,s,d,a;return f[95]!==Y.background||f[96]!==ee.top?(e=[X.fill,{backgroundColor:Y.background,paddingTop:ee.top}],f[95]=Y.background,f[96]=ee.top,f[97]=e):e=f[97],f[98]!==Y||f[99]!==Dt?(t=(0,A.jsx)(Q,{onPress:Dt,colors:Y}),f[98]=Y,f[99]=Dt,f[100]=t):t=f[100],f[101]!==Y.foregroundMuted?(o={color:Y.foregroundMuted,fontSize:15},f[101]=Y.foregroundMuted,f[102]=o):o=f[102],f[103]!==K?(s=K("v2.gridView.notFound"),f[103]=K,f[104]=s):s=f[104],f[105]!==o||f[106]!==s?(d=(0,A.jsx)(n.default,{style:X.center,children:(0,A.jsx)(l.default,{style:o,children:s})}),f[105]=o,f[106]=s,f[107]=d):d=f[107],f[108]!==e||f[109]!==t||f[110]!==d?(a=(0,A.jsxs)(n.default,{style:e,children:[t,d]}),f[108]=e,f[109]=t,f[110]=d,f[111]=a):a=f[111],a}let Ut,Wt,$t,Qt,Xt,Jt,Kt,Yt;f[112]!==ve?(Ut=e=>ve({quality:e}),f[112]=ve,f[113]=Ut):Ut=f[113];f[114]!==ve?(Wt=e=>ve({layout:e}),f[114]=ve,f[115]=Wt):Wt=f[115];f[116]===Symbol.for("react.memo_cache_sentinel")?($t=()=>Le(k),f[116]=$t):$t=f[116];f[117]!==Et||f[118]!==ze?(Qt=e=>ze(Object.assign({},Et,e)),f[117]=Et,f[118]=ze,f[119]=Qt):Qt=f[119];f[120]===Symbol.for("react.memo_cache_sentinel")?(Xt=()=>Fe(T),f[120]=Xt):Xt=f[120];f[121]===Symbol.for("react.memo_cache_sentinel")?(Jt=()=>De(O),f[121]=Jt):Jt=f[121];f[122]!==ye||f[123]!==me?(Kt=null===me||ye?void 0:()=>We(!0),f[122]=ye,f[123]=me,f[124]=Kt):Kt=f[124];f[125]!==qe||f[126]!==wt||f[127]!==pt||f[128]!==Xe||f[129]!==Dt||f[130]!==Lt||f[131]!==Me||f[132]!==Et||f[133]!==Ne.layout||f[134]!==Ne.quality||f[135]!==Ve||f[136]!==Ut||f[137]!==Wt||f[138]!==Qt||f[139]!==Kt||f[140]!==Ft||f[141]!==et||f[142]!==Gt||f[143]!==Ct||f[144]!==ct?(Yt=(0,A.jsx)(b.GridControlBar,{title:Ft,onBack:Dt,onEdit:Lt,anyPaused:pt,onTogglePause:Ct,cameras:ct,audioOnIds:Xe,onToggleAudio:et,anyAudioOn:wt,onToggleMassAudio:Gt,quality:Ne.quality,onSelectQuality:Ut,layout:Ne.layout,onSelectLayout:Wt,highlightOn:Me,onToggleHighlight:$t,highlightSettings:Et,onSetHighlightSettings:Qt,showBoxes:Ve,onToggleShowBoxes:Xt,activeOnly:qe,onToggleActiveOnly:Jt,onShare:Kt}),f[125]=qe,f[126]=wt,f[127]=pt,f[128]=Xe,f[129]=Dt,f[130]=Lt,f[131]=Me,f[132]=Et,f[133]=Ne.layout,f[134]=Ne.quality,f[135]=Ve,f[136]=Ut,f[137]=Wt,f[138]=Qt,f[139]=Kt,f[140]=Ft,f[141]=et,f[142]=Gt,f[143]=Ct,f[144]=ct,f[145]=Yt):Yt=f[145];const Zt=Yt;let eo,to,oo,no,ro,io;f[146]===Symbol.for("react.memo_cache_sentinel")?(eo=[X.fill,{backgroundColor:"#000"}],to=(0,A.jsx)(g.StatusBar,{hidden:!0,style:"light"}),f[146]=eo,f[147]=to):(eo=f[146],to=f[147]);f[148]===Symbol.for("react.memo_cache_sentinel")?(oo=e=>{const{width:t,height:o}=e.nativeEvent.layout;t>0&&o>0&&Ot(e=>e.width===t&&e.height===o?e:{width:t,height:o})},f[148]=oo):oo=f[148];f[149]!==qe||f[150]!==pt||f[151]!==Ye||f[152]!==Xe.size||f[153]!==Y||f[154]!==Zt||f[155]!==Dt||f[156]!==Lt||f[157]!==Bt||f[158]!==ee.top||f[159]!==kt||f[160]!==it.length||f[161]!==Ne.layout||f[162]!==Ne.quality||f[163]!==Ne.showName||f[164]!==bt||f[165]!==ht||f[166]!==Z||f[167]!==Ve||f[168]!==K||f[169]!==et||f[170]!==ct?(no=0===it.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15},children:K("v2.gridView.emptyGrid")}),(0,A.jsx)(s.default,{onPress:Lt,style:e=>{const{pressed:t}=e;return{marginTop:C.SPACING.md,paddingVertical:C.SPACING.md,paddingHorizontal:C.SPACING.xl,borderRadius:C.RADIUS.md,backgroundColor:t?Y.surfaceHover:Y.primary}},children:(0,A.jsx)(l.default,{style:{color:Y.primaryForeground,fontSize:15,fontWeight:"600"},children:K("v2.gridView.addCameras")})})]}):0===ct.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15,textAlign:"center"},children:K("v2.gridView.allHidden")}),Zt]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(S.GridLiveEmbed,{devices:ct.map(P),quality:Ne.quality,layout:Ne.layout,showName:Ne.showName,audioOnIds:Ye,pausedIds:bt,highlight:Bt,activeOnly:qe,showBoxes:Ve,ptzIds:ht,onTileOpen:e=>Z.push(`/camera/${e}`),onAudioToggle:et,onPauseToggle:It,onPtzOpen:e=>ft(e)}),Zt]}),f[149]=qe,f[150]=pt,f[151]=Ye,f[152]=Xe.size,f[153]=Y,f[154]=Zt,f[155]=Dt,f[156]=Lt,f[157]=Bt,f[158]=ee.top,f[159]=kt,f[160]=it.length,f[161]=Ne.layout,f[162]=Ne.quality,f[163]=Ne.showName,f[164]=bt,f[165]=ht,f[166]=Z,f[167]=Ve,f[168]=K,f[169]=et,f[170]=ct,f[171]=no):no=f[171];f[172]!==no?(ro=(0,A.jsx)(n.default,{style:X.content,onLayout:oo,children:no}),f[172]=no,f[173]=ro):ro=f[173];f[174]!==Y||f[175]!==yt||f[176]!==K?(io=yt?(0,A.jsxs)(n.default,{style:d.default.absoluteFill,pointerEvents:"box-none",children:[(0,A.jsx)(s.default,{style:[d.default.absoluteFill,X.ptzBackdrop],onPress:()=>ft(null),accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close")}),(0,A.jsx)(n.default,{style:X.ptzCenter,pointerEvents:"box-none",children:(0,A.jsxs)(n.default,{style:[X.ptzCard,{backgroundColor:Y.surface,borderColor:Y.border}],children:[(0,A.jsxs)(n.default,{style:[X.ptzHeader,{borderBottomColor:Y.border}],children:[(0,A.jsx)(l.default,{style:[X.ptzTitle,{color:Y.foreground}],numberOfLines:1,children:yt.name}),(0,A.jsx)(s.default,{onPress:()=>ft(null),hitSlop:8,accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close"),children:(0,A.jsx)(y.X,{size:18,color:Y.foregroundMuted})})]}),(0,A.jsx)(n.default,{style:X.ptzBody,children:(0,A.jsx)(j.PtzControls,{deviceId:yt.id,hasFeature:!0})})]})})]}):null,f[174]=Y,f[175]=yt,f[176]=K,f[177]=io):io=f[177];const lo=Ue&&Ie?Ie:null;let so,ao,co;f[178]===Symbol.for("react.memo_cache_sentinel")?(so=()=>We(!1),f[178]=so):so=f[178];f[179]!==lo?(ao=(0,A.jsx)(x.GridShareDialog,{grid:lo,onClose:so}),f[179]=lo,f[180]=ao):ao=f[180];f[181]!==ro||f[182]!==io||f[183]!==ao?(co=(0,A.jsxs)(n.default,{style:eo,children:[to,ro,io,ao]}),f[181]=ro,f[182]=io,f[183]=ao,f[184]=co):co=f[184];return co};var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),d=e(r(_d[5])),a=e(r(_d[6]));r(_d[7]);var c=r(_d[8]),u=r(_d[9]),h=r(_d[10]),g=r(_d[11]),f=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[12])),y=r(_d[13]),p=r(_d[14]);r(_d[15]);var S=r(_d[16]),b=r(_d[17]),x=r(_d[18]),I=r(_d[19]),j=r(_d[20]),C=r(_d[21]),w=r(_d[22]),v=r(_d[23]),G=r(_d[24]),z=r(_d[25]),A=r(_d[26]);const _='adhoc';function P(e){return e.id}function O(e){return!e}function T(e){return!e}function k(e){return!e}function H(e){return e.id}function N(e){return e.id}function E(e){return e.id}function R(e){return e.features.includes(G.FEATURE.ptz)}function B(e){return[e.id,e]}function M(){return f.unlockAsync(),L}function L(){f.lockAsync(f.OrientationLock.PORTRAIT_UP)}function q(e){return e.setAllGridAudio}function D(e){return e.setGridAudioInitial}function V(e){return e.setGridHighlight}function F(e){return e.setGridOptions}function U(e){return e.hydrated}function W(e){return e.hydrate}function $(e){return e.grids}function Q(e){const o=(0,t.c)(9),{onPress:n,colors:l}=e;let d,a,c;return o[0]!==l.border||o[1]!==l.surface?(d={position:"absolute",top:C.SPACING.md,left:C.SPACING.md,width:40,height:40,borderRadius:C.RADIUS.lg,alignItems:"center",justifyContent:"center",backgroundColor:l.surface,borderWidth:1,borderColor:l.border},o[0]=l.border,o[1]=l.surface,o[2]=d):d=o[2],o[3]!==l.foreground?(a=(0,A.jsx)(y.ChevronLeft,{size:20,color:l.foreground}),o[3]=l.foreground,o[4]=a):a=o[4],o[5]!==n||o[6]!==d||o[7]!==a?(c=(0,A.jsx)(s.default,{onPress:n,accessibilityRole:"button",accessibilityLabel:"Back",hitSlop:10,style:d,children:a}),o[5]=n,o[6]=d,o[7]=a,o[8]=c):c=o[8],c}const X=d.default.create({fill:{flex:1},content:{flex:1},center:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl']},ptzBackdrop:{backgroundColor:'rgba(0,0,0,0.5)'},ptzCenter:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING.xl},ptzCard:{width:'100%',maxWidth:360,borderRadius:C.RADIUS.xl,borderWidth:1,overflow:'hidden'},ptzHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:C.SPACING.lg,paddingVertical:C.SPACING.md,borderBottomWidth:1},ptzTitle:{fontSize:15,fontWeight:'600',flex:1,marginRight:C.SPACING.md},ptzBody:{padding:C.SPACING.lg}})},3541,[15,17,20,112,252,33,277,136,786,743,466,3429,3431,813,2587,3542,3544,3547,3403,3144,3466,2589,3552,3139,3080,3177,10]);
|
|
15963
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridWall=function(e){const o=(0,t.c)(19),{cameras:c,cellW:f,cellH:w,showName:h,quality:p,muted:x,paused:v,showBoxes:_}=e,y=void 0===x||x,j=void 0!==v&&v,W=void 0!==_&&_;let b,q;if(o[0]!==c||o[1]!==w||o[2]!==f||o[3]!==y||o[4]!==j||o[5]!==p||o[6]!==W||o[7]!==h){let e;o[9]!==w||o[10]!==f||o[11]!==y||o[12]!==j||o[13]!==p||o[14]!==W||o[15]!==h?(e=e=>(0,u.jsx)(s.GridTile,{camera:e,width:f,height:w,showName:h,quality:p,muted:y,paused:j,showBoxes:W},e.id),o[9]=w,o[10]=f,o[11]=y,o[12]=j,o[13]=p,o[14]=W,o[15]=h,o[16]=e):e=o[16],b=c.map(e),o[0]=c,o[1]=w,o[2]=f,o[3]=y,o[4]=j,o[5]=p,o[6]=W,o[7]=h,o[8]=b}else b=o[8];o[17]!==b?(q=(0,u.jsx)(l.default,{style:n.wrap,children:b}),o[17]=b,o[18]=q):q=o[18];return q};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),o=e(r(d[3])),s=r(d[4]),u=r(d[5]);const n=o.default.create({wrap:{flex:1,flexDirection:'row',flexWrap:'wrap',alignItems:'center',justifyContent:'center',backgroundColor:'#000'}})},3542,[15,17,20,33,3543,10]);
|
|
15964
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GridTile",{enumerable:!0,get:function(){return C}});var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),h=r(d[6]),c=r(d[7]),f=r(d[8]),p=r(d[9]),y=r(d[10]),b=r(d[11]),v=r(d[12]),j=r(d[13]),x=r(d[14]),w=r(d[15]);const C=o.default.memo(function(e){const o=(0,t.c)(32),{camera:s,width:x,height:C,showName:P,quality:k,muted:B,paused:O,showBoxes:S}=e,_=void 0===B||B,E=void 0!==O&&O,F=void 0!==S&&S,{colors:G}=(0,c.useTheme)(),{settings:L}=(0,j.useSettings)();let M;o[0]!==k?(M=(0,y.qualityToTarget)(k),o[0]=k,o[1]=M):M=o[1];const N=M,{uri:T,headers:z,onLoad:A,onError:R}=(0,b.useSnapshot)(s.id,E&&s.online),q=(0,v.useMotionHighlight)(s.id,!E&&s.online);let D,H,V,W,J,K;return o[2]!==C||o[3]!==x?(D=[I.cell,{width:x,height:C}],o[2]=C,o[3]=x,o[4]=D):D=o[4],o[5]!==s.id||o[6]!==_||o[7]!==R||o[8]!==A||o[9]!==E||o[10]!==z||o[11]!==T||o[12]!==N?(H=E?(0,w.jsxs)(n.default,{style:I.pausedFill,children:[T?(0,w.jsx)(u.Image,{source:z?{uri:T,headers:z}:{uri:T},style:I.pausedFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:A,onError:R}):null,(0,w.jsx)(n.default,{style:I.pauseBadge,pointerEvents:"none",children:(0,w.jsx)(h.Pause,{size:18,color:"#fafaf9",fill:"#fafaf9"})})]}):(0,w.jsx)(f.LiveView,{deviceId:s.id,target:N,muted:_}),o[5]=s.id,o[6]=_,o[7]=R,o[8]=A,o[9]=E,o[10]=z,o[11]=T,o[12]=N,o[13]=H):H=o[13],o[14]!==s.id||o[15]!==E||o[16]!==F?(V=F&&!E?(0,w.jsx)(p.MotionBoxesOverlay,{deviceId:s.id,enabled:!0}):null,o[14]=s.id,o[15]=E,o[16]=F,o[17]=V):V=o[17],o[18]!==q||o[19]!==L?(W=q?(0,w.jsx)(n.default,{pointerEvents:"none",style:[I.motionBorder,{borderWidth:L.highlight.thickness,borderColor:L.highlight.motionColor,shadowColor:L.highlight.motionColor}]}):null,o[18]=q,o[19]=L,o[20]=W):W=o[20],o[21]!==s.name||o[22]!==s.online||o[23]!==G||o[24]!==P?(J=P?(0,w.jsxs)(n.default,{style:I.overlay,pointerEvents:"none",children:[(0,w.jsx)(n.default,{style:[I.dot,{backgroundColor:s.online?G.success:G.foregroundDisabled}]}),(0,w.jsx)(l.default,{style:I.name,numberOfLines:1,children:s.name})]}):null,o[21]=s.name,o[22]=s.online,o[23]=G,o[24]=P,o[25]=J):J=o[25],o[26]!==D||o[27]!==H||o[28]!==V||o[29]!==W||o[30]!==J?(K=(0,w.jsxs)(n.default,{style:D,children:[H,V,W,J]}),o[26]=D,o[27]=H,o[28]=V,o[29]=W,o[30]=J,o[31]=K):K=o[31],K}),I=s.default.create({cell:{backgroundColor:'#000'},pausedFill:{width:'100%',height:'100%',alignItems:'center',justifyContent:'center'},pauseBadge:{position:'absolute',width:36,height:36,borderRadius:18,alignItems:'center',justifyContent:'center',backgroundColor:'#0009'},motionBorder:{position:'absolute',top:0,left:0,right:0,bottom:0,shadowOffset:{width:0,height:0},shadowOpacity:.9,shadowRadius:8,elevation:8},overlay:{position:'absolute',left:0,right:0,bottom:0,flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.sm,backgroundColor:'#0009'},dot:{width:8,height:8,borderRadius:4},name:{flex:1,color:'#fafaf9',fontSize:12,fontWeight:'600'}})},3543,[15,17,20,112,33,3053,813,2587,3446,3499,3536,3143,3156,3177,2589,10]);
|
|
15965
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridLiveEmbed=function(e){const u=(0,t.c)(84),{devices:b,quality:E,layout:w,showName:C,audioOnIds:S,pausedIds:T,highlight:O,activeOnly:P,showBoxes:A,ptzIds:L}=e,{server:z,token:G}=(0,h.useServer)(),{colors:N}=(0,y.useTheme)(),{t:_}=(0,f.useTranslation)(),[B,M]=(0,n.useState)("connecting"),H=z?.serverUrl??null;let R;u[0]!==P||u[1]!==S||u[2]!==b||u[3]!==O||u[4]!==w||u[5]!==T||u[6]!==L||u[7]!==E||u[8]!==H||u[9]!==A||u[10]!==C||u[11]!==G?(R=()=>H?(0,p.buildGridEmbedConfig)({serverUrl:H,token:G??"",deviceIds:b,options:{showName:C,quality:E,layout:w},muted:!0,paused:!1,highlight:O,activeOnly:P,showBoxes:A,audioOnIds:S,pausedIds:T,ptzIds:L}):{},u[0]=P,u[1]=S,u[2]=b,u[3]=O,u[4]=w,u[5]=T,u[6]=L,u[7]=E,u[8]=H,u[9]=A,u[10]=C,u[11]=G,u[12]=R):R=u[12];const U=R;let q;u[13]!==e?(q=t=>{const n=(0,x.coerceGridHostMessage)(t);if(n)e:switch(n.type){case"state":M(n.state),e.onStateChange?.(n.state);break e;case"tileTap":e.onTileTap?.(n.deviceId,n.rect);break e;case"tileLongPress":e.onTileLongPress?.(n.deviceId,n.rect);break e;case"tileOpen":e.onTileOpen?.(n.deviceId);break e;case"audioToggle":e.onAudioToggle?.(n.deviceId);break e;case"pauseToggle":e.onPauseToggle?.(n.deviceId);break e;case"ptzOpen":e.onPtzOpen?.(n.deviceId)}},u[13]=e,u[14]=q):q=u[14];const W=q;let D;u[15]!==U||u[16]!==W||u[17]!==H?(D={serverUrl:H,mode:"grid",buildConfig:U,onHostMessage:W},u[15]=U,u[16]=W,u[17]=H,u[18]=D):D=u[18];const{iframeRef:F,src:Q,postCommand:V,reload:J}=(0,I.useEmbedIframe)(D);let K;u[19]!==b?(K=b.join(","),u[19]=b,u[20]=K):K=u[20];const X=K;let Y;u[21]!==S?(Y=S.join(","),u[21]=S,u[22]=Y):Y=u[22];const Z=Y;let $;u[23]!==T?($=T.join(","),u[23]=T,u[24]=$):$=u[24];const ee=$;let te,ne,re,oe,ie,se,le,de,ae,ce,ue,fe,ge,ve,he,ye,me,be,pe;u[25]!==S||u[26]!==V?(te=()=>V({kind:"setAudioOn",value:S}),u[25]=S,u[26]=V,u[27]=te):te=u[27];u[28]!==Z?(ne=[Z],u[28]=Z,u[29]=ne):ne=u[29];(0,n.useEffect)(te,ne),u[30]!==T||u[31]!==V?(re=()=>V({kind:"setPaused",value:T}),u[30]=T,u[31]=V,u[32]=re):re=u[32];u[33]!==ee?(oe=[ee],u[33]=ee,u[34]=oe):oe=u[34];(0,n.useEffect)(re,oe),u[35]!==V||u[36]!==E?(ie=()=>V({kind:"setQuality",value:E}),se=[E,V],u[35]=V,u[36]=E,u[37]=ie,u[38]=se):(ie=u[37],se=u[38]);(0,n.useEffect)(ie,se),u[39]!==w||u[40]!==V?(le=()=>V({kind:"setLayout",value:w}),de=[w,V],u[39]=w,u[40]=V,u[41]=le,u[42]=de):(le=u[41],de=u[42]);(0,n.useEffect)(le,de),u[43]!==V||u[44]!==C?(ae=()=>V({kind:"setShowName",value:C}),ce=[C,V],u[43]=V,u[44]=C,u[45]=ae,u[46]=ce):(ae=u[45],ce=u[46]);(0,n.useEffect)(ae,ce),u[47]!==O||u[48]!==V?(ue=()=>{O&&V({kind:"setHighlight",value:O})},fe=[O,V],u[47]=O,u[48]=V,u[49]=ue,u[50]=fe):(ue=u[49],fe=u[50]);(0,n.useEffect)(ue,fe),u[51]!==P||u[52]!==V?(ge=()=>V({kind:"setActiveOnly",value:P??!1}),ve=[P,V],u[51]=P,u[52]=V,u[53]=ge,u[54]=ve):(ge=u[53],ve=u[54]);(0,n.useEffect)(ge,ve),u[55]!==V||u[56]!==A?(he=()=>V({kind:"setShowBoxes",value:A??!1}),ye=[A,V],u[55]=V,u[56]=A,u[57]=he,u[58]=ye):(he=u[57],ye=u[58]);(0,n.useEffect)(he,ye),u[59]!==V?(me=()=>{const e=()=>V({kind:"reconnect"}),t=()=>{"visible"===document.visibilityState&&V({kind:"reconnect"})};return window.addEventListener("online",e),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("online",e),document.removeEventListener("visibilitychange",t)}},be=[V],u[59]=V,u[60]=me,u[61]=be):(me=u[60],be=u[61]);(0,n.useEffect)(me,be),u[62]!==J?(pe=()=>{M("connecting"),J()},u[62]=J,u[63]=pe):pe=u[63];const xe=pe;if(!Q){let e,t,n;return u[64]!==N.danger?(e=[k.errorText,{color:N.danger}],u[64]=N.danger,u[65]=e):e=u[65],u[66]!==_?(t=_("v2.live.error"),u[66]=_,u[67]=t):t=u[67],u[68]!==e||u[69]!==t?(n=(0,j.jsx)(o.default,{style:k.container,children:(0,j.jsx)(o.default,{style:k.center,children:(0,j.jsx)(s.default,{style:e,children:t})})}),u[68]=e,u[69]=t,u[70]=n):n=u[70],n}let Ie,je,ke,Ee;u[71]===Symbol.for("react.memo_cache_sentinel")?(Ie={width:"100%",height:"100%",border:"none",background:"#000"},u[71]=Ie):Ie=u[71];u[72]!==X||u[73]!==F||u[74]!==Q?(je=(0,j.jsx)("iframe",{ref:F,src:Q,title:"camera-grid",allow:"microphone; autoplay; fullscreen",style:Ie},X),u[72]=X,u[73]=F,u[74]=Q,u[75]=je):je=u[75];u[76]!==N||u[77]!==xe||u[78]!==B||u[79]!==_?(ke="ready"!==B&&(0,j.jsx)(o.default,{style:k.overlay,pointerEvents:"error"===B?"auto":"none",children:"connecting"===B?(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(l.default,{color:N.primary}),(0,j.jsx)(s.default,{style:[k.hint,{color:N.foregroundMuted}],children:_("v2.live.connecting")})]}):(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(s.default,{style:[k.errorText,{color:N.danger}],children:_("v2.live.error")}),(0,j.jsxs)(c.default,{onPress:xe,style:[k.retryButton,{borderColor:N.border}],children:[(0,j.jsx)(v.RotateCw,{size:16,color:N.foreground}),(0,j.jsx)(s.default,{style:[k.retryLabel,{color:N.foreground}],children:_("v2.live.retry")})]})]})}),u[76]=N,u[77]=xe,u[78]=B,u[79]=_,u[80]=ke):ke=u[80];u[81]!==je||u[82]!==ke?(Ee=(0,j.jsxs)(o.default,{style:k.container,children:[je,ke]}),u[81]=je,u[82]=ke,u[83]=Ee):Ee=u[83];return Ee};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),v=r(d[8]),h=r(d[9]),y=r(d[10]),b=r(d[11]),p=r(d[12]),x=r(d[13]),I=r(d[14]),j=r(d[15]);const k=u.default.create({container:{flex:1,overflow:'hidden',backgroundColor:'#000'},overlay:Object.assign({},u.default.absoluteFill,{alignItems:'center',justifyContent:'center',backgroundColor:'#000'}),center:{flex:1,alignItems:'center',justifyContent:'center',padding:b.SPACING.xl,gap:b.SPACING.md},hint:{fontSize:13,textAlign:'center'},errorText:{fontSize:13,textAlign:'center'},retryButton:{flexDirection:'row',alignItems:'center',gap:b.SPACING.sm,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:8,borderWidth:1},retryLabel:{fontSize:13,fontWeight:'600'}})},3544,[15,17,20,112,240,252,33,786,813,3144,2587,2589,3545,3546,3451,10]);
|
|
15966
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildGridEmbedConfig=function(s){return Object.assign({serverUrl:s.serverUrl,token:s.token,devices:[...s.deviceIds],layout:s.options.layout,quality:s.options.quality,showName:s.options.showName,showBadges:!0,muted:s.muted,paused:s.paused},s.highlight?{highlight:s.highlight}:{},s.activeOnly?{activeOnly:!0}:{},s.showBoxes?{showBoxes:!0}:{},s.audioOnIds&&s.audioOnIds.length>0?{audioOnIds:[...s.audioOnIds]}:{},s.pausedIds&&s.pausedIds.length>0?{pausedIds:[...s.pausedIds]}:{},s.ptzIds&&s.ptzIds.length>0?{ptzIds:[...s.ptzIds]}:{})}},3545,[]);
|
|
15967
|
+
__d(function(g,_r,i,a,_m,e,d){"use strict";function t(t){if('object'!=typeof t||null===t)return!1;const n=t;return'number'==typeof n.x&&'number'==typeof n.y&&'number'==typeof n.w&&'number'==typeof n.h}Object.defineProperty(e,'__esModule',{value:!0}),e.coerceGridHostMessage=r,e.parseGridHostMessage=function(t){let n;try{n=JSON.parse(t)}catch{return null}return r(n)},e.gridCommandScript=function(t){const n='window.__camstackGrid',r='fit'===t.kind?`${n}.fit(${t.w}, ${t.h})`:'reconnect'===t.kind?`${n}.reconnect()`:`${n}.${t.kind}(${JSON.stringify(t.value)})`;return`${n} && ${r}; true;`};const n=['connecting','ready','error'];function r(r){if('object'!=typeof r||null===r)return null;const c=r;switch(c.type){case'state':{if('string'!=typeof c.state||!n.includes(c.state))return null;const t=c.state;return'string'==typeof c.message?{type:'state',state:t,message:c.message}:{type:'state',state:t}}case'tileTap':case'tileLongPress':return'number'==typeof c.deviceId&&t(c.rect)?{type:c.type,deviceId:c.deviceId,rect:c.rect}:null;case'tileOpen':return'number'!=typeof c.deviceId?null:{type:'tileOpen',deviceId:c.deviceId};case'audioToggle':return'number'!=typeof c.deviceId?null:{type:'audioToggle',deviceId:c.deviceId};case'pauseToggle':return'number'!=typeof c.deviceId?null:{type:'pauseToggle',deviceId:c.deviceId};case'ptzOpen':return'number'!=typeof c.deviceId?null:{type:'ptzOpen',deviceId:c.deviceId};case'layout':{if(!Array.isArray(c.tiles))return null;const n=[];for(const r of c.tiles){if('object'!=typeof r||null===r)return null;const c=r;if('number'!=typeof c.deviceId||!t(c.rect))return null;n.push({deviceId:c.deviceId,rect:c.rect})}return{type:'layout',tiles:n}}default:return null}}},3546,[]);
|
|
15968
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridControlBar=function(l){const o=(0,e.c)(87),{title:S,onBack:P,onEdit:x,anyPaused:A,onTogglePause:T,cameras:j,audioOnIds:k,onToggleAudio:O,anyAudioOn:w,onToggleMassAudio:C,quality:M,onSelectQuality:f,layout:H,onSelectLayout:_,highlightOn:F,onToggleHighlight:G,highlightSettings:L,onSetHighlightSettings:z,showBoxes:V,onToggleShowBoxes:q,activeOnly:I,onToggleActiveOnly:X,onShare:D}=l,{t:E}=(0,n.useTranslation)(),{colors:N}=(0,u.useTheme)(),Q=A?s.Play:s.Pause;let R,Z;o[0]!==A||o[1]!==E?(R=E(A?"v2.gridBar.playAll":"v2.gridBar.pauseAll"),o[0]=A,o[1]=E,o[2]=R):R=o[2];o[3]!==T||o[4]!==Q||o[5]!==R?(Z={key:"pause",icon:Q,tip:R,onPress:T},o[3]=T,o[4]=Q,o[5]=R,o[6]=Z):Z=o[6];const J=k.size>0?s.Volume2:s.VolumeX;let K;o[7]!==E?(K=E("v2.gridBar.audio"),o[7]=E,o[8]=K):K=o[8];const U=k.size>0?String(k.size):void 0;let W,Y,$;o[9]!==w||o[10]!==k||o[11]!==j||o[12]!==N||o[13]!==O||o[14]!==C||o[15]!==E?(W=()=>0===j.length?(0,p.jsx)(t.default,{style:{color:N.foregroundMuted,fontSize:13,padding:h.SPACING.sm},children:"\u2014"}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(c.ControlBarLeadRow,{icon:w?s.VolumeX:s.Volume2,label:E(w?"v2.gridBar.muteAll":"v2.gridBar.unmuteAll"),onPress:C}),(0,p.jsx)(c.ControlBarDivider,{}),j.map(e=>(0,p.jsx)(c.ControlBarOption,{label:e.name,selected:k.has(e.id),onPress:()=>O(e.id)},e.id))]}),o[9]=w,o[10]=k,o[11]=j,o[12]=N,o[13]=O,o[14]=C,o[15]=E,o[16]=W):W=o[16];o[17]!==J||o[18]!==K||o[19]!==U||o[20]!==W?(Y={key:"audio",icon:J,tip:K,badge:U,panelScroll:!0,panel:W},o[17]=J,o[18]=K,o[19]=U,o[20]=W,o[21]=Y):Y=o[21];o[22]!==E?($=E("v2.gridBar.quality"),o[22]=E,o[23]=$):$=o[23];const ee=b[M];let le,ae,oe;o[24]!==f||o[25]!==M?(le=e=>(0,p.jsx)(p.Fragment,{children:y.map(l=>(0,p.jsx)(c.ControlBarOption,{label:l.label,selected:l.value===M,onPress:()=>{f(l.value),e()}},l.value))}),o[24]=f,o[25]=M,o[26]=le):le=o[26];o[27]!==ee||o[28]!==le||o[29]!==$?(ae={key:"quality",icon:s.Gauge,tip:$,badge:ee,panel:le},o[27]=ee,o[28]=le,o[29]=$,o[30]=ae):ae=o[30];o[31]!==E?(oe=E("v2.gridBar.layout"),o[31]=E,o[32]=oe):oe=o[32];const ie="auto"===H?"A":String(H);let te,ne,re,se,ge,ue,de,ce,he,ve;o[33]!==H||o[34]!==_?(te=e=>(0,p.jsx)(p.Fragment,{children:B.map(l=>(0,p.jsx)(c.ControlBarOption,{label:l.label,selected:l.value===H,onPress:()=>{_(l.value),e()}},String(l.value)))}),o[33]=H,o[34]=_,o[35]=te):te=o[35];o[36]!==oe||o[37]!==ie||o[38]!==te?(ne={key:"layout",icon:s.LayoutGrid,tip:oe,badge:ie,panel:te},o[36]=oe,o[37]=ie,o[38]=te,o[39]=ne):ne=o[39];o[40]!==E?(re=E("v2.gridBar.highlightMenu"),o[40]=E,o[41]=re):re=o[41];o[42]!==F||o[43]!==L||o[44]!==z||o[45]!==G||o[46]!==q||o[47]!==V?(se=()=>(0,p.jsx)(v.GridMenuPanel,{highlightOn:F,onToggleHighlight:G,showBoxes:V,onToggleShowBoxes:q,highlight:L,onSetHighlight:z}),o[42]=F,o[43]=L,o[44]=z,o[45]=G,o[46]=q,o[47]=V,o[48]=se):se=o[48];o[49]!==F||o[50]!==re||o[51]!==se?(ge={key:"menu",icon:s.Zap,tip:re,active:F,panelScroll:!0,panel:se},o[49]=F,o[50]=re,o[51]=se,o[52]=ge):ge=o[52];o[53]!==E?(ue=E("v2.gridBar.activeOnly"),o[53]=E,o[54]=ue):ue=o[54];o[55]!==I||o[56]!==X||o[57]!==ue?(de={key:"activeOnly",icon:s.Filter,tip:ue,active:I,onPress:X},o[55]=I,o[56]=X,o[57]=ue,o[58]=de):de=o[58];o[59]!==D||o[60]!==E?(ce=D?[{key:"share",icon:s.Share2,tip:E("v2.gridBar.share"),onPress:D}]:[],o[59]=D,o[60]=E,o[61]=ce):ce=o[61];o[62]!==x||o[63]!==E?(he=x?[{key:"edit",icon:s.Pencil,tip:E("v2.gridBar.edit"),onPress:x}]:[],o[62]=x,o[63]=E,o[64]=he):he=o[64];o[65]!==ae||o[66]!==ne||o[67]!==ge||o[68]!==de||o[69]!==ce||o[70]!==he||o[71]!==Z||o[72]!==Y?(ve=[Z,Y,ae,ne,ge,de,...ce,...he],o[65]=ae,o[66]=ne,o[67]=ge,o[68]=de,o[69]=ce,o[70]=he,o[71]=Z,o[72]=Y,o[73]=ve):ve=o[73];const pe=ve;let ye,Be,me,be;o[74]!==E?(ye=E("v2.gridBar.back"),o[74]=E,o[75]=ye):ye=o[75];o[76]!==E?(Be=E("v2.gridBar.hide"),o[76]=E,o[77]=Be):Be=o[77];o[78]!==E?(me=E("v2.gridBar.show"),o[78]=E,o[79]=me):me=o[79];o[80]!==pe||o[81]!==P||o[82]!==ye||o[83]!==Be||o[84]!==me||o[85]!==S?(be=(0,p.jsx)(c.FloatingControlBar,{onBack:P,backTip:ye,title:S,actions:pe,hideTip:Be,showTip:me}),o[80]=pe,o[81]=P,o[82]=ye,o[83]=Be,o[84]=me,o[85]=S,o[86]=be):be=o[86];return be};var e=r(d[0]);r(d[1]);var l,o=r(d[2]),t=(l=o)&&l.__esModule?l:{default:l},n=r(d[3]),s=r(d[4]),u=r(d[5]),c=r(d[6]),h=r(d[7]),v=r(d[8]),p=r(d[9]);const y=[{value:'auto',label:'Auto'},{value:'high',label:'High'},{value:'medium',label:'Mid'},{value:'low',label:'Low'}],B=[{value:'auto',label:'Auto'},{value:2,label:'2'},{value:3,label:'3'},{value:4,label:'4'}],b={auto:'A',high:'H',medium:'M',low:'L'}},3547,[15,17,112,786,813,2587,3548,2589,3551,10]);
|
|
15969
|
+
__d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingControlBar=function(e){const c=(0,o.c)(61),{onBack:p,backTip:h,title:P,actions:j,hideTip:I,showTip:R}=e,{colors:A}=(0,b.useTheme)(),{width:k}=(0,u.default)(),H=k>=900?260:100,[z,G]=(0,t.useState)(!0),[N,_]=(0,t.useState)(null),[D,T]=(0,t.useState)(0);let W;c[0]===Symbol.for("react.memo_cache_sentinel")?(W=()=>T(S),c[0]=W):W=c[0];const O=W;let F,L,U;c[1]!==z||c[2]!==N?(F=()=>{if(!z||null!==N)return;const e=setTimeout(()=>G(!1),x);return()=>clearTimeout(e)},c[1]=z,c[2]=N,c[3]=F):F=c[3];c[4]!==z||c[5]!==D||c[6]!==N?(L=[z,N,D],c[4]=z,c[5]=D,c[6]=N,c[7]=L):L=c[7];(0,t.useEffect)(F,L),c[8]===Symbol.for("react.memo_cache_sentinel")?(U=()=>{_(null),T(C)},c[8]=U):U=c[8];const B=U;if(!z){let e,o,t,n;return c[9]===Symbol.for("react.memo_cache_sentinel")?(e=()=>G(!0),c[9]=e):e=c[9],c[10]!==A.border||c[11]!==A.surface?(o=[w.handle,{backgroundColor:A.surface,borderColor:A.border}],c[10]=A.border,c[11]=A.surface,c[12]=o):o=c[12],c[13]!==A.foreground?(t=(0,y.jsx)(f.ChevronUp,{size:18,color:A.foreground}),c[13]=A.foreground,c[14]=t):t=c[14],c[15]!==R||c[16]!==o||c[17]!==t?(n=(0,y.jsx)(l.default,{onPress:e,accessibilityRole:"button",accessibilityLabel:R,style:o,hitSlop:10,children:t}),c[15]=R,c[16]=o,c[17]=t,c[18]=n):n=c[18],n}let V,E,M,q,J,K,Q,X,Y,Z,$;if(c[19]!==j||c[20]!==A.border||c[21]!==A.surface||c[22]!==N){let e;c[24]!==N?(e=e=>e.key===N&&void 0!==e.panel,c[24]=N,c[25]=e):e=c[25];const o=j.find(e);V=o?.panel?(0,y.jsx)(n.default,{style:[w.popover,{backgroundColor:A.surface,borderColor:A.border}],children:o.panelScroll?(0,y.jsx)(a.default,{style:{maxHeight:220},children:o.panel(B)}):(0,y.jsx)(n.default,{children:o.panel(B)})}):null,c[19]=j,c[20]=A.border,c[21]=A.surface,c[22]=N,c[23]=V}else V=c[23];c[26]!==A.border||c[27]!==A.surface?(E=[w.bar,{backgroundColor:A.surface,borderColor:A.border}],c[26]=A.border,c[27]=A.surface,c[28]=E):E=c[28];c[29]!==h||c[30]!==p?(M=p?(0,y.jsx)(v,{icon:f.ChevronLeft,tip:h??"",onPress:p}):null,c[29]=h,c[30]=p,c[31]=M):M=c[31];c[32]!==A.foreground||c[33]!==P||c[34]!==H?(q=void 0!==P?(0,y.jsx)(s.default,{style:[w.title,{color:A.foreground,maxWidth:H}],numberOfLines:1,children:P}):null,c[32]=A.foreground,c[33]=P,c[34]=H,c[35]=q):q=c[35];c[36]!==A.border||c[37]!==p||c[38]!==P?(J=p||void 0!==P?(0,y.jsx)(n.default,{style:[w.sep,{backgroundColor:A.border}]}):null,c[36]=A.border,c[37]=p,c[38]=P,c[39]=J):J=c[39];if(c[40]!==j||c[41]!==N){let e;c[43]!==N?(e=e=>(0,y.jsx)(v,{icon:e.icon,tip:e.tip,active:(e.active??!1)||void 0!==e.panel&&N===e.key,badge:e.badge,disabled:e.disabled,onPress:()=>{void 0!==e.panel?_(o=>o===e.key?null:e.key):(e.onPress?.(),_(null)),O()}},e.key),c[43]=N,c[44]=e):e=c[44],K=j.map(e),c[40]=j,c[41]=N,c[42]=K}else K=c[42];c[45]!==A.border?(Q=(0,y.jsx)(n.default,{style:[w.sep,{backgroundColor:A.border}]}),c[45]=A.border,c[46]=Q):Q=c[46];c[47]===Symbol.for("react.memo_cache_sentinel")?(X=()=>{_(null),G(!1)},c[47]=X):X=c[47];c[48]!==I?(Y=(0,y.jsx)(v,{icon:f.ChevronDown,tip:I,onPress:X}),c[48]=I,c[49]=Y):Y=c[49];c[50]!==K||c[51]!==Q||c[52]!==Y||c[53]!==E||c[54]!==M||c[55]!==q||c[56]!==J?(Z=(0,y.jsxs)(n.default,{style:E,pointerEvents:"box-none",children:[M,q,J,K,Q,Y]}),c[50]=K,c[51]=Q,c[52]=Y,c[53]=E,c[54]=M,c[55]=q,c[56]=J,c[57]=Z):Z=c[57];c[58]!==Z||c[59]!==V?($=(0,y.jsxs)(y.Fragment,{children:[V,Z]}),c[58]=Z,c[59]=V,c[60]=$):$=c[60];return $},_e.ControlBarOption=function(e){const t=(0,o.c)(18),{label:n,selected:a,onPress:c}=e,{colors:u}=(0,b.useTheme)();let p,h,x,C,S,v;t[0]!==a?(p={selected:a},t[0]=a,t[1]=p):p=t[1];t[2]!==u.surfaceHover?(h=e=>{const{pressed:o}=e;return[w.optionRow,{backgroundColor:o?u.surfaceHover:"transparent"}]},t[2]=u.surfaceHover,t[3]=h):h=t[3];t[4]!==u.foreground?(x={flex:1,color:u.foreground,fontSize:14},t[4]=u.foreground,t[5]=x):x=t[5];t[6]!==n||t[7]!==x?(C=(0,y.jsx)(s.default,{style:x,children:n}),t[6]=n,t[7]=x,t[8]=C):C=t[8];t[9]!==u.primary||t[10]!==a?(S=a?(0,y.jsx)(f.Check,{size:16,color:u.primary}):null,t[9]=u.primary,t[10]=a,t[11]=S):S=t[11];t[12]!==c||t[13]!==p||t[14]!==h||t[15]!==C||t[16]!==S?(v=(0,y.jsxs)(l.default,{onPress:c,accessibilityRole:"button",accessibilityState:p,style:h,children:[C,S]}),t[12]=c,t[13]=p,t[14]=h,t[15]=C,t[16]=S,t[17]=v):v=t[17];return v},_e.ControlBarLeadRow=function(e){const t=(0,o.c)(16),{icon:n,label:a,onPress:c}=e,{colors:u}=(0,b.useTheme)();let f,p,h,x,C;t[0]!==u.surfaceHover?(f=e=>{const{pressed:o}=e;return[w.optionRow,{backgroundColor:o?u.surfaceHover:"transparent"}]},t[0]=u.surfaceHover,t[1]=f):f=t[1];t[2]!==n||t[3]!==u.primary?(p=(0,y.jsx)(n,{size:16,color:u.primary}),t[2]=n,t[3]=u.primary,t[4]=p):p=t[4];t[5]!==u.foreground?(h={flex:1,color:u.foreground,fontSize:14,fontWeight:"600"},t[5]=u.foreground,t[6]=h):h=t[6];t[7]!==a||t[8]!==h?(x=(0,y.jsx)(s.default,{style:h,children:a}),t[7]=a,t[8]=h,t[9]=x):x=t[9];t[10]!==a||t[11]!==c||t[12]!==f||t[13]!==p||t[14]!==x?(C=(0,y.jsxs)(l.default,{onPress:c,accessibilityRole:"button",accessibilityLabel:a,style:f,children:[p,x]}),t[10]=a,t[11]=c,t[12]=f,t[13]=p,t[14]=x,t[15]=C):C=t[15];return C},_e.ControlBarDivider=function(){const e=(0,o.c)(2),{colors:t}=(0,b.useTheme)();let s;e[0]!==t.border?(s=(0,y.jsx)(n.default,{style:[w.popoverDivider,{backgroundColor:t.border}]}),e[0]=t.border,e[1]=s):s=e[1];return s};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),a=e(r(d[5])),c=e(r(d[6])),u=e(r(d[7])),f=r(d[8]),b=r(d[9]),p=r(d[10]),h=r(d[11]),y=r(d[12]);const x=4500;function C(e){return e+1}function S(e){return e+1}function v(e){const t=(0,o.c)(27),{icon:n,tip:a,onPress:c,active:u,badge:f,disabled:h}=e,x=void 0!==u&&u,C=void 0!==h&&h,{colors:S}=(0,b.useTheme)();let v,P;t[0]!==x||t[1]!==C?(v={selected:x,disabled:C},t[0]=x,t[1]=C,t[2]=v):v=t[2],t[3]!==x||t[4]!==S.primary||t[5]!==S.surfaceHover||t[6]!==C?(P=e=>{const{pressed:o}=e;return[w.btn,{backgroundColor:x?S.primary:o?S.surfaceHover:"transparent",opacity:C?.4:1}]},t[3]=x,t[4]=S.primary,t[5]=S.surfaceHover,t[6]=C,t[7]=P):P=t[7];const j=x?S.primaryForeground:S.foreground;let I,R,A,k;return t[8]!==n||t[9]!==j?(I=(0,y.jsx)(n,{size:18,color:j}),t[8]=n,t[9]=j,t[10]=I):I=t[10],t[11]!==x||t[12]!==f||t[13]!==S.foreground||t[14]!==S.primaryForeground?(R=f?(0,y.jsx)(s.default,{style:[w.badge,{color:x?S.primaryForeground:S.foreground}],children:f}):null,t[11]=x,t[12]=f,t[13]=S.foreground,t[14]=S.primaryForeground,t[15]=R):R=t[15],t[16]!==C||t[17]!==c||t[18]!==v||t[19]!==P||t[20]!==I||t[21]!==R||t[22]!==a?(A=(0,y.jsxs)(l.default,{onPress:c,disabled:C,accessibilityRole:"button",accessibilityLabel:a,accessibilityState:v,hitSlop:6,style:P,children:[I,R]}),t[16]=C,t[17]=c,t[18]=v,t[19]=P,t[20]=I,t[21]=R,t[22]=a,t[23]=A):A=t[23],t[24]!==A||t[25]!==a?(k=(0,y.jsx)(p.Tooltip,{label:a,children:A}),t[24]=A,t[25]=a,t[26]=k):k=t[26],k}const w=c.default.create({bar:{position:'absolute',bottom:h.SPACING.lg,alignSelf:'center',flexDirection:'row',alignItems:'center',gap:h.SPACING.xs/2,paddingHorizontal:h.SPACING.sm,paddingVertical:h.SPACING.xs,borderRadius:h.RADIUS.xl,borderWidth:1,maxWidth:'96%',shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},popover:{position:'absolute',bottom:64,alignSelf:'center',minWidth:220,maxWidth:'92%',borderRadius:h.RADIUS.lg,borderWidth:1,paddingVertical:h.SPACING.xs,paddingHorizontal:h.SPACING.xs,shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:8},optionRow:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm,paddingVertical:h.SPACING.sm,paddingHorizontal:h.SPACING.md,borderRadius:h.RADIUS.md},popoverDivider:{height:1,marginVertical:h.SPACING.xs/2,marginHorizontal:h.SPACING.sm},handle:{position:'absolute',bottom:h.SPACING.lg,alignSelf:'center',width:56,height:28,borderRadius:h.RADIUS.xl,borderWidth:1,alignItems:'center',justifyContent:'center',shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},title:{fontSize:13,fontWeight:'600',paddingHorizontal:h.SPACING.xs},sep:{width:1,height:20,marginHorizontal:2},btn:{flexDirection:'row',alignItems:'center',gap:2,paddingHorizontal:h.SPACING.sm,paddingVertical:h.SPACING.sm,borderRadius:h.RADIUS.lg},badge:{fontSize:11,fontWeight:'700'}})},3548,[15,17,20,112,252,147,33,277,813,2587,3549,2589,10]);
|
|
15970
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.Tooltip=function(e){const o=(0,t.c)(5),{label:n,children:l}=e;let c;o[2]!==l||o[3]!==n?(c=(0,b.jsx)(_,{label:n,children:l}),o[2]=l,o[3]=n,o[4]=c):c=o[4];return c};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),l=e(r(d[3])),c=e(r(d[4]));r(d[5]);var u=e(r(d[6])),s=r(d[7]),f=r(d[8]),h=r(d[9]),b=r(d[10]);function _(e){const u=(0,t.c)(14),{label:f,children:_}=e,{colors:y}=(0,s.useTheme)(),[S,T]=(0,o.useState)(!1),[v,O]=(0,o.useState)(0),[x,w]=(0,o.useState)(0),I=(0,o.useRef)(null);let L,E,P;u[0]===Symbol.for("react.memo_cache_sentinel")?(L=()=>()=>{I.current&&clearTimeout(I.current)},E=[],u[0]=L,u[1]=E):(L=u[0],E=u[1]),(0,o.useEffect)(L,E),u[2]===Symbol.for("react.memo_cache_sentinel")?(P=()=>{I.current&&clearTimeout(I.current),I.current=setTimeout(()=>T(!0),h.TOOLTIP_SHOW_DELAY_MS)},u[2]=P):P=u[2];const j=P;let A;u[3]===Symbol.for("react.memo_cache_sentinel")?(A=()=>{I.current&&clearTimeout(I.current),T(!1)},u[3]=A):A=u[3];const C=A;let H,R,z;return u[4]===Symbol.for("react.memo_cache_sentinel")?(H=e=>O(e.nativeEvent.layout.width),u[4]=H):H=u[4],u[5]!==v||u[6]!==y||u[7]!==f||u[8]!==x||u[9]!==S?(R=S?(0,b.jsx)(n.default,{pointerEvents:"none",onLayout:e=>w(e.nativeEvent.layout.width),style:[p.tip,{backgroundColor:y.backgroundElevated,borderColor:y.border,left:(0,h.tooltipLeftOffset)(v,x),opacity:x>0?1:0}],children:(0,b.jsx)(l.default,{style:[p.tipText,{color:y.foreground}],numberOfLines:1,children:f})}):null,u[5]=v,u[6]=y,u[7]=f,u[8]=x,u[9]=S,u[10]=R):R=u[10],u[11]!==_||u[12]!==R?(z=(0,b.jsxs)(c.default,{accessible:!1,onHoverIn:j,onHoverOut:C,onLayout:H,children:[_,R]}),u[11]=_,u[12]=R,u[13]=z):z=u[13],z}const p=u.default.create({tip:{position:'absolute',bottom:'100%',marginBottom:h.TOOLTIP_GAP,paddingHorizontal:f.SPACING.md,paddingVertical:f.SPACING.xs,borderRadius:f.RADIUS.md,borderWidth:1,zIndex:100,shadowColor:'#000',shadowOpacity:.35,shadowRadius:6,shadowOffset:{width:0,height:2}},tipText:{fontSize:12,fontWeight:'500'}})},3549,[15,17,20,112,252,136,33,2587,2589,3550,10]);
|
|
15971
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"TOOLTIP_SHOW_DELAY_MS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"TOOLTIP_GAP",{enumerable:!0,get:function(){return n}}),e.tooltipLeftOffset=function(t,n){return Math.round((t-n)/2)};const t=400,n=6},3550,[]);
|
|
15972
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridMenuPanel=function(e){const l=(0,o.c)(27),{highlightOn:c,onToggleHighlight:S,showBoxes:T,onToggleShowBoxes:b,highlight:v,onSetHighlight:P}=e,{t:p}=(0,h.useTranslation)(),{colors:j}=(0,s.useTheme)();let C,_,w,y,B,G,H,A,I;l[0]!==p?(C=p("v2.gridMenu.highlightMaster"),l[0]=p,l[1]=C):C=l[1];l[2]!==c||l[3]!==S||l[4]!==C?(_=(0,x.jsx)(f.PanelToggleRow,{icon:u.Zap,label:C,value:c,onValueChange:S}),l[2]=c,l[3]=S,l[4]=C,l[5]=_):_=l[5];l[6]!==p?(w=p("v2.cameraMenu.boundingBoxes"),l[6]=p,l[7]=w):w=l[7];l[8]!==b||l[9]!==T||l[10]!==w?(y=(0,x.jsx)(f.PanelToggleRow,{icon:u.SquareDashed,label:w,value:T,onValueChange:b}),l[8]=b,l[9]=T,l[10]=w,l[11]=y):y=l[11];l[12]!==j.foregroundMuted?(B=[M.sectionLabel,{color:j.foregroundMuted}],l[12]=j.foregroundMuted,l[13]=B):B=l[13];l[14]!==p?(G=p("v2.gridBuilder.highlightTitle"),l[14]=p,l[15]=G):G=l[15];l[16]!==B||l[17]!==G?(H=(0,x.jsx)(t.default,{style:B,children:G}),l[16]=B,l[17]=G,l[18]=H):H=l[18];l[19]!==v||l[20]!==P?(A=(0,x.jsx)(f.HighlightTriggerRows,{highlight:v,onSetHighlight:P}),l[19]=v,l[20]=P,l[21]=A):A=l[21];l[22]!==_||l[23]!==y||l[24]!==H||l[25]!==A?(I=(0,x.jsxs)(n.default,{style:M.body,children:[_,y,H,A]}),l[22]=_,l[23]=y,l[24]=H,l[25]=A,l[26]=I):I=l[26];return I};var o=r(d[0]);r(d[1]);var n=e(r(d[2])),t=e(r(d[3])),l=e(r(d[4])),h=r(d[5]),u=r(d[6]),s=r(d[7]),c=r(d[8]),f=r(d[9]),x=r(d[10]);const M=l.default.create({body:{paddingHorizontal:c.SPACING.sm,paddingVertical:c.SPACING.xs},sectionLabel:{fontSize:12,fontWeight:'600',paddingTop:c.SPACING.md,paddingBottom:c.SPACING.xs}})},3551,[15,17,20,112,33,786,813,2587,2589,3408,10]);
|
|
15973
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.computeAutoLayout=t,e.computeGridLayout=function(o,c,n,u="auto",s=l){if('number'!=typeof u||u<1)return t(o,c,n,s);if(o<=0||c<=0||n<=0)return{cols:0,rows:0,cellW:0,cellH:0};const f=Math.floor(u),M=Math.ceil(o/f),h=Math.min(c/f,n/M*s);return{cols:f,rows:M,cellW:h,cellH:h/s}};const l=1.7777777777777777;function t(t,o,c,n=l){if(t<=0||o<=0||c<=0)return{cols:0,rows:0,cellW:0,cellH:0};let u={cols:1,rows:t,cellW:0,cellH:0},s=-1;for(let l=1;l<=t;l++){const f=Math.ceil(t/l),M=Math.min(o/l,c/f*n),h=M/n,w=M*h;w>s&&(s=w,u={cols:l,rows:f,cellW:M,cellH:h})}return u}},3552,[]);
|
|
15974
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]),n=r(d[1]);r(d[2]);var c=r(d[3]),u=r(d[4]),l=r(d[5]);function s(){const s=(0,t.c)(4),{devices:o}=(0,n.useLocalSearchParams)();let f;s[0]!==o?(f=(0,u.parseAdhocDeviceIds)(o),s[0]=o,s[1]=f):f=s[1];const v=f;if(0===v.length)return null;let h;return s[2]!==v?(h=(0,l.jsx)(c.GridViewScreen,{gridId:null,adhocCameraIds:v}),s[2]=v,s[3]=h):h=s[3],h}},3553,[15,743,17,3541,3506,10]);
|
|
15975
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.CamerasManageScreen,{}),o[0]=u):u=o[0],u}},3554,[15,3555,10]);
|
|
15976
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CamerasManageScreen=function(){const e=(0,o.c)(34),{t:s}=(0,S.useTranslation)(),{colors:u}=(0,C.useTheme)(),c=(0,h.useRouter)(),{data:f,isLoading:p}=(0,v.useAllCameras)();let y;e[0]!==f?(y=void 0===f?[]:f,e[0]=f,e[1]=y):y=e[1];const j=y,{setLocalName:H,setHidden:R,setOrder:T}=(0,A.useCameraPrefs)(),[D,E]=(0,n.useState)(j);let z,L,w;e[2]!==j?(z=()=>{E(j)},L=[j],e[2]=j,e[3]=z,e[4]=L):(z=e[3],L=e[4]);(0,n.useEffect)(z,L),e[5]!==T?(w=e=>{const{data:o}=e;E(o),T(o.map(k))},e[5]=T,e[6]=w):w=e[6];const _=w;let O;e[7]!==u||e[8]!==R||e[9]!==H?(O=e=>{const{item:o,drag:n,isActive:t}=e;return(0,I.jsx)(G,{camera:o,drag:n,isActive:t,colors:u,onRename:e=>H(o.id,e),onToggleHidden:e=>R(o.id,e)})},e[7]=u,e[8]=R,e[9]=H,e[10]=O):O=e[10];const V=O;let B,W,F,K,U,q;e[11]!==u.background?(B={flex:1,backgroundColor:u.background},e[11]=u.background,e[12]=B):B=e[12];e[13]!==s?(W=s("v2.cameras.manage"),e[13]=s,e[14]=W):W=e[14];e[15]!==c?(F=()=>c.back(),e[15]=c,e[16]=F):F=e[16];e[17]!==W||e[18]!==F?(K=(0,I.jsx)(N.ScreenHeader,{title:W,onBack:F,bordered:!0}),e[17]=W,e[18]=F,e[19]=K):K=e[19];e[20]!==j||e[21]!==u.foregroundMuted||e[22]!==u.foregroundSubtle||e[23]!==u.primary||e[24]!==D||e[25]!==_||e[26]!==p||e[27]!==V||e[28]!==s?(U=p?(0,I.jsx)(t.default,{style:M.centered,children:(0,I.jsx)(b.default,{color:u.primary})}):0===j.length?(0,I.jsx)(t.default,{style:M.centered,children:(0,I.jsx)(l.default,{style:{color:u.foregroundMuted,fontSize:15},children:s("v2.cameras.empty")})}):(0,I.jsx)(x.default,{data:D,keyExtractor:P,onDragEnd:_,renderItem:V,contentContainerStyle:M.content,activationDistance:12,ListHeaderComponent:(0,I.jsx)(l.default,{style:[M.hint,{color:u.foregroundSubtle}],children:s("v2.cameras.manageHint")})}),e[20]=j,e[21]=u.foregroundMuted,e[22]=u.foregroundSubtle,e[23]=u.primary,e[24]=D,e[25]=_,e[26]=p,e[27]=V,e[28]=s,e[29]=U):U=e[29];e[30]!==U||e[31]!==B||e[32]!==K?(q=(0,I.jsxs)(t.default,{style:B,children:[K,U]}),e[30]=U,e[31]=B,e[32]=K,e[33]=q):q=e[33];return q};var o=r(d[0]),n=r(d[1]),t=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=e(r(d[5])),c=e(r(d[6])),f=e(r(d[7])),b=e(r(d[8]));r(d[9]);var S=r(d[10]),h=r(d[11]),p=r(d[12]),x=e(p),y=r(d[13]),C=r(d[14]),j=r(d[15]),N=r(d[16]),v=r(d[17]),A=r(d[18]),I=r(d[19]);function P(e){return String(e.id)}function k(e){return e.id}function G(e){const f=(0,o.c)(59),{camera:b,drag:h,isActive:x,colors:C,onRename:j,onToggleHidden:N}=e,{t:v}=(0,S.useTranslation)(),[A,P]=(0,n.useState)(b.name);let k,G,H;f[0]!==b.name?(k=()=>{P(b.name)},G=[b.name],f[0]=b.name,f[1]=k,f[2]=G):(k=f[1],G=f[2]),(0,n.useEffect)(k,G),f[3]!==b.name||f[4]!==A||f[5]!==j?(H=()=>{A!==b.name&&j(A)},f[3]=b.name,f[4]=A,f[5]=j,f[6]=H):H=f[6];const R=H,T=b.name!==b.originalName,D=x?C.surfaceHover:C.surface,E=b.hidden?.55:1;let z,L,w,_;f[7]!==C.border||f[8]!==D||f[9]!==E?(z=[M.row,{backgroundColor:D,borderColor:C.border,opacity:E}],f[7]=C.border,f[8]=D,f[9]=E,f[10]=z):z=f[10],f[11]!==v?(L=v("v2.cameras.reorderHandle"),f[11]=v,f[12]=L):L=f[12],f[13]!==C.foregroundMuted?(w=(0,I.jsx)(y.GripVertical,{size:20,color:C.foregroundMuted}),f[13]=C.foregroundMuted,f[14]=w):w=f[14],f[15]!==h||f[16]!==L||f[17]!==w?(_=(0,I.jsx)(c.default,{accessibilityRole:"button",accessibilityLabel:L,onLongPress:h,delayLongPress:150,style:M.handle,children:w}),f[15]=h,f[16]=L,f[17]=w,f[18]=_):_=f[18];const O=b.online?C.success:C.foregroundDisabled;let V,B,W,F,K,U,q;f[19]!==O?(V=(0,I.jsx)(t.default,{style:[M.statusDot,{backgroundColor:O}]}),f[19]=O,f[20]=V):V=f[20],f[21]!==C.foreground?(B=[M.input,{color:C.foreground}],f[21]=C.foreground,f[22]=B):B=f[22],f[23]!==b.originalName||f[24]!==C.foregroundSubtle||f[25]!==R||f[26]!==A||f[27]!==B?(W=(0,I.jsx)(s.default,{value:A,onChangeText:P,onBlur:R,onSubmitEditing:R,returnKeyType:"done",placeholder:b.originalName,placeholderTextColor:C.foregroundSubtle,selectTextOnFocus:!0,style:B}),f[23]=b.originalName,f[24]=C.foregroundSubtle,f[25]=R,f[26]=A,f[27]=B,f[28]=W):W=f[28],f[29]!==V||f[30]!==W?(F=(0,I.jsxs)(t.default,{style:M.nameRow,children:[V,W]}),f[29]=V,f[30]=W,f[31]=F):F=f[31],f[32]!==b.originalName||f[33]!==C.foregroundSubtle||f[34]!==T?(K=T?(0,I.jsx)(l.default,{style:[M.original,{color:C.foregroundSubtle}],numberOfLines:1,children:b.originalName}):null,f[32]=b.originalName,f[33]=C.foregroundSubtle,f[34]=T,f[35]=K):K=f[35],f[36]!==F||f[37]!==K?(U=(0,I.jsxs)(t.default,{style:M.body,children:[F,K]}),f[36]=F,f[37]=K,f[38]=U):U=f[38],f[39]!==b.hidden||f[40]!==C.foregroundMuted?(q=b.hidden?(0,I.jsx)(y.EyeOff,{size:16,color:C.foregroundMuted}):null,f[39]=b.hidden,f[40]=C.foregroundMuted,f[41]=q):q=f[41];const J=!b.hidden;let Q,X,Y,Z;return f[42]!==N?(Q=e=>N(!e),f[42]=N,f[43]=Q):Q=f[43],f[44]!==C.border||f[45]!==C.primary?(X={false:C.border,true:C.primary},f[44]=C.border,f[45]=C.primary,f[46]=X):X=f[46],f[47]!==C.backgroundElevated||f[48]!==C.border||f[49]!==J||f[50]!==Q||f[51]!==X?(Y=(0,I.jsx)(u.default,{value:J,onValueChange:Q,trackColor:X,thumbColor:C.backgroundElevated,ios_backgroundColor:C.border}),f[47]=C.backgroundElevated,f[48]=C.border,f[49]=J,f[50]=Q,f[51]=X,f[52]=Y):Y=f[52],f[53]!==U||f[54]!==q||f[55]!==Y||f[56]!==z||f[57]!==_?(Z=(0,I.jsx)(p.ScaleDecorator,{children:(0,I.jsxs)(t.default,{style:z,children:[_,U,q,Y]})}),f[53]=U,f[54]=q,f[55]=Y,f[56]=z,f[57]=_,f[58]=Z):Z=f[58],Z}const M=f.default.create({centered:{flex:1,alignItems:'center',justifyContent:'center',padding:j.SPACING['2xl']},content:{padding:j.SPACING.md,gap:j.SPACING.md},hint:{fontSize:13,lineHeight:18,paddingHorizontal:j.SPACING.sm,paddingTop:j.SPACING.sm,paddingBottom:j.SPACING.md},row:{flexDirection:'row',alignItems:'center',gap:j.SPACING.lg,borderWidth:1,borderRadius:j.RADIUS.md,paddingVertical:j.SPACING.md,paddingHorizontal:j.SPACING.lg},handle:{paddingVertical:j.SPACING.sm,paddingRight:j.SPACING.xs},body:{flex:1,gap:2},nameRow:{flexDirection:'row',alignItems:'center',gap:j.SPACING.md},statusDot:{width:8,height:8,borderRadius:4},input:{flex:1,fontSize:16,fontWeight:'600',paddingVertical:0},original:{fontSize:12,marginLeft:8+j.SPACING.md}})},3555,[15,17,20,112,262,260,252,33,240,136,786,743,3556,813,2587,2589,3050,3080,3131,10]);
|
|
15977
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}});var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);Object.keys(o).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return o[e]}})});var c=r(d[2]);Object.keys(c).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return c[e]}})});var u=r(d[3]);Object.keys(u).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return u[e]}})});var f=r(d[4]);Object.keys(f).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return f[e]}})});var l=n.default},3556,[3557,3572,3574,3577,3578]);
|
|
15978
|
+
__d(function(g,r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return H}});var t=r(_d[0]),n=e(t),l=e(r(_d[1])),i=r(_d[2]),o=r(_d[3]),u=e(o),s=e(r(_d[4])),c=r(_d[5]),d=e(r(_d[6])),v=e(r(_d[7])),_=e(r(_d[8])),f=r(_d[9]),h=e(f),S=r(_d[10]),b=e(S),D=e(r(_d[11])),p=r(_d[12]),A=r(_d[13]),O=e(r(_d[14])),x=r(_d[15]);function I(){return I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},I.apply(this,arguments)}const w=u.default.createAnimatedComponent(i.FlatList),J={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs1(){const{isTouchActiveNative}=this.__closure;return isTouchActiveNative.value;}"},C={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs2(cur,prev){const{touchTranslate,activeIndexAnim,disabled,runOnJS,onRelease,onDragEnd,spacerIndexAnim}=this.__closure;if(cur!==prev&&!cur){const hasMoved=!!touchTranslate.value;if(!hasMoved&&activeIndexAnim.value>=0&&!disabled.value){runOnJS(onRelease)(activeIndexAnim.value);runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});}}}"},E={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs3(){const{spacerIndexAnim}=this.__closure;return spacerIndexAnim.value;}"},k={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs4(cur,prev){const{runOnJS,onPlaceholderIndexChange}=this.__closure;if(prev!==null&&cur!==prev&&cur>=0&&prev>=0){runOnJS(onPlaceholderIndexChange)(cur);}}"},T={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs5(){const{runOnJS,onContainerTouchEnd}=this.__closure;runOnJS(onContainerTouchEnd)();}"},R={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs6(){const{runOnJS,onContainerTouchStart}=this.__closure;runOnJS(onContainerTouchStart)();}"},y={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs7(evt){const{gestureDisabled,isTouchActiveNative,horizontalAnim,touchTranslate,autoScrollDistance,panGestureState,activeIndexAnim,disabled,runOnJS,onRelease,placeholderOffset,activeCellOffset,withSpring,animationConfigRef,onDragEnd,spacerIndexAnim}=this.__closure;if(gestureDisabled.value)return;isTouchActiveNative.value=false;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation+autoScrollDistance.value;panGestureState.value=evt.state;if(activeIndexAnim.value===-1||disabled.value)return;disabled.value=true;runOnJS(onRelease)(activeIndexAnim.value);const springTo=placeholderOffset.value-activeCellOffset.value;touchTranslate.value=withSpring(springTo,animationConfigRef.value,function(){runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;});}"},z={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs8(evt){const{gestureDisabled,panGestureState,horizontalAnim,touchTranslate}=this.__closure;if(gestureDisabled.value)return;panGestureState.value=evt.state;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation;}"},F={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs9(evt){const{gestureDisabled,disabled,panGestureState}=this.__closure;gestureDisabled.value=disabled.value;if(gestureDisabled.value)return;panGestureState.value=evt.state;}"},L={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs10(){const{runOnJS,onDragEnd,activeIndexAnim,spacerIndexAnim,disabled}=this.__closure;runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;}"},N={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs11(evt){const{scrollOffset,horizontalAnim,runOnJS,onScroll}=this.__closure;scrollOffset.value=horizontalAnim.value?evt.contentOffset.x:evt.contentOffset.y;runOnJS(onScroll)(scrollOffset.value);}"};function P(e,t){return n.default.createElement(_.default,e,n.default.createElement(h.default,null,n.default.createElement(b.default,{flatListRef:t},n.default.createElement(G,e))))}const G=(0,x.typedMemo)(function(e){const{cellDataRef:_,containerRef:h,flatlistRef:b,keyToIndexRef:x,propsRef:P,animationConfigRef:G}=(0,S.useRefs)(),{activeCellOffset:H,activeCellSize:M,activeIndexAnim:V,containerSize:j,scrollOffset:Y,scrollViewSize:U,spacerIndexAnim:X,horizontalAnim:K,placeholderOffset:B,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,isTouchActiveNative:Z,viewableIndexMin:$,viewableIndexMax:ee,disabled:te}=(0,f.useAnimatedValues)(),ae=(0,A.useStableCallback)(()=>{V.value=-1,X.value=-1,q.value=0,M.value=-1,H.value=-1,oe(null)}),{dragHitSlop:ne=c.DEFAULT_PROPS.dragHitSlop,scrollEnabled:le=c.DEFAULT_PROPS.scrollEnabled,activationDistance:re=c.DEFAULT_PROPS.activationDistance}=e;let[ie,oe]=(0,t.useState)(null);const[ue,se]=(0,t.useState)(!P.current.enableLayoutAnimationExperimental),ce=(0,A.useStableCallback)((t,n)=>{if(!e.keyExtractor)throw new Error("You must provide a keyExtractor to DraggableFlatList");return e.keyExtractor(t,n)}),de=(0,t.useRef)(e.data),ve=de.current.map(ce).join("")!==e.data.map(ce).join("");de.current=e.data,ve&&(ie=null,l.default.runAfterInteractions(()=>{ae()})),(0,t.useEffect)(()=>{P.current.enableLayoutAnimationExperimental&&(ie?se(!0):setTimeout(()=>{se(!1)},100))},[ie]),(0,t.useLayoutEffect)(()=>{e.data.forEach((e,t)=>{const n=ce(e,t);x.current.set(n,t)})},[e.data,ce,x]);const fe=(0,A.useStableCallback)(e=>{if(te.value)return;const t=x.current.get(e),n=_.current.get(e);n&&(H.value=n.measurements.offset,M.value=n.measurements.size);const{onDragBegin:l}=P.current;void 0!==t&&(X.value=t,V.value=t,oe(e),null==l||l(t))}),he=(0,t.useMemo)(()=>({activeKey:ie,extraData:e.extraData}),[ie,e.extraData]),me=(0,t.useCallback)(t=>{let{item:l,index:i}=t;const o=ce(l,i);return i!==x.current.get(o)&&x.current.set(o,i),n.default.createElement(v.default,{item:l,itemKey:o,renderItem:e.renderItem,drag:fe,extraData:e.extraData})},[e.renderItem,e.extraData,fe,ce]),ge=(0,A.useStableCallback)(t=>{var n;null===(n=e.onRelease)||void 0===n||n.call(e,t)}),Se=(0,A.useStableCallback)(t=>{let{from:n,to:l}=t;const{onDragEnd:i,data:o}=e,u=[...o];n!==l&&(u.splice(n,1),u.splice(l,0,o[n])),null==i||i({from:n,to:l,data:u}),oe(null)}),be=(0,A.useStableCallback)(t=>{var n;null===(n=e.onPlaceholderIndexChange)||void 0===n||n.call(e,t)});(0,o.useAnimatedReaction)((function({_worklet_12667785060637_init_data:e,isTouchActiveNative:t}){const n=function(){return t.value};return n.__closure={isTouchActiveNative:t},n.__workletHash=0xb8572d4211d,n.__initData=e,n})({_worklet_12667785060637_init_data:J,isTouchActiveNative:Z}),(function({_worklet_3017769988260_init_data:e,touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s}){const c=function(e,c){if(e!==c&&!e){!!!t.value&&n.value>=0&&!l.value&&(i(o)(n.value),i(u)({from:n.value,to:s.value}))}};return c.__closure={touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s},c.__workletHash=3017769988260,c.__initData=e,c})({_worklet_3017769988260_init_data:C,touchTranslate:q,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,onDragEnd:Se,spacerIndexAnim:X}),[Z,Se,ge]),(0,o.useAnimatedReaction)((function({_worklet_6176791664127_init_data:e,spacerIndexAnim:t}){const n=function(){return t.value};return n.__closure={spacerIndexAnim:t},n.__workletHash=6176791664127,n.__initData=e,n})({_worklet_6176791664127_init_data:E,spacerIndexAnim:X}),(function({_worklet_2590604232580_init_data:e,runOnJS:t,onPlaceholderIndexChange:n}){const l=function(e,l){null!==l&&e!==l&&e>=0&&l>=0&&t(n)(e)};return l.__closure={runOnJS:t,onPlaceholderIndexChange:n},l.__workletHash=2590604232580,l.__initData=e,l})({_worklet_2590604232580_init_data:k,runOnJS:o.runOnJS,onPlaceholderIndexChange:be}),[X]);const De=(0,o.useSharedValue)(!1),pe=i.Gesture.Pan().onBegin((function({_worklet_7787583163440_init_data:e,gestureDisabled:t,disabled:n,panGestureState:l}){const i=function(e){t.value=n.value,t.value||(l.value=e.state)};return i.__closure={gestureDisabled:t,disabled:n,panGestureState:l},i.__workletHash=7787583163440,i.__initData=e,i})({_worklet_7787583163440_init_data:F,gestureDisabled:De,disabled:te,panGestureState:W})).onUpdate((function({_worklet_11677334153389_init_data:e,gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i}){const o=function(e){if(t.value)return;n.value=e.state;const o=l.value?e.translationX:e.translationY;i.value=o};return o.__closure={gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i},o.__workletHash=0xa9ed75aa8ad,o.__initData=e,o})({_worklet_11677334153389_init_data:z,gestureDisabled:De,panGestureState:W,horizontalAnim:K,touchTranslate:q})).onEnd((function({_worklet_13600115403067_init_data:e,gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D}){const p=function(e){if(t.value)return;n.value=!1;const p=l.value?e.translationX:e.translationY;if(i.value=p+o.value,u.value=e.state,-1===s.value||c.value)return;c.value=!0,d(v)(s.value);const A=_.value-f.value;i.value=h(A,S.value,(function({_worklet_9458151985595_init_data:e,runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o}){const u=function(){t(n)({from:l.value,to:i.value}),o.value=!1};return u.__closure={runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o},u.__workletHash=9458151985595,u.__initData=e,u})({_worklet_9458151985595_init_data:L,runOnJS:d,onDragEnd:b,activeIndexAnim:s,spacerIndexAnim:D,disabled:c}))};return p.__closure={gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D},p.__workletHash=0xc5e860c293b,p.__initData=e,p})({_worklet_13600115403067_init_data:y,gestureDisabled:De,isTouchActiveNative:Z,horizontalAnim:K,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,placeholderOffset:B,activeCellOffset:H,withSpring:o.withSpring,animationConfigRef:G,onDragEnd:Se,spacerIndexAnim:X})).onTouchesDown((function({_worklet_2544844199545_init_data:e,runOnJS:t,onContainerTouchStart:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchStart:n},l.__workletHash=2544844199545,l.__initData=e,l})({_worklet_2544844199545_init_data:R,runOnJS:o.runOnJS,onContainerTouchStart:()=>(te.value||(Z.value=!0),!1)})).onTouchesUp((function({_worklet_8529291078106_init_data:e,runOnJS:t,onContainerTouchEnd:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchEnd:n},l.__workletHash=8529291078106,l.__initData=e,l})({_worklet_8529291078106_init_data:T,runOnJS:o.runOnJS,onContainerTouchEnd:()=>{Z.value=!1}}));if(ne&&pe.hitSlop(ne),re){const t=[-re,re];e.horizontal?pe.activeOffsetX(t):pe.activeOffsetY(t)}const Ae=(0,A.useStableCallback)(t=>{var n;null===(n=e.onScrollOffsetChange)||void 0===n||n.call(e,t)}),Oe=(0,o.useAnimatedScrollHandler)({onScroll:(function({_worklet_11729156081231_init_data:e,scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i}){const o=function(e){t.value=n.value?e.contentOffset.x:e.contentOffset.y,l(i)(t.value)};return o.__closure={scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i},o.__workletHash=0xaaae82e864f,o.__initData=e,o})({_worklet_11729156081231_init_data:N,scrollOffset:Y,horizontalAnim:K,runOnJS:o.runOnJS,onScroll:Ae})},[K]);(0,p.useAutoScroll)();const xe=(0,A.useStableCallback)(t=>{var n;const l=t.viewableItems.filter(e=>e.isViewable).map(e=>e.index).filter(e=>"number"==typeof e),i=Math.min(...l),o=Math.max(...l);$.value=i,ee.value=o,null===(n=e.onViewableItemsChanged)||void 0===n||n.call(e,t)});return n.default.createElement(D.default,{activeKey:ie,keyExtractor:ce,horizontal:!!e.horizontal,layoutAnimationDisabled:ue},n.default.createElement(i.GestureDetector,{gesture:pe},n.default.createElement(u.default.View,{style:e.containerStyle,ref:h,onLayout:t=>{var n;let{nativeEvent:{layout:l}}=t;const{width:i,height:o}=l;j.value=e.horizontal?i:o,null===(n=e.onContainerLayout)||void 0===n||n.call(e,{layout:l,containerRef:h})}},e.renderPlaceholder&&n.default.createElement(d.default,{renderPlaceholder:e.renderPlaceholder}),n.default.createElement(w,I({},e,{data:e.data,onViewableItemsChanged:xe,CellRendererComponent:s.default,ref:b,onContentSizeChange:(t,n)=>{var l;U.value=e.horizontal?t:n,null===(l=e.onContentSizeChange)||void 0===l||l.call(e,t,n)},scrollEnabled:!ie&&le,renderItem:me,extraData:he,keyExtractor:ce,onScroll:Oe,scrollEventThrottle:16,simultaneousHandlers:e.simultaneousHandlers,removeClippedSubviews:!1})),!!e.onScrollOffsetChange&&n.default.createElement(O.default,{onScrollOffsetChange:e.onScrollOffsetChange,scrollOffset:Y}))))});var H=n.default.forwardRef(P)},3557,[17,155,3241,2714,3558,3560,3568,3569,3563,3562,3564,3559,3570,3567,3571,3565]);
|
|
15979
|
+
__d(function(g,r,_i,a,m,_e,d){"use strict";const t=["item","index","onLayout","children"];function e(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return R}});var n=e(r(d[0])),o=r(d[1]),i=e(o),l=e(r(d[2])),s=r(d[3]),u=e(s),c=r(d[4]),f=r(d[5]),_=r(d[6]),h=r(d[7]),y=r(d[8]),C=r(d[9]),b=e(r(d[10])),v=r(d[11]);function L(){return L=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},L.apply(this,arguments)}const A={code:"function reactNativeDraggableFlatlist_CellRendererComponentJs1(){const{translate,isWeb,heldTanslate,activeKey,horizontalAnim}=this.__closure;if(translate.value&&!isWeb){heldTanslate.value=translate.value;}const t=activeKey?translate.value:heldTanslate.value;return{transform:[horizontalAnim.value?{translateX:t}:{translateY:t}]};}"},D={code:"function reactNativeDraggableFlatlist_CellRendererComponentJs2(t,_layoutDisabled){const{stashConfig,getStashedConfig}=this.__closure;if(!t)return;const config=global.LayoutAnimationRepository.configs[t];if(config)stashConfig(t,config);const stashedConfig=getStashedConfig(t);if(_layoutDisabled){global.LayoutAnimationRepository.removeConfig(t);}else if(stashedConfig){global.LayoutAnimationRepository.registerConfig(t,stashedConfig);}}"};var R=(0,h.typedMemo)(function(e){const{item:h,index:R,onLayout:F,children:k}=e,w=(0,n.default)(e,t),N=(0,o.useRef)(null),{cellDataRef:x,propsRef:z,containerRef:E}=(0,y.useRefs)(),{horizontalAnim:O,scrollOffset:W}=(0,C.useAnimatedValues)(),{activeKey:T,keyExtractor:K,horizontal:H,layoutAnimationDisabled:J}=(0,c.useDraggableFlatListContext)(),V=K(h,R),j=(0,s.useSharedValue)(-1),I=(0,s.useSharedValue)(-1),M=(0,s.useSharedValue)(0),P=(0,_.useCellTranslate)({cellOffset:j,cellSize:I,cellIndex:R}),U=T===V,X=(0,s.useAnimatedStyle)((function({_worklet_9493151677458_init_data:t,translate:e,isWeb:n,heldTanslate:o,activeKey:i,horizontalAnim:l}){const s=function(){e.value&&!n&&(o.value=e.value);const t=i?e.value:o.value;return{transform:[l.value?{translateX:t}:{translateY:t}]}};return s.__closure={translate:e,isWeb:n,heldTanslate:o,activeKey:i,horizontalAnim:l},s.__workletHash=9493151677458,s.__initData=t,s})({_worklet_9493151677458_init_data:A,translate:P,isWeb:f.isWeb,heldTanslate:M,activeKey:T,horizontalAnim:O}),[P,T]),Y=(0,v.useStableCallback)(()=>{const t=(t,e,n,o)=>{f.isWeb&&H&&(t+=W.value);const i=H?t:e,l=H?n:o;x.current.set(V,{measurements:{size:l,offset:i}}),I.value=l,j.value=i},e=()=>{var t;null!==(t=z.current)&&void 0!==t&&t.debug&&console.log(`## on measure fail, index: ${R}`)},n=E.current,o=N.current,i=n;o&&i&&o.measureLayout(i,t,e)}),q=(0,v.useStableCallback)(t=>{M.value=0,Y(),F&&t&&F(t)});(0,o.useEffect)(()=>{f.isWeb&&requestAnimationFrame(()=>{q()})},[R,q]);const $=(0,o.useMemo)(()=>({elevation:U?1:0,zIndex:U?999:0,flexDirection:H?"row":"column"}),[U,H]),{itemEnteringAnimation:B,itemExitingAnimation:G,itemLayoutAnimation:Q}=z.current;return(0,o.useEffect)(()=>{if(!z.current.enableLayoutAnimationExperimental)return;const t=(0,l.default)(N.current);(0,s.runOnUI)((function({_worklet_10702969925975_init_data:t,stashConfig:e,getStashedConfig:n}){const o=function(t,o){if(!t)return;const i=g.LayoutAnimationRepository.configs[t];i&&e(t,i);const l=n(t);o?g.LayoutAnimationRepository.removeConfig(t):l&&g.LayoutAnimationRepository.registerConfig(t,l)};return o.__closure={stashConfig:e,getStashedConfig:n},o.__workletHash=0x9bbfab87157,o.__initData=t,o})({_worklet_10702969925975_init_data:D,stashConfig:S,getStashedConfig:p}))(t,J)},[J]),i.default.createElement(u.default.View,L({},w,{ref:N,onLayout:q,entering:B,exiting:G,layout:z.current.enableLayoutAnimationExperimental?Q:void 0,style:[e.style,$,X],pointerEvents:T?"none":"auto"}),i.default.createElement(b.default,{isActive:U},k))});(0,s.runOnUI)((function({_worklet_4071045011151_init_data:t}){const e=function(){g.RNDFLLayoutAnimationConfigStash={}};return e.__closure={},e.__workletHash=4071045011151,e.__initData=t,e})({_worklet_4071045011151_init_data:{code:"function reactNativeDraggableFlatlist_CellRendererComponentJs3(){global.RNDFLLayoutAnimationConfigStash={};}"}}))();const S=(function({_worklet_17335747121283_init_data:t}){const e=function(t,e){g.RNDFLLayoutAnimationConfigStash||(g.RNDFLLayoutAnimationConfigStash={}),g.RNDFLLayoutAnimationConfigStash[t]=e};return e.__closure={},e.__workletHash=0xfc44b0c9083,e.__initData=t,e})({_worklet_17335747121283_init_data:{code:"function stashConfig_reactNativeDraggableFlatlist_CellRendererComponentJs4(tag,config){if(!global.RNDFLLayoutAnimationConfigStash)global.RNDFLLayoutAnimationConfigStash={};global.RNDFLLayoutAnimationConfigStash[tag]=config;}"}}),p=(function({_worklet_1208922414792_init_data:t}){const e=function(t){return g.RNDFLLayoutAnimationConfigStash?g.RNDFLLayoutAnimationConfigStash[t]:null};return e.__closure={},e.__workletHash=1208922414792,e.__initData=t,e})({_worklet_1208922414792_init_data:{code:"function getStashedConfig_reactNativeDraggableFlatlist_CellRendererComponentJs5(tag){if(!global.RNDFLLayoutAnimationConfigStash)return null;return global.RNDFLLayoutAnimationConfigStash[tag];}"}})},3558,[120,17,122,2714,3559,3560,3561,3565,3564,3562,3566,3567]);
|
|
15980
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useDraggableFlatListContext=function(){const e=(0,t.useContext)(o);if(!e)throw new Error("useDraggableFlatListContext must be called within DraggableFlatListProvider");return e};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e};const o=n.default.createContext(void 0);function l(e){let{activeKey:l,keyExtractor:u,horizontal:c,layoutAnimationDisabled:s,children:f}=e;const b=(0,t.useMemo)(()=>({activeKey:l,keyExtractor:u,horizontal:c,layoutAnimationDisabled:s}),[l,u,c,s]);return n.default.createElement(o.Provider,{value:b},f)}},3559,[17]);
|
|
15981
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"SCROLL_POSITION_TOLERANCE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"DEFAULT_ANIMATION_CONFIG",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"DEFAULT_PROPS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"isIOS",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"isAndroid",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"isWeb",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"isReanimatedV2",{enumerable:!0,get:function(){return f}}),r(d[0]);var t=r(d[1]);const n=2,o={damping:20,mass:.2,stiffness:100,overshootClamping:!1,restSpeedThreshold:.2,restDisplacementThreshold:.2},u={autoscrollThreshold:30,autoscrollSpeed:100,animationConfig:o,scrollEnabled:!0,dragHitSlop:0,activationDistance:0,dragItemOverflow:!1},l=!1,s=!1,c=!0,f=!!t.useSharedValue;if(!f)throw new Error("Your version of react-native-reanimated is too old for react-native-draggable-flatlist!")},3560,[136,2714]);
|
|
15982
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useCellTranslate=function(c){let{cellIndex:f,cellSize:u,cellOffset:o}=c;const{activeIndexAnim:x,activeCellSize:A,hoverOffset:I,spacerIndexAnim:h,placeholderOffset:S,hoverAnim:O,viewableIndexMin:z,viewableIndexMax:w}=(0,t.useAnimatedValues)(),{activeKey:p}=(0,n.useDraggableFlatListContext)(),{animationConfigRef:_}=(0,v.useRefs)(),C=(0,l.useDerivedValue)((function({_worklet_14653729795643_init_data:l,cellIndex:t,activeIndexAnim:n,viewableIndexMin:v,viewableIndexMax:s,activeKey:c,hoverOffset:f,activeCellSize:u,cellOffset:o,cellSize:x,spacerIndexAnim:A,placeholderOffset:I,hoverAnim:h,withSpring:S,animationConfigRef:O}){const z=function(){const l=t===n.value,z=!l&&(t<v.value||t>s.value);if(!c||n.value<0||z)return 0;const w=t<n.value,p=t>n.value,_=f.value+u.value,C=o.value+x.value/2,b=o.value+x.value;let P=-1;if(p?_>=o.value&&_<C?P=t-1:_>=C&&_<b&&(P=t):w&&(f.value<b&&f.value>=C?P=t+1:f.value>=o.value&&f.value<C&&(P=t)),-1!==P&&P!==A.value&&(A.value=P),A.value===t){const l=p?x.value+(o.value-u.value):o.value;I.value=l}if(l)return h.value;const M=(p?t<=A.value:t>=A.value)?u.value*(p?-1:1):0;return S(M,O.value)};return z.__closure={cellIndex:t,activeIndexAnim:n,viewableIndexMin:v,viewableIndexMax:s,activeKey:c,hoverOffset:f,activeCellSize:u,cellOffset:o,cellSize:x,spacerIndexAnim:A,placeholderOffset:I,hoverAnim:h,withSpring:S,animationConfigRef:O},z.__workletHash=0xd53d65bee3b,z.__initData=l,z})({_worklet_14653729795643_init_data:s,cellIndex:f,activeIndexAnim:x,viewableIndexMin:z,viewableIndexMax:w,activeKey:p,hoverOffset:I,activeCellSize:A,cellOffset:o,cellSize:u,spacerIndexAnim:h,placeholderOffset:S,hoverAnim:O,withSpring:l.withSpring,animationConfigRef:_}),[p,f]);return C};var l=r(d[0]),t=r(d[1]),n=r(d[2]),v=r(d[3]);const s={code:"function reactNativeDraggableFlatlist_useCellTranslateJs1(){const{cellIndex,activeIndexAnim,viewableIndexMin,viewableIndexMax,activeKey,hoverOffset,activeCellSize,cellOffset,cellSize,spacerIndexAnim,placeholderOffset,hoverAnim,withSpring,animationConfigRef}=this.__closure;const isActiveCell=cellIndex===activeIndexAnim.value;const isOutsideViewableRange=!isActiveCell&&(cellIndex<viewableIndexMin.value||cellIndex>viewableIndexMax.value);if(!activeKey||activeIndexAnim.value<0||isOutsideViewableRange){return 0;}const isBeforeActive=cellIndex<activeIndexAnim.value;const isAfterActive=cellIndex>activeIndexAnim.value;const hoverPlusActiveSize=hoverOffset.value+activeCellSize.value;const offsetPlusHalfSize=cellOffset.value+cellSize.value/2;const offsetPlusSize=cellOffset.value+cellSize.value;let result=-1;if(isAfterActive){if(hoverPlusActiveSize>=cellOffset.value&&hoverPlusActiveSize<offsetPlusHalfSize){result=cellIndex-1;}else if(hoverPlusActiveSize>=offsetPlusHalfSize&&hoverPlusActiveSize<offsetPlusSize){result=cellIndex;}}else if(isBeforeActive){if(hoverOffset.value<offsetPlusSize&&hoverOffset.value>=offsetPlusHalfSize){result=cellIndex+1;}else if(hoverOffset.value>=cellOffset.value&&hoverOffset.value<offsetPlusHalfSize){result=cellIndex;}}if(result!==-1&&result!==spacerIndexAnim.value){spacerIndexAnim.value=result;}if(spacerIndexAnim.value===cellIndex){const newPlaceholderOffset=isAfterActive?cellSize.value+(cellOffset.value-activeCellSize.value):cellOffset.value;placeholderOffset.value=newPlaceholderOffset;}if(isActiveCell){return hoverAnim.value;}const shouldTranslate=isAfterActive?cellIndex<=spacerIndexAnim.value:cellIndex>=spacerIndexAnim.value;const translationAmt=shouldTranslate?activeCellSize.value*(isAfterActive?-1:1):0;return withSpring(translationAmt,animationConfigRef.value);}"}},3561,[2714,3562,3559,3564]);
|
|
15983
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return s}}),_e.useAnimatedValues=function(){const e=(0,t.useContext)(u);if(!e)throw new Error("useAnimatedValues must be called from within AnimatedValueProvider!");return e};var e,t=r(d[0]),l=(e=t)&&e.__esModule?e:{default:e},n=r(d[1]),o=r(d[2]),c=r(d[3]);const u=l.default.createContext(void 0);function s(e){let{children:t}=e;const n=O();return l.default.createElement(u.Provider,{value:n},t)}const v={code:"function reactNativeDraggableFlatlist_animatedValueContextJs1(){const{activeIndexAnim}=this.__closure;return activeIndexAnim.value;}"},f={code:"function reactNativeDraggableFlatlist_animatedValueContextJs2(cur,prev){const{scrollInit,scrollOffset,outerScrollInit,outerScrollOffset}=this.__closure;if(cur!==prev&&cur>=0){scrollInit.value=scrollOffset.value;outerScrollInit.value=outerScrollOffset.value;}}"},_={code:"function reactNativeDraggableFlatlist_animatedValueContextJs3(){const{isTouchActiveNative,activeIndexAnim}=this.__closure;return isTouchActiveNative.value&&activeIndexAnim.value>=0;}"},h={code:"function reactNativeDraggableFlatlist_animatedValueContextJs4(){const{isDraggingCell,scrollOffset,scrollInit,outerScrollOffset,outerScrollInit}=this.__closure;if(!isDraggingCell.value)return 0;const innerScrollDiff=scrollOffset.value-scrollInit.value;const outerScrollDiff=outerScrollOffset.value-outerScrollInit.value;const scrollDiff=innerScrollDiff+outerScrollDiff;return scrollDiff;}"},S={code:"function reactNativeDraggableFlatlist_animatedValueContextJs5(){const{isTouchActiveNative,autoScrollDistance,touchTranslate}=this.__closure;const extraTranslate=isTouchActiveNative.value?autoScrollDistance.value:0;return touchTranslate.value+extraTranslate;}"},D={code:"function reactNativeDraggableFlatlist_animatedValueContextJs6(){const{containerSize,activeCellSize,scrollOffset,touchPositionDiff,activeCellOffset,scrollViewSize,isTouchActiveNative}=this.__closure;const containerMinusActiveCell=containerSize.value-activeCellSize.value+scrollOffset.value;const offsetRelativeToScrollTop=touchPositionDiff.value+activeCellOffset.value;const constrained=Math.min(containerMinusActiveCell,Math.max(scrollOffset.value,offsetRelativeToScrollTop));const maxTranslateNegative=-activeCellOffset.value;const maxTranslatePositive=scrollViewSize.value-(activeCellOffset.value+activeCellSize.value);const constrainedBase=isTouchActiveNative.value?constrained-activeCellOffset.value:touchPositionDiff.value;return Math.min(Math.max(constrainedBase,maxTranslateNegative),maxTranslatePositive);}"},A={code:"function reactNativeDraggableFlatlist_animatedValueContextJs7(){const{activeIndexAnim,dragItemOverflow,touchPositionDiff,touchPositionDiffConstrained}=this.__closure;if(activeIndexAnim.value<0)return 0;return dragItemOverflow?touchPositionDiff.value:touchPositionDiffConstrained.value;}"},I={code:"function reactNativeDraggableFlatlist_animatedValueContextJs8(){const{hoverAnim,activeCellOffset}=this.__closure;return hoverAnim.value+activeCellOffset.value;}"},x={code:"function reactNativeDraggableFlatlist_animatedValueContextJs9(){const{activeIndexAnim,spacerIndexAnim}=this.__closure;const isHovering=activeIndexAnim.value>=0;if(!isHovering&&spacerIndexAnim.value>=0){spacerIndexAnim.value=-1;}}"};function O(){const e=(0,c.useProps)(),l=(0,n.useSharedValue)(0),u=(0,n.useSharedValue)(0),s=(0,n.useSharedValue)(0),O=(0,n.useSharedValue)(o.State.UNDETERMINED),C=(0,n.useSharedValue)(0),V=(0,n.useSharedValue)(!1),w=(0,n.useSharedValue)(0),T=(0,n.useSharedValue)(!1),N=(0,n.useSharedValue)(!!e.horizontal),k=(0,n.useSharedValue)(-1),P=(0,n.useSharedValue)(-1),z=(0,n.useSharedValue)(0),b=(0,n.useSharedValue)(0),p=(0,n.useSharedValue)(0),M=(0,n.useSharedValue)(0),H=(0,n.useSharedValue)(0),F=(0,n.useSharedValue)(0),J=e.outerScrollOffset||l,E=(0,n.useSharedValue)(0);(0,n.useAnimatedReaction)((function({_worklet_9770780663126_init_data:e,activeIndexAnim:t}){const l=function(){return t.value};return l.__closure={activeIndexAnim:t},l.__workletHash=9770780663126,l.__initData=e,l})({_worklet_9770780663126_init_data:v,activeIndexAnim:k}),(function({_worklet_2669524968831_init_data:e,scrollInit:t,scrollOffset:l,outerScrollInit:n,outerScrollOffset:o}){const c=function(e,c){e!==c&&e>=0&&(t.value=l.value,n.value=o.value)};return c.__closure={scrollInit:t,scrollOffset:l,outerScrollInit:n,outerScrollOffset:o},c.__workletHash=2669524968831,c.__initData=e,c})({_worklet_2669524968831_init_data:f,scrollInit:M,scrollOffset:p,outerScrollInit:E,outerScrollOffset:J}),[J]);const R=(0,n.useSharedValue)(0),j=(0,n.useDerivedValue)((function({_worklet_13229976984046_init_data:e,isTouchActiveNative:t,activeIndexAnim:l}){const n=function(){return t.value&&l.value>=0};return n.__closure={isTouchActiveNative:t,activeIndexAnim:l},n.__workletHash=0xc08581419ee,n.__initData=e,n})({_worklet_13229976984046_init_data:_,isTouchActiveNative:V,activeIndexAnim:k}),[]),y=(0,n.useDerivedValue)((function({_worklet_163796717909_init_data:e,isDraggingCell:t,scrollOffset:l,scrollInit:n,outerScrollOffset:o,outerScrollInit:c}){const u=function(){if(!t.value)return 0;return l.value-n.value+(o.value-c.value)};return u.__closure={isDraggingCell:t,scrollOffset:l,scrollInit:n,outerScrollOffset:o,outerScrollInit:c},u.__workletHash=163796717909,u.__initData=e,u})({_worklet_163796717909_init_data:h,isDraggingCell:j,scrollOffset:p,scrollInit:M,outerScrollOffset:J,outerScrollInit:E}),[]),B=(0,n.useDerivedValue)((function({_worklet_14268807456143_init_data:e,isTouchActiveNative:t,autoScrollDistance:l,touchTranslate:n}){const o=function(){const e=t.value?l.value:0;return n.value+e};return o.__closure={isTouchActiveNative:t,autoScrollDistance:l,touchTranslate:n},o.__workletHash=0xcfa3733258f,o.__initData=e,o})({_worklet_14268807456143_init_data:S,isTouchActiveNative:V,autoScrollDistance:y,touchTranslate:C}),[]),G=(0,n.useDerivedValue)((function({_worklet_2161134542663_init_data:e,containerSize:t,activeCellSize:l,scrollOffset:n,touchPositionDiff:o,activeCellOffset:c,scrollViewSize:u,isTouchActiveNative:s}){const v=function(){const e=t.value-l.value+n.value,v=o.value+c.value,f=Math.min(e,Math.max(n.value,v)),_=-c.value,h=u.value-(c.value+l.value),S=s.value?f-c.value:o.value;return Math.min(Math.max(S,_),h)};return v.__closure={containerSize:t,activeCellSize:l,scrollOffset:n,touchPositionDiff:o,activeCellOffset:c,scrollViewSize:u,isTouchActiveNative:s},v.__workletHash=2161134542663,v.__initData=e,v})({_worklet_2161134542663_init_data:D,containerSize:u,activeCellSize:z,scrollOffset:p,touchPositionDiff:B,activeCellOffset:b,scrollViewSize:s,isTouchActiveNative:V}),[]),U=e.dragItemOverflow,q=(0,n.useDerivedValue)((function({_worklet_5411143051866_init_data:e,activeIndexAnim:t,dragItemOverflow:l,touchPositionDiff:n,touchPositionDiffConstrained:o}){const c=function(){return t.value<0?0:l?n.value:o.value};return c.__closure={activeIndexAnim:t,dragItemOverflow:l,touchPositionDiff:n,touchPositionDiffConstrained:o},c.__workletHash=5411143051866,c.__initData=e,c})({_worklet_5411143051866_init_data:A,activeIndexAnim:k,dragItemOverflow:U,touchPositionDiff:B,touchPositionDiffConstrained:G}),[]),K=(0,n.useDerivedValue)((function({_worklet_7836450724061_init_data:e,hoverAnim:t,activeCellOffset:l}){const n=function(){return t.value+l.value};return n.__closure={hoverAnim:t,activeCellOffset:l},n.__workletHash=7836450724061,n.__initData=e,n})({_worklet_7836450724061_init_data:I,hoverAnim:q,activeCellOffset:b}),[q,b]);(0,n.useDerivedValue)((function({_worklet_12000071238288_init_data:e,activeIndexAnim:t,spacerIndexAnim:l}){const n=function(){!(t.value>=0)&&l.value>=0&&(l.value=-1)};return n.__closure={activeIndexAnim:t,spacerIndexAnim:l},n.__workletHash=0xae9fbfbc290,n.__initData=e,n})({_worklet_12000071238288_init_data:x,activeIndexAnim:k,spacerIndexAnim:P}),[]);const L=(0,t.useCallback)(()=>{b.value=0,w.value=0},[]),Q=(0,t.useMemo)(()=>({activeCellOffset:b,activeCellSize:z,activeIndexAnim:k,containerSize:u,disabled:T,horizontalAnim:N,hoverAnim:q,hoverOffset:K,isDraggingCell:j,isTouchActiveNative:V,panGestureState:O,placeholderOffset:R,resetTouchedCell:L,scrollOffset:p,scrollViewSize:s,spacerIndexAnim:P,touchPositionDiff:B,touchTranslate:C,autoScrollDistance:y,viewableIndexMin:H,viewableIndexMax:F}),[b,z,k,u,T,N,q,K,j,V,O,R,L,p,s,P,B,C,y,H,F]);return(0,t.useEffect)(()=>{var t;null===(t=e.onAnimValInit)||void 0===t||t.call(e,Q)},[Q]),Q}},3562,[17,2714,3241,3563]);
|
|
15984
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";const e=["children"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useProps=function(){const e=(0,u.useContext)(c);if(!e)throw new Error("useProps must be called from within PropsProvider!");return e};var n=t(r(d[0])),u=r(d[1]),o=t(u);const c=o.default.createContext(void 0);function l(t){let{children:u}=t,l=(0,n.default)(t,e);return o.default.createElement(c.Provider,{value:l},u)}},3563,[120,17]);
|
|
15985
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useRefs=function(){const e=(0,t.useContext)(s);if(!e)throw new Error("useRefs must be called from within a RefContext.Provider!");return e};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},f=r(d[1]),u=r(d[2]),o=r(d[3]);const s=n.default.createContext(void 0);function l(e){let{children:t,flatListRef:f}=e;const u=c({flatListRef:f});return n.default.createElement(s.Provider,{value:u},t)}function c(e){let{flatListRef:n}=e;const s=(0,o.useProps)(),{animationConfig:l=u.DEFAULT_PROPS.animationConfig}=s,c=(0,t.useRef)(s);c.current=s;const R=(0,t.useMemo)(()=>Object.assign({},u.DEFAULT_PROPS.animationConfig,l),[l]),P=(0,f.useSharedValue)(R);(0,t.useEffect)(()=>{P.value=R},[R]);const _=(0,t.useRef)(new Map),p=(0,t.useRef)(new Map),v=(0,t.useRef)(null),C=(0,t.useRef)(null),w=n||C,M=(0,t.useRef)(null);return(0,t.useMemo)(()=>({animationConfigRef:P,cellDataRef:_,containerRef:v,flatlistRef:w,keyToIndexRef:p,propsRef:c,scrollViewRef:M}),[])}},3564,[17,2714,3560,3563]);
|
|
15986
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"typedMemo",{enumerable:!0,get:function(){return u}});var e,t=r(d[0]);const u=((e=t)&&e.__esModule?e:{default:e}).default.memo},3565,[17]);
|
|
15987
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.CellProvider=c,_e.useIsActive=function(){const e=(0,t.useContext)(u);if(!e)throw new Error("useIsActive must be called from within CellProvider!");return e.isActive};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);const u=n.default.createContext(void 0);function c(e){let{isActive:o,children:c}=e;const l=(0,t.useMemo)(()=>({isActive:o}),[o]);return n.default.createElement(u.Provider,{value:l},c)}var l=(0,o.typedMemo)(c)},3566,[17,3565]);
|
|
15988
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useStableCallback=function(n){const u=(0,t.useRef)(n);u.current=n;const c=(0,t.useCallback)(function(){return u.current(...arguments)},[]);return c};var t=r(d[0])},3567,[17]);
|
|
15989
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return O}});var t=r(d[0]),l=e(t),n=e(r(d[1])),o=r(d[2]),s=e(o),c=r(d[3]),u=r(d[4]),f=r(d[5]),_=r(d[6]);const v={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs1(){const{activeCellSize}=this.__closure;return activeCellSize.value;}"},h={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs2(cur,prev){const{runOnJS,setSize}=this.__closure;if(cur!==prev){runOnJS(setSize)(cur);}}"},z={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs3(){const{placeholderOffset,scrollOffset,size,horizontalAnim}=this.__closure;const offset=placeholderOffset.value-scrollOffset.value;return{opacity:size>=0?1:0,overflow:'hidden',transform:[horizontalAnim.value?{translateX:offset}:{translateY:offset}]};}"};var O=(0,_.typedMemo)(function(e){var _;let{renderPlaceholder:O}=e;const[S,p]=(0,t.useState)(0),{activeCellSize:w,placeholderOffset:k,spacerIndexAnim:A,horizontalAnim:b,scrollOffset:y}=(0,c.useAnimatedValues)(),{keyToIndexRef:J,propsRef:C}=(0,f.useRefs)(),{activeKey:D,horizontal:P}=(0,u.useDraggableFlatListContext)();(0,o.useAnimatedReaction)((function({_worklet_15041831900011_init_data:e,activeCellSize:t}){const l=function(){return t.value};return l.__closure={activeCellSize:t},l.__workletHash=0xdae330c136b,l.__initData=e,l})({_worklet_15041831900011_init_data:v,activeCellSize:w}),(function({_worklet_9097902266698_init_data:e,runOnJS:t,setSize:l}){const n=function(e,n){e!==n&&t(l)(e)};return n.__closure={runOnJS:t,setSize:l},n.__workletHash=9097902266698,n.__initData=e,n})({_worklet_9097902266698_init_data:h,runOnJS:o.runOnJS,setSize:p}));const x=D?J.current.get(D):void 0,F=void 0===x?null:null===(_=C.current)||void 0===_?void 0:_.data[x],I=(0,o.useAnimatedStyle)((function({_worklet_5017284307212_init_data:e,placeholderOffset:t,scrollOffset:l,size:n,horizontalAnim:o}){const s=function(){const e=t.value-l.value;return{opacity:n>=0?1:0,overflow:'hidden',transform:[o.value?{translateX:e}:{translateY:e}]}};return s.__closure={placeholderOffset:t,scrollOffset:l,size:n,horizontalAnim:o},s.__workletHash=5017284307212,s.__initData=e,s})({_worklet_5017284307212_init_data:z,placeholderOffset:k,scrollOffset:y,size:S,horizontalAnim:b}),[A,k,b,y,S]),M=(0,t.useMemo)(()=>P?{width:S}:{height:S},[P,S]);return l.default.createElement(s.default.View,{pointerEvents:D?"auto":"none",style:[n.default.absoluteFill,I,M]},F&&void 0!==x?null==O?void 0:O({item:F,index:x}):null)})},3568,[17,33,2714,3562,3559,3564,3565]);
|
|
15990
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";const e=["renderItem","extraData"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var n=t(r(d[0])),u=r(d[1]),c=t(u),o=r(d[2]),s=r(d[3]),l=r(d[4]),f=r(d[5]);var b=(0,f.typedMemo)(function(e){const t=(0,u.useRef)(e);t.current=e;const{activeKey:n}=(0,o.useDraggableFlatListContext)(),f=(0,u.useRef)(n);f.current=n;const{keyToIndexRef:b}=(0,s.useRefs)(),p=(0,l.useStableCallback)(()=>{const{drag:e,itemKey:n,debug:u}=t.current;f.current&&u&&console.log("## attempt to drag item while another item is already active, noop"),e(n)}),{renderItem:v,item:x,itemKey:I,extraData:_}=e,D=(0,l.useStableCallback)(()=>b.current.get(I));return c.default.createElement(y,{isActive:n===I,drag:p,renderItem:v,item:x,getIndex:D,extraData:_})});const y=(0,f.typedMemo)(function(t){let{renderItem:u}=t,c=(0,n.default)(t,e);return u(Object.assign({},c))})},3569,[120,17,3559,3564,3567,3565]);
|
|
15991
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useAutoScroll=function(){const{flatlistRef:L}=(0,c.useRefs)(),{autoscrollThreshold:w=l.DEFAULT_PROPS.autoscrollThreshold,autoscrollSpeed:D=l.DEFAULT_PROPS.autoscrollSpeed}=(0,o.useProps)(),{scrollOffset:N,scrollViewSize:C,containerSize:p,activeCellSize:R,hoverOffset:k,activeIndexAnim:z}=(0,s.useAnimatedValues)(),b=(0,t.useDerivedValue)((function({_worklet_2808899548984_init_data:t,hoverOffset:l,scrollOffset:o}){const s=function(){return l.value-o.value};return s.__closure={hoverOffset:l,scrollOffset:o},s.__workletHash=2808899548984,s.__initData=t,s})({_worklet_2808899548984_init_data:n,hoverOffset:k,scrollOffset:N}),[]),P=(0,t.useDerivedValue)((function({_worklet_12016434595023_init_data:t,scrollOffset:l,SCROLL_POSITION_TOLERANCE:o}){const s=function(){return l.value-o<=0};return s.__closure={scrollOffset:l,SCROLL_POSITION_TOLERANCE:o},s.__workletHash=0xaedcb50c4cf,s.__initData=t,s})({_worklet_12016434595023_init_data:u,scrollOffset:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE}),[]),x=(0,t.useDerivedValue)((function({_worklet_15484432799921_init_data:t,scrollOffset:l,containerSize:o,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c}){const n=function(){return l.value+o.value+s>=c.value};return n.__closure={scrollOffset:l,containerSize:o,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c},n.__workletHash=0xe15401dd8b1,n.__initData=t,n})({_worklet_15484432799921_init_data:_,scrollOffset:N,containerSize:p,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,scrollViewSize:C}),[]),V=(0,t.useDerivedValue)((function({_worklet_17164513010478_init_data:t,hoverScreenOffset:l}){const o=function(){return Math.max(0,l.value)};return o.__closure={hoverScreenOffset:l},o.__workletHash=0xf9c6cb3632e,o.__initData=t,o})({_worklet_17164513010478_init_data:f,hoverScreenOffset:b}),[]),J=(0,t.useDerivedValue)((function({_worklet_1147639264362_init_data:t,hoverScreenOffset:l,activeCellSize:o,containerSize:s}){const c=function(){const t=l.value+o.value;return Math.max(0,s.value-t)};return c.__closure={hoverScreenOffset:l,activeCellSize:o,containerSize:s},c.__workletHash=1147639264362,c.__initData=t,c})({_worklet_1147639264362_init_data:v,hoverScreenOffset:b,activeCellSize:R,containerSize:p}),[]),B=(0,t.useDerivedValue)((function({_worklet_11040627643734_init_data:t,distToTopEdge:l,autoscrollThreshold:o}){const s=function(){return l.value<=o};return s.__closure={distToTopEdge:l,autoscrollThreshold:o},s.__workletHash=0xa0a98b05556,s.__initData=t,s})({_worklet_11040627643734_init_data:O,distToTopEdge:V,autoscrollThreshold:w})),F=(0,t.useDerivedValue)((function({_worklet_14987891986615_init_data:t,distToBottomEdge:l,autoscrollThreshold:o}){const s=function(){return l.value<=o};return s.__closure={distToBottomEdge:l,autoscrollThreshold:o},s.__workletHash=0xda1a3fa50b7,s.__initData=t,s})({_worklet_14987891986615_init_data:S,distToBottomEdge:J,autoscrollThreshold:w}),[]),H=(0,t.useSharedValue)(0),M=(0,t.useDerivedValue)((function({_worklet_8401811971590_init_data:t,activeIndexAnim:l}){const o=function(){return l.value>=0};return o.__closure={activeIndexAnim:l},o.__workletHash=8401811971590,o.__initData=t,o})({_worklet_8401811971590_init_data:T,activeIndexAnim:z}),[]);(0,t.useAnimatedReaction)((function({_worklet_16420598048532_init_data:t,dragIsActive:l}){const o=function(){return l.value};return o.__closure={dragIsActive:l},o.__workletHash=0xeef37e9e714,o.__initData=t,o})({_worklet_16420598048532_init_data:h,dragIsActive:M}),(function({_worklet_10982255603799_init_data:t,scrollTarget:l,scrollOffset:o}){const s=function(t,s){t&&!s&&(l.value=o.value)};return s.__closure={scrollTarget:l,scrollOffset:o},s.__workletHash=0x9fd0171b057,s.__initData=t,s})({_worklet_10982255603799_init_data:E,scrollTarget:H,scrollOffset:N}));const U=(0,t.useDerivedValue)((function({_worklet_10051379659370_init_data:t,scrollTarget:l,scrollOffset:o,SCROLL_POSITION_TOLERANCE:s,isAtTopEdge:c,isAtBottomEdge:n,isScrolledUp:u,isScrolledDown:_,activeIndexAnim:f}){const v=function(){const t=Math.abs(l.value-o.value)<s,v=c.value||n.value,O=c.value&&u.value,S=n.value&&_.value,T=O||S,h=f.value>=0;return t&&v&&!T&&h};return v.__closure={scrollTarget:l,scrollOffset:o,SCROLL_POSITION_TOLERANCE:s,isAtTopEdge:c,isAtBottomEdge:n,isScrolledUp:u,isScrolledDown:_,activeIndexAnim:f},v.__workletHash=0x92444ea026a,v.__initData=t,v})({_worklet_10051379659370_init_data:A,scrollTarget:H,scrollOffset:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,isAtTopEdge:B,isAtBottomEdge:F,isScrolledUp:P,isScrolledDown:x,activeIndexAnim:z}),[]);return(0,t.useDerivedValue)((function({_worklet_2210792135007_init_data:t,shouldAutoScroll:l,isAtTopEdge:o,distToTopEdge:s,distToBottomEdge:c,autoscrollThreshold:n,autoscrollSpeed:u,scrollOffset:_,scrollViewSize:f,containerSize:v,scrollTarget:O,runOnJS:S,scrollToInternal:T}){const h=function(){if(!l.value)return;const t=(1-(o.value?s.value:c.value)/n)*u,h=o.value?Math.max(0,_.value-t):Math.min(_.value+t,f.value-v.value);O.value=h,S(T)(h)};return h.__closure={shouldAutoScroll:l,isAtTopEdge:o,distToTopEdge:s,distToBottomEdge:c,autoscrollThreshold:n,autoscrollSpeed:u,scrollOffset:_,scrollViewSize:f,containerSize:v,scrollTarget:O,runOnJS:S,scrollToInternal:T},h.__workletHash=2210792135007,h.__initData=t,h})({_worklet_2210792135007_init_data:I,shouldAutoScroll:U,isAtTopEdge:B,distToTopEdge:V,distToBottomEdge:J,autoscrollThreshold:w,autoscrollSpeed:D,scrollOffset:N,scrollViewSize:C,containerSize:p,scrollTarget:H,runOnJS:t.runOnJS,scrollToInternal:function(t){var l;L&&"current"in L&&(null===(l=L.current)||void 0===l||l.scrollToOffset({offset:t,animated:!0}))}}),[]),null};var t=r(d[0]),l=r(d[1]),o=r(d[2]),s=r(d[3]),c=r(d[4]);const n={code:"function reactNativeDraggableFlatlist_useAutoScrollJs1(){const{hoverOffset,scrollOffset}=this.__closure;return hoverOffset.value-scrollOffset.value;}"},u={code:"function reactNativeDraggableFlatlist_useAutoScrollJs2(){const{scrollOffset,SCROLL_POSITION_TOLERANCE}=this.__closure;return scrollOffset.value-SCROLL_POSITION_TOLERANCE<=0;}"},_={code:"function reactNativeDraggableFlatlist_useAutoScrollJs3(){const{scrollOffset,containerSize,SCROLL_POSITION_TOLERANCE,scrollViewSize}=this.__closure;return scrollOffset.value+containerSize.value+SCROLL_POSITION_TOLERANCE>=scrollViewSize.value;}"},f={code:"function reactNativeDraggableFlatlist_useAutoScrollJs4(){const{hoverScreenOffset}=this.__closure;return Math.max(0,hoverScreenOffset.value);}"},v={code:"function reactNativeDraggableFlatlist_useAutoScrollJs5(){const{hoverScreenOffset,activeCellSize,containerSize}=this.__closure;const hoverPlusActiveCell=hoverScreenOffset.value+activeCellSize.value;return Math.max(0,containerSize.value-hoverPlusActiveCell);}"},O={code:"function reactNativeDraggableFlatlist_useAutoScrollJs6(){const{distToTopEdge,autoscrollThreshold}=this.__closure;return distToTopEdge.value<=autoscrollThreshold;}"},S={code:"function reactNativeDraggableFlatlist_useAutoScrollJs7(){const{distToBottomEdge,autoscrollThreshold}=this.__closure;return distToBottomEdge.value<=autoscrollThreshold;}"},T={code:"function reactNativeDraggableFlatlist_useAutoScrollJs8(){const{activeIndexAnim}=this.__closure;return activeIndexAnim.value>=0;}"},h={code:"function reactNativeDraggableFlatlist_useAutoScrollJs9(){const{dragIsActive}=this.__closure;return dragIsActive.value;}"},E={code:"function reactNativeDraggableFlatlist_useAutoScrollJs10(cur,prev){const{scrollTarget,scrollOffset}=this.__closure;if(cur&&!prev){scrollTarget.value=scrollOffset.value;}}"},A={code:"function reactNativeDraggableFlatlist_useAutoScrollJs11(){const{scrollTarget,scrollOffset,SCROLL_POSITION_TOLERANCE,isAtTopEdge,isAtBottomEdge,isScrolledUp,isScrolledDown,activeIndexAnim}=this.__closure;const scrollTargetDiff=Math.abs(scrollTarget.value-scrollOffset.value);const hasScrolledToTarget=scrollTargetDiff<SCROLL_POSITION_TOLERANCE;const isAtEdge=isAtTopEdge.value||isAtBottomEdge.value;const topDisabled=isAtTopEdge.value&&isScrolledUp.value;const bottomDisabled=isAtBottomEdge.value&&isScrolledDown.value;const isEdgeDisabled=topDisabled||bottomDisabled;const cellIsActive=activeIndexAnim.value>=0;return hasScrolledToTarget&&isAtEdge&&!isEdgeDisabled&&cellIsActive;}"},I={code:"function reactNativeDraggableFlatlist_useAutoScrollJs12(){const{shouldAutoScroll,isAtTopEdge,distToTopEdge,distToBottomEdge,autoscrollThreshold,autoscrollSpeed,scrollOffset,scrollViewSize,containerSize,scrollTarget,runOnJS,scrollToInternal}=this.__closure;if(!shouldAutoScroll.value)return;const distFromEdge=isAtTopEdge.value?distToTopEdge.value:distToBottomEdge.value;const speedPct=1-distFromEdge/autoscrollThreshold;const offset=speedPct*autoscrollSpeed;const targetOffset=isAtTopEdge.value?Math.max(0,scrollOffset.value-offset):Math.min(scrollOffset.value+offset,scrollViewSize.value-containerSize.value);scrollTarget.value=targetOffset;runOnJS(scrollToInternal)(targetOffset);}"}},3570,[2714,3560,3563,3562,3564]);
|
|
15992
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return c}});var t=r(d[0]),n=r(d[1]);const l={code:"function reactNativeDraggableFlatlist_ScrollOffsetListenerJs1(){const{scrollOffset}=this.__closure;return scrollOffset.value;}"},o={code:"function reactNativeDraggableFlatlist_ScrollOffsetListenerJs2(cur,prev){const{runOnJS,onScrollOffsetChange}=this.__closure;if(cur!==prev){runOnJS(onScrollOffsetChange)(cur);}}"};var c=(0,n.typedMemo)(n=>{let{scrollOffset:c,onScrollOffsetChange:s}=n;return(0,t.useAnimatedReaction)((function({_worklet_6566234561379_init_data:t,scrollOffset:n}){const l=function(){return n.value};return l.__closure={scrollOffset:n},l.__workletHash=6566234561379,l.__initData=t,l})({_worklet_6566234561379_init_data:l,scrollOffset:c}),(function({_worklet_15281170813250_init_data:t,runOnJS:n,onScrollOffsetChange:l}){const o=function(t,o){t!==o&&n(l)(t)};return o.__closure={runOnJS:n,onScrollOffsetChange:l},o.__workletHash=0xde5ecc21142,o.__initData=t,o})({_worklet_15281170813250_init_data:o,runOnJS:t.runOnJS,onScrollOffsetChange:s}),[c]),null})},3571,[2714,3565]);
|
|
15993
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"useOnCellActiveAnimation",{enumerable:!0,get:function(){return s.useOnCellActiveAnimation}}),Object.defineProperty(_e,"ScaleDecorator",{enumerable:!0,get:function(){return v}}),Object.defineProperty(_e,"ShadowDecorator",{enumerable:!0,get:function(){return _}}),Object.defineProperty(_e,"OpacityDecorator",{enumerable:!0,get:function(){return f}});var t=e(r(d[0])),n=e(r(d[1])),o=r(d[2]),c=e(o),l=r(d[3]),s=r(d[4]);const u={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs1(){const{interpolate,onActiveAnim,activeScale,isActive}=this.__closure;const animScale=interpolate(onActiveAnim.value,[0,1],[1,activeScale]);const scale=isActive?animScale:1;return{transform:[{scaleX:scale},{scaleY:scale}]};}"},v=e=>{let{activeScale:n=1.1,children:v}=e;const{isActive:A,onActiveAnim:_}=(0,s.useOnCellActiveAnimation)({animationConfig:{mass:.1,restDisplacementThreshold:1e-4}}),{horizontal:p}=(0,l.useDraggableFlatListContext)(),f=(0,o.useAnimatedStyle)((function({_worklet_3223850486805_init_data:e,interpolate:t,onActiveAnim:n,activeScale:o,isActive:c}){const l=function(){const e=t(n.value,[0,1],[1,o]),l=c?e:1;return{transform:[{scaleX:l},{scaleY:l}]}};return l.__closure={interpolate:t,onActiveAnim:n,activeScale:o,isActive:c},l.__workletHash=3223850486805,l.__initData=e,l})({_worklet_3223850486805_init_data:u,interpolate:o.interpolate,onActiveAnim:_,activeScale:n,isActive:A}),[A]);return t.default.createElement(c.default.View,{style:[f,p&&y.horizontal]},v)},A={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs2(){const{onActiveAnim,opacity,isActive,elevation,radius,color}=this.__closure;const shadowOpacity=onActiveAnim.value*opacity;return{elevation:isActive?elevation:0,shadowRadius:isActive?radius:0,shadowColor:isActive?color:\"transparent\",shadowOpacity:isActive?shadowOpacity:0};}"},_=e=>{let{elevation:n=10,color:u="black",opacity:v=.25,radius:_=5,children:p}=e;const{isActive:f,onActiveAnim:h}=(0,s.useOnCellActiveAnimation)(),{horizontal:w}=(0,l.useDraggableFlatListContext)(),O=(0,o.useAnimatedStyle)((function({_worklet_5875745184206_init_data:e,onActiveAnim:t,opacity:n,isActive:o,elevation:c,radius:l,color:s}){const u=function(){const e=t.value*n;return{elevation:o?c:0,shadowRadius:o?l:0,shadowColor:o?s:"transparent",shadowOpacity:o?e:0}};return u.__closure={onActiveAnim:t,opacity:n,isActive:o,elevation:c,radius:l,color:s},u.__workletHash=5875745184206,u.__initData=e,u})({_worklet_5875745184206_init_data:A,onActiveAnim:h,opacity:v,isActive:f,elevation:n,radius:_,color:u}),[f,h]);return t.default.createElement(c.default.View,{style:[O,w&&y.horizontal]},p)},p={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs3(){const{interpolate,onActiveAnim,activeOpacity,isActive}=this.__closure;const opacity=interpolate(onActiveAnim.value,[0,1],[1,activeOpacity]);return{opacity:isActive?opacity:1};}"},f=e=>{let{activeOpacity:n=.25,children:u}=e;const{isActive:v,onActiveAnim:A}=(0,s.useOnCellActiveAnimation)(),{horizontal:_}=(0,l.useDraggableFlatListContext)(),f=(0,o.useAnimatedStyle)((function({_worklet_9220952713650_init_data:e,interpolate:t,onActiveAnim:n,activeOpacity:o,isActive:c}){const l=function(){const e=t(n.value,[0,1],[1,o]);return{opacity:c?e:1}};return l.__closure={interpolate:t,onActiveAnim:n,activeOpacity:o,isActive:c},l.__workletHash=9220952713650,l.__initData=e,l})({_worklet_9220952713650_init_data:p,interpolate:o.interpolate,onActiveAnim:A,activeOpacity:n,isActive:v}),[v]);return t.default.createElement(c.default.View,{style:[f,_&&y.horizontal]},u)},y=n.default.create({horizontal:{flexDirection:"row",flex:1}})},3572,[17,33,2714,3559,3573]);
|
|
15994
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useOnCellActiveAnimation=function(){let{animationConfig:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{animationConfig:{}};const _=(0,n.useSharedValue)(u);(0,t.useEffect)(()=>{_.value=u},[u]);const v=(0,s.useIsActive)(),{isTouchActiveNative:l}=(0,c.useAnimatedValues)(),N=(0,n.useDerivedValue)((function({_worklet_17322650649574_init_data:t,isActive:n,isTouchActiveNative:o,withSpring:c,DEFAULT_ANIMATION_CONFIG:s,animationConfigRef:A}){const u=function(){const t=n&&o.value?1:0;return c(t,Object.assign({},s,A.value))};return u.__closure={isActive:n,isTouchActiveNative:o,withSpring:c,DEFAULT_ANIMATION_CONFIG:s,animationConfigRef:A},u.__workletHash=0xfc13e7043e6,u.__initData=t,u})({_worklet_17322650649574_init_data:A,isActive:v,isTouchActiveNative:l,withSpring:n.withSpring,DEFAULT_ANIMATION_CONFIG:o.DEFAULT_ANIMATION_CONFIG,animationConfigRef:_}),[v]);return{isActive:v,onActiveAnim:N}};var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),s=r(d[4]);const A={code:"function reactNativeDraggableFlatlist_useOnCellActiveAnimationJs1(){const{isActive,isTouchActiveNative,withSpring,DEFAULT_ANIMATION_CONFIG,animationConfigRef}=this.__closure;const toVal=isActive&&isTouchActiveNative.value?1:0;return withSpring(toVal,{...DEFAULT_ANIMATION_CONFIG,...animationConfigRef.value});}"}},3573,[17,2714,3560,3562,3566]);
|
|
15995
|
+
__d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NestableDraggableFlatList",{enumerable:!0,get:function(){return _}});var t=r(d[0]),l=e(t),n=e(r(d[1])),s=e(r(d[2])),o=r(d[3]),i=e(r(d[4])),u=r(d[5]),c=r(d[6]),f=r(d[7]);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},v.apply(this,arguments)}const b={code:"function reactNativeDraggableFlatlist_NestableDraggableFlatListJs1(){const{listHoverOffset,listVerticalOffset}=this.__closure;return listHoverOffset.value+listVerticalOffset.value;}"};function O(e,O){const _=(0,t.useRef)(!1);_.current||(s.default.ignoreLogs(["VirtualizedLists should never be nested inside plain ScrollViews with the same orientation because it can break windowing"]),console.reportErrorsAsExceptions=!1,_.current=!0);const{scrollableRef:S,outerScrollOffset:h,setOuterScrollEnabled:V}=(0,u.useSafeNestableScrollContainerContext)(),D=(0,o.useSharedValue)(0),[p,w]=(0,t.useState)({}),k=(0,o.useSharedValue)(0),[y,C]=(0,t.useState)(k),E=(0,o.useDerivedValue)((function({_worklet_13500071611033_init_data:e,listHoverOffset:t,listVerticalOffset:l}){const n=function(){return t.value+l.value};return n.__closure={listHoverOffset:t,listVerticalOffset:l},n.__workletHash=0xc473af90a99,n.__initData=e,n})({_worklet_13500071611033_init_data:b,listHoverOffset:y,listVerticalOffset:D}),[y]);(0,c.useNestedAutoScroll)(Object.assign({},p,{hoverOffset:E}));const j=(0,f.useStableCallback)(async e=>{let{containerRef:t}=e;const l=(0,n.default)(S.current);t.current.measureLayout(l,(e,t)=>{D.value=t},()=>{console.log("## nested draggable list measure fail")})}),H=(0,f.useStableCallback)(t=>{var l;V(!1),null===(l=e.onDragBegin)||void 0===l||l.call(e,t)}),L=(0,f.useStableCallback)(t=>{var l;V(!0),null===(l=e.onDragEnd)||void 0===l||l.call(e,t)}),N=(0,f.useStableCallback)(t=>{var l;C(t.hoverOffset),w(Object.assign({},t,{hoverOffset:E})),null===(l=e.onAnimValInit)||void 0===l||l.call(e,t)});return l.default.createElement(i.default,v({ref:O,onContainerLayout:j,activationDistance:e.activationDistance||20,scrollEnabled:!1},e,{outerScrollOffset:h,onDragBegin:H,onDragEnd:L,onAnimValInit:N}))}const _=l.default.forwardRef(O)},3574,[17,122,273,2714,3557,3575,3576,3567]);
|
|
15996
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.NestableScrollContainerProvider=function(e){let{children:t,forwardedRef:o}=e;const s=u({forwardedRef:o});return l.default.createElement(n.Provider,{value:s},t)},_e.useNestableScrollContainerContext=s,_e.useSafeNestableScrollContainerContext=function(){const e=s();if(!e)throw new Error("useSafeNestableScrollContainerContext must be called within a NestableScrollContainerContext.Provider");return e};var e,t=r(d[0]),l=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);const n=l.default.createContext(void 0);function u(e){let{forwardedRef:l}=e;const[n,u]=(0,t.useState)(!0),s=(0,o.useSharedValue)(0),c=(0,t.useRef)(null),f=l||c,S=(0,o.useSharedValue)(0),C=(0,o.useSharedValue)(0);return(0,t.useMemo)(()=>({outerScrollEnabled:n,setOuterScrollEnabled:u,outerScrollOffset:S,scrollViewSize:s,scrollableRef:f,containerSize:C}),[n])}function s(){return(0,t.useContext)(n)}},3575,[17,2714]);
|
|
15997
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNestedAutoScroll=function(h){const{outerScrollOffset:E,containerSize:N,scrollableRef:C,scrollViewSize:L}=(0,o.useSafeNestableScrollContainerContext)(),A=(0,t.useSharedValue)(0),{hoverOffset:D=A,activeCellSize:I=A,autoscrollSpeed:w=100,autoscrollThreshold:R=30,isDraggingCell:p=A,isTouchActiveNative:k=A}=h,b=(0,t.useDerivedValue)((function({_worklet_1881896633941_init_data:t,hoverOffset:o,outerScrollOffset:l}){const s=function(){return o.value-l.value};return s.__closure={hoverOffset:o,outerScrollOffset:l},s.__workletHash=1881896633941,s.__initData=t,s})({_worklet_1881896633941_init_data:s,hoverOffset:D,outerScrollOffset:E}),[]),z=(0,t.useDerivedValue)((function({_worklet_4729636409762_init_data:t,outerScrollOffset:o,SCROLL_POSITION_TOLERANCE:l}){const s=function(){return o.value-l<=0};return s.__closure={outerScrollOffset:o,SCROLL_POSITION_TOLERANCE:l},s.__workletHash=4729636409762,s.__initData=t,s})({_worklet_4729636409762_init_data:c,outerScrollOffset:E,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE}),[]),P=(0,t.useDerivedValue)((function({_worklet_6931217787228_init_data:t,outerScrollOffset:o,containerSize:l,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c}){const u=function(){return o.value+l.value+s>=c.value};return u.__closure={outerScrollOffset:o,containerSize:l,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c},u.__workletHash=6931217787228,u.__initData=t,u})({_worklet_6931217787228_init_data:u,outerScrollOffset:E,containerSize:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,scrollViewSize:L}),[]),B=(0,t.useDerivedValue)((function({_worklet_14157162290883_init_data:t,hoverScreenOffset:o}){const l=function(){return Math.max(0,o.value)};return l.__closure={hoverScreenOffset:o},l.__workletHash=0xce038a11ec3,l.__initData=t,l})({_worklet_14157162290883_init_data:n,hoverScreenOffset:b}),[b]),J=(0,t.useDerivedValue)((function({_worklet_6156973048070_init_data:t,containerSize:o,hoverScreenOffset:l,activeCellSize:s}){const c=function(){const t=o.value-(l.value+s.value);return Math.max(0,t)};return c.__closure={containerSize:o,hoverScreenOffset:l,activeCellSize:s},c.__workletHash=6156973048070,c.__initData=t,c})({_worklet_6156973048070_init_data:_,containerSize:N,hoverScreenOffset:b,activeCellSize:I}),[b,I,N]),V=(0,t.useDerivedValue)((function({_worklet_11726045427259_init_data:t,distToTopEdge:o,autoscrollThreshold:l}){const s=function(){return o.value<=l};return s.__closure={distToTopEdge:o,autoscrollThreshold:l},s.__workletHash=0xaaa2ec5b63b,s.__initData=t,s})({_worklet_11726045427259_init_data:f,distToTopEdge:B,autoscrollThreshold:R}),[]),x=(0,t.useDerivedValue)((function({_worklet_7914873790874_init_data:t,distToBottomEdge:o,autoscrollThreshold:l}){const s=function(){return o.value<=l};return s.__closure={distToBottomEdge:o,autoscrollThreshold:l},s.__workletHash=7914873790874,s.__initData=t,s})({_worklet_7914873790874_init_data:S,distToBottomEdge:J,autoscrollThreshold:R})),F=(0,t.useSharedValue)(0);return(0,t.useAnimatedReaction)((function({_worklet_14021221439128_init_data:t,isDraggingCell:o}){const l=function(){return o.value};return l.__closure={isDraggingCell:o},l.__workletHash=0xcc091ec5698,l.__initData=t,l})({_worklet_14021221439128_init_data:O,isDraggingCell:p}),(function({_worklet_17362022355714_init_data:t,scrollTarget:o,outerScrollOffset:l}){const s=function(t,s){t&&!s&&(o.value=l.value)};return s.__closure={scrollTarget:o,outerScrollOffset:l},s.__workletHash=0xfca692cd302,s.__initData=t,s})({_worklet_17362022355714_init_data:v,scrollTarget:F,outerScrollOffset:E}),[I]),(0,t.useDerivedValue)((function({_worklet_15221845355323_init_data:t,isAtTopEdge:o,isAtBottomEdge:l,isScrolledUp:s,isScrolledDown:c,scrollTarget:u,outerScrollOffset:n,SCROLL_POSITION_TOLERANCE:_,isDraggingCell:f,isTouchActiveNative:S,distToTopEdge:O,distToBottomEdge:v,autoscrollThreshold:T,autoscrollSpeed:h,runOnJS:E,scrollToInternal:N}){const C=function(){const t=o.value||l.value,C=o.value&&s.value,L=l.value&&c.value,A=C||L,D=Math.abs(u.value-n.value)>_,I=t&&!A&&f.value&&S.value&&!D,w=(1-(o.value?O.value:v.value)/T)*h,R=o.value?Math.max(0,n.value-w):n.value+w;I&&(u.value=R,E(N)(R))};return C.__closure={isAtTopEdge:o,isAtBottomEdge:l,isScrolledUp:s,isScrolledDown:c,scrollTarget:u,outerScrollOffset:n,SCROLL_POSITION_TOLERANCE:_,isDraggingCell:f,isTouchActiveNative:S,distToTopEdge:O,distToBottomEdge:v,autoscrollThreshold:T,autoscrollSpeed:h,runOnJS:E,scrollToInternal:N},C.__workletHash=0xdd81caf6b3b,C.__initData=t,C})({_worklet_15221845355323_init_data:T,isAtTopEdge:V,isAtBottomEdge:x,isScrolledUp:z,isScrolledDown:P,scrollTarget:F,outerScrollOffset:E,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,isDraggingCell:p,isTouchActiveNative:k,distToTopEdge:B,distToBottomEdge:J,autoscrollThreshold:R,autoscrollSpeed:w,runOnJS:t.runOnJS,scrollToInternal:function(t){var o;null===(o=C.current)||void 0===o||o.scrollTo({y:t,animated:!0})}}),[w,R,p]),null};var t=r(d[0]),o=r(d[1]),l=r(d[2]);const s={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs1(){const{hoverOffset,outerScrollOffset}=this.__closure;return hoverOffset.value-outerScrollOffset.value;}"},c={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs2(){const{outerScrollOffset,SCROLL_POSITION_TOLERANCE}=this.__closure;return outerScrollOffset.value-SCROLL_POSITION_TOLERANCE<=0;}"},u={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs3(){const{outerScrollOffset,containerSize,SCROLL_POSITION_TOLERANCE,scrollViewSize}=this.__closure;return outerScrollOffset.value+containerSize.value+SCROLL_POSITION_TOLERANCE>=scrollViewSize.value;}"},n={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs4(){const{hoverScreenOffset}=this.__closure;return Math.max(0,hoverScreenOffset.value);}"},_={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs5(){const{containerSize,hoverScreenOffset,activeCellSize}=this.__closure;const dist=containerSize.value-(hoverScreenOffset.value+activeCellSize.value);return Math.max(0,dist);}"},f={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs6(){const{distToTopEdge,autoscrollThreshold}=this.__closure;return distToTopEdge.value<=autoscrollThreshold;}"},S={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs7(){const{distToBottomEdge,autoscrollThreshold}=this.__closure;return distToBottomEdge.value<=autoscrollThreshold;}"},O={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs8(){const{isDraggingCell}=this.__closure;return isDraggingCell.value;}"},v={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs9(cur,prev){const{scrollTarget,outerScrollOffset}=this.__closure;if(cur&&!prev){scrollTarget.value=outerScrollOffset.value;}}"},T={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs10(){const{isAtTopEdge,isAtBottomEdge,isScrolledUp,isScrolledDown,scrollTarget,outerScrollOffset,SCROLL_POSITION_TOLERANCE,isDraggingCell,isTouchActiveNative,distToTopEdge,distToBottomEdge,autoscrollThreshold,autoscrollSpeed,runOnJS,scrollToInternal}=this.__closure;const isAtEdge=isAtTopEdge.value||isAtBottomEdge.value;const topDisabled=isAtTopEdge.value&&isScrolledUp.value;const bottomDisabled=isAtBottomEdge.value&&isScrolledDown.value;const isEdgeDisabled=topDisabled||bottomDisabled;const scrollTargetDiff=Math.abs(scrollTarget.value-outerScrollOffset.value);const scrollInProgress=scrollTargetDiff>SCROLL_POSITION_TOLERANCE;const shouldScroll=isAtEdge&&!isEdgeDisabled&&isDraggingCell.value&&isTouchActiveNative.value&&!scrollInProgress;const distFromEdge=isAtTopEdge.value?distToTopEdge.value:distToBottomEdge.value;const speedPct=1-distFromEdge/autoscrollThreshold;const offset=speedPct*autoscrollSpeed;const targetOffset=isAtTopEdge.value?Math.max(0,outerScrollOffset.value-offset):outerScrollOffset.value+offset;if(shouldScroll){scrollTarget.value=targetOffset;runOnJS(scrollToInternal)(targetOffset);}}"}},3576,[2714,3575,3560]);
|
|
15998
|
+
__d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NestableScrollContainer",{enumerable:!0,get:function(){return S}});var t=e(r(d[0])),l=r(d[1]),n=r(d[2]),o=e(n),c=r(d[3]),f=r(d[4]);function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},u.apply(this,arguments)}const i=o.default.createAnimatedComponent(l.ScrollView),s={code:"function reactNativeDraggableFlatlist_NestableScrollContainerJs1(_ref){const{outerScrollOffset}=this.__closure;let{contentOffset:contentOffset}=_ref;outerScrollOffset.value=contentOffset.y;}"};function _(e){const{outerScrollOffset:l,containerSize:o,scrollViewSize:_,scrollableRef:S,outerScrollEnabled:b}=(0,c.useSafeNestableScrollContainerContext)(),v=(0,n.useAnimatedScrollHandler)({onScroll:(function({_worklet_8746208410386_init_data:e,outerScrollOffset:t}){const l=function(e){let{contentOffset:l}=e;t.value=l.y};return l.__closure={outerScrollOffset:t},l.__workletHash=8746208410386,l.__initData=e,l})({_worklet_8746208410386_init_data:s,outerScrollOffset:l})}),O=(0,f.useStableCallback)(e=>{const{nativeEvent:{layout:t}}=e;o.value=t.height}),C=(0,f.useStableCallback)((t,l)=>{var n;_.value=l,null===(n=e.onContentSizeChange)||void 0===n||n.call(e,t,l)});return t.default.createElement(i,u({},e,{onLayout:O,onContentSizeChange:C,scrollEnabled:b,ref:S,scrollEventThrottle:1,onScroll:v}))}const S=t.default.forwardRef((e,l)=>t.default.createElement(c.NestableScrollContainerProvider,{forwardedRef:l||void 0},t.default.createElement(_,e)))},3577,[17,3241,2714,3575,3567]);
|
|
15999
|
+
__d(function(g,r,i,a,m,e,d){},3578,[]);
|
|
16000
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);r(d[1]);var n=r(d[2]),o=r(d[3]),c=r(d[4]);function s(){const s=(0,t.c)(1);let u;return s[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(o.RootProviders,{children:(0,c.jsx)(n.Stack,{screenOptions:{headerShown:!1}})}),s[0]=u):u=s[0],u}},3579,[15,3580,743,3583,10]);
|
|
16001
|
+
__d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var t=e(r(_d[0])),n=r(_d[1]),u=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),l=e(r(_d[3])),c=e(r(_d[4])),o=e(r(_d[5]));const f={en:{translation:c.default},it:{translation:o.default}},d=u.getLocales()[0]?.languageCode?.slice(0,2)??"en",s=Object.keys(f).includes(d)?d:"en";t.default.use(n.initReactI18next).init({resources:f,lng:s,fallbackLng:"en",interpolation:{escapeValue:!1}}),l.default.getItem("v2.language").then(e=>{"it"!==e&&"en"!==e||t.default.changeLanguage(e)});var b=t.default},3580,[789,786,3422,3133,3581,3582]);
|
|
16002
|
+
__d(function(e,t,a,o,i,n,r){i.exports={devices:{editDevice:"Edit device",originalName:"Original name",customName:"Custom name",customNamePlaceholder:"Leave empty to use original",icon:"Icon",typeLight:"Light",typeSwitch:"Switch",typeCover:"Cover",typeLock:"Lock",typeAlarm:"Alarm",typeButton:"Button",typeSelect:"Select",typeSiren:"Siren",typeSensor:"Sensor",typeEntry:"Entry",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Run",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Mute",unmute:"Unmute",stop:"Stop",locked:"Locked",unlocked:"Unlocked",open:"Open",closed:"Closed",disarmed:"Disarmed",disarm:"Disarm"},common:{error:"Error",save:"Save",cancel:"Cancel",loading:"Loading...",comingSoon:"Coming soon",back:"Back",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",reset:"Reset",selectAll:"Select all",deselectAll:"Deselect all",delete:"Delete",retry:"Retry"},grids:{newGrid:"New grid",deleteConfirm:"Delete this grid?",noGrids:"No grids yet. Create one to arrange cameras in a mosaic view.",createGrid:"Create grid",cameras:"cameras",notFound:"Grid not found.",noCameras:"No cameras in this grid. Edit the grid to add some.",edit:"Edit",addCamera:"Add camera",presets:"Presets",auto:"Auto",manual:"Manual",gridName:"Grid name",view:"View",addCameraHint:"Add at least one camera from the button above.",allCamerasAdded:"All cameras already in grid",cameraUnavailable:"Camera unavailable",camerasInGrid:"Cameras in grid",addAll:"Add all",addCameras:"Add Cameras",backToGrid:"Back to Grid",timelineNotSupported:"Timeline not supported"},nav:{cameras:"Cameras",grids:"Grids",events:"Events",videoclips:"Videoclips",list:"List",settings:"Settings"},cameras:{addCamera:"Add camera",pipActive:"PiP active",reorderEnable:"Reorder",reorderDisable:"Unlock",live:"Live",noCameras:"No cameras configured",noIntegrations:"No integrations configured. Add a system to get started.",createSystem:"Create system",importFrom:"Import cameras from",importSuccess:"Import complete",importCount:"{{count}} cameras imported",selectCamerasToImport:"Select cameras to import",selectAll:"Select all",deselectAll:"Deselect all",importSelected:"Import {{count}} selected",noCamerasFound:"No cameras found",play:"\u25b6 Play",paused:"Paused",noDataForDate:"No data for this date",recordingNotAvailable:"Recording not available",noEventsReel:"No recent events",settings:"Settings",highlightMotion:"Motion Highlight",highlightOnMotion:"Highlight on motion",highlightAudio:"Audio Highlight",audioMode:"Mode",audioModeOff:"Off",audioModeSensor:"Sensor",audioModeLevel:"Level",audioPreset:"Audio Preset",audioPresetCustom:"Custom",audioPresetCrying:"Crying / baby",audioPresetAlarm:"Alarm / siren",audioPresetDog:"Dog barking",audioPresetDoorbell:"Doorbell / knock",audioPresetGlass:"Glass break",audioWindow:"Window (s)",audioThreshold:"Threshold (dB)",audioHitPercentage:"Hit (%)",audioHoldSeconds:"Hold (s)",highlightDetection:"Object Detection Highlight",highlightOnDetection:"Highlight on detection",detectionClasses:"Classes",holdSeconds:"Hold (s)",rtspNotSupportedWeb:"RTSP streams are not supported on web. Use the mobile app.",liveDetections:"Live detections",filterTimeline:"Filter timeline",filterClasses:"Filter classes...",filterBySeverity:"Filter by severity",severityAlert:"Alert",severityDetection:"Detection",statusPosition:"Status Indicators Position",today:"Today",yesterday:"Yesterday",timeline:"Timeline",timelineEventsClusterEvents:"Events",selectDate:"Select a date",videoclipsNotSupported:"Videoclips not supported for this camera",noVideoclipsForDate:"No videoclips for this date",endOfList:"End of list",backToLive:"Back to live",goLive:"Go live",loadingClip:"Loading clip...",clusterDetailShowBbox:"Show bounding box on image",clusterDetailOpenVideoclip:"Open videoclip",clusterDetailLoadingEvents:"Loading events...",devices:"Devices",noAssociatedDevices:"No devices linked. Configure in Settings > Cameras.",timelineData:"Timeline data",timelineDataHint:"What to show on the timeline.",timelineDataVideoclips:"Videoclips",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Events",timelineEvents:"Timeline events",timelineEventsHint:"Which event types to show on the timeline, by severity.",timelinePresetAll:"All",timelinePresetImportant:"Important",timelinePresetCritical:"Critical",timelinePresetCustom:"Custom",statusBlock:"Status Block",sensorsBlock:"Sensors Block",position:"Position",indicators:"Indicators",downloadSnapshot:"Download Snapshot",exportDownloadClip:"Download Clip",exportRecordingWebOnly:"Recording export (web only)",exportSnapshot:"Export Snapshot",intercomError:"Intercom error",multiCam:"Multi-Camera",ptzNotSupported:"PTZ not supported",ptzSelectPreset:"Select PTZ Preset",snapshotFailed:"Snapshot failed"},events:{loading:"Loading events...",filterByLabel:"Filter by label",filterByLabelPlaceholder:"e.g. person, doorbell",filterByCamera:"Filter by camera",date:"Date",detectionTypes:"Detection types",source:"Source",cameras:"Cameras",groupingRange:"Grouping",groupingPresetMinutes:"{{m}} min",groupingCustom:"Custom",groupingCustomMinutes:"Minutes",groupingCustomApply:"Apply",today:"Today",noCamerasFromConfig:"Cameras loaded from EventsApp config",all:"All",typesCount:"{{count}} types",camerasCount:"{{count}} cameras",cols:"cols",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"VideoClips API",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Person",detectionVehicle:"Vehicle",detectionAnimal:"Animal",detectionAudio:"Audio",detectionFace:"Face",detectionPlate:"Plate",detectionPackage:"Package",detectionDoorbell:"Doorbell",detectionSensor:"Sensor",detectionMotion:"Motion",detectionRules:"Rules",noScryptedIntegration:"Add a Scrypted integration in Settings to view events.",frigateNoEvents:"Events are only available for Scrypted. Select a Scrypted instance in Settings.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading events",noEvents:"No events for this date. Try changing the date or filters.",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear",columnsPerRow:"Columns per row",onlyWithClips:"Only with clips",relatedClip:"Related Clip"},videoclips:{loading:"Loading videoclips...",noCamerasFromConfig:"Cameras loaded from config",noScryptedIntegration:"Add a Scrypted integration in Settings to view videoclips.",noFrigateIntegration:"Select a Frigate integration in Settings to view videoclips.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading videoclips",noVideoclips:"No videoclips for this date. Try changing the date or filters.",openVideoclip:"Open videoclip",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear"},settings:{integrations:"Integrations",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Name",baseUrl:"Base URL",urlLocal:"Local URL",urlPublic:"Public URL",username:"Username",password:"Password",token:"Token (optional)",frigateTokenHint:"Token (optional): JWT from browser",tokenRequired:"Token",testConnection:"Test connection",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connection successful",connectionError:"Connection failed",scryptedCredentialsPromptTitle:"Scrypted login",scryptedCredentialsPromptSubtitle:"Enter your Scrypted username and password to connect.",scryptedCredentialsPromptSkip:"Skip for now",usernamePlaceholder:"admin",save:"Save",tabStream:"Stream & playback",tabGeneral:"General",data:"Data",clearCacheEventsClips:"Clear events & videoclips cache",eventsClipsSourceHint:"Source for Events and Videoclips tabs.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Choose which integrations to use for the reel.",reelScryptedSourceHint:"When using Scrypted: event source for reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Add a Scrypted or Frigate integration first.",exportBackup:"Export backup",exportError:"Export failed",importBackup:"Import backup",importConfirm:"This will replace all cameras, integrations and settings with the backup data. Continue?",importSuccess:"Backup restored successfully",importError:"Import failed",uiPrototypes:"UI Prototypes",uiPrototypesHint:"Explore experimental timeline designs",versions:"Versions",appVersion:"App",nativeVersion:"Native",updateNow:"Update now",updateError:"Update failed",updateAvailableTitle:"Update Available",updateAvailableMessage:"A new version of CamStack has been downloaded and is ready to install. The app will restart to apply the update.",updateInstall:"Install & Restart",updateLater:"Later",tabIntegrations:"Integrations",tabCameras:"Camera settings",theme:"Theme",themeSystem:"System",themeLight:"Light",themeDark:"Dark",language:"Language",languageSystem:"System",languageEn:"English",languageIt:"Italiano",timelineMode:"Timeline Mode",timelineModeClassic:"Classic",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Show detection timeline",timelineVisibleDescription:"Display the detection timeline panel in the camera view.",clusterSize:"Cluster card size",snapshotInterval:"Snapshot refresh interval",clusterSizeXS:"XS",clusterSizeS:"S",clusterSizeM:"M",clusterSizeL:"L",clusterSizeXL:"XL",highlightAppearance:"Highlight appearance",highlightAppearanceHint:"Color and border thickness for motion, audio, and detection highlights on camera streams.",highlightMotion:"Motion",highlightAudio:"Audio",highlightDetection:"Detection",highlightColor:"Color",highlightThickness:"Thickness",selectSection:"Select section",addSystem:"Add system",selectPlatform:"Select platform",deleteInstance:"Delete instance",deleteInstanceConfirm:"Are you sure you want to delete this instance?",delete:"Delete",mqttEvents:"MQTT - Real-time events",mqttBrokerUrl:"MQTT broker URL",mqttUsername:"MQTT username",mqttPassword:"MQTT password",mqttTopicPrefix:"Topic prefix (default: frigate)",mqttOptional:"Optional",scryptedAddressAlreadyUsed:"This Scrypted address is already configured. Only one instance per address is allowed.",scryptedAdvancedNotifierRequired:"The Advanced Notifier plugin is required for the connection.",scryptedCorsTitle:"CORS configuration required (Web)",scryptedCorsBody:"In Scrypted, open the Cloud plugin settings and add your domain ({{domain}}) to the CORS Allowed Origins list. Without this, the browser will block requests to your Scrypted server.",scryptedUrlHint:"Local URL is tried first (e.g. on LAN), then public URL. At least one required.",gridLayout:"Grid layout",gridLayoutHint:"Display options for the cameras grid.",gridColumns:"Grid columns",gridColumnsHint:"Number of cameras per row. Auto = 1 on mobile, 4 on tablet.",gridShowName:"Show camera name",gridShowState:"Show state (battery, recording, sleeping)",reorderCameras:"Reorder cameras",reorderCamerasHint:"Drag to reorder cameras",reorderDone:"Done",manageCameras:"Manage cameras",manageCamerasHint:"Remove cameras from the app.",downloadSnapshot:"Download snapshot",snapshotFailed:"Could not fetch snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Download clip",exportStartRecording:"Start recording",exportStopRecording:"Stop recording",exportRecordingWebOnly:"Recording available on web",intercomError:"Intercom unavailable. Check camera credentials in Scrypted.",deleteCamera:"Remove camera",deleteCameraConfirm:"Remove {{name}} from the app?",streamPlayback:"Stream & playback",playOnOpen:"Start stream when opening camera",playOnOpenHint:"Automatically load the live stream when you open a camera.",audioOnOpen:"Unmute audio when opening",audioOnOpenHint:"Play audio when opening a camera (if supported).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Restart stream when no data received (helps with stalled connections).",cameraPlayer:"Camera player",webViewCameraDetail:"Use WebView player",webViewCameraDetailHint:"Use WebView for Scrypted cameras (faster first frame, more stable). PiP, fullscreen and intercom work. Default: native player.",streamQuality:"Stream quality",streamQualitySingle:"Single camera quality",streamQualityGrid:"Grid quality",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Associated devices",associatedDevicesHint:"Add actuators (lights, switches, covers, etc.) to control from the camera view.",linkedDevices:"Linked",reorderHint:"Use arrows to reorder",addDevice:"Add device",noEligibleDevices:"No Scrypted or Home Assistant configured. Add an integration first.",configureDevices:"Configure devices",cameraSettingsHint:"Choose a camera to configure its specific options.",noCamerasConfigured:"No cameras configured.",searchDevices:"Search devices...",source:"Source",type:"Type",all:"All",noMatchingDevices:"No devices match the filters.",frigateStream:"Frigate Stream",frigateStreamSourceHint:"Stream source: WebRTC (default), RTSP, or MJPEG.",frigateStreamMapping:"Stream mapping (go2rtc names from config)",frigateStreamMappingHint:"Select from available go2rtc streams. Order: Main, Sub, Low.",frigateSelectStream:"Select stream",frigateAddStream:"Add stream",frigateInfo:"Camera info",frigateShowConfig:"Show config",frigateShowGo2rtc:"Show go2rtc",frigateMissingConfig:"Missing baseUrl or cameraName in camera config.",tabLogs:"Logs",logsCount:"{{count}} entries",logsDownload:"Download",logsClear:"Clear",logsEmpty:"No logs yet. Console output will appear here.",logsExportError:"Export failed",logsExportTitle:"Export logs",logsClearConfirmTitle:"Clear logs",logsClearConfirmMessage:"Remove all log entries?",hubAppearanceTitle:"Appearance",hubAppearanceDesc:"Theme, language, timeline and highlights",hubCamerasTitle:"Cameras",hubCamerasDesc:"Grid layout, stream quality and camera management",hubIntegrationsTitle:"Integrations",hubIntegrationsDesc:"Manage Scrypted, Frigate and other systems",hubAdvancedTitle:"Advanced",hubAdvancedDesc:"Data backup and cache management",hubLogsTitle:"Logs",hubLogsDesc:"View and export application logs",hubCacheTitle:"Cache",frigateAutoSnap:"Auto Snapshot",frigateSegmentNav:"Segment Navigation",frigateShowGo:"Show Go2RTC",frigateTimeline:"Timeline",reelCameras:"Reel Cameras",reelCamerasHint:"Select which cameras appear in the events reel",reelDeselectAll:"Deselect All",reelDetectionClasses:"Detection Classes",reelDetectionClassesHint:"Filter events by detection class",reelIncludeRuleArtifacts:"Include Rule Artifacts",reelIncludeRuleArtifactsHint:"Show rule-based events in the reel",reelRuleArtifacts:"Rule Artifacts",reelSelectAll:"Select All",reelBadgeContent:"Badge content",reelBadgePosition:"Badge position",reelBadgeSize:"Badge size",reelBadgeBoth:"Time + Class",reelBadgeTime:"Time only",reelBadgeClass:"Class only",reelBadgeNone:"Hidden",reelBadgeSmall:"Small",reelBadgeMedium:"Medium",reelBadgeLarge:"Large"},reel:{filterMotion:"Motion",filterOnlyRules:"Only rules",filterOnlySensors:"Only sensors",goToMostRecent:"Go to most recent"},v2:{common:{connecting:"Connecting\u2026",online:"Online",offline:"Offline",loadError:"Loading error",create:"Create"},cameras:{empty:"No cameras",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"Sleeping",unavailable:"Unavailable",motion:"Motion",doorbell:"Doorbell",doorbellRinging:"Ringing",doorbellLastRing:"Ring {{time}} ago",snapshotLoading:"Loading\u2026",manage:"Manage cameras",manageHint:"Drag to reorder. Rename inline. Toggle to show or hide a camera from the list.",reorderHandle:"Drag to reorder",appearance:"Appearance",editList:"Edit list",listOptions:"Camera list options"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Mute",unmute:"Unmute",snapshot:"Snapshot",snapshotFailed:"Could not capture a snapshot.",ptz:"PTZ controls",talk:"Talk",fullscreen:"Fullscreen",talkFailed:"Could not start talk-back. Check microphone access.",pip:"Picture in Picture",exitFullscreen:"Exit fullscreen",devices:"Devices",devicesEmpty:"No connected devices.",linkedModeAuto:"Link: Auto (same location)",linkedModeManual:"Link: Manual",motionBoxes:"Motion boxes",close:"Close",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Create grid",empty:"No grids",emptyHint:"Tap + to create your first grid",countNone:"No cameras",countOne:"1 camera",countOther:"{{count}} cameras",defaultName:"New grid",deleteTitle:"Delete grid",deleteConfirm:"Delete \"{{name}}\"? This cannot be undone.",export:"Export",exportAllA11y:"Export all grids",shareA11y:"Share grid",editA11y:"Edit grid",deleteA11y:"Delete grid",linkCopied:"Grid link copied to clipboard",layoutAuto:"Auto",layoutColumns:"{{count}} cols"},gridView:{editA11y:"Edit grid",fallbackTitle:"Grid",notFound:"Grid not found",emptyGrid:"This grid is empty",addCameras:"Add cameras",reorderTitle:"Reorder cameras",reorderA11y:"Reorder cameras",reorderDoneA11y:"Done reordering",allHidden:"All cameras are hidden. Use reorder mode to show some.",dragA11y:"Drag to reorder",hideA11y:"Hide from grid",showA11y:"Show in grid",removeA11y:"Remove from grid",adhocTitle:"Quick grid"},gridBuilder:{title:"Edit grid",nameLabel:"Name",namePlaceholder:"Grid name",camerasSelected:"Cameras ({{count}} selected)",optionsTitle:"Options",showName:"Show camera name",export:"Export grid",orderSection:"In the grid",orderHint:"Drag to reorder",emptyOrder:"No cameras yet \u2014 add some below.",addSection:"Add cameras",removeA11y:"Remove from grid",addA11y:"Add to grid",highlightTitle:"Highlight",highlightMotion:"On motion",highlightAudio:"On audio",highlightAudioOff:"Off",highlightAudioSensor:"Presence",highlightAudioLevel:"Level",highlightThreshold:"Threshold",highlightHold:"Hold",highlightDetection:"On detection",clusterLabel:"Cluster label",clusterLabelIcon:"Icon",clusterLabelText:"Text"},gridBar:{back:"Back",pauseAll:"Pause all",playAll:"Play all",audio:"Audio",quality:"Stream quality",layout:"Layout",highlightMenu:"Highlight & overlays",activeOnly:"Active only",share:"Share grid",edit:"Edit grid",hide:"Hide controls",show:"Show controls",muteAll:"Mute all",unmuteAll:"Unmute all"},gridMenu:{highlightMaster:"Highlight borders"},gridShare:{title:"Share \"{{name}}\"",quality:"Stream quality",layout:"Layout",showNames:"Show camera names",activeOnly:"Active cameras only",boxes:"Bounding boxes",highlightEnable:"Highlight",audioSummary:"Audio starts on for {{count}} camera(s)",ttlTitle:"Link expires",ttl_1d:"1 day",ttl_7d:"7 days",ttl_30d:"30 days",ttl_never:"Forever",tokenNotice:"The link includes a view-only access token limited to these cameras. Anyone with the link can watch until it expires or is revoked.",copyLink:"Copy link",creating:"Creating link\u2026",copiedExpires:"Link copied \u2014 expires {{date}}",copiedNever:"Link copied \u2014 never expires",error:"Could not create the share link. Check the connection and try again.",optionAuto:"Auto",optionHigh:"High",optionMedium:"Mid",optionLow:"Low"},gridControls:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",quality:"Quality",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Events \u2014 coming soon",searchLabel:"Search label\u2026",empty:"No events",today:"Today",filteredEmpty:"No matches in the loaded range",loadOlder:"Load older",selectPrompt:"Select an event to see its detail",filters:"Filters",all:"All",day:"Day",sort:"Sort",sortTime:"Newest",sortImportance:"Importance",cameras:"Cameras",classes:"Classes",search:"Search",searchCameras:"Search cameras\u2026",searchClasses:"Search classes\u2026",allCamerasHint:"None = all",allClassesHint:"None = all",done:"Done",density:"Density",selectHint:"Select an event",eventKinds:"Event types",displayOptions:"Display",displayTitle:"Display options"},settings:{themeSystem:"System",themeDark:"Dark",themeLight:"Light",server:"Server",hubActive:"Active hub",changeServer:"Change server",signOut:"Sign out",network:"Network",networkNone:"No routes probed yet",endpointUnlikely:"Unlikely usable",reprobe:"Re-probe routes",reprobing:"Probing\u2026",appearance:"Appearance",theme:"Theme",info:"Info",app:"App",version:"Version",noServer:"No server",footerNote:"CamStack Viewer connects to a single camstack hub. Cameras, grids and events are managed by the server.",language:"Language",langSystem:"System",gridDefaults:"Grid defaults",showName:"Show camera name",showNameHint:"Overlay the camera name on each tile",showState:"Show status badge",showStateHint:"Show online / recording state on each tile",columns:"Columns",cameraOrder:"Camera order",orderName:"By name",orderCustom:"Custom",motionHold:"Motion highlight linger",motionHoldHint:"Keep a tile's motion highlight lit this long after motion stops.",motionHoldOff:"Off",streamQuality:"Stream quality",streamDefaults:"Stream defaults",playOnOpen:"Play on open",playOnOpenHint:"Start the live stream when a camera opens",audioOnOpen:"Audio on open",audioOnOpenHint:"Unmute audio when a camera opens",snapshotInterval:"Snapshot refresh",highlightAppearance:"Highlight appearance",highlightMotionColor:"Motion color",highlightAudioColor:"Audio color",highlightDetectionColor:"Detection color",highlightThickness:"Border thickness",qualityAuto:"Auto",qualityHigh:"High",qualityMid:"Medium",qualityLow:"Low",secondsValue:"{{count}}s",advanced:"Advanced",clearCache:"Clear cache",clearCacheHint:"Free up snapshots and cached data (keeps your server and settings)",clearCacheConfirmTitle:"Clear cache?",clearCacheConfirmBody:"This removes cached images and query data. Your server, sign-in and settings are kept.",clearCacheDone:"Cache cleared",exportSettings:"Export settings",exportSettingsHint:"Copy your settings as JSON",exportSettingsDone:"Settings copied as JSON",viewLogs:"View logs",viewLogsHint:"Recent in-app log messages",logsEmpty:"No logs recorded yet",keepLogs:"Keep logs",keepLogsHint:"Record a rolling buffer of in-app log messages",debugMode:"Debug mode",debugModeHint:"Verbose logs across live, playback and scrub \u2014 sent to the server",logsClear:"Clear",resetSettings:"Reset settings",resetSettingsHint:"Restore all defaults",resetConfirmTitle:"Reset settings?",resetConfirmBody:"This restores all settings to their defaults.",cancel:"Cancel",confirm:"Confirm",timeline:"Timeline & highlights",reel:"Event reel",reelThumbSize:"Reel thumbnail size",reelThumbSizeHint:"Size of the tiles in the Recent events reel.",reelSizeSmall:"Small",reelSizeMedium:"Medium",reelSizeLarge:"Large",reelShowLabels:"Show labels",reelShowLabelsHint:"Show the class/identity label on reel items.",reelLabelStyle:"Class display",reelLabelStyleHint:"Show the detection class as an icon or as text on reel items.",reelShowImportance:"Show importance",reelShowImportanceHint:"Show the importance badge on reel items.",events:"Events",eventsPage:"Events page",minImportance:"Minimum importance",minImportanceHint:"Hide events scored below this across the events page and the camera timeline.",minImportanceOff:"Off",tileShowLabels:"Show labels",tileShowLabelsHint:"Show the class / identity / audio labels on event cards.",tileShowImportance:"Show importance",tileShowImportanceHint:"Show the importance badge on event cards (when scored).",tileShowCameraName:"Show camera name",tileShowCameraNameHint:"Show the camera name in the event card footer.",tileLabelStyle:"Class display",tileLabelStyleHint:"Show the detection class as an icon or as text.",tileLabelStyleIcon:"Icon",tileLabelStyleText:"Text",comingSoon:"Coming soon",cameras:"Cameras",manageCameras:"Manage cameras",manageCamerasHint:"Rename, hide, reorder",pinchExpandsHeight:"Pinch enlarges the view",pinchExpandsHeightHint:"Pinching to zoom also grows the video taller (crops the side edges on 16:9 cameras).","timeline.gapPercent":"Cluster gap (%)","timeline.sizePercent":"Cluster size (%)","timeline.indicatorPositionPct":"Indicator position (%)","timeline.showImportance":"Show importance on items","timeline.showClass":"Show detection class on items","timeline.cardWidthPct":"Card width (%)",haptics:"Event haptics",hapticsEnabled:"Vibrate on events",hapticsEnabledHint:"Small vibration pulses for key events on the camera you're watching. Native only (iOS/Android).",hapticsMotion:"Motion",hapticsDetection:"Detection",hapticsPerson:"Person / recognized"},login:{loginFailed:"Login failed",verifyFailed:"Verification failed",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Show password",hidePassword:"Hide password",signIn:"Sign in",signingIn:"Signing in\u2026",twoFactor:"Two-factor authentication",totpHint:"Enter the 6-digit code from your authenticator app to sign in as ",verificationCode:"Verification code",verifyAndSignIn:"Verify and sign in",verifying:"Verifying\u2026",back:"Back",or:"or",signInWithCamStack:"Sign in with CamStack",hubSignInHint:"Opens your hub\u2019s login page and links this app without typing your password here.",handoffFailed:"Sign-in with CamStack failed \u2014 try again or use username and password",invalidServerUrl:"Enter a valid server URL (https://\u2026) first"},live:{webUnsupported:"Live view is not available on the web version yet.",connecting:"Connecting to live stream\u2026",error:"Unable to load the live stream.",retry:"Retry",noConnection:"No connection to the server",failed:"Connection failed"},ptz:{title:"PTZ",notAvailable:"PTZ controls are not available for this camera.",zoom:"Zoom",home:"Home position",presets:"Presets",noPresets:"No presets saved."},timeline:{activityTitle:"Activity",last24h:"Last 24h",loading:"Loading activity\u2026",noActivity:"No activity in the last 24 hours.",legendRecording:"Recorded",legendMotion:"Motion",legendAudio:"Audio"},theater:{back:"Back",today:"Today",yesterday:"Yesterday",selectDate:"Pick a date",live:"LIVE",now:"NOW",auto:"Auto",quality:"Stream quality",filterAll:"All",filter_motion:"Motion",filter_audio:"Audio",goToLive:"Go to live",noRecording:"No recording",noRecordingHint:"No footage at this time",detailCount:"{{frames}} frames \xb7 {{count}} detections",detailTracks:"{{tracks}} tracks \xb7 {{count}} detections",detailEmpty:"No detail images for this moment",detailSeek:"Go to this moment",zoneHint:"Drag a rectangle over the video to filter events by zone",zoneConfirm:"Confirm",zoneCancel:"Cancel"},mediaKind:{crop:"Object crop",thumbnail:"Best shot",faceCrop:"Face",plateCrop:"Plate",fullFrame:"Frame",fullFrameBoxed:"Boxed",keyFrame:"Key frame",firstFrame:"First",lastFrame:"Last",snapshot:"Snapshot"},tracks:{crop:"Crop",fullFrame:"Full frame",zones:"Zones",audio:"Audio",reason:"Why notable",empty:"No tracks",recent:"Recent",searchPlaceholder:"Search events (e.g. \"person in red\")",noMatches:"No matching events",person:"Person",assignPerson:"Assign to person",changePerson:"Change",notAssigned:"Not assigned",assignFaceTitle:"Assign face",newPersonPlaceholder:"New person name\u2026",createAndAssign:"Create & assign",assignFailed:"Couldn't assign the face",removePerson:"Remove person",removePersonConfirmTitle:"Remove person?",removePersonConfirmBody:"This unlinks the person from this face. The face returns to the unassigned buffer and can be reassigned later.",disassociateFailed:"Couldn't remove the person",removePersonAll:"Remove from all events",removePersonAllConfirmTitle:"Remove from all events?",removePersonAllConfirmBody:"This unlinks this person from EVERY event. All faces currently recognized as this person return to the unassigned buffer and can be reassigned later. The person is kept.",disassociateAllFailed:"Couldn't remove the person from all events",existingPersons:"People",noPersons:"No people yet",metadata:"Metadata",copy:"Copy",copied:"Copied","meta.trackId":"Track ID","meta.eventId":"Best event ID","meta.deviceId":"Device ID","meta.camera":"Camera","meta.className":"Class","meta.label":"Label","meta.firstSeen":"First seen","meta.lastSeen":"Last seen","meta.state":"State","meta.importance":"Importance","meta.confidence":"Confidence","meta.mediaKeys":"Media keys"},accessories:{on:"On",off:"Off",dimUp:"Brighter",dimDown:"Dimmer",lock:"Lock",unlock:"Unlock",open:"Open",close:"Close",stop:"Stop",arm:"Arm",disarm:"Disarm",onMotion:"On motion",warmer:"Warmer",cooler:"Cooler",speedUp:"Faster",speedDown:"Slower",oscillate:"Oscillate",press:"Press",play:"Play",pause:"Pause",previous:"Previous",next:"Next",start:"Start",dock:"Dock",locate:"Locate",feed:"Feed",feeding:"Feeding\u2026",install:"Install",installing:"Installing\u2026",upToDate:"Up to date",increase:"Increase",decrease:"Decrease",select:"Select",climateModes:{off:"Off",heat:"Heat",cool:"Cool",auto:"Auto",heat_cool:"Heat/Cool",fan_only:"Fan",dry:"Dry"}},cameraMenu:{title:"View options",boundingBoxes:"Bounding boxes",streamStats:"Stream stats",audioLevel:"Audio level",audioPositions:{off:"Off","top-left":"Top left","top-center":"Top center","top-right":"Top right","left-center":"Left center","right-center":"Right center","bottom-left":"Bottom left","bottom-center":"Bottom center","bottom-right":"Bottom right"},densityTitle:"Timeline density",density_compact:"Compact",density_medium:"Medium",density_wide:"Wide",densityCustom:"Custom",showImportance:"Show importance",showClass:"Show detection class",managementTitle:"Management"},stats:{title:"Stream stats",resolution:"Resolution",fps:"FPS",bitrate:"Bitrate",packetLoss:"Packet loss",jitter:"Jitter",codec:"Codec",frames:"Frames (dropped/total)",waiting:"Measuring\u2026",playbackHint:"Full WebRTC stats need the native player."},exportActions:{title:"Capture",recordingExport:"Recording export"},exports:{title:"Exports",empty:"No exports yet.",settingsHint:"Download recorded clips",range:"Range",rangeStart:"Start",rangeEnd:"End",profile:"Profile",noFootage:"No footage in this range.",speed:"Speed",timelapse:"Timelapse",cadence:"Frame every",audio:"Audio",includeAudio:"Include audio",audioUnavailable:"Audio is only available at 0.5\u20132\xd7 speed.",retention:"Keep for",life24h:"24 hours",life7d:"7 days",life30d:"30 days",deleteAfterDownload:"Delete after download",deleteAfterDownloadHint:"Remove the file once downloaded.",creating:"Creating\u2026",createAction:"Export",createFailed:"Could not create the export.",withAudio:"with audio",variantRegular:"1\xd7",variantAccelerated:"Accelerated {{speed}}\xd7",variantSlow:"Slow {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Expired",expiresInDays:"Expires in {{count}}d",expiresInHours:"Expires in {{count}}h",expiresInMinutes:"Expires in {{count}}m",downloadAction:"Download",downloadUnavailable:"Download not available.",downloadFailed:"Download failed.",cancelAction:"Cancel",cancelConfirmTitle:"Cancel export?",cancelConfirmBody:"This stops rendering and discards the partial file.",deleteAction:"Delete",deleteConfirmTitle:"Delete export?",deleteConfirmBody:"This removes the file. The history entry is kept.",dismiss:"Dismiss",state:{queued:"Queued",rendering:"Rendering",ready:"Ready",failed:"Failed",expired:"Expired",deleted:"Deleted"}},streamBar:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",talkStart:"Start talking",talkStop:"Stop talking",quality:"Stream quality",menu:"View options",snapshot:"Snapshot",pip:"Picture in picture",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen"},playback:{prevFrame:"Previous frame",nextFrame:"Next frame",speed:"Playback speed",audioMuted:"Audio off at \u2260 1\xd7",audioOn:"Audio on"},cameraSwitcher:{title:"Switch camera",empty:"No cameras available",openGrid:"Open grid ({{n}})",selectA11y:"Select {{name}}"},storage:{title:"Storage",usageTitle:"Usage",nodeTotal:"Node total",defaultLocation:"Default location",locationFree:"{{free}} free",retentionTitle:"Retention",pruneAction:"Apply retention now",pruneConfirmTitle:"Apply retention?",pruneConfirmBody:"Delete footage on {{name}} that exceeds its retention policy.",pruneResult:"Reclaimed {{bytes}} ({{buckets}} segments).",deleteTitle:"Delete footage",deleteAction:"Delete",deleteConfirmTitle:"Delete footage?",deleteConfirmBody:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",deleteResult:"Reclaimed {{bytes}} ({{buckets}} segments).",cancel:"Cancel",window24h:"Last 24h",window7d:"Last 7 days",window30d:"Last 30 days",windowAll:"Everything"},eventsMgmt:{title:"Events",footprintTitle:"Footprint",rowsBytes:"{{rows}} events \xb7 {{bytes}}",clusterTotal:"Cluster total",pruneTitle:"Prune older than",pruneHint:"Applies to all cameras.",pruneAction:"Prune",pruneConfirmTitle:"Prune old events?",pruneConfirmBody:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",pruneResult:"Deleted {{count}} events.",deleteTitle:"Delete camera events",deleteAction:"Delete all events for this camera",deleteConfirmTitle:"Delete all events?",deleteConfirmBody:"Permanently delete every event for {{name}}. This cannot be undone.",deleteResult:"Deleted {{count}} events.",cancel:"Cancel",older24h:"24 hours",older7d:"7 days",older30d:"30 days"}},prototype:{today:"Today",yesterday:"Yesterday",now:"NOW",endOfDay:"END OF DAY",loading:"Loading...",timeline:"Timeline",events:"Events",playClip:"Play clip",goToNow:"NOW",noEvents:"No events"},eventKind:{motion:"Motion",audio:"Audio",person:"Person",vehicle:"Vehicle",animal:"Animal",package:"Package",sensor:"Sensor",control:"Control",car:"Car",truck:"Truck",bus:"Bus",motorcycle:"Motorcycle",bicycle:"Bicycle",airplane:"Airplane",boat:"Boat",train:"Train",bird:"Bird",cat:"Cat",dog:"Dog",horse:"Horse",sheep:"Sheep",cow:"Cow",elephant:"Elephant",bear:"Bear",zebra:"Zebra",giraffe:"Giraffe",contact:"Contact","motion-sensor":"Motion sensor",smoke:"Smoke",flood:"Water leak",gas:"Gas","carbon-monoxide":"Carbon monoxide",vibration:"Vibration",tamper:"Tamper",presence:"Presence","enum-sensor":"Sensor state","device-event":"Device event",lock:"Lock",switch:"Switch",siren:"Siren",button:"Button",doorbell:"Doorbell","package-delivered":"Package delivered","package-picked-up":"Package picked up","audio-speech":"Speech","audio-music":"Music","audio-dog":"Dog","audio-doorbell":"Doorbell","audio-siren":"Siren","audio-alarm":"Alarm"}}},3581,[]);
|
|
16003
|
+
__d(function(e,i,a,t,o,n,r){o.exports={devices:{editDevice:"Modifica dispositivo",originalName:"Nome originale",customName:"Nome personalizzato",customNamePlaceholder:"Lascia vuoto per usare l'originale",icon:"Icona",typeLight:"Luce",typeSwitch:"Interruttore",typeCover:"Tapparella",typeLock:"Serratura",typeAlarm:"Allarme",typeButton:"Pulsante",typeSelect:"Selezione",typeSiren:"Sirena",typeSensor:"Sensore",typeEntry:"Ingresso",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Esegui",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Muto",unmute:"Audio",stop:"Stop",locked:"Chiusa",unlocked:"Aperta",open:"Aperta",closed:"Chiusa",disarmed:"Disinserito",disarm:"Disinserisci"},common:{error:"Errore",save:"Salva",cancel:"Annulla",loading:"Caricamento...",comingSoon:"In arrivo",back:"Indietro",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",reset:"Reimposta",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",delete:"Elimina",retry:"Riprova"},grids:{newGrid:"Nuova griglia",deleteConfirm:"Eliminare questa griglia?",noGrids:"Nessuna griglia. Creane una per disporre le telecamere in vista mosaico.",createGrid:"Crea griglia",cameras:"telecamere",notFound:"Griglia non trovata.",noCameras:"Nessuna telecamera in questa griglia. Modifica per aggiungerne.",edit:"Modifica",addCamera:"Aggiungi telecamera",presets:"Preset",auto:"Auto",manual:"Manuale",gridName:"Nome griglia",view:"Visualizza",addCameraHint:"Aggiungi almeno una telecamera dal pulsante sopra.",allCamerasAdded:"Tutte le telecamere sono gi\xe0 in griglia",cameraUnavailable:"Telecamera non disponibile",camerasInGrid:"Telecamere nella griglia",addAll:"Aggiungi tutte",addCameras:"Aggiungi Telecamere",backToGrid:"Torna alla Griglia",timelineNotSupported:"Timeline non supportata"},nav:{cameras:"Telecamere",grids:"Griglie",events:"Eventi",videoclips:"Videoclip",list:"Lista",settings:"Impostazioni"},cameras:{addCamera:"Aggiungi telecamera",pipActive:"PiP attivo",reorderEnable:"Riordina",reorderDisable:"Sblocca",live:"Live",noCameras:"Nessuna telecamera configurata",noIntegrations:"Nessuna integrazione configurata. Aggiungi un sistema per iniziare.",createSystem:"Crea sistema",importFrom:"Importa telecamere da",importSuccess:"Importazione completata",importCount:"{{count}} telecamere importate",selectCamerasToImport:"Seleziona telecamere da importare",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",importSelected:"Importa {{count}} selezionate",noCamerasFound:"Nessuna telecamera trovata",play:"\u25b6 Riproduci",paused:"In pausa",noDataForDate:"Nessun dato per questa data",recordingNotAvailable:"Registrazione non disponibile",noEventsReel:"Nessun evento recente",settings:"Impostazioni",highlightMotion:"Evidenza movimento",highlightOnMotion:"Evidenzia al movimento",highlightAudio:"Evidenza audio",audioMode:"Modalit\xe0",audioModeOff:"Off",audioModeSensor:"Sensore",audioModeLevel:"Livello",audioPreset:"Preset audio",audioPresetCustom:"Personalizzato",audioPresetCrying:"Pianto / neonato",audioPresetAlarm:"Allarme / sirena",audioPresetDog:"Abbaio cane",audioPresetDoorbell:"Campanello / bussata",audioPresetGlass:"Rottura vetro",audioWindow:"Finestra (s)",audioThreshold:"Soglia (dB)",audioHitPercentage:"Percentuale (%)",audioHoldSeconds:"Mantenimento (s)",highlightDetection:"Evidenza rilevamento oggetti",highlightOnDetection:"Evidenzia al rilevamento",detectionClasses:"Classi",holdSeconds:"Mantenimento (s)",rtspNotSupportedWeb:"Gli stream RTSP non sono supportati sul web. Usa l'app mobile.",liveDetections:"Detections live",filterTimeline:"Filtra timeline",filterClasses:"Filtra classi...",filterBySeverity:"Filtra per severit\xe0",severityAlert:"Allarme",severityDetection:"Rilevamento",statusPosition:"Posizione indicatori di stato",today:"Oggi",yesterday:"Ieri",timeline:"Timeline",timelineEventsClusterEvents:"Eventi",selectDate:"Seleziona una data",videoclipsNotSupported:"Videoclip non supportati per questa telecamera",noVideoclipsForDate:"Nessun videoclip per questa data",endOfList:"Fine elenco",backToLive:"Torna al live",goLive:"Vai al live",loadingClip:"Caricamento clip...",clusterDetailShowBbox:"Mostra bounding box sull'immagine",clusterDetailOpenVideoclip:"Apri videoclip",clusterDetailLoadingEvents:"Caricamento eventi...",devices:"Dispositivi",noAssociatedDevices:"Nessun dispositivo collegato. Configura in Impostazioni > Telecamere.",timelineData:"Dati timeline",timelineDataHint:"Cosa mostrare sulla timeline.",timelineDataVideoclips:"Videoclip",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Eventi",timelineEvents:"Eventi timeline",timelineEventsHint:"Quali tipi di eventi mostrare sulla timeline, in base alla severit\xe0.",timelinePresetAll:"Tutti",timelinePresetImportant:"Importanti",timelinePresetCritical:"Critici",timelinePresetCustom:"Personalizzato",statusBlock:"Blocco stato",sensorsBlock:"Blocco sensori",position:"Posizione",indicators:"Indicatori",downloadSnapshot:"Scarica Istantanea",exportDownloadClip:"Scarica Clip",exportRecordingWebOnly:"Esporta registrazione (solo web)",exportSnapshot:"Esporta Istantanea",intercomError:"Errore interfono",multiCam:"Multi-Camera",ptzNotSupported:"PTZ non supportato",ptzSelectPreset:"Seleziona Preset PTZ",snapshotFailed:"Istantanea fallita"},events:{loading:"Caricamento eventi...",filterByLabel:"Filtra per etichetta",filterByLabelPlaceholder:"es. person, doorbell",filterByCamera:"Filtra per telecamera",date:"Data",detectionTypes:"Tipi di rilevamento",source:"Sorgente",cameras:"Telecamere",groupingRange:"Raggruppamento",groupingPresetMinutes:"{{m}} min",groupingCustom:"Personalizzato",groupingCustomMinutes:"Minuti",groupingCustomApply:"Applica",today:"Oggi",noCamerasFromConfig:"Telecamere caricate dalla config EventsApp",all:"Tutti",typesCount:"{{count}} tipi",camerasCount:"{{count}} telecamere",cols:"col",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"API VideoClips",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Persona",detectionVehicle:"Veicolo",detectionAnimal:"Animale",detectionAudio:"Audio",detectionFace:"Volto",detectionPlate:"Targa",detectionPackage:"Pacco",detectionDoorbell:"Campanello",detectionSensor:"Sensore",detectionMotion:"Motion",detectionRules:"Regole",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere gli eventi.",frigateNoEvents:"Gli eventi sono disponibili solo per Scrypted. Seleziona un'istanza Scrypted in Impostazioni.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento degli eventi",noEvents:"Nessun evento per questa data. Prova a cambiare data o filtri.",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota",columnsPerRow:"Colonne per riga",onlyWithClips:"Solo con clip",relatedClip:"Clip Correlata"},videoclips:{loading:"Caricamento videoclip...",noCamerasFromConfig:"Telecamere caricate dalla config",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere i videoclip.",noFrigateIntegration:"Seleziona un'integrazione Frigate in Impostazioni per vedere i videoclip.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento dei videoclip",noVideoclips:"Nessun videoclip per questa data. Prova a cambiare data o filtri.",openVideoclip:"Apri videoclip",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota"},settings:{integrations:"Integrazioni",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Nome",baseUrl:"URL base",urlLocal:"URL locale",urlPublic:"URL pubblico",username:"Username",password:"Password",token:"Token (opzionale)",frigateTokenHint:"Token (opzionale): JWT dal browser",tokenRequired:"Token",testConnection:"Test connessione",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connessione riuscita",connectionError:"Connessione fallita",scryptedCredentialsPromptTitle:"Accesso Scrypted",scryptedCredentialsPromptSubtitle:"Inserisci username e password Scrypted per connettere.",scryptedCredentialsPromptSkip:"Salta per ora",usernamePlaceholder:"admin",save:"Salva",tabStream:"Stream e riproduzione",tabGeneral:"Generale",data:"Dati",clearCacheEventsClips:"Svuota cache eventi e videoclip",eventsClipsSourceHint:"Sorgente per le schede Eventi e Videoclip.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Scegli quali integrazioni usare per il reel.",reelScryptedSourceHint:"Con Scrypted: sorgente eventi per il reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Aggiungi prima un'integrazione Scrypted o Frigate.",exportBackup:"Esporta backup",exportError:"Esportazione fallita",importBackup:"Importa backup",importConfirm:"Questo sostituir\xe0 tutte le telecamere, integrazioni e impostazioni con i dati del backup. Continuare?",importSuccess:"Backup ripristinato con successo",importError:"Importazione fallita",uiPrototypes:"Prototipi UI",uiPrototypesHint:"Esplora design sperimentali della timeline",versions:"Versioni",appVersion:"App",nativeVersion:"Nativa",updateNow:"Aggiorna ora",updateError:"Aggiornamento fallito",updateAvailableTitle:"Aggiornamento disponibile",updateAvailableMessage:"Una nuova versione di CamStack \xe8 stata scaricata ed \xe8 pronta per l'installazione. L'app verr\xe0 riavviata per applicare l'aggiornamento.",updateInstall:"Installa e riavvia",updateLater:"Pi\xf9 tardi",tabIntegrations:"Integrazioni",tabCameras:"Telecamere",theme:"Tema",themeSystem:"Sistema",themeLight:"Chiaro",themeDark:"Scuro",language:"Lingua",languageSystem:"Sistema",languageEn:"English",languageIt:"Italiano",timelineMode:"Modalit\xe0 timeline",timelineModeClassic:"Classica",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Mostra timeline rilevamenti",timelineVisibleDescription:"Visualizza il pannello della timeline nella vista telecamera.",clusterSize:"Dimensione cluster",snapshotInterval:"Intervallo aggiornamento snapshot",clusterSizeXS:"Molto piccola",clusterSizeS:"Piccola",clusterSizeM:"Normale",clusterSizeL:"Grande",clusterSizeXL:"Molto grande",highlightAppearance:"Aspetto evidenze",highlightAppearanceHint:"Colore e spessore del bordo per evidenze movimento, audio e rilevamento sugli stream delle telecamere.",highlightMotion:"Movimento",highlightAudio:"Audio",highlightDetection:"Rilevamento",highlightColor:"Colore",highlightThickness:"Spessore",selectSection:"Seleziona sezione",addSystem:"Aggiungi sistema",selectPlatform:"Seleziona piattaforma",deleteInstance:"Elimina istanza",deleteInstanceConfirm:"Vuoi eliminare questa istanza?",delete:"Elimina",mqttEvents:"MQTT - Eventi in tempo reale",mqttBrokerUrl:"URL broker MQTT",mqttUsername:"Username MQTT",mqttPassword:"Password MQTT",mqttTopicPrefix:"Prefisso topic (default: frigate)",mqttOptional:"Opzionale",scryptedAddressAlreadyUsed:"Questo indirizzo Scrypted \xe8 gi\xe0 configurato. \xc8 consentita una sola istanza per indirizzo.",scryptedAdvancedNotifierRequired:"Il plugin Advanced Notifier \xe8 richiesto per la connessione.",scryptedCorsTitle:"Configurazione CORS richiesta (Web)",scryptedCorsBody:"In Scrypted, apri le impostazioni del plugin Cloud e aggiungi il tuo dominio ({{domain}}) alla lista CORS Allowed Origins. Senza questa configurazione, il browser bloccher\xe0 le richieste verso il server Scrypted.",scryptedUrlHint:"L'URL locale viene provato per primo (es. in LAN), poi quello pubblico. Ne serve almeno uno.",gridLayout:"Layout griglia",gridLayoutHint:"Opzioni di visualizzazione per la griglia telecamere.",gridColumns:"Colonne griglia",gridColumnsHint:"Numero di telecamere per riga. Auto = 1 su mobile, 4 su tablet.",gridShowName:"Mostra nome telecamera",gridShowState:"Mostra stato (batteria, registrazione, sleep)",reorderCameras:"Riordina telecamere",reorderCamerasHint:"Trascina per riordinare le telecamere",reorderDone:"Fatto",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rimuovi telecamere dall'app.",downloadSnapshot:"Scarica snapshot",snapshotFailed:"Impossibile recuperare lo snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Scarica clip",exportStartRecording:"Avvia registrazione",exportStopRecording:"Ferma registrazione",exportRecordingWebOnly:"Registrazione disponibile su web",intercomError:"Intercom non disponibile. Verifica le credenziali della telecamera su Scrypted.",deleteCamera:"Rimuovi telecamera",deleteCameraConfirm:"Rimuovere {{name}} dall'app?",streamPlayback:"Stream e riproduzione",playOnOpen:"Avvia stream all'apertura telecamera",playOnOpenHint:"Carica automaticamente lo stream live quando apri una telecamera.",audioOnOpen:"Audio attivo all'apertura",audioOnOpenHint:"Riproduci audio quando apri una telecamera (se supportato).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Riavvia lo stream quando non arrivano dati (aiuta con connessioni bloccate).",cameraPlayer:"Player telecamera",webViewCameraDetail:"Usa player WebView",webViewCameraDetailHint:"Usa WebView per le telecamere Scrypted (primo frame pi\xf9 veloce, pi\xf9 stabile). PiP, fullscreen e intercom funzionano. Default: player nativo.",streamQuality:"Qualit\xe0 stream",streamQualitySingle:"Qualit\xe0 singola telecamera",streamQualityGrid:"Qualit\xe0 griglia",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Dispositivi associati",associatedDevicesHint:"Aggiungi attuatori (luci, interruttori, tapparelle, ecc.) per controllarli dalla vista telecamera.",linkedDevices:"Collegati",reorderHint:"Usa le frecce per riordinare",addDevice:"Aggiungi dispositivo",noEligibleDevices:"Nessun Scrypted o Home Assistant configurato. Aggiungi prima un'integrazione.",configureDevices:"Configura dispositivi",cameraSettingsHint:"Scegli una telecamera per configurarne le opzioni.",noCamerasConfigured:"Nessuna telecamera configurata.",searchDevices:"Cerca dispositivi...",source:"Sorgente",type:"Tipo",all:"Tutti",noMatchingDevices:"Nessun dispositivo corrisponde ai filtri.",frigateStream:"Stream Frigate",frigateStreamSourceHint:"Sorgente stream: WebRTC (default), RTSP o MJPEG.",frigateStreamMapping:"Mappatura stream (nomi go2rtc da config)",frigateStreamMappingHint:"Seleziona dagli stream go2rtc disponibili. Ordine: High, Mid, Sub.",frigateSelectStream:"Seleziona stream",frigateAddStream:"Aggiungi stream",frigateInfo:"Info telecamera",frigateShowConfig:"Mostra config",frigateShowGo2rtc:"Mostra go2rtc",frigateMissingConfig:"Mancano baseUrl o cameraName nella config della telecamera.",tabLogs:"Log",logsCount:"{{count}} voci",logsDownload:"Scarica",logsClear:"Svuota",logsEmpty:"Nessun log. L'output della console apparir\xe0 qui.",logsExportError:"Esportazione fallita",logsExportTitle:"Esporta log",logsClearConfirmTitle:"Svuota log",logsClearConfirmMessage:"Rimuovere tutte le voci di log?",hubAppearanceTitle:"Aspetto",hubAppearanceDesc:"Tema, lingua, timeline e evidenze",hubCamerasTitle:"Telecamere",hubCamerasDesc:"Layout griglia, qualit\xe0 stream e gestione telecamere",hubIntegrationsTitle:"Integrazioni",hubIntegrationsDesc:"Gestisci Scrypted, Frigate e altri sistemi",hubAdvancedTitle:"Avanzato",hubAdvancedDesc:"Backup dati e gestione cache",hubLogsTitle:"Log",hubLogsDesc:"Visualizza ed esporta i log dell'applicazione",hubCacheTitle:"Cache",frigateAutoSnap:"Istantanea Automatica",frigateSegmentNav:"Navigazione Segmenti",frigateShowGo:"Mostra Go2RTC",frigateTimeline:"Timeline",reelCameras:"Telecamere Reel",reelCamerasHint:"Seleziona quali telecamere appaiono nel reel eventi",reelDeselectAll:"Deseleziona Tutto",reelDetectionClasses:"Classi di Rilevamento",reelDetectionClassesHint:"Filtra gli eventi per classe di rilevamento",reelIncludeRuleArtifacts:"Includi Artefatti Regole",reelIncludeRuleArtifactsHint:"Mostra gli eventi basati su regole nel reel",reelRuleArtifacts:"Artefatti Regole",reelSelectAll:"Seleziona Tutto",reelBadgeContent:"Contenuto badge",reelBadgePosition:"Posizione badge",reelBadgeSize:"Dimensione badge",reelBadgeBoth:"Ora + Classe",reelBadgeTime:"Solo ora",reelBadgeClass:"Solo classe",reelBadgeNone:"Nascosto",reelBadgeSmall:"Piccolo",reelBadgeMedium:"Medio",reelBadgeLarge:"Grande"},reel:{filterMotion:"Motion",filterOnlyRules:"Solo rule",filterOnlySensors:"Solo sensori",goToMostRecent:"Vai al pi\xf9 recente"},v2:{common:{connecting:"Connessione\u2026",online:"Online",offline:"Offline",loadError:"Errore di caricamento",create:"Crea"},cameras:{empty:"Nessuna telecamera",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"In standby",unavailable:"Non disponibile",motion:"Movimento",doorbell:"Campanello",doorbellRinging:"Sta suonando",doorbellLastRing:"Suonato {{time}} fa",snapshotLoading:"Caricamento\u2026",manage:"Gestisci telecamere",manageHint:"Trascina per riordinare. Rinomina al volo. Usa lo switch per mostrare o nascondere una telecamera dall\u2019elenco.",reorderHandle:"Trascina per riordinare",appearance:"Aspetto",editList:"Modifica elenco",listOptions:"Opzioni elenco telecamere"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Disattiva audio",unmute:"Attiva audio",snapshot:"Istantanea",snapshotFailed:"Impossibile acquisire l'istantanea.",ptz:"Controlli PTZ",talk:"Parla",fullscreen:"Schermo intero",talkFailed:"Impossibile avviare la comunicazione. Verifica l'accesso al microfono.",pip:"Picture in Picture",exitFullscreen:"Esci da schermo intero",devices:"Dispositivi",devicesEmpty:"Nessun dispositivo collegato.",linkedModeAuto:"Collegamento: Auto (posizione)",linkedModeManual:"Collegamento: Manuale",motionBoxes:"Riquadri movimento",close:"Chiudi",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Crea griglia",empty:"Nessuna griglia",emptyHint:"Tocca + per creare la tua prima griglia",countNone:"Nessuna telecamera",countOne:"1 telecamera",countOther:"{{count}} telecamere",defaultName:"Nuova griglia",deleteTitle:"Elimina griglia",deleteConfirm:"Eliminare \"{{name}}\"? L'operazione non \xe8 reversibile.",export:"Esporta",exportAllA11y:"Esporta tutte le griglie",shareA11y:"Condividi griglia",editA11y:"Modifica griglia",deleteA11y:"Elimina griglia",linkCopied:"Link della griglia copiato negli appunti",layoutAuto:"Auto",layoutColumns:"{{count}} col"},gridView:{editA11y:"Modifica griglia",fallbackTitle:"Griglia",notFound:"Griglia non trovata",emptyGrid:"Questa griglia \xe8 vuota",addCameras:"Aggiungi telecamere",reorderTitle:"Riordina telecamere",reorderA11y:"Riordina telecamere",reorderDoneA11y:"Fine riordino",allHidden:"Tutte le telecamere sono nascoste. Usa la modalit\xe0 riordino per mostrarne alcune.",dragA11y:"Trascina per riordinare",hideA11y:"Nascondi dalla griglia",showA11y:"Mostra nella griglia",removeA11y:"Rimuovi dalla griglia",adhocTitle:"Griglia rapida"},gridBuilder:{title:"Modifica griglia",nameLabel:"Nome",namePlaceholder:"Nome griglia",camerasSelected:"Telecamere ({{count}} selezionate)",optionsTitle:"Opzioni",showName:"Mostra nome telecamera",export:"Esporta griglia",orderSection:"Nella griglia",orderHint:"Trascina per riordinare",emptyOrder:"Nessuna telecamera \u2014 aggiungine qui sotto.",addSection:"Aggiungi telecamere",removeA11y:"Rimuovi dalla griglia",addA11y:"Aggiungi alla griglia",highlightTitle:"Evidenziazione",highlightMotion:"Su movimento",highlightAudio:"Su audio",highlightAudioOff:"Off",highlightAudioSensor:"Presenza",highlightAudioLevel:"Livello",highlightThreshold:"Soglia",highlightHold:"Mantieni",highlightDetection:"Su rilevamento",clusterLabel:"Etichetta cluster",clusterLabelIcon:"Icona",clusterLabelText:"Testo"},gridBar:{back:"Indietro",pauseAll:"Metti tutto in pausa",playAll:"Riproduci tutto",audio:"Audio",quality:"Qualit\xe0 stream",layout:"Layout",highlightMenu:"Evidenziazione e overlay",activeOnly:"Solo attive",share:"Condividi griglia",edit:"Modifica griglia",hide:"Nascondi controlli",show:"Mostra controlli",muteAll:"Silenzia tutte",unmuteAll:"Riattiva audio"},gridMenu:{highlightMaster:"Bordi di evidenziazione"},gridShare:{title:"Condividi \"{{name}}\"",quality:"Qualit\xe0 stream",layout:"Layout",showNames:"Mostra nomi delle camere",activeOnly:"Solo camere attive",boxes:"Bounding box",highlightEnable:"Evidenziazione",audioSummary:"Audio attivo all\u2019apertura per {{count}} camera/e",ttlTitle:"Scadenza del link",ttl_1d:"1 giorno",ttl_7d:"7 giorni",ttl_30d:"30 giorni",ttl_never:"Per sempre",tokenNotice:"Il link include un token di sola visualizzazione limitato a queste camere. Chiunque abbia il link pu\xf2 guardare finch\xe9 non scade o viene revocato.",copyLink:"Copia link",creating:"Creazione link\u2026",copiedExpires:"Link copiato \u2014 scade il {{date}}",copiedNever:"Link copiato \u2014 non scade mai",error:"Impossibile creare il link di condivisione. Controlla la connessione e riprova.",optionAuto:"Auto",optionHigh:"Alta",optionMedium:"Media",optionLow:"Bassa"},gridControls:{play:"Riproduci",pause:"Pausa",mute:"Muto",unmute:"Riattiva audio",quality:"Qualit\xe0",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Eventi \u2014 in arrivo",searchLabel:"Cerca etichetta\u2026",empty:"Nessun evento",today:"Oggi",filteredEmpty:"Nessuna corrispondenza nell'intervallo caricato",loadOlder:"Carica meno recenti",selectPrompt:"Seleziona un evento per vederne i dettagli",filters:"Filtri",all:"Tutte",day:"Giorno",sort:"Ordina",sortTime:"Recenti",sortImportance:"Importanza",cameras:"Telecamere",classes:"Classi",search:"Cerca",searchCameras:"Cerca telecamere\u2026",searchClasses:"Cerca classi\u2026",allCamerasHint:"Nessuna = tutte",allClassesHint:"Nessuna = tutte",done:"Fatto",density:"Densit\xe0",selectHint:"Seleziona un evento",eventKinds:"Tipi di evento",displayOptions:"Aspetto",displayTitle:"Opzioni di visualizzazione"},settings:{themeSystem:"Sistema",themeDark:"Scuro",themeLight:"Chiaro",server:"Server",hubActive:"Hub attivo",changeServer:"Cambia server",signOut:"Esci",network:"Rete",networkNone:"Nessuna rotta ancora rilevata",endpointUnlikely:"Probabilmente non utilizzabile",reprobe:"Ri-rileva rotte",reprobing:"Rilevamento\u2026",appearance:"Aspetto",theme:"Tema",info:"Info",app:"App",version:"Versione",noServer:"Nessun server",footerNote:"CamStack Viewer si connette a un singolo hub camstack. Telecamere, griglie ed eventi sono gestiti dal server.",language:"Lingua",langSystem:"Sistema",gridDefaults:"Impostazioni griglia",showName:"Mostra nome telecamera",showNameHint:"Sovrapponi il nome della telecamera su ogni riquadro",showState:"Mostra stato",showStateHint:"Mostra lo stato online / registrazione su ogni riquadro",columns:"Colonne",cameraOrder:"Ordine telecamere",orderName:"Per nome",orderCustom:"Personalizzato",motionHold:"Persistenza evidenziazione movimento",motionHoldHint:"Mantieni accesa l'evidenziazione del movimento su una tile per questo tempo dopo che il movimento si ferma.",motionHoldOff:"Off",streamQuality:"Qualit\xe0 stream",streamDefaults:"Impostazioni stream",playOnOpen:"Riproduci all'apertura",playOnOpenHint:"Avvia lo stream live quando apri una telecamera",audioOnOpen:"Audio all'apertura",audioOnOpenHint:"Attiva l'audio quando apri una telecamera",snapshotInterval:"Aggiornamento snapshot",highlightAppearance:"Aspetto evidenziazione",highlightMotionColor:"Colore movimento",highlightAudioColor:"Colore audio",highlightDetectionColor:"Colore rilevamento",highlightThickness:"Spessore bordo",qualityAuto:"Auto",qualityHigh:"Alta",qualityMid:"Media",qualityLow:"Bassa",secondsValue:"{{count}}s",advanced:"Avanzate",clearCache:"Svuota cache",clearCacheHint:"Libera snapshot e dati in cache (mantiene server e impostazioni)",clearCacheConfirmTitle:"Svuotare la cache?",clearCacheConfirmBody:"Rimuove immagini e dati in cache. Server, accesso e impostazioni vengono mantenuti.",clearCacheDone:"Cache svuotata",exportSettings:"Esporta impostazioni",exportSettingsHint:"Copia le impostazioni in formato JSON",exportSettingsDone:"Impostazioni copiate in JSON",viewLogs:"Visualizza log",viewLogsHint:"Messaggi di log recenti dell'app",logsEmpty:"Nessun log registrato",keepLogs:"Mantieni log",keepLogsHint:"Registra un buffer dei messaggi di log dell'app",debugMode:"Modalit\xe0 debug",debugModeHint:"Log verbosi su live, playback e scrub \u2014 inviati al server",logsClear:"Pulisci",resetSettings:"Ripristina impostazioni",resetSettingsHint:"Ripristina tutti i valori predefiniti",resetConfirmTitle:"Ripristinare le impostazioni?",resetConfirmBody:"Ripristina tutte le impostazioni ai valori predefiniti.",cancel:"Annulla",confirm:"Conferma",timeline:"Timeline ed evidenziazioni",reel:"Sequenza eventi",reelThumbSize:"Dimensione miniature",reelThumbSizeHint:"Dimensione delle miniature nella sequenza eventi recenti.",reelSizeSmall:"Piccola",reelSizeMedium:"Media",reelSizeLarge:"Grande",reelShowLabels:"Mostra etichette",reelShowLabelsHint:"Mostra l'etichetta classe/identit\xe0 sugli elementi della sequenza.",reelLabelStyle:"Visualizzazione classe",reelLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo negli elementi della sequenza.",reelShowImportance:"Mostra importanza",reelShowImportanceHint:"Mostra il badge di importanza sugli elementi della sequenza.",events:"Eventi",eventsPage:"Pagina eventi",minImportance:"Importanza minima",minImportanceHint:"Nascondi gli eventi con punteggio inferiore, nella pagina eventi e nella timeline della telecamera.",minImportanceOff:"Off",tileShowLabels:"Mostra etichette",tileShowLabelsHint:"Mostra le etichette classe / identit\xe0 / audio sulle schede evento.",tileShowImportance:"Mostra importanza",tileShowImportanceHint:"Mostra il badge di importanza sulle schede evento (se valutato).",tileShowCameraName:"Mostra nome telecamera",tileShowCameraNameHint:"Mostra il nome della telecamera nel pi\xe8 di pagina della scheda evento.",tileLabelStyle:"Visualizzazione classe",tileLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo.",tileLabelStyleIcon:"Icona",tileLabelStyleText:"Testo",comingSoon:"Prossimamente",cameras:"Telecamere",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rinomina, nascondi, riordina",pinchExpandsHeight:"Il pizzico ingrandisce la vista",pinchExpandsHeightHint:"Pizzicando per lo zoom il video cresce in altezza (ritaglia i bordi laterali sulle camere 16:9).","timeline.gapPercent":"Gap cluster (%)","timeline.sizePercent":"Dimensione cluster (%)","timeline.indicatorPositionPct":"Posizione indicatore (%)","timeline.showImportance":"Mostra importanza sugli elementi","timeline.showClass":"Mostra classe di rilevamento sugli elementi","timeline.cardWidthPct":"Larghezza card (%)",haptics:"Vibrazione eventi",hapticsEnabled:"Vibra sugli eventi",hapticsEnabledHint:"Brevi vibrazioni per gli eventi chiave sulla telecamera che stai guardando. Solo su dispositivo (iOS/Android).",hapticsMotion:"Movimento",hapticsDetection:"Rilevamento",hapticsPerson:"Persona / riconosciuta"},login:{loginFailed:"Accesso fallito",verifyFailed:"Verifica fallita",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Mostra password",hidePassword:"Nascondi password",signIn:"Accedi",signingIn:"Accesso\u2026",twoFactor:"Autenticazione a due fattori",totpHint:"Inserisci il codice a 6 cifre dall'app di autenticazione per accedere come ",verificationCode:"Codice di verifica",verifyAndSignIn:"Verifica e accedi",verifying:"Verifica\u2026",back:"Indietro",or:"oppure",signInWithCamStack:"Accedi con CamStack",hubSignInHint:"Apre la pagina di accesso del tuo hub e collega questa app senza digitare qui la password.",handoffFailed:"Accesso con CamStack non riuscito \u2014 riprova oppure usa nome utente e password",invalidServerUrl:"Inserisci prima un URL server valido (https://\u2026)"},live:{webUnsupported:"La vista live non \xe8 ancora disponibile nella versione web.",connecting:"Connessione allo stream live\u2026",error:"Impossibile caricare lo stream live.",retry:"Riprova",noConnection:"Nessuna connessione al server",failed:"Connessione fallita"},ptz:{title:"PTZ",notAvailable:"I controlli PTZ non sono disponibili per questa telecamera.",zoom:"Zoom",home:"Posizione iniziale",presets:"Preset",noPresets:"Nessun preset salvato."},timeline:{activityTitle:"Attivit\xe0",last24h:"Ultime 24h",loading:"Caricamento attivit\xe0\u2026",noActivity:"Nessuna attivit\xe0 nelle ultime 24 ore.",legendRecording:"Registrato",legendMotion:"Movimento",legendAudio:"Audio"},theater:{back:"Indietro",today:"Oggi",yesterday:"Ieri",selectDate:"Seleziona una data",live:"LIVE",now:"ORA",auto:"Auto",quality:"Qualit\xe0 stream",filterAll:"Tutti",filter_motion:"Movimento",filter_audio:"Audio",goToLive:"Vai al live",noRecording:"Nessuna registrazione",noRecordingHint:"Nessun filmato per questo momento",detailCount:"{{frames}} frame \xb7 {{count}} rilevamenti",detailTracks:"{{tracks}} tracce \xb7 {{count}} rilevamenti",detailEmpty:"Nessuna immagine di dettaglio per questo istante",detailSeek:"Vai a questo momento",zoneHint:"Trascina un rettangolo sul video per filtrare gli eventi per zona",zoneConfirm:"Conferma",zoneCancel:"Annulla"},mediaKind:{crop:"Ritaglio oggetto",thumbnail:"Best shot",faceCrop:"Volto",plateCrop:"Targa",fullFrame:"Frame",fullFrameBoxed:"Riquadrato",keyFrame:"Frame chiave",firstFrame:"Primo",lastFrame:"Ultimo",snapshot:"Istantanea"},tracks:{crop:"Ritaglio",fullFrame:"Frame completo",zones:"Zone",audio:"Audio",reason:"Perch\xe9 rilevante",empty:"Nessuna traccia",recent:"Recenti",searchPlaceholder:"Cerca eventi (es. \"persona in rosso\")",noMatches:"Nessun evento corrispondente",person:"Persona",assignPerson:"Associa a persona",changePerson:"Cambia",notAssigned:"Non associata",assignFaceTitle:"Associa volto",newPersonPlaceholder:"Nome nuova persona\u2026",createAndAssign:"Crea e associa",assignFailed:"Associazione del volto non riuscita",removePerson:"Rimuovi persona",removePersonConfirmTitle:"Rimuovere la persona?",removePersonConfirmBody:"Questo scollega la persona da questo volto. Il volto torna tra quelli non associati e potr\xe0 essere riassociato in seguito.",disassociateFailed:"Rimozione della persona non riuscita",removePersonAll:"Rimuovi da tutti gli eventi",removePersonAllConfirmTitle:"Rimuovere da tutti gli eventi?",removePersonAllConfirmBody:"Questo scollega la persona da OGNI evento. Tutti i volti attualmente riconosciuti come questa persona tornano tra quelli non associati e potranno essere riassociati in seguito. La persona viene mantenuta.",disassociateAllFailed:"Rimozione della persona da tutti gli eventi non riuscita",existingPersons:"Persone",noPersons:"Ancora nessuna persona",metadata:"Metadati",copy:"Copia",copied:"Copiato","meta.trackId":"ID traccia","meta.eventId":"ID evento migliore","meta.deviceId":"ID dispositivo","meta.camera":"Telecamera","meta.className":"Classe","meta.label":"Etichetta","meta.firstSeen":"Prima apparizione","meta.lastSeen":"Ultima apparizione","meta.state":"Stato","meta.importance":"Importanza","meta.confidence":"Confidenza","meta.mediaKeys":"Chiavi media"},accessories:{on:"Acceso",off:"Spento",dimUp:"Pi\xf9 luminoso",dimDown:"Meno luminoso",lock:"Blocca",unlock:"Sblocca",open:"Apri",close:"Chiudi",stop:"Ferma",arm:"Attiva",disarm:"Disattiva",onMotion:"Su movimento",warmer:"Pi\xf9 caldo",cooler:"Pi\xf9 freddo",speedUp:"Pi\xf9 veloce",speedDown:"Pi\xf9 lento",oscillate:"Oscillazione",press:"Premi",play:"Riproduci",pause:"Pausa",previous:"Precedente",next:"Successivo",start:"Avvia",dock:"Rientra",locate:"Localizza",feed:"Eroga",feeding:"Erogazione\u2026",install:"Installa",installing:"Installazione\u2026",upToDate:"Aggiornato",increase:"Aumenta",decrease:"Diminuisci",select:"Seleziona",climateModes:{off:"Spento",heat:"Riscaldamento",cool:"Raffreddamento",auto:"Auto",heat_cool:"Caldo/Freddo",fan_only:"Ventola",dry:"Deumidificazione"}},cameraMenu:{title:"Opzioni vista",boundingBoxes:"Bounding box",streamStats:"Statistiche stream",audioLevel:"Livello audio",audioPositions:{off:"Off","top-left":"In alto a sinistra","top-center":"In alto al centro","top-right":"In alto a destra","left-center":"Al centro a sinistra","right-center":"Al centro a destra","bottom-left":"In basso a sinistra","bottom-center":"In basso al centro","bottom-right":"In basso a destra"},densityTitle:"Densit\xe0 timeline",density_compact:"Compatta",density_medium:"Media",density_wide:"Ampia",densityCustom:"Personalizzata",showImportance:"Mostra importanza",showClass:"Mostra classe rilevata",managementTitle:"Gestione"},stats:{title:"Statistiche stream",resolution:"Risoluzione",fps:"FPS",bitrate:"Bitrate",packetLoss:"Pacchetti persi",jitter:"Jitter",codec:"Codec",frames:"Frame (persi/totali)",waiting:"Misurazione\u2026",playbackHint:"Le statistiche WebRTC complete richiedono il player nativo."},exportActions:{title:"Cattura",recordingExport:"Esporta registrazione"},exports:{title:"Esportazioni",empty:"Nessuna esportazione.",settingsHint:"Scarica clip registrate",range:"Intervallo",rangeStart:"Inizio",rangeEnd:"Fine",profile:"Profilo",noFootage:"Nessuna registrazione in questo intervallo.",speed:"Velocit\xe0",timelapse:"Timelapse",cadence:"Un fotogramma ogni",audio:"Audio",includeAudio:"Includi audio",audioUnavailable:"L'audio \xe8 disponibile solo a velocit\xe0 0,5\u20132\xd7.",retention:"Conserva per",life24h:"24 ore",life7d:"7 giorni",life30d:"30 giorni",deleteAfterDownload:"Elimina dopo il download",deleteAfterDownloadHint:"Rimuovi il file una volta scaricato.",creating:"Creazione\u2026",createAction:"Esporta",createFailed:"Impossibile creare l'esportazione.",withAudio:"con audio",variantRegular:"1\xd7",variantAccelerated:"Accelerato {{speed}}\xd7",variantSlow:"Rallentato {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Scaduto",expiresInDays:"Scade tra {{count}}g",expiresInHours:"Scade tra {{count}}h",expiresInMinutes:"Scade tra {{count}}m",downloadAction:"Scarica",downloadUnavailable:"Download non disponibile.",downloadFailed:"Download non riuscito.",cancelAction:"Annulla",cancelConfirmTitle:"Annullare l'esportazione?",cancelConfirmBody:"Interrompe il rendering ed elimina il file parziale.",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare l'esportazione?",deleteConfirmBody:"Rimuove il file. La voce nella cronologia viene mantenuta.",dismiss:"Chiudi",state:{queued:"In coda",rendering:"Rendering",ready:"Pronto",failed:"Non riuscito",expired:"Scaduto",deleted:"Eliminato"}},streamBar:{play:"Riproduci",pause:"Pausa",mute:"Silenzia",unmute:"Riattiva audio",talkStart:"Inizia a parlare",talkStop:"Smetti di parlare",quality:"Qualit\xe0 stream",menu:"Opzioni vista",snapshot:"Istantanea",pip:"Picture in picture",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero"},playback:{prevFrame:"Frame precedente",nextFrame:"Frame successivo",speed:"Velocit\xe0 riproduzione",audioMuted:"Audio off a \u2260 1\xd7",audioOn:"Audio attivo"},cameraSwitcher:{title:"Cambia videocamera",empty:"Nessuna videocamera disponibile",openGrid:"Apri griglia ({{n}})",selectA11y:"Seleziona {{name}}"},storage:{title:"Archiviazione",usageTitle:"Utilizzo",nodeTotal:"Totale nodo",defaultLocation:"Posizione predefinita",locationFree:"{{free}} liberi",retentionTitle:"Conservazione",pruneAction:"Applica conservazione ora",pruneConfirmTitle:"Applicare la conservazione?",pruneConfirmBody:"Elimina le registrazioni su {{name}} che superano la policy di conservazione.",pruneResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",deleteTitle:"Elimina registrazioni",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare le registrazioni?",deleteConfirmBody:"Elimina definitivamente {{range}} di registrazioni su {{name}}. Operazione irreversibile.",deleteResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",cancel:"Annulla",window24h:"Ultime 24h",window7d:"Ultimi 7 giorni",window30d:"Ultimi 30 giorni",windowAll:"Tutto"},eventsMgmt:{title:"Eventi",footprintTitle:"Ingombro",rowsBytes:"{{rows}} eventi \xb7 {{bytes}}",clusterTotal:"Totale cluster",pruneTitle:"Elimina pi\xf9 vecchi di",pruneHint:"Si applica a tutte le telecamere.",pruneAction:"Elimina",pruneConfirmTitle:"Eliminare gli eventi vecchi?",pruneConfirmBody:"Elimina gli eventi pi\xf9 vecchi di {{range}} su TUTTE le telecamere. Operazione irreversibile.",pruneResult:"Eliminati {{count}} eventi.",deleteTitle:"Elimina eventi telecamera",deleteAction:"Elimina tutti gli eventi di questa telecamera",deleteConfirmTitle:"Eliminare tutti gli eventi?",deleteConfirmBody:"Elimina definitivamente ogni evento di {{name}}. Operazione irreversibile.",deleteResult:"Eliminati {{count}} eventi.",cancel:"Annulla",older24h:"24 ore",older7d:"7 giorni",older30d:"30 giorni"}},prototype:{today:"Oggi",yesterday:"Ieri",now:"ORA",endOfDay:"FINE GIORNATA",loading:"Caricamento...",timeline:"Timeline",events:"Eventi",playClip:"Riproduci clip",goToNow:"ORA",noEvents:"Nessun evento"},eventKind:{motion:"Movimento",audio:"Audio",person:"Persona",vehicle:"Veicolo",animal:"Animale",package:"Pacco",sensor:"Sensore",control:"Controllo",car:"Auto",truck:"Camion",bus:"Autobus",motorcycle:"Motocicletta",bicycle:"Bicicletta",airplane:"Aereo",boat:"Barca",train:"Treno",bird:"Uccello",cat:"Gatto",dog:"Cane",horse:"Cavallo",sheep:"Pecora",cow:"Mucca",elephant:"Elefante",bear:"Orso",zebra:"Zebra",giraffe:"Giraffa",contact:"Contatto","motion-sensor":"Sensore movimento",smoke:"Fumo",flood:"Allagamento",gas:"Gas","carbon-monoxide":"Monossido di carbonio",vibration:"Vibrazione",tamper:"Manomissione",presence:"Presenza","enum-sensor":"Stato sensore","device-event":"Evento dispositivo",lock:"Serratura",switch:"Interruttore",siren:"Sirena",button:"Pulsante",doorbell:"Campanello","package-delivered":"Pacco consegnato","package-picked-up":"Pacco ritirato","audio-speech":"Voce","audio-music":"Musica","audio-dog":"Cane","audio-doorbell":"Campanello","audio-siren":"Sirena","audio-alarm":"Allarme"}}},3582,[]);
|
|
16004
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.RootProviders=function(v){const _=(0,t.c)(4),{children:f}=v;let y,P,S;_[0]===Symbol.for("react.memo_cache_sentinel")?(y={flex:1},_[0]=y):y=_[0];_[1]===Symbol.for("react.memo_cache_sentinel")?(P=(0,j.jsx)(s.ThemedStatusBar,{}),_[1]=P):P=_[1];_[2]!==f?(S=(0,j.jsx)(n.GestureHandlerRootView,{style:y,children:(0,j.jsx)(c.SafeAreaProvider,{initialMetrics:c.initialWindowMetrics,children:(0,j.jsx)(o.QueryClientProvider,{client:x,children:(0,j.jsxs)(l.ThemeProvider,{children:[P,(0,j.jsx)(h.ServerProvider,{children:(0,j.jsx)(u.LoggerBridge,{children:f})})]})})})}),_[2]=f,_[3]=S):S=_[3];return S};var t=r(d[0]);r(d[1]);var n=r(d[2]),c=r(d[3]),o=r(d[4]),l=r(d[5]),s=r(d[6]),h=r(d[7]),u=r(d[8]),v=r(d[9]),j=r(d[10]);const x=(0,v.createQueryClient)()},3583,[15,17,3241,466,3081,2587,3584,3144,3585,3149,10]);
|
|
16005
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ThemedStatusBar=function(){const c=(0,t.c)(2),{mode:o}=(0,u.useTheme)(),l="dark"===o?"light":"dark";let _;c[0]!==l?(_=(0,n.jsx)(s.StatusBar,{style:l}),c[0]=l,c[1]=_):_=c[1];return _};var t=r(d[0]);r(d[1]);var s=r(d[2]),u=r(d[3]),n=r(d[4])},3584,[15,17,3429,2587,10]);
|
|
16006
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.LoggerBridge=function(f){const p=(0,n.c)(9),{children:v}=f,{server:b,token:h}=(0,t.useServer)(),S=(0,s.useSettingsStore)(l);let L,_;p[0]!==S?(L=()=>{(0,u.setLogVerbose)(S),u.log.info("app","debug mode "+(S?"ON (verbose)":"off"))},_=[S],p[0]=S,p[1]=L,p[2]=_):(L=p[1],_=p[2]);(0,o.useEffect)(L,_);const U=b?.serverUrl??null;let j,k,E;p[3]!==U||p[4]!==h?(j=()=>{U&&h?((0,u.configureLogShipping)({serverUrl:U,token:h}),u.log.info("app","log shipping configured",{serverUrl:U})):(0,u.configureLogShipping)(null)},k=[U,h],p[3]=U,p[4]=h,p[5]=j,p[6]=k):(j=p[5],k=p[6]);(0,o.useEffect)(j,k),p[7]!==v?(E=(0,c.jsx)(c.Fragment,{children:v}),p[7]=v,p[8]=E):E=p[8];return E};var n=r(d[0]),o=r(d[1]),t=r(d[2]),s=r(d[3]),u=r(d[4]),c=r(d[5]);function l(n){return n.settings.advanced.debugMode}},3585,[15,17,3144,3140,2705,10]);
|
|
16007
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return _}});var n=r(d[0]),t=e(r(d[1])),o=e(r(d[2])),c=r(d[3]),u=r(d[4]),l=r(d[5]),s=r(d[6]),f=r(d[7]),b=r(d[8]);function _(){const e=(0,n.c)(10),{loading:_,server:y,token:j}=(0,u.useServer)(),{colors:S}=(0,l.useTheme)();if(_){let n,c,u;return e[0]!==S.background?(n={flex:1,backgroundColor:S.background,alignItems:"center",justifyContent:"center"},e[0]=S.background,e[1]=n):n=e[1],e[2]!==S.primary?(c=(0,b.jsx)(t.default,{color:S.primary}),e[2]=S.primary,e[3]=c):c=e[3],e[4]!==n||e[5]!==c?(u=(0,b.jsx)(o.default,{style:n,children:c}),e[4]=n,e[5]=c,e[6]=u):u=e[6],u}if(!y||!j){if((0,f.canReuseHubSession)(!1)){let n;return e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,b.jsx)(f.HubSessionBootstrap,{fallback:(0,b.jsx)(s.LoginScreen,{})}),e[7]=n):n=e[7],n}let n;return e[8]===Symbol.for("react.memo_cache_sentinel")?(n=(0,b.jsx)(s.LoginScreen,{}),e[8]=n):n=e[8],n}let x;return e[9]===Symbol.for("react.memo_cache_sentinel")?(x=(0,b.jsx)(c.Redirect,{href:"/cameras"}),e[9]=x):x=e[9],x}},3586,[15,240,20,743,3144,2587,3587,3594,10]);
|
|
16008
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.LoginScreen=function(){const{t:e}=(0,h.useTranslation)(),{save:o,lastServerUrl:n,rememberServerUrl:s}=(0,y.useServer)(),{colors:c}=(0,x.useTheme)(),[f,j]=(0,t.useState)('credentials'),[w,T]=(0,t.useState)('https://'),[z,G]=(0,t.useState)(!1);z||null===n||(G(!0),'https://'!==w&&0!==w.trim().length||T(n));const[U,N]=(0,t.useState)(''),[R,F]=(0,t.useState)(''),[_,W]=(0,t.useState)(!1),[D,L]=(0,t.useState)(''),[H,B]=(0,t.useState)(''),[E,O]=(0,t.useState)(''),[V,M]=(0,t.useState)(!1),q=w.trim(),J=q.length>0&&U.trim().length>0&&R.length>0,K=async e=>{await o({id:q,label:q,serverUrl:q},e)},Q=async()=>{if(J&&!V){await s(q),O(''),M(!0);try{const e=await(0,S.login)(q,U.trim(),R);if('totp-required'===e.status)return L(e.token),void j('totp');await K(e.token)}catch(o){O(I(o,e('v2.login.loginFailed')))}finally{M(!1)}}},X=async()=>{if(6===H.length&&!V){O(''),M(!0);try{const{token:e}=await(0,S.verifyTotp)(q,D,H);await K(e)}catch(o){O(I(o,e('v2.login.verifyFailed'))),B('')}finally{M(!1)}}};return(0,v.jsx)(l.default,{style:{flex:1,backgroundColor:c.background},behavior:void 0,children:(0,v.jsx)(u.default,{contentContainerStyle:{flexGrow:1,justifyContent:'center',alignItems:'center',padding:p.SPACING['2xl']},keyboardShouldPersistTaps:"handled",children:(0,v.jsxs)(b.default,{style:{width:'100%',maxWidth:420,gap:p.SPACING['2xl']},children:[(0,v.jsx)(b.default,{style:{alignItems:'center'},children:(0,v.jsx)(C.BrandLogo,{width:220})}),(0,v.jsxs)(b.default,{style:{backgroundColor:c.surface,borderColor:c.border,borderWidth:1,borderRadius:p.RADIUS.lg,padding:p.SPACING['2xl'],gap:p.SPACING.xl},children:[E.length>0&&(0,v.jsx)(P,{colors:c,message:E}),'credentials'===f?(0,v.jsx)(A,{colors:c,serverUrl:w,username:U,password:R,showPassword:_,submitting:V,canSubmit:J,onChangeServerUrl:T,onChangeUsername:N,onChangePassword:F,onToggleShowPassword:()=>W(e=>!e),onSubmit:()=>{Q()},onHubSignIn:void 0}):(0,v.jsx)(k,{colors:c,username:U.trim(),totpCode:H,submitting:V,onChangeTotp:e=>B(e.replace(/\D/g,'').slice(0,6)),onSubmit:()=>{X()},onBack:()=>{j('credentials'),L(''),B(''),O('')}})]})]})})})};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),l=e(r(d[3]));r(d[4]);var s=e(r(d[5])),u=e(r(d[6])),c=e(r(d[7])),f=e(r(d[8])),b=e(r(d[9])),h=r(d[10]);r(d[11]),r(d[12]);var S=r(d[13]);r(d[14]),r(d[15]);var y=r(d[16]),x=r(d[17]),p=r(d[18]),C=r(d[19]),j=r(d[20]),v=r(d[21]);function I(e,o){return e instanceof Error&&e.message?e.message:o}function P(e){const t=(0,o.c)(11),{colors:n,message:l}=e,s=n.danger+"1a",u=n.danger+"40";let f,h,S,y;return t[0]!==s||t[1]!==u?(f={backgroundColor:s,borderColor:u,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl},t[0]=s,t[1]=u,t[2]=f):f=t[2],t[3]!==n.danger?(h={color:n.danger,fontSize:13},t[3]=n.danger,t[4]=h):h=t[4],t[5]!==l||t[6]!==h?(S=(0,v.jsx)(c.default,{style:h,children:l}),t[5]=l,t[6]=h,t[7]=S):S=t[7],t[8]!==f||t[9]!==S?(y=(0,v.jsx)(b.default,{style:f,children:S}),t[8]=f,t[9]=S,t[10]=y):y=t[10],y}function w(e){return{color:e.foregroundSubtle,fontSize:12,fontWeight:'600',marginBottom:p.SPACING.sm}}function T(e){return{backgroundColor:e.background,borderColor:e.border,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl,color:e.foreground,fontSize:15}}function A(e){const t=(0,o.c)(100),{colors:n,serverUrl:l,username:u,password:S,showPassword:y,submitting:x,canSubmit:C,onChangeServerUrl:I,onChangeUsername:P,onChangePassword:A,onToggleShowPassword:k,onSubmit:G,onHubSignIn:U}=e,{t:N}=(0,h.useTranslation)();let R,F,_;t[0]!==n?(R=w(n),t[0]=n,t[1]=R):R=t[1],t[2]!==N?(F=N("v2.login.serverUrl"),t[2]=N,t[3]=F):F=t[3],t[4]!==R||t[5]!==F?(_=(0,v.jsx)(c.default,{style:R,children:F}),t[4]=R,t[5]=F,t[6]=_):_=t[6];const W=n.foregroundSubtle;let D,L,H,B,E,O,V;t[7]!==n?(D=T(n),t[7]=n,t[8]=D):D=t[8],t[9]!==n.foregroundSubtle||t[10]!==I||t[11]!==l||t[12]!==D?(L=(0,v.jsx)(f.default,{value:l,onChangeText:I,placeholder:"https://hub.local:4443",placeholderTextColor:W,autoCapitalize:"none",autoCorrect:!1,keyboardType:"url",style:D}),t[9]=n.foregroundSubtle,t[10]=I,t[11]=l,t[12]=D,t[13]=L):L=t[13],t[14]!==_||t[15]!==L?(H=(0,v.jsxs)(b.default,{children:[_,L]}),t[14]=_,t[15]=L,t[16]=H):H=t[16],t[17]!==n?(B=w(n),t[17]=n,t[18]=B):B=t[18],t[19]!==N?(E=N("v2.login.username"),t[19]=N,t[20]=E):E=t[20],t[21]!==B||t[22]!==E?(O=(0,v.jsx)(c.default,{style:B,children:E}),t[21]=B,t[22]=E,t[23]=O):O=t[23],t[24]!==N?(V=N("v2.login.username"),t[24]=N,t[25]=V):V=t[25];const M=n.foregroundSubtle;let q,J,K,Q,X,Y,Z,$;t[26]!==n?(q=T(n),t[26]=n,t[27]=q):q=t[27],t[28]!==n.foregroundSubtle||t[29]!==P||t[30]!==V||t[31]!==q||t[32]!==u?(J=(0,v.jsx)(f.default,{value:u,onChangeText:P,placeholder:V,placeholderTextColor:M,autoCapitalize:"none",autoCorrect:!1,autoFocus:!0,style:q}),t[28]=n.foregroundSubtle,t[29]=P,t[30]=V,t[31]=q,t[32]=u,t[33]=J):J=t[33],t[34]!==O||t[35]!==J?(K=(0,v.jsxs)(b.default,{children:[O,J]}),t[34]=O,t[35]=J,t[36]=K):K=t[36],t[37]!==n?(Q=w(n),t[37]=n,t[38]=Q):Q=t[38],t[39]!==N?(X=N("v2.login.password"),t[39]=N,t[40]=X):X=t[40],t[41]!==Q||t[42]!==X?(Y=(0,v.jsx)(c.default,{style:Q,children:X}),t[41]=Q,t[42]=X,t[43]=Y):Y=t[43],t[44]===Symbol.for("react.memo_cache_sentinel")?(Z={position:"relative",justifyContent:"center"},t[44]=Z):Z=t[44],t[45]!==N?($=N("v2.login.password"),t[45]=N,t[46]=$):$=t[46];const ee=n.foregroundSubtle,oe=!y;let re,te,ne,le,se,ae,ie,de,ue;t[47]!==n?(re=T(n),t[47]=n,t[48]=re):re=t[48],t[49]!==re?(te=Object.assign({},re,{paddingRight:48}),t[49]=re,t[50]=te):te=t[50],t[51]!==n.foregroundSubtle||t[52]!==A||t[53]!==S||t[54]!==$||t[55]!==oe||t[56]!==te?(ne=(0,v.jsx)(f.default,{value:S,onChangeText:A,placeholder:$,placeholderTextColor:ee,autoCapitalize:"none",autoCorrect:!1,secureTextEntry:oe,style:te}),t[51]=n.foregroundSubtle,t[52]=A,t[53]=S,t[54]=$,t[55]=oe,t[56]=te,t[57]=ne):ne=t[57],t[58]!==y||t[59]!==N?(le=N(y?"v2.login.hidePassword":"v2.login.showPassword"),t[58]=y,t[59]=N,t[60]=le):le=t[60],t[61]===Symbol.for("react.memo_cache_sentinel")?(se={position:"absolute",right:p.SPACING.xl},t[61]=se):se=t[61],t[62]!==n.foregroundSubtle||t[63]!==y?(ae=y?(0,v.jsx)(j.EyeOff,{color:n.foregroundSubtle,size:20}):(0,v.jsx)(j.Eye,{color:n.foregroundSubtle,size:20}),t[62]=n.foregroundSubtle,t[63]=y,t[64]=ae):ae=t[64],t[65]!==k||t[66]!==le||t[67]!==ae?(ie=(0,v.jsx)(s.default,{accessibilityRole:"button",accessibilityLabel:le,onPress:k,hitSlop:8,style:se,children:ae}),t[65]=k,t[66]=le,t[67]=ae,t[68]=ie):ie=t[68],t[69]!==ne||t[70]!==ie?(de=(0,v.jsxs)(b.default,{style:Z,children:[ne,ie]}),t[69]=ne,t[70]=ie,t[71]=de):de=t[71],t[72]!==Y||t[73]!==de?(ue=(0,v.jsxs)(b.default,{children:[Y,de]}),t[72]=Y,t[73]=de,t[74]=ue):ue=t[74];const ce=!C||x;let ge,fe,be,he,Se;return t[75]!==N?(ge=N("v2.login.signIn"),t[75]=N,t[76]=ge):ge=t[76],t[77]!==N?(fe=N("v2.login.signingIn"),t[77]=N,t[78]=fe):fe=t[78],t[79]!==n||t[80]!==G||t[81]!==x||t[82]!==ce||t[83]!==ge||t[84]!==fe?(be=(0,v.jsx)(z,{colors:n,disabled:ce,submitting:x,label:ge,loadingLabel:fe,onPress:G}),t[79]=n,t[80]=G,t[81]=x,t[82]=ce,t[83]=ge,t[84]=fe,t[85]=be):be=t[85],t[86]!==n.border||t[87]!==n.foreground||t[88]!==n.foregroundSubtle||t[89]!==U||t[90]!==l||t[91]!==x||t[92]!==N?(he=void 0!==U&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(b.default,{style:{flexDirection:"row",alignItems:"center",gap:p.SPACING.lg},children:[(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:11,letterSpacing:1},children:N("v2.login.or").toUpperCase()}),(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}})]}),(0,v.jsx)(s.default,{accessibilityRole:"button",disabled:0===l.trim().length||x,onPress:U,style:{borderColor:n.border,borderWidth:1,opacity:0===l.trim().length||x?.5:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center"},children:(0,v.jsx)(c.default,{style:{color:n.foreground,fontSize:15,fontWeight:"600"},children:N("v2.login.signInWithCamStack")})}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:12},children:N("v2.login.hubSignInHint")})]}),t[86]=n.border,t[87]=n.foreground,t[88]=n.foregroundSubtle,t[89]=U,t[90]=l,t[91]=x,t[92]=N,t[93]=he):he=t[93],t[94]!==K||t[95]!==ue||t[96]!==be||t[97]!==he||t[98]!==H?(Se=(0,v.jsxs)(v.Fragment,{children:[H,K,ue,be,he]}),t[94]=K,t[95]=ue,t[96]=be,t[97]=he,t[98]=H,t[99]=Se):Se=t[99],Se}function k(e){const t=(0,o.c)(70),{colors:n,username:l,totpCode:u,submitting:S,onChangeTotp:y,onSubmit:x,onBack:C}=e,{t:j}=(0,h.useTranslation)();let I,P,A,k,G,U,N,R,F,_,W,D,L;t[0]===Symbol.for("react.memo_cache_sentinel")?(I={gap:p.SPACING.sm},t[0]=I):I=t[0],t[1]!==n.foreground?(P={color:n.foreground,fontSize:15,fontWeight:"600"},t[1]=n.foreground,t[2]=P):P=t[2],t[3]!==j?(A=j("v2.login.twoFactor"),t[3]=j,t[4]=A):A=t[4],t[5]!==P||t[6]!==A?(k=(0,v.jsx)(c.default,{style:P,children:A}),t[5]=P,t[6]=A,t[7]=k):k=t[7],t[8]!==n.foregroundSubtle?(G={color:n.foregroundSubtle,fontSize:13},t[8]=n.foregroundSubtle,t[9]=G):G=t[9],t[10]!==j?(U=j("v2.login.totpHint"),t[10]=j,t[11]=U):U=t[11],t[12]!==n.foreground?(N={color:n.foreground},t[12]=n.foreground,t[13]=N):N=t[13],t[14]!==N||t[15]!==l?(R=(0,v.jsx)(c.default,{style:N,children:l}),t[14]=N,t[15]=l,t[16]=R):R=t[16],t[17]!==G||t[18]!==U||t[19]!==R?(F=(0,v.jsxs)(c.default,{style:G,children:[U,R,"."]}),t[17]=G,t[18]=U,t[19]=R,t[20]=F):F=t[20],t[21]!==k||t[22]!==F?(_=(0,v.jsxs)(b.default,{style:I,children:[k,F]}),t[21]=k,t[22]=F,t[23]=_):_=t[23],t[24]!==n?(W=w(n),t[24]=n,t[25]=W):W=t[25],t[26]!==j?(D=j("v2.login.verificationCode"),t[26]=j,t[27]=D):D=t[27],t[28]!==W||t[29]!==D?(L=(0,v.jsx)(c.default,{style:W,children:D}),t[28]=W,t[29]=D,t[30]=L):L=t[30];const H=n.foregroundSubtle;let B,E,O,V;t[31]!==n?(B=T(n),t[31]=n,t[32]=B):B=t[32],t[33]!==B?(E=Object.assign({},B,{textAlign:"center",fontSize:24,letterSpacing:8}),t[33]=B,t[34]=E):E=t[34],t[35]!==n.foregroundSubtle||t[36]!==y||t[37]!==E||t[38]!==u?(O=(0,v.jsx)(f.default,{value:u,onChangeText:y,placeholder:"123456",placeholderTextColor:H,keyboardType:"numeric",maxLength:6,textContentType:"oneTimeCode",autoFocus:!0,style:E}),t[35]=n.foregroundSubtle,t[36]=y,t[37]=E,t[38]=u,t[39]=O):O=t[39],t[40]!==L||t[41]!==O?(V=(0,v.jsxs)(b.default,{children:[L,O]}),t[40]=L,t[41]=O,t[42]=V):V=t[42];const M=6!==u.length||S;let q,J,K,Q,X,Y,Z,$,ee;return t[43]!==j?(q=j("v2.login.verifyAndSignIn"),t[43]=j,t[44]=q):q=t[44],t[45]!==j?(J=j("v2.login.verifying"),t[45]=j,t[46]=J):J=t[46],t[47]!==n||t[48]!==x||t[49]!==S||t[50]!==M||t[51]!==q||t[52]!==J?(K=(0,v.jsx)(z,{colors:n,disabled:M,submitting:S,label:q,loadingLabel:J,onPress:x}),t[47]=n,t[48]=x,t[49]=S,t[50]=M,t[51]=q,t[52]=J,t[53]=K):K=t[53],t[54]===Symbol.for("react.memo_cache_sentinel")?(Q={alignItems:"center"},t[54]=Q):Q=t[54],t[55]!==n.foregroundSubtle?(X={color:n.foregroundSubtle,fontSize:13},t[55]=n.foregroundSubtle,t[56]=X):X=t[56],t[57]!==j?(Y=j("v2.login.back"),t[57]=j,t[58]=Y):Y=t[58],t[59]!==X||t[60]!==Y?(Z=(0,v.jsx)(c.default,{style:X,children:Y}),t[59]=X,t[60]=Y,t[61]=Z):Z=t[61],t[62]!==C||t[63]!==Z?($=(0,v.jsx)(s.default,{accessibilityRole:"button",onPress:C,style:Q,children:Z}),t[62]=C,t[63]=Z,t[64]=$):$=t[64],t[65]!==_||t[66]!==V||t[67]!==K||t[68]!==$?(ee=(0,v.jsxs)(v.Fragment,{children:[_,V,K,$]}),t[65]=_,t[66]=V,t[67]=K,t[68]=$,t[69]=ee):ee=t[69],ee}function z(e){const t=(0,o.c)(17),{colors:l,disabled:u,submitting:f,label:b,loadingLabel:h,onPress:S}=e,y=u?.5:1;let x,C,j;t[0]!==l.primary||t[1]!==y?(x={backgroundColor:l.primary,opacity:y,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center",flexDirection:"row",justifyContent:"center",gap:p.SPACING.md},t[0]=l.primary,t[1]=y,t[2]=x):x=t[2],t[3]!==l.primaryForeground||t[4]!==f?(C=f&&(0,v.jsx)(n.default,{size:"small",color:l.primaryForeground}),t[3]=l.primaryForeground,t[4]=f,t[5]=C):C=t[5],t[6]!==l.primaryForeground?(j={color:l.primaryForeground,fontSize:16,fontWeight:"600"},t[6]=l.primaryForeground,t[7]=j):j=t[7];const I=f?h:b;let P,w;return t[8]!==j||t[9]!==I?(P=(0,v.jsx)(c.default,{style:j,children:I}),t[8]=j,t[9]=I,t[10]=P):P=t[10],t[11]!==u||t[12]!==S||t[13]!==x||t[14]!==C||t[15]!==P?(w=(0,v.jsxs)(s.default,{accessibilityRole:"button",disabled:u,onPress:S,style:x,children:[C,P]}),t[11]=u,t[12]=S,t[13]=x,t[14]=C,t[15]=P,t[16]=w):w=t[16],w}},3587,[15,17,240,244,136,252,147,112,262,20,786,3588,618,3591,3592,2705,3144,2587,2589,3593,813,10]);
|
|
16009
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WebBrowserResultType",{enumerable:!0,get:function(){return u.WebBrowserResultType}}),Object.defineProperty(_e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return u.WebBrowserPresentationStyle}}),_e.getCustomTabsSupportingBrowsersAsync=async function(){if(!t.default.getCustomTabsSupportingBrowsersAsync)throw new o.UnavailabilityError('WebBrowser','getCustomTabsSupportingBrowsersAsync');return l},_e.warmUpAsync=async function(e){if(!t.default.warmUpAsync)throw new o.UnavailabilityError('WebBrowser','warmUpAsync');return{}},_e.mayInitWithUrlAsync=async function(e,n){if(!t.default.mayInitWithUrlAsync)throw new o.UnavailabilityError('WebBrowser','mayInitWithUrlAsync');return{}},_e.coolDownAsync=async function(e){if(!t.default.coolDownAsync)throw new o.UnavailabilityError('WebBrowser','coolDownAsync');return{}},_e.openBrowserAsync=c,_e.dismissBrowser=function(){return t.default.dismissBrowser?.()},_e.openAuthSessionAsync=async function(e,n,s={}){if(!t.default.openAuthSessionAsync)throw new o.UnavailabilityError('WebBrowser','openAuthSessionAsync');return['ios','macos','web'].includes("web")?t.default.openAuthSessionAsync(e,n,y(s)):t.default.openAuthSessionAsync(e,n)},_e.dismissAuthSession=function(){if(!t.default.dismissAuthSession)throw new o.UnavailabilityError('WebBrowser','dismissAuthSession');t.default.dismissAuthSession()},_e.maybeCompleteAuthSession=function(e={}){if(t.default.maybeCompleteAuthSession)return t.default.maybeCompleteAuthSession(e);return{type:'failed',message:'Not supported on this platform'}};var o=r(d[0]),n=e(r(d[1]));e(r(d[2]));r(d[3]);var s=e(r(d[4])),t=e(r(d[5])),u=r(d[6]);const l={defaultBrowserPackage:void 0,preferredBrowserPackage:void 0,browserPackages:[],servicePackages:[]};async function c(e,n={}){if(!t.default.openBrowserAsync)throw new o.UnavailabilityError('WebBrowser','openBrowserAsync');return await t.default.openBrowserAsync(e,y(n))}function y(e){return Object.assign({},e,{controlsColor:(0,s.default)(e.controlsColor),toolbarColor:(0,s.default)(e.toolbarColor),secondaryToolbarColor:(0,s.default)(e.secondaryToolbarColor)})}n.default.currentState},3588,[289,226,233,136,40,3589,3590]);
|
|
16010
|
+
__d(function(g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return f}}),_e.normalizeUrl=u,_e.featureObjectToString=I;var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e},s=r(d[2]);let i=null;const c=new Map,l=e=>`ExpoWebBrowser_OriginUrl_${e}`,w=e=>`ExpoWebBrowser_RedirectUrl_${e}`;function u(e){return(e.origin.replace(e.protocol,'').replace(/^\/+/,'').replace(/\/+$/,'')+decodeURI(e.pathname.replace(/\/{2,}/g,'/'))).toLowerCase()}function p(){if(i&&(i.close(),c.has(i))){const{listener:e,appStateSubscription:t,interval:n}=c.get(i);clearInterval(n),window.removeEventListener('message',e),t.remove(),c.delete(i);const o=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');o&&(window.localStorage.removeItem('ExpoWebBrowserRedirectHandle'),window.localStorage.removeItem(l(o)),window.localStorage.removeItem(w(o))),i=null}}var f={async openBrowserAsync(e,t={}){if('undefined'==typeof window)return{type:s.WebBrowserResultType.CANCEL};const{windowName:n="_blank",windowFeatures:o}=t,i=B(o);return window.open(e,n,i),{type:s.WebBrowserResultType.OPENED}},dismissAuthSession(){'undefined'!=typeof window&&p()},maybeCompleteAuthSession({skipRedirectCheck:e}){if('undefined'==typeof window)return{type:'failed',message:'Cannot use expo-web-browser in a non-browser environment'};const n=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');if(!n)return{type:'failed',message:'No auth session is currently in progress'};const o=window.location.href;if(!0!==e){const e=window.localStorage.getItem(w(n)),t=u(window.location);if(e!==t)return{type:'failed',message:`Current URL "${t}" and original redirect URL "${e}" do not match.`}}window.localStorage.setItem(l(n),o);const s=window.opener??window.parent;if(!s)throw new t.CodedError('ERR_WEB_BROWSER_REDIRECT',"The window cannot complete the redirect request because the invoking window doesn't have a reference to it's parent. This can happen if the parent window was reloaded.");return s.postMessage({url:o,expoSender:n},s.location.toString()),{type:'success',message:"Attempting to complete auth"}},async openAuthSessionAsync(e,n,f){if('undefined'==typeof window)return{type:s.WebBrowserResultType.CANCEL};if(n=n??b(e),null==i||i?.closed){const n=B(f?.windowFeatures);if(i=window.open(e,f?.windowName,n),!i)throw new t.CodedError('ERR_WEB_BROWSER_BLOCKED','Popup window was blocked by the browser or failed to open. This can happen in mobile browsers when the window.open() method was invoked too long after a user input was fired.');try{i.focus()}catch{}}const h=await y(e);window.localStorage.setItem('ExpoWebBrowserRedirectHandle',h);const R=(()=>{if(!n)return n;try{return u(new URL(n))}catch{return n}})();return window.localStorage.setItem(w(h),R),new Promise(async e=>{const t=t=>{if(!t.isTrusted)return;if(t.origin!==window.location.origin)return;const{data:n}=t,o=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');n.expoSender===o&&(p(),e({type:'success',url:n.url}))};window.addEventListener('message',t,!1);const n=o.default.addEventListener('change',t=>{if('active'!==t)return;const n=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');if(n){const t=window.localStorage.getItem(l(n));t&&(p(),e({type:'success',url:t}))}}),w=setInterval(()=>{i?.closed&&(e&&e({type:s.WebBrowserResultType.DISMISS}),clearInterval(w),p())},1e3);c.set(i,{listener:t,interval:w,appStateSubscription:n})})}};function h(){return'undefined'!=typeof window&&!!window?.crypto}async function y(e){const t=new URL(e);return t.searchParams.has('state')&&'string'==typeof t.searchParams.get('state')?t.searchParams.get('state'):await E()}function b(e){const t=new URL(e);return t.searchParams.has('redirect_uri')&&'string'==typeof t.searchParams.get('redirect_uri')?t.searchParams.get('redirect_uri'):location.origin+location.pathname}const R='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';async function E(){if(!h()||!window.crypto.subtle)throw new t.CodedError('ERR_WEB_BROWSER_CRYPTO',"The current environment doesn't support crypto. Ensure you are running from a secure origin (localhost/https).");const e=new TextEncoder,n=S(10),o=e.encode(n),s=await crypto.subtle.digest('SHA-256',o);return btoa(String.fromCharCode(...new Uint8Array(s)))}function S(e){let t=new Uint8Array(e);t.byteLength!==t.length&&(t=new Uint8Array(t.buffer));const n=new Uint8Array(t.length);if(h())window.crypto.getRandomValues(n);else for(let t=0;t<e;t+=1)n[t]=Math.random()*R.length|0;return v(n)}function v(e){let t='';for(const n of e){const e=n%R.length,o=R[e];null!=o&&(t+=o)}return t}function _(e){let t={};if('string'==typeof e){const n=e.split(',');for(const e of n){const[n,o]=e.trim().split('=');n&&o&&(t[n]=o)}}else e&&(t=e);return t}function B(e){const t=_(e),n=t.width??500,o=t.height??650,s=t.top??Math.max(0,.5*(window.screen.height-o)),i=t.left??Math.max(0,.5*(window.screen.width-n));return I(Object.assign({},t,{toolbar:t.toolbar??'no',menubar:t.menubar??'no',location:t.location??'yes',resizable:t.resizable??'yes',status:t.status??'no',scrollbars:t.scrollbars??'yes',top:s,left:i,width:n,height:o}))}function I(e){return Object.keys(e).reduce((t,n)=>{let o=e[n];return'boolean'==typeof o&&(o=o?'yes':'no'),n&&o?(t&&(t+=','),`${t}${n}=${o}`):t},'')}},3589,[289,226,3590]);
|
|
16011
|
+
__d(function(g,r,i,a,m,e,d){"use strict";var t,n;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"WebBrowserResultType",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return n}}),(function(t){t.CANCEL="cancel",t.DISMISS="dismiss",t.OPENED="opened",t.LOCKED="locked"})(t||(t={})),(function(t){t.FULL_SCREEN="fullScreen",t.PAGE_SHEET="pageSheet",t.FORM_SHEET="formSheet",t.CURRENT_CONTEXT="currentContext",t.OVER_FULL_SCREEN="overFullScreen",t.OVER_CURRENT_CONTEXT="overCurrentContext",t.POPOVER="popover",t.AUTOMATIC="automatic"})(n||(n={}))},3590,[]);
|
|
16012
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"sdkAuthClient",{enumerable:!0,get:function(){return n}}),e.login=async function(t,o,s,u=n){const{token:c,requiresTotp:f}=await u(t).login(o,s);return{status:f?'totp-required':'success',token:c}},e.verifyTotp=async function(t,o,s,u=n){return u(t).loginVerifyTotp(o,s)};var t=r(d[0]);const n=n=>(0,t.createSystem)({serverUrl:n})},3591,[2596]);
|
|
16013
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HANDOFF_CALLBACK_PATH",{enumerable:!0,get:function(){return n}}),e.canonicalizeCallbackUrl=o,e.buildHandoffLoginUrl=function(t,n){const c=o(n);return`${t.replace(/\/+$/,'')}/login?redirect=${encodeURIComponent(c)}`},e.isValidServerUrl=function(t){const n=t.trim();if(0===n.length||/^https?:\/\/$/i.test(n))return!1;try{const t=new URL(n);return('https:'===t.protocol||'http:'===t.protocol)&&t.hostname.length>0}catch{return!1}},e.extractHandoffCode=function(t){const n=t.indexOf('?');if(-1===n)return null;const o=t.slice(n+1).split('#')[0]??'',c=new URLSearchParams(o).get('code');return c&&c.length>0?c:null},e.redeemHandoffCode=async function(n,o,c){return(0,t.postHubAuthMutation)(Object.assign({baseUrl:n,procedure:'auth.redeemHandoffCode',input:{code:o}},c?{fetchFn:c}:{}))};var t=r(d[0]);const n='auth-callback';function o(t){return t.replace(/^([a-z][a-z0-9.+-]*):\/{2,3}/i,'$1://').replace(/\/$/,'')}},3592,[3147]);
|
|
16014
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.BrandLogo=function(x){const y=(0,t.c)(4),{width:h}=x,p=void 0===h?200:h,{mode:w}=(0,l.useTheme)(),v="light"===w?f:c,u=p/o;let z;y[0]!==v||y[1]!==u||y[2]!==p?(z=(0,s.jsx)(n.SvgXml,{xml:v,width:p,height:u}),y[0]=v,y[1]=u,y[2]=p,y[3]=z):z=y[3];return z};var t=r(d[0]);r(d[1]);var n=r(d[2]),l=r(d[3]),s=r(d[4]);const f="<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 56\" fill=\"none\">\n <g transform=\"translate(4, 2) scale(0.8)\">\n <rect x=\"8\" y=\"28\" width=\"48\" height=\"28\" rx=\"6\" fill=\"#d6d3d1\"/>\n <rect x=\"12\" y=\"16\" width=\"40\" height=\"28\" rx=\"6\" fill=\"#a8a29e\"/>\n <rect x=\"16\" y=\"4\" width=\"32\" height=\"28\" rx=\"6\" fill=\"#e67e22\"/>\n <circle cx=\"32\" cy=\"18\" r=\"8\" fill=\"#fafaf9\" opacity=\"0.3\"/>\n <circle cx=\"32\" cy=\"18\" r=\"5\" fill=\"#fafaf9\" opacity=\"0.2\"/>\n <circle cx=\"32\" cy=\"18\" r=\"2.5\" fill=\"#1c1917\" opacity=\"0.7\"/>\n </g>\n <text x=\"62\" y=\"30\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"24\" font-weight=\"700\" letter-spacing=\"-0.5\" fill=\"#1c1917\">\n Cam<tspan fill=\"#e67e22\">Stack</tspan>\n </text>\n <text x=\"63\" y=\"44\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"10\" font-weight=\"600\" letter-spacing=\"3\" fill=\"#78716c\">\n VIEWER\n </text>\n</svg>",c="<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 56\" fill=\"none\">\n <g transform=\"translate(4, 2) scale(0.8)\">\n <rect x=\"8\" y=\"28\" width=\"48\" height=\"28\" rx=\"6\" fill=\"#292524\"/>\n <rect x=\"12\" y=\"16\" width=\"40\" height=\"28\" rx=\"6\" fill=\"#44403c\"/>\n <rect x=\"16\" y=\"4\" width=\"32\" height=\"28\" rx=\"6\" fill=\"#f59e42\"/>\n <circle cx=\"32\" cy=\"18\" r=\"8\" fill=\"#0c0a09\" opacity=\"0.3\"/>\n <circle cx=\"32\" cy=\"18\" r=\"5\" fill=\"#0c0a09\" opacity=\"0.2\"/>\n <circle cx=\"32\" cy=\"18\" r=\"2.5\" fill=\"#fafaf9\" opacity=\"0.8\"/>\n </g>\n <text x=\"62\" y=\"30\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"24\" font-weight=\"700\" letter-spacing=\"-0.5\" fill=\"#fafaf9\">\n Cam<tspan fill=\"#f59e42\">Stack</tspan>\n </text>\n <text x=\"63\" y=\"44\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"10\" font-weight=\"600\" letter-spacing=\"3\" fill=\"#78716c\">\n VIEWER\n </text>\n</svg>",o=4.285714285714286},3593,[15,17,819,2587,10]);
|
|
16015
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.canReuseHubSession=function(e){return(0,f.shouldAttemptHubSessionExchange)({platform:"web",pathname:'undefined'!=typeof window&&void 0!==window.location?window.location.pathname:null,webBasePath:"/viewer",hasServerConfigured:e})},_e.HubSessionBootstrap=function(e){const b=(0,n.c)(10),{fallback:p}=e,{save:y}=(0,u.useServer)(),{colors:S}=(0,c.useTheme)(),[k,x]=(0,o.useState)(!1);let H,_,j,I,B;b[0]!==y?(H=()=>{let e=!1;return(async()=>{const n=window.location.origin,o=await(0,f.exchangeHubSession)(n);if(!e){if("ok"===o.status)return v(!1),l.log.info("hub-session","Provisioned from hub session",{username:o.username}),void await y({id:n,label:n,serverUrl:n},o.token);if("unauthorized"===o.status&&!h())return v(!0),l.log.info("hub-session","No hub session \u2014 redirecting to hub login"),void window.location.assign((0,f.buildHubLoginUrl)(n,window.location.pathname));l.log.warn("hub-session","Hub session exchange failed \u2014 manual login",{status:o.status}),x(!0)}})(),()=>{e=!0}},_=[y],b[0]=y,b[1]=H,b[2]=_):(H=b[1],_=b[2]);if((0,o.useEffect)(H,_),k)return p;b[3]!==S.background?(j={flex:1,backgroundColor:S.background,alignItems:"center",justifyContent:"center"},b[3]=S.background,b[4]=j):j=b[4];b[5]!==S.primary?(I=(0,w.jsx)(t.default,{color:S.primary}),b[5]=S.primary,b[6]=I):I=b[6];b[7]!==j||b[8]!==I?(B=(0,w.jsx)(s.default,{style:j,children:I}),b[7]=j,b[8]=I,b[9]=B):B=b[9];return B};var n=r(d[0]),o=r(d[1]),t=e(r(d[2]));r(d[3]);var s=e(r(d[4])),u=r(d[5]),c=r(d[6]),l=r(d[7]),f=r(d[8]),w=r(d[9]);const b='v2.hubLoginBounced';function h(){try{return'1'===window.sessionStorage.getItem(b)}catch{return!0}}function v(e){try{e?window.sessionStorage.setItem(b,'1'):window.sessionStorage.removeItem(b)}catch{}}},3594,[15,17,240,136,20,3144,2587,2705,3146,10]);
|
|
16016
|
+
__d(function(g,r,i,a,_m,e,d){"use strict";var t=this&&this.__createBinding||(Object.create?function(t,n,o,c){void 0===c&&(c=o);var u=Object.getOwnPropertyDescriptor(n,o);u&&!("get"in u?!n.__esModule:u.writable||u.configurable)||(u={enumerable:!0,get:function(){return n[o]}}),Object.defineProperty(t,c,u)}:function(t,n,o,c){void 0===c&&(c=o),t[c]=n[o]}),n=this&&this.__exportStar||function(n,o){for(var c in n)"default"===c||Object.prototype.hasOwnProperty.call(o,c)||t(o,n,c)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(d[0]),e)},3595,[3596]);
|
|
16017
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Head=void 0;const n=r(d[0]),c=r(d[1]),l=r(d[2]);function t({children:l}){return(0,n.jsx)(c.Helmet,{children:l})}e.Head=({children:c})=>(0,l.useIsFocused)()?(0,n.jsx)(t,{children:c}):null,e.Head.Provider=c.HelmetProvider},3596,[10,3597,757]);
|
|
16018
|
+
__d(function(g,r,_i,a,m,e,d){"use strict";var t=r(d[0]).default;const s=["children"],n=["children"];var i,o=Object.create,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,y=(t,s,n,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let o of p(s))h.call(t,o)||o===n||l(t,o,{get:()=>s[o],enumerable:!(i=c(s,o))||i.enumerable});return t},f=(t,s,n)=>(n=null!=t?o(u(t)):{},y(!s&&t&&t.__esModule?n:l(n,"default",{value:t,enumerable:!0}),t)),b={};((t,s)=>{for(var n in s)l(t,n,{get:s[n],enumerable:!0})})(b,{Helmet:()=>Oe,HelmetData:()=>le,HelmetProvider:()=>pe}),m.exports=(i=b,y(l({},"__esModule",{value:!0}),i));var T=f(r(d[1])),O=f(r(d[2])),A=f(r(d[3])),j=f(r(d[1])),C=f(r(d[1])),w=(t=>(t.BASE="base",t.BODY="body",t.HEAD="head",t.HTML="html",t.LINK="link",t.META="meta",t.NOSCRIPT="noscript",t.SCRIPT="script",t.STYLE="style",t.TITLE="title",t.FRAGMENT="Symbol(react.fragment)",t))(w||{}),x={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},$={charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},k=Object.values(w),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},M=Object.entries(S).reduce((t,[s,n])=>(t[n]=s,t),{}),E="data-rh",P="defaultTitle",H="defer",D="encodeSpecialCharacters",L="onChangeClientState",I="titleTemplate",U="prioritizeSeoTags",N=(t,s)=>{for(let n=t.length-1;n>=0;n-=1){const i=t[n];if(Object.prototype.hasOwnProperty.call(i,s))return i[s]}return null},q=t=>{let s=N(t,"title");const n=N(t,I);if(Array.isArray(s)&&(s=s.join("")),n&&s)return n.replace(/%s/g,()=>s);const i=N(t,P);return s||i||void 0},_=t=>N(t,L)||(()=>{}),R=(t,s)=>s.filter(s=>void 0!==s[t]).map(s=>s[t]).reduce((t,s)=>Object.assign({},t,s),{}),z=(t,s)=>s.filter(t=>void 0!==t.base).map(t=>t.base).reverse().reduce((s,n)=>{if(!s.length){const i=Object.keys(n);for(let o=0;o<i.length;o+=1){const l=i[o].toLowerCase();if(-1!==t.indexOf(l)&&n[l])return s.concat(n)}}return s},[]),B=(t,s,n)=>{const i={};return n.filter(s=>{return!!Array.isArray(s[t])||(void 0!==s[t]&&(n=`Helmet: ${t} should be of type "Array". Instead found type "${typeof s[t]}"`,console&&"function"==typeof console.warn&&console.warn(n)),!1);var n}).map(s=>s[t]).reverse().reduce((t,n)=>{const o={};n.filter(t=>{let n;const l=Object.keys(t);for(let i=0;i<l.length;i+=1){const o=l[i],c=o.toLowerCase();-1===s.indexOf(c)||"rel"===n&&"canonical"===t[n].toLowerCase()||"rel"===c&&"stylesheet"===t[c].toLowerCase()||(n=c),-1===s.indexOf(o)||"innerHTML"!==o&&"cssText"!==o&&"itemprop"!==o||(n=o)}if(!n||!t[n])return!1;const c=t[n].toLowerCase();return i[n]||(i[n]={}),o[n]||(o[n]={}),!i[n][c]&&(o[n][c]=!0,!0)}).reverse().forEach(s=>t.push(s));const l=Object.keys(o);for(let t=0;t<l.length;t+=1){const s=l[t],n=Object.assign({},i[s],o[s]);i[s]=n}return t},[]).reverse()},F=(t,s)=>{if(Array.isArray(t)&&t.length)for(let n=0;n<t.length;n+=1){if(t[n][s])return!0}return!1},Y=t=>Array.isArray(t)?t.join(""):t,K=(t,s)=>{const n=Object.keys(t);for(let i=0;i<n.length;i+=1)if(s[n[i]]&&s[n[i]].includes(t[n[i]]))return!0;return!1},G=(t,s)=>Array.isArray(t)?t.reduce((t,n)=>(K(n,s)?t.priority.push(n):t.default.push(n),t),{priority:[],default:[]}):{default:t,priority:[]},W=(t,s)=>Object.assign({},t,{[s]:void 0}),J=["noscript","script","style"],Q=(t,s=!0)=>!1===s?String(t):String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),V=t=>Object.keys(t).reduce((s,n)=>{const i=void 0!==t[n]?`${n}="${Q(t[n])}"`:`${n}`;return s?`${s} ${i}`:i},""),X=(t,s,n,i)=>{const o=V(n),l=Y(s);return o?`<${t} ${E}="true" ${o}>${Q(l,i)}</${t}>`:`<${t} ${E}="true">${Q(l,i)}</${t}>`},Z=(t,s,n=!0)=>s.reduce((s,i)=>{const o=i,l=Object.keys(o).filter(t=>!("innerHTML"===t||"cssText"===t)).reduce((t,s)=>{const i=void 0===o[s]?s:`${s}="${Q(o[s],n)}"`;return t?`${t} ${i}`:i},""),c=o.innerHTML||o.cssText||"",p=-1===J.indexOf(t);return`${s}<${t} ${E}="true" ${l}${p?"/>":`>${c}</${t}>`}`},""),ee=(t,s={})=>Object.keys(t).reduce((s,n)=>(s[S[n]||n]=t[n],s),s),te=(t,s,n)=>{const i=ee(n,{key:s,[E]:!0});return[C.default.createElement("title",i,s)]},re=(t,s)=>s.map((s,n)=>{const i={key:n,[E]:!0};return Object.keys(s).forEach(t=>{const n=S[t]||t;if("innerHTML"===n||"cssText"===n){const t=s.innerHTML||s.cssText;i.dangerouslySetInnerHTML={__html:t}}else i[n]=s[t]}),C.default.createElement(t,i)}),se=(t,s,n=!0)=>{switch(t){case"title":return{toComponent:()=>te(0,s.title,s.titleAttributes),toString:()=>X(t,s.title,s.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>ee(s),toString:()=>V(s)};default:return{toComponent:()=>re(t,s),toString:()=>Z(t,s,n)}}},ne=({metaTags:t,linkTags:s,scriptTags:n,encode:i})=>{const o=G(t,$),l=G(s,x),c=G(n,v);return{priorityMethods:{toComponent:()=>[...re("meta",o.priority),...re("link",l.priority),...re("script",c.priority)],toString:()=>`${se("meta",o.priority,i)} ${se("link",l.priority,i)} ${se("script",c.priority,i)}`},metaTags:o.default,linkTags:l.default,scriptTags:c.default}},ie=t=>{const{baseTag:s,bodyAttributes:n,encode:i=!0,htmlAttributes:o,noscriptTags:l,styleTags:c,title:p="",titleAttributes:u,prioritizeSeoTags:h}=t;let{linkTags:y,metaTags:f,scriptTags:b}=t,T={toComponent:()=>{},toString:()=>""};return h&&({priorityMethods:T,linkTags:y,metaTags:f,scriptTags:b}=ne(t)),{priority:T,base:se("base",s,i),bodyAttributes:se("bodyAttributes",n,i),htmlAttributes:se("htmlAttributes",o,i),link:se("link",y,i),meta:se("meta",f,i),noscript:se("noscript",l,i),script:se("script",b,i),style:se("style",c,i),title:se("title",{title:p,titleAttributes:u},i)}},oe=[],ae=!("undefined"==typeof window||!window.document||!window.document.createElement),le=class{instances=[];canUseDOM=ae;value={setHelmet:t=>{this.context.helmet=t},helmetInstances:{get:()=>this.canUseDOM?oe:this.instances,add:t=>{(this.canUseDOM?oe:this.instances).push(t)},remove:t=>{const s=(this.canUseDOM?oe:this.instances).indexOf(t);(this.canUseDOM?oe:this.instances).splice(s,1)}}};constructor(t,s){this.context=t,this.canUseDOM=s||!1,s||(t.helmet=ie({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},ce=j.default.createContext({}),pe=class t extends j.Component{static canUseDOM=ae;constructor(s){super(s),this.helmetData=new le(this.props.context||{},t.canUseDOM)}render(){return j.default.createElement(ce.Provider,{value:this.helmetData.value},this.props.children)}},ue=r(d[1]),de=f(r(d[4])),he=(t,s)=>{const n=document.head||document.querySelector("head"),i=n.querySelectorAll(`${t}[${E}]`),o=[].slice.call(i),l=[];let c;return s&&s.length&&s.forEach(s=>{const n=document.createElement(t);for(const t in s)if(Object.prototype.hasOwnProperty.call(s,t))if("innerHTML"===t)n.innerHTML=s.innerHTML;else if("cssText"===t)n.styleSheet?n.styleSheet.cssText=s.cssText:n.appendChild(document.createTextNode(s.cssText));else{const i=t,o=void 0===s[i]?"":s[i];n.setAttribute(t,o)}n.setAttribute(E,"true"),o.some((t,s)=>(c=s,n.isEqualNode(t)))?o.splice(c,1):l.push(n)}),o.forEach(t=>t.parentNode?.removeChild(t)),l.forEach(t=>n.appendChild(t)),{oldTags:o,newTags:l}},me=(t,s)=>{const n=document.getElementsByTagName(t)[0];if(!n)return;const i=n.getAttribute(E),o=i?i.split(","):[],l=[...o],c=Object.keys(s);for(const t of c){const i=s[t]||"";n.getAttribute(t)!==i&&n.setAttribute(t,i),-1===o.indexOf(t)&&o.push(t);const c=l.indexOf(t);-1!==c&&l.splice(c,1)}for(let t=l.length-1;t>=0;t-=1)n.removeAttribute(l[t]);o.length===l.length?n.removeAttribute(E):n.getAttribute(E)!==c.join(",")&&n.setAttribute(E,c.join(","))},ge=(t,s)=>{void 0!==t&&document.title!==t&&(document.title=Y(t)),me("title",s)},ye=(t,s)=>{const{baseTag:n,bodyAttributes:i,htmlAttributes:o,linkTags:l,metaTags:c,noscriptTags:p,onChangeClientState:u,scriptTags:h,styleTags:y,title:f,titleAttributes:b}=t;me("body",i),me("html",o),ge(f,b);const T={baseTag:he("base",n),linkTags:he("link",l),metaTags:he("meta",c),noscriptTags:he("noscript",p),scriptTags:he("script",h),styleTags:he("style",y)},O={},A={};Object.keys(T).forEach(t=>{const{newTags:s,oldTags:n}=T[t];s.length&&(O[t]=s),n.length&&(A[t]=T[t].oldTags)}),s&&s(),u(t,O,A)},fe=null,be=t=>{fe&&cancelAnimationFrame(fe),t.defer?fe=requestAnimationFrame(()=>{ye(t,()=>{fe=null})}):(ye(t),fe=null)},Te=class extends ue.Component{rendered=!1;shouldComponentUpdate(t){return!(0,de.default)(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:s}=this.props.context;let n=null;const i=(o=t.get().map(t=>{const s=Object.assign({},t.props);return delete s.context,s}),{baseTag:z(["href"],o),bodyAttributes:R("bodyAttributes",o),defer:N(o,H),encode:N(o,D),htmlAttributes:R("htmlAttributes",o),linkTags:B("link",["rel","href"],o),metaTags:B("meta",["name","charset","http-equiv","property","itemprop"],o),noscriptTags:B("noscript",["innerHTML"],o),onChangeClientState:_(o),scriptTags:B("script",["src","innerHTML"],o),styleTags:B("style",["cssText"],o),title:q(o),titleAttributes:R("titleAttributes",o),prioritizeSeoTags:F(o,U)});var o;pe.canUseDOM?be(i):ie&&(n=ie(i)),s(n)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},Oe=class extends T.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(t){return!(0,O.default)(W(this.props,"helmetData"),W(t,"helmetData"))}mapNestedChildrenToProps(t,s){if(!s)return null;switch(t.type){case"script":case"noscript":return{innerHTML:s};case"style":return{cssText:s};default:throw new Error(`<${t.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(t,s,n,i){return Object.assign({},s,{[t.type]:[...s[t.type]||[],Object.assign({},n,this.mapNestedChildrenToProps(t,i))]})}mapObjectTypeChildren(t,s,n,i){switch(t.type){case"title":return Object.assign({},s,{[t.type]:i,titleAttributes:Object.assign({},n)});case"body":return Object.assign({},s,{bodyAttributes:Object.assign({},n)});case"html":return Object.assign({},s,{htmlAttributes:Object.assign({},n)});default:return Object.assign({},s,{[t.type]:Object.assign({},n)})}}mapArrayTypeChildrenToProps(t,s){let n=Object.assign({},s);return Object.keys(t).forEach(s=>{n=Object.assign({},n,{[s]:t[s]})}),n}warnOnInvalidChildren(t,s){return(0,A.default)(k.some(s=>t.type===s),"function"==typeof t.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${k.join(", ")} are allowed. Helmet does not support rendering <${t.type}> elements. Refer to our API for more information.`),(0,A.default)(!s||"string"==typeof s||Array.isArray(s)&&!s.some(t=>"string"!=typeof t),`Helmet expects a string as a child of <${t.type}>. Did you forget to wrap your children in braces? ( <${t.type}>{\`\`}</${t.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(n,i){let o={};return T.default.Children.forEach(n,n=>{if(!n||!n.props)return;const l=n.props,{children:c}=l,p=t(l,s),u=Object.keys(p).reduce((t,s)=>(t[M[s]||s]=p[s],t),{});let{type:h}=n;switch("symbol"==typeof h?h=h.toString():this.warnOnInvalidChildren(n,c),h){case"Symbol(react.fragment)":i=this.mapChildrenToProps(c,i);break;case"link":case"meta":case"noscript":case"script":case"style":o=this.flattenArrayTypeChildren(n,o,u,c);break;default:i=this.mapObjectTypeChildren(n,i,u,c)}}),this.mapArrayTypeChildrenToProps(o,i)}render(){const s=this.props,{children:i}=s,o=t(s,n);let l=Object.assign({},o),{helmetData:c}=o;if(i&&(l=this.mapChildrenToProps(i,l)),c&&!(c instanceof le)){c=new le(c.context,!0),delete l.helmetData}return c?T.default.createElement(Te,Object.assign({},l,{context:c.value})):T.default.createElement(ce.Consumer,null,t=>T.default.createElement(Te,Object.assign({},l,{context:t})))}}},3597,[120,17,3598,323,3599]);
|
|
16019
|
+
__d(function(g,r,_i,_a,m,e,d){var t='undefined'!=typeof Element,n='function'==typeof Map,f='function'==typeof Set,o='function'==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(u,a){if(u===a)return!0;if(u&&a&&'object'==typeof u&&'object'==typeof a){if(u.constructor!==a.constructor)return!1;var c,s,l,p;if(Array.isArray(u)){if((c=u.length)!=a.length)return!1;for(s=c;0!==s--;)if(!i(u[s],a[s]))return!1;return!0}if(n&&u instanceof Map&&a instanceof Map){if(u.size!==a.size)return!1;for(p=u.entries();!(s=p.next()).done;)if(!a.has(s.value[0]))return!1;for(p=u.entries();!(s=p.next()).done;)if(!i(s.value[1],a.get(s.value[0])))return!1;return!0}if(f&&u instanceof Set&&a instanceof Set){if(u.size!==a.size)return!1;for(p=u.entries();!(s=p.next()).done;)if(!a.has(s.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(u)&&ArrayBuffer.isView(a)){if((c=u.length)!=a.length)return!1;for(s=c;0!==s--;)if(u[s]!==a[s])return!1;return!0}if(u.constructor===RegExp)return u.source===a.source&&u.flags===a.flags;if(u.valueOf!==Object.prototype.valueOf&&'function'==typeof u.valueOf&&'function'==typeof a.valueOf)return u.valueOf()===a.valueOf();if(u.toString!==Object.prototype.toString&&'function'==typeof u.toString&&'function'==typeof a.toString)return u.toString()===a.toString();if((c=(l=Object.keys(u)).length)!==Object.keys(a).length)return!1;for(s=c;0!==s--;)if(!Object.prototype.hasOwnProperty.call(a,l[s]))return!1;if(t&&u instanceof Element)return!1;for(s=c;0!==s--;)if(('_owner'!==l[s]&&'__v'!==l[s]&&'__o'!==l[s]||!u.$$typeof)&&!i(u[l[s]],a[l[s]]))return!1;return!0}return u!=u&&a!=a}m.exports=function(t,n){try{return i(t,n)}catch(t){if((t.message||'').match(/stack|recursion/i))return console.warn('react-fast-compare cannot handle circular refs'),!1;throw t}}},3598,[]);
|
|
16020
|
+
__d(function(g,r,i,a,m,e,d){m.exports=function(t,n,o,f){var c=o?o.call(f,t,n):void 0;if(void 0!==c)return!!c;if(t===n)return!0;if("object"!=typeof t||!t||"object"!=typeof n||!n)return!1;var u=Object.keys(t),v=Object.keys(n);if(u.length!==v.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(n),b=0;b<u.length;b++){var p=u[b];if(!l(p))return!1;var y=t[p],j=n[p];if(!1===(c=o?o.call(f,y,j,p):void 0)||void 0===c&&y!==j)return!1}return!0}},3599,[]);
|
|
16021
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3600,[]);
|
|
16022
|
+
__d(function(g,r,_i,a,_m,_e,d){"use strict";var e,t=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,i)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)},function(o){if(o&&o.__esModule)return o;var i={};if(null!=o)for(var c=e(o),u=0;u<c.length;u++)"default"!==c[u]&&t(i,o,c[u]);return n(i,o),i});Object.defineProperty(_e,"__esModule",{value:!0}),_e.renderRootComponent=function(e){try{setTimeout(()=>{f._internal_preventAutoHideAsync?.()}),u.startTransition(()=>{(0,c.registerRootComponent)(e)})}catch(e){f.hideAsync();const t=b(e);(0,c.registerRootComponent)(()=>(0,i.jsx)(s.View,{})),console.error(t),console.error("A runtime error has occurred while rendering the root component."),setTimeout(()=>{throw t})}};const i=r(d[0]),c=r(d[1]),u=o(r(d[2])),s=r(d[3]),f=o(r(d[4]));function l(e){if('[object Object]'!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function p(e){return e&&'object'==typeof e&&'string'==typeof e.name&&'string'==typeof e.message}function b(e){return p(e)?e:l(e)?new Error(JSON.stringify(e)):new Error(String(e))}},3601,[10,564,17,121,563]);
|
|
16020
16023
|
__r(566);
|
|
16021
16024
|
__r(6);
|
|
16022
16025
|
__r(0);
|