QOL: Switch from Network Image to CachedNetworkImage

This commit is contained in:
2025-12-03 21:42:42 +02:00
parent e7729a8ce8
commit fe5b61f6bc
10 changed files with 18 additions and 24 deletions

View File

@@ -154,11 +154,7 @@ class _PackageToolOneState extends State<PackageToolOne> {
super.initState(); super.initState();
setState(() { setState(() {
imagePreview = null; imagePreview = null;
// const NetworkImage(
// "https://lh3.googleusercontent.com/nW4ZZ89Q1ATz7Ht3nsAVWXL_cwNi4gNusqQZiL60UuuI3FG-VM7bTYDoJ-sUr2kDTdorfQYjxo5PjDM-0MO5rA=s512");
}); });
// myCoordinates = MIHLocationAPI().getGPSPosition(context);
} }
Widget getBody(double width) { Widget getBody(double width) {

View File

@@ -42,9 +42,7 @@ class _MihFavouriteBusinessesState extends State<MihFavouriteBusinesses> {
directoryProvider, directoryProvider,
); );
List<Business> favBus = []; List<Business> favBus = [];
// Map<String, ImageProvider<Object>?> favBusImages = {};
Map<String, Future<String>> favBusImages = {}; Map<String, Future<String>> favBusImages = {};
// String businessLogoUrl = "";
Future<String> businessLogoUrl; Future<String> businessLogoUrl;
for (var bus in directoryProvider.bookmarkedBusinesses) { for (var bus in directoryProvider.bookmarkedBusinesses) {
await MihBusinessDetailsServices() await MihBusinessDetailsServices()
@@ -53,7 +51,6 @@ class _MihFavouriteBusinessesState extends State<MihFavouriteBusinesses> {
favBus.add(business!); favBus.add(business!);
businessLogoUrl = MihFileApi.getMinioFileUrl(business.logo_path); businessLogoUrl = MihFileApi.getMinioFileUrl(business.logo_path);
favBusImages[business.business_id] = businessLogoUrl; favBusImages[business.business_id] = businessLogoUrl;
// businessLogoUrl != "" ? NetworkImage(businessLogoUrl) : null;
}); });
} }
directoryProvider.setFavouriteBusinesses( directoryProvider.setFavouriteBusinesses(

View File

@@ -38,9 +38,7 @@ class _MihAddBookmarkAlertState extends State<MihAddBookmarkAlert> {
directoryProvider, directoryProvider,
); );
List<Business> favBus = []; List<Business> favBus = [];
// Map<String, ImageProvider<Object>?> favBusImages = {};
Map<String, Future<String>> favBusImages = {}; Map<String, Future<String>> favBusImages = {};
// String businessLogoUrl = "";
Future<String> businessLogoUrl; Future<String> businessLogoUrl;
for (var bus in directoryProvider.bookmarkedBusinesses) { for (var bus in directoryProvider.bookmarkedBusinesses) {
await MihBusinessDetailsServices() await MihBusinessDetailsServices()
@@ -49,7 +47,6 @@ class _MihAddBookmarkAlertState extends State<MihAddBookmarkAlert> {
favBus.add(business!); favBus.add(business!);
businessLogoUrl = MihFileApi.getMinioFileUrl(business.logo_path); businessLogoUrl = MihFileApi.getMinioFileUrl(business.logo_path);
favBusImages[business.business_id] = businessLogoUrl; favBusImages[business.business_id] = businessLogoUrl;
// businessLogoUrl != "" ? NetworkImage(businessLogoUrl) : null;
}); });
} }
directoryProvider.setFavouriteBusinesses( directoryProvider.setFavouriteBusinesses(

View File

@@ -574,14 +574,11 @@ class _MihBusinessCardState extends State<MihBusinessCard> {
businessSearchResults = await MihBusinessDetailsServices() businessSearchResults = await MihBusinessDetailsServices()
.searchBusinesses(directoryProvider.searchTerm, .searchBusinesses(directoryProvider.searchTerm,
directoryProvider.businessTypeFilter, context); directoryProvider.businessTypeFilter, context);
// Map<String, ImageProvider<Object>?> busImages = {};
Map<String, Future<String>> busImagesUrl = {}; Map<String, Future<String>> busImagesUrl = {};
// String businessLogoUrl = "";
Future<String> businessLogoUrl; Future<String> businessLogoUrl;
for (var bus in businessSearchResults) { for (var bus in businessSearchResults) {
businessLogoUrl = MihFileApi.getMinioFileUrl(bus.logo_path); businessLogoUrl = MihFileApi.getMinioFileUrl(bus.logo_path);
busImagesUrl[bus.business_id] = businessLogoUrl; busImagesUrl[bus.business_id] = businessLogoUrl;
// != "" ? NetworkImage(businessLogoUrl) : null;
} }
directoryProvider.setSearchedBusinesses( directoryProvider.setSearchedBusinesses(
searchedBusinesses: businessSearchResults, searchedBusinesses: businessSearchResults,

View File

@@ -43,9 +43,7 @@ class _MihDeleteBookmarkAlertState extends State<MihDeleteBookmarkAlert> {
directoryProvider, directoryProvider,
); );
List<Business> favBus = []; List<Business> favBus = [];
// Map<String, ImageProvider<Object>?> favBusImages = {};
Map<String, Future<String>> favBusImages = {}; Map<String, Future<String>> favBusImages = {};
// String businessLogoUrl = "";
Future<String> businessLogoUrl; Future<String> businessLogoUrl;
for (var bus in directoryProvider.bookmarkedBusinesses) { for (var bus in directoryProvider.bookmarkedBusinesses) {
await MihBusinessDetailsServices() await MihBusinessDetailsServices()
@@ -54,7 +52,6 @@ class _MihDeleteBookmarkAlertState extends State<MihDeleteBookmarkAlert> {
favBus.add(business!); favBus.add(business!);
businessLogoUrl = MihFileApi.getMinioFileUrl(business.logo_path); businessLogoUrl = MihFileApi.getMinioFileUrl(business.logo_path);
favBusImages[business.business_id] = businessLogoUrl; favBusImages[business.business_id] = businessLogoUrl;
// businessLogoUrl != "" ? NetworkImage(businessLogoUrl) : null;
}); });
} }
directoryProvider.setFavouriteBusinesses( directoryProvider.setFavouriteBusinesses(

View File

@@ -1,3 +1,4 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:custom_rating_bar/custom_rating_bar.dart'; import 'package:custom_rating_bar/custom_rating_bar.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -72,8 +73,8 @@ class _MihBusinessDetailsViewState extends State<MihBusinessDetailsView> {
asyncSnapshot.hasData) { asyncSnapshot.hasData) {
if (asyncSnapshot.requireData != "") { if (asyncSnapshot.requireData != "") {
return MihCircleAvatar( return MihCircleAvatar(
imageFile: imageFile: CachedNetworkImageProvider(
NetworkImage(asyncSnapshot.requireData), asyncSnapshot.requireData),
width: profilePictureWidth, width: profilePictureWidth,
editable: false, editable: false,
fileNameController: TextEditingController(), fileNameController: TextEditingController(),

View File

@@ -208,7 +208,8 @@ class _MihBusinessQrCodeState extends State<MihBusinessQrCode> {
if (asyncSnapshot.requireData != "" || if (asyncSnapshot.requireData != "" ||
asyncSnapshot.requireData.isNotEmpty) { asyncSnapshot.requireData.isNotEmpty) {
return MihCircleAvatar( return MihCircleAvatar(
imageFile: NetworkImage(asyncSnapshot.requireData), imageFile: CachedNetworkImageProvider(
asyncSnapshot.requireData),
width: profilePictureWidth, width: profilePictureWidth,
editable: false, editable: false,
fileNameController: TextEditingController(), fileNameController: TextEditingController(),

View File

@@ -1,3 +1,4 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_providers/mzansi_directory_provider.dart'; import 'package:mzansi_innovation_hub/mih_providers/mzansi_directory_provider.dart';
@@ -69,7 +70,8 @@ class _MihPersonalProfileViewState extends State<MihPersonalProfileView> {
asyncSnapshot.hasData) { asyncSnapshot.hasData) {
if (asyncSnapshot.requireData != "") { if (asyncSnapshot.requireData != "") {
return MihCircleAvatar( return MihCircleAvatar(
imageFile: NetworkImage(asyncSnapshot.requireData), imageFile: CachedNetworkImageProvider(
asyncSnapshot.requireData),
width: profilePictureWidth, width: profilePictureWidth,
editable: false, editable: false,
fileNameController: TextEditingController(), fileNameController: TextEditingController(),

View File

@@ -1,3 +1,4 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
import 'package:mzansi_innovation_hub/mih_objects/business.dart'; import 'package:mzansi_innovation_hub/mih_objects/business.dart';
@@ -76,7 +77,8 @@ class MzansiProfileProvider extends ChangeNotifier {
void setUserProfilePicUrl(String url) { void setUserProfilePicUrl(String url) {
userProfilePicUrl = url; userProfilePicUrl = url;
userProfilePicture = url.isNotEmpty ? NetworkImage(url) : null; userProfilePicture =
url.isNotEmpty ? CachedNetworkImageProvider(url) : null;
notifyListeners(); notifyListeners();
} }
@@ -89,7 +91,8 @@ class MzansiProfileProvider extends ChangeNotifier {
void setBusinessProfilePicUrl(String url) { void setBusinessProfilePicUrl(String url) {
businessProfilePicUrl = url; businessProfilePicUrl = url;
businessProfilePicture = url.isNotEmpty ? NetworkImage(url) : null; businessProfilePicture =
url.isNotEmpty ? CachedNetworkImageProvider(url) : null;
notifyListeners(); notifyListeners();
} }
@@ -100,7 +103,8 @@ class MzansiProfileProvider extends ChangeNotifier {
void setBusinessUserSignatureUrl(String url) { void setBusinessUserSignatureUrl(String url) {
businessUserSignatureUrl = url; businessUserSignatureUrl = url;
businessUserSignature = url.isNotEmpty ? NetworkImage(url) : null; businessUserSignature =
url.isNotEmpty ? CachedNetworkImageProvider(url) : null;
notifyListeners(); notifyListeners();
} }

View File

@@ -1,3 +1,4 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/mih_objects/claim_statement_file.dart'; import 'package:mzansi_innovation_hub/mih_objects/claim_statement_file.dart';
import 'package:mzansi_innovation_hub/mih_objects/files.dart'; import 'package:mzansi_innovation_hub/mih_objects/files.dart';
@@ -62,7 +63,8 @@ class PatientManagerProvider extends ChangeNotifier {
void setSelectedPatientProfilePicUrl(String url) { void setSelectedPatientProfilePicUrl(String url) {
selectedPatientProfilePictureUrl = url; selectedPatientProfilePictureUrl = url;
selectedPatientProfilePicture = url.isNotEmpty ? NetworkImage(url) : null; selectedPatientProfilePicture =
url.isNotEmpty ? CachedNetworkImageProvider(url) : null;
notifyListeners(); notifyListeners();
} }