QOL: Data display load Mzansi Direct pt3

This commit is contained in:
2025-12-03 11:08:22 +02:00
parent a6d5e4ad35
commit 3ff670886c
2 changed files with 18 additions and 23 deletions

View File

@@ -41,6 +41,7 @@ class _MihSearchMzansiState extends State<MihSearchMzansi> {
late Future<List<String>> availableBusinessTypes; late Future<List<String>> availableBusinessTypes;
bool filterOn = false; bool filterOn = false;
bool loadingSearchResults = false; bool loadingSearchResults = false;
Future<void> swapPressed(MzansiProfileProvider profileProvider, Future<void> swapPressed(MzansiProfileProvider profileProvider,
MzansiDirectoryProvider directoryProvider) async { MzansiDirectoryProvider directoryProvider) async {
directoryProvider.setPersonalSearch(!directoryProvider.personalSearch); directoryProvider.setPersonalSearch(!directoryProvider.personalSearch);
@@ -142,13 +143,7 @@ class _MihSearchMzansiState extends State<MihSearchMzansi> {
context.read<MzansiDirectoryProvider>(); context.read<MzansiDirectoryProvider>();
availableBusinessTypes = availableBusinessTypes =
MihBusinessDetailsServices().fetchAllBusinessTypes(); MihBusinessDetailsServices().fetchAllBusinessTypes();
mzansiSearchController.text = ""; mzansiSearchController.text = directoryProvider.searchTerm;
WidgetsBinding.instance.addPostFrameCallback((_) async {
directoryProvider.setSearchedUsers(
searchedUsers: [],
userImagesUrl: {},
);
});
} }
@override @override
@@ -321,18 +316,18 @@ class _MihSearchMzansiState extends State<MihSearchMzansi> {
Widget displayBusinessSearchResults( Widget displayBusinessSearchResults(
MzansiDirectoryProvider directoryProvider) { MzansiDirectoryProvider directoryProvider) {
if (directoryProvider.searchedBusinesses == null || loadingSearchResults) { if (loadingSearchResults) {
return Center( return Center(
child: const Mihloadingcircle(), child: const Mihloadingcircle(),
); );
} else if (directoryProvider.searchedBusinesses!.isNotEmpty) { } else if (directoryProvider.searchedBusinesses.isNotEmpty) {
// return Text("Pulled Data successfully"); // return Text("Pulled Data successfully");
directoryProvider.searchedBusinesses! directoryProvider.searchedBusinesses
.sort((a, b) => a.Name.compareTo(b.Name)); .sort((a, b) => a.Name.compareTo(b.Name));
return BuildBusinessSearchResultsList( return BuildBusinessSearchResultsList(
businessList: directoryProvider.searchedBusinesses!, businessList: directoryProvider.searchedBusinesses,
); );
} else if (directoryProvider.searchedBusinesses!.isEmpty && } else if (directoryProvider.searchedBusinesses.isEmpty &&
directoryProvider.searchTerm.isNotEmpty) { directoryProvider.searchTerm.isNotEmpty) {
return MihSingleChildScroll( return MihSingleChildScroll(
child: Column( child: Column(
@@ -359,7 +354,7 @@ class _MihSearchMzansiState extends State<MihSearchMzansi> {
], ],
), ),
); );
} else if (directoryProvider.searchedBusinesses!.isEmpty && } else if (directoryProvider.searchedBusinesses.isEmpty &&
directoryProvider.searchTerm.isEmpty) { directoryProvider.searchTerm.isEmpty) {
return MihSingleChildScroll( return MihSingleChildScroll(
child: Padding( child: Padding(
@@ -465,16 +460,16 @@ class _MihSearchMzansiState extends State<MihSearchMzansi> {
Widget displayPersonalSearchResults( Widget displayPersonalSearchResults(
MzansiDirectoryProvider directoryProvider) { MzansiDirectoryProvider directoryProvider) {
if (directoryProvider.searchedUsers == null || loadingSearchResults) { if (loadingSearchResults) {
return Center( return Center(
child: const Mihloadingcircle(), child: const Mihloadingcircle(),
); );
} else if (directoryProvider.searchedUsers!.isNotEmpty) { } else if (directoryProvider.searchedUsers.isNotEmpty) {
directoryProvider.searchedUsers! directoryProvider.searchedUsers
.sort((a, b) => a.username.compareTo(b.username)); .sort((a, b) => a.username.compareTo(b.username));
return BuildUserSearchResultsList( return BuildUserSearchResultsList(
userList: directoryProvider.searchedUsers!); userList: directoryProvider.searchedUsers);
} else if (directoryProvider.searchedUsers!.isEmpty && } else if (directoryProvider.searchedUsers.isEmpty &&
directoryProvider.searchTerm.isEmpty) { directoryProvider.searchTerm.isEmpty) {
return MihSingleChildScroll( return MihSingleChildScroll(
child: Padding( child: Padding(
@@ -535,7 +530,7 @@ class _MihSearchMzansiState extends State<MihSearchMzansi> {
), ),
), ),
); );
} else if (directoryProvider.searchedUsers!.isEmpty && } else if (directoryProvider.searchedUsers.isEmpty &&
directoryProvider.searchTerm.isNotEmpty) { directoryProvider.searchTerm.isNotEmpty) {
return MihSingleChildScroll( return MihSingleChildScroll(
child: Column( child: Column(

View File

@@ -12,10 +12,10 @@ class MzansiDirectoryProvider extends ChangeNotifier {
List<BookmarkedBusiness> bookmarkedBusinesses = []; List<BookmarkedBusiness> bookmarkedBusinesses = [];
List<Business>? favouriteBusinessesList; List<Business>? favouriteBusinessesList;
Map<String, Future<String>>? favBusImagesUrl; Map<String, Future<String>>? favBusImagesUrl;
List<Business>? searchedBusinesses; List<Business> searchedBusinesses = [];
Map<String, Future<String>>? busSearchImagesUrl; Map<String, Future<String>>? busSearchImagesUrl;
Business? selectedBusiness; Business? selectedBusiness;
List<AppUser>? searchedUsers; List<AppUser> searchedUsers = [];
Map<String, Future<String>>? userSearchImagesUrl; Map<String, Future<String>>? userSearchImagesUrl;
AppUser? selectedUser; AppUser? selectedUser;
String searchTerm; String searchTerm;
@@ -35,9 +35,9 @@ class MzansiDirectoryProvider extends ChangeNotifier {
userLocation = "Unknown Location"; userLocation = "Unknown Location";
personalSearch = true; personalSearch = true;
bookmarkedBusinesses = []; bookmarkedBusinesses = [];
searchedBusinesses = null; searchedBusinesses = [];
selectedBusiness = null; selectedBusiness = null;
searchedUsers = null; searchedUsers = [];
selectedUser = null; selectedUser = null;
searchTerm = ""; searchTerm = "";
businessTypeFilter = ""; businessTypeFilter = "";