diff --git a/CHANGELOG.md b/CHANGELOG.md index 79413e6..8089ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.1 - November 22 2023 + +- Add groupName for groupchat avatarbuilder + ## 0.4.0 - November 6 2023 - Show amount of unread messages per chat diff --git a/packages/flutter_community_chat/pubspec.yaml b/packages/flutter_community_chat/pubspec.yaml index 36aa766..9bc0680 100644 --- a/packages/flutter_community_chat/pubspec.yaml +++ b/packages/flutter_community_chat/pubspec.yaml @@ -4,7 +4,7 @@ name: flutter_community_chat description: A new Flutter package project. -version: 0.4.0 +version: 0.4.1 publish_to: none @@ -19,12 +19,12 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat path: packages/flutter_community_chat_view - ref: 0.4.0 + ref: 0.4.1 flutter_community_chat_interface: git: url: https://github.com/Iconica-Development/flutter_community_chat path: packages/flutter_community_chat_interface - ref: 0.4.0 + ref: 0.4.1 dev_dependencies: flutter_lints: ^2.0.0 diff --git a/packages/flutter_community_chat_firebase/lib/service/firebase_chat_service.dart b/packages/flutter_community_chat_firebase/lib/service/firebase_chat_service.dart index 02921ec..f9c1933 100644 --- a/packages/flutter_community_chat_firebase/lib/service/firebase_chat_service.dart +++ b/packages/flutter_community_chat_firebase/lib/service/firebase_chat_service.dart @@ -493,6 +493,6 @@ class FirebaseChatService implements ChatService { .doc(currentUser!.id!) .collection('chats') .doc(chat.id) - .update({'amount_unread_messages': 0}); + .set({'amount_unread_messages': 0}, SetOptions(merge: true)); } } diff --git a/packages/flutter_community_chat_firebase/lib/service/firebase_message_service.dart b/packages/flutter_community_chat_firebase/lib/service/firebase_message_service.dart index 70df4f6..fd10724 100644 --- a/packages/flutter_community_chat_firebase/lib/service/firebase_message_service.dart +++ b/packages/flutter_community_chat_firebase/lib/service/firebase_message_service.dart @@ -84,10 +84,20 @@ class FirebaseMessageService implements MessageService { .doc(userId) .collection('chats') .doc(chat.id); - - await userReference.update({ - 'amount_unread_messages': FieldValue.increment(1), - }); + // what if the amount_unread_messages field does not exist? + // it should be created when the chat is create + if ((await userReference.get()) + .data() + ?.containsKey('amount_unread_messages') ?? + false) { + await userReference.update({ + 'amount_unread_messages': FieldValue.increment(1), + }); + } else { + await userReference.set({ + 'amount_unread_messages': 1, + }); + } } } } diff --git a/packages/flutter_community_chat_firebase/pubspec.yaml b/packages/flutter_community_chat_firebase/pubspec.yaml index 8685b7a..bef69b8 100644 --- a/packages/flutter_community_chat_firebase/pubspec.yaml +++ b/packages/flutter_community_chat_firebase/pubspec.yaml @@ -4,7 +4,7 @@ name: flutter_community_chat_firebase description: A new Flutter package project. -version: 0.4.0 +version: 0.4.1 publish_to: none environment: @@ -23,7 +23,7 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat path: packages/flutter_community_chat_interface - ref: 0.4.0 + ref: 0.4.1 dev_dependencies: flutter_lints: ^2.0.0 diff --git a/packages/flutter_community_chat_interface/pubspec.yaml b/packages/flutter_community_chat_interface/pubspec.yaml index 32d7f6d..4caa8b6 100644 --- a/packages/flutter_community_chat_interface/pubspec.yaml +++ b/packages/flutter_community_chat_interface/pubspec.yaml @@ -4,7 +4,7 @@ name: flutter_community_chat_interface description: A new Flutter package project. -version: 0.4.0 +version: 0.4.1 publish_to: none environment: diff --git a/packages/flutter_community_chat_view/example/pubspec.yaml b/packages/flutter_community_chat_view/example/pubspec.yaml index e612f19..2479779 100644 --- a/packages/flutter_community_chat_view/example/pubspec.yaml +++ b/packages/flutter_community_chat_view/example/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat path: packages/flutter_community_chat_view - ref: 0.4.0 + ref: 0.4.1 dev_dependencies: flutter_test: diff --git a/packages/flutter_community_chat_view/lib/src/config/chat_options.dart b/packages/flutter_community_chat_view/lib/src/config/chat_options.dart index 187132d..a71155b 100644 --- a/packages/flutter_community_chat_view/lib/src/config/chat_options.dart +++ b/packages/flutter_community_chat_view/lib/src/config/chat_options.dart @@ -104,6 +104,7 @@ Widget _createUserAvatar( size: size, ); Widget _createGroupAvatar( + String groupName, String imageUrl, double size, ) => @@ -158,6 +159,7 @@ typedef UserAvatarBuilder = Widget Function( ); typedef GroupAvatarBuilder = Widget Function( + String groupName, String imageUrl, double size, ); diff --git a/packages/flutter_community_chat_view/lib/src/screens/chat_detail_screen.dart b/packages/flutter_community_chat_view/lib/src/screens/chat_detail_screen.dart index 7301f1a..ecb0b87 100644 --- a/packages/flutter_community_chat_view/lib/src/screens/chat_detail_screen.dart +++ b/packages/flutter_community_chat_view/lib/src/screens/chat_detail_screen.dart @@ -116,6 +116,7 @@ class _ChatDetailScreenState extends State { : [ if (widget.chat is GroupChatModel) ...[ widget.options.groupAvatarBuilder( + (widget.chat! as GroupChatModel).title, (widget.chat! as GroupChatModel).imageUrl, 36.0, ), diff --git a/packages/flutter_community_chat_view/lib/src/screens/chat_screen.dart b/packages/flutter_community_chat_view/lib/src/screens/chat_screen.dart index 9174ff9..17b7c99 100644 --- a/packages/flutter_community_chat_view/lib/src/screens/chat_screen.dart +++ b/packages/flutter_community_chat_view/lib/src/screens/chat_screen.dart @@ -161,6 +161,7 @@ class _ChatScreenState extends State { : '', avatar: widget.options.groupAvatarBuilder( + chat.title, chat.imageUrl, 40.0, ), diff --git a/packages/flutter_community_chat_view/pubspec.yaml b/packages/flutter_community_chat_view/pubspec.yaml index 3ff8110..d02c31c 100644 --- a/packages/flutter_community_chat_view/pubspec.yaml +++ b/packages/flutter_community_chat_view/pubspec.yaml @@ -4,7 +4,7 @@ name: flutter_community_chat_view description: A standard flutter package. -version: 0.4.0 +version: 0.4.1 publish_to: none @@ -20,7 +20,7 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat path: packages/flutter_community_chat_interface - ref: 0.4.0 + ref: 0.4.1 cached_network_image: ^3.2.2 flutter_image_picker: git: