From e46be5d8ae43cf85b4afd91ba810542a889d2ca1 Mon Sep 17 00:00:00 2001 From: geweald Date: Thu, 25 May 2023 14:15:30 +0200 Subject: [PATCH] fix(ui): move tap region to wrap autocomplete optionsViewBuilder --- .../src/autocomplete/stream_autocomplete.dart | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart b/packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart index 4bf6a085..3e79fe32 100644 --- a/packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart +++ b/packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart @@ -507,11 +507,13 @@ class _StreamAutocompleteState extends State { final anchor = widget.optionsAlignment._toAnchor(); final shouldShowOptions = _shouldShowOptions; final optionViewBuilder = shouldShowOptions - ? _currentTrigger!.optionsViewBuilder( - context, - _currentQuery!, - _messageEditingController, - ) + ? TextFieldTapRegion( + child: _currentTrigger!.optionsViewBuilder( + context, + _currentQuery!, + _messageEditingController, + ), + ) : null; return PortalTarget( @@ -610,34 +612,32 @@ class StreamAutocompleteOptions extends StatelessWidget { Widget build(BuildContext context) { final height = MediaQuery.of(context).size.height; final colorTheme = StreamChatTheme.of(context).colorTheme; - return TextFieldTapRegion( - child: Card( - margin: margin, - elevation: elevation, - color: color ?? colorTheme.barsBg, - shape: shape, - clipBehavior: clipBehavior, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - if (headerBuilder != null) ...[ - headerBuilder!(context), - const Divider(height: 0), - ], - LimitedBox( - maxHeight: maxHeight ?? height * 0.5, - child: ListView.builder( - shrinkWrap: true, - padding: EdgeInsets.zero, - itemCount: options.length, - itemBuilder: (context, index) { - final option = options.elementAt(index); - return optionBuilder(context, option); - }, - ), - ), + return Card( + margin: margin, + elevation: elevation, + color: color ?? colorTheme.barsBg, + shape: shape, + clipBehavior: clipBehavior, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + if (headerBuilder != null) ...[ + headerBuilder!(context), + const Divider(height: 0), ], - ), + LimitedBox( + maxHeight: maxHeight ?? height * 0.5, + child: ListView.builder( + shrinkWrap: true, + padding: EdgeInsets.zero, + itemCount: options.length, + itemBuilder: (context, index) { + final option = options.elementAt(index); + return optionBuilder(context, option); + }, + ), + ), + ], ), ); }