From 92fada0c8e8fe43e35817b61bbff95419b12de44 Mon Sep 17 00:00:00 2001 From: NicKoehler Date: Thu, 8 Jun 2023 12:51:13 +0200 Subject: [PATCH] removed useless container and sendOnEnter --- flutter/lib/common/widgets/chat_page.dart | 191 ++++++++++------------ 1 file changed, 90 insertions(+), 101 deletions(-) diff --git a/flutter/lib/common/widgets/chat_page.dart b/flutter/lib/common/widgets/chat_page.dart index affe94091..bb96766cd 100644 --- a/flutter/lib/common/widgets/chat_page.dart +++ b/flutter/lib/common/widgets/chat_page.dart @@ -50,113 +50,102 @@ class ChatPage extends StatelessWidget implements PageShape { child: Consumer( builder: (context, chatModel, child) { final currentUser = chatModel.currentUser; - return Container( - padding: EdgeInsets.symmetric(vertical: 5.0), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.0), - color: Theme.of(context).colorScheme.background, - ), - child: Stack( - children: [ - LayoutBuilder(builder: (context, constraints) { - final chat = DashChat( - onSend: (chatMsg) { - chatModel.send(chatMsg); - chatModel.inputNode.requestFocus(); - }, - currentUser: chatModel.me, - messages: chatModel - .messages[chatModel.currentID]?.chatMessages ?? - [], - inputOptions: InputOptions( - sendOnEnter: true, - focusNode: chatModel.inputNode, - inputTextStyle: TextStyle( - fontSize: 14, - color: - Theme.of(context).textTheme.titleLarge?.color), - inputDecoration: InputDecoration( - isDense: true, - hintText: translate('Write a message'), - filled: true, - fillColor: Theme.of(context).colorScheme.background, - contentPadding: EdgeInsets.all(10), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(10.0), - borderSide: const BorderSide( - width: 1, - style: BorderStyle.solid, - ), + return Stack( + children: [ + LayoutBuilder(builder: (context, constraints) { + final chat = DashChat( + onSend: (chatMsg) { + chatModel.send(chatMsg); + chatModel.inputNode.requestFocus(); + }, + currentUser: chatModel.me, + messages: + chatModel.messages[chatModel.currentID]?.chatMessages ?? + [], + inputOptions: InputOptions( + focusNode: chatModel.inputNode, + inputTextStyle: TextStyle( + fontSize: 14, + color: Theme.of(context).textTheme.titleLarge?.color), + inputDecoration: InputDecoration( + isDense: true, + hintText: translate('Write a message'), + filled: true, + fillColor: Theme.of(context).colorScheme.background, + contentPadding: EdgeInsets.all(10), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10.0), + borderSide: const BorderSide( + width: 1, + style: BorderStyle.solid, ), ), - sendButtonBuilder: defaultSendButton( - padding: - EdgeInsets.symmetric(horizontal: 6, vertical: 0), - color: MyTheme.accent, - icon: Icons.send_rounded, - ), ), - messageOptions: MessageOptions( - showOtherUsersAvatar: false, - showOtherUsersName: false, - textColor: Colors.white, - maxWidth: constraints.maxWidth * 0.7, - messageTextBuilder: (message, _, __) { - final isOwnMessage = message.user.id.isBlank!; - return Column( - crossAxisAlignment: isOwnMessage - ? CrossAxisAlignment.end - : CrossAxisAlignment.start, - children: [ - Text(message.text, - style: TextStyle(color: Colors.white)), - Text( - "${message.createdAt.hour}:${message.createdAt.minute.toString().padLeft(2, '0')}", - style: TextStyle( - color: Colors.white, - fontSize: 8, - ), - ).marginOnly(top: 3), - ], - ); - }, - messageDecorationBuilder: - (message, previousMessage, nextMessage) { - final isOwnMessage = message.user.id.isBlank!; - print("message.user.id = ${message.user.id}\n"); - return defaultMessageDecoration( - color: - isOwnMessage ? MyTheme.accent : Colors.blueGrey, - borderTopLeft: 8, - borderTopRight: 8, - borderBottomRight: isOwnMessage ? 2 : 8, - borderBottomLeft: isOwnMessage ? 8 : 2, - ); - }, + sendButtonBuilder: defaultSendButton( + padding: + EdgeInsets.symmetric(horizontal: 6, vertical: 0), + color: MyTheme.accent, + icon: Icons.send_rounded, ), - ); - return SelectionArea(child: chat); - }), - desktopType == DesktopType.cm || - chatModel.currentID == ChatModel.clientModeID - ? SizedBox.shrink() - : Padding( - padding: EdgeInsets.all(12), - child: Row( - children: [ - Icon(Icons.account_circle, - color: MyTheme.accent80), - SizedBox(width: 5), - Text( - "${currentUser.firstName} ${currentUser.id}", - style: TextStyle(color: MyTheme.accent), + ), + messageOptions: MessageOptions( + showOtherUsersAvatar: false, + showOtherUsersName: false, + textColor: Colors.white, + maxWidth: constraints.maxWidth * 0.7, + messageTextBuilder: (message, _, __) { + final isOwnMessage = message.user.id.isBlank!; + return Column( + crossAxisAlignment: isOwnMessage + ? CrossAxisAlignment.end + : CrossAxisAlignment.start, + children: [ + Text(message.text, + style: TextStyle(color: Colors.white)), + Text( + "${message.createdAt.hour}:${message.createdAt.minute.toString().padLeft(2, '0')}", + style: TextStyle( + color: Colors.white, + fontSize: 8, ), - ], - ), + ).marginOnly(top: 3), + ], + ); + }, + messageDecorationBuilder: + (message, previousMessage, nextMessage) { + final isOwnMessage = message.user.id.isBlank!; + return defaultMessageDecoration( + color: + isOwnMessage ? MyTheme.accent : Colors.blueGrey, + borderTopLeft: 8, + borderTopRight: 8, + borderBottomRight: isOwnMessage ? 2 : 8, + borderBottomLeft: isOwnMessage ? 8 : 2, + ); + }, + ), + ); + return SelectionArea(child: chat); + }), + desktopType == DesktopType.cm || + chatModel.currentID == ChatModel.clientModeID + ? SizedBox.shrink() + : Padding( + padding: EdgeInsets.all(12), + child: Row( + children: [ + Icon(Icons.account_circle, color: MyTheme.accent80), + SizedBox(width: 5), + Text( + "${currentUser.firstName} ${currentUser.id}", + style: TextStyle(color: MyTheme.accent), + ), + ], ), - ], - ), - ); + ), + ], + ).paddingOnly(bottom: 8); }, ), ),