Edit esp-reterminal-e1001.yaml
This commit is contained in:
@@ -715,38 +715,62 @@ display:
|
||||
bool inverse = false;
|
||||
int border = normal_border;
|
||||
|
||||
auto ago_text = [&](int64_t seconds) -> std::string {
|
||||
if (seconds < 60) return "Just now";
|
||||
if (seconds < 3600) {
|
||||
int m = seconds / 60;
|
||||
return std::to_string(m) + (m == 1 ? " min ago" : " mins ago");
|
||||
}
|
||||
if (seconds < 86400) {
|
||||
int h = seconds / 3600;
|
||||
return std::to_string(h) + (h == 1 ? " hour ago" : " hours ago");
|
||||
}
|
||||
int d = seconds / 86400;
|
||||
return std::to_string(d) + (d == 1 ? " day ago" : " days ago");
|
||||
};
|
||||
|
||||
auto due_in_text = [&](int64_t seconds) -> std::string {
|
||||
if (seconds < 60) return "due in 1 min";
|
||||
if (seconds < 3600) {
|
||||
int m = seconds / 60;
|
||||
return "due in " + std::to_string(m) + (m == 1 ? " min" : " mins");
|
||||
}
|
||||
if (seconds < 86400) {
|
||||
int h = seconds / 3600;
|
||||
return "due in " + std::to_string(h) + (h == 1 ? " hour" : " hours");
|
||||
}
|
||||
int d = seconds / 86400;
|
||||
return "due in " + std::to_string(d) + (d == 1 ? " day" : " days");
|
||||
};
|
||||
|
||||
if (state == "Complete") {
|
||||
if (!elapsed.empty() && elapsed != "unknown" && elapsed != "Never") {
|
||||
status = "COMPLETED";
|
||||
status_sub = elapsed;
|
||||
} else if (!completed_time.empty() && completed_time != "Never" && completed_time != "unknown") {
|
||||
status = "COMPLETED";
|
||||
status = "COMPLETED";
|
||||
if (!completed_time.empty() && completed_time != "Never" && completed_time != "unknown") {
|
||||
status_sub = completed_time;
|
||||
} else {
|
||||
status = "COMPLETED";
|
||||
}
|
||||
} else if (state == "Not Due") {
|
||||
status = "Not Due";
|
||||
if (now_ts > 0 && !isnan(due_ts) && due_ts > now_ts) {
|
||||
const int64_t remaining = static_cast<int64_t>(due_ts) - now_ts;
|
||||
const int hours = static_cast<int>((remaining + 3599) / 3600);
|
||||
if (hours <= hour_limit) {
|
||||
status = "Due: " + std::to_string(hours) + (hours == 1 ? " Hour" : " Hours");
|
||||
} else {
|
||||
const int days = static_cast<int>((remaining + 86399) / 86400);
|
||||
status = "Due: " + std::to_string(days) + (days == 1 ? " Day" : " Days");
|
||||
}
|
||||
} else {
|
||||
status = "Not Due";
|
||||
status_sub = due_in_text(remaining);
|
||||
}
|
||||
} else if (state == "Due") {
|
||||
status = "DUE NOW";
|
||||
inverse = true;
|
||||
if (now_ts > 0 && !isnan(due_ts) && now_ts > due_ts) {
|
||||
const int64_t since = static_cast<int64_t>(now_ts - due_ts);
|
||||
status_sub = ago_text(since);
|
||||
}
|
||||
} else if (state == "Overdue") {
|
||||
status = "OVERDUE";
|
||||
inverse = true;
|
||||
} else if (state == "Missed") {
|
||||
status = "MISSED";
|
||||
inverse = true;
|
||||
if (now_ts > 0 && !isnan(due_ts) && now_ts > due_ts) {
|
||||
const int64_t since = static_cast<int64_t>(now_ts - due_ts);
|
||||
status_sub = ago_text(since);
|
||||
}
|
||||
} else if (state == "Skipped") {
|
||||
status = "SKIPPED";
|
||||
inverse = true;
|
||||
|
||||
Reference in New Issue
Block a user