Files
mih-project/Frontend/lib/mih_providers/mzansi_directory_provider.dart

105 lines
2.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/bookmarked_business.dart';
import 'package:mzansi_innovation_hub/mih_objects/business.dart';
class MzansiDirectoryProvider extends ChangeNotifier {
int toolIndex;
Position? userPosition;
String userLocation;
bool personalSearch;
List<BookmarkedBusiness> bookmarkedBusinesses = [];
List<Business>? favouriteBusinessesList;
List<Business>? searchedBusinesses;
Business? selectedBusiness;
List<AppUser>? searchedUsers;
AppUser? selectedUser;
String searchTerm;
String businessTypeFilter;
MzansiDirectoryProvider({
this.toolIndex = 0,
this.personalSearch = true,
this.userLocation = "Unknown Location",
this.searchTerm = "",
this.businessTypeFilter = "",
});
void reset() {
toolIndex = 0;
userPosition = null;
userLocation = "Unknown Location";
personalSearch = true;
bookmarkedBusinesses = [];
searchedBusinesses = null;
selectedBusiness = null;
searchedUsers = null;
selectedUser = null;
searchTerm = "";
businessTypeFilter = "";
notifyListeners();
}
void setToolIndex(int index) {
toolIndex = index;
notifyListeners();
}
void setUserPosition(Position? position) {
userPosition = position;
if (position == null) {
userLocation = "Unknown Location";
} else {
userLocation = "${position.latitude}, ${position.longitude}";
}
notifyListeners();
}
void setPersonalSearch(bool personal) {
personalSearch = personal;
notifyListeners();
}
void setBookmarkedeBusinesses(
{required List<BookmarkedBusiness> businesses}) {
bookmarkedBusinesses = businesses;
notifyListeners();
}
void setFavouriteBusinesses({required List<Business> businesses}) {
favouriteBusinessesList = businesses;
notifyListeners();
}
void setSearchedBusinesses({required List<Business> searchedBusinesses}) {
this.searchedBusinesses = searchedBusinesses;
notifyListeners();
}
void setSelectedBusiness({required Business business}) {
selectedBusiness = business;
notifyListeners();
}
void setSearchedUsers({required List<AppUser> searchedUsers}) {
this.searchedUsers = searchedUsers;
notifyListeners();
}
void setSelectedUser({required AppUser user}) {
selectedUser = user;
notifyListeners();
}
void setSearchTerm({required String searchTerm}) {
this.searchTerm = searchTerm;
notifyListeners();
}
void setBusinessTypeFilter({required String businessTypeFilter}) {
this.businessTypeFilter = businessTypeFilter;
notifyListeners();
}
}