From 6ec550e7ecb21f01a450fb76e2a754958cbc29e5 Mon Sep 17 00:00:00 2001 From: poka Date: Wed, 15 Mar 2023 18:31:55 +0100 Subject: [PATCH] refacto: contact screen --- lib/screens/my_contacts.dart | 11 ++--------- lib/widgets/contacts_list.dart | 11 ++++++----- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/lib/screens/my_contacts.dart b/lib/screens/my_contacts.dart index 0d12ac6..8ad3776 100644 --- a/lib/screens/my_contacts.dart +++ b/lib/screens/my_contacts.dart @@ -2,24 +2,19 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:gecko/globals.dart'; import 'package:flutter/material.dart'; -import 'package:gecko/providers/duniter_indexer.dart'; -import 'package:gecko/providers/wallets_profiles.dart'; import 'package:gecko/widgets/bottom_app_bar.dart'; import 'package:gecko/widgets/commons/offline_info.dart'; import 'package:gecko/widgets/contacts_list.dart'; -import 'package:provider/provider.dart'; class ContactsScreen extends StatelessWidget { const ContactsScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { - WalletsProfilesProvider walletsProfilesClass = - Provider.of(context, listen: true); - final duniterIndexer = Provider.of(context, listen: false); double avatarSize = 55; final myContacts = contactsBox.toMap().values.toList(); + // Order contacts by username myContacts.sort((p1, p2) { return Comparable.compare(p1.username?.toLowerCase() ?? 'zz', p2.username?.toLowerCase() ?? 'zz'); @@ -41,9 +36,7 @@ class ContactsScreen extends StatelessWidget { child: Stack(children: [ ContactsList( myContacts: myContacts, - avatarSize: avatarSize, - walletsProfilesClass: walletsProfilesClass, - duniterIndexer: duniterIndexer), + avatarSize: avatarSize), const OfflineInfo(), ]), ), diff --git a/lib/widgets/contacts_list.dart b/lib/widgets/contacts_list.dart index cc374d2..ea8af11 100644 --- a/lib/widgets/contacts_list.dart +++ b/lib/widgets/contacts_list.dart @@ -11,29 +11,30 @@ import 'package:gecko/providers/wallets_profiles.dart'; import 'package:gecko/screens/wallet_view.dart'; import 'package:gecko/widgets/balance.dart'; import 'package:gecko/widgets/name_by_address.dart'; +import 'package:provider/provider.dart'; class ContactsList extends StatelessWidget { const ContactsList({ Key? key, required this.myContacts, required this.avatarSize, - required this.walletsProfilesClass, - required this.duniterIndexer, }) : super(key: key); final List myContacts; final double avatarSize; - final WalletsProfilesProvider walletsProfilesClass; - final DuniterIndexer duniterIndexer; @override Widget build(BuildContext context) { + final walletsProfilesClass = + Provider.of(context, listen: true); + final duniterIndexer = Provider.of(context, listen: false); + return Padding( padding: const EdgeInsets.symmetric(horizontal: 20), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const SizedBox(height: 20), + const SizedBox(height: 20, width: double.infinity), if (myContacts.isEmpty) Text('noContacts'.tr()) else