From 34a29c82f58967d2f08bf411dea1f7a54ac2ee3f Mon Sep 17 00:00:00 2001 From: vatsaltanna-simformsolutions <63704011+vatsaltanna-simformsolutions@users.noreply.github.com> Date: Tue, 18 Jun 2024 15:04:07 +0530 Subject: [PATCH] refactor!: :hammer: update sendBy parameter name of Message class to sentBy (#188) --- CHANGELOG.md | 2 ++ README.md | 14 ++++++----- example/lib/data.dart | 24 +++++++++---------- example/lib/main.dart | 4 ++-- lib/src/controller/chat_controller.dart | 2 +- lib/src/models/message.dart | 12 +++++----- lib/src/models/reply_popup_configuration.dart | 2 +- .../models/swipe_to_reply_configuration.dart | 4 ++-- lib/src/values/typedefs.dart | 2 +- lib/src/widgets/chat_bubble_widget.dart | 8 +++---- lib/src/widgets/chat_list_widget.dart | 10 ++++---- lib/src/widgets/reply_popup_widget.dart | 8 +++---- lib/src/widgets/send_message_widget.dart | 2 +- 13 files changed, 49 insertions(+), 45 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index edfd4ddb..86bf19b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ json serializable of models and added copyWith method (Message, Reaction and Reply Message). * **Breaking**: [181](https://github.com/SimformSolutionsPvtLtd/flutter_chatview/pull/181) Removed deprecated field `showTypingIndicator` from ChatView. +* **Breaking**: [187](https://github.com/SimformSolutionsPvtLtd/flutter_chatview/pull/187) update sendBy + parameter name of Message class to sentBy * **Feat**: [179](https://github.com/SimformSolutionsPvtLtd/flutter_chatview/pull/179) Added reply suggestions functionality * **Feat**: [157](https://github.com/SimformSolutionsPvtLtd/flutter_chatview/pull/157) Added onTap diff --git a/README.md b/README.md index dd103094..5894e6d0 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ ChatView( ), ``` +Renamed `sendBy` field to `sentBy` in `Message` class. + Updated `ChatUser`, `Message` and `ReplyMessage` Data Model's `fromJson` and `toJson` methods: in `ChatUser.fromJson`: @@ -222,13 +224,13 @@ List messageList = [ id: '1', message: "Hi", createdAt: createdAt, - sendBy: userId, + sentBy: userId, ), Message( id: '2', message: "Hello", createdAt: createdAt, - sendBy: userId, + sentBy: userId, ), ]; ``` @@ -240,7 +242,7 @@ void onSendTap(String message, ReplyMessage replyMessage, MessageType messageTyp id: '3', message: "How are you", createdAt: DateTime.now(), - sendBy: currentUser.id, + senBy: currentUser.id, replyMessage: replyMessage, messageType: messageType, ); @@ -389,10 +391,10 @@ ChatView( ChatView( ... swipeToReplyConfig: SwipeToReplyConfiguration( - onLeftSwipe: (message, sendBy){ + onLeftSwipe: (message, sentBy){ // Your code goes here }, - onRightSwipe: (message, sendBy){ + onRightSwipe: (message, sentBy){ // Your code goes here }, ), @@ -658,7 +660,7 @@ ChatView( onReportTap: (Message message) { debugPrint('Message: $message'); }, - onMoreTap: (Message message, bool sendByCurrentUser) { + onMoreTap: (Message message, bool sentByCurrentUser) { debugPrint('Message : $message'); }, ), diff --git a/example/lib/data.dart b/example/lib/data.dart index cf086eae..d90ac011 100644 --- a/example/lib/data.dart +++ b/example/lib/data.dart @@ -8,35 +8,35 @@ class Data { id: '1', message: "Hi!", createdAt: DateTime.now(), - sendBy: '1', // userId of who sends the message + sentBy: '1', // userId of who sends the message status: MessageStatus.read, ), Message( id: '2', message: "Hi!", createdAt: DateTime.now(), - sendBy: '2', + sentBy: '2', status: MessageStatus.read, ), Message( id: '3', message: "We can meet?I am free", createdAt: DateTime.now(), - sendBy: '1', + sentBy: '1', status: MessageStatus.read, ), Message( id: '4', message: "Can you write the time and place of the meeting?", createdAt: DateTime.now(), - sendBy: '1', + sentBy: '1', status: MessageStatus.read, ), Message( id: '5', message: "That's fine", createdAt: DateTime.now(), - sendBy: '2', + sentBy: '2', reaction: Reaction(reactions: ['\u{2764}'], reactedUserIds: ['1']), status: MessageStatus.read, ), @@ -44,21 +44,21 @@ class Data { id: '6', message: "When to go ?", createdAt: DateTime.now(), - sendBy: '3', + sentBy: '3', status: MessageStatus.read, ), Message( id: '7', message: "I guess Simform will reply", createdAt: DateTime.now(), - sendBy: '4', + sentBy: '4', status: MessageStatus.read, ), Message( id: '8', message: "https://bit.ly/3JHS2Wl", createdAt: DateTime.now(), - sendBy: '2', + sentBy: '2', reaction: Reaction( reactions: ['\u{2764}', '\u{1F44D}', '\u{1F44D}'], reactedUserIds: ['2', '3', '4'], @@ -75,7 +75,7 @@ class Data { id: '9', message: "Done", createdAt: DateTime.now(), - sendBy: '1', + sentBy: '1', status: MessageStatus.read, reaction: Reaction( reactions: [ @@ -91,7 +91,7 @@ class Data { message: "Thank you!!", status: MessageStatus.read, createdAt: DateTime.now(), - sendBy: '1', + sentBy: '1', reaction: Reaction( reactions: ['\u{2764}', '\u{2764}', '\u{2764}', '\u{2764}'], reactedUserIds: ['2', '4', '3', '1'], @@ -102,7 +102,7 @@ class Data { message: "https://miro.medium.com/max/1000/0*s7of7kWnf9fDg4XM.jpeg", createdAt: DateTime.now(), messageType: MessageType.image, - sendBy: '1', + sentBy: '1', reaction: Reaction(reactions: ['\u{2764}'], reactedUserIds: ['2']), status: MessageStatus.read, ), @@ -110,7 +110,7 @@ class Data { id: '12', message: "🤩🤩", createdAt: DateTime.now(), - sendBy: '2', + sentBy: '2', status: MessageStatus.read, ), ]; diff --git a/example/lib/main.dart b/example/lib/main.dart index 9a706f46..c3978a13 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -77,7 +77,7 @@ class _ChatScreenState extends State { id: DateTime.now().toString(), message: 'I will schedule the meeting.', createdAt: DateTime.now(), - sendBy: '2', + sentBy: '2', ), ); await Future.delayed(const Duration(milliseconds: 500)); @@ -321,7 +321,7 @@ class _ChatScreenState extends State { id: DateTime.now().toString(), createdAt: DateTime.now(), message: message, - sendBy: currentUser.id, + sentBy: currentUser.id, replyMessage: replyMessage, messageType: messageType, ), diff --git a/lib/src/controller/chat_controller.dart b/lib/src/controller/chat_controller.dart index 0046746c..b778ba85 100644 --- a/lib/src/controller/chat_controller.dart +++ b/lib/src/controller/chat_controller.dart @@ -124,7 +124,7 @@ class ChatController { id: messageId, message: message.message, createdAt: message.createdAt, - sendBy: message.sendBy, + sentBy: message.sentBy, replyMessage: message.replyMessage, reaction: message.reaction, messageType: message.messageType, diff --git a/lib/src/models/message.dart b/lib/src/models/message.dart index 6931e4b5..09e42c81 100644 --- a/lib/src/models/message.dart +++ b/lib/src/models/message.dart @@ -37,7 +37,7 @@ class Message { final DateTime createdAt; /// Provides id of sender of message. - final String sendBy; + final String sentBy; /// Provides reply message if user triggers any reply on any message. final ReplyMessage replyMessage; @@ -58,7 +58,7 @@ class Message { this.id = '', required this.message, required this.createdAt, - required this.sendBy, + required this.sentBy, this.replyMessage = const ReplyMessage(), Reaction? reaction, this.messageType = MessageType.text, @@ -95,7 +95,7 @@ class Message { message: json['message']?.toString() ?? '', createdAt: DateTime.tryParse(json['createdAt'].toString()) ?? DateTime.now(), - sendBy: json['sendBy']?.toString() ?? '', + sentBy: json['sentBy']?.toString() ?? '', replyMessage: json['reply_message'] is Map ? ReplyMessage.fromJson(json['reply_message']) : const ReplyMessage(), @@ -116,7 +116,7 @@ class Message { 'id': id, 'message': message, 'createdAt': createdAt.toIso8601String(), - 'sendBy': sendBy, + 'sentBy': sentBy, 'reply_message': replyMessage.toJson(), 'reaction': reaction.toJson(), 'message_type': messageType.name, @@ -129,7 +129,7 @@ class Message { GlobalKey? key, String? message, DateTime? createdAt, - String? sendBy, + String? sentBy, ReplyMessage? replyMessage, Reaction? reaction, MessageType? messageType, @@ -141,7 +141,7 @@ class Message { id: id ?? this.message, message: message ?? this.message, createdAt: createdAt ?? this.createdAt, - sendBy: sendBy ?? this.sendBy, + sentBy: sentBy ?? this.sentBy, messageType: messageType ?? this.messageType, voiceMessageDuration: forceNullValue ? voiceMessageDuration diff --git a/lib/src/models/reply_popup_configuration.dart b/lib/src/models/reply_popup_configuration.dart index 0c0b0cc3..be03f92d 100644 --- a/lib/src/models/reply_popup_configuration.dart +++ b/lib/src/models/reply_popup_configuration.dart @@ -29,7 +29,7 @@ class ReplyPopupConfiguration { final Color? backgroundColor; /// Provides builder for creating reply pop-up widget. - final Widget Function(Message message, bool sendByCurrentUser)? + final Widget Function(Message message, bool sentByCurrentUser)? replyPopupBuilder; /// Provides callback on unSend button. diff --git a/lib/src/models/swipe_to_reply_configuration.dart b/lib/src/models/swipe_to_reply_configuration.dart index 44f7e102..bdf836e3 100644 --- a/lib/src/models/swipe_to_reply_configuration.dart +++ b/lib/src/models/swipe_to_reply_configuration.dart @@ -29,10 +29,10 @@ class SwipeToReplyConfiguration { final Duration? animationDuration; /// Provides callback when user swipe chat bubble from left side. - final void Function(String message, String sendBy)? onLeftSwipe; + final void Function(String message, String sentBy)? onLeftSwipe; /// Provides callback when user swipe chat bubble from right side. - final void Function(String message, String sendBy)? onRightSwipe; + final void Function(String message, String sentBy)? onRightSwipe; const SwipeToReplyConfiguration({ this.replyIconColor, diff --git a/lib/src/values/typedefs.dart b/lib/src/values/typedefs.dart index 890d3c53..1f5ee940 100644 --- a/lib/src/values/typedefs.dart +++ b/lib/src/values/typedefs.dart @@ -42,7 +42,7 @@ typedef StringWithReturnWidget = Widget Function(String separator); typedef DragUpdateDetailsCallback = void Function(DragUpdateDetails); typedef MoreTapCallBack = void Function( Message message, - bool sendByCurrentUser, + bool sentByCurrentUser, ); typedef ReactionCallback = void Function( Message message, diff --git a/lib/src/widgets/chat_bubble_widget.dart b/lib/src/widgets/chat_bubble_widget.dart index e54bc4b0..e45fa890 100644 --- a/lib/src/widgets/chat_bubble_widget.dart +++ b/lib/src/widgets/chat_bubble_widget.dart @@ -99,7 +99,7 @@ class ChatBubbleWidget extends StatefulWidget { class _ChatBubbleWidgetState extends State { String get replyMessage => widget.message.replyMessage.message; - bool get isMessageBySender => widget.message.sendBy == currentUser?.id; + bool get isMessageBySender => widget.message.sentBy == currentUser?.id; bool get isLastMessage => chatController?.initialMessageList.last.id == widget.message.id; @@ -124,7 +124,7 @@ class _ChatBubbleWidgetState extends State { @override Widget build(BuildContext context) { // Get user from id. - final messagedUser = chatController?.getUserFromId(widget.message.sendBy); + final messagedUser = chatController?.getUserFromId(widget.message.sentBy); return Stack( children: [ if (featureActiveConfig?.enableSwipeToSeeTime ?? true) ...[ @@ -196,7 +196,7 @@ class _ChatBubbleWidgetState extends State { null) { widget.swipeToReplyConfig?.onLeftSwipe!( widget.message.message, - widget.message.sendBy); + widget.message.sentBy); } widget.onSwipe(widget.message); } @@ -218,7 +218,7 @@ class _ChatBubbleWidgetState extends State { null) { widget.swipeToReplyConfig?.onRightSwipe!( widget.message.message, - widget.message.sendBy); + widget.message.sentBy); } widget.onSwipe(widget.message); } diff --git a/lib/src/widgets/chat_list_widget.dart b/lib/src/widgets/chat_list_widget.dart index b708665f..f74b3a82 100644 --- a/lib/src/widgets/chat_list_widget.dart +++ b/lib/src/widgets/chat_list_widget.dart @@ -220,7 +220,7 @@ class _ChatListWidgetState extends State if (featureActiveConfig?.enableReplySnackBar ?? false) { _showReplyPopup( message: message, - sendByCurrentUser: message.sendBy == currentUser?.id, + sentByCurrentUser: message.sentBy == currentUser?.id, ); } }, @@ -256,7 +256,7 @@ class _ChatListWidgetState extends State void _showReplyPopup({ required Message message, - required bool sendByCurrentUser, + required bool sentByCurrentUser, }) { final replyPopup = widget.replyPopupConfig; ScaffoldMessenger.of(context) @@ -265,7 +265,7 @@ class _ChatListWidgetState extends State duration: const Duration(hours: 1), backgroundColor: replyPopup?.backgroundColor ?? Colors.white, content: replyPopup?.replyPopupBuilder != null - ? replyPopup!.replyPopupBuilder!(message, sendByCurrentUser) + ? replyPopup!.replyPopupBuilder!(message, sentByCurrentUser) : ReplyPopupWidget( buttonTextStyle: replyPopup?.buttonTextStyle, topBorderColor: replyPopup?.topBorderColor, @@ -273,7 +273,7 @@ class _ChatListWidgetState extends State _onChatListTap(); replyPopup?.onMoreTap?.call( message, - sendByCurrentUser, + sentByCurrentUser, ); }, onReportTap: () { @@ -298,7 +298,7 @@ class _ChatListWidgetState extends State replyPopup?.onReplyTap!(message); } }, - sendByCurrentUser: sendByCurrentUser, + sentByCurrentUser: sentByCurrentUser, ), padding: EdgeInsets.zero, ), diff --git a/lib/src/widgets/reply_popup_widget.dart b/lib/src/widgets/reply_popup_widget.dart index 3e50ed9d..f47d28ea 100644 --- a/lib/src/widgets/reply_popup_widget.dart +++ b/lib/src/widgets/reply_popup_widget.dart @@ -28,7 +28,7 @@ import '../values/typedefs.dart'; class ReplyPopupWidget extends StatelessWidget { const ReplyPopupWidget({ Key? key, - required this.sendByCurrentUser, + required this.sentByCurrentUser, required this.onUnsendTap, required this.onReplyTap, required this.onReportTap, @@ -38,7 +38,7 @@ class ReplyPopupWidget extends StatelessWidget { }) : super(key: key); /// Represents message is sent by current user or not. - final bool sendByCurrentUser; + final bool sentByCurrentUser; /// Provides call back when user tap on unsend button. final VoidCallBack onUnsendTap; @@ -82,7 +82,7 @@ class ReplyPopupWidget extends StatelessWidget { ), ), ), - if (sendByCurrentUser) + if (sentByCurrentUser) Expanded( child: InkWell( onTap: onUnsendTap, @@ -93,7 +93,7 @@ class ReplyPopupWidget extends StatelessWidget { ), ), ), - if (!sendByCurrentUser) + if (!sentByCurrentUser) Expanded( child: InkWell( onTap: onReportTap, diff --git a/lib/src/widgets/send_message_widget.dart b/lib/src/widgets/send_message_widget.dart index 3e41619f..07a7f06d 100644 --- a/lib/src/widgets/send_message_widget.dart +++ b/lib/src/widgets/send_message_widget.dart @@ -290,7 +290,7 @@ class SendMessageWidgetState extends State { _replyMessage.value = ReplyMessage( message: message.message, replyBy: currentUser!.id, - replyTo: message.sendBy, + replyTo: message.sentBy, messageType: message.messageType, messageId: message.id, voiceMessageDuration: message.voiceMessageDuration,