diff --git a/lib/ui/screens/conversation_screen.dart b/lib/ui/screens/conversation_screen.dart index 32aeac0..d089afb 100644 --- a/lib/ui/screens/conversation_screen.dart +++ b/lib/ui/screens/conversation_screen.dart @@ -33,34 +33,6 @@ import 'package:mime/mime.dart'; enum ErrorLevel { NONE, MINOR, MAJOR } enum _OlderMessagesLevel { NONE, LOADING, NO_MORE_AVAILABLE } -Color get _senderColor => - darkTheme() ? Color(0xff2b343b) : Colors.green.shade900; - -Color get _receiverColor => - darkTheme() ? Color(0xff1e2225) : Colors.grey.shade600; - -const _greyColor = Color(0xff8f8f8f); - -Color get _gradientColorStart => darkTheme() ? Color(0xff00b6f3) : Colors.green; - -Color get _gradientColorEnd => - darkTheme() ? Color(0xff0184dc) : Colors.greenAccent; - -Color get _separatorColor => - darkTheme() ? Color(0xff272c35) : Color(0xffBEBEBE); - -LinearGradient get _fabGradient => LinearGradient( - colors: [_gradientColorStart, _gradientColorEnd], - begin: Alignment.topLeft, - end: Alignment.bottomRight, - ); - -LinearGradient get _disabledGradient => LinearGradient( - colors: [_greyColor, _receiverColor], - begin: Alignment.topLeft, - end: Alignment.bottomRight, - ); - class ConversationScreen extends StatefulWidget { final int conversationID; @@ -109,6 +81,33 @@ class _ConversationScreenState extends SafeState { showEmojiContainer() => setState(() => _showEmojiPicker = true); + // Colors definition + Color get _receiverColor => + darkTheme() ? Color(0xff3a3d40) : Colors.grey.shade600; + + Color get _greyColor => Color(0xff8f8f8f); + + Color get _gradientColorStart => + darkTheme() ? Color(0xff00b6f3) : Colors.green; + + Color get _gradientColorEnd => + darkTheme() ? Color(0xff0184dc) : Colors.greenAccent; + + Color get _separatorColor => + darkTheme() ? Color(0xff272c35) : Color(0xffBEBEBE); + + LinearGradient get _fabGradient => LinearGradient( + colors: [_gradientColorStart, _gradientColorEnd], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ); + + LinearGradient get _disabledGradient => LinearGradient( + colors: [_greyColor, _receiverColor], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ); + @override void initState() { super.initState(); @@ -402,13 +401,13 @@ class _ConversationScreenState extends SafeState { /// Send new message form Widget _buildSendMessageForm() => Container( - padding: EdgeInsets.all(10), + padding: EdgeInsets.fromLTRB(10, 5, 10, 5), child: Row( children: [ GestureDetector( onTap: !_isSendingMessage ? _sendFileMessage : null, child: Container( - padding: EdgeInsets.all(10), + padding: EdgeInsets.all(6), decoration: BoxDecoration( gradient: _isSendingMessage ? _disabledGradient : _fabGradient, @@ -448,7 +447,7 @@ class _ConversationScreenState extends SafeState { const Radius.circular(50.0), ), borderSide: BorderSide.none), - contentPadding: EdgeInsets.fromLTRB(20, 10, 32, 10), + contentPadding: EdgeInsets.fromLTRB(20, 8, 32, 8), filled: true, fillColor: _separatorColor, ), @@ -476,20 +475,21 @@ class _ConversationScreenState extends SafeState { ], ), ), - Container( - margin: EdgeInsets.only(left: 10), + SizedBox(width: 5), + GestureDetector( + onTap: _isMessageValid ? _submitTextMessage : null, + child: Container( + padding: EdgeInsets.all(8), decoration: BoxDecoration( - gradient: _isWriting ? _fabGradient : _disabledGradient, + gradient: !_isMessageValid ? _disabledGradient : _fabGradient, shape: BoxShape.circle, ), - child: IconButton( - icon: Icon( - Icons.send, - size: 15, - color: darkTheme() ? Colors.black : Colors.white, - ), - onPressed: _isWriting ? _submitTextMessage : null, - )) + child: Icon( + Icons.send, + color: darkTheme() ? Colors.black : Colors.white, + ), + ), + ), ], ), ); @@ -523,7 +523,6 @@ class _ConversationScreenState extends SafeState { : null, ), _messages.length == 0 ? _buildNoMessagesNotice() : _buildMessagesList(), - Divider(), _buildSendMessageForm(), _showEmojiPicker ? _buildEmojiContainer() : Container(), ],