chore: use query parameter to set chat list filter (#2340)

This commit is contained in:
ggurdin 2025-04-03 11:49:29 -04:00 committed by GitHub
parent c04bb97bbf
commit 3a06fddcc4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 19 additions and 8 deletions

View file

@ -262,6 +262,9 @@ class ChatInputRow extends StatelessWidget {
filled: false,
),
onChanged: controller.onInputBarChanged,
// #Pangea
hintText: "",
// Pangea#
),
),
),

View file

@ -43,6 +43,7 @@ import '../../widgets/matrix.dart';
import 'package:fluffychat/utils/tor_stub.dart'
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
enum PopupMenuAction {
settings,
invite,
@ -485,6 +486,17 @@ class ChatListController extends State<ChatList>
@override
void initState() {
// #Pangea
WidgetsBinding.instance.addPostFrameCallback((_) {
final params = GoRouterState.of(context).uri.queryParameters;
if (!params.containsKey("filter") || params['filter'] != 'groups') return;
setActiveFilter(
AppConfig.separateChatTypes
? ActiveFilter.groups
: ActiveFilter.allChats,
);
});
// Pangea#
_initReceiveSharingIntent();
scrollController.addListener(_onScroll);

View file

@ -8,7 +8,6 @@ import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/chat_list/chat_list.dart';
import 'package:fluffychat/pages/new_group/new_group_view.dart';
import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart';
import 'package:fluffychat/pangea/bot/utils/bot_name.dart';
@ -166,11 +165,7 @@ class NewGroupController extends State<NewGroup> {
// if a timeout happened, don't redirect to the chat
if (error != null) return;
// Pangea#
MatrixState.pangeaController.classController
.setActiveFilterInChatListController(
AppConfig.separateChatTypes ? ActiveFilter.groups : ActiveFilter.allChats,
);
context.go('/rooms/$roomId/invite');
context.go('/rooms/$roomId/invite?filter=groups');
}
Future<void> _createSpace() async {

View file

@ -204,7 +204,7 @@ class ActivityPlanCardState extends State<ActivityPlanCard> {
filename: _filename,
);
context.go("/rooms/$roomId/invite");
context.go("/rooms/$roomId/invite?filter=groups");
},
);
}

View file

@ -210,7 +210,8 @@ class ActivitySuggestionDialogState extends State<ActivitySuggestionDialog> {
avatar: _avatar,
filename: _filename,
);
context.go("/rooms/$roomId/invite");
context.go("/rooms/$roomId/invite?filter=groups");
}
Future<void> _saveEdits() async {