Now for some internet optimism.
at_contacts_flutter
A flutter plugin project for CRUD operations on contacts.
Getting Started
This plugin provides two screens:
Contacts
This lists the contacts. From this screen a new contact can be added. Also, an existing contact can be blocked or deleted.
Blocked Contacts
This screen lists the blocked contacts. It also gives the option to unblock a contact in it.
Sample usage
It is expected that the app will first create an AtClientService instance and authenticate an atsign.
The contacts service needs to be initialised with the atClient
from the AtClientService
, current atsign and the root server.
initializeContactsService(
clientSdkService.atClientServiceInstance.atClient, currentAtSign,
rootDomain: MixedConstants.ROOT_DOMAIN);
Navigating to the contacts or blocked contacts is done simply by using:
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => ContactsScreen(),
));
or
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => BlockedScreen(),
));
Libraries
- at_contacts_flutter
- screens/blocked_screen
- Screen exposed to see blocked contacts and unblock them
- screens/contacts_screen
- The screen which is exposed from the library for displaying, adding, selecting and deleting Contacts,
takes in @param context to get the app context
@param
currentAtsing
to get the contacts for the giveatSign
@paramselectedList
is a callback function to return back the selected list from the screen to the app @paramasSelectionScreen
toggles between the selection type screen of to display the contacts - services/contact_service
- A service to handle CRUD operation on contacts
- utils/colors
- utils/exposed_service
- utils/images
- utils/init_contacts_service
- utils/text_strings
- utils/text_styles
- widgets/add_contacts_dialog
- A popup to ask the
AtSign
which is to be added - widgets/add_singular_contact_dialog
- widgets/blocked_user_card
- A list tile to display the blocked contact
takes in a
AtContact
blocked user and displays it's name, atsign, profile picture and option to unblock the user - widgets/bottom_sheet
- A bottom sheet widget to diaplay the number of contacts selected from
contact list and what to do of that list on press of
Done
takes in @paramonPressed
which defines what to be executed on press ofDone
@paramselectedList
is a ValueChanged function which return the selected contacts to be used outside of package. - widgets/circular_contacts
- widgets/contacts_initials
- This is a widget to display the initials of an atsign which does not have a profile picture
it takes in @param
size
as a double and @paraminitials
as String and display those initials in a circular avatar with random colors - widgets/custom_circle_avatar
- A customized circular avatar to display the profile picture with a small border
takes in @param
image
for theasset image
@paramsize
to define the size of the avatar @paramnonAsset
if the image is coming over the network @parambyteImage
to display the image from the netwok - widgets/custom_list_tile
- A custom list tile to display the contacts
takes in a function @param
onTap
to define what happens on tap of the tile @paramonTrailingPresses
to set the behaviour for trailing icon @paramasSelectionTile
to toggle whether the tile is selectable to select contacts @paramcontact
for details of the contact @paramcontactService
to get an instance ofAtContactsImpl
- widgets/custom_search_field
- A search field to filter out the contacts
- widgets/error_screen
- widgets/horizontal_list_view