Skip to content

Commit c392ec9

Browse files
committed
DEV DEMO
1 parent 0adf987 commit c392ec9

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

lib/widgets/compose_box.dart

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,8 @@ class _StreamContentInput extends StatefulWidget {
173173
class _StreamContentInputState extends State<_StreamContentInput> {
174174
MentionAutocompleteView? _mentionAutocompleteView; // TODO different autocomplete view types
175175

176+
Iterable<MentionAutocompleteResult>? _devDemoResults;
177+
176178
late String _topicTextNormalized;
177179

178180
_topicChanged() {
@@ -184,9 +186,20 @@ class _StreamContentInputState extends State<_StreamContentInput> {
184186
_changed() {
185187
final newAutocompleteIntent = widget.controller.autocompleteIntent();
186188
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+
}
190203
_mentionAutocompleteView!.query = newAutocompleteIntent.query;
191204
} else {
192205
if (_mentionAutocompleteView != null) {
@@ -214,6 +227,7 @@ class _StreamContentInputState extends State<_StreamContentInput> {
214227
@override
215228
Widget build(BuildContext context) {
216229
final store = PerAccountStoreWidget.of(context);
230+
print('autocomplete suggestions (max 5 shown): ${_devDemoResults?.take(5).map((r) => (r as UserMentionAutocompleteResult).userId)}');
217231
final streamName = store.streams[widget.streamId]?.name ?? '(unknown stream)';
218232

219233
ColorScheme colorScheme = Theme.of(context).colorScheme;

0 commit comments

Comments
 (0)