From f85255506d76afa56913c3a7c6a216809c3abc32 Mon Sep 17 00:00:00 2001 From: Ayush Shekhar Date: Thu, 5 May 2022 18:08:58 +0530 Subject: [PATCH 1/5] Added option to disable mentions overlay, made autoCorrect and disable emoji and mentions flags non-nullable --- .../message_input/stream_message_input.dart | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart index 786ba22e..ccebd412 100644 --- a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart +++ b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart @@ -207,8 +207,9 @@ class StreamMessageInput extends StatefulWidget { this.enableSafeArea, this.elevation, this.shadow, - this.autoCorrect, - this.disableEmojiSuggestionsOverlay, + this.autoCorrect = true, + this.disableEmojiSuggestionsOverlay = false, + this.disableMentionsOverlay = false, }) : super(key: key); /// List of options for showing overlays. @@ -327,11 +328,15 @@ class StreamMessageInput extends StatefulWidget { /// Disable autoCorrect by passing false /// autoCorrect is enabled by default - final bool? autoCorrect; + final bool autoCorrect; /// Disable the default emoji suggestions /// Enabled by default - final bool? disableEmojiSuggestionsOverlay; + final bool disableEmojiSuggestionsOverlay; + + /// Disable the mentions overlay + /// Enabled by default + final bool disableMentionsOverlay; static bool _defaultValidator(Message message) => message.text?.isNotEmpty == true || message.attachments.isNotEmpty; @@ -364,11 +369,6 @@ class StreamMessageInputState extends State bool get _isEditing => _effectiveController.value.status != MessageSendingStatus.sending; - bool get _autoCorrect => widget.autoCorrect ?? true; - - bool get _disableEmojiSuggestionsOverlay => - widget.disableEmojiSuggestionsOverlay ?? false; - StreamRestorableMessageInputController? _controller; StreamMessageInputController get _effectiveController => @@ -598,7 +598,7 @@ class StreamMessageInputState extends State visible: _showCommandsOverlay, widget: _buildCommandsOverlayEntry(), ), - if (!_disableEmojiSuggestionsOverlay) + if (!widget.disableEmojiSuggestionsOverlay) OverlayOptions( visible: _focusNode.hasFocus && _effectiveController.text.isNotEmpty && @@ -611,10 +611,11 @@ class StreamMessageInputState extends State .contains(':'), widget: _buildEmojiOverlay(), ), - OverlayOptions( - visible: _showMentionsOverlay, - widget: _buildMentionsOverlayEntry(), - ), + if (!widget.disableMentionsOverlay) + OverlayOptions( + visible: _showMentionsOverlay, + widget: _buildMentionsOverlayEntry(), + ), ...widget.customOverlays, ], child: child, @@ -813,7 +814,7 @@ class StreamMessageInputState extends State textAlignVertical: TextAlignVertical.center, decoration: _getInputDecoration(context), textCapitalization: TextCapitalization.sentences, - autocorrect: _autoCorrect, + autocorrect: widget.autoCorrect, ), ), ], From a717229b672ead38b61daca76739146006e42ebf Mon Sep 17 00:00:00 2001 From: Ayush Shekhar Date: Thu, 5 May 2022 18:10:34 +0530 Subject: [PATCH 2/5] Updated changelog --- packages/stream_chat_flutter/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index dfa88d5f..90cf7016 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,5 +1,9 @@ ## Upcoming +✅ Added + +- [[#1119]](https://github.com/GetStream/stream-chat-flutter/issues/1119) Added an option to disable mentions overlay in `StreamMessageInput` + 🐞 Fixed - Fixed attachment picker ui. From b2f0a25bb0f5e77f58dd05bffe2bb678be111d04 Mon Sep 17 00:00:00 2001 From: Ayush Shekhar Date: Fri, 6 May 2022 09:38:10 +0530 Subject: [PATCH 3/5] Replaced message input flags with positive booleans --- packages/stream_chat_flutter/CHANGELOG.md | 4 ++++ .../v4/message_input/stream_message_input.dart | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index 9a3c1677..bcacbf55 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -4,6 +4,10 @@ - [[#1119]](https://github.com/GetStream/stream-chat-flutter/issues/1119) Added an option to disable mentions overlay in `StreamMessageInput` +🛑️ Breaking Changes + +- Replaced `disableEmojiSuggestionsOverlay` with `enableEmojiSuggestionsOverlay` in `StreamMessageInput` + 🐞 Fixed - Fixed attachment picker ui. diff --git a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart index ccebd412..4b2a664e 100644 --- a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart +++ b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart @@ -208,8 +208,8 @@ class StreamMessageInput extends StatefulWidget { this.elevation, this.shadow, this.autoCorrect = true, - this.disableEmojiSuggestionsOverlay = false, - this.disableMentionsOverlay = false, + this.enableEmojiSuggestionsOverlay = true, + this.enableMentionsOverlay = true, }) : super(key: key); /// List of options for showing overlays. @@ -330,13 +330,13 @@ class StreamMessageInput extends StatefulWidget { /// autoCorrect is enabled by default final bool autoCorrect; - /// Disable the default emoji suggestions + /// Disable the default emoji suggestions by passing `false` /// Enabled by default - final bool disableEmojiSuggestionsOverlay; + final bool enableEmojiSuggestionsOverlay; - /// Disable the mentions overlay + /// Disable the mentions overlay by passing false /// Enabled by default - final bool disableMentionsOverlay; + final bool enableMentionsOverlay; static bool _defaultValidator(Message message) => message.text?.isNotEmpty == true || message.attachments.isNotEmpty; @@ -598,7 +598,7 @@ class StreamMessageInputState extends State visible: _showCommandsOverlay, widget: _buildCommandsOverlayEntry(), ), - if (!widget.disableEmojiSuggestionsOverlay) + if (widget.enableEmojiSuggestionsOverlay) OverlayOptions( visible: _focusNode.hasFocus && _effectiveController.text.isNotEmpty && @@ -611,7 +611,7 @@ class StreamMessageInputState extends State .contains(':'), widget: _buildEmojiOverlay(), ), - if (!widget.disableMentionsOverlay) + if (widget.enableMentionsOverlay) OverlayOptions( visible: _showMentionsOverlay, widget: _buildMentionsOverlayEntry(), From 5c4ddf5c2d384bcf19774c5d2cc86bb9c0dc6b03 Mon Sep 17 00:00:00 2001 From: Ayush Shekhar Date: Fri, 6 May 2022 16:25:05 +0530 Subject: [PATCH 4/5] Deprecated disable emoji suggestions flag in favour of enableEmojiSuggestions --- packages/stream_chat_flutter/CHANGELOG.md | 5 +---- .../lib/src/v4/message_input/stream_message_input.dart | 9 ++++++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index bcacbf55..59ef8301 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -3,10 +3,7 @@ ✅ Added - [[#1119]](https://github.com/GetStream/stream-chat-flutter/issues/1119) Added an option to disable mentions overlay in `StreamMessageInput` - -🛑️ Breaking Changes - -- Replaced `disableEmojiSuggestionsOverlay` with `enableEmojiSuggestionsOverlay` in `StreamMessageInput` +- Deprecated `disableEmojiSuggestionsOverlay` in favor of `enableEmojiSuggestionsOverlay` in `StreamMessageInput` 🐞 Fixed diff --git a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart index 4b2a664e..36a74b8a 100644 --- a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart +++ b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart @@ -208,6 +208,7 @@ class StreamMessageInput extends StatefulWidget { this.elevation, this.shadow, this.autoCorrect = true, + this.disableEmojiSuggestionsOverlay = false, this.enableEmojiSuggestionsOverlay = true, this.enableMentionsOverlay = true, }) : super(key: key); @@ -330,6 +331,11 @@ class StreamMessageInput extends StatefulWidget { /// autoCorrect is enabled by default final bool autoCorrect; + /// Disable the default emoji + /// Enabled by default + @Deprecated('Please use enableEmojiSuggestionsOverlay') + final bool disableEmojiSuggestionsOverlay; + /// Disable the default emoji suggestions by passing `false` /// Enabled by default final bool enableEmojiSuggestionsOverlay; @@ -598,7 +604,8 @@ class StreamMessageInputState extends State visible: _showCommandsOverlay, widget: _buildCommandsOverlayEntry(), ), - if (widget.enableEmojiSuggestionsOverlay) + if (widget.enableEmojiSuggestionsOverlay && + !widget.disableEmojiSuggestionsOverlay) OverlayOptions( visible: _focusNode.hasFocus && _effectiveController.text.isNotEmpty && From 41a2c8f45cc9852ff0e4722916659201986de2c6 Mon Sep 17 00:00:00 2001 From: Ayush Shekhar Date: Fri, 6 May 2022 16:27:44 +0530 Subject: [PATCH 5/5] Added missing word in comment --- .../lib/src/v4/message_input/stream_message_input.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart index 36a74b8a..808760c7 100644 --- a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart +++ b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_message_input.dart @@ -331,7 +331,7 @@ class StreamMessageInput extends StatefulWidget { /// autoCorrect is enabled by default final bool autoCorrect; - /// Disable the default emoji + /// Disable the default emoji suggestions /// Enabled by default @Deprecated('Please use enableEmojiSuggestionsOverlay') final bool disableEmojiSuggestionsOverlay;