fix emoji overlay

This commit is contained in:
Salvatore Giordano
2021-12-14 15:15:02 +01:00
parent a49a0ed7c9
commit ce20c247d7
@@ -464,10 +464,10 @@ class MessageInputState extends State<MessageInput>
void _stopSlowMode() => _slowModeTimer?.cancel(); void _stopSlowMode() => _slowModeTimer?.cancel();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) => MessageValueListenableBuilder(
Widget child = MessageValueListenableBuilder(
valueListenable: _effectiveController, valueListenable: _effectiveController,
builder: (context, value, _) => DecoratedBox( builder: (context, value, _) {
Widget child = DecoratedBox(
decoration: BoxDecoration( decoration: BoxDecoration(
color: _messageInputTheme.inputBackgroundColor, color: _messageInputTheme.inputBackgroundColor,
), ),
@@ -500,7 +500,8 @@ class MessageInputState extends State<MessageInput>
), ),
Text( Text(
context.translations.replyToMessageLabel, context.translations.replyToMessageLabel,
style: const TextStyle(fontWeight: FontWeight.bold), style:
const TextStyle(fontWeight: FontWeight.bold),
), ),
IconButton( IconButton(
visualDensity: VisualDensity.compact, visualDensity: VisualDensity.compact,
@@ -529,7 +530,6 @@ class MessageInputState extends State<MessageInput>
), ),
), ),
), ),
),
); );
if (_isEditing) { if (_isEditing) {
child = Material( child = Material(
@@ -537,7 +537,6 @@ class MessageInputState extends State<MessageInput>
child: child, child: child,
); );
} }
return MultiOverlay( return MultiOverlay(
childAnchor: Alignment.topCenter, childAnchor: Alignment.topCenter,
overlayAnchor: Alignment.bottomCenter, overlayAnchor: Alignment.bottomCenter,
@@ -566,7 +565,8 @@ class MessageInputState extends State<MessageInput>
], ],
child: child, child: child,
); );
} },
);
Flex _buildTextField(BuildContext context) => Flex( Flex _buildTextField(BuildContext context) => Flex(
direction: Axis.horizontal, direction: Axis.horizontal,
@@ -646,6 +646,9 @@ class MessageInputState extends State<MessageInput>
return widget.sendButtonBuilder!(context, _effectiveController); return widget.sendButtonBuilder!(context, _effectiveController);
} }
print(
'widget.validator(_effectiveController.message): ${widget.validator(_effectiveController.message)}');
return StreamMessageSendButton( return StreamMessageSendButton(
onSendMessage: sendMessage, onSendMessage: sendMessage,
timeOut: _timeOut, timeOut: _timeOut,
@@ -711,6 +714,7 @@ class MessageInputState extends State<MessageInput>
} }
Expanded _buildTextInput(BuildContext context) { Expanded _buildTextInput(BuildContext context) {
print('build text input');
final margin = (widget.sendButtonLocation == SendButtonLocation.inside final margin = (widget.sendButtonLocation == SendButtonLocation.inside
? const EdgeInsets.only(right: 8) ? const EdgeInsets.only(right: 8)
: EdgeInsets.zero) + : EdgeInsets.zero) +
@@ -869,6 +873,7 @@ class MessageInputState extends State<MessageInput>
late final _onChangedDebounced = debounce( late final _onChangedDebounced = debounce(
() { () {
print('onchangeddebounce');
var value = _effectiveController.text; var value = _effectiveController.text;
if (!mounted) return; if (!mounted) return;
value = value.trim(); value = value.trim();
@@ -888,6 +893,7 @@ class MessageInputState extends State<MessageInput>
setState(() { setState(() {
_actionsShrunk = value.isNotEmpty && actionsLength > 1; _actionsShrunk = value.isNotEmpty && actionsLength > 1;
}); });
print('CHECK COMMANDS 00');
_checkCommands(value, context); _checkCommands(value, context);
_checkMentions(value, context); _checkMentions(value, context);
@@ -959,6 +965,7 @@ class MessageInputState extends State<MessageInput>
void _checkCommands(String s, BuildContext context) { void _checkCommands(String s, BuildContext context) {
if (s.startsWith('/')) { if (s.startsWith('/')) {
print('CHECK COMMANDS');
final allCommands = StreamChannel.of(context).channel.config?.commands; final allCommands = StreamChannel.of(context).channel.config?.commands;
final command = final command =
allCommands?.firstWhereOrNull((it) => it.name == s.substring(1)); allCommands?.firstWhereOrNull((it) => it.name == s.substring(1));