fix empty messages
This commit is contained in:
parent
90aa95ef21
commit
38471fbacd
@ -89,25 +89,24 @@ class ChatModel with ChangeNotifier {
|
|||||||
ChatModel(this.parent) {
|
ChatModel(this.parent) {
|
||||||
sessionId = parent.target!.sessionId;
|
sessionId = parent.target!.sessionId;
|
||||||
inputNode = FocusNode(
|
inputNode = FocusNode(
|
||||||
onKey: (node, event) {
|
onKey: (_, event) {
|
||||||
bool isShiftPressed = event.isKeyPressed(LogicalKeyboardKey.shiftLeft);
|
bool isShiftPressed = event.isKeyPressed(LogicalKeyboardKey.shiftLeft);
|
||||||
bool isEnterPressed = event.isKeyPressed(LogicalKeyboardKey.enter);
|
bool isEnterPressed = event.isKeyPressed(LogicalKeyboardKey.enter);
|
||||||
|
|
||||||
String trimmedText = textController.text.trim();
|
// don't send empty messages
|
||||||
|
if (isEnterPressed && isEnterPressed && textController.text.isEmpty) {
|
||||||
// don't send empty message
|
return KeyEventResult.handled;
|
||||||
if (trimmedText.isEmpty) {
|
|
||||||
textController.text = trimmedText;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isEnterPressed && !isShiftPressed) {
|
if (isEnterPressed && !isShiftPressed) {
|
||||||
final ChatMessage message = ChatMessage(
|
final ChatMessage message = ChatMessage(
|
||||||
text: trimmedText,
|
text: textController.text,
|
||||||
user: me,
|
user: me,
|
||||||
createdAt: DateTime.now(),
|
createdAt: DateTime.now(),
|
||||||
);
|
);
|
||||||
send(message);
|
send(message);
|
||||||
textController.text = "";
|
textController.clear();
|
||||||
|
return KeyEventResult.handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
return KeyEventResult.ignored;
|
return KeyEventResult.ignored;
|
||||||
@ -335,16 +334,18 @@ class ChatModel with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
send(ChatMessage message) {
|
send(ChatMessage message) {
|
||||||
if (message.text.isNotEmpty) {
|
String trimmedText = message.text.trim();
|
||||||
_messages[_currentID]?.insert(message);
|
if (trimmedText.isEmpty) {
|
||||||
if (_currentID == clientModeID) {
|
return;
|
||||||
if (parent.target != null) {
|
|
||||||
bind.sessionSendChat(sessionId: sessionId, text: message.text);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
bind.cmSendChat(connId: _currentID, msg: message.text);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
message.text = trimmedText;
|
||||||
|
_messages[_currentID]?.insert(message);
|
||||||
|
if (_currentID == clientModeID && parent.target != null) {
|
||||||
|
bind.sessionSendChat(sessionId: sessionId, text: message.text);
|
||||||
|
} else {
|
||||||
|
bind.cmSendChat(connId: _currentID, msg: message.text);
|
||||||
|
}
|
||||||
|
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
inputNode.requestFocus();
|
inputNode.requestFocus();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user