appImageProvider function
Implementation
ImageProvider<Object>? appImageProvider({
String? imageSource,
XFile? pickedFile,
double? scale,
}) {
try {
debugPrint(
'appImageProvider | imageSource: $imageSource | pickedFile: $pickedFile | scale: $scale',
);
// Web: Use MemoryImage with bytes
if (kIsWeb && pickedFile != null) {
return NetworkImage(pickedFile.path);
}
// Mobile/Desktop: Use FileImage
else if (!kIsWeb && pickedFile != null) {
return FileImage(File(pickedFile.path), scale: scale ?? 1.0);
}
// Network Image
else if (imageSource != null &&
Uri.tryParse(imageSource)?.isAbsolute == true) {
return CachedNetworkImageProvider(imageSource, scale: scale ?? 1.0);
}
// Asset Image
else if (imageSource != null && imageSource.isAssetPath) {
return AssetImage(imageSource);
}
// Fallback
return null;
} catch (e) {
debugPrint('appImageProvider | Exception: $e');
return null;
}
}