From 1f5047cf08376a3dbb9c077960ea479754a1ec92 Mon Sep 17 00:00:00 2001
From: vjrj <vjrj@comunes.org>
Date: Wed, 3 May 2023 00:02:34 +0200
Subject: [PATCH] Allow to Fav contacts in payments

---
 .../first_screen/pay_contact_search_page.dart | 21 +++----------------
 .../first_screen/recipient_widget.dart        |  5 +++++
 2 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/lib/ui/widgets/first_screen/pay_contact_search_page.dart b/lib/ui/widgets/first_screen/pay_contact_search_page.dart
index ecdd1b89..bc45e5e1 100644
--- a/lib/ui/widgets/first_screen/pay_contact_search_page.dart
+++ b/lib/ui/widgets/first_screen/pay_contact_search_page.dart
@@ -19,6 +19,7 @@ import '../../ui_helpers.dart';
 import '../custom_error_widget.dart';
 import '../loading_box.dart';
 import '../third_screen/contacts_page.dart';
+import 'contact_fav_icon.dart';
 
 class PayContactSearchPage extends StatefulWidget {
   const PayContactSearchPage({super.key});
@@ -237,24 +238,8 @@ class _PayContactSearchPageState extends State<PayContactSearchPage> {
       },
       trailing: BlocBuilder<ContactsCubit, ContactsState>(
           builder: (BuildContext context, ContactsState state) {
-        final ContactsCubit contactsCubit = context.read<ContactsCubit>();
-        final bool isFavorite = contactsCubit.isContact(contact.pubKey);
-        return IconButton(
-            icon: Icon(
-              isFavorite ? Icons.favorite : Icons.favorite_border,
-              color: isFavorite ? Colors.red.shade400 : null,
-            ),
-            onPressed: () {
-              // setState(() {
-              if (!isFavorite) {
-                contactsCubit.addContact(contact);
-              } else {
-                contactsCubit.removeContact(Contact(
-                  pubKey: contact.pubKey,
-                ));
-              }
-            });
-        // });
+        return ContactFavIcon(
+            contact: contact, contactsCubit: context.read<ContactsCubit>());
       }),
     );
   }
diff --git a/lib/ui/widgets/first_screen/recipient_widget.dart b/lib/ui/widgets/first_screen/recipient_widget.dart
index 58a5ab85..03f6bd08 100644
--- a/lib/ui/widgets/first_screen/recipient_widget.dart
+++ b/lib/ui/widgets/first_screen/recipient_widget.dart
@@ -1,9 +1,11 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 
+import '../../../data/models/contact_cubit.dart';
 import '../../../data/models/payment_cubit.dart';
 import '../../../data/models/payment_state.dart';
 import '../../ui_helpers.dart';
+import 'contact_fav_icon.dart';
 
 class RecipientWidget extends StatelessWidget {
   const RecipientWidget({super.key});
@@ -43,6 +45,9 @@ class RecipientWidget extends StatelessWidget {
                         ],
                       ),
                     ),
+                    ContactFavIcon(
+                        contact: state.contact!,
+                        contactsCubit: context.watch<ContactsCubit>()),
                     IconButton(
                       icon: const Icon(Icons.cancel),
                       onPressed: () {
-- 
GitLab