Florian Griffon
fca1eea1c9
All checks were successful
/ mirror (push) Successful in 4s
Feat: contact-modal et refonte du contact-state pour la page de favori et possibilité de update les contacts. Aussi mis la composition page avec le service de contact, on évite de fetch dans la page directement Reviewed-on: #10 Co-authored-by: Florian Griffon <florian.griffon@epitech.eu> Co-committed-by: Florian Griffon <florian.griffon@epitech.eu>
32 lines
901 B
Dart
32 lines
901 B
Dart
import 'package:flutter_contacts/flutter_contacts.dart';
|
|
|
|
// Service to manage contact-related operations
|
|
class ContactService {
|
|
Future<List<Contact>> fetchContacts() async {
|
|
if (await FlutterContacts.requestPermission()) {
|
|
return await FlutterContacts.getContacts(
|
|
withProperties: true,
|
|
withThumbnail: true,
|
|
withAccounts: true,
|
|
withGroups: true,
|
|
withPhoto: true);
|
|
}
|
|
return [];
|
|
}
|
|
|
|
Future<List<Contact>> fetchFavoriteContacts() async {
|
|
// Fetch all contacts
|
|
List<Contact> contacts = await fetchContacts();
|
|
|
|
// Filter contacts to only include those with isStarred: true
|
|
List<Contact> favoriteContacts =
|
|
contacts.where((contact) => contact.isStarred).toList();
|
|
|
|
return favoriteContacts;
|
|
}
|
|
|
|
Future<void> addNewContact(Contact contact) async {
|
|
await FlutterContacts.insertContact(contact);
|
|
}
|
|
}
|