Message screen

This commit is contained in:
Jakub
2026-05-29 09:51:47 +02:00
parent 6ce67b80cf
commit 7243793f9b
9 changed files with 9 additions and 56 deletions

View File

@@ -1,50 +0,0 @@
View and send messages using the on-screen keyboard or predefined quick replies. The keyboard supports placeholders that insert live sensor data — `{time}` and `{loc}` are always available; additional placeholders (`{temp}`, `{hum}`, `{pres}`, `{batt}`, `{alt}`, `{lux}`, `{co2}`) appear automatically for sensors that are connected and returning data.
Each message in the history list shows the sender name and a compact age indicator (`3m`, `2h`, `>1d`) in the top-right corner of the entry.
```
╔══════════════════════════════╗
║ #general ║
╠══════════════════════════════╣
║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ║ ← selected
║ Alice 3m ║
║ Hey, let's meet tomorrow ║
║┌───────────────────────────┐ ║
║│▓▓▓▓▓▓▓▓▓ Bob 1h ▓▓▓▓ │ ║
║│ Sure, what time works? │ ║
║└───────────────────────────┘ ║
║[+ send] ║
╚══════════════════════════════╝
```
Press Enter on a message to open it in fullscreen. Navigate between messages with left (newer) and right (older). If the message is a reply addressed to someone (`@[nick]`), a **To: nick** bar is shown below the sender name and the body is displayed without the address prefix.
```
╔══════════════════════════════╗
║▓▓ Alice ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ║ ← sender
║▓▓ To: Bob ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ║ ← recipient
╠══════════════════════════════╣
║ Hey Bob, let's meet up ║
║ tomorrow at 6pm downtown. ║
║ Will you make it? ║
║ ║
║< newer older >║
╚══════════════════════════════╝
```
Hold Enter on a message to open a context menu. From the list or fullscreen view, select **Reply** to pre-fill the keyboard or a quick message with `@[nick]` so the recipient is clearly addressed. The reply picker title shows the recipient's name.
```
╔══════════════════════════════╗
║ RE:Alice ║
╠══════════════════════════════╣
║> Custom message... ║
║ OK, I understand ║
║ On my way ║
║ Be right there ║
╚══════════════════════════════╝
```
On channel or contact list entries, the context menu also lets you change per-channel notification settings (mute, follow global, or force-on), per-channel melody override (follow global, Melody 1, or Melody 2), or mark messages as read.
**Mark all read** — Hold Enter on the DM / Channels / Rooms mode-select screen to clear all unread counters for the highlighted category at once.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -27,7 +27,7 @@ The keyboard supports placeholders that insert live data at send time:
| Placeholder | Value | Availability |
|-------------|-------|--------------|
| `{time}` | current time (HH:MM) | always |
| `{loc}` | GPS coordinates | always (empty if no fix) |
| `{loc}` | GPS coordinates | always ("no GPS" if no fix) |
| `{temp}` | temperature | sensor connected |
| `{hum}` | humidity | sensor connected |
| `{pres}` | barometric pressure | sensor connected |
@@ -60,18 +60,21 @@ Each entry in the history list shows the sender name and a compact age indicator
Navigate between messages with **LEFT** (newer) and **RIGHT** (older). Long messages scroll with **UP/DOWN**.
If the message is a reply addressed to someone (`@[nick]`), a **To: nick** bar is shown below the sender name and the body is displayed without the address prefix.
| OLED | E-Ink |
|:----:|:-----:|
| ![](./mes_scr_5_oled.png) | |
**Hold Enter** in fullscreen opens the Reply option.
---
### Context menu — contact list
| OLED | E-Ink |
|:----:|:-----:|
| ![](./mes_scr_5_oled.png) | |
**Hold Enter** on a contact entry opens a context menu:
| OLED | E-Ink |
|:----:|:-----:|
| ![](./mes_scr_6_oled.png) | |
| Item | Action |
|------|--------|
@@ -88,7 +91,7 @@ When **Pin to dial** is selected, a slot picker opens (Slot 16 showing curren
| OLED | E-Ink |
|:----:|:-----:|
| ![](./mes_scr_6_oled.png) | |
| ![](./mes_scr_7_oled.png) | |
**Hold Enter** on a channel entry opens a context menu: