feat(block2): messages inbox + drawer 'Chat' link (was unreachable)

Chat was only reachable via an offer's 'Message' button, and the drawer 'Chat'
sat on 'coming soon' — so messaging/trust were effectively hidden.
- MessageStore keeps a conversation index (the keystore has no key enumeration)
  and exposes conversations() — peers newest-active-first with their last line.
- ChatListScreen: the messages inbox (tap a conversation → /chat/:pubkey).
- Drawer 'Chat' is now a live destination -> /messages (gated like Market).
- i18n en/es/pt. conversations() covered by a plain test (no widget hang).

Analyzer clean.
This commit is contained in:
vjrj 2026-07-10 12:26:33 +02:00
parent 6d16656911
commit 7f1c520960
12 changed files with 211 additions and 3 deletions

View file

@ -49,6 +49,12 @@ class AppDrawer extends StatelessWidget {
_DrawerItem(
icon: const Icon(Icons.chat_bubble),
label: t.menu.chat,
onTap: marketEnabled
? () {
Navigator.of(context).pop();
context.go('/messages');
}
: null,
),
_DrawerItem(
icon: const Icon(Icons.favorite),