mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 19:02:00 +00:00
feat(l1): L2 splash, hovering Home icons, soft selections, two-line DM bubbles
- Splash: the L2 wordmark and lettering, shared through ui-core/Lettering.h, rise in with loading dots under the version line (static frame on e-ink). - Home: the header shows the time once the clock is set; icon pages carry only their title. One 32 px icon family (3 px strokes) bobs 2 px over a dithered blob shadow that shrinks as it rises; the unread badge rides on the Messages bubble; Bluetooth off is the icon at half density. - Soft corners on every selection, the page pill, tabs and popups; dotted scrollbar track with a rounded thumb; the tab bar lays out whole tabs and shows edge arrows only in free space. - DM bubbles drop the sender row and wrap to a second line, with the delivery mark and age closing it. - Keyboards name what is typed (channel, contact, Password, Scope...) and show characters left near the limit; PIN entry has its own preview. - Loading dots for waits (login, scan, GPS) and signal bars in place of raw RSSI in Nearby. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -51,8 +51,9 @@ class ChannelsView {
|
||||
|
||||
KeyboardWidget& kb() { return _task->keyboard(); }
|
||||
|
||||
void openKb(const char* initial, int max) {
|
||||
void openKb(const char* initial, int max, const char* prompt) {
|
||||
kb().begin(initial, max);
|
||||
kb().prompt = prompt;
|
||||
kb().clearPlaceholders(); // literal field — {loc}/{time} make no sense here
|
||||
_kb_active = true;
|
||||
}
|
||||
@@ -195,7 +196,7 @@ public:
|
||||
if (c == KEY_UP) { _sel = (_sel > 0) ? _sel - 1 : 1; return true; }
|
||||
if (c == KEY_DOWN) { _sel = (_sel < 1) ? _sel + 1 : 0; return true; }
|
||||
if (c == KEY_ENTER) {
|
||||
if (_sel == 0) { _kb_field = 2; openKb(_topic, sizeof(_topic) - 1); }
|
||||
if (_sel == 0) { _kb_field = 2; openKb(_topic, sizeof(_topic) - 1, "Hashtag"); }
|
||||
else commit();
|
||||
}
|
||||
return true;
|
||||
@@ -210,8 +211,8 @@ public:
|
||||
return true;
|
||||
}
|
||||
if (c == KEY_ENTER) {
|
||||
if (_sel == 0) { _kb_field = 0; openKb(_name, sizeof(_name) - 1); }
|
||||
else if (_sel == 1) { _kb_field = 1; openKb(_secret_text, _hex_mode ? 32 : (int)sizeof(_secret_text) - 1); }
|
||||
if (_sel == 0) { _kb_field = 0; openKb(_name, sizeof(_name) - 1, "Name"); }
|
||||
else if (_sel == 1) { _kb_field = 1; openKb(_secret_text, _hex_mode ? 32 : (int)sizeof(_secret_text) - 1, "Secret"); }
|
||||
else commit();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user