diff --git a/Frontend/lib/mih_packages/mzansi_directory/package_tools/mih_search_mzansi.dart b/Frontend/lib/mih_packages/mzansi_directory/package_tools/mih_search_mzansi.dart index 3cfded84..fa2fc911 100644 --- a/Frontend/lib/mih_packages/mzansi_directory/package_tools/mih_search_mzansi.dart +++ b/Frontend/lib/mih_packages/mzansi_directory/package_tools/mih_search_mzansi.dart @@ -41,6 +41,7 @@ class _MihSearchMzansiState extends State { late Future> availableBusinessTypes; bool filterOn = false; bool loadingSearchResults = false; + Future swapPressed(MzansiProfileProvider profileProvider, MzansiDirectoryProvider directoryProvider) async { directoryProvider.setPersonalSearch(!directoryProvider.personalSearch); @@ -142,13 +143,7 @@ class _MihSearchMzansiState extends State { context.read(); availableBusinessTypes = MihBusinessDetailsServices().fetchAllBusinessTypes(); - mzansiSearchController.text = ""; - WidgetsBinding.instance.addPostFrameCallback((_) async { - directoryProvider.setSearchedUsers( - searchedUsers: [], - userImagesUrl: {}, - ); - }); + mzansiSearchController.text = directoryProvider.searchTerm; } @override @@ -321,18 +316,18 @@ class _MihSearchMzansiState extends State { Widget displayBusinessSearchResults( MzansiDirectoryProvider directoryProvider) { - if (directoryProvider.searchedBusinesses == null || loadingSearchResults) { + if (loadingSearchResults) { return Center( child: const Mihloadingcircle(), ); - } else if (directoryProvider.searchedBusinesses!.isNotEmpty) { + } else if (directoryProvider.searchedBusinesses.isNotEmpty) { // return Text("Pulled Data successfully"); - directoryProvider.searchedBusinesses! + directoryProvider.searchedBusinesses .sort((a, b) => a.Name.compareTo(b.Name)); return BuildBusinessSearchResultsList( - businessList: directoryProvider.searchedBusinesses!, + businessList: directoryProvider.searchedBusinesses, ); - } else if (directoryProvider.searchedBusinesses!.isEmpty && + } else if (directoryProvider.searchedBusinesses.isEmpty && directoryProvider.searchTerm.isNotEmpty) { return MihSingleChildScroll( child: Column( @@ -359,7 +354,7 @@ class _MihSearchMzansiState extends State { ], ), ); - } else if (directoryProvider.searchedBusinesses!.isEmpty && + } else if (directoryProvider.searchedBusinesses.isEmpty && directoryProvider.searchTerm.isEmpty) { return MihSingleChildScroll( child: Padding( @@ -465,16 +460,16 @@ class _MihSearchMzansiState extends State { Widget displayPersonalSearchResults( MzansiDirectoryProvider directoryProvider) { - if (directoryProvider.searchedUsers == null || loadingSearchResults) { + if (loadingSearchResults) { return Center( child: const Mihloadingcircle(), ); - } else if (directoryProvider.searchedUsers!.isNotEmpty) { - directoryProvider.searchedUsers! + } else if (directoryProvider.searchedUsers.isNotEmpty) { + directoryProvider.searchedUsers .sort((a, b) => a.username.compareTo(b.username)); return BuildUserSearchResultsList( - userList: directoryProvider.searchedUsers!); - } else if (directoryProvider.searchedUsers!.isEmpty && + userList: directoryProvider.searchedUsers); + } else if (directoryProvider.searchedUsers.isEmpty && directoryProvider.searchTerm.isEmpty) { return MihSingleChildScroll( child: Padding( @@ -535,7 +530,7 @@ class _MihSearchMzansiState extends State { ), ), ); - } else if (directoryProvider.searchedUsers!.isEmpty && + } else if (directoryProvider.searchedUsers.isEmpty && directoryProvider.searchTerm.isNotEmpty) { return MihSingleChildScroll( child: Column( diff --git a/Frontend/lib/mih_providers/mzansi_directory_provider.dart b/Frontend/lib/mih_providers/mzansi_directory_provider.dart index 525fb507..a68795c7 100644 --- a/Frontend/lib/mih_providers/mzansi_directory_provider.dart +++ b/Frontend/lib/mih_providers/mzansi_directory_provider.dart @@ -12,10 +12,10 @@ class MzansiDirectoryProvider extends ChangeNotifier { List bookmarkedBusinesses = []; List? favouriteBusinessesList; Map>? favBusImagesUrl; - List? searchedBusinesses; + List searchedBusinesses = []; Map>? busSearchImagesUrl; Business? selectedBusiness; - List? searchedUsers; + List searchedUsers = []; Map>? userSearchImagesUrl; AppUser? selectedUser; String searchTerm; @@ -35,9 +35,9 @@ class MzansiDirectoryProvider extends ChangeNotifier { userLocation = "Unknown Location"; personalSearch = true; bookmarkedBusinesses = []; - searchedBusinesses = null; + searchedBusinesses = []; selectedBusiness = null; - searchedUsers = null; + searchedUsers = []; selectedUser = null; searchTerm = ""; businessTypeFilter = "";