Improvements:

- Ctrl + Enter send message
This commit is contained in:
Linloir 2022-10-20 11:19:54 +08:00
parent 4366a49466
commit 04f57dfb8a
No known key found for this signature in database
GPG Key ID: 58EEB209A0F2C366

View File

@ -1,7 +1,7 @@
/* /*
* @Author : Linloir * @Author : Linloir
* @Date : 2022-10-14 17:54:30 * @Date : 2022-10-14 17:54:30
* @LastEditTime : 2022-10-19 23:33:25 * @LastEditTime : 2022-10-20 11:18:48
* @Description : * @Description :
*/ */
@ -9,6 +9,7 @@ import 'dart:convert';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:formz/formz.dart'; import 'package:formz/formz.dart';
import 'package:path/path.dart'; import 'package:path/path.dart';
@ -43,10 +44,20 @@ class InputBox extends StatelessWidget {
listener: (context, state) { listener: (context, state) {
_controller.clear(); _controller.clear();
}, },
child: Container( child: BlocBuilder<MessageInputCubit, MessageInputState>(
builder:(context, state) {
return Container(
constraints: const BoxConstraints(maxHeight: 120), constraints: const BoxConstraints(maxHeight: 120),
child: Builder( child: Builder(
builder: (context) => TextField( builder: (context) => CallbackShortcuts(
bindings: {
const SingleActivator(LogicalKeyboardKey.enter, control: true): () {
if(state.status == FormzStatus.valid) {
context.read<MessageInputCubit>().onSubmission();
}
}
},
child: TextField(
controller: _controller, controller: _controller,
onChanged: (value) { onChanged: (value) {
context.read<MessageInputCubit>().onInputChange(MessageInput.dirty(value)); context.read<MessageInputCubit>().onInputChange(MessageInput.dirty(value));
@ -62,7 +73,10 @@ class InputBox extends StatelessWidget {
), ),
), ),
), ),
) ),
);
}
),
), ),
), ),
const SizedBox(width: 8.0,), const SizedBox(width: 8.0,),