Added option to disable mentions overlay, made autoCorrect and disable emoji and mentions flags non-nullable

This commit is contained in:
Ayush Shekhar
2022-05-05 18:08:58 +05:30
parent 4729c9906b
commit f85255506d
@@ -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<StreamMessageInput>
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<StreamMessageInput>
visible: _showCommandsOverlay,
widget: _buildCommandsOverlayEntry(),
),
if (!_disableEmojiSuggestionsOverlay)
if (!widget.disableEmojiSuggestionsOverlay)
OverlayOptions(
visible: _focusNode.hasFocus &&
_effectiveController.text.isNotEmpty &&
@@ -611,10 +611,11 @@ class StreamMessageInputState extends State<StreamMessageInput>
.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<StreamMessageInput>
textAlignVertical: TextAlignVertical.center,
decoration: _getInputDecoration(context),
textCapitalization: TextCapitalization.sentences,
autocorrect: _autoCorrect,
autocorrect: widget.autoCorrect,
),
),
],