feat(l1): Home quick panels, map page with live data, quieter status bar

- Icon pages become quick panels: two or three rows (Settings, Messages,
  Bluetooth, Advert, Tools, Power) inset from the edges, the last one
  opening the full screen. Brightness and auto-advert are edited in place
  (Enter, Left/Right, Enter/Back saves once).
- Tools panel shows the two tools used last with their live state.
- Map page: preview on the left, GPS / trail / live / target on the right.
- Favourites as soft cards; Status tile with a battery spark line.
- Status bar without boxes or blinking; BT only when connected, GPS
  search glyph without a fix.
- Redrawn mini icons (advert waves, cog, wrench, messages); big hovering
  icons removed. Tools list is text only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-10-02 10:23:58 +02:00
co-authored by Claude Opus 5.5
parent 6d8e56fbd0
commit 0f635c0171
9 changed files with 521 additions and 582 deletions
@@ -8,16 +8,20 @@ class AutoAdvertScreen : public UIScreen {
NodePrefs* _prefs;
bool _dirty;
public:
// The intervals on offer, shared with the Home Advert panel.
static const int OPT_COUNT = 8;
static const uint32_t OPTS[OPT_COUNT];
static const char* OPT_LABELS[OPT_COUNT];
int currentIdx() const {
static int indexOf(uint32_t sec) {
for (int i = 0; i < OPT_COUNT; i++)
if (OPTS[i] == _prefs->advert_auto_interval_sec) return i;
if (OPTS[i] == sec) return i;
return 0;
}
private:
int currentIdx() const { return indexOf(_prefs->advert_auto_interval_sec); }
public:
AutoAdvertScreen(UITask* task, NodePrefs* prefs) : _task(task), _prefs(prefs) {}