From 508504fdbd517e51672b3cdc634d4f02013cdce9 Mon Sep 17 00:00:00 2001 From: Florian Griffon Date: Thu, 12 Dec 2024 17:55:32 +0100 Subject: [PATCH] revert: favorite page (wrong branch) --- .../features/favorites/favorites_page.dart | 180 ------------------ 1 file changed, 180 deletions(-) diff --git a/dialer/lib/features/favorites/favorites_page.dart b/dialer/lib/features/favorites/favorites_page.dart index 4cfda5f..48227c5 100644 --- a/dialer/lib/features/favorites/favorites_page.dart +++ b/dialer/lib/features/favorites/favorites_page.dart @@ -1,183 +1,3 @@ -// import 'package:flutter/material.dart'; -// import 'package:flutter_contacts/flutter_contacts.dart'; -// import '../../../widgets/color_darkener.dart'; -// import '../contacts/contact_state.dart'; -// import '../contacts/widgets/add_contact_button.dart'; -// import '../contacts/widgets/contact_modal.dart'; -// import '../contacts/widgets/share_own_qr.dart'; -// import 'package:dialer/widgets/username_color_generator.dart'; - -// class FavoritePage extends StatefulWidget { -// final List contacts; -// final double scrollOffset; - -// const FavoritePage({ -// super.key, -// required this.contacts, -// required this.scrollOffset, -// }); - -// @override -// _FavoritePageState createState() => _FavoritePageState(); -// } - -// class _FavoritePageState extends State { -// late ScrollController _scrollController; -// List _favoriteContacts = []; // Local list of favorite contacts - -// @override -// void initState() { -// super.initState(); -// _favoriteContacts = widget.contacts.where((contact) => contact.isStarred).toList(); // Filter only favorites -// _scrollController = ScrollController(initialScrollOffset: widget.scrollOffset); -// _scrollController.addListener(_onScroll); -// } - -// void _onScroll() { -// final contactState = ContactState.of(context); -// contactState.setScrollOffset(_scrollController.offset); -// } - -// Future _refreshContacts() async { -// if (await FlutterContacts.requestPermission()) { -// final updatedContacts = await FlutterContacts.getContacts( -// withProperties: true, -// withThumbnail: true, -// ); -// setState(() { -// _favoriteContacts = updatedContacts.where((contact) => contact.isStarred).toList(); -// }); -// } -// } - -// void _toggleFavorite(Contact contact) async { -// if (await FlutterContacts.requestPermission()) { -// try { -// // Fetch all contacts (this can be slow if there are many contacts) -// List allContacts = await FlutterContacts.getContacts( -// withProperties: true, -// withThumbnail: true, -// withAccounts: true, -// ); - -// // Find the specific contact by matching contact.id -// Contact? contactToUpdate = allContacts.firstWhere( -// (c) => c.id == contact.id, -// orElse: () => throw Exception("Contact not found"), -// ); - -// if (contactToUpdate != null) { -// contactToUpdate.isStarred = !contactToUpdate.isStarred; - -// // Update the contact -// await FlutterContacts.updateContact(contactToUpdate); - -// // Refresh the favorite contacts list -// setState(() { -// _favoriteContacts = allContacts.where((c) => c.isStarred).toList(); -// }); -// } -// } catch (e) { -// print("Error updating favorite status: $e"); -// } -// } -// } - -// @override -// Widget build(BuildContext context) { -// return Scaffold( -// backgroundColor: Colors.black, -// appBar: AppBar( -// title: const Text('Favorites'), -// backgroundColor: Colors.black, -// actions: [ -// IconButton( -// icon: const Icon(Icons.refresh), -// onPressed: _refreshContacts, -// ), -// ], -// ), -// body: _favoriteContacts.isEmpty -// ? Center( -// child: Text( -// 'No favorite contacts yet!', -// style: TextStyle(color: Colors.white), -// ), -// ) -// : ListView.builder( -// controller: _scrollController, -// itemCount: _favoriteContacts.length, -// itemBuilder: (context, index) { -// Contact contact = _favoriteContacts[index]; -// String phoneNumber = contact.phones.isNotEmpty -// ? contact.phones.first.number -// : 'No phone number'; -// Color avatarColor = generateColorFromName(contact.displayName); - -// return ListTile( -// leading: (contact.thumbnail != null && contact.thumbnail!.isNotEmpty) -// ? CircleAvatar( -// backgroundImage: MemoryImage(contact.thumbnail!), -// ) -// : CircleAvatar( -// backgroundColor: avatarColor, -// child: Text( -// contact.displayName.isNotEmpty -// ? contact.displayName[0].toUpperCase() -// : '?', -// style: TextStyle(color: darken(avatarColor, 0.4)), -// ), -// ), -// title: Text(contact.displayName, style: TextStyle(color: Colors.white)), -// subtitle: Text(phoneNumber, style: TextStyle(color: Colors.white70)), -// onTap: () { -// showModalBottomSheet( -// context: context, -// isScrollControlled: true, -// backgroundColor: Colors.transparent, -// builder: (context) { -// return ContactModal( -// contact: contact, -// onEdit: () async { -// // Trigger edit logic and refresh contacts -// if (await FlutterContacts.requestPermission()) { -// final updatedContact = -// await FlutterContacts.openExternalEdit(contact.id); -// if (updatedContact != null) { -// await _refreshContacts(); -// Navigator.of(context).pop(); -// ScaffoldMessenger.of(context).showSnackBar( -// SnackBar(content: Text('${contact.displayName} updated successfully!')), -// ); -// } else { -// ScaffoldMessenger.of(context).showSnackBar( -// SnackBar(content: Text('Edit canceled or failed.')), -// ); -// } -// } -// }, -// onToggleFavorite: () { -// _toggleFavorite(contact); -// }, -// isFavorite: contact.isStarred, -// ); -// }, -// ); -// }, -// ); -// }, -// ), -// ); -// } - -// @override -// void dispose() { -// _scrollController.dispose(); -// super.dispose(); -// } -// } - - import 'package:flutter/material.dart'; class FavoritePage extends StatefulWidget {