@camstack/addon-model-studio 1.1.330 → 1.1.332
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/CHANGELOG.md +12 -0
- package/dist/{MotionZonesSettings-3MG9zvaA.mjs → MotionZonesSettings-BOx4d1Ua.mjs} +25 -25
- package/dist/{PrivacyMaskSettings-BA58yuWC.mjs → PrivacyMaskSettings-DjczOhqD.mjs} +33 -33
- package/dist/{SceneMonitorEditor-BEf_PNcV.mjs → SceneMonitorEditor-GO3Ncxcb.mjs} +54 -54
- package/dist/_stub.js +6821 -6709
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-xbMmCmAW.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-CjYR9sfM.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CAr_q7cE.mjs +26 -0
- package/dist/{hostInit-dL0jf5i6.mjs → hostInit-BkqKC8rn.mjs} +2 -2
- package/dist/model-studio.addon.js +62895 -62055
- package/dist/model-studio.addon.mjs +62895 -62055
- package/dist/{player-overlays-BzTF5DiJ.mjs → player-overlays-CSRalrk9.mjs} +5 -5
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-BmfFp5be.mjs → responsive-B-cQZlMu.mjs} +10 -6
- package/dist/{scene-monitor-copy-BQA2BQQq.mjs → scene-monitor-copy-DSKHpazF.mjs} +5 -5
- package/dist/{square-MPgKEZFC.mjs → square-BtSmfB1z.mjs} +1 -1
- package/dist/{trash-2-C3CU6OqE.mjs → trash-2-BmbtsckV.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CRq1E3lv.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BiIQ9kpg.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bfyumm6x.mjs +0 -26
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { S as e, _ as t, d as n, g as r, l as i, v as a } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DMBKVIH7.mjs";
|
|
2
2
|
import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
|
|
3
3
|
import { r as l, t as u } from "./ui-text-BqZa5BNK.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { a as _, c as v, d as y, f as ee, i as b, l as x, n as S, o as C, r as w, s as T, t as E, u as D } from "./scene-monitor-copy-
|
|
6
|
-
import { t as O } from "./trash-2-
|
|
4
|
+
import { d, f, g as p, l as m, m as h, v as g } from "./responsive-B-cQZlMu.mjs";
|
|
5
|
+
import { a as _, c as v, d as y, f as ee, i as b, l as x, n as S, o as C, r as w, s as T, t as E, u as D } from "./scene-monitor-copy-DSKHpazF.mjs";
|
|
6
|
+
import { t as O } from "./trash-2-BmbtsckV.mjs";
|
|
7
7
|
import { MaskShapeCanvas as k } from "./MaskShapeCanvas-CrWutXSb.mjs";
|
|
8
|
-
var te =
|
|
8
|
+
var te = g("settings-2", [
|
|
9
9
|
["path", {
|
|
10
10
|
d: "M14 17H5",
|
|
11
11
|
key: "gfn3mx"
|
|
@@ -56,7 +56,7 @@ var P = "rounded border border-danger/50 bg-danger/10 px-1 py-0.5 text-[10px] fo
|
|
|
56
56
|
function ne({ monitor: e, disabled: t, onDelete: n }) {
|
|
57
57
|
let r = l(), i = M(e), a = N(e), c = x();
|
|
58
58
|
return i.length === 0 ? /* @__PURE__ */ o("p", {
|
|
59
|
-
className: `${
|
|
59
|
+
className: `${m} leading-relaxed`,
|
|
60
60
|
children: r("uiLibrary.sceneReferenceGallery.empty", "No photographs captured yet. Press “Capture daylight” to take the one this scene will judge everything against.")
|
|
61
61
|
}) : /* @__PURE__ */ o("div", {
|
|
62
62
|
className: "flex flex-col gap-2",
|
|
@@ -78,7 +78,7 @@ function ne({ monitor: e, disabled: t, onDelete: n }) {
|
|
|
78
78
|
children: [
|
|
79
79
|
/* @__PURE__ */ o(F, { reference: i.reference }),
|
|
80
80
|
/* @__PURE__ */ o("span", {
|
|
81
|
-
className: `${
|
|
81
|
+
className: `${m} tabular-nums`,
|
|
82
82
|
children: I(i.reference.capturedAt)
|
|
83
83
|
}),
|
|
84
84
|
/* @__PURE__ */ s("button", {
|
|
@@ -164,12 +164,12 @@ function G(e) {
|
|
|
164
164
|
};
|
|
165
165
|
}
|
|
166
166
|
function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
167
|
-
let i = l(), [d, f] = a(() => G(e)), [p,
|
|
167
|
+
let i = l(), [d, f] = a(() => G(e)), [p, h] = a(!1);
|
|
168
168
|
n(() => {
|
|
169
169
|
p || f(G(e));
|
|
170
170
|
}, [e, p]);
|
|
171
171
|
let g = (e) => {
|
|
172
|
-
|
|
172
|
+
h(!1), r(e);
|
|
173
173
|
}, _ = (t) => e.check.mode === "similarity" ? {
|
|
174
174
|
mode: "similarity",
|
|
175
175
|
threshold: t.threshold ?? e.check.threshold,
|
|
@@ -198,14 +198,14 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
198
198
|
value: d.label,
|
|
199
199
|
disabled: t,
|
|
200
200
|
className: L,
|
|
201
|
-
onFocus: () =>
|
|
201
|
+
onFocus: () => h(!0),
|
|
202
202
|
onChange: (e) => f((t) => ({
|
|
203
203
|
...t,
|
|
204
204
|
label: e.target.value
|
|
205
205
|
})),
|
|
206
206
|
onBlur: () => {
|
|
207
207
|
let t = d.label.trim();
|
|
208
|
-
t.length > 0 && t !== e.label ? g({ label: t }) :
|
|
208
|
+
t.length > 0 && t !== e.label ? g({ label: t }) : h(!1);
|
|
209
209
|
}
|
|
210
210
|
})]
|
|
211
211
|
}),
|
|
@@ -222,7 +222,7 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
222
222
|
})]
|
|
223
223
|
}),
|
|
224
224
|
/* @__PURE__ */ o("p", {
|
|
225
|
-
className:
|
|
225
|
+
className: m,
|
|
226
226
|
children: i("uiLibrary.sceneSettingsForm.watchingHint", "Turned off, the scene keeps its region, its references and its flag — it simply stops checking. Nothing is lost by pausing one for a while.")
|
|
227
227
|
}),
|
|
228
228
|
/* @__PURE__ */ s("label", {
|
|
@@ -255,7 +255,7 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
255
255
|
})]
|
|
256
256
|
}),
|
|
257
257
|
/* @__PURE__ */ o("p", {
|
|
258
|
-
className:
|
|
258
|
+
className: m,
|
|
259
259
|
children: U(e.triggerMode, i)
|
|
260
260
|
}),
|
|
261
261
|
/* @__PURE__ */ s("label", {
|
|
@@ -270,19 +270,19 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
270
270
|
value: d.checkIntervalSec,
|
|
271
271
|
disabled: t,
|
|
272
272
|
className: L,
|
|
273
|
-
onFocus: () =>
|
|
273
|
+
onFocus: () => h(!0),
|
|
274
274
|
onChange: (e) => f((t) => ({
|
|
275
275
|
...t,
|
|
276
276
|
checkIntervalSec: Number(e.target.value) || 0
|
|
277
277
|
})),
|
|
278
278
|
onBlur: () => {
|
|
279
279
|
let t = q(d.checkIntervalSec, V, H);
|
|
280
|
-
t === e.checkIntervalSec ?
|
|
280
|
+
t === e.checkIntervalSec ? h(!1) : g({ checkIntervalSec: t });
|
|
281
281
|
}
|
|
282
282
|
})]
|
|
283
283
|
}),
|
|
284
284
|
/* @__PURE__ */ o("p", {
|
|
285
|
-
className:
|
|
285
|
+
className: m,
|
|
286
286
|
children: i("uiLibrary.sceneSettingsForm.intervalHint", "60 s suits “is the bin still out”. Every check costs one photograph and one encode, so going below about 30 s buys latency you almost never need and multiplies the cost by the number of scenes you own.")
|
|
287
287
|
})
|
|
288
288
|
]
|
|
@@ -311,16 +311,16 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
311
311
|
step: .01,
|
|
312
312
|
value: d.threshold,
|
|
313
313
|
disabled: t,
|
|
314
|
-
onFocus: () =>
|
|
314
|
+
onFocus: () => h(!0),
|
|
315
315
|
onChange: (e) => f((t) => ({
|
|
316
316
|
...t,
|
|
317
317
|
threshold: Number(e.target.value)
|
|
318
318
|
})),
|
|
319
319
|
onMouseUp: () => {
|
|
320
|
-
d.threshold === y ?
|
|
320
|
+
d.threshold === y ? h(!1) : g({ check: _({ threshold: d.threshold }) });
|
|
321
321
|
},
|
|
322
322
|
onBlur: () => {
|
|
323
|
-
d.threshold === y ?
|
|
323
|
+
d.threshold === y ? h(!1) : g({ check: _({ threshold: d.threshold }) });
|
|
324
324
|
}
|
|
325
325
|
})]
|
|
326
326
|
}), /* @__PURE__ */ o("p", {
|
|
@@ -339,19 +339,19 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
339
339
|
value: d.hysteresisCount,
|
|
340
340
|
disabled: t,
|
|
341
341
|
className: L,
|
|
342
|
-
onFocus: () =>
|
|
342
|
+
onFocus: () => h(!0),
|
|
343
343
|
onChange: (e) => f((t) => ({
|
|
344
344
|
...t,
|
|
345
345
|
hysteresisCount: Number(e.target.value) || 1
|
|
346
346
|
})),
|
|
347
347
|
onBlur: () => {
|
|
348
348
|
let t = q(d.hysteresisCount, 1, 10);
|
|
349
|
-
t === e.check.hysteresisCount ?
|
|
349
|
+
t === e.check.hysteresisCount ? h(!1) : g({ check: _({ hysteresisCount: t }) });
|
|
350
350
|
}
|
|
351
351
|
})]
|
|
352
352
|
}),
|
|
353
353
|
/* @__PURE__ */ o("p", {
|
|
354
|
-
className:
|
|
354
|
+
className: m,
|
|
355
355
|
children: i("uiLibrary.sceneSettingsForm.agreeingHint", "One bad photograph must never be able to flip a scene. 3 agreeing checks at 60 s is about four minutes of latency and is what makes the answer trustworthy — leaving a state costs exactly the same as entering one.")
|
|
356
356
|
}),
|
|
357
357
|
/* @__PURE__ */ s("label", {
|
|
@@ -366,19 +366,19 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
366
366
|
value: d.quietSeconds,
|
|
367
367
|
disabled: t,
|
|
368
368
|
className: L,
|
|
369
|
-
onFocus: () =>
|
|
369
|
+
onFocus: () => h(!0),
|
|
370
370
|
onChange: (e) => f((t) => ({
|
|
371
371
|
...t,
|
|
372
372
|
quietSeconds: Number(e.target.value) || 0
|
|
373
373
|
})),
|
|
374
374
|
onBlur: () => {
|
|
375
375
|
let t = q(d.quietSeconds, 0, 3600);
|
|
376
|
-
t === e.quietSeconds ?
|
|
376
|
+
t === e.quietSeconds ? h(!1) : g({ quietSeconds: t });
|
|
377
377
|
}
|
|
378
378
|
})]
|
|
379
379
|
}),
|
|
380
380
|
/* @__PURE__ */ o("p", {
|
|
381
|
-
className:
|
|
381
|
+
className: m,
|
|
382
382
|
children: i("uiLibrary.sceneSettingsForm.quietHint", "A check taken while something is moving is a photograph of the van parked in front of the bin, so it is discarded rather than merely delayed. 0 disables the gate.")
|
|
383
383
|
}),
|
|
384
384
|
/* @__PURE__ */ s("label", {
|
|
@@ -393,19 +393,19 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
393
393
|
value: d.minObservationSpacingSec,
|
|
394
394
|
disabled: t,
|
|
395
395
|
className: L,
|
|
396
|
-
onFocus: () =>
|
|
396
|
+
onFocus: () => h(!0),
|
|
397
397
|
onChange: (e) => f((t) => ({
|
|
398
398
|
...t,
|
|
399
399
|
minObservationSpacingSec: Number(e.target.value) || 0
|
|
400
400
|
})),
|
|
401
401
|
onBlur: () => {
|
|
402
402
|
let t = q(d.minObservationSpacingSec, 0, 3600);
|
|
403
|
-
t === e.minObservationSpacingSec ?
|
|
403
|
+
t === e.minObservationSpacingSec ? h(!1) : g({ minObservationSpacingSec: t });
|
|
404
404
|
}
|
|
405
405
|
})]
|
|
406
406
|
}),
|
|
407
407
|
/* @__PURE__ */ o("p", {
|
|
408
|
-
className:
|
|
408
|
+
className: m,
|
|
409
409
|
children: i("uiLibrary.sceneSettingsForm.minGapHint", "Spreads the agreeing checks over real time instead of letting three adjacent polls inside one long occlusion be mistaken for three independent opinions.")
|
|
410
410
|
})
|
|
411
411
|
]
|
|
@@ -440,7 +440,7 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
440
440
|
})]
|
|
441
441
|
}),
|
|
442
442
|
/* @__PURE__ */ o("p", {
|
|
443
|
-
className:
|
|
443
|
+
className: m,
|
|
444
444
|
children: W(e.onUncoveredCondition, i)
|
|
445
445
|
})
|
|
446
446
|
]
|
|
@@ -475,7 +475,7 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
475
475
|
})]
|
|
476
476
|
}),
|
|
477
477
|
/* @__PURE__ */ o("p", {
|
|
478
|
-
className:
|
|
478
|
+
className: m,
|
|
479
479
|
children: i("uiLibrary.sceneSettingsForm.emitHint", "“Is the bin gone” is a flag: you want to be told once and still see it later. “Is the gate open” is a live state.")
|
|
480
480
|
}),
|
|
481
481
|
/* @__PURE__ */ s("label", {
|
|
@@ -491,7 +491,7 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
491
491
|
})]
|
|
492
492
|
}),
|
|
493
493
|
/* @__PURE__ */ o("p", {
|
|
494
|
-
className:
|
|
494
|
+
className: m,
|
|
495
495
|
children: i("uiLibrary.sceneSettingsForm.autoRestoreHint", "Off by default, so an alarm never silently clears itself. The “back to normal” moment is recorded either way, so an automation can still react to it.")
|
|
496
496
|
})
|
|
497
497
|
]
|
|
@@ -529,7 +529,7 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
529
529
|
placeholder: i("uiLibrary.sceneSettingsForm.questionPlaceholder", "e.g. Is the wheelie bin still there?"),
|
|
530
530
|
disabled: t,
|
|
531
531
|
className: L,
|
|
532
|
-
onFocus: () =>
|
|
532
|
+
onFocus: () => h(!0),
|
|
533
533
|
onChange: (e) => f((t) => ({
|
|
534
534
|
...t,
|
|
535
535
|
confirmPrompt: e.target.value
|
|
@@ -539,12 +539,12 @@ function K({ monitor: e, disabled: t, onPatch: r }) {
|
|
|
539
539
|
t.length > 0 && t !== e.confirm?.prompt ? g({ confirm: {
|
|
540
540
|
...J(t),
|
|
541
541
|
enabled: v
|
|
542
|
-
} }) :
|
|
542
|
+
} }) : h(!1);
|
|
543
543
|
}
|
|
544
544
|
})]
|
|
545
545
|
}),
|
|
546
546
|
/* @__PURE__ */ o("p", {
|
|
547
|
-
className:
|
|
547
|
+
className: m,
|
|
548
548
|
children: /* @__PURE__ */ o(u, {
|
|
549
549
|
uiKey: "uiLibrary.sceneSettingsForm.confirmHint",
|
|
550
550
|
fallback: "The model is asked <0>only</0> when the region has already changed enough to flip the answer — roughly twice a week for a bin, not once a minute. It reasons about the object rather than the pixels, so rain, shadows and a repositioned bin stop counting as the thing being taken. If it cannot be reached, the change is held rather than announced.",
|
|
@@ -577,20 +577,20 @@ var Y = "rounded-md border border-border bg-surface px-2 py-1 text-[11px] font-m
|
|
|
577
577
|
unknown: "border-border bg-surface text-foreground-subtle"
|
|
578
578
|
}, ae = .8, oe = 3;
|
|
579
579
|
function Z({ deviceId: e }) {
|
|
580
|
-
let u = l(),
|
|
580
|
+
let u = l(), g = f(p().trpcClient, e), v = h(g?.state.sceneMonitor), y = T(e, { width: 640 }), [x, A] = a(null), [j, M] = a(!1), [N, P] = a(null), [F, I] = a(null), [L, R] = a(null), [z, B] = a(null), [V, H] = a(!1), [U, W] = a(null), [G, q] = a(""), J = t(!0);
|
|
581
581
|
n(() => (J.current = !0, () => {
|
|
582
582
|
J.current = !1;
|
|
583
583
|
}), []);
|
|
584
584
|
let Z = i(async () => {
|
|
585
|
-
if (
|
|
586
|
-
let e = await
|
|
585
|
+
if (g) try {
|
|
586
|
+
let e = await g.sceneMonitor?.listScenes({});
|
|
587
587
|
if (!J.current) return;
|
|
588
588
|
e && A(e);
|
|
589
589
|
} catch (e) {
|
|
590
590
|
if (!J.current) return;
|
|
591
|
-
|
|
591
|
+
d(e) ? M(!0) : I(e instanceof Error ? e.message : String(e));
|
|
592
592
|
}
|
|
593
|
-
}, [
|
|
593
|
+
}, [g]);
|
|
594
594
|
n(() => {
|
|
595
595
|
A(null), M(!1), I(null), Z();
|
|
596
596
|
}, [Z]);
|
|
@@ -625,16 +625,16 @@ function Z({ deviceId: e }) {
|
|
|
625
625
|
W(t);
|
|
626
626
|
return;
|
|
627
627
|
}
|
|
628
|
-
$(`roi-${String(e)}`, async () =>
|
|
628
|
+
$(`roi-${String(e)}`, async () => g?.sceneMonitor?.updateScene({
|
|
629
629
|
monitorId: String(e),
|
|
630
630
|
patch: { roi: t }
|
|
631
631
|
}));
|
|
632
632
|
}
|
|
633
|
-
}, [
|
|
633
|
+
}, [g, $]), ue = i((e) => {
|
|
634
634
|
e.kind === "rect" && W(e);
|
|
635
635
|
}, []), de = i(async () => {
|
|
636
636
|
U === null || G.trim().length === 0 || (await $("create", async () => {
|
|
637
|
-
await
|
|
637
|
+
await g?.sceneMonitor?.createScene({
|
|
638
638
|
label: G.trim(),
|
|
639
639
|
roi: U,
|
|
640
640
|
check: {
|
|
@@ -645,19 +645,19 @@ function Z({ deviceId: e }) {
|
|
|
645
645
|
});
|
|
646
646
|
}), W(null), q(""), H(!1));
|
|
647
647
|
}, [
|
|
648
|
-
|
|
648
|
+
g,
|
|
649
649
|
U,
|
|
650
650
|
G,
|
|
651
651
|
$
|
|
652
652
|
]);
|
|
653
|
-
return
|
|
653
|
+
return g ? /* @__PURE__ */ o("div", {
|
|
654
654
|
className: "flex flex-col gap-3",
|
|
655
655
|
children: j ? /* @__PURE__ */ o("p", {
|
|
656
|
-
className: `${
|
|
656
|
+
className: `${m} leading-relaxed`,
|
|
657
657
|
children: u("uiLibrary.sceneMonitor.unsupported", "Scene monitoring is not available for this camera.")
|
|
658
658
|
}) : /* @__PURE__ */ s(c, { children: [
|
|
659
659
|
/* @__PURE__ */ o("p", {
|
|
660
|
-
className: `${
|
|
660
|
+
className: `${m} leading-relaxed`,
|
|
661
661
|
children: u("uiLibrary.sceneMonitor.intro", "A scene watches one region of this camera and tells you when it stops looking like the picture you captured. Draw a box around the thing you care about — a wheelie bin, a gate, a parking space — then capture what “normal” looks like. Daylight is enough to start: the night reference is optional, and without it the scene simply sits the infrared hours out instead of reporting a problem.")
|
|
662
662
|
}),
|
|
663
663
|
/* @__PURE__ */ o("div", {
|
|
@@ -731,7 +731,7 @@ function Z({ deviceId: e }) {
|
|
|
731
731
|
children: F
|
|
732
732
|
}),
|
|
733
733
|
Q.length === 0 ? /* @__PURE__ */ o("p", {
|
|
734
|
-
className: `${
|
|
734
|
+
className: `${m} leading-relaxed`,
|
|
735
735
|
children: u("uiLibrary.sceneMonitor.empty", "No scenes on this camera yet.")
|
|
736
736
|
}) : /* @__PURE__ */ o("ul", {
|
|
737
737
|
className: "flex flex-col gap-2",
|
|
@@ -753,17 +753,17 @@ function Z({ deviceId: e }) {
|
|
|
753
753
|
})]
|
|
754
754
|
}),
|
|
755
755
|
/* @__PURE__ */ o("p", {
|
|
756
|
-
className: `${
|
|
756
|
+
className: `${m} leading-relaxed`,
|
|
757
757
|
children: _(e, se, u)
|
|
758
758
|
}),
|
|
759
759
|
/* @__PURE__ */ o("p", {
|
|
760
|
-
className: `${
|
|
760
|
+
className: `${m} tabular-nums`,
|
|
761
761
|
children: w(e, u)
|
|
762
762
|
}),
|
|
763
763
|
/* @__PURE__ */ o(ne, {
|
|
764
764
|
monitor: e,
|
|
765
765
|
disabled: N !== null,
|
|
766
|
-
onDelete: ({ stateId: t, index: n }) => void $(`refdel-${e.id}-${t}-${String(n)}`, async () =>
|
|
766
|
+
onDelete: ({ stateId: t, index: n }) => void $(`refdel-${e.id}-${t}-${String(n)}`, async () => g.sceneMonitor?.deleteReference({
|
|
767
767
|
monitorId: e.id,
|
|
768
768
|
stateId: t,
|
|
769
769
|
index: n
|
|
@@ -779,7 +779,7 @@ function Z({ deviceId: e }) {
|
|
|
779
779
|
className: Y,
|
|
780
780
|
disabled: N !== null,
|
|
781
781
|
title: n ? u("uiLibrary.sceneMonitor.optionalTitle", "Optional. Without a night reference the checks in infrared are simply skipped — the scene keeps working in daylight and nothing is reported as broken.") : u("uiLibrary.sceneMonitor.captureTitle", "Take a fresh photo now and store it as the {{variant}} reference", { variant: C(t, u).toLowerCase() }),
|
|
782
|
-
onClick: () => void $(`cap-${e.id}-${t}`, async () =>
|
|
782
|
+
onClick: () => void $(`cap-${e.id}-${t}`, async () => g.sceneMonitor?.captureReference({
|
|
783
783
|
monitorId: e.id,
|
|
784
784
|
condition: t
|
|
785
785
|
})),
|
|
@@ -798,14 +798,14 @@ function Z({ deviceId: e }) {
|
|
|
798
798
|
className: X,
|
|
799
799
|
disabled: N !== null || e.states.length === 0,
|
|
800
800
|
title: u("uiLibrary.sceneMonitor.resetTitle", "Clear the flag and re-photograph what normal looks like right now"),
|
|
801
|
-
onClick: () => void $(`reset-${e.id}`, async () =>
|
|
801
|
+
onClick: () => void $(`reset-${e.id}`, async () => g.sceneMonitor?.resetScene({ monitorId: e.id })),
|
|
802
802
|
children: [/* @__PURE__ */ o(D, { className: "mr-1 inline h-3 w-3" }), u("uiLibrary.sceneMonitor.reset", "Reset")]
|
|
803
803
|
}),
|
|
804
804
|
/* @__PURE__ */ o("button", {
|
|
805
805
|
type: "button",
|
|
806
806
|
className: Y,
|
|
807
807
|
disabled: N !== null,
|
|
808
|
-
onClick: () => void $(`check-${e.id}`, async () =>
|
|
808
|
+
onClick: () => void $(`check-${e.id}`, async () => g.sceneMonitor?.recheckNow({ monitorId: e.id })),
|
|
809
809
|
children: u("uiLibrary.sceneMonitor.checkNow", "Check now")
|
|
810
810
|
}),
|
|
811
811
|
/* @__PURE__ */ s("button", {
|
|
@@ -821,7 +821,7 @@ function Z({ deviceId: e }) {
|
|
|
821
821
|
type: "button",
|
|
822
822
|
className: re,
|
|
823
823
|
disabled: N !== null,
|
|
824
|
-
onClick: () => void $(`del-${e.id}`, async () =>
|
|
824
|
+
onClick: () => void $(`del-${e.id}`, async () => g.sceneMonitor?.deleteScene({ monitorId: e.id })),
|
|
825
825
|
children: /* @__PURE__ */ o(O, { className: "h-3 w-3" })
|
|
826
826
|
})
|
|
827
827
|
]
|
|
@@ -829,7 +829,7 @@ function Z({ deviceId: e }) {
|
|
|
829
829
|
z === e.id && /* @__PURE__ */ o(K, {
|
|
830
830
|
monitor: e,
|
|
831
831
|
disabled: N !== null,
|
|
832
|
-
onPatch: (t) => void $(`tune-${e.id}`, async () =>
|
|
832
|
+
onPatch: (t) => void $(`tune-${e.id}`, async () => g.sceneMonitor?.updateScene({
|
|
833
833
|
monitorId: e.id,
|
|
834
834
|
patch: t
|
|
835
835
|
}))
|