favourite business fix
This commit is contained in:
@@ -10,7 +10,7 @@ class MzansiDirectoryProvider extends ChangeNotifier {
|
|||||||
String userLocation;
|
String userLocation;
|
||||||
bool personalSearch;
|
bool personalSearch;
|
||||||
List<BookmarkedBusiness> bookmarkedBusinesses = [];
|
List<BookmarkedBusiness> bookmarkedBusinesses = [];
|
||||||
List<Business> favouriteBusinessesList = [];
|
List<Business>? favouriteBusinessesList;
|
||||||
List<Business>? searchedBusinesses;
|
List<Business>? searchedBusinesses;
|
||||||
Business? selectedBusiness;
|
Business? selectedBusiness;
|
||||||
List<AppUser>? searchedUsers;
|
List<AppUser>? searchedUsers;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_
|
|||||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_search_bar.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_search_bar.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
|
||||||
|
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_directory_provider.dart';
|
import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_directory_provider.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
import 'package:mzansi_innovation_hub/mih_config/mih_colors.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_packages/mzansi_directory/builders/build_favourite_businesses_list.dart';
|
import 'package:mzansi_innovation_hub/mih_packages/mzansi_directory/builders/build_favourite_businesses_list.dart';
|
||||||
@@ -32,9 +33,11 @@ class _MihFavouriteBusinessesState extends State<MihFavouriteBusinesses> {
|
|||||||
void _filterAndSetBusinesses(MzansiDirectoryProvider directoryProvider) {
|
void _filterAndSetBusinesses(MzansiDirectoryProvider directoryProvider) {
|
||||||
List<Business?> businessesToDisplay = [];
|
List<Business?> businessesToDisplay = [];
|
||||||
String query = businessSearchController.text.toLowerCase();
|
String query = businessSearchController.text.toLowerCase();
|
||||||
for (var bus in directoryProvider.favouriteBusinessesList) {
|
if (directoryProvider.favouriteBusinessesList != null) {
|
||||||
if (bus.Name.toLowerCase().contains(query)) {
|
for (var bus in directoryProvider.favouriteBusinessesList!) {
|
||||||
businessesToDisplay.add(bus);
|
if (bus.Name.toLowerCase().contains(query)) {
|
||||||
|
businessesToDisplay.add(bus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
searchBookmarkedBusinesses.value = businessesToDisplay;
|
searchBookmarkedBusinesses.value = businessesToDisplay;
|
||||||
@@ -79,117 +82,129 @@ class _MihFavouriteBusinessesState extends State<MihFavouriteBusinesses> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget getBody(double width) {
|
Widget getBody(double width) {
|
||||||
return MihSingleChildScroll(
|
return Consumer<MzansiDirectoryProvider>(
|
||||||
child: Column(
|
builder: (BuildContext context, MzansiDirectoryProvider directoryProvider,
|
||||||
children: [
|
Widget? child) {
|
||||||
Padding(
|
if (directoryProvider.favouriteBusinessesList == null) {
|
||||||
padding: EdgeInsets.symmetric(horizontal: width / 20),
|
return Center(
|
||||||
child: MihSearchBar(
|
child: Mihloadingcircle(),
|
||||||
controller: businessSearchController,
|
);
|
||||||
hintText: "Search Businesses",
|
}
|
||||||
prefixIcon: Icons.search,
|
return MihSingleChildScroll(
|
||||||
fillColor: MihColors.getSecondaryColor(
|
child: Column(
|
||||||
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
|
children: [
|
||||||
hintColor: MihColors.getPrimaryColor(
|
Padding(
|
||||||
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
|
padding: EdgeInsets.symmetric(horizontal: width / 20),
|
||||||
onPrefixIconTap: () {},
|
child: MihSearchBar(
|
||||||
searchFocusNode: searchFocusNode,
|
controller: businessSearchController,
|
||||||
),
|
hintText: "Search Businesses",
|
||||||
),
|
prefixIcon: Icons.search,
|
||||||
const SizedBox(height: 10),
|
fillColor: MihColors.getSecondaryColor(
|
||||||
ValueListenableBuilder<List<Business?>>(
|
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
|
||||||
valueListenable: searchBookmarkedBusinesses,
|
hintColor: MihColors.getPrimaryColor(
|
||||||
builder: (context, filteredBusinesses, child) {
|
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
|
||||||
if (filteredBusinesses.isEmpty &&
|
onPrefixIconTap: () {},
|
||||||
businessSearchController.text.isNotEmpty) {
|
searchFocusNode: searchFocusNode,
|
||||||
return Column(
|
),
|
||||||
children: [
|
),
|
||||||
const SizedBox(height: 50),
|
const SizedBox(height: 10),
|
||||||
Icon(
|
ValueListenableBuilder<List<Business?>>(
|
||||||
MihIcons.iDontKnow,
|
valueListenable: searchBookmarkedBusinesses,
|
||||||
size: 165,
|
builder: (context, filteredBusinesses, child) {
|
||||||
color: MihColors.getSecondaryColor(
|
if (filteredBusinesses.isEmpty &&
|
||||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
businessSearchController.text.isNotEmpty) {
|
||||||
"Dark"),
|
return Column(
|
||||||
),
|
children: [
|
||||||
const SizedBox(height: 10),
|
const SizedBox(height: 50),
|
||||||
Text(
|
Icon(
|
||||||
"Let's try refining your search",
|
MihIcons.iDontKnow,
|
||||||
textAlign: TextAlign.center,
|
size: 165,
|
||||||
overflow: TextOverflow.visible,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 25,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
color: MihColors.getSecondaryColor(
|
|
||||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
|
||||||
"Dark"),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
} else if (filteredBusinesses.isEmpty &&
|
|
||||||
businessSearchController.text.isEmpty) {
|
|
||||||
return Padding(
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 10.0),
|
|
||||||
child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
const SizedBox(height: 50),
|
|
||||||
Icon(
|
|
||||||
MihIcons.businessProfile,
|
|
||||||
size: 165,
|
|
||||||
color: MihColors.getSecondaryColor(
|
|
||||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
|
||||||
"Dark"),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 10),
|
|
||||||
Text(
|
|
||||||
"No favourite businesses added to your mzansi directory",
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
overflow: TextOverflow.visible,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 25,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
color: MihColors.getSecondaryColor(
|
color: MihColors.getSecondaryColor(
|
||||||
MzansiInnovationHub.of(context)!.theme.mode ==
|
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||||
"Dark"),
|
"Dark"),
|
||||||
),
|
),
|
||||||
),
|
const SizedBox(height: 10),
|
||||||
const SizedBox(height: 25),
|
Text(
|
||||||
Center(
|
"Let's try refining your search",
|
||||||
child: RichText(
|
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
text: TextSpan(
|
overflow: TextOverflow.visible,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 25,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
color: MihColors.getSecondaryColor(
|
||||||
|
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||||
|
"Dark"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
} else if (filteredBusinesses.isEmpty &&
|
||||||
|
businessSearchController.text.isEmpty) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 10.0),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
const SizedBox(height: 50),
|
||||||
|
Icon(
|
||||||
|
MihIcons.businessProfile,
|
||||||
|
size: 165,
|
||||||
|
color: MihColors.getSecondaryColor(
|
||||||
|
MzansiInnovationHub.of(context)!.theme.mode ==
|
||||||
|
"Dark"),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
Text(
|
||||||
|
"No favourite businesses added to your mzansi directory",
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
overflow: TextOverflow.visible,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 20,
|
fontSize: 25,
|
||||||
fontWeight: FontWeight.normal,
|
fontWeight: FontWeight.bold,
|
||||||
color: MihColors.getSecondaryColor(
|
color: MihColors.getSecondaryColor(
|
||||||
MzansiInnovationHub.of(context)!
|
MzansiInnovationHub.of(context)!
|
||||||
.theme
|
.theme
|
||||||
.mode ==
|
.mode ==
|
||||||
"Dark"),
|
"Dark"),
|
||||||
),
|
),
|
||||||
children: [
|
|
||||||
TextSpan(text: "Use the mzansi search"),
|
|
||||||
TextSpan(
|
|
||||||
text:
|
|
||||||
" to find your favourite businesses of mzansi"),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
const SizedBox(height: 25),
|
||||||
|
Center(
|
||||||
|
child: RichText(
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
text: TextSpan(
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 20,
|
||||||
|
fontWeight: FontWeight.normal,
|
||||||
|
color: MihColors.getSecondaryColor(
|
||||||
|
MzansiInnovationHub.of(context)!
|
||||||
|
.theme
|
||||||
|
.mode ==
|
||||||
|
"Dark"),
|
||||||
|
),
|
||||||
|
children: [
|
||||||
|
TextSpan(text: "Use the mzansi search"),
|
||||||
|
TextSpan(
|
||||||
|
text:
|
||||||
|
" to find your favourite businesses of mzansi"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
],
|
);
|
||||||
),
|
}
|
||||||
);
|
KenLogger.success(filteredBusinesses);
|
||||||
}
|
return BuildFavouriteBusinessesList(
|
||||||
KenLogger.success(filteredBusinesses);
|
favouriteBusinesses: filteredBusinesses,
|
||||||
return BuildFavouriteBusinessesList(
|
);
|
||||||
favouriteBusinesses: filteredBusinesses,
|
}),
|
||||||
);
|
],
|
||||||
}),
|
),
|
||||||
],
|
);
|
||||||
),
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user