feat: Favourites support using firmware flags bit 0

- Contact.isFavourite reads bit 0 of firmware flags field
- Toggle favourite via contact action sheet (writes to device)
- Favourites section shown first in contacts tab
- Path size options corrected to [1, 2, 3] bytes
This commit is contained in:
Janez T
2026-03-17 09:44:07 +01:00
parent 6187067017
commit 1e97ba9831
6 changed files with 72 additions and 3 deletions

View File

@@ -348,6 +348,29 @@ class ContactTile extends StatelessWidget {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
if (!contact.isChannel)
ListTile(
leading: Icon(
contact.isFavourite ? Icons.star : Icons.star_outline,
color: contact.isFavourite ? Colors.amber : null,
),
title: Text(
contact.isFavourite
? 'Remove from Favourites'
: 'Add to Favourites',
),
onTap: () async {
Navigator.pop(sheetContext);
final toggled = contact.toggleFavourite();
final connectionProvider =
context.read<ConnectionProvider>();
await connectionProvider.addOrUpdateContact(toggled);
if (context.mounted) {
// Refresh contact from device so the local cache is updated
await connectionProvider.getContact(contact.publicKey);
}
},
),
ListTile(
leading: const Icon(Icons.message_outlined),
title: Text(l10n.messages),