buildLogoCircle function

Widget buildLogoCircle(
  1. String source, {
  2. double radius = 50,
})

Builds a circular logo widget that tries the network image first, then falls back to the bundled asset if it fails.

Implementation

Widget buildLogoCircle(String source, {double radius = 50}) {
  return ClipOval(
    child: SizedBox(
      width: radius * 2,
      height: radius * 2,
      child: source.startsWith('http')
          ? Image.network(
              source,
              width: radius * 2,
              height: radius * 2,
              fit: BoxFit.cover,
              errorBuilder: (context, error, stackTrace) {
                return Image.asset(
                  kDefaultMediaSFULogoAsset,
                  width: radius * 2,
                  height: radius * 2,
                  fit: BoxFit.cover,
                );
              },
            )
          : Image.asset(
              source,
              width: radius * 2,
              height: radius * 2,
              fit: BoxFit.cover,
              errorBuilder: (context, error, stackTrace) {
                return Image.network(
                  kDefaultMediaSFULogo,
                  width: radius * 2,
                  height: radius * 2,
                  fit: BoxFit.cover,
                );
              },
            ),
    ),
  );
}