imageNetwork function

Widget imageNetwork(
  1. String url, {
  2. Color? color,
  3. double? width,
  4. double? height,
  5. BoxFit fit = BoxFit.contain,
  6. Clip clipBehavior = Clip.hardEdge,
  7. double borderRadius = 1,
  8. EdgeInsets margin = EdgeInsets.zero,
  9. VoidCallback? onTap,
  10. String? placeholder,
})

Implementation

Widget imageNetwork(
  final String url, {
  final Color? color,
  final double? width,
  final double? height,
  final BoxFit fit = BoxFit.contain,
  final Clip clipBehavior = Clip.hardEdge,
  final double borderRadius = 1,
  final EdgeInsets margin = EdgeInsets.zero,
  final VoidCallback? onTap,
  final String? placeholder,
}) =>
    GestureDetector(
      onTap: onTap,
      child: Container(
        clipBehavior: Clip.hardEdge,
        decoration: BoxDecoration(borderRadius: BorderRadius.circular(borderRadius)),
        margin: margin,
        width: width,
        height: height,
        child: url.length <= 10
            ? placeholder == null
                ? const SizedBox()
                : imageAsset(
                    placeholder,
                    width: width,
                    height: height,
                    fit: fit,
                    clipBehavior: clipBehavior,
                  )
            : url.substring(url.length - 3) == "svg"
                ? SvgPicture.network(
                    url,
                    color: color,
                    width: width,
                    height: height,
                    fit: fit,
                    placeholderBuilder: placeholder == null
                        ? null
                        : (final _) => imageAsset(
                              placeholder,
                              width: width,
                              height: height,
                              fit: fit,
                              clipBehavior: clipBehavior,
                            ),
                  )
                : CachedNetworkImage(
                    imageUrl: url,
                    color: color,
                    width: width,
                    height: height,
                    fit: fit,
                    errorWidget: placeholder == null
                        ? null
                        : (final _, final __, final ___) => imageAsset(
                              placeholder,
                              color: color,
                              width: width,
                              height: height,
                              fit: fit,
                              clipBehavior: clipBehavior,
                            ),
                    placeholder: placeholder == null
                        ? null
                        : (final _, final __) => imageAsset(
                              placeholder,
                              color: color,
                              width: width,
                              height: height,
                              fit: fit,
                              clipBehavior: clipBehavior,
                            ),
                  ),
      ),
    );