fix: attachments ui

This commit is contained in:
Deven Joshi
2020-10-26 16:31:30 +05:30
parent 1f3328a5f8
commit f3a9b0939f
+32 -27
View File
@@ -197,8 +197,7 @@ class MessageInputState extends State<MessageInput> {
direction: Axis.horizontal,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
if(!_commandEnabled)
_buildExpandActionsButton(),
if (!_commandEnabled) _buildExpandActionsButton(),
if (widget.actionsLocation == ActionsLocation.left)
...widget.actions ?? [],
_buildTextInput(context),
@@ -224,16 +223,18 @@ class MessageInputState extends State<MessageInput> {
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,
@@ -257,8 +258,7 @@ class MessageInputState extends State<MessageInput> {
borderRadius: BorderRadius.circular(16.0),
border: Border.all(
color: Colors.grey,
)
),
)),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
@@ -295,7 +295,8 @@ class MessageInputState extends State<MessageInput> {
if (textEditingController.selection.isCollapsed &&
(s[textEditingController.selection.start - 1] == '@' ||
textEditingController.text
.substring(0, textEditingController.selection.start)
.substring(
0, textEditingController.selection.start)
.split(' ')
.last
.contains('@'))) {
@@ -315,26 +316,23 @@ class MessageInputState extends State<MessageInput> {
hintText: 'Write a message',
prefixText: _commandEnabled ? null : ' ',
border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.transparent)
),
borderSide: BorderSide(color: Colors.transparent)),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.transparent)
),
borderSide: BorderSide(color: Colors.transparent)),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.transparent)
),
borderSide: BorderSide(color: Colors.transparent)),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.transparent)
),
borderSide: BorderSide(color: Colors.transparent)),
disabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.transparent)
),
borderSide: BorderSide(color: Colors.transparent)),
contentPadding: EdgeInsets.all(8),
prefixIcon: _commandEnabled
? Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
padding:
const EdgeInsets.symmetric(horizontal: 8.0),
child: Chip(
backgroundColor: StreamChatTheme.of(context).accentColor,
backgroundColor:
StreamChatTheme.of(context).accentColor,
label: Text(
_chosenCommand?.name ?? "",
style: TextStyle(color: Colors.white),
@@ -435,8 +433,7 @@ class MessageInputState extends State<MessageInput> {
// ),
// ],
color: StreamChatTheme.of(context).primaryColor,
borderRadius: BorderRadius.circular(8.0)
),
borderRadius: BorderRadius.circular(8.0)),
child: ListView(
padding: const EdgeInsets.all(0),
shrinkWrap: true,
@@ -447,7 +444,8 @@ class MessageInputState extends State<MessageInput> {
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')
],
@@ -471,8 +469,13 @@ class MessageInputState extends State<MessageInput> {
),
),
trailing: CircleAvatar(
backgroundColor: StreamChatTheme.of(context).accentColor,
child: Icon(StreamIcons.lightning, color: Colors.white, size: 12.5,),
backgroundColor:
StreamChatTheme.of(context).accentColor,
child: Icon(
StreamIcons.lightning,
color: Colors.white,
size: 12.5,
),
maxRadius: 15,
),
//subtitle: Text(c.description),
@@ -612,7 +615,9 @@ class MessageInputState extends State<MessageInput> {
}
Widget _buildAttachments() {
return LimitedBox(
return _attachments.isEmpty
? Container()
: LimitedBox(
maxHeight: 80.0,
child: ListView(
scrollDirection: Axis.horizontal,