Skip to content
Snippets Groups Projects
Commit adba0238 authored by vjrj's avatar vjrj
Browse files

Refactor of pay recipient card and better elevation

parent dd0db6f9
No related branches found
No related tags found
No related merge requests found
......@@ -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();
}
});
}
......
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();
},
),
],
),
));
}
}
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();
},
),
],
),
));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment