diff --git a/lib/pages/recipe_add_update_page.dart b/lib/pages/recipe_add_update_page.dart index 90c87918..88be136a 100644 --- a/lib/pages/recipe_add_update_page.dart +++ b/lib/pages/recipe_add_update_page.dart @@ -120,7 +120,7 @@ class _AddUpdateRecipePageState extends State { fit: BoxFit.cover, opacity: .5, image: state.image != null - ? FileImage(state.image!) as ImageProvider + ? FileImage(state.image!) : getImageProvider( context, cubit.recipe.image, diff --git a/lib/widgets/image_provider.dart b/lib/widgets/image_provider.dart index 4f42284b..02d1df45 100644 --- a/lib/widgets/image_provider.dart +++ b/lib/widgets/image_provider.dart @@ -1,4 +1,5 @@ import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:kitchenowl/services/api/api_service.dart'; @@ -12,13 +13,19 @@ String buildUrl(String url) { bool _urlIsLocal(String url) => !url.contains('/'); -CachedNetworkImageProvider getImageProvider( +ImageProvider getImageProvider( BuildContext context, String image, -) => - CachedNetworkImageProvider( - buildUrl( - image, - ), +) { + if (kIsWeb) { + return NetworkImage( + buildUrl(image), headers: _urlIsLocal(image) ? ApiService.getInstance().headers : null, ); + } + + return CachedNetworkImageProvider( + buildUrl(image), + headers: _urlIsLocal(image) ? ApiService.getInstance().headers : null, + ); +}