diff --git a/lib/screens/garage_screen.dart b/lib/screens/garage_screen.dart index e0c92d6..28bef84 100644 --- a/lib/screens/garage_screen.dart +++ b/lib/screens/garage_screen.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; import '../main.dart'; @@ -534,10 +535,12 @@ class GarageScreenState extends State { child: AspectRatio( aspectRatio: 16 / 10, child: imageUrl != null && imageUrl.isNotEmpty - ? Image.network( - imageUrl, + ? CachedNetworkImage( + imageUrl: imageUrl, fit: BoxFit.cover, - errorBuilder: (context, error, stackTrace) => Column( + fadeInDuration: Duration.zero, + fadeOutDuration: Duration.zero, + errorWidget: (context, url, error) => Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded(child: _imagePlaceholder()), diff --git a/lib/widgets/car_card.dart b/lib/widgets/car_card.dart index b929209..97941e4 100644 --- a/lib/widgets/car_card.dart +++ b/lib/widgets/car_card.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:cached_network_image/cached_network_image.dart'; import '../theme/app_colors.dart'; /// A styled card for displaying a single Hot Wheels car in the garage. @@ -66,10 +67,12 @@ class CarCard extends StatelessWidget { : AppColors.brandGradientSoft, ), child: imageUrl != null && imageUrl!.isNotEmpty - ? Image.network( - imageUrl!, + ? CachedNetworkImage( + imageUrl: imageUrl!, fit: BoxFit.cover, - errorBuilder: (context, error, stackTrace) { + fadeInDuration: Duration.zero, + fadeOutDuration: Duration.zero, + errorWidget: (context, url, error) { onImageError?.call(); return _PlaceholderIcon(isDark: isDark); },