buildLogoCircle function
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,
);
},
),
),
);
}