diff --git a/lib/src/message_input.dart b/lib/src/message_input.dart index 700a726f..5d9a8cc2 100644 --- a/lib/src/message_input.dart +++ b/lib/src/message_input.dart @@ -197,8 +197,7 @@ class MessageInputState extends State { direction: Axis.horizontal, crossAxisAlignment: CrossAxisAlignment.end, children: [ - if(!_commandEnabled) - _buildExpandActionsButton(), + if (!_commandEnabled) _buildExpandActionsButton(), if (widget.actionsLocation == ActionsLocation.left) ...widget.actions ?? [], _buildTextInput(context), @@ -224,16 +223,18 @@ class MessageInputState extends State { Widget _buildExpandActionsButton() { return AnimatedCrossFade( - crossFadeState: _actionsShrunk - ? CrossFadeState.showFirst - : CrossFadeState.showSecond, + crossFadeState: + _actionsShrunk ? CrossFadeState.showFirst : CrossFadeState.showSecond, firstChild: IconButton( onPressed: () { setState(() { _actionsShrunk = false; }); }, - icon: Icon(StreamIcons.circle_left, color: StreamChatTheme.of(context).accentColor,), + icon: Icon( + StreamIcons.circle_left, + color: StreamChatTheme.of(context).accentColor, + ), ), secondChild: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, @@ -254,14 +255,13 @@ class MessageInputState extends State { maxHeight: widget.maxHeight, child: Container( decoration: BoxDecoration( - borderRadius: BorderRadius.circular(16.0), + borderRadius: BorderRadius.circular(8.0), border: Border.all( - color: _typingStarted - ? Colors.transparent - : Theme.of(context).brightness == Brightness.dark - ? Colors.white.withOpacity(.2) - : Colors.black.withOpacity(.2)), - ) + color: _typingStarted + ? Colors.transparent + : Theme.of(context).brightness == Brightness.dark + ? Colors.white.withOpacity(.2) + : Colors.black.withOpacity(.2)), ), child: Column( mainAxisSize: MainAxisSize.min, @@ -299,7 +299,8 @@ class MessageInputState extends State { if (textEditingController.selection.isCollapsed && (s[textEditingController.selection.start - 1] == '@' || textEditingController.text - .substring(0, textEditingController.selection.start) + .substring( + 0, textEditingController.selection.start) .split(' ') .last .contains('@'))) { @@ -326,9 +327,11 @@ class MessageInputState extends State { contentPadding: EdgeInsets.all(8), prefixIcon: _commandEnabled ? Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Chip( - backgroundColor: StreamChatTheme.of(context).accentColor, + padding: + const EdgeInsets.symmetric(horizontal: 8.0), + child: Chip( + backgroundColor: + StreamChatTheme.of(context).accentColor, label: Text( _chosenCommand?.name ?? "", style: TextStyle(color: Colors.white), @@ -338,7 +341,7 @@ class MessageInputState extends State { color: Colors.white, ), ), - ) + ) : null, suffixIcon: _commandEnabled ? IconButton( @@ -421,16 +424,15 @@ class MessageInputState extends State { child: Container( constraints: BoxConstraints.loose(Size.fromHeight(400)), decoration: BoxDecoration( - // boxShadow: [ - // BoxShadow( - // spreadRadius: -8, - // blurRadius: 5.0, - // offset: Offset(0, -4), - // ), - // ], - color: StreamChatTheme.of(context).primaryColor, - borderRadius: BorderRadius.circular(8.0) - ), + // boxShadow: [ + // BoxShadow( + // spreadRadius: -8, + // blurRadius: 5.0, + // offset: Offset(0, -4), + // ), + // ], + color: StreamChatTheme.of(context).primaryColor, + borderRadius: BorderRadius.circular(8.0)), child: ListView( padding: const EdgeInsets.all(0), shrinkWrap: true, @@ -441,7 +443,8 @@ class MessageInputState extends State { children: [ Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Icon(StreamIcons.lightning, color: StreamChatTheme.of(context).accentColor), + child: Icon(StreamIcons.lightning, + color: StreamChatTheme.of(context).accentColor), ), Text('Instant Commands') ], @@ -450,31 +453,36 @@ class MessageInputState extends State { ...commands .map( (c) => ListTile( - title: Text.rich( - TextSpan( - text: '${c.name.capitalize()}', - style: TextStyle(fontWeight: FontWeight.bold), - children: [ + title: Text.rich( TextSpan( - text: ' /${c.name} ${c.args}', - style: TextStyle( - fontWeight: FontWeight.w300, - ), + text: '${c.name.capitalize()}', + style: TextStyle(fontWeight: FontWeight.bold), + children: [ + TextSpan( + text: ' /${c.name} ${c.args}', + style: TextStyle( + fontWeight: FontWeight.w300, + ), + ), + ], ), - ], + ), + trailing: CircleAvatar( + backgroundColor: + StreamChatTheme.of(context).accentColor, + child: Icon( + StreamIcons.lightning, + color: Colors.white, + size: 12.5, + ), + maxRadius: 15, + ), + //subtitle: Text(c.description), + onTap: () { + _setCommand(c); + }, ), - ), - trailing: CircleAvatar( - backgroundColor: StreamChatTheme.of(context).accentColor, - child: Icon(StreamIcons.lightning, color: Colors.white, size: 12.5,), - maxRadius: 15, - ), - //subtitle: Text(c.description), - onTap: () { - _setCommand(c); - }, - ), - ) + ) .toList(), ], ), @@ -719,7 +727,7 @@ class MessageInputState extends State { child: Icon(StreamIcons.lightning), ), onTap: () { - if(_commandsOverlay == null) { + if (_commandsOverlay == null) { _commandsOverlay = _buildCommandsOverlayEntry(); Overlay.of(context).insert(_commandsOverlay); } else { @@ -1009,7 +1017,7 @@ class MessageInputState extends State { return; } - if(_commandEnabled) { + if (_commandEnabled) { text = '/${_chosenCommand.name} ' + text; } @@ -1172,4 +1180,4 @@ extension StringExtension on String { String capitalize() { return "${this[0].toUpperCase()}${this.substring(1)}"; } -} \ No newline at end of file +}