choreographer pulls roomID from chat so input bar key does not change after setting choreo roomID, resolving issues with input bar auto-focus

pull/1384/head
ggurdin 1 year ago
parent 8e56f9c3ab
commit 7165060041
No known key found for this signature in database
GPG Key ID: A01CB41737CBB478

@ -328,7 +328,6 @@ class ChatController extends State<ChatPageWithRoom>
); );
} }
await Matrix.of(context).client.roomsLoading; await Matrix.of(context).client.roomsLoading;
choreographer.setRoomId(roomId);
}); });
// Pangea# // Pangea#
_tryLoadTimeline(); _tryLoadTimeline();

@ -463,7 +463,7 @@ class InputBar extends StatelessWidget {
debounceDuration: const Duration(milliseconds: 50), debounceDuration: const Duration(milliseconds: 50),
// show suggestions after 50ms idle time (default is 300) // show suggestions after 50ms idle time (default is 300)
// #Pangea // #Pangea
key: controller!.choreographer.inputLayerLinkAndKey.key, key: controller?.choreographer.inputLayerLinkAndKey.key,
// builder: (context, controller, focusNode) => TextField( // builder: (context, controller, focusNode) => TextField(
builder: (context, _, focusNode) => TextField( builder: (context, _, focusNode) => TextField(
// Pangea# // Pangea#
@ -504,11 +504,11 @@ class InputBar extends StatelessWidget {
onSubmitted!(text); onSubmitted!(text);
}, },
// #Pangea // #Pangea
style: controller?.isMaxLength ?? false style: controller?.exceededMaxLength ?? false
? const TextStyle(color: Colors.red) ? const TextStyle(color: Colors.red)
: null, : null,
onTap: () { onTap: () {
controller!.onInputTap( controller?.onInputTap(
context, context,
fNode: focusNode, fNode: focusNode,
); );

@ -42,7 +42,6 @@ class Choreographer {
bool isFetching = false; bool isFetching = false;
Timer? debounceTimer; Timer? debounceTimer;
String? _roomId;
ChoreoRecord choreoRecord = ChoreoRecord.newRecord; ChoreoRecord choreoRecord = ChoreoRecord.newRecord;
// last checked by IGC or translation // last checked by IGC or translation
String? _lastChecked; String? _lastChecked;
@ -464,10 +463,7 @@ class Choreographer {
setState(); setState();
} }
get roomId => _roomId; get roomId => chatController.roomId;
void setRoomId(String? roomId) {
_roomId = roomId ?? '';
}
bool get _useCustomInput => [ bool get _useCustomInput => [
EditType.keyboard, EditType.keyboard,

@ -27,7 +27,7 @@ class PangeaTextController extends TextEditingController {
} }
static const int maxLength = 1000; static const int maxLength = 1000;
bool get isMaxLength => text.length == 1000; bool get exceededMaxLength => text.length >= maxLength;
bool forceKeepOpen = false; bool forceKeepOpen = false;

Loading…
Cancel
Save