platformDecorationImage function
BoxDecoration?
platformDecorationImage({
- required String imageUrl,
- BoxFit fit = BoxFit.cover,
- ColorFilter? colorFilter,
- BorderRadius? borderRadius,
- Color? color,
Platform-aware BoxDecoration with network image. On web: returns plain decoration (no image) since DecorationImage paints on Canvas which requires CORS. Use a Stack with platformNetworkImage instead for web backgrounds. On mobile: returns BoxDecoration with DecorationImage.
Implementation
BoxDecoration? platformDecorationImage({
required String imageUrl,
BoxFit fit = BoxFit.cover,
ColorFilter? colorFilter,
BorderRadius? borderRadius,
Color? color,
}) {
if (imageUrl.isEmpty) return null;
if (kIsWeb) {
// On web, DecorationImage paints on Canvas → CORS error.
// Return decoration without image; caller should layer
// platformNetworkImage in a Stack.
return BoxDecoration(borderRadius: borderRadius, color: color);
}
return BoxDecoration(
borderRadius: borderRadius,
color: color,
image: DecorationImage(
image: CachedNetworkImageProvider(_optimizeGoogleImageUrl(imageUrl)),
fit: fit,
colorFilter: colorFilter,
),
);
}