feat(ui): open DM from filled Favourites tile

Enter on a populated slot of the Favourites grid now jumps straight into
that contact's DM history — resolves the pinned 6-byte pub_key prefix
against the contact list, then routes through new
UITask::openContactDM(ci) which resets QuickMsgScreen and calls
enterDM() to land directly in DM_HIST.

Empty slots still show the "pin from contact options" hint until phase 3
wires the in-grid mini-picker.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-05-25 07:52:56 +02:00
co-authored by Claude Sonnet 4.6
parent bee8e7c3dd
commit fd37b84d71
3 changed files with 40 additions and 2 deletions
@@ -473,6 +473,18 @@ public:
_viewing_max_seen = 0;
}
// Jump straight into a contact's DM history (used by the Favourites dial).
// Caller must have already reset() the screen.
void enterDM(const ContactInfo& ci) {
_sel_contact = ci;
_task->clearDMUnread(ci.id.pub_key);
_dm_hist_sel = -1;
_dm_hist_scroll = 0;
_dm_fs.active = false;
_room_mode = false;
_phase = DM_HIST;
}
int render(DisplayDriver& display) override {
display.setTextSize(1);
display.setColor(DisplayDriver::LIGHT);