diff --git a/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart b/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart index 2ab9fc6ee..0eabba43e 100644 --- a/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart +++ b/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart @@ -84,6 +84,7 @@ class PangeaInvitationSelection extends StatefulWidget { class PangeaInvitationSelectionController extends State { TextEditingController controller = TextEditingController(); + ScrollController scrollController = ScrollController(); bool loading = false; @@ -131,6 +132,12 @@ class PangeaInvitationSelectionController _addJoinCode(); } + @override + void dispose() { + scrollController.dispose(); + super.dispose(); + } + String filterLabel(InvitationFilter filter) { final l10n = L10n.of(context); switch (filter) { @@ -263,6 +270,9 @@ class PangeaInvitationSelectionController if (newFilter == InvitationFilter.public) { searchUser(context, controller.text); } + if (scrollController.hasClients) { + scrollController.jumpTo(0); + } setState(() => filter = newFilter); } diff --git a/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart b/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart index 3e5ead2c9..3c53fe7d2 100644 --- a/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart +++ b/lib/pangea/chat_settings/pages/pangea_invitation_selection_view.dart @@ -162,6 +162,7 @@ class PangeaInvitationSelectionView extends StatelessWidget { ), ) : ListView.builder( + controller: controller.scrollController, itemCount: controller.foundProfiles.length, itemBuilder: (BuildContext context, int i) => _InviteContactListTile( @@ -176,6 +177,7 @@ class PangeaInvitationSelectionView extends StatelessWidget { ), ) : ListView.builder( + controller: controller.scrollController, itemCount: contacts.length + 2, itemBuilder: (BuildContext context, int i) { if (i == 0) {