buildAddresses method
dynamic
buildAddresses( - dynamic context,
- dynamic addresses
)
Implementation
Widget buildAddresses(BuildContext context, EmailAddresses addresses) {
if (addresses.unconfirmed.isNotEmpty) {
final slivers = [
SliverToBoxAdapter(
child: Padding(
padding: const EdgeInsetsDirectional.symmetric(
horizontal: 20,
vertical: 15,
),
child: Row(
children: [
const Padding(
padding: EdgeInsets.only(right: 10),
child: Icon(Atlas.envelope_question_thin),
),
Text(
L10n.of(context).awaitingConfirmation,
style: Theme.of(context).textTheme.headlineSmall,
),
],
),
),
),
SliverToBoxAdapter(
child: Padding(
padding: const EdgeInsetsDirectional.symmetric(
horizontal: 20,
vertical: 15,
),
child: Text(
L10n.of(context).awaitingConfirmationDescription,
style: Theme.of(context).textTheme.bodyMedium,
),
),
),
SliverList.builder(
itemBuilder: (context, index) => EmailAddressCard(
emailAddress: addresses.unconfirmed[index],
isConfirmed: false,
),
itemCount: addresses.unconfirmed.length,
),
];
if (addresses.confirmed.isNotEmpty) {
slivers.addAll([
SliverToBoxAdapter(
child: Padding(
padding: const EdgeInsetsDirectional.symmetric(
horizontal: 20,
vertical: 15,
),
child: Text(
L10n.of(context).confirmedEmailAddresses,
style: Theme.of(context).textTheme.headlineSmall,
),
),
),
SliverList.builder(
itemBuilder: (context, index) => EmailAddressCard(
emailAddress: addresses.confirmed[index],
isConfirmed: true,
),
itemCount: addresses.confirmed.length,
),
]);
}
return CustomScrollView(slivers: slivers);
}
return CustomScrollView(
slivers: [
SliverToBoxAdapter(
child: Padding(
padding: const EdgeInsetsDirectional.symmetric(
horizontal: 20,
vertical: 15,
),
child: Text(
L10n.of(context).confirmedEmailAddressesDescription,
style: Theme.of(context).textTheme.bodyMedium,
),
),
),
SliverList.builder(
itemBuilder: (context, index) => EmailAddressCard(
emailAddress: addresses.confirmed[index],
isConfirmed: true,
),
itemCount: addresses.confirmed.length,
),
],
);
}