fixed minor bug

This commit is contained in:
tom.hempel
2025-09-30 18:37:34 +02:00
parent 72421f36f2
commit c7f2a01f13
2 changed files with 19 additions and 31 deletions

Binary file not shown.

View File

@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:ai_chat_lab/services/convai_service.dart'; import 'package:ai_chat_lab/services/convai_service.dart';
import 'package:ai_chat_lab/services/storage_service.dart'; import 'package:ai_chat_lab/services/storage_service.dart';
import 'package:ai_chat_lab/screens/settings_screen.dart'; import 'package:ai_chat_lab/screens/settings_screen.dart';
@ -487,38 +486,27 @@ class _ChatScreenState extends State<ChatScreen> {
) )
else ...[ else ...[
Expanded( Expanded(
child: KeyboardListener( child: TextField(
focusNode: FocusNode(), controller: _messageController,
onKeyEvent: (KeyEvent event) { decoration: InputDecoration(
if (event is KeyDownEvent) { hintText: 'Type your message...',
if (event.logicalKey == LogicalKeyboardKey.enter) { border: OutlineInputBorder(
if (!HardwareKeyboard.instance.isShiftPressed) { borderRadius: BorderRadius.circular(24),
_sendMessage(); borderSide: const BorderSide(color: Color(0xFFCBD5E1)),
}
}
}
},
child: TextField(
controller: _messageController,
decoration: InputDecoration(
hintText: 'Type your message... (Enter to send, Shift+Enter for new line)',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(24),
borderSide: const BorderSide(color: Color(0xFFCBD5E1)),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(24),
borderSide: const BorderSide(color: Color(0xFF4F8CFF), width: 2),
),
contentPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
filled: true,
fillColor: Colors.white,
), ),
keyboardType: TextInputType.multiline, focusedBorder: OutlineInputBorder(
maxLines: null, borderRadius: BorderRadius.circular(24),
minLines: 1, borderSide: const BorderSide(color: Color(0xFF4F8CFF), width: 2),
textCapitalization: TextCapitalization.sentences, ),
contentPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
filled: true,
fillColor: Colors.white,
), ),
maxLines: 5,
minLines: 1,
textCapitalization: TextCapitalization.sentences,
textInputAction: TextInputAction.send,
onSubmitted: (_) => _sendMessage(),
), ),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),