@@ -173,6 +173,8 @@ class _StreamContentInput extends StatefulWidget {
173
173
class _StreamContentInputState extends State <_StreamContentInput > {
174
174
MentionAutocompleteView ? _mentionAutocompleteView; // TODO different autocomplete view types
175
175
176
+ Iterable <MentionAutocompleteResult >? _devDemoResults;
177
+
176
178
late String _topicTextNormalized;
177
179
178
180
_topicChanged () {
@@ -184,9 +186,20 @@ class _StreamContentInputState extends State<_StreamContentInput> {
184
186
_changed () {
185
187
final newAutocompleteIntent = widget.controller.autocompleteIntent ();
186
188
if (newAutocompleteIntent != null ) {
187
- final store = PerAccountStoreWidget .of (context);
188
- _mentionAutocompleteView ?? = MentionAutocompleteView .init (
189
- store: store, narrow: widget.narrow);
189
+ if (_mentionAutocompleteView == null ) {
190
+ final store = PerAccountStoreWidget .of (context);
191
+ _mentionAutocompleteView = MentionAutocompleteView .init (
192
+ store: store, narrow: widget.narrow);
193
+ _mentionAutocompleteView! .addListener (() {
194
+ if (_mentionAutocompleteView == null ) {
195
+ _devDemoResults = [];
196
+ return ;
197
+ }
198
+ setState (() {
199
+ _devDemoResults = _mentionAutocompleteView! .results;
200
+ });
201
+ });
202
+ }
190
203
_mentionAutocompleteView! .query = newAutocompleteIntent.query;
191
204
} else {
192
205
if (_mentionAutocompleteView != null ) {
@@ -214,6 +227,7 @@ class _StreamContentInputState extends State<_StreamContentInput> {
214
227
@override
215
228
Widget build (BuildContext context) {
216
229
final store = PerAccountStoreWidget .of (context);
230
+ print ('autocomplete suggestions (max 5 shown): ${_devDemoResults ?.take (5 ).map ((r ) => (r as UserMentionAutocompleteResult ).userId )}' );
217
231
final streamName = store.streams[widget.streamId]? .name ?? '(unknown stream)' ;
218
232
219
233
ColorScheme colorScheme = Theme .of (context).colorScheme;
0 commit comments