diff --git a/lib/ui/widgets/first_screen/pay_contact_search_button.dart b/lib/ui/widgets/first_screen/pay_contact_search_button.dart index c6e5162499ebd8b02fde5c40ba65e9e64bf789cc..d961ada79a267493fec63a519573c1fee7bee76d 100644 --- a/lib/ui/widgets/first_screen/pay_contact_search_button.dart +++ b/lib/ui/widgets/first_screen/pay_contact_search_button.dart @@ -5,7 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import '../../../data/models/payment_cubit.dart'; import '../../../data/models/payment_state.dart'; import 'pay_contact_search_page.dart'; -import 'recipient_widget.dart'; +import 'pay_recipient_widget.dart'; class PayContactSearchButton extends StatefulWidget { const PayContactSearchButton({super.key}); @@ -49,7 +49,7 @@ class _PayContactSearchButtonState extends State<PayContactSearchButton> { ), ); } else { - return const RecipientWidget(); + return const PayRecipientWidget(); } }); } diff --git a/lib/ui/widgets/first_screen/pay_recipient_widget.dart b/lib/ui/widgets/first_screen/pay_recipient_widget.dart new file mode 100644 index 0000000000000000000000000000000000000000..b6806a560b77bddbe2e86fb77f583d7cac96c4cb --- /dev/null +++ b/lib/ui/widgets/first_screen/pay_recipient_widget.dart @@ -0,0 +1,71 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import '../../../data/models/contact_cubit.dart'; +import '../../../data/models/contact_state.dart'; +import '../../../data/models/payment_cubit.dart'; +import '../../ui_helpers.dart'; +import 'contact_fav_icon.dart'; + +class PayRecipientWidget extends StatelessWidget { + const PayRecipientWidget({super.key}); + + @override + Widget build(BuildContext context) { + final PaymentCubit paymentCubit = BlocProvider.of<PaymentCubit>(context); + final ContactsCubit contactsCubit = BlocProvider.of<ContactsCubit>(context); + return Card( + elevation: 8, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: <Widget>[ + avatar(paymentCubit.state.contact!.avatar), + const SizedBox(width: 16.0), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: <Widget>[ + if (paymentCubit.state.contact!.title != null) + Text( + paymentCubit.state.contact!.title, + style: const TextStyle( + fontSize: 20.0, + fontWeight: FontWeight.bold, + ), + ), + if (paymentCubit.state.contact!.subtitle != null) + Padding( + padding: const EdgeInsets.fromLTRB(0, 2, 0, 0), + child: Text( + paymentCubit.state.contact!.subtitle!, + style: const TextStyle( + fontSize: 16.0, + ), + )), + ], + ), + ), + // Is not is contact, allow to add to contacts + if (!contactsCubit.isContact(paymentCubit.state.contact!.pubKey)) + BlocBuilder<ContactsCubit, ContactsState>( + builder: (BuildContext context, ContactsState state) { + return ContactFavIcon( + contact: paymentCubit.state.contact!, + contactsCubit: context.read<ContactsCubit>()); + }), + IconButton( + icon: const Icon(Icons.cancel), + onPressed: () { + context.read<PaymentCubit>().clearRecipient(); + }, + ), + ], + ), + )); + } +} diff --git a/lib/ui/widgets/first_screen/recipient_widget.dart b/lib/ui/widgets/first_screen/recipient_widget.dart deleted file mode 100644 index b9e7334559b855c045f20052373d62dbed02cfea..0000000000000000000000000000000000000000 --- a/lib/ui/widgets/first_screen/recipient_widget.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import '../../../data/models/contact_cubit.dart'; -import '../../../data/models/contact_state.dart'; -import '../../../data/models/payment_cubit.dart'; -import '../../ui_helpers.dart'; -import 'contact_fav_icon.dart'; - -class RecipientWidget extends StatelessWidget { - const RecipientWidget({super.key}); - - @override - Widget build(BuildContext context) { - final PaymentCubit paymentCubit = BlocProvider.of<PaymentCubit>(context); - final ContactsCubit contactsCubit = BlocProvider.of<ContactsCubit>(context); - return Card( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: <Widget>[ - avatar(paymentCubit.state.contact!.avatar), - const SizedBox(width: 16.0), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: <Widget>[ - if (paymentCubit.state.contact!.title != null) - Text( - paymentCubit.state.contact!.title, - style: const TextStyle( - fontSize: 20.0, - fontWeight: FontWeight.bold, - ), - ), - if (paymentCubit.state.contact!.subtitle != null) - Padding( - padding: const EdgeInsets.fromLTRB(0, 2, 0, 0), - child: Text( - paymentCubit.state.contact!.subtitle!, - style: const TextStyle( - fontSize: 16.0, - ), - )), - ], - ), - ), - // Is not is contact, allow to add to contacts - if (!contactsCubit.isContact(paymentCubit.state.contact!.pubKey)) - BlocBuilder<ContactsCubit, ContactsState>( - builder: (BuildContext context, ContactsState state) { - return ContactFavIcon( - contact: paymentCubit.state.contact!, - contactsCubit: context.read<ContactsCubit>()); - }), - IconButton( - icon: const Icon(Icons.cancel), - onPressed: () { - context.read<PaymentCubit>().clearRecipient(); - }, - ), - ], - ), - )); - } -}