Flag LiveTrack sessions whose map Garmin no longer serves
Ended sessions past the ~24h Garmin appears to keep a live-track page around for get verified once at app startup and, once confirmed dead, flagged so the panel greys them out instead of only failing after a click. Already-flagged sessions are skipped on later startups so this doesn't keep re-hitting Garmin for the same dead session.
This commit is contained in:
1 parent
141b7a08ce
commit
0c4ee97368
5 files changed
+98
-3
No files matched your search
@@ -781,6 +781,11 @@ html, body {
|
||||
cursor: wait;
|
||||
}
|
||||
|
||||
.livetrack-panel__row:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.livetrack-panel__label {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
|
||||
@@ -76,15 +76,18 @@ export class LiveTrackPanelControl {
|
||||
return;
|
||||
}
|
||||
|
||||
sessions.forEach(({ id, received_at, summary }) => {
|
||||
sessions.forEach(({ id, received_at, summary, map_available }) => {
|
||||
const li = document.createElement("li");
|
||||
li.className = "livetrack-panel__item";
|
||||
|
||||
const unavailable = map_available === false;
|
||||
|
||||
const button = document.createElement("button");
|
||||
button.type = "button";
|
||||
button.className = "livetrack-panel__row";
|
||||
button.classList.toggle("active", id === this._activeSessionId);
|
||||
button.title = id;
|
||||
button.disabled = unavailable;
|
||||
button.title = unavailable ? "Garmin no longer serves this session's map" : id;
|
||||
|
||||
const labelSpan = document.createElement("span");
|
||||
labelSpan.className = "livetrack-panel__label";
|
||||
@@ -100,7 +103,7 @@ export class LiveTrackPanelControl {
|
||||
} else {
|
||||
button.append(labelSpan, timeSpan);
|
||||
}
|
||||
button.addEventListener("click", () => this._toggleTrack(id, button));
|
||||
if (!unavailable) button.addEventListener("click", () => this._toggleTrack(id, button));
|
||||
li.appendChild(button);
|
||||
this._list.appendChild(li);
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user