From ac497bf6a11e5359d453e3ae1deed89ffa6da369 Mon Sep 17 00:00:00 2001 From: Mohammed Mohsin <59914433+mdmohsin7@users.noreply.github.com> Date: Tue, 4 Mar 2025 17:09:53 +0530 Subject: [PATCH] add debouncer to reduce search rebuilds --- app/lib/pages/apps/explore_install_page.dart | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/lib/pages/apps/explore_install_page.dart b/app/lib/pages/apps/explore_install_page.dart index c55c1cdf68..0d701687cb 100644 --- a/app/lib/pages/apps/explore_install_page.dart +++ b/app/lib/pages/apps/explore_install_page.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:friend_private/backend/auth.dart'; import 'package:friend_private/backend/schema/app.dart'; import 'package:friend_private/pages/apps/providers/add_app_provider.dart'; import 'package:friend_private/pages/apps/widgets/app_section_card.dart'; @@ -7,10 +6,9 @@ import 'package:friend_private/pages/apps/widgets/filter_sheet.dart'; import 'package:friend_private/pages/apps/list_item.dart'; import 'package:friend_private/providers/app_provider.dart'; import 'package:friend_private/providers/home_provider.dart'; -import 'package:friend_private/utils/other/temp.dart'; +import 'package:friend_private/utils/other/debouncer.dart'; import 'package:provider/provider.dart'; -import '../persona/twitter/social_profile.dart'; import 'widgets/create_options_sheet.dart'; String filterValueToString(dynamic value) { @@ -33,6 +31,7 @@ class ExploreInstallPage extends StatefulWidget { class _ExploreInstallPageState extends State with AutomaticKeepAliveClientMixin { late TextEditingController searchController; + Debouncer debouncer = Debouncer(delay: const Duration(milliseconds: 500)); @override void initState() { @@ -152,7 +151,9 @@ class _ExploreInstallPageState extends State with AutomaticK controller: searchController, focusNode: context.read().appsSearchFieldFocusNode, onChanged: (value) { - provider.searchApps(value); + debouncer.run(() { + provider.searchApps(value); + }); }, decoration: InputDecoration( hintText: 'Search Apps',