fix(ui): move tap region to wrap autocomplete optionsViewBuilder

This commit is contained in:
geweald
2023-05-25 14:15:30 +02:00
parent 31af098709
commit e46be5d8ae
@@ -507,11 +507,13 @@ class _StreamAutocompleteState extends State<StreamAutocomplete> {
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<T extends Object> 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);
},
),
),
],
),
);
}