@@ -1292,7 +1341,7 @@ class Ne extends A {
${t.name}
- ${we}
+ ${qe}
On travels${t.returns ?? "Returns —"}
@@ -1301,11 +1350,11 @@ class Ne extends A {
`;
}
_openQuestLog(t) {
- const e = bt(this._config?.quest_log_path);
+ const e = vt(this._config?.quest_log_path);
e && (window.history.pushState(null, "", `${e.replace(/\/+$/, "")}/${t}`), window.dispatchEvent(new Event("location-changed")));
}
_dockWeather() {
- const t = bt(this._config?.weather_entity);
+ const t = vt(this._config?.weather_entity);
if (!t)
return null;
const e = this._state(t);
@@ -1314,9 +1363,9 @@ class Ne extends A {
const n = String(e.state ?? "").trim();
if (!n || n === "unavailable" || n === "unknown")
return null;
- const s = e.attributes ?? {};
+ const i = e.attributes ?? {};
let r = null, o = null;
- const l = s.forecast;
+ const l = i.forecast;
if (Array.isArray(l) && l.length > 0) {
const a = l[0];
if (a && typeof a == "object") {
@@ -1326,7 +1375,7 @@ class Ne extends A {
}
return {
condition: n,
- temperature: this._optionalNumber(s.temperature),
+ temperature: this._optionalNumber(i.temperature),
high: r,
low: o
};
@@ -1340,18 +1389,18 @@ class Ne extends A {
_renderDock() {
const t = this._dockWeather();
if (!t)
- return c`
+ return d`
${`Nothing was posted for today, ${t.name}. Enjoy the day's rest!`}
@@ -2728,9 +2823,9 @@ class dn extends A {
`;
case "complete-day": {
const e = this._completeStats(), n = this._countdown ?? this._completeSeconds();
- return c`
+ return d`
- ${R}
+ ${H}
Quest complete
${this._completeSub(t.name)}
@@ -2759,7 +2854,7 @@ class dn extends A {
`;
}
default:
- return c`
+ return d`
${this._renderHeader(t)}
${Ot.map((e) => this._renderColumn(e))}
@@ -2781,11 +2876,11 @@ class dn extends A {
const n = this._childName(t) ?? Y(t);
if (!this._childPresent(t))
return { kind: "away", name: n, returns: this._awayReturns(t) };
- const s = this._state(`binary_sensor.nestquest_${t}_all_done`);
- if (s && String(s.state ?? "").trim().toLowerCase() === "on")
+ const i = this._state(`binary_sensor.nestquest_${t}_all_done`);
+ if (i && String(i.state ?? "").trim().toLowerCase() === "on")
return { kind: "complete-day", name: n };
const r = this._state(`sensor.nestquest_${t}_quests_due_today`);
- return v(y(r?.state, 0)) === 0 ? { kind: "empty-day", name: n } : this._remaining() === 0 ? { kind: "complete-day", name: n } : { kind: "normal" };
+ return b(y(r?.state, 0)) === 0 ? { kind: "empty-day", name: n } : this._remaining() === 0 ? { kind: "complete-day", name: n } : { kind: "normal" };
}
/** "missing" when the due sensor does not exist (integration not
* configured), "stale" when it answers unavailable/unknown (backend
@@ -2802,22 +2897,22 @@ class dn extends A {
const n = this._state(`sensor.nestquest_${t}_quests_due_today`)?.attributes?.present;
if (typeof n == "boolean")
return n;
- const s = this._state(
+ const i = this._state(
`binary_sensor.nestquest_${t}_present_today`
);
- return s ? String(s.state ?? "").trim().toLowerCase() === "on" : !0;
+ return i ? String(i.state ?? "").trim().toLowerCase() === "on" : !0;
}
_awayReturns(t) {
const e = this._timeZone(), n = this._state(
`binary_sensor.nestquest_${t}_present_today`
- ), s = Tt(
+ ), i = Et(
n?.attributes?.next_present,
e
);
- return s ? L(s, e) : null;
+ return i ? j(i, e) : null;
}
_renderNotice(t) {
- return c`
+ return d`
${t.icon}
@@ -2828,17 +2923,17 @@ class dn extends A {
`;
}
_timeZone() {
- return De(this.hass);
+ return Re(this.hass);
}
_state(t) {
const n = this.hass?.states?.[t];
return n && typeof n == "object" ? n : null;
}
_childSlug() {
- return Be();
+ return Qe();
}
_boardPath() {
- return $(this._config?.board_path).replace(/\/+$/, "");
+ return w(this._config?.board_path).replace(/\/+$/, "");
}
_idleSeconds() {
const t = y(this._config?.idle_return_seconds, 40);
@@ -2861,8 +2956,8 @@ class dn extends A {
_childCounts(t) {
const e = this._state(`sensor.nestquest_${t}_quests_due_today`), n = this._state(
`sensor.nestquest_${t}_quests_completed_today`
- ), s = v(y(e?.state, 0)), r = v(y(n?.state, 0));
- return { due: s, completed: r };
+ ), i = b(y(e?.state, 0)), r = b(y(n?.state, 0));
+ return { due: i, completed: r };
}
_instances() {
const t = this._childSlug();
@@ -2871,21 +2966,21 @@ class dn extends A {
const e = this._state(`sensor.nestquest_${t}_quests_due_today`)?.attributes?.instances;
if (!Array.isArray(e))
return [];
- const n = e.map(Fe).filter((r) => r !== null);
+ const n = e.map(We).filter((r) => r !== null);
if (this._optimistic.size === 0)
return n;
- let s = !1;
+ let i = !1;
for (const r of n) {
const o = this._optimistic.get(r.id);
if (o !== void 0) {
if (r.state === "completed") {
- this._optimistic.delete(r.id), s = !0;
+ this._optimistic.delete(r.id), i = !0;
continue;
}
r.state = "completed", r.overdue = !1, r.completed_at = o;
}
}
- return s && (this._optimistic = new Map(this._optimistic)), n;
+ return i && (this._optimistic = new Map(this._optimistic)), n;
}
_remaining() {
const t = this._childSlug();
@@ -2895,9 +2990,9 @@ class dn extends A {
`sensor.nestquest_${t}_quests_remaining_today`
);
if (e)
- return v(y(e.state, 0));
- const { due: n, completed: s } = this._childCounts(t);
- return v(n - s);
+ return b(y(e.state, 0));
+ const { due: n, completed: i } = this._childCounts(t);
+ return b(n - i);
}
_partyCounts() {
const t = this._state(
@@ -2907,32 +3002,32 @@ class dn extends A {
);
if (t || e)
return {
- completed: v(y(e?.state, 0)),
- due: v(y(t?.state, 0))
+ completed: b(y(e?.state, 0)),
+ due: b(y(t?.state, 0))
};
- const n = this._childSlug(), { due: s, completed: r } = this._childCounts(n);
- return { completed: r, due: s };
+ const n = this._childSlug(), { due: i, completed: r } = this._childCounts(n);
+ return { completed: r, due: i };
}
_completeStats() {
const t = this._childCounts(this._childSlug()).completed, e = this._instances().filter(
(r) => r.on_time === !0
- ).length, n = v(t - e), s = this._partyCounts();
+ ).length, n = b(t - e), i = this._partyCounts();
return {
claimed: t,
onTime: e,
late: n,
- party: `${s.completed}/${s.due}`
+ party: `${i.completed}/${i.due}`
};
}
_completeSub(t) {
- const e = L(this._now, this._timeZone()), { claimed: n, onTime: s, late: r } = this._completeStats();
- return n === 0 ? `${t} sealed the day on ${e}.` : r === 0 ? `${t} claimed every quest on ${e} — all on time.` : s === 0 ? `${t} claimed every quest on ${e} — all late.` : `${t} claimed every quest on ${e} — ${s} on time, ${r} late.`;
+ const e = j(this._now, this._timeZone()), { claimed: n, onTime: i, late: r } = this._completeStats();
+ return n === 0 ? `${t} sealed the day on ${e}.` : r === 0 ? `${t} claimed every quest on ${e} — all on time.` : i === 0 ? `${t} claimed every quest on ${e} — all late.` : `${t} claimed every quest on ${e} — ${i} on time, ${r} late.`;
}
_otherChildren() {
const t = this.hass?.states;
if (!t)
return [];
- const e = this._childSlug(), n = this._timeZone(), s = [];
+ const e = this._childSlug(), n = this._timeZone(), i = [];
for (const r of Object.keys(t)) {
const o = /^sensor\.nestquest_(.+)_quests_due_today$/.exec(r);
if (!o || o[1] === "household" || o[1] === e)
@@ -2949,20 +3044,20 @@ class dn extends A {
);
u = _ === null || String(_.state ?? "").trim().toLowerCase() !== "off";
}
- const d = this._state(
+ const c = this._state(
`sensor.nestquest_${l}_quests_completed_today`
- ), f = v(y(t[r]?.state, 0)), h = v(y(d?.state, 0));
+ ), f = b(y(t[r]?.state, 0)), h = b(y(c?.state, 0));
let m = null;
if (!u) {
const _ = this._state(
`binary_sensor.nestquest_${l}_present_today`
- ), x = Tt(
+ ), x = Et(
_?.attributes?.next_present,
n
);
- m = x ? Ue(x, n) : null;
+ m = x ? De(x, n) : null;
}
- s.push({
+ i.push({
slug: l,
name: p,
present: u,
@@ -2971,11 +3066,11 @@ class dn extends A {
returnsWeekday: m
});
}
- return s.sort((r, o) => r.name.localeCompare(o.name));
+ return i.sort((r, o) => r.name.localeCompare(o.name));
}
_renderHeader(t) {
- const e = this._childSlug(), n = t.kind === "away", s = n ? t.name : this._childName(e) ?? (e ? Y(e) : null), { due: r, completed: o } = this._childCounts(e), l = this._remaining(), a = this._partyCounts(), p = s ? `${s}'s Quest Log` : "Quest Log", u = (s?.charAt(0) || "?").toUpperCase();
- return c`
+ const e = this._childSlug(), n = t.kind === "away", i = n ? t.name : this._childName(e) ?? (e ? Y(e) : null), { due: r, completed: o } = this._childCounts(e), l = this._remaining(), a = this._partyCounts(), p = i ? `${i}'s Quest Log` : "Quest Log", u = (i?.charAt(0) || "?").toUpperCase();
+ return d`
@@ -2985,11 +3080,11 @@ class dn extends A {
${St(
@@ -3052,7 +3147,7 @@ class dn extends A {
(l) => this._renderQuest(l, !1, 0)
)}
${St(
- s,
+ i,
(l) => l.id,
(l, a) => this._renderQuest(l, !0, a)
)}
@@ -3064,7 +3159,7 @@ class dn extends A {
_renderQuest(t, e, n) {
if (e) {
const o = Mt[n % Mt.length], l = t.completed_at ? je(t.completed_at, this._timeZone()) : "";
- return c`
+ return d`
${tt}
@@ -3078,19 +3173,19 @@ class dn extends A {
aria-hidden="true"
style="--seal-rot: ${o}deg"
>
- ${R}
+ ${H}
`;
}
- const s = Le(t.due_time), r = t.overdue ? {
- text: s ? `Overdue · due ${s}` : "Overdue",
+ const i = Be(t.due_time), r = t.overdue ? {
+ text: i ? `Overdue · due ${i}` : "Overdue",
late: !0
} : {
- text: s ? `Due by ${s}` : "Due today",
+ text: i ? `Due by ${i}` : "Due today",
late: !1
};
- return c`
+ return d`
this._openConfirm(t.id)}
>
- ${R}
+ ${H}
Complete
@@ -3123,7 +3218,7 @@ class dn extends A {
if (t.length === 0)
return g;
const e = t.slice(0, 2).map((n) => n.present ? n.due > 0 && n.completed >= n.due ? `${n.name} has finished their log.` : n.due > n.completed ? `${n.name} has ${n.due - n.completed} quests left.` : `${n.name} has no quests today.` : n.returnsWeekday ? `${n.name} is on travels until ${n.returnsWeekday}.` : `${n.name} is on travels.`);
- return c`
+ return d`
Party roll-up
${e.join(" ")}
@@ -3139,7 +3234,7 @@ class dn extends A {
if (!t)
return g;
const e = Ot.find((n) => n.key === t.window);
- return c`
+ return d`
this._closeConfirm()}>
this._closeConfirm()}
>
- ${Je}
+ ${Ye}
Not yet
@@ -3285,7 +3380,7 @@ class dn extends A {
return Number.isFinite(e) ? e : null;
}
_dockWeather() {
- const t = $(this._config?.weather_entity);
+ const t = w(this._config?.weather_entity);
if (!t)
return null;
const e = this._state(t);
@@ -3294,9 +3389,9 @@ class dn extends A {
const n = String(e.state ?? "").trim();
if (!n || n === "unavailable" || n === "unknown")
return null;
- const s = e.attributes ?? {};
+ const i = e.attributes ?? {};
let r = null, o = null;
- const l = s.forecast;
+ const l = i.forecast;
if (Array.isArray(l) && l.length > 0) {
const a = l[0];
if (a && typeof a == "object") {
@@ -3306,7 +3401,7 @@ class dn extends A {
}
return {
condition: n,
- temperature: this._optionalNumber(s.temperature),
+ temperature: this._optionalNumber(i.temperature),
high: r,
low: o
};
@@ -3314,18 +3409,18 @@ class dn extends A {
_renderDock() {
const t = this._dockWeather();
if (!t)
- return c`
+ return d`