From 67087ab14786adb7d357a05742d0c2720b6d0aa9 Mon Sep 17 00:00:00 2001 From: Freek van de Ven Date: Tue, 11 Jul 2023 13:05:12 +0200 Subject: [PATCH 1/2] feat: add FEATURES.md --- FEATURES.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 FEATURES.md diff --git a/FEATURES.md b/FEATURES.md new file mode 100644 index 0000000..1824a2e --- /dev/null +++ b/FEATURES.md @@ -0,0 +1,7 @@ +List of Features from this component: +* A chat overview screen +* A chat detail screen +* Chats can be between 2 users or group chats +* Chats can contain messages or images +* Interface for interacting with the messages(createChat, sendMessage, etc.) +* Firebase implementation of the interface From 05ec6448f881a60d1c797168a3dd0c2b1821ef0a Mon Sep 17 00:00:00 2001 From: Freek van de Ven Date: Tue, 11 Jul 2023 13:05:23 +0200 Subject: [PATCH 2/2] fix: handle chat without lastmessage --- CHANGELOG.md | 4 ++ packages/flutter_community_chat/pubspec.yaml | 6 +-- .../pubspec.yaml | 4 +- .../pubspec.yaml | 2 +- .../example/.gitignore | 4 +- .../lib/src/screens/chat_screen.dart | 46 ++++++++++--------- .../flutter_community_chat_view/pubspec.yaml | 4 +- 7 files changed, 39 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e17d94..771ff3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.1 - July 11 2023 + +- Removed image message when there is no last message in a chat + ## 0.3.0 - March 31 2023 - Added support for group chats diff --git a/packages/flutter_community_chat/pubspec.yaml b/packages/flutter_community_chat/pubspec.yaml index d09f6d2..356a9dd 100644 --- a/packages/flutter_community_chat/pubspec.yaml +++ b/packages/flutter_community_chat/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_community_chat description: A new Flutter package project. -version: 0.3.0 +version: 0.3.1 publish_to: none @@ -15,12 +15,12 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat.git path: packages/flutter_community_chat_view - ref: 0.3.0 + ref: 0.3.1 flutter_community_chat_interface: git: url: https://github.com/Iconica-Development/flutter_community_chat.git path: packages/flutter_community_chat_interface - ref: 0.3.0 + ref: 0.3.1 dev_dependencies: flutter_lints: ^2.0.0 diff --git a/packages/flutter_community_chat_firebase/pubspec.yaml b/packages/flutter_community_chat_firebase/pubspec.yaml index ac62ef1..ed9dac1 100644 --- a/packages/flutter_community_chat_firebase/pubspec.yaml +++ b/packages/flutter_community_chat_firebase/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_community_chat_firebase description: A new Flutter package project. -version: 0.3.0 +version: 0.3.1 publish_to: none environment: @@ -19,7 +19,7 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat.git path: packages/flutter_community_chat_interface - ref: 0.3.0 + ref: 0.3.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 6d47420..ee5e7b7 100644 --- a/packages/flutter_community_chat_interface/pubspec.yaml +++ b/packages/flutter_community_chat_interface/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_community_chat_interface description: A new Flutter package project. -version: 0.3.0 +version: 0.3.1 publish_to: none environment: diff --git a/packages/flutter_community_chat_view/example/.gitignore b/packages/flutter_community_chat_view/example/.gitignore index f729720..7beccd9 100644 --- a/packages/flutter_community_chat_view/example/.gitignore +++ b/packages/flutter_community_chat_view/example/.gitignore @@ -53,4 +53,6 @@ web windows macos linux -.metadata \ No newline at end of file +.metadata + +pubspec.lock 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 203442f..048912b 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 @@ -33,9 +33,10 @@ class _ChatScreenState extends State { @override Widget build(BuildContext context) { + var translations = widget.translations; return widget.options.scaffoldBuilder( AppBar( - title: Text(widget.translations.chatsTitle), + title: Text(translations.chatsTitle), ), Column( children: [ @@ -54,16 +55,15 @@ class _ChatScreenState extends State { context: context, builder: (BuildContext context) => AlertDialog( title: Text( - widget.translations.deleteChatModalTitle, + translations.deleteChatModalTitle, ), content: Text( - widget - .translations.deleteChatModalDescription, + translations.deleteChatModalDescription, ), actions: [ TextButton( child: Text( - widget.translations.deleteChatModalCancel, + translations.deleteChatModalCancel, ), onPressed: () => Navigator.of(context).pop(false), @@ -72,8 +72,7 @@ class _ChatScreenState extends State { onPressed: () => Navigator.of(context).pop(true), child: Text( - widget - .translations.deleteChatModalConfirm, + translations.deleteChatModalConfirm, ), ), ], @@ -87,7 +86,7 @@ class _ChatScreenState extends State { child: Padding( padding: const EdgeInsets.all(8.0), child: Text( - widget.translations.deleteChatButton, + translations.deleteChatButton, ), ), ), @@ -106,13 +105,15 @@ class _ChatScreenState extends State { 40.0, ), title: chat.user.fullName, - subTitle: chat.lastMessage != null && - chat.lastMessage + subTitle: chat.lastMessage != null + ? chat.lastMessage is ChatTextMessageModel - ? (chat.lastMessage! - as ChatTextMessageModel) - .text - : '📷 ${widget.translations.image}', + ? (chat.lastMessage! + as ChatTextMessageModel) + .text + : '📷 ' + '${translations.image}' + : '', lastUsed: chat.lastUsed != null ? _dateFormatter.format( date: chat.lastUsed!, @@ -121,14 +122,15 @@ class _ChatScreenState extends State { ) : ChatRow( title: (chat as GroupChatModel).title, - subTitle: chat.lastMessage != null && - chat.lastMessage + subTitle: chat.lastMessage != null + ? chat.lastMessage is ChatTextMessageModel - ? (chat.lastMessage! - as ChatTextMessageModel) - .text - : '📷 ' - '${widget.translations.image}', + ? (chat.lastMessage! + as ChatTextMessageModel) + .text + : '📷 ' + '${translations.image}' + : '', avatar: widget.options.groupAvatarBuilder( chat.imageUrl, @@ -155,7 +157,7 @@ class _ChatScreenState extends State { widget.options.newChatButtonBuilder( context, widget.onPressStartChat!, - widget.translations, + translations, ), ], ), diff --git a/packages/flutter_community_chat_view/pubspec.yaml b/packages/flutter_community_chat_view/pubspec.yaml index 28da787..dcdb5fe 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.3.0 +version: 0.3.1 publish_to: none @@ -20,7 +20,7 @@ dependencies: git: url: https://github.com/Iconica-Development/flutter_community_chat.git path: packages/flutter_community_chat_interface - ref: 0.3.0 + ref: 0.3.1 cached_network_image: ^3.2.2 flutter_image_picker: git: